论文部分内容阅读
大数据时代,推荐系统通过分析用户历史行为数据发掘其潜在需求,从而为用户推荐其感兴趣的信息,以有效解决信息过载问题。传统的推荐算法,存在互动数据稀疏等问题。利用不同类型辅助信息对推荐算法进行多角度信息补充能够解决以上问题,从而提升算法准确率。将知识图谱作为辅助信息整合至推荐算法中,不仅能够为算法引入更多语义关系从而提升其推荐准确性,而且为推荐结果可解释带来可能。基于图谱中路径的推荐是目前基于知识图谱的推荐算法的主流方法。现有工作一般将路径看作实体序列,按照自路径起点至路径终点的顺序将实体表示输入至循环神经网络中学习路径表示。因此,实体表示学习和路径表示学习的质量会直接影响推荐性能。基于循环神经网络的学习路径表示的推荐算法取得了一系列研究成果,但是在实体表示学习和路径表示学习等方面仍有提升空间。现有工作所采用的实体表示学习方法往往只关注三元组内的实体和关系,没有考虑邻域实体等信息,影响了实体表示学习的效果。此外,现有工作在学习路径表示时,往往受限于循环神经网络的结构,只能学习实体间的顺序依赖关系,缺乏了对路径中非相邻实体间直接依赖关系的考虑,导致路径表示学习不够充分。为了解决以上问题,本文提出了一种利用自注意力机制学习路径表示的基于知识图谱的可解释推荐算法KTRec。具体贡献如下:(1)本文设计了一种结合图卷积网络和矩阵分解的预训练方法来学习实体表示,使其表示结合了知识图谱中的辅助信息、隐式反馈及显式反馈中的用户历史偏好信息。(2)本文提出了一种利用自注意力机制学习路径表示的方法,利用Transformer模型的自注意力机制计算路径中每个实体表示与所有实体表示间的注意力分布,并根据该分布生成路径表示,充分考虑路径中实体间的依赖关系,提高路径表示学习的质量。(3)本文设计了一种基于双重注意力机制的优化路径表示方法,通过设置用户注意力模块和物品注意力模块,结合用户和物品特征进一步优化路径表示。实验结果表明,与现有工作相比,本文提出的KTRec算法获得了更好的推荐性能。除此之外,本文还设计了一个基于知识图谱的可解释推荐原型系统,为用户提供基于KTRec算法的个性化可解释推荐服务,具体包括Web展示模块、推荐模型模块和数据模块。其中,推荐模型模块包括推荐模型的训练、候选召回和排序等服务;数据模块包括数据收集和数据存储等功能。经过对系统中各个模块的设计与实现,测试结果表明该系统在功能和非功能两方面均符合需求分析阶段的预期效果。