融合用户偏好与语义相似度的推荐算法

时间:2023-10-01 16:30:06 来源:网友投稿

刘恩博,顾春华

(上海理工大学 光电信息与计算机工程学院,上海 200093)

互联网的快速发展产生了海量数据信息,导致人们从中选择自己需要的信息变得非常困难。因此,推荐系统应运而生,能够解决信息过载问题,已被广泛应用于电影[1]、音乐[2]、新闻[3]、图书[4]等领域。协同过滤推荐算法是应用广泛的一种推荐算法,通过用户之间或物品之间的相似性,对用户喜好的物品进行预测与推荐。但是协同过滤推荐算法仅使用自身的历史数据,并没有充分利用实体之间的语义相似度。热门项目与大量项目相似,具有很强的头部效应,能够得到大量推荐,而冷门项目由于特征向量稀疏,导致很少被推荐。

本文主要涉及到以下几方面的技术:

知识图谱[5]是谷歌在2012 年提出的概念,能够扩展用户和项目信息,利用知识图谱完善协同过滤算法,并能有效解决稀疏性和冷启动问题。受Word2Vec 模型[6]利用词向量平移不变现象的启发,产生了TransE[7]、TransH[8]、TransD[9]、TransR[10]等模型。文献[11]使用知识图谱学习实体与关系的语义,构成用户相对于候选人的偏好分布进行推荐;
文献[12]对用户与项目之间的路径进行编码,使用注意力机制聚合编码的路径表示,并生成最终的隐藏状态向量,该向量用于计算用户与预测值的差异度,对结果进行推荐;
文献[13]既考虑个体的长期偏好,又考虑用户在群组讨论期间对项目的直接反馈,从而适当地结合长期偏好与会话的特定偏好;
文献[14]受欧拉分解的启发提出RotatE 模型,将实体表示到复数空间,将关系表示成从头实体到尾实体的二维旋转变换,以学习与推理3 种关系模式;
文献[15]提出ConvE 模型,利用多层卷积网络进行链路预测,把头实体和关系转换为二维向量,并利用卷积层和全连接层获取交互信息,判断当前三元组的可信度。

协同过滤算法是诞生最早且应用广泛的一种推荐算法,主要功能是对用户喜好进行推荐与预测。文献[16]将半自动编码器与矩阵分解模型相融合,提取用户和物品的辅助信息特征,映射到矩阵分解模型中,以提升推荐效果;
文献[17]将协同过滤推荐算法应用于新闻推荐中,提高了新闻推荐性能。但是这些方法只利用了物品—用户评分矩阵的信息,而忽略了物品自身实际的内在信息;
文献[18]结合知识图谱实现一种新闻推荐模型DKN(Deep Knowledge-Aware Network),传统的新闻推荐算法仅从语义层对新闻进行表示学习,而忽略了新闻本身包含的知识层面的信息,将新闻的语义表示与知识表示相融合形成新的特征表示,以此进行用户新闻推荐;
文献[19]提出Ripple Net 模型,以用户偏好的物品作为原点,将实体和关系语义表示与路径链接信息相结合,将用户兴趣在知识图谱上传播,以达到抽取用户特征的目的。

矩阵分解能够通过不同的降维方法,解决推荐算法中的高稀疏性问题,挖掘用户偏好和隐含特征,从而提升算法的推荐性能。文献[20]认为相似的用户对项目有相似的偏好,并将经典的矩阵分解扩展为张量分解,其具有3个维度——用户、物品和方法,然后采用回归不连续性设计评估不同模型的估计效果;
文献[21]提出一种隐藏分层矩阵分解模型,从用户项目评级记录中学习隐藏的层次结构;
文献[22]提出一种矩阵分解模型,通过引入联合目标函数,在集体矩阵分解框架中共同分解用户的评级信息和社会信任信息。然而,矩阵分解技术存在处理稀疏矩阵能力较弱、计算相似度矩阵代价大的缺点。本文在矩阵分解技术的基础上,加入实体之间的语义相似度,使推荐性能得到提升。

通过以上研究,本文提出一种融合用户偏好与语义相似度的推荐算法,主要贡献如下:

(1)改进了协同过滤推荐算法,通过引入知识表示TransR 模型,将实体和关系数据表示在低维密集的空间中,实体向量化后可得到实体间的语义相似度,弥补了传统推荐算法只利用评分矩阵的不足,改善了推荐算法的效果。

(2)使用矩阵分解模型,挖掘用户偏好和隐含特征,通过计算两个低维矩阵的内积,预测用户评分矩阵的缺失值,并在目标函数中加入实体的语义相似度,使推荐性能得到进一步提升。

(3)在公开数据集MovieLens 上进行实验,将测试结果在多维度上进行比较,不断调节参数,使算法达到最优预测评分,并在准确率、召回率等评价指标上与对比算法进行比较。

2.1 知识表示学习

知识表示学习[23]主要面向知识图谱中的实体和关系进行表示学习,将实体间的语义信息表示为稠密低维实值向量。本文采用的TransR 模型认为不同关系侧重于实体的不同属性,当两个实体具有相似语义时,在实体空间中的距离则越近,但是特定的实体属性在不同关系空间下存在差异。

假设对于每个三元组(h,r,t),将头实体h和尾实体t通过映射矩阵Mr投影到r关系空间中,得到hr和tr。具体过程如式(1)-式(3)所示。

其中,h为头实体,t为尾实体,r为关系空间,Mr为映射矩阵,hr和tr为向量表示,fr(h,t)为损失函数。

2.2 矩阵分解

矩阵分解[24]是指把用户和项目都映射到一个K维空间中,每个用户对应项目不同的值,代表用户偏好。在矩阵分解过程中,把原来大矩阵近似分解为两个小矩阵的乘积,将R分解为U和V表示。内积U*VT能够补充R的缺失值,近似于重构矩阵R,如图1所示。

Fig.1 Decomposition of rating matrix图1 评分矩阵分解

将评分矩阵RMN分解为2 个K维矩阵:用户特征矩阵UMK和项目特征矩阵VNK,如式(4)所示。

其中,K为自己定义的较小维度。在矩阵UMK中,M为用户个数,K为用户特征维度,行向量表示用户的潜在特征向量;
在矩阵VNK中,N为项目个数,K为项目特征维度,行向量表示项目的潜在特征向量。目标函数如式(5)所示。

针对协同过滤推荐算法存在的不足,对推荐算法进行改进,在推荐算法中加入用户偏好和语义相似度,以提升改进算法的推荐效果。本文算法包括计算实体的语义相似度和矩阵分解挖掘用户偏好两部分,算法流程如图2所示。

Fig.2 Algorithm flow图2 算法流程

根据以上研究,在矩阵分解模型中融入实体语义相似度,可得出目标函数,如式(6)所示。

其中,d是TransR 模型训练出来的实体向量维度,相似度函数通过式(8)进行标准化处理并取正数。

为了使目标函数最小化,迭代更新采用梯度下降方法使U和V收敛,公式如下:

4.1 数据集

为测试算法在数据集上的推荐效果,实验采用公开数据集MovieLens[25]中的IM-1M 数据,包括电影属性、用户信息、用户电影评分等数据信息。其中,用户信息有3 900条,电影数量有6 040 部,用户评分有13 218 条。评分采用5 分制,评分越高,表明用户喜爱程度越高。实验采取随机抽样的方法进行训练与测试,使用80%的评分记录用于训练,20%的评分记录用于测试。

4.2 融合比例设定

对改进的算法进行测试,调整融合比例系数λ2,观察算法推荐效果,并选取合适的融合比例。选取近邻个数K=10,用户特征向量维度为100,项目特征向量维度为100,知识表示嵌入维度为100,λ1 为0.01,学习率为0.01,调整融合比例λ2 从10%至100%,每次增加10%,以验证改进算法的推荐效果。为避免单独一次实验带来的偶然性,每次调整近邻个数都进行3 次实验,最后的实验数据选取3次的均值。实验结果如图3 所示。从图3 可知,融合比例从10%至100%,评价指标先升后降,在融合比例λ2 为80%时,算法的推荐效果最好。通过实验结果可以发现,当λ2 不等于0 时,在推荐算法中融入用户偏好和语义相似度,能够提升算法推荐效果。

4.3 算法比较

Fig.3 Results of precision rate,recall rate and F1 -score图3 准确率、召回率、F1值结果

为验证改进算法的推荐效果,将对比算法CF 算法[26](Collaborative Filtering)、BRPMF 算 法[27](Bayesian Personalized Ranking Matrix Factorization)和改进算法KG-MF(Knowledge Graph Matrix Factorization)在数据集中进行实验对比。在改进的推荐算法KG-MF 中选取不同的近邻个数K 也会影响推荐效果。参数设置如下:用户特征向量维度为100,项目特征向量维度为100,知识表示嵌入维度为100,融合比例λ2 为0.8,学习率为0.01。选取初始近邻数K 为10,步长为10,并逐渐将K 增加至100,验证算法的推荐效果。为避免单独一次实验出现的偶然性,每次调整近邻个数都进行3 次实验,最后的实验数据选取3 次实验的均值。实验结果如图4-图6所示。

Fig.4 Accuracy under different neighbor numbers图4 不同近邻数下的准确率

Fig.5 Recall rate under different neighbor numbers图5 不同近邻数下的召回率

Fig.6 F1 values of different nearest neighbors图6 不同近邻数下的F1值

由图4-图6 可推断出,选取的近邻个数不同,算法推荐效果也会发生变化。在推荐算法中加入用户偏好和语义相似度,能够使改进算法的推荐效果得到提升。为验证改进算法KG-MF 与BRPMF 算法、CF 算法推荐性能的差异,选取近邻个数为100 时的实验结果进行比较,如表1 所示。由表1 可知,与BRPMF 算法相比,改进算法的准确率提升了8.09%,召回率提升了7.68%,F1 值提升了7.88%;
与CF 算法相比,改进算法的准确率提升了10.41%,召回率提升了3.4%,F1 值提升了9.52%。以上数据说明,在矩阵分解模型中融入实体间的语义相似度,能够提升推荐算法的推荐效果。改进算法的推荐效果优于对比算法,可弥补其它算法的不足。

Table 1 Comparison of experimental results表1 实验结果比较 %

针对协同过滤推荐算法存在的不足,本文提出一种融合用户偏好与语义相似度的推荐算法,将实体间的语义相似度与矩阵分解模型相结合,在矩阵分解模型的目标函数中加入实体的语义相似度,以提高协同过滤推荐算法的准确率。算法既利用了实体间的语义信息,又使用了外在的评分矩阵,弥补了没有考虑实体间潜在信息的缺点。研究结果表明,改进算法优于BRPMF 算法和CF 算法,提升了算法的推荐性能。本文算法使用电影数据集进行推荐,但尚不清楚将其应用于音乐、图书等其他领域的效果如何。在未来的工作中,将尝试把该算法应用于其他领域,并进一步优化推荐性能。

猜你喜欢语义实体维度理解“第三次理论飞跃”的三个维度当代陕西(2022年4期)2022-04-19语言与语义开放教育研究(2020年2期)2020-03-31浅论诗中“史”识的四个维度中华诗词(2019年7期)2019-11-25前海自贸区:金融服务实体中国外汇(2019年18期)2019-11-25实体的可感部分与实体——兼论亚里士多德分析实体的两种模式哲学评论(2017年1期)2017-07-31两会进行时:紧扣实体经济“钉钉子”领导决策信息(2017年9期)2017-05-04振兴实体经济地方如何“钉钉子”领导决策信息(2017年9期)2017-05-04“社会”一词的语义流动与新陈代谢中国社会历史评论(2016年2期)2016-06-27光的维度灯与照明(2016年4期)2016-06-05“上”与“下”语义的不对称性及其认知阐释现代语文(2016年21期)2016-05-25

推荐访问:语义 偏好 算法