关于算法:分类TAB商品流多目标排序模型的演进

1. 概述

分类TAB商品流是得物app购买页面内除“举荐”页外的所有TAB内的商品举荐流,如“鞋类”、“箱包”等。当用户进入分类TAB中,咱们能够简化为给定<userId, tabId, itemId> 三元组的商品流举荐,能够看出,分类TAB的举荐场景跟其余“开放式”举荐场景的最大差别在于,是限定条件下(品类)的举荐,与搜寻场景有一点类似度,分类TAB代表着用户的品类用意。以咱们目前的迭代进度,现阶段次要聚焦于<userId, ItemId>的二元建模,实际上<userId, tabId>,即用户的行为与TAB的相关性,以及<tabId, itemId>,即TAB与商品的相关性,是咱们后续进行差异化建模须要着重思考的;以下的相干停顿次要讲述较为通用的商品举荐模型的落地迭代。咱们以多指标排序模型作为精排策略。

2. 模型

2.1 Base ESMM

从多指标学习范式上,咱们抉择ESMM模型的范式作为咱们的精排模型,对于ESMM的介绍在这里咱们不做过多论述,详情参考论文。从论文中,咱们可知ESMM的架构如下:

业务上的baseline 模型,是将上图中的MLP layer 替换为DeepFM模型的构造,退出FM构造学习穿插信息。但从整体上该模型依然较为浅层,没有对用户的信息表征做更多的抽取,为此咱们将模型构造进行了降级。

2.2 模型整体构造

咱们现阶段的建模是<userId, itemId>,从样本表征的角度看,item是比拟浓密而且稳固的局部,在大样本的环境下,大部分信息都可能被id embedding所表白,相同,user局部是比拟稠密的局部,而对于user的形容,则须要大量的泛化特色,用户序列行为的引入和建模,可大大加强样本之间的辨别性,从而晋升模型的分类性能。因而咱们引入用户建模模块来表征用户趣味。

从模型的整体构造上,咱们不扭转ESMM的学习范式,咱们只对生成ctr logits、cvr logits的构造做改良,整体模型构造如图:

其中Deep Interest Transformer构造如下图:

从整体上看,咱们能够看出,对于ctr 工作和cvr工作,每个工作都有各自的main net和bias net;用户趣味建模模块学习出的用户向量被两个工作所共享,即interest transformer 作为一个信息抽取模块,抽取的信息与其余诸如cross features的表征进行concat,独特作为底层的共享信息。

2.2.1 用户行为序列建模

咱们认为用户的行为与其下一个点击的商品具备相关性,或是雷同类目、品牌或系列等重要属性。为了拆解和剖析用户行为序列与举荐商品的相关性对举荐效率的影响,咱们以商品的三级类目为剖析维度,如下:

咱们以tab商品流线上用户的行为日志进行剖析,绘出target item 的三级类目与用户行为序列商品的三级类目标关系对举荐效率的影响,如下图:

横坐标是形容举荐商品的类目与用户行为序列的商品的类目,其序列中雷同三级类目标行为商品数量;纵坐标则是pvctr;从整体趋势上来看,target item的类目与用户行为序列中的商品类目越相干,pvctr越高。当然,从直觉上,点击序列越长(用户活跃度越高)是否点击率就越高,为此咱们剖析了序列长度与pvctr的关系,如下图:

显然,用户活跃度的偏差也影响了pvctr,但通过比照,能够显著看出,用户活跃度对pvctr的影响,其趋势是小的(斜率);而举荐商品的类目与用户行为序列中的商品类目相关性的趋势是绝对显著的。

而如何去建模打分商品与用户行为序列的相关性,attention显然是一种牢靠的办法,self-attention能够建模用户行为序列中的各个商品之间的相关性,而target-attention则是建模候选商品与用户行为序列的相关性的办法。

模型中的Deep Interest Transformer 是学习用户表征的构造,咱们选取用户的行为序列:实时购买、点击立刻购买、珍藏、点击商品行为,7天内的购买、点击立刻购买、珍藏、点击商品行为,交融出一个长达120长度的用户行为序列,超出长度局部做截断,有余的长度进行默认填充。

Deep Interest Transformer 首先对用户的行为序列进行multi-head self-attention,以此学习序列中各个元素间的相关性,此为对用户序列进行encode;对于待打分商品,咱们称其为target item,咱们进行decode时,是将target item 的embedding示意作为attention中的Q,而用户序列的encode示意的向量作为attention中的K、V,此为target-attention,即对于不同的打分item,计算该item与用户行为序列中的元素的相关性,因而对于不同的target item,其所激活的用户行为序列的元素有所不同,从而生成不同的用户趣味向量,最终将无效的辨别不同target item的打分。

2.2.2 bias 网络

举荐零碎中存在各种各样的bias,对于tab商品流,咱们从几个维度来剖析用户自身的bias,如用户的性别、应用设施、注册地。

比照图省略,图意为,不同的用户群体存在着不同的偏差,如男性用户对酒饮、手表类目点击率较高而女性用户则在美妆和女装类目点击率较高;Android用户对数码类目点击率较高而iOS用户低;咱们抉择国内东南西北四个具备代表性的地区(上海、广东、四川、北京)进行剖析,发现诸如酒饮、潮玩、配饰等类目,具备显著的地区偏差。
为显式地建模这种bias,咱们为每个工作减少了一个bias net,每个工作独自减少了一个网络进行建模,其输入的logits与主网络进行相加。bias net 在此阶段中,咱们只用了用户的特色作为bias net 的输出。这个独自的网络是用于建模用户本身的bias,比方有些用户偏差于逛逛但不点击,有些用户却又具备较高的点击率,即活跃度的差别等等。在这种状况下,应用一个独自的bias net去建模这种用户本身与举荐后果无关的bias,是一种绝对于单纯减少bias特色在主网络中学习而言更无效的办法。

更个别的来讲,bias net不仅仅局限于仅用user embedding进行输出。举荐零碎有许多bias,这些bias如果单纯的作为特色用以主网络输出,成果将不如独自用一个bias net来学习这些偏差。bias net不仅能够建模用户对于position的点击偏差, 还能够建模用户对于工夫特色的偏差,能够更个别的将用户向量和各种偏差特色的示意进行concat,而后输出bias net 进行学习。

综上,以上的模型改变是咱们在分类TAB商品流中的第二版多指标模型,已进行长时间试验,取得不错的线上收益并已推全。

3. 用户长期行为序列建模

3.1 长期趣味

从以上版本的迭代中,咱们所应用的用户行为局限于用户的实时画像中的商品序列以及用户离线7天内的商品序列,从序列样本剖析来看,咱们以120的长度作为序列最大长度,其中无效的商品序列长度,均匀仅61;无效的商品长度中位数仅65。如下表:

即大量的序列长度被有效的默认值所填充,在attention进行mask后,这大大的减弱了用户的趣味表白。因而,无效裁减用户的无效行为长度,将可能更加丰盛用户的行为特色,这对一些不沉闷用户使其可能依据长期行为进行举荐。实际上只管是行为非常丰盛的用户,其长期购买、珍藏等行为,对以后的举荐也是无益的。

在以上的剖析中咱们以三级类目为剖析桥梁得出用户行为序列与候选商品的相关性对pvctr的趋势性影响;对于用户长期的序列,是否同样有这种趋势,为此咱们将用户长期序列剔除7天以内的序列后进行剖析,如下图:

能够看出,举荐的商品类目与用户长期行为过的类目依然存在相关性;用户的长期序列商品中的类目与候选商品类目越相干,候选商品pvctr越高。

因而直观的做法是咱们引入了用户的长期行为,而不思考用户行为的时间跨度。咱们从用户最近行为的160个商品中,依照去重的形式填充到咱们之前结构的序列中,并依照工夫先后截断最近的120个行为。从上表能够看出,填充长序列后,用户的无效序列行为长度,中位数达120,平均数达101。这大大丰盛了用户的特色表白。

从离线评估指标看,ctr auc:+0.3%,cvr auc:+0.1%。

3.2 长短期趣味建模

在以上的版本中,咱们的建模形式都是将用户的所有行为交融为一个大的序列,以此生成用户趣味向量。实际上,用户的不同行为时间跨度所反馈的趣味有所不同,咱们心愿在模型中建模用户不同时间跨度的行为来形容用户不同粒度的趣味。

而且从点击的商品进行剖析,用户短期的行为中的类目与点击的商品类目相关性更高,而长期行为的类目标相关性更低。如下图:

显著的,用户点击的商品与最近行为的10个商品的类目重合度是最高的,而与已经行为过的第50个之后的商品,类目相关性逐步明显降低。

为了思考这种短期和长期行为序列对候选商品的影响,对此咱们将用户的行为划分为短周期行为、长周期行为,在用户趣味建模中思考长短趣味,长短期序列咱们目前是通过实时画像、离线画像进行划分。试验上咱们尝试了以下两种办法进行建模。

长短期趣味别离建模

别离建模短期趣味、长期趣味用户向量,别离为Sv 、Lv;而后将[Sv,Lv] 进行concat失去用户趣味向量Uv ,由下层各自工作的网络进行学习;如图:

即 Uv=concat([Sv, Lv])

长短期趣味通过gate网络进行交融

短期趣味、长期趣味用户向量,别离为Sv 、Lv ,通过gate网络交融,如图:

即 Uv = aSv + (1-a)Lv

其中gate net,输出是用户特征向量以及attention学习的用户长、短期趣味向量,通过MLP网络以sigmoid函数进行激活,以此将短期向量、长期向量通过fusion gate 进行交融,失去新的用户趣味表白 Uv 。至于如何抉择gate 网络的特色,咱们参考了MMoE的构造,同时咱们认为可能对用户长短期趣味进行辨别的该当是用户自身的特色。

综上两种长短期趣味建模办法,从离线评估指标看 auc:约+0.1%,已联合上述的长期趣味建模在分类TAB场景上线试验。两种建模形式对最终的成果根本相当。诚然,第一种形式,将长短期趣味进行concat后交给下层工作自主学习,同时也减少了下层各个工作的specific 网络参数。而第二种形式将取决于gate 网络的学习。

4. 瞻望

如上所述,分类TAB的举荐场景,实际上属于<userId, tabId, itemId> 三元组的商品流举荐,咱们目前所做的工作集中在<userId, itemId> 二元组的建模上,并且次要是在user 侧的建模以晋升泛化性。但TAB自身的信息也是该场景的一个考量因素,比方用户在不同TAB中,有些偏差于高点击,有些偏差于浏览,如何在模型中考量建模不同TAB的差异性,将是后续的一个方向。

同时,item与TAB自身的相关性也将是一个考量方向,TAB从品类上看相似于搜寻品类词,具备品类用意,item与TAB具备强相关性和弱相关性辨别,相似于搜寻的类目相关性强弱相关性分档。咱们认为与TAB强相干并且命中了用户趣味的item将更有可能被点击转化。当然这有待于咱们进一步剖析。

*文/吴利福
@得物技术公众号

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理