今天继续来介绍CIKM20上有关推荐系统的论文。本文介绍的是京东和百度的研究人员发表的有关在大规模电商推荐系统的多目标排序上的工作。论文将兴趣建模、多任务学习、偏置学习等几部分进行融合,提出了DMT模型(Deep Multifaceted Transformers),一起来看一下。
1、背景
推荐系统精排阶段的模型多种多样,包括树模型,基于神经网络的模型,基于强化学习的模型等等。在现实世界的大规模电商推荐系统中,精排阶段面临以下几方面的挑战:
1)多目标排序:在电商场景下,对自然结果(非广告)的排序往往不只按照点击率,而是多个目标的组合,如排序公式RS = a * CTR b * CVR。
2)多类型用户行为:电商场景下用户通常有多种类型的行为,如点击、加购和下单。不同类型的行为对于不同的目标建模的作用是不同的。当前大多数的研究通常只考虑用户点击行为序列,如何有效地使用用户不同多样的行为类型进行多目标建模,仍是一个开发话题。
3)有偏的用户反馈:电商场景下,用户的行为是存在偏置的。最为常见的偏置为位置偏置(position bias),展示位置越靠前的商品,具有更高的概率被用户点击。而论文提出了另一种偏置,叫做近邻偏置(neighboring bias,小编暂且翻译为近邻偏置),即一个商品是否被点击,会受到其相邻展示商品的影响,如下图中国排在第一个位置的iphone 11,因为它排在了第一位置,所以有更高的点击概率,但是由于相邻展示的有其他的iphones,又会在一定程度上降低其被点击的概率,如何建模和消除上述两种偏置,也是值得探讨的。
针对上述三方面的挑战,论文融合了多任务学习,多行为序列建模以及偏置学习,提出了DMT模型(Deep Multifaceted Transformers),本文将在下一节进行介绍。
2、DMT模型介绍
首先来看一下DMT模型的整体结构:
可以看到,整体架构可以拆解成Input and Embedding Layers、Deep Multifaceted Transformers Layer、Multi-gate Mixture-of-Experts Layers和Bias Deep Neural Network。接下来对这几部分进行分别介绍。
2.1 Input and Embedding Layers
模型的输入可以分为离散特征和连续特征两大类。
离散特征
离散特征主要包括目标商品特征,以及用户多样的行为序列中上品对应的特征,序列包括用户点击序列Sc,用户加购序列Sa和用户下单序列So。目标商品及用户序列中的每个商品对应的离散特征包括商品id、店铺id、品牌id、品类id,每个离散特征经过embedding层转换为对应的embedding,再进行拼接作为输入。
连续特征
连续特征主要包含以下几类:商品画像特征如点击数,点击率,转化率统计特征;用户画像特征如购买力指数;用户-商品匹配特征和交互特征如用户在过去1天/3天/7天点击过相同品类商品的次数。连续特征会进行标准化处理。
2.2 Deep Multifaceted Transformers Layer
这一层主要是对用户不同类型的行为序列进行建模,对于点击/加购/下单三个行为序列,使用三个单独的 Deep Interest Transformer进行建模。由于不同序列的行为数差距较大(用户可能点击次数很多,但很少有下单),因此三个序列的长度在论文中定义为:用户过去7天内最近点击过的50个商品、用户过去1年内最近加购和下单的10个商品。
Deep Interest Transformer的结构如下:
其结构与transformer基本一致,这里使用的是完整的encoder-decoder结构。而在过去的论文大都只使用encoder部分,如阿里的BST,将用户行为序列和目标商品一起作为encoder部分的输入。
transformer的具体计算过程本文就不再介绍了,主要讲一下positional encoding。论文对比了两种不同的positional encoding的方式,一种是使用sin-cos函数,这样每个位置的positional encoding是固定的,这也是原论文使用的方式。另一种是对每一个位置赋予一个embedding,作为网络参数进行学习。实验的结果是第二种方式更加合适。
当然还有其他的建模方式,如使用时间戳离散化后对应的embedding作为positional encoding。
在Deep Multifaceted Transformers Layer,输出主要包含三个,分别是点击/加购/下单序列经过Transformer后输出的兴趣向量。
2.3 Multi-gate Mixture-of-Experts Layers
前文已经提到,电商推荐系统往往需要预测多个目标,如CTR、CVR和GMV等。一种方式是使用多个单独的模型进行并行预估,另一种方式是使用多任务学习同时输出多个目标的预估值。论文使用的多任务学习框架是MMOE,MMOE层输入包括Deep Multifaceted Transformers Layer得到的三个序列的兴趣向量、目标商品的embedding、连续特征标准化后的结果。第k个任务的输出计作uk。
关于MMOE,可以参考本系列的第六十九篇,本文不在做详细介绍。
2.4 Bias Deep Neural Network
如前文所述,推荐系统中面临的的偏置包含两个方面,位置偏置和近邻偏置。DMT使用单独的Bias Deep Neural Network对偏置进行建模。这一部分输入的主要是一些bias feature。对于位置偏置,输入特征包括商品展示页数和在该页下的位置;对于近邻偏置,输入特征是其近邻的K个商品的品类。不同的特征经过embedding层转换为对应的embedding,然后经过MLP得到输出yb。
2.5 Model Training and Prediction
以CTR和CVR两个任务为例,在模型训练阶段,第k个任务的预测值yk计算如下:
第k个任务的损失Lk和整体的损失函数计算如下:
而在线上预测阶段,不使用bias-net,第k个任务的预测值为:
3、实验结果
最后来看一下实验结果:
好了,论文就介绍到这里,感兴趣的同学可以看一下原文~~。
最后,小编提醒大家一定要多锻炼身体啊,如果一个人比较懒,不妨试试下面的减肥神器~~