前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >推荐系统遇上深度学习(一二九)-基于物品属性的用户关注列表序列推荐

推荐系统遇上深度学习(一二九)-基于物品属性的用户关注列表序列推荐

作者头像
石晓文
发布2022-04-06 19:32:21
1.2K0
发布2022-04-06 19:32:21
举报
文章被收录于专栏:小小挖掘机小小挖掘机

今天给大家带来的是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更加精细化的建模用户在物品属性上的偏好,算是一种商家-属性多方向注意力建模上较为有效的尝试,在输入信息建模上具有一定的借鉴意义。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-02-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小小挖掘机 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、背景
  • 2、方法介绍
    • 2.1 Model Input
      • 2.2 Embedding Layer
        • 2.3 Attention2D
          • 2.4 Prediction Layer
          • 3、论文实验
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档