论文笔记 《Neural Attentional Rating Regression with Review-level Explanations》
Intruduction
评分预测是推荐系统中常见的任务。大多数方法都是基于协同过滤的,例如PMF等,这类方法最大的问题在于无法对推荐提供可解释性。很多研究表明在推荐中提供可解释性,是非常有用的。缺乏可解释性的推荐不能真正让用户信服。在大多数电商网站中,允许用户评论产品并给予评分,用户评论信息中会通常包含关于产品有用的特征,例如quality, material, color 等。在本文中,评论的有效性usefulness of a review 即用户能否根据用户做出是否购买的决定。
已有研究将用户评论信息整合到隐含因子模型中增强其性能[3, 25–27, 39, 46] 或是生成推荐的解释[11, 32, 44]。尽管取得了较好的成绩,但是却存在两个问题。第一,缺乏评论对被推荐项贡献的建模以及对其他用户有效性;第二,以往研究中的解释通常是对词或短语的抽取,可能会造成评论内容的扭曲。本文是第一个利用评论有效性提升推荐效果和可解释性的工作。
本文提出了Neural Attentional Regression model with Review-level Explanations (NARRE) 模型,模型利用attention机制给每个评论赋予权重。利用用户和被推荐项、还有评论作为多层神经网络的输入,提出了一个权重公式。同时,参考DeepCoNN的方法,用两个并列的神经网络学习用户和被推荐项之间的隐含因子特征。其中一个用于建模用户书写评论的倾向,另外一个建模被推荐项目在评论上的倾向。最后一层,我们利用隐含因子模型[21]并将其扩展为一个神经网络作为评分预测的输出。作者在四个真实数据集做了对比实验,发现所提出的方法表现优于当前最好的方法,例如PMF, NMF, SVD++, HFT以及DeepCoNN等.
贡献如下:
(1)提出一个新的论点:不同的评论对于建模有着不同程度的贡献,也能够导致用户的不同消费。
(2)把注意力机制引入到模型中,并且选取有用的信息来提高模型的可解释性
(3) 实验结果比较好。
Preliminaries
Latent Factor Model : 在隐含因子模型中,任何用户u对项目i的评分都可以用下述公式来建模:

CNN Text Processor :
近年来用CNN处理文本获得了比较好的效果。如下图:

这一部分整个过程就是DeepCoNN模型的那个过程,略过。
Neural Attentional Regression With Reviews
NARRE :
模型主要由两个并行的神经网络构成,即用于建模用户的Net_u和用户建模被推荐项目的Net_i。 在这两个网络的上层,加了一个使得用户与被推荐项目的隐含因子相互交互用于预测最后评分结果的预测层。在训练阶段,输入包括用户、被推荐项以及评论文本,在测试阶段,则将用户和被推荐项最为输入。这里以Net_i为例,Net_u可以同样的方式理解。首先,每一个评论中的词通过embedding 转化为 Vi1, Vi2,…Vik的embedding矩阵,矩阵放入CNN中的池化层,得到的输出是Oi1, Oi2, …Oij. 接下来,若想得到item的表示,则可以将这些输出平均起来,这也是很常见的一种操作。而本文提出的是基于attention机制的方法,主要目的是学习到这些输出特征的不同权重。为了计算attention score,模型采用了两层的神经网络,输入是第i个item的第l条评论的特征向量 (Oil )以及评论作者的用户ID embedding。ID embedding 作用是建模用户评论的有效性,识别那些经常写无效评论的用户。attention network 定义如下

使用softmax函数进行归一化:


预测部分就跟之前看的神经协同过滤最后的方法一样,使用了哈德码积
有几个问题不太明白:
1、如何判别评论的有效性。是在attention的神经网络里进行学习?
2、用户和评论的ID是不是采用和预处理一样的方式进行one-hot编码然后再处理?
3、NARRE最后一步为什么还要再加一个User或者Item的embedding?
