推荐系统作为一种为用户提供感兴趣产品和服务的技术,已经在社交媒体、电子商务、广告营销中得到了广泛的应用。已有的推荐系统算法主要是基于用户对项目的交互历史记录,学习用户与项目的特征表示,预测用户对项目的评分。比较典型的方法是矩阵分解(MF)[1],即根据用户和物品的评分矩阵A∈Rl×q,学习l个用户,q个物品的潜在表示,预测用户对物品的评分。传统的矩阵分解主要利用了评分交互信息,但是忽略了用户和项目在节点表示中的作用。随着电子商务的发展,用户对购买的产品或服务会进行评论,大量的评论反映了用户的兴趣,能够揭示用户的喜好以及产品的属性特征。基于评论文本内容对用户和项目建模,获取用户和项目的语义表示,也逐渐引起许多学者的关注。柴玉梅等[2]利用CNN(convolutional neural network)对评论文本建模,获取用户和项目特征,并通过迁移学习提取面向领域的特征和领域间的共享特征进行评分预测。Zheng等[3]利用2个并行的卷积结构分别对用户和商品的评论文档建模,提出了DeepCoNN (deep cooperative neural networks)模型。
基于评论文本内容的推荐方法取得了一定成效,忽略了评论文本中与评分相关的情感特征信息。这些情感特征对学习用户和项目的表示具有重要的作用,能够提升用户对项目的评分预测精度。如何获取评论中与评分相关的评论情感特征引起了许多学者的注意。Chen等[4]考虑到评论中词汇的重要性不同,基于注意力机制选择了重要的评论信息,提升了评分预测的性能。李勇等[5]提出了位置感知的注意力机制,获取评论文本中与距离相关的序列语义特征。受到Fan等[6]启发,本文提出了一种基于评论文本情感注意力的推荐方法。首先,基于CNN对用户和项目的评论文本进行评论特征表示,进而融合用户对项目的评分学习了用户和项目的评论情感特征表示;其次,考虑到每条评论情感特征信息对用户和项目嵌入的不同作用,基于注意力机制聚合了所有评论情感特征,学习用户和项目的嵌入;最后,结合偏置信息,预测了用户对项目的评分,在亚马逊评论数据集上验证了方法的有效性。
传统推荐方法主要有协同过滤方法和基于内容方法。协同过滤主要包括基于用户的协同过滤和基于项目的协同过滤。基于用户的协同过滤是发现相似用户,根据相似用户的兴趣为目标用户进行推荐;基于项目的协同过滤是根据用户对项目的评论或评分,发现相似项目,进而将相似项目推荐给目标用户。矩阵分解是协同过滤中应用较广的算法。Rendle等[7]提出的因子分解机FM(factorization machines),结合矩阵分解和广义线性模型,解决了二阶特征组合的稀疏性问题。He等[8]、Xin等[9]基于深度学习的思想对FM进行了改进,提出了NFM[8](neural factorization machines)模型和CFM[9](convolutional factorization machines)模型:NFM模型利用神经网络代替了FM的二阶特征交互的部分,提高了模型的性能;CFM模型通过外积建模二阶交互,捕捉嵌入层之间的相关性。Guo等[10]提出的MBCN(multi-branch convolutional network)模型利用标准一维卷积和扩张卷积,实现对相邻特征以及非相邻特征的交互建模,提升推荐的性能。
协同过滤方法在面对推荐系统冷启动和评分数据稀疏问题时性能较差,有学者开始从评论文本中获取项目的一些基本特征(如包装、功能和质量等)和用户的兴趣偏好,以刻画用户和项目的表示。Wu等[11]提出的CARL(context-aware user-item representation learning)模型,以用户和项目的评论文档以及初始ID作为输入,学习用户和项目间的交互关系获取具有上下文的语义表示。Chin等[12]提出的ANR(aspect-based neural recommender)模型将用户和项目的所有评论组成文档,实现用户对项目的评分预测。也有学者对每条评论内容进行建模,进而聚合每条评论的特征学习文档的表示。Tay等[13]提出了一种协同关注的多指针学习推荐框架。冯兴杰等[14]提出将评论文本与评分矩阵融合,预测用户对项目的评分。
上述研究大多没有同时考虑评论中的特征与情感倾向在用户和项目语义表示中的作用。本文通过融合评论文本的特征信息与用户评分的情感倾向信息,基于注意力机制聚合所有评论情感特征信息对用户和项目表示的影响,学习用户和项目的嵌入,提升评分预测的精度。
本节介绍基于评论文本情感注意力的评分预测框架IncorRAS-Rec,如图1所示。在图1中,框架包括评论情感特征建模、用户和项目嵌入、评分预测3个模块。在评论情感特征建模部分,通过CNN对用户和项目的评论文本进行卷积得到用户和项目评论特征表示,并与用户对项目的情感倾向融合;在用户和项目嵌入部分,通过注意力对融合情感倾向后的每条评论情感特征进行聚合,完成对用户和项目的嵌入;在评分预测部分,将得到的用户嵌入与项目嵌入进行内积计算,结合偏置项,预测用户对项目的评分。
图1 基于评论文本情感注意力的评分预测框架
Figure 1 Rating prediction framework based on sentimental attention of review text
3.1.1 基于CNN的评论特征表示
基于评论文本的语义特征可以提升推荐系统评分预测的精度。本文采用DeepCoNN[3]中评论文本语义特征的建模方法,建立评论文本的初始化特征表示。以用户的评论特征表示为例,其卷积运算主要有嵌入层、卷积层、池化层和全连接层4个部分。
(1)嵌入层。将用户u的评论j中单词的序列映射成d维向量,形成嵌入向量ruj;考虑到用户u所有的评论,构成嵌入矩阵V=[ru1,ru2,…,run],其中n为用户u设置的评论总数。
(2)卷积层。卷积的每个神经元对应过滤器F∈Rd×t,t为滑动窗口大小,在嵌入矩阵V上执行卷积操作获得评论的语义特征:
x=σ(V*F+bias)。
(1)
式中:σ为Relu激活函数;*表示卷积操作;bias为偏置项。
(3)池化层。对过滤器通过滑动窗口产生的语义特征{x1,x2,…,xd-t+1}采用最大池化操作,选取最具有价值的特征,最大池化之后为一个固定向量h,定义如下:
h=max{x1,x2,…,xd-t+1}。
(2)
卷积层最终的输出是多个过滤器获得的特征进行拼接:
k=h1⊕h2⊕…⊕hn1。
(3)
式中:n1表示过滤器个数;⊕表示拼接运算。
(4)全连接层。将卷积层中的结果送入权重为W,偏置为b的全连接层中,得到用户u的评论特征矩阵Ou=[cu1,cu2,…,cun]。
于是,基于CNN的用户评论特征表示如下:
Ou=W·k+b。
(4)
项目的评论特征表示与用户的评论特征表示方法类似,本小节只对用户的评论特征表示进行说明。基于CNN的评论特征表示利用了评论中丰富的语义信息,有利于提高推荐算法的精度。
3.1.2 融合情感倾向的评论情感特征表示
用户对项目的评论不仅刻画了项目的特征,还描述了用户的兴趣爱好,同时用户对项目的评分也代表了用户对该项目的情感倾向,这些情感倾向对于用户对项目的选择有着至关重要的影响。设用户的评分范围为1~5分,本文将用户的情感倾向分为两类,一类是积极:4~5分(用1表示);另一类是消极:1~3分(用0表示)。对于每个评论的情感倾向e∈{0,1},将其进行初始嵌入s∈Rd,并将用户的评论特征表示和情感极性嵌入进行联合,获得用户u的融合情感极性的评论特征表示muj,定义如下:
muj=MLP(cuj⊕suj)。
(5)
式中:cuj为用户u的第j条评论特征嵌入;suj为第j条评论的情感倾向嵌入。
项目i的融合情感倾向的评论特征表示gij与用户的融合情感倾向的评论特征表示方法类似,本小节只对用户的评论情感特征表示muj进行说明。
在图1中,用户和项目嵌入旨在将融合了情感倾向的评论特征进行聚合,学习基于评论情感特征注意力的用户和项目表示。本小节对用户嵌入进行介绍。
考虑到用户交互的多条评论信息,将用户u的所有评论情感特征信息聚合,得到用户嵌入eu,定义如下:
eu=f{muj,∀j∈Z(u)}。
(6)
式中:f为聚合函数;Z(u)为用户u所有的评论集合。聚合运算有均值、最大化注意力机制等多种方法,这里采用注意力机制学习每条评论情感特征信息对评分预测的重要性。
给定用户u的融合情感倾向的评论特征表示muj,以及用户ID的初始嵌入Pu,计算评论情感特征信息对用户u的注意力分数,定义如下:
αuj=hTσ[Wa(muj⊕Pu)+ba]。
(7)
式中:σ为Relu激活函数;Wa和ba为神经网络的权重和偏置。于是,归一化的注意力权重:
(8)
基于用户u的每条评论情感特征的注意力权重,将用户u所有的评论进行聚合,得到用户嵌入eu:
(9)
基于评论情感特征注意力的用户嵌入充分考虑了不同评论中用户的兴趣语义和情感对用户行为的影响程度,有助于提升评分预测的精度。
类似地,将项目i的每条评论情感特征gij聚合,可以学习项目的嵌入。本文将项目i的ID初始嵌入表示为Qi,B(i)是项目i的所有评论集合,采用注意力机制计算评论情感特征信息对项目i的注意力权重aij:
(10)
βij=hTσ[Ws(gij⊕Qi)+bs]。
(11)
式中:Ws和bs为神经网络的权重和偏置。通过融合评论情感特征信息gij和项目ID的初始嵌入Qi,可以提取与项目i的评分相关的重要情感特征信息。
在获得了每条评论情感特征信息的注意力权重之后,根据注意力权重将项目i的所有评论进行聚合,得到项目嵌入ei:
(12)
式(12)表示对项目i的所有评论的情感特征进行加权求和,实现了基于评论情感特征注意力的项目建模。
根据用户嵌入eu和项目嵌入ei,定义用户u对项目i的偏好预测分数
(13)
式中:bu、bi分别表示用户u和项目i的偏置;b0表示全局偏置项。偏置项能够进一步提高推荐算法的预测精度。
在训练模型时,选择平方损失函数进行优化,定义如下:
(14)
式中:为预测误差;为L2正则化项;T表示训练集中的用户项目对集合;和yui分别表示用户u对项目i的预测值和真实值;W0=[Wa,Ws]为模型中注意力神经网络的学习参数;λ用于控制均方误差和正则项之间的关系,通过调整λ的取值,对正则项进行约束,使得正则项中的每个权重元素都很小,降低模型复杂度,防止训练过程中出现过拟合。
本文在亚马逊公开的5-core商品评论数据集Musical_Instruments和Amazon_Instant_Video上验证IncorRAS-Rec方法的有效性。数据集包含了用户对项目的评论以及评分信息,评分取值为1~5分。实验数据集统计信息如表1所示。
表1 实验数据集统计信息
Table 1 Statistical information of experimental dataset
数据集用户数项目数评论数Musical_Instruments1 42990010 261Amazon_Instant_Video5 1301 68537 126
在实验过程中,采用MAE和RMSE指标来比较不同模型在评分预测方面的性能。
本文选取了几种传统模型和基于评论文本的模型与IncorRAS-Rec模型进行性能比较。
(1)PMF[15]:基于用户项目的评分矩阵,采用概率矩阵分解实现了用户和项目的潜在表示,预测了用户对项目的评分。
(2)BPMF[16]:在PMF模型基础上,将超参数的先验置为Gaussian-Wishart分布,进行评分预测。
(3)SVD++[17]:结合了用户对项目的显式反馈和隐式反馈信息,学习用户和项目的潜在表示,实现评分预测。
(4)DeepCoNN[3]:通过2个并行的CNN结构学习了评论文本中用户和项目的特征,实现评分预测。
(5)NARRE[4]:在DeepCoNN模型基础上,使用注意力机制识别评论文本在评分预测中的作用,提升了评分预测的性能。
在实验过程中,对于IncorRAS-Rec模型采用网格搜索法,从{16,32,64,128}寻找最佳嵌入维度。为防止过拟合,L2正则化参数λ在{0,0.001,0.01,0.1}中查找。实验过程中选择Relu作为隐藏层的激活函数,选择Adam对模型进行优化,学习率设置为0.001,脱落率设置为0.5。
对于评论文本数据,本文使用了word2vec在GoogleNews谷歌新闻语料库上的预训练嵌入,获取词向量的表示。为确保实验的公平性,本文参照NARRE模型[4]的实验设置,将当前数据集中每个用户(项目)的评论文本长度按照从小到大排序,对应90%分位点的评论文本长度作为该数据集的用户(项目)评论文本长度,每个用户(项目)评论集中评论条数的选取方法与截取评论文本长度类似。
本文在亚马逊数据集上对IncorRAS-Rec模型和对比方法进行了性能比较,实验结果如表2所示。通过对实验结果分析,可以得出如下结果:
表2 不同算法在2种数据集上的性能比较
Table 2 Performance comparison of different algorithms on two datasets
算法Musical_InstrumentsAmazon_Instant_VideoMAERMSEMAERMSEPMF0.743 91.018 60.754 91.028 2SVD++0.740 20.970 10.779 51.012 1BPMF0.738 30.976 10.774 40.996 2DeepCoNN0.653 70.952 90.690 20.968 3NARRE0.660 10.936 60.698 30.959 8IncorRAS-Rec0.636 60.928 60.683 40.956 9
(1)在Musical_Instruments和Amazon_Instant_Video数据集上,只考虑了评论文本的模型DeepCoNN,其MAE和RMSE结果要低于仅利用评分信息的协同过滤模型,如PMF、BPMF、SVD++,这表明评论文本比评分信息更有助于获取用户和项目的语义信息,学习用户和项目的特征,提升推荐性能。
(2)同时考虑评论文本和评分信息的模型,如NARRE和IncorRAS-Rec,比仅利用评论文本的模型DeepCoNN和仅利用评分信息的PMF、BPMF和SVD++模型,性能更优,表明了融合评论文本以及评分信息能够更好地学习用户和项目的潜在表示,提升评分预测精度。
(3)本文提出的IncorRAS-Rec模型在2种数据集上的实验结果都优于其他模型。在Musical_Instruments数据集上,IncorRAS-Rec模型的MAE相比NARRE和BPMF分别降低了3.6%和13.8%,RMSE相比于NARRE和BPMF分别降低了0.9%和4.9%。在Amazon_Instant_Video数据集上,IncorRAS-Rec模型的MAE相比NARRE和BPMF分别降低了2.1%和11.6%,RMSE相比于BPMF降低了3.9%。在NARRE数据集上的提升效果并不明显。
以上结果表明,相比基于传统协同过滤的BPMF模型,本文提出的IncorRAS-Rec模型充分利用了评论文本中的语义信息,深入挖掘了用户的兴趣偏好和项目的特征,增强了推荐结果的可解释性。此外,与同时结合评论文本和评分数据的NARRE模型相比,IncorRAS-Rec使用MLP提取用户和项目融合情感倾向的评论特征表示,并基于注意力机制,聚合了用户和项目的所有评论情感特征信息,提升了预测结果的精确度,验证了IncorRAS-Rec模型的有效性。
本小节在Musical_Instruments和Amazon_Instant_Video 2个数据集上分析嵌入维度和正则化参数对IncorRAS-Rec模型性能的影响。
4.5.1 嵌入维度
嵌入维度是影响模型性能的关键因素。本文选择在{16,32,64,128}维度上对IncorRAS-Rec模型进行MAE、RMSE指标分析,实验结果如图2所示。
图2 嵌入维度对MAE和RMSE的影响
Figure 2 Effect of embedding dimension on MAE and RMSE
在Amazon_Instant_Video数据集上,随着嵌入维度的增加,IncorRAS-Rec模型的MAE和RMSE值呈现先下降后上升的趋势。因此,实验过程中选择32作为模型在该数据集上的嵌入维度。
在Musical_Instruments数据集上,当嵌入维度为32时,IncorRAS-Rec模型不仅在RMSE指标下表现优异,同时在MAE上的结果也相对较好。因此,实验过程中选择32作为模型在该数据集上的嵌入维度。
4.5.2 正则化参数λ
正则化项通常是机器学习中避免模型过拟合的有效手段之一。图3展示了正则化参数λ对IncorRAS-Rec模型在2种数据集上结果的影响。
图3 正则化参数对MAE和RMSE的影响
Figure 3 Effect of regularization parameters on MAE and RMSE
在Musical_Instrument数据集上,当λ=0.01时,IncorRAS-Rec模型在MAE指标下取得了较好的效果,RMSE指标下性能一般。当λ=0时,模型不仅在RMSE下表现优异,MAE结果也相对较好。因此,本文在Musical_Instruments数据集上选择正则化参数λ=0进行实验比较。
在Amazon_Instant_Video数据集上,当λ=0.001或0.1时,IncorRAS-Rec模型在MAE指标的性能较好。在RMSE指标方面,当λ=0.1时,IncorRAS-Rec模型的性能不太理想,而当λ=0.001时模型的结果相对较好。因此,本文在Amazon_Instant_Video数据集上选择正则化参数λ=0.001进行实验比较。
为了验证注意力机制对模型性能的影响,对IncorRAS-Rec模型中每条评论情感特征信息的注意力机制用均值聚合进行替换,学习用户和项目的表示,比较模型记为IncorRAS-A。图4展示了注意力机制与均值聚合方法在2种数据集下的推荐性能实验对比结果。
图4 注意力机制与均值聚合方法的评分预测结果比较
Figure 4 Comparison of score prediction results between attention mechanism and mean aggregation method
由图4可知,在2种数据集上,IncorRAS-Rec的评分预测性能相比IncorRAS-A都有显著优势。这表明不同评论情感特征信息的有效性不同。与均值聚合方法相比,基于注意力机制的方法可以有效学习不同评论情感特征信息在用户和项目表示中的贡献,进而在评分预测准确性方面表现了较好的性能,提升了推荐系统的质量。
为了进一步解释情感特征对于节点嵌入的有效性,实验过程中,随机从Musical_Instruments数据集中选取了4个用户(User)对2个项目(Item)的评论语句,通过可视化的方式解释评论情感特征信息在用户评分过程中的影响,如图5所示。在图5中,五角星的个数表示用户对项目的评分,红色部分表示了与评分信息相关的评论情感特征词。
图5 案例可视化分析
Figure 5 Case visual analysis
在图5中,第1条评论是User1对Item1(吉他线)购买后的评价。“white ends”体现了Item1的特征,“nice”、“high quality”和“Fantastic”表达了User1对Item1的积极情感,认为它质量很好,很满意。因此,User1对Item1给出了5分评价。
第4条评论是User4对Item1的使用感受评价。“hums”和“crackles”描述了User4对Item1的特征感受,认为它发出嗡嗡的响声,并且“don′t recommend”。因此,User4对Item1评价较低,评分为1。
上述可视化案例说明了IncorRAS-Rec模型能够很好地学习评论中与评分相关的情感特征,这些情感特征在提升评分预测精度的同时,可以使预测结果更具有解释性。
本文提出了基于评论文本情感注意力的推荐方法。首先,基于CNN结构学习了用户和项目的每条评论的特征表示;其次,将每条评论的特征表示与情感倾向表示融合,通过注意力机制计算了每条评论的情感特征信息对于用户和项目嵌入的重要性,进而聚合了所有评论的情感特征信息,学习用户和项目的嵌入;最后,基于用户和项目的嵌入实现了评分预测,并在亚马逊公开数据集上进行了实验验证。实验结果表明,本文提出的IncorRAS-Rec模型在RMSE和MAE指标上均有显著改善。
[1] KOREN Y,BELL R,VOLINSKY C.Matrix factorization techniques for recommender systems[J].Computer,2009,42(8):30-37.
[2] 柴玉梅,员武莲,王黎明,等. 基于双注意力机制和迁移学习的跨领域推荐模型[J].计算机学报,2020, 43(10):1924-1942.
[3] ZHENG L,NOROOZI V,YU P S.Joint deep modeling of users and items using reviews for recommendation[C]//Proceedings of the Tenth ACM International Conference on Web Search and Data Mining.Cambridge United Kingdom.New York:ACM,2017:425-434.
[4] CHEN C,ZHANG M,LIU Y Q,et al.Neural attentional rating regression with review-level explanations[C]//Proceedings of the 2018 World Wide Web Conference on World Wide Web.New York:ACM,2018:1583-1592.
[5] 李勇,金庆雨,张青川.融合位置注意力机制和改进BLSTM的食品评论情感分析[J].郑州大学学报(工学版),2020,41(1):58-62.
[6] FAN W Q,MA Y,LI Q,et al.Graph neural networks for social recommendation[C]//The World Wide Web Conference.New York:ACM,2019:417-426.
[7] RENDLE S.Factorization machines[C]//2010 IEEE International Conference on Data Mining.Piscataway:IEEE,2010:995-1000.
[8] HE X N,CHUA T S.Neural factorization machines for sparse predictive analytics[C]//Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM,2017:355-364.
[9] XIN X,CHEN B,HE X N,et al.CFM:convolutional factorization machines for context-aware recommendation[C]//Proceedings of the 28th International Joint Conference on Artificial Intelligence(IJCAI 2019).New York:ACM,2019:3926-3932.
[10] GUO W,ZHANG C,GUO H F,et al.Multi-branch convolutional network for context-aware recommendation[C]//Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM,2020:1709-1712.
[11] WU L B,QUAN C,LI C L,et al.A context-aware user-item representation learning for item recommendation[J].ACM transactions on information systems,2019,37(2):1-29.
[12] CHIN J Y,ZHAO K Q,JOTY S,et al.ANR:aspect-based neural recommender[C]//Proceedings of the 27th ACM International Conference on Information and Knowledge Management.New York:ACM,2018:147-156.
[13] TAY Y,LUU A T,HUI S C.Multi-pointer co-attention networks for recommendation[C]//Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining.New York:ACM,2018:2309-2318.
[14] 冯兴杰,曾云泽.基于评分矩阵与评论文本的深度推荐模型[J].计算机学报,2020,43(5):884-900.
[15] MNIH A, SALAKHUTDINOV R. Probabilistic matrix factorization[C]//Proceedings of the 20th International Conference on Neural Information Processing Systems. New York:ACM,2007:1257-1264.
[16] SALAKHUTDINOV R,MNIH A.Bayesian probabilistic matrix factorization using Markov chain Monte Carlo[C]//Proceedings of the 25th International Conference On Machine Learning.New York:ACM,2008:880-887.
[17] KOREN Y.Factorization meets the neighborhood:a multifaceted collaborative filtering model[C]//Proceeding of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM,2008:426-434.