论文笔记A Review-Driven Neural Model for Sequential Recommendation

Abstract

在电商领域,写评论是表达用户意见的唯一渠道,很多基于深度学习的解决方案通过利用用户用户进行评级预测(rating prediction),但是却很少有工作尝试将用户评论所涵盖的语义信息应用在协同过滤任务上。在这篇论文中,通过同时考虑用户的固有偏好(Long-term)和序列模式(short-term)提出了一个模型RNS。在RNS中,用户或物品用从评论中抽取的aspect-aware表示进行编码。给定用户历史购买物品的序列,我们设计了一个新颖的注意力机制上的分层注意(hierarchical(分层的)attention over attention mechanism)同时从union-level和individual-level去捕捉sequential patterns。

Introduction

Sequential Recommendation的任务是通过将用户的时序偏好(temporal preference)视为已购买物品的序列来确认(identify)用户将要购买的下一个物品。SR的一个最主要的挑战是通过同时考虑一般偏好和物品之间的顺序模式来动态地近似用户当前的偏好。虽然如FPMC(seminal work)以及它的变体,还有基于deep learning的各种模型已经提出去捕捉用户的动态偏好,但这些工作都没有考虑用户评论信息。用户评论中的语义信息不仅可以表示物品的不同特征还能体现用户的偏好
从这方面考虑,本篇提出了RNS这个模型。RNS的主要思想是:首先我们通过对评论文档进行方面感知(Aspect-Aware)的卷积处理将用户和物品嵌入到低维密集空间中,同时提取用户的一般偏好。然后,通过注意力机制上的分层注意从union-level和individual-level捕捉用户的sequential pattern。之后,我们将用户的一般偏好general preference和顺序模式sequential pattern结合起来形成一个混和表示,进行下一个物品的预测。
这篇工作的contributions如下:(1)提出了一种新颖的评论驱动的神经网络模型,该模型利用评论进行序列推荐。这是首次尝试利用评论中丰富的语义信息。(2)引入了一个基于方面(aspect-based)的卷积网络以从评论文档中识别用户的总体偏好(general preference),并利用注意力机制进行分层关注以从不同粒度对用户顺序偏好(sequential pattern)进行建模。(3)在三个不同特征的真实数据集上的结果证明RNS在四个评价指标上的优越性。
The Proposed Algorithm
1、 Problem Formulation
U和I分别表示用户和物品集合,每个用户u∈U有一个按时间顺序的物品交互序列S^u=(S_u,1 , S_u,2 ,…, S_u,|S^u|),每个元素S_u,t∈I表示用户u在时间t购买的物品。我们分别用D_u和D_i表示用户u写过的所有评论,所有用户为物品i写的评论。
模型RNS,给定用户u和他最近购买的L个物品以及对应的评论文档D_u和D_i,目标是就候选物品是用户下一个会购买的可能性进行排名。
2、 The Architecture of RNS
RNS的目标是从相应的评论中获得物品表示q_i(item representation),用户的固有偏好P_u,l(intrinsic preference)和union-level\individual-level的时间偏好P_u,s(temporal preference)。 其中,q_i和P_u,l是分别通过在评论文档D_u和D_i上用aspect-aware卷积网络得到;而P_u,s是在用A-CNN得到了物品表示之后,再用注意力机制的分层注意分别获得union-level和individual-level的P_u,s.然后,通过一个线性融合我们得到用户的当前偏好P_u,即P_u = P_u,l+α·P_u,s ,最终的偏好分数为S_u,j = σ(P_u^T·q_j)
在这里插入图片描述
3、 Aspect-Aware CNN (A-CNN)
A-CNN对于用户和物品来说,结构是一样的,只是参数不同,所以,这里只介绍用户文档的抽取过程。首先我们将用户文档中的每个单词进行embedding(d维),然后我们就得到了一个embedding矩阵M_u∈R(l×d),l是文档的长度。但是即使在同一领域,相同的单词从不同方面来讲的话语义或情感也是非常不同的(比如,同是说计算机,“The price is very low”和 “This computer is low resolution”在讲价格和分辨率这两个方面是,low完全表现了不同的态度和情绪,所以同一个单词在不同方面使用同一个d维的embedding是不合理的。所以,我们**引入了一个aspect-specific embedding转换矩阵T_a∈R(d×d),将它与原始矩阵M相乘得到M_u,a=M_u·T_a表示评论文档D_u在a方面的embedding矩阵。这样用户评论文档可以表示为一个张量M_u,***∈R(l×d×K),K表示K个方面。然后用一个multi-channel的卷积操作进行特征抽取。如果每个A-CNN有n个过滤器F^k∈R(h×d×K),h表示过滤器的高度(height size).Fk表示第k个过滤器。第k个过滤器Fk通过如下公式进行特征提取:
在这里插入图片描述
ReLU是激活函数,1≤i≤l-h+1是滑动窗口的起始点,b^k是偏置,那个圈是卷积操作。用户的长期偏好(general preference)最终编码如下:
在这里插入图片描述
物品表示q_i用同样的方法获得。直观上,购买商品在用户行为中的顺序对于顺序推荐至关重要,给定一个用户和他最近购买的L个物品q_u,1,q_u,2,…,q_u,L(按时间顺序),则最近的物品q_u,L更可能反映用户的时间偏好(temporal preference),而q_u,1的影响则相对来说更小一些。因此,我们通过在物品表示中加入位置嵌入(position embeddings)来编码这种时间顺序信息。则最终的物品表示为q_u,m = q_u,m+o_m; o_m是第m个位置的位置嵌入。
4、 Hierarchical Attention over Attention
现在我们来看一下怎样从用户最近交互的L个物品序列中捕捉到用户的短期偏好(sequential preference)。由于用户的短期偏好会随时间变化,而且不同的历史交互物品对用户下一个购买决定的影响不同,所以我们考虑attention机制。具体来说,对于用户u的L个购买物品q_u,m(1≤m≤L)和每一个候选物品q_j,首先通过attention机制为每个物品计算权重,公式为:
在这里插入图片描述
然后用户在union-level的短期偏好p_u,s1表示为:
在这里插入图片描述
并选择具有最大注意力权重的物品表示作为用户在individual-level的短期偏好p_u,s2
在这里插入图片描述
之后,再次用注意力机制去区分那个短期偏好更重要
在这里插入图片描述
最终的用户短期偏好p_u,s计算公式为式(10)
5、 Model Inference and Optimization
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值