刘伟江 郝一哲
DOI:10.3969/j.issn.1008—0821.2021.09.007
[中图分类号]TP391 [文献标识码]A [文章编号]1008-0821(2021)09-0064-10
随着信息技术的发展,以数据分析为基础的推荐系统应用领域不断拓展,如根据用户信息的购物推荐;针对交互历史数据的音乐、电影推荐等。在现有推荐模型研究基础上,针对以往推荐模型面临的数据稀疏和冷启动、训练数据逻辑关联不足、推荐结果可解释性低等问题,研究人员逐渐将知识图谱技术引入推荐系统中。
知识图谱(Knowledge Graph,KG)概念最早由美国Google公司提出并逐渐发展为一种表达实体间语义关系的知识库工具。现阶段,伴随着互联网技术的进步,许多团体已经构建了包含大量实体信息的知识图谱,如DBpedia、CN-DBpedia、YAGO KG、Freebase KG、Microsoft Satori等通用知识图谱。在推荐系统中引入知识图谱可以丰富项目与项目、用户与用户以及项目与用户的关联信息,并可借助其语义推理功能提取原始输入数据间的逻辑关系,以提高推荐系统的工作性能。此外,由于储存在知识图谱中的实体间语义关系种类具有多样性,推荐系统中某个用户与实体间的交互数据往往可以在知识图谱中从一个项目实体出发,沿着不同的语义关系延伸到不同类型的项目实体,从而扩大用户的潜在兴趣种类和范围,提高推荐系统输出结果的合理性;同时,知识图谱的语义关系与推荐系统的输入数据相结合可提高推荐系统输出结果的可解释性,改善商家推荐服务的接受度与用户满意度。因此,许多学者将知识图谱与推荐系统结合提高推荐性能:Yang D等利用Metapath2Vec模型,将知识图谱中的实体节点作为模型输入,提高推荐系统的精准率:Zhang FZ等提出的CKE模型可对知识图谱进行特征学习,并将学习结果结合协同过滤模型实现推荐。类似结合知识图谱的推荐模型只将知识图谱特征化,但推荐结果的可解释性和逻辑性仍有欠缺,因此Wang H等基于已构建的知识图谱提出了“偏好扩散”的思想构建“Rip-pleNet模型”,此模型利用知识推理功能判断用户潜在偏好向用户推荐,即用户对某项事物的偏好信息可以借助知识图谱节点间语义关系在节点之间传播,再通过实体节点和语义关系特征刻画用户偏好,此方法取得良好的效果并广泛引用。
本文以RippleNet模型为基础,考虑到模型根据随机选取定量节点的机制更新用户偏好数据集的过程会导致每次更新的元素节点与上层潜在偏好节点之间的语义逻辑性偏低,并且在随机更新过程中会出现用户偏好失真,这种失真会在偏好数据集中逐层放大,进而影响用户偏好的刻画。此外,训练RippleNet模型的用户评分数据属于一种隐式反馈数据,此评分数据通过阈值设定方式进一步被转换为显式评分数据,在这一转换过程中,数据噪声的存在会影响最后的推荐质量。Yera R等认为未经过噪声处理的原始隐式交互数据会影响推荐结果的精准率。赵明等和郭伟等为了降低训练数据对推荐模型性能的影响,将识别的噪声删除,却提高了数据稀疏性。基于此,本文从以下两方面对RippleNet模型进行优化,以期提高推荐结果的精准度。首先,统计已构建知识图谱中各类语义关系词频,用户偏好扩散时,其偏好数据集会优先选择与起始节点在知识图谱中高语义词频语义关系连接的下层节点进行更新,保证用户偏好按照较强的语义逻辑进行扩散,从而改进数据集更新过程节点选择的随机性;其次,本文分别设置一个低分阈值和高分阈值,将显式评分数据中用户和项目划分为高、中、低评分类,按照高评分用户评价过的高评分项目会得到高评分的逻辑(中、低评分类也具有类似逻辑)对原始评分数据集进行噪声的识别和修正工作。因此,本文拟利用偏好传播规则限制用户偏好数据集的随机性的同时,通过识别并修正噪声提高训练数据质量来提高模型的推荐性能。
1相关工作概述
1.1知识图谱
知识图谱中的节点代表了一定范围内的实体,节点间的连线则表示一个实体和另一个实体的语义知识关系,实际上,可以将知识图谱理解为一个由实体和实体间语义关系构成的有向异构网络图。首先,知识图谱可以将现实中的事物实体以及事物间的关系抽象为节点与连线,从而构成“图谱”的表现形式,直观表达抽象对象的关联信息;其次,知识图谱可以根据实体节点间相互联系的语义关系对多个抽象对象进行“知识”表达。
1.2基于知识图谱的RippleNet推荐模型
RippleNet推荐模型是一种基于知识图谱推荐的端到端模型框架,它以用户一项目对作为输入,输出用户交互(如点击、浏览)物品的概率,该模型通过分析知识图谱中节点和语义关系获得节点间深层次的潜在关系,并结合物品推荐思想在知识图谱中获得用户的潜在偏好信息。
RippleNet模型的关键思想是用户偏好扩散:该模型将每个用户历史兴趣或者已有交互历史的实体作为知识图谱中的一个种子集,用户偏好从种子集出发并沿着知识图谱的语义关系连接进行迭代,扩展用户的兴趣并发现用户对某个候选节点的潜在兴趣,通过用户偏好在知识图谱中的扩散过程获得用户的偏好数据集。如图1所示,某用户看过由James Cameron执导的电影《Titanic》,而该导演执导过电影《Avatar》,另外《Titanic》中演员Leo-nardo DiCaprio也参演过《Inception》。根据“偏好扩散”思想,该用户就有可能因为偏好演员Leo-nardo DiCaprio而喜欢《Inception》,也可能因为对导演James Cameron的偏好而喜欢《Avatar》。
1)类似于由多个雨滴产生的真实涟漪,用户对实体的潜在兴趣是由其历史偏好逐层扩散,并沿着知识图谱中的语义关系由近及远传播,通过图2所示的同心圆对“涟漪”进行可视化类比。
2)用户在偏好集合中的潜在偏好强度随着跳数k增加而减弱,这与真实纹波振幅逐渐衰减的情况相似。图2中逐渐变淡的绿色显示了中心和周围实体间逐渐减少的相关性。
2 RippleNet模型优化
RippleNet模型对每一位用户的偏好刻画都来源于用户偏好数据中的信息,用户偏好数据集的质量会直接影响模型性能。RippleNet模型中随机选取节点的方式会使用户偏好数据集具有不确定性,从而导致用户偏好的不稳定,进而直接影响推荐结果准确性;另外,原模型未考虑评分数据噪声对推荐结果的影响,存在于评分数据中的噪声会降低数据质量,从根本上影响模型对用户偏好的刻画。所以RippleNet模型優化主要由偏好扩散制定和评分数据噪声识别与修正两部分组成。
2.1偏好扩散规则制定