融合知识图谱和评论文本的个性化推荐模型*
2023-02-08邹程辉李卫疆
邹程辉,李卫疆
(1.昆明理工大学信息工程与自动化学院,云南 昆明 650500;2.昆明理工大学云南省人工智能重点实验室,云南 昆明 650500)
1 引言
随着信息化技术的飞速发展,世界正在经历新的“网络化革命”,人们可以通过多种方式对互联网进行访问,搜索和获取自己所需要的信息。同时,网络信息呈“爆炸性”增长,用户虽然能够获取到更为丰富的信息内容,却很难从信息的海洋中准确及时地获得符合自身需求的信息。因此,“信息过载”成为了急需解决的难题。
目前推荐模型使用辅助信息进行个性化推荐,辅助信息包括社交网络、评论文本和知识图谱等。评论文本能够为用户和项目提供更丰富的信息。融合评论文本的推荐模型利用CNN(Convolutional Neural Network)[1,2]和注意力机制[3 - 5]提取文本中的特征并计算其权重。知识图谱在多个领域的应用都取得了良好的效果,如问答系统、词嵌入和文本分类等。目前专业的知识图谱数据库有NELL、Microsoft Concept Graph[6]和Microsoft Satori 。
本文提出了基于知识图谱对用户形象和用户兴趣建模的个性化推荐模型MKG-User,本文的贡献总结为以下3点:
(1)使用不同类型知识图谱作为辅助信息,不同类型的知识图谱能够从不同角度结合推荐模型中的数据信息进行建模。
(2)基于三元组知识图谱和用户的历史兴趣提出了权重异构图WHG(Weighted Heterogeneous Graph)。WHG是考虑到现实中关系的影响因子构建的一种包含用户兴趣信息的网络结构图。
(3)联合概念知识图谱和评论文本,利用神经网络同时从概念词和实体词中提取用户画像特征和用户的情感倾向特征,利用用户评论文本构建用户的形象和情感。
2 相关工作
2.1 融合知识图谱的推荐模型
本节总结了几种主要的融合知识图谱推荐模型。基于嵌入式的模型的关键技术是KGE(Knowledge Graph Embedding)[7],将知识图谱的实体和关系映射到低维的向量空间学习知识图谱中的信息。微软[8]提出了CKE(Collaborative Knowledge base Embedding),在协同过滤CF(Collaborative Filtering)的基础上融合了3种辅助信息。Ai等人[9]提出了CFKG(Collaborative Filtering based on user-item Knowledge Graph)模型,该模型预定义了User-Item重新计算用户和项目之间的距离。Wang等人[10]提出了MKR(Multi-task feature learning for Knowledge graph enhanced Recommendation)模型,利用推荐系统中的物品和知识图谱中的实体存在重合的情况,提出了交叉式的推荐系统模型。基于联合式的模型兼具了嵌入式和路径2种方式。Wang等人[11]提出了RippleNet模型,将用户的历史兴趣作为种子在知识图谱中扩展用户的兴趣集合。Wang等人[12]提出了KGCN(Knowledge Graph Convolutional Networks for recommender systems)模型,利用图卷积处理知识图谱。
2.2 融合评论文本的推荐模型
评论文本作为辅助信息是推荐系统研究中的热点。Kim等人[1]提出了ConvMF(Convolution Matrix Factorization)模型,将商品信息聚合为长文本用于提取用户特征,但是ConvMF仅考虑到了商品的评论文本,没有考虑到用户评论内容。Zheng等人[2]提出了DeepCoNN(Deep Cooperative Neural Network)模型,该模型使用2个并行的CNN网络分别从用户评论和商品信息中提取隐含特征。DeepCoNN给后来的研究提供了很多启示,其中Chin等人[4]提出了ANR(Aspect-based Neural Recommender)模型,从文本内容的角度进行建模。基于长文本的建模方法对于用户特定领域的兴趣效果不佳,因此提出了基于单评论的建模方法。Chen等人[5]提出了NARRE(Neural Attention rating Regression with Review-level Explanations)模型,针对不同的评论根据其重要性定义了review-level层,通过自注意力机制聚合用户和商品在review-level层得到的结果进行预测。Zhang等人[13]提出了EFM(Explicit Factor Model)模型,根据用户对物品的评论,采用情感分析的方法,构建了3个矩阵进行预测。
3 问题定义
本节主要介绍模型中用到的定义和数学符号。
定义1y为预测1个用户对1个项目的点击概率值。
定义3(用户画像特征) 利用概念知识图谱中的概念词和实体词提取到用户画像特征。
本文使用的数学符号如表1所示。
Table 1 Symbol definition
4 模型
4.1 模型框架
如图1所示,融合知识图谱和评论文本的个性化推荐模型由输入层、嵌入层、特征提取网络和决策层组成。输入层是对用户兴趣和用户画像建模的基础,在输入层输入样本数据和多类型的知识图谱;在嵌入层中,将输入的数据转化为向量表示,并将其作为特征提取网络的输入;特征提取网络是模型的关键,在该层构造兴趣网络和画像网络,分别提取用户兴趣特征和带有情感倾向的用户画像特征;决策层对用户兴趣特征和用户画像特征进行处理得到用户的表示,使用Sigmoid函数计算用户点击概率的预测值y。
Figure 1 Framework of MKG-User model图1 MKG-User模型框架
4.2 输入层和嵌入层
4.2.1 WHG构建
如图2所示,以电影“Forrest Gump”为起点,在三元组知识图谱上以多跳的方式扩展用户兴趣项目,构造了关于 “Forrest Gump”的权重异构图。
Figure 2 WHG图2 权重异构图
受到Wang等人[12]和Cao等人[14]融合知识图谱扩展用户兴趣的启发,本文使用三元组知识图谱构造WHG,不仅考虑关系作为节点的连接,还考虑关系的连接性和每一条关系的权重。三元组知识图谱由h,r和t构成,根据h和r扩展t。设Nl为δ中关系rl的数量,N为关系的种类,w_rl为关系rl的权重,其计算如式(1)所示:
(1)
通过知识图谱和用户的输入样本构造WHG,具体过程如算法1所示
算法1构造WHG。
输入:用户历史兴趣Vu、三元组知识图谱δ(h,r,t)和计算的关系的权w_rl。
输出:权重异构信息图WHG,WHG由多跳的集合(ϑ1,ϑ2,ϑ3,…,ϑk)构成,其中k代表多跳的次数。
Step1将用户历史兴趣Vu送进δ(h0,r0,t0),生成在知识图谱中扩展的种子h0,其中h0=Vu。
Step2对h0,在知识图谱中根据关系r0得到扩展的节点t0。
Step3得到h0在第1跳中所有的节点t0构成第1跳的集合ϑ1(h0,r0,t0)。
Step4将第1跳扩展的t0,作为下一跳的头实体h1进行第2跳扩展t1,得到第2跳的集合ϑ2。
Step5重复操作Step 4,得到下一跳的集合ϑk。
Step6经过多次扩展得到扩展集合(ϑ1,ϑ2,ϑ3,…,ϑk),根据在知识图谱中得到的关系的权重w_rl对每一跳集合中的关系赋值 ,得到新的集合(ϑ1,ϑ2,ϑ3,…,ϑk),其中ϑk的组成为(hk,w_rl_rk,tk)。
Step7得到赋值后的异构网络图WHG。
Step8Return WHG。
4.2.2 概念知识图谱
从用户评论文本中提取实体词的过程如式(2)所示:
(2)
其中,Ej代表1个用户对1个项目的评论文本中实体词集合,n为实体词数量,Traverse(·)代表映射方法。
根据实体词得到与用户有关概念的公式如式(3)所示:
(3)
4.2.3 嵌入层
在输入层得到WHG、评论文本以及概念词和实体词,其中评论文本和概念作为语句序列,为了保留句子的上下文关系,采用word2vec[15]技术预训练得到文本的词向量字典。对输入的文本内容(Rev,En,Gn),根据词向量字典得到向量表示,Rev由词向量集合O={O1,O2,O3,…,On}构成,Gn的所有概念词向量表示集合为g={g1,g2,g3,…,gd},En的所有实体词向量表示集合为e={e1,e2,e3,…,ed}。d为向量维度。同时,为了体现出句子中实体词的影响程度,对句向量中的实体词利用自注意力机制来更新其权重,如式(4)所示:
(4)
评论文本由于句子长度不同,为了保存句子的完整信息,以及方便模型处理文本,根据更新权重后的词向量集合计算评论文本的句向量,如式(5)所示:
(5)
其中,senvec={sen1,sen2,…,send}为句向量表示,n为评论文本中词的数量,对不属于实体词的单词Att(Ej,O)=1。
由于每条评论文本中的实体词数量也不同,为了方便模型处理,同时不丢失概念词和实体词,本文分别取g和e的均值向量表示作为概念词和实体记号的向量表示,如式(6)所示:
(6)
对输入WHG中的三元组{hk,rk,tk}和输入用户初始感兴趣的项目v,经过embedding层转换为词向量表示,其中hk={h1,h2,h3,…,hd},rk={r1,r2,r3,…,rd},tk={t1,t2,t3,…,td},v={v1,v2,v3,…,vd}。
4.3 特征提取网络
4.3.1 兴趣网络
如图3所示,兴趣网络由兴趣注意力机制和全连接层组成。
Figure 3 Interest network图3 兴趣网络
本文提出用于模拟用户兴趣偏好的兴趣注意力机制。如图4所示,根据构造的WHG中的实体与关系,使用Softmax函数计算用户的兴趣偏好值。
Figure 4 Interest attention mechanism图4 兴趣注意力机制
根据WHG得到用户过去的兴趣Rh和扩展的兴趣Vt,如式(7)所示。根据Rh和Vt计算用户的兴趣偏好值,计算过程如式(8)所示:
(7)
Interestw=Sofmax{Deep[σ(Rh⊕Vt)]}
(8)
其中,Interestw为用户兴趣值,Deep[σ(Rh⊕Vt)]用于得到用户的共享兴趣特征,σ(·)为ReLU激活函数。
通过兴趣注意力机制对用户在WHG中每一跳扩展的实体添加了兴趣偏好值Interestw,然后利用全连接层提取用户的兴趣特征{I1,I2,I3,…,Ik},Deep(hk,w_rl_rk,tk)代表利用全连接层提取1组三元组兴趣特征。InterestI代表用户兴趣特征表示,k代表兴趣特征的数量,用户兴趣特征的提取过程如式(9)所示:
0 (9) 4.3.2 画像网络 画像网络从评论文本、概念和实体词中提取带有情感倾向的画像特征,在输入层关联概念知识图谱得到评论文本中的实体词向量e、概念向量g以及句向量{sen1,sen2,sen3,…,send}。如图5所示,画像网络由画像模块和情感模块组成,画像模块采用双通道的深度ResNet(Deep Residual Network)[16]并行处理概念集合和实体词集合,从中抽取用户形象特征;情感模块采用Bi-LSTM[17]计算评论文本中的情感倾向。 Figure 5 Portrait network图5 画像网络 将概念向量经过卷积操作压缩特征,将概念向量g与卷积核ke进行卷积运算。压缩过程为如式(10): xi=σ(g*ke+b) (10) 其中,ke为卷积核,大小为7,步长为2;*为卷积操作;b为偏置值。池化操作得到的向量输入到ResNet,池化操作如式(11)所示: x=max(x1,x2,…,xi) (11) 残差单元的计算过程分为2步:卷积过程和恒等映射Im(Identity mapping),计算过程分别如式(12)和式(13)所示: (12) Im=σ[conv(x*ke+b)] (13) 其中卷积核ke的大小分别为1,3和1,步长为1,c为卷积过程的向量。 残差单元的最终输出如式(14)所示: fg(c,Im)=add(c,Im) (14) (15) (16) 如图6所示,情感模块由双向长短期记忆Bi-LSTM网络和隐含层构成,输入为句向量senvec。LSTM单元有遗忘门、更新门和输出门3种门控机制。 Figure 6 Emotion module图6 情感模块 (17) Saw=softmax{σ[deep(Sd)]} (18) 将Saw与画像特征相乘,得到带有情感倾向的用户画像特征,计算公式如式(19)所示: (19) 通过特征提取网络得到用户的兴趣特征和带有情感倾向的用户画像特征,对2种特征进行融合得到用户的表示user·Pi,融合的过程见式(20)。通过全连接层来计算用户表示和用户初始感兴趣的项目v之间的相似度,使用sigmoid函数计算预测概率y,如式(21)所示。 user·Pi=InterestI·Userp (20) y=sigmoid{sum[user·Pi×deep(v)} (21) 本文选用Amazon数据集[18]进行实验评估。该数据集包含了用户对网站商品的评价信息和商品的元数据,评分在1~5,数据的时间跨度为1995年6月到2013年3月。本文在Amazon数据集中选择了电影、图书和音乐3个领域的数据集。 本文使用2种类型的知识图谱:(1)概念知识图谱使用的是2016年微软研究院发布的Microsoft Concept Knowledge Graphs,通过人类意识常识概念进行构建,包含540万条概念和相关实体;(2)三元组知识图谱,包括从Microsoft Satori抽取到的有关电影、图书和音乐领域的实体和关系,其中电影三元组知识图谱中有2 444类有关电影的实体节点,12种连接关系;图书三元组知识图谱中有14 966类有关图书的实体节点,16种连接关系;音乐三元组知识图谱中有3 845类有关音乐的实体节点,36种连接关系。 表2展示了数据集关联知识图谱后的数据信息。可以看到,在三元组知识图谱中经过多跳扩展用户感兴趣的项目的数量和种类在逐渐增加,可用于解决推荐系统的数据稀疏问题。 Table 2 Multi-hop expansion on the triple knowledge graph 本文随机将数据集划分为训练集(60%)、验证集(20%)和测试集(20%)。在实验数据集中评分为1到5,根据Amazon数据集评分的分布将阈值设置为4,保证正负样本的分布均匀,以此将数据集划分为正负样本后用于构建CTR模型。 本文选取AUC(Area Under the Curve)作为评价指标,如式(22)所示: (22) 其中,M和F为正样本和负样本的数量;rankinsi表示第i条样本的序号;∑insi∈positiveclassrankinsi表示正样本的序号加起来。 其它评价指标Precision、Recall和F1的计算如式(23)~式(25)所示: (23) (24) (25) 其中,TP表示把正样本成功预测为正的次数;TN表示把负样本成功预测为负的次数;FP表示把负样本错误预测为正的次数;FN表示把正样本错误预测为负的次数。 为了评估MKG-User模型的性能,将其与以下比较优秀的模型进行对比: (1)DeepFM[19]。经典的神经网络推荐模型,使用FM和MLP分别处理用户的低维和高维特征。 (2)CKE[8]。融合知识图谱的经典模型,通过KGE得到结构类型的知识图的向量表示后进行预测。 (3)RippleNet[11]。 借鉴了水波扩散的现象,基于用户历史兴趣在知识图谱中扩展用户的兴趣,计算用户点击候选项目的概率。 (4)MKR[10]。利用推荐系统中的用户和项目能够与三元组知识图谱中的节点匹配,设计交互网络将节点和用户、项目进行交互,进行点击率预测。 (5)KGCN[12]。在知识图谱中找到相关的实体节点,对节点进行聚合,然后利用图卷积技术扩展信息后用于点击率预测。 (6)ConvMF[1]。利用CNN从商品评论信息中提取商品的隐含特征,作为评分矩阵的额外信息,基于高斯分布进行评分预测。 (7)ANR[4]。从方面角度对长文本进行建模,然后用注意力计算方面的权重。 (8)NARRE[5]。 NARRE考虑到评论文本的重要程度,提出了review-level来刻画评论的权重,再利用注意力进行最后的推荐预测。 本文使用word2vec训练词向量,维度(d)为300,窗口大小为3。损失函数是均方根误差损失函数,优化器选择的是Adam,学习率为0.01。如表3所示,为了达到最佳性能,对3个数据集中的参数进行了微调。Hop-size为构建权重异构信息图多跳次数,Kg-size为扩展异构知识图谱的大小,α和β为模型学习率,L2为正则化参数。进行实验时,选择K值为10,32,64,100。 Table 3 Parameters setting 实验目的是验证融合知识图谱和评论文本对用户兴趣和用户形象进行建模能够提升模型的性能,使用AUC、Precision和F1作为评价指标。 实验结果见表4。在AUC和Precision和F1上,本文提出的模型在数据集上都得到了最好结果。MKG-User模型的AUC分别达到了0.969,0.925和0.887,与Baseline中最好的结果相比分别提高了4.8%,18.8%和2.1%。本文模型与融合知识图谱的模型相比,在电影数据集上,AUC提高了4.8%,Precision和F1分别提高了6.8%和6.9%;在图书数据集上,AUC提高了19.6%,Precision和F1分别提高了3.8%和19.4%;在音乐数据集上,AUC提高6.8%,Precision和F1分别提高了0.1%和12.2%。本文模型与融合评论文本的模型在AUC、Precision和F1上相比,在电影数据集上分别提高了6.5%,9.0%和8.9%,在图书数据集上分别提高了18.8%,7.8%和15.5%;在音乐数据集上,AUC提高了2.1%,Precision和F1分别提高了1.0%和6.3%。在不同数据集上与不同类型模型进行比较,验证了MKG-User使用评论文本和知识图谱能够提升推荐模型的性能,同时还说明对用户形象和用户兴趣进行建模能够提升推荐系统的效果。为了验证模型的稳定性,MKG-User-avg是对10次实验结果取平均值。 Table 4 Comparison of experimental results Figure 7 TopK experimental results on movie dataset图7 电影数据集上的TopK实验结果 Figure 8 TopK experimental results on book dataset图8 图书数据集上的TopK实验结果 本节在Amazon的电影和图书2个数据集上对模型进行TopK实验,评价指标为Precision@K、Recall@K和F1@K。实验结果如图7和图8所示。 从图7和图8可知,本文提出的模型达到了很好的效果。由于Precision和Recall侧重点不同,评价性能的方面也不同。因此,本节还选择F1评价指标,F1综合了2种评价指标。从3个指标验证了本文模型达到了最好的效果,表明模型在TopK实验中有很好的性能,能为用户提供更准确的推荐。 本文选择Hop-size和Kg-size2个参数来评估其对模型性能的影响,在Amazon数据集上进行实验验证。Hop-size是根据用户的历史兴趣扩展用户兴趣的跳数,其大小代表扩展用户兴趣的远近。Kg-size是在WHG中得到的用户节点的数量,用于确定能够得到多少用户兴趣特征。表5所示为Hop-size在1~4时AUC的实验结果。表6所示为Kg-size取8,16,32和64时对模型性能的影响。 Table 5 Impact of Hop-size on the model Table 6 Impact of KG-size on the model 本文还在电影数据集上验证了兴趣网络的有效性,表明在融合知识图谱的推荐模型中关系的影响因素和用户兴趣偏好可以提高推荐模型的效果。 实验结果如表7所示,MKG-User(knowledge graph)表示兴趣网络加入了WHG和兴趣注意力机制。 从表7可以看出,考虑关系的影响因素和用户的兴趣偏好后能够增强推荐系统的性能。为了体现用户兴趣偏好的变化过程,对兴趣注意力机制进行可视化,如图9所示。 Table 7 Impact of WHG Figure 9 Visualization of attention mechanism 图9 注意力机制可视化 MKG-User(Portrait)在MKG-User(knowledge graph)中添加双通道ResNet,融合评论文本和概念知识图谱提取画像特征。在电影数据集上与MKG-User(knowledge graph)进行对比验证,实验结果如表8所示。 Table 8 Effectiveness of the portrait network 在画像网络中考虑评论文本中的情感倾向,添加了情感模块,验证Bi-LSTM提取的情感倾向值的有效性。实验结果如表9所示。 Table 9 Portrait network performance after adding emotional inclinations 从表8和表9可知,利用评论文本和概念知识图谱构造带有情感倾向的用户画像特征,根据得到的用户画像特征可解决推荐系统中的数据稀疏问题,提高了推荐效果。 本文提出了MKG-User模型,利用用户交互的项目结合三元组知识图谱提取用户的兴趣特征,利用评论文本和概念知识图谱提取用户画像特征,有效提升了推荐效果。同时,本文提出了利用兴趣注意力机制提取更符合用户自身兴趣的特征;采用双通道ResNet和Bi-LSTM提取带有情感倾向的用户画像特征。今后将在2个方面继续开展研究:(1)本文在构建用户画像特征时没有考虑用户的统计信息,如何将用户的统计信息融合到用户画像特征中是下一步要解决的问题;(2)用户的兴趣是动态变化的,如何考虑利用用户兴趣的变化来优化推荐模型也是下一步工作之一。4.4 决策层
5 实验
5.1 数据集
5.2 评价指标
5.3 Baseline模型
5.4 参数设置
5.5 实验结果与分析
5.6 TopK实验结果与分析
5.7 参数敏感性分析
5.8 兴趣网络的有效性
5.9 画像网络的有效性
6 结束语