基于知识图谱表示学习的协同过滤推荐算法
吴玺煜;陈启买;刘海;贺超波
【摘 要】针对协同过滤算法仅使用物品-用户评分矩阵而未考虑语义的问题,提出一种协同过滤推荐算法.使用知识图谱表示学习方法,将业界已有的语义数据嵌入一个低维的语义空间中.通过计算物品之间的语义相似性,将物品自身的语义信息融入协同过滤推荐.算法弥补了协同过滤算法没有考虑物品本身内涵知识的缺陷,在语义层面上增强了协同过滤推荐的效果.实验结果表明,该算法能够有效地提升协同过滤推荐的准确率、召回率和F值.
【期刊名称】《计算机工程》
【年(卷),期】2018(044)002
【总页数】8页(P226-232,263)
【关键词】协同过滤;知识图谱;表示学习;语义相似性;推荐系统大学英语六级查询
【作 者】吴玺煜;陈启买;刘海;贺超波
【作者单位】华南师范大学计算机学院,广州510631;华南师范大学计算机学院,广州510631;华南师范大学计算机学院,广州510631;仲恺农业工程学院信息科学与技术学院,广州510225
【正文语种】中 文
【中图分类】TP391
新视野大学英语读写教程第四册答案
0 概述
协同过滤是至今应用最广泛的推荐技术,已经成功地应用于电子商务[1]、网上学习[2]和新闻媒体[3]等工业界领域,在学术界内也一直受到大量学者关注。协同过滤推荐主要根据用户对资源的历史行为信息,寻找用户或者资源的近邻集合,以此来计算用户对资源的偏好值[4]。文献[5]将Facebook用户的个性数据融合进协同过滤中,用合并多领域数据集的方式提高了推荐的准确性。文献[6]从评分上下文信息着手,提出了一种融合奇异性和扩散过程的协同过滤模型,解决了信息过载问题。文献[7]融合了基于内容与协同过滤的推荐算法,提高了新闻推荐的性能。现有各种协同过滤算法都使用了用户隐性反馈数据(比如购买记录)、用户显
性反馈数据(比如评分)等信息,准确地将用户所需要的物品推荐给对方。然而这些算法主要利用物品-用户评分矩阵这一外在信息,尚未充分考虑物品自身的内在信息。随着知识图谱技术的发展,业界已经积累了大量开放的语义数据,如Freeba[8]、DBpedia[9],包含了物品丰富的内涵知识。将内涵知识和外在评分融合在一起,可以使得传统协同过滤推荐算法的信息更加完备。文献[10]尝试使用了知识图谱的结构特征,将本体融进协同过滤算法。现有研究表明,知识图谱表示学习方法能将知识图谱嵌入到一个低维语义空间中,可以利用连续数值的向量反映知识图谱的结构特征。这种方法可以高效地计算实体间的语义联系。文献[11]尝试将知识图谱表示学习算法与基于隐性反馈的协同过滤相结合,把原始数据转化为偏好序列进行参数学习,加强了协同过滤推荐算法的性能。
围绕上述背景,本文提出基于知识图谱表示学习的协同过滤推荐算法。算法的出发点与文献[11]相近,后者使用用户隐性反馈数据,而本文算法是针对用户显性反馈数据,即物品-用户评分矩阵。算法通过知识图谱表示学习算法TransE[12]获取物品的语义信息,计算物品之间的语义相似性,在推荐过程中融入物品的语义信息,更好地为用户进行推荐。
1 相关理论alteration
1.1 基于物品的协同过滤推荐
基于物品的协同过滤推荐[13]是一种基于最近邻的推荐系统算法,主要基于如下假设:用户倾向于喜欢相似的物品。在推荐系统中,算法通过计算物品之间的相似性,从而向用户推荐最合适的物品。整个推荐过程形式化表示如下:假设有m个用户U=(U1,U2,…, Um),n个物品I =(I1,I2,…,In),输入的数据集是一个m×n的物品-用户评分矩阵Rm×n:
(1)
其中,分数Rij为用户Ui对物品Ij的评分,且该评分代表用户i对物品j的喜好程度。矩阵元素之间的相似性度量主要采用余弦相似性实现,即通过计算两个向量之间夹角的余弦值,度量它们之间的相似性。假设A和B为2个向量,n是它们的维度,则它们的余弦相似性表示为:
(2)
该式计算结果的值越大,向量就越相似。当simcos(A,B)值为0表示两个向量完全不相似,1则是完全相似。
此外,针对物品-用户评分矩阵中评分相当稀疏的问题,文献[14]提出加入相似性权重重要性的策略,用于避免数值过分偏倚的问题。该方法采用了贝叶斯学派里收缩的思想,当只有少量评分用于相似性计算时,采取策略降低两者之间的相似性权重。因此,改进后的物品间相似性权重计算公式为:
(3)
欲望都市第四季motherboard其中,是对原始权重进行收缩后的相似性权重,对应于原始权重wij。|Uij|表示同时有|Uij|个人对于物品i和物品j进行评分。β是一个收缩系数,当|Uij|很小时,β起到一种收缩的作用。当|Uij|>>β时,则影响不大。
利用式(3),基于物品的协同过滤推荐算法将物品-用户评分矩阵转换成一个物品-物品相似性矩阵,并对这个相似性矩阵进行近邻选择。近邻选择是对U所挑选过的物品分别进行排序筛选,分为以下2个步骤:1)对于线下已经计算好的物品-物品相似性矩阵,进行预过滤近邻。2)对某一个用户,读取内存中的数据,使用Top-k进行选择推荐。推荐系统中用户和物品往往数量巨大,因此需要预先过滤物品间相似性度量的数量。本文采用了2种预过滤技术:Top-N过滤和阈值过滤。对于预测的评分,本文也使用了Top-k选择和正值选择,使推荐效果提高。广州瑜伽导师培训
1.2 知识图谱表示学习
文献[15]提出的Word2Vec模型,可以将词汇嵌入到一个K维空间。这种分布式表示掀起了一股表示学习的热潮。表示学习这一古老而又新颖的话题,又一次焕发出新的光彩。该算法的核心思想是利用类比性的优点,更好地发现词与词之间的相关性。文献[12]将该思想应用于知识图谱领域,提出了一种知识图谱表示学习算法TransE。该算法的核心思想是将知识图谱中的实体与关系嵌入到一个低维的向量空间里面去,同时将两者转化为向量表示。因此,从直观上看,相近的实体在空间里的向量表示也是相近的。更进一步,在语义上有联系的实体,在空间里也有所关联。
基于上述思想,能够通过知识图谱表示学习,对知识图谱中实体和关系进行语义表示学习,通过将富有语义信息的知识图谱三元组嵌进n维语义空间并生成对应向量,从而实现了知识图谱的数值化。通过知识图谱表示学习,可以快速计算两个实体间的语义相似性,并方便地将知识图谱用到其他学习任务中。知识图谱表示学习的实现主要有2种方法:1)基于张量分解的方法;2)翻译的方法。前者包括了NTN[16]、RESCAL[17]等。后者包括了TransE、TransH[18]、TransR/CTransR[19]等。对于Freeba这类关系数目众多而又非常稀疏的大规模知识库,基于张量分解的方法效果不佳,选择翻译方法[20]更为合适。
2 基于知识图谱表示学习的协同过滤推荐算法
本文提出了一种基于知识图谱表示学习的协同过滤推荐算法,其基本思想是:对于协同过滤计算出来的最近邻,系统推荐给用户;而对于该用户喜欢的物品在语义上相似的物品,系统也可以推荐给用户。相对于协同过滤推荐算法仅使用外部评分,加入内涵知识(知识图谱)会得到更好的效果,提高推荐的有效性。
利用知识图谱表示学习算法,将推荐的物品嵌入到一个低维空间,然后计算物品之间的语义相似性,生成语义相似性矩阵,最终可以得到物品的语义近邻。同时,通过调节融合比例,对语义近邻和协同过滤潜在物品按比例融合,利用丰富的语义数据一定程度上解决了推荐系统的冷启动问题。图1给出了本文算法(记为TransE-CF)的流程图。
图1 TransE-CF算法流程
2.1 融合语义近邻集合的协同推荐过程
怎么挽留对象2.1.1 基于TransE算法的知识图谱表示学习
survivor
对于一个典型的知识图谱来说,可以通过有向图表示的三元组,以及三元组之间的相互链接构成一个网状的知识集合,这种三元组携带着实体自身的语义信息。其中实体作为节点,实体之间的关系作为边。
以电影领域为例,电影实体中主要包括了演员、类型、导演等主要特征。这些特征从一定程度上概括了这部电影。利用电影特征,可以得到类似图2所示的一个电影知识图谱的三元组。
图2 知识图谱三元组
在图2中,电影实体Movie和演员实体Actor之间通过关联,构成三元组(M,starring_actor,A),再通过三元组之间的相互链接形成知识图谱。图3为Freeba中节选的部分电影及其属性所成的网状结构。从图3中可以看出,在知识图谱中越相似的2个节点,在语义上也往往十分接近。因此,对于电影推荐来说,不仅可以利用电影的用户评分信息,也可以使用电影自身的语义信息。协同过滤推荐认为两物品的用户评分分布相近,则它们被判定为近邻。同样地,如果该电影在知识图谱中相近,直观上也可以被判定为近邻。
图3 电影知识图谱
英语作文框架
基于上述思想,本文使用在翻译方法上有较好性能的TransE算法,增强协同推荐算法中物品-用户评分矩阵中物品的语义信息。按照TransE算法的定义,对于知识图谱S中的一个三元组(h, r, t),可以用式(4)所示的损失公式进行训练:
L= [γ+‖h+r-t‖-
baid‖h′+r-t′‖]+
(4)
其中,h′和t′是错误的三元组向量,作为训练的负样本。该类负样本是将TransE算法定义的正样本,也就是原来正确三元组的头实体或者尾实体随机替换成其他实体而得。γ为间距大小,一般设γ =1。符号[·]+表示合页损失函数,形式化描述如式(5)所示。
(5)
在整个训练过程中,TransE采用了最大间距的思想,拉开正样本和负样本向量之间的距离进行训练学习。通过随机梯度下降不断迭代,使损失函数达到最优。最终的训练结果是:1)在知
识图谱中相似的实体,在低维空间里面的距离相近;2)头节点的向量加上关系向量基本等于尾节点的向量。具体过程训练见文献[12]。