戴 兴,刘永坚,解 庆+,刘平峰
(1.武汉理工大学 计算机科学与技术学院,湖北 武汉 430070; 2.武汉理工大学 经济学院,湖北 武汉 430070)
目前基于用户和物品的协同过滤推荐[1]、基于内容的推荐[2]、基于知识的推荐[3]等主流推荐算法已经发展得较为成熟,并广泛应用于电子商务、社交网络等领域。为了准确预测用户对商品的偏好,用户和商品之间的相关性分析常常应用于推荐模型,因为购买同一商品的用户之间以及同一用户购买的不同商品之间存在相关性(下文分别用相似用户和相似商品表示),有直接交互的用户和商品间也具有一定的关联性(下文用交互商品和交互用户表示)。Wu等[4]提出RMG模型利用注意力机制为用户、商品间的相关性建模,学习用户和商品的表征预测评分。虽然RMG模型考虑了用户、商品间的相关性,但是忽略了用户对商品不同属性的偏好差异,以及商品不同属性的重要程度。此外,传统推荐算法通常仅提供推荐结果,用户只能被动地接受推荐,推荐过程不具有可解释性,影响推荐效果和系统成交率。
基于以上分析,本文提出了基于特征权重与情感偏好的可解释推荐算法(explainable recommendation based on weighted feature and emotional preference,EWFEP)。该算法从历史评论数据中挖掘用户偏好和商品属性以及不同商品特征的重要程度,结合注意力机制精确刻画用户/商品表征,并以此设计可解释的推荐算法,同时引入贝叶斯个性化排序[5,6],优化整个算法模型。在最后推荐商品时提供特征短语级别的解释以提高推荐质量。在Amazon和Yelp数据集中的实验结果验证了EWFEP模型的有效性。
近年来,大量研究[7]验证了利用用户对商品的历史评论能够有效提高推荐的准确性。最初,学者们使用主题建模技术从评论中提取语义特征,并将语义主题整合到潜在因子学习模型中。TLFM模型[8]提出了两个单独的因子学习模型,利用用户和项目的情感一致性和文本一致性,将这两个模块结合在一起进行评分预测。然而该方案需要将目标用户和项目成对的评论作为输入,在实际应用中可行性不高,因此该方法将推荐任务转变为情感分析任务。
最近,许多对评论的上下文信息建模的研究工作被提出。DeepCoNN模型[9]使用并行的CNN网络从用户和项目评论中提取语义特征,然后将提取的特征输入到分解机(FM)中进行评分预测。TransNet模型[10]在DeepCoNN的基础上添加额外的隐藏层来表示用户和商品,该隐藏层表示与目标用户-目标项目对相对应的评论的近似值,使之与训练集的评论文本类似。D-Attn模型[11]采用全局和局部的注意力机制来识别评论文档中的重要单词,更精确挖掘用户和商品的表征预测评分。NARRE[12]认为对于不同的用户-项目对评论应该被区别对待,并使用注意机制选择有用的评论,用于评级预测。MPCN模型[13]利用基于指针的共同注意方案启用多层次的信息选择,能够识别重要的评论及评论中重要的词,从而更准确地预测评分。RMG模型[4]使用注意力机制从评论中学习用户和商品的个性化表示,继续使用注意力机制对用户、商品之间的交互建模,进一步学习用户和项目的表示。上述基于评论和基于特征的解决方案通过识别重要的单词或特征来得到用户/项目的表征,然后为用户项目之间相关性建模来提高推荐的质量。然而在为用户项目相关性建模时,忽略了用户对不同特征的关注度和商品不同属性的重要程度。
现有研究[14]表明,给用户推荐商品的同时提供合理的推荐理由,不仅可以提高用户对推荐商品的接受度,还能激发用户对系统的信心,帮助用户更快地做出良好的决策以提升决策的效率和有效性。解释的形式一般包括句子、标签/关键字、特征短语以及不同类型的可视化方案等。
MTER[6]从用户评论中构建情感词典,生成3个三维张量,并将三维张量进行Tucker分解,在损失函数中引入贝叶斯个性化推荐进行优化,最后生成自由文本作为解释。NARRE模型[12]认为不同评论重要性不一样,通过注意力机制给每条评论赋予一个权重,将权重高的评论作为解释呈现给用户。MT模型[15]利用对抗式序列学习生成目标用户对目标项目的评论作为解释。Wang等[16]通过引入决策树学习决策规则,与嵌入模型结合进行推荐,使整个推荐过程具有解释性。
上述方法中作为解释的生成的文本可能会有语句不顺,而且评论可能只是某个用户的观点,并不能代表商品的真实属性特点。在EWFEP模型中,从评论中提取显式特征,并采用TF-IDF确定其权重,将显式特征和权重作为解释,用户可以更加直观地了解商品的属性及其质量。
本节将详细介绍本文提出的EWFEP模型。如图1所示,EWFEP模型由3个模块组成:模块一是文本处理模块,从评论文本中提取特征及其情感构建情感词典,然后构建用户/商品表征,并确定特征权重;模块二是交互建模模块,为用户-用户、商品-商品、用户-商品间的相关性建模,结合模块一中的特征权重学习最终用户/商品的表征;模块三是预测层,主要负责结合模块二中得到的用户和商品表征与评分矩阵中挖掘出的潜在向量进行评分预测,并引入贝叶斯个性化排序减小评分预测误差,提升模型性能。
图1 EWFEP模型框架
2.1.1 构建情感词典
由于用户在评论中提及特征的频次及其表达的情感倾向能够反映出用户的偏好以及商品的属性质量,因此首先从评论文本中构建情感词典。这个过程主要分为两步:首先采用语法和形态学分析工具从评论文本中提取特征词集F,根据提取到的特征词,匹配对应的情感词;然后利用知网的情感分析词语集确定该特征的情感因子(若检测存在否定词,则将情感极性逆转)。从评论文本中提取出一系列二元组(f,s)构建情感词典,其中f表示特征,s为该特征对应的情感因子。本文将知网情感分析用语集划分为5个情感程度等级,如式(1)所示
(1)
2.1.2 建立初始表征矩阵与特征权重矩阵
假设F={f1,f2,…,fn} 表示评论中出现频率最高的n个特征,U={u1,u2,…,um} 表示m个用户,对于用户ui, 假设特征fj在与其相关评论中出现tij次。为了将tij缩放到与评分矩阵相同的范围[1,N],通过式(2)进行映射,则用户特征矩阵Ur的对应元素为
(2)
其中,N表示满分评分,一般为5,如Amazon和Yelp。
评论中表达对商品属性的情感可以体现商品该属性的质量,因此在构建商品属性矩阵时需要考虑商品属性对应的情感程度。类似地,假设P={p1,p2,…,po} 表示o件商品,属性fj在商品pi相关评论中出现t次,t次的情感均值为sij, 则商品属性矩阵Pr的对应元素为
(3)
通常用户对不同特征关注度不同,商品不同属性的重要性也不同,且用户倾向于在评论中频繁提及其关注的特征,同时评论中特征对应的情感倾向可以体现商品的属性质量。因此利用从评论中提取出的特征及其情感极性构建用户特征权重矩阵和商品属性权重矩阵。
TF-IDF(term frequency-inverse document frequency)算法一般用来计算文档中某个词的重要性,本文采用TF-IDF的思想计算用户特征权重和商品属性权重。用户特征权重矩阵与商品属性权重矩阵构建类似,本节以用户特征权重矩阵的构建为例,商品属性权重矩阵同理。TFij代表用户ui相关评论中特征fj出现的次数占用户ui评论中所有特征出现次数的比重,TFij越大表示用户ui对特征fj的关注度越高。IDF(j) 代表属性fj在所有用户中提及该特征的用户数比重,IDF(j) 越大表示提及属性j的用户越少,说明属性j对目标用户越重要。用户ui对特征fj的关注度wij计算式(4)~式(6)
(4)
(5)
wij=TFij*IDF(j)
(6)
2.1.3 表征优化
(7)
(8)
(9)
(10)
(11)
其中,k是一个比例系数,本文将通过实验研究k的取值对模型性能的影响。同理,用户的特征权重矩阵和商品的属性权重矩阵进行同样的迭代处理。
用户和商品并不相互独立,用户与用户之间,商品与商品之间以及用户与商品之间都存在一定的相关性。如图2所示(圆圈代表用户或商品,线表示购买或评论行为),由于u1购买了p1也购买了p2、p3,u2购买了p1,u3购买了p1,也购买了p4。因此p1与u1,u2,u3有关联,同时也与p2,p3,p4有一定的关联。本节将具体研究用户商品间的相关性及其在推荐模型中的作用。
图2 用户商品交互
(12)
(13)
(14)
其中,w和b是可调参数,β是交互商品相应的注意权重。
由于式(14)未考虑用户对不同特征的关注度以及不同属性对商品的重要程度,因此引入2.1.2节中得到的权重矩阵,则相似用户对目标用户的特征偏好贡献为
(15)
(16)
(17)
同理,可以得到商品的优化表征向量。
2.3.1 评分预测
评分矩阵中也包含丰富的用户和商品信息,因此引入潜在因子模型(latent factor model,LFM),通过矩阵分解技术从评分矩阵中学习用户和商品的潜在特征向量,并将潜在特征与显式特征建立映射关系
(18)
其中,pu∈Rm×n,qi∈Ro×n,n为上文选取的特征数,bu、bi、μ分别是用户偏量、商品偏量和全局偏量。结合评论中挖掘到的表征,采用LFM的思想根据式(19)预测评分
R′u,i=W(Uf+pu)*(Pf+qi)T+bu+bi+μ
(19)
其中,W为参数,Uf和Pf分别是评论中学习的用户和商品表征,bu、bi、μ为用户偏量、商品偏量和全局偏量。如果将W置为1,忽略Uf和Pf, EWFEP模型就变成了潜在因子模型。
2.3.2 贝叶斯个性化排序优化
贝叶斯个性化排序(Bayesian personalized ranking,BPR)是基于矩阵分解的一种排序算法。BPR代替了SVD中的逐点学习,对一个用户和两个项目的三元组建模。如果用户u与项目i有交互,则假定相比所有其它未交互的项目,用户更喜欢该项目。在训练集中构建三元组 , 在本模型中表示:①用户u对商品i有历史评分或评论,而对商品j没有任何历史评分或评论;②用户u对商品i和商品j都有历史评分,但对i的评分比商品j的评分高。BPR的优化目标基于最大后验估计概率,化简后见式(20)
(20)
其中,σ是sigmoid函数,是在原始数据集中构建出的三元组数据集,λ是正则化参数。
引入贝叶斯个性化排序后模型的损失函数为
(21)
其中,rij为真实评分,r′ij、r′ik为预测评分。
传统的推荐算法模型很难在生成推荐结果时提供推荐理由。本文特征属性的权重可以直接表示用户的偏好和商品属性的质量。将特征属性和权重作为推荐解释,用户可以直观了解推荐理由,以便做出明智的决定。
应该将用户关注度较高且商品有较好质量的特征属性作为解释。本文综合考虑2.1.2节中构建的用户特征权重矩阵Wu和商品属性权重矩阵Wp, 将对应的特征与属性权重相乘作为最终权重矩阵W(见式(22)),同时考虑到了用户的偏好和商品的属性质量。生成推荐结果后,选取其中最重要的3个特征和权重值作为解释,同推荐结果一起提供给用户
W=Wu⊗Wi
(22)
其中,⊗表示矩阵对应元素相乘。
例如给用户推荐一家餐厅,EWFEP模型提供的解释如图3所示,用户可以快速了解自己关注且餐厅较突出的特征及其权重,进而决定是否在该餐厅用餐。
图3 解释样例
为了验证EWFEP模型的有效性,在Amazon中的Toys_and_Games,Kindle_Store和Movies_and_TV以及Yelp Challenge (下文分别用Toys,Kindle,Movies和Yelp表示)4个公开数据集中进行实验。这些数据集涵盖了不同领域,其中Yelp是最大的数据集,包含超过300万条评论,而Toys是其中最小的数据集,仅约16万条评论。由于原始数据非常大且稀疏,本文对所有数据集进行了预处理,仅保留评分或评论记录不少于5,且评论中提取出特征数不少于10的用户和商品。数据集的详细信息见表1。
表1 数据集的详细特征
评分预测任务通常用均方根误差(RMSE)、均方误差(MSE)或平均绝对值误差(MAE)作为评价指标,本文采用RMSE作为模型性能的评价指标,RMSE值越小表示模型性能越好。RMSE的计算见式(23)
(23)
其中, |TestSet| 代表测试集中的评分记录数。
比例系数k的取值会直接影响用户和商品的表征,进而影响模型的性能。本文通过对k取不同值进行对比实验研究k值对EWFEP模型性能的影响。
实验结果如图4所示,从图4中可以看出当k取值较小时,EWFEP模型的误差较大,随着k值增大,EWFEP模型的性能逐渐提升,当到达某个阈值后,EWFEP模型的效果随着k值的继续增大而逐渐变差。这是因为较小的k值会影响评论中挖掘的表征特征属性的关系,而较大的k值会导致评论中挖掘的表征存在偏差,且具有一定的数据稀疏性,影响了模型的性能。从图中可以看出当k取值为0.6时,各数据集的误差都达到最小,模型性能达到最佳,因此本文比例系数k取值为0.6。
图4 k值的影响
在本小节,通过对比实验研究特征权重对EWFEP模型的影响。将EWFEP模型与其变体EWFEP-b忽略特征权重进行比较,实验结果如图5所示。结果表明在建模时考虑不同特征权重能够有效减小评分预测误差。这符合预期,因为不同的用户对特征的关注度不同,不同商品属性的重要程度也不同。在建模时考虑特征的权重,学习到的用户和商品的表征更贴近其真实表征。
图5 特征权重的影响
本小节通过实验研究特征数n对EWFEP模型性能的影响。本文依次选取特征数为 (10,20,30,40,50,60,70,80,90,100) 进行实验,结果如图6所示。从图6中可以看出,当选取的特征数n较小时,模型性能不佳,选取的特征数n太大时,模型的性能也逐渐下降,只有选取合适的特征数时,模型的性能达到最佳。因为选取的特征数较小时,大量有用信息被丢失,不能准确表示用户的偏好和商品的属性;而特征数选取太大会引入大量噪声,另外用户常关注的特征数量有限,选取特征数过大会由于大量用户未提及这些特征,造成用户和商品的表征矩阵更加稀疏,直接影响模型效果,因此针对不同领域应选取合适的特征数。数据集Toys和yelp特征数为50时,模型的效果达到最好,而数据集Kindle和Movies特征数为60时,模型表现最好。
图6 特征数的影响
3.6.1 对比模型
实验通过与几种基准方法对比来评估EWFEP模型的性能。基准方法选取了3个目前较为先进的模型:
(1)DeepCoNN[9]:深度协同神经网络,利用深度学习技术对文本评论中的用户和项目进行联合建模的最早方法。
(2)Attn+CNN[17]:基于注意力机制的CNN,同时使用CNN和对单词嵌入的注意力机制从评论中学习用户和商品的表示。
(3)NARRE[12]:具有评论级别解释的神经注意评分回归模型,该模型使用注意力机制对商品评论的信息性进行建模。
(4)EWFEP:本文提出的模型,从评论中提取显式特征表示用户和商品的表征,为用户商品交互建模并考虑用户和商品特征属性的重要程度得到最终的表征进行评分预测。
选取的基准方法中DeepCoNN是仅使用了评论文本的深度学习模型,Attn+CNN和NARRE模型结合了评分数据,并加入了注意力机制,EWFEP模型同时使用评分与评论,并引入注意力机制和深度学习技术,同时为用户商品交互建模时考虑不同特征属性的重要程度。各种方法具有的特征总结见表2。
表2 各种方法具有的特征
3.6.2 实验设置
实验随机将每个数据集的80%作为训练集,10%作为验证集,剩下的10%作为测试集。通过训练集训练参数,验证集选取参数,测试集评估模型性能。EWFEP模型正则参数λ=0.001,防止过拟合dropout=0.5,attention_size=64。
3.6.3 对比结果分析
EWFEP模型与其它对比模型的实验结果见表3。从表中可以得出以下结论。
表3 不同模型对比结果
(1)本文的EWFEP模型在4个数据集中的评分预测误差比次优的模型均降低了3%以上,4个数据集的平均预测误差降低了3.62%,最大降低了4.93%。
(2)同时考虑评分数据和评论文本的模型比仅考虑评论文本的性能更好。因为评分数据中包含了大量用户和商品信息,作为评论文本的补充,能够更准确学习用户的偏好和商品的属性。
(3)引入了注意力机制的模型比未使用注意力机制的效果更好。因为注意力机制可以为重要的词、句子、评论、用户/商品等分配更高的权重,能更好挖掘用户的偏好和商品的属性。
(4)考虑了用户和商品之间相关性以及特征属性重要程度的比未考虑的表现更佳。这与直观理解相符,用户商品之间不是相互独立的,用户与其相似用户和交互商品具有一定的相关性,商品同样与其相似商品和交互用户有关联性,且用户对不同特征的关注度不同,商品不同属性的重要性也不同。
本文提出了一种基于特征权重与情感偏好的可解释推荐算法EWFEP,该方法从评论中提取出特征及其情感程度,构建用户和商品的表征并利用TF-IDF算法确定特征的权重。在为用户/商品之间的相关性建模时考虑不同特征的权重,可以更准确学习用户的偏好和商品的属性。在生成推荐商品时,结合商品属性权重与用户偏好,将权重最大的3个特征属性作为解释。在4个真实数据集中的对比实验结果表明,EWFEP模型的准确度有较大提升。下一步工作将重点研究用户商品间的高阶交互,更精准挖掘用户的偏好和商品的属性,进一步提升模型的效果。