基于协同过滤知识图谱的图书推荐
2024-01-07孙进强肖银宝
孙进强 肖银宝
摘要:目前存在的图书推荐算法普遍都只考虑了读者对图书的评分等数据,忽略了图书的其他属性,并且这种推荐算法都会面临冷启动等问题。为了缓解图书推荐系统准确率低、可解释性差和数据稀疏等问题,本文将图书评分和图书标签数据相结合,实现图书的精准推荐。首先通过图书与图书标签之间的关系构建图书知识图谱,提取出图书与图书之间的关系,通过前文提到的算法模型计算推测出读者的读书偏好,还可以利用图书和读者之间的交互信息,通过协同过滤算法计算出读者偏好,综合上述两种方法得到推荐列表进行最终的TopK推荐。
关键词:图书;推荐系统;协同过滤;知识图谱
1概述
进入21世纪以来,互联网技术的快速发展、计算能力的快速提升,各行业中产生的大量数据开始受到学者、企业的重视,但用户在享受其带来的便利同时,也面临着信息过载、信息泄露等问题。用户在信息资源的快速不停地产生情况下无法准确获取自己需要的目标信息。推荐系统的出现,有效缓解了上述问题。而协同过滤算法利用协同信息推荐用户感兴趣的信息,被广泛运用于图书、电影、电商等领域。但在实际应用过程中,协同过滤的数据稀疏问题严重,实际的推荐效果并不理想。为此,学者们提出了在协同过滤算法中添加各种辅助信息来解决这个问题。
2研究方案
分析图书数据集的数据构成,设计图书知识图谱的实体、关系、属性以及标签的结构,从图书数据集中抽取出知识语义信息,并对知识语义信息进行预处理。对错误、缺失信息进行合理化处理,直接提取出实体信息,预定义实体之间的关系,对实体进行抽取找到匹配关系,并将实体和关系信息存入图形数据库中。通过低维的图形化表示来直观地显示出高维语义信息,以此设计并构建图书推荐模型并进行验证。
构建基于知识图谱与协同过滤的推荐模型之前,首先需要考虑其主要的目标需求和重点难点,并调研实际应用中不同类别信息对用户做出选择的影响程度因子,确定问题的输入、输出、约束以及边界条件,通过对问题的目标函数、约束条件等进行梳理,设计适合图书推荐的推荐模型。
根据软件工程中的相关概念,在设计系统软件时首先需要进行需求分析,得到完整的需求定义,从而避免后续开发时的不断修改任务需求,可以减少开发周期。
3知识图谱和协同过滤算法的引进
个性化推荐的基础原理就是通过采集用户的信息以及相关行为进行分析推测,以此为基础向用户推荐其感兴趣的项目,例如在短视频行业中,用户的点赞记录、兴趣爱好等都会被推荐系统抓取,用来提高服务质量,提高用户黏性。而传统的推荐算法有:协同过滤算法、基于内容的推荐算法、混合推荐算法等。
协同过滤算法的原理是计算两两个体之间的相似度分析预测用户可能感兴趣的项目,从而快速准确地实现将合适的项目推荐给合适的用户。协同过滤算法按照根据主体可划分为基于项目的协同过滤推荐(ICF)、基于用户的协同过滤(UCF)以及基于模型的协同过滤(MCF)。前两种方法都是利用“用户—项目评分矩阵”进行推荐,本文主要采用的是基于用户的协同过滤推荐算法。
如图1所示,在推荐系统中根据用户对项目的评分可以得到如下的“用户项目评分矩阵”,矩阵中的元素值就是特定用户对特定项目的评分,“*”代表用户并未对此项目进行评分,将该矩阵通过训练得到用户模型,从中选取出与目标用户最相似的n个用户,从而为目标用户进行推荐。但在实际运用过程时发现用户对项目评分的数量较少,形成的该矩阵非常稀疏。
基于用户的协同过滤是利用每个用户对同一个项目的不同感兴趣程度,计算出两两用户之间的相似度找到每个用户的相似用户集,在相似用户集的感兴趣项目集合中预测推荐用户感兴趣的项目,其工作原理如图2所示,UserB和UserC相似,他们的兴趣爱好很大程度相似,而UserB喜欢Bookb,所以推测UserC大概率也会喜欢Bookb,所以给他推荐这本书。
其工作流程:
Step1:采用余弦相似度计算公式计算任意两个用户之间的相似度
Wμv=N(μ)∩N(v)N(μ)N(v)(1)
Ssep2:建立一张用户相似度表,其中保存任意两个用户之间的相似度,方便后续挑选出若干个与目标用户最相似的用户。
Step3:采用如下公式度量用户μ对物品i的感兴趣程度。
p(μ,i)=∑v∈S(μ,K)∩N(i)WμvRvi(2)
其中S(μ,K)表示与用户μ最相似的K个用户,将与用户μ相似的用户列表按照相似度進行排序就可以得到,N(i)表示喜欢物品i的用户集合,Wμv是用户μ和用户v之间的相似度,Rvi表示用户v对物品i的兴趣。
Step4:对于与用户μ最相似的k个用户,分别计算用户μ与这k个用户喜欢的物品集合In,n∈1,2,…,N之间的感兴趣程度,得到用户μ对这N个物品的感兴趣程度排序列表,取前m个物品推荐给用户μ。
知识图谱(KnowledgeGraph,KG)是由节点和边组成的语义网络图,包含丰富的语义知识被广泛应用到搜索引擎、推荐系统、智能问答等领域。其运用在推荐系统上具有准确率高、可解释强等优点,其按照运用方向可以分为两类,其中最普遍的就是项目知识图谱,此外还可以将用户—项目之间存在的各种关系类型转换为图谱可表达的关系,在此基础上搭建出用户—项目关系的知识图谱,根据其图谱上距离计算相似度从而进行推荐。图书的知识图谱示例图如下图3所示
图3图书知识图谱
知识图谱是由一条条基础知识表达构成的,其中每条知识都可以用一个三元组表达:(实体,关系,实体)或(实体,属性,属性值),例如,某作者与《××》就是通过“作者”关系建立一个三元组表达的知识,2012年与《××》通过“出版时间”属性建立一个三元组。多个这类三元组之间相互关联,从而形成了一个关于图书的知识图谱。根据这种规则搭建的图书知识图谱,那么两两图书在图谱中距离就可以代表这两本图书之间的相似性。
目前利用知识图谱进行推荐主要采用知识图谱嵌入、路径实例挖掘以及高阶信息聚合三种技术。其中知识图谱嵌入法的主要思想是利用图谱嵌入技术获取用户和项目的图谱表示,Wang在论文中将知识图谱嵌入技术详细分成两种:基于语义匹配的嵌入和基于距离的翻译嵌入。基于距离的翻译嵌入模型将实体和关系分别以低维向量表示,这是训练知识图谱中Trans系列算法普遍采用的函数思想,即:
h+r≈t(3)
其中h,t分别代表知识图谱中的头实体和尾实体的向量,r代表关系的向量。Trans系列方法主要有TransE、TransH以及TransR等。本文的知识图谱技术主要采用基于距离的翻译嵌入TransE算法,其示意图如图4所示。
给定图书的知识图谱(h,r,t),其中h为头实体集合,t为尾实体集合,r为关系集合。然后将实体和关系在各自的空间中(实体空间和关系空间)表示为向量,使知识图谱中的每个三元组的实体向量和关系向量满足公式三:即如果三元组是正确的,则头实体向量加上关系向量的结果应该和尾实体向量极为接近;反之,头实体向量和关系向量的加和应该与尾实体向量相差很多。基于此,TransE算法的目标函数设计为:
L=∑(h,r,t)∈S∑(h′,r′,t′∈S′)γ+d(h+r,t)-d(h′+r,t′)+(4)
其中h表示正确的三元组集合,h′表示错误的三元组集合,γ表示正负样本之间的间距,是一个常数,x+表示max0,x,通常为了训练方便且避免过拟合问题,会加上约束条件
模型优化过程为最小化目标函数L,即此时d(h+l,t)的值小,d(h′+l,t′)的值大,同时采用随机梯度下降(SGD加速优化过程,其算法主要可分为三步,伪代码描述如下图5所示:
Step1:对源数据进行预处理,设计实体以及关系。
Step2:对实体以及关系进行抽取,初始化头实体、尾实体和关系向量,并对初始化向量做归一化处理,构建图书的知识图谱。
Step3:对数据集中的三元组抽样,并对抽样出来的三元组进行实体替换,形成负样本。
Step4:优化目标函数,得到实体和关系的向量表示。
混合推荐系统是采用多种推荐方式相结合产生的,将各种推荐方式的优点融合在一起。混合推荐技术可以分为推荐算法的混合技术和推荐结果的混合技术。推荐算法的混合是将不同的推荐算法融合在一起,从而改善嵌入向量的计算过程,以此来获得更加优质的推荐结果。推荐结果的混合式指通过不同的推荐方式,得到多个推荐结果,再通过不同的参数将每个推荐技术的推荐结果合并至最终的推荐结果列表中,以达到最优的推荐结果。
结语
通过对读者兴趣爱好进行合适表达,基于协同过滤算法和知识图谱构建出适合图书的推荐模型,在实践中反复验证并改进,以提升推荐系统的运行速度和准确率,主要是在传统的协同过滤算法基础上融合了知识图谱技术,弥补了协同过滤算法的不足;对参数进行多次调优,使之符合图书推荐系统的特点,符合用户对图书推荐的期望,在推荐效果上优于单一技术应用的使用;搭建系统的客户端和服务,为读者提供可视化界面。
参考文献:
[1]赵俊逸,庄福振,敖翔,等.协同过滤推荐系统综述[J].信息安全学报,2021,6(05):1734.
[2]黄勃,严非凡,张昊,等.推荐系统研究进展与应用[J].武汉大学学报(理学版),2021,67(06):503516.
[3]刘佳奇,王全民.基于改进的用户协同过滤算法的高校个性化图书推荐系统[J].计算机与数字工程,2020,48(10):24582461.
[4]于洪,李俊华.一种解决新项目冷启动问题的推荐算法[J].软件学报,2015,26(06):13951408.
[5]赵杰.基于改进用户兴趣模型的个性化圖书推荐算法(英文)[J].机床与液压,2018,46(06):193198.
[6]邹海涛,陈沁梅.基于信任网络与协同过滤的自适应推荐模型研究[J].江苏科技大学学报(自然科学版),2019,33(04):4550.
[7]刘峤,李杨,段宏,等.知识图谱构建技术综述[J].计算机研究与发展,2016,53(03):582600.
[8]VrandeCˇiC'D,KrtzschM.Wikidata:afreecollaborativeknowledgebase[J].CommunicationsoftheACM,2014,57(10):7885.
[9]李雪婷,杨抒,赛亚热·迪力夏提,等.融合内容与协同过滤的混合推荐算法应用研究[J].计算机技术与发展,2021,31(10):2429+37.
项目:广东高校重点领域专项新一代信息技术重点领域专项项目(编号:2021ZDZX1019)
作者简介:孙进强(1999—),男,汉族,安徽安庆人,硕士研究生在读,专业:人工智能,研究方向:大数据应用;肖银宝(1973—),男,汉族,云南昆明人,硕士,助理研究员,研究方向:科技管理及信息化。