推荐系统遇上深度学习(一二九)-基于物品属性的用户关注列表序列推
今天给大家带来的是WSDM 2022上eBay中稿的一篇文章,题目为《Sequential Modeling with Multiple Attributes for Watchlist Recommendation in E-Commerce》。过往的序列推荐或者行为序列建模,更关注的是在物品层面的偏好情况,而本文将重点放在物品属性之间的相关性上,建模用户在具体属性上的偏好,提出了Trans2D来建模不同物品不同属性之间的相关性,一起来看一下。
1、背景
本文关注的是用户关注列表的推荐问题,即在给定用户的历史交互行为的情况下,预测在用户关注列表中下一个时刻中最可能发生交互的物品。该任务有两个重要的特点:
1)每次推荐只需要关注用户关注列表的偏好,而不是预测用户对所有物品的偏好,用户的关注列表的数据是非常稀疏的(大部分物品只出现过很少的次数),如果只使用物品ID对物品进行表示,容易导致模型的过拟合。
2)用户对关注列表中物品的偏好的变化,可能会从用户最近的浏览记录中反映出来,如用户可能浏览过与关注列表中物品相同商家或品牌的其他物品,以此来探索其他可替代的物品。
那么对于上述两方面的特点,本文提出了Trans2D,引入物品多样的属性来对物品进行表示,同时通过Attention2D机制,来学习用户多样的偏好模式,如价格便好,类别偏好等等。接下来,咱们对具体的模型结构进行介绍。
2、方法介绍
Trans2D的整体结构如下图所示:
接下来,咱们从模型输入,Embedding层、Attention2D以及Prediction层对模型进行详细介绍。
2.1 Model Input
模型的输入主要包含两部分:用户历史行为序列和当前待推荐的物品。使用用户的历史行为序列来刻画用户偏好的变化,包含两部分,一部分是用户在关注列表中点击的物品,以及用户浏览过的其他物品(这里指进入了物品详情页,而非曝光):
过往的大多数用户行为序列建模中,物品序列使用其ID序列表示,这种做法在用户关注列表推荐场景下有两个主要的缺点:
1)冷启动物品对应的Embedding无法学习到
2)训练数据中出现次数较少的物品ID对应的Embedding学习不充分,容易导致过拟合。
因此,论文使用属性集合来对物品进行表示,来解决上述两方面的问题。同时能够配合下文的Attention2D来学习用户更精细化的偏好模式,如价格便好,类别偏好等等。
这里,历史行为序列的长度设定为N,物品属性个数设定为C。
2.2 Embedding Layer
上一节讲到,用户的历史行为序列长度为N,属性个数为C,接下来通过Embedding Layer,将每个属性值转换成对应的Embedding表示。假设每个Embedding的长度为d,那么行为序列E的维度为NCd。同样,推荐物品的属性也会转换成对应的Embedding表示,维度为1Cd。因此输入的总维度为(N+1)Cd
2.3 Attention2D
接下来,论文引入了Transformer建模历史行为序列中用户兴趣的变化以及与目标物品的相关性,这种兴趣和相关性建模作用于更加精细化的属性维度,如价格、折扣等等。但是Transformer并不能直接作用在2D的数据上,因此论文创新性地提出了Attention2D,来处理这种2D数据。
具体地,首先引入Linear2D将每个物品的每个元素转换成对应的Q、K、V,相同属性采用相同的参数,不同属性参数不同。Linear2D计算过程如下;
上面公式中i和j分别代表第i个物品和第j个属性。随后,分别计算三个Attention矩阵:
AF是一个4D的attention矩阵,代表任意两个物品的任意两个属性之间的相关性;AI是一个2D的attention矩阵,代表的是物品之间的相关性;AC同样是一个2D的attention矩阵,代表属性之间的相关性。最终的Attention矩阵为4D的矩阵,为上述三个矩阵的线性加权:
引入后面两项有点类似类似于矩阵分解中的偏置项,一方面,尽管不同商家个别属性间属性的相似性不高,但商家之间整体相似性很高(如肯德基和麦当劳),那么也希望在最终的attention map中具有相对较高的值,另一方面,如果两个属性之间相似性很高(如配送费和配送距离),也希望在最终的attention map中具有相对较高的权重。
随后,基于Attention矩阵对V进行加权,得到该部分的输出为:
随后,和1D的transformer类似,还包含Add & Norm 和FFN层,该部分的公式此处略过。
整个Attention2D的计算过程如下:
经过整个的Attention2D层,输出的矩阵仍为(N+1)Cd。可以堆叠多层。
2.4 Prediction Layer
最后的Prediction Layer用来预测用户对待推荐物品的点击概率,首先对待推荐物品经过Attention2D层转换得到的输出矩阵(维度为C*d)进行avg-pooling,随后经过全连接层得到预测概率:
3、论文实验
最后简单看一下论文的实验结果,论文将Trans2D与与多种Base模型的效果进行了对比,验证了Trans2D模型的有效性:
好了,论文就介绍到这里,引入物品的属性信息,不仅能够缓解冷启动问题和稀疏性问题,同时引入Attention2D更加精细化的建模用户在物品属性上的偏好,算是一种商家-属性多方向注意力建模上较为有效的尝试,在输入信息建模上具有一定的借鉴意义。