田 萱,陈杭雪
1.北京林业大学 信息学院,北京100083
2.国家林业草原林业智能信息处理工程技术研究中心,北京100083
推荐算法的核心目标是满足用户个性化需求提供个性化推荐。当前推荐算法通常具有较差可解释性、冷启动问题和序列化推荐模型难以建模等局限性,目前许多研究者尝试通过添加其他辅助信息来解决上述问题。其中,知识图谱(knowledge graph,KG)蕴含丰富的结构化知识和语义信息,已经成为有效补充推荐数据的主要方式之一。常见的知识图谱有Freebase、DBpedia、YAGO和NELL等。近年来随着相关技术发展迅速,知识图谱也被广泛应用于不同的推荐应用中。
知识图谱是由实体和关系组成的多关系图,通常用三元组来表示。虽然三元组在结构化数据表示上较为有效,但其潜在的符号特性通常使得知识图谱较难真正融合到实际应用中。为解决该问题,知识图谱嵌入(knowledge graph embedding,KGE)被提出,并在推荐系统中获得大量关注。其核心思想是将知识图谱中的实体和关系嵌入到连续空间中获得相应的嵌入表示,并用于扩充推荐系统中项目和用户语义表征。
在已有研究中,Wang 等曾系统回顾了知识图谱嵌入技术,介绍了各种模型框架、训练过程及优缺点;秦川等对基于知识图谱的推荐系统进行了梳理,将方法进行分类并总结了其在推荐中的应用;朱冬亮等将用于推荐的知识图谱方法分为基于连接、基于嵌入和基于混合三类。与以往只关注知识图谱单独应用的研究工作相比,本文特色主要体现在将知识图谱嵌入视为整个推荐过程中的上游任务,首先总结归纳出KGE 的四类应用目的,然后从推荐任务的多样性角度出发全面综述了KGE 与下游任务中不同算法的创新融合方式。
推荐系统中存在着推荐可解释性差、冷启动和用户动态偏好难以建模等经典问题。可解释推荐(explainable recommendation)在输出推荐列表的同时生成推荐结果解释,旨在提高推荐结果的说服力、可信度和用户满意度;面对系统中新用户或新项目交互数据稀疏性导致的冷启动问题,近年来越来越多的研究者通过添加辅助信息缓解推荐数据的稀疏性;不同于传统推荐系统以静态的方式建模用户和项目间的交互,序列化推荐(sequential recommendation)旨在将交互建模为动态序列进而挖掘更全面的用户偏好。目前,通过嵌入KG 中包含的结构化实体知识和丰富关系,或探索推荐产生的原因以生成更直观和有针对性的解释,或增强推荐数据的表示以缓解冷启动问题,或建模动态且细粒度的用户偏好以提升序列化推荐性能,KGE 应用逐渐成为推荐领域的研究焦点。因此本文重点分析梳理KGE 方法在上述推荐任务中的创新应用,深入探索其与下游方法的应用策略及特征。
在充分调研近年来基于知识图谱嵌入方法的推荐相关研究之后,将可解释推荐、序列化推荐以及面向冷启动的推荐任务中KGE 方法的应用目的归纳总结为以下四类:(1)增强项目或项目属性的表示,利用KG 实体和关系信息丰富推荐系统中对应数据的表示。(2)增强用户和项目关联的表示,利用KG 蕴含的丰富语义增强数据表示并通过其高阶链接探索用户和项目的潜在交互。(3)丰富用户交互信息,结合用户-项目二部图和知识图谱生成协同知识图谱(collaborative knowledge graph,CKG),利用KG 语义信息和高阶结构特征丰富用户-项目交互信息。(4)增强特定领域的数据表示,构造特定领域的知识图谱以提升推荐过程中的数据表示质量(如音乐推荐、新闻推荐等)。
事实上,KGE 在推荐过程中大都属于上游任务,探索其与下游任务中不同方法的融合方式及应用特征是本文研究的创新和焦点所在。目前不同推荐任务中KGE 应用的下游任务方法涵盖多个领域的先进模型,如马尔可夫决策过程(Markov decision process,MDP)、长短期记忆神经网络(long short-term memory,LSTM)和卷积神经网络(convolutional neural networks,CNN)等。
不同于只关注知识图谱单独应用的已有研究工作,本文从KGE 方法自身的分类及其与下游任务中方法的创新融合两个角度出发进行梳理归纳,综述了知识图谱在不同推荐任务的使用策略和应用特征。借鉴文献[18]对知识图谱方法的划分标准,本文将KGE 方法进一步分为传统嵌入方法、嵌入传播方法、异质图嵌入和基于图神经网络四类,图1 展示了推荐任务中不同KGE 方法与下游应用方法的创新融合应用特征。
图1 面向不同推荐任务中的KGE 方法及应用Fig.1 KGE method and application for different recommendation tasks
其中,传统嵌入方法定义评分函数学习知识图谱中实体和关系表示,可分为平移距离模型和语义匹配模型,常见方法有TransE、TransH、TransR和TransD。嵌入传播方法则在其基础上引入路径推理建模实体间的多步关系路径,通过实体间的高阶连通性传播相邻节点语义以挖掘用户潜在兴趣,为提升推荐性能和可解释性提供了新途径。此外,在一些真实场景下构建的知识图谱是模式丰富的异质图,包含多类型实体和关系,嵌入异质图有助于发现隐含交互行为以全面刻画用户特征。图神经网络(graph neural networks,GNN)可以有效整合KG 结构特征及属性特征,利用其强大的信息传播能力学习项目间语义关系和用户潜在偏好,主要包括图卷积网络(graph convolutional network,GCN)和图注意力网络(graph attention network,GAT)两类方法。
综上所述,四类知识图谱嵌入方法在可解释推荐、序列化推荐以及面向冷启动的推荐任务中均有广泛应用,涵盖了电影、音乐、图书、电子商务、商业以及新闻等不同领域。其中,电影推荐常用数据集有MovieLens 和DouBan Movie;音乐推荐有Last.FM;图 书推荐包含Douban Book、Amazon Book、Book-Crossing 和Intent Book;电子商务推荐数据集主要来源于电商网站Amazon;商业推荐有Yelp 和Dianping-Food;新闻推荐有MIND、Bing News 和Adressa 等数据集。鉴于上述数据集在相关综述文献中已有详细的介绍,本文将不再赘述。
KGE 方法通过增强项目语义或建模细粒度用户偏好有助于提升推荐可解释性,目前常用的方法包括传统嵌入方法、嵌入传播方法和基于图神经网络的方法,本文将其概括如表1 所示。
TransE 作为最具代表性的平移距离模型,经常被用于推荐系统中的知识图谱嵌入以提升推荐可解释性。Ai 等提出基于知识图谱的协同过滤架构(explainable collaborative filtering over knowledge graph,ECFKG),采用TransE 建模多类型用户行为和项目属性并将协同关系编码为关系图结构,在其基础上延伸协同过滤算法(collaborative filtering,CF)学习实体表示以挖掘潜在用户偏好。进一步设计软匹配算法寻找用户到项目的解释路径,结合广度优先搜索和软匹配公式计算路径概率得到最佳路径以生成推荐的自然语言解释。Tian 等联合知识剪枝和循环图卷积设计推荐算法(knowledge pruning based recurrent graph convolutional network,Kopra),采用TransE 嵌入用户点击历史新闻标题和摘要中包含的重要实体,并设计循环图卷积网络(recurrent graph convolution,RGC)聚合实体上下文信息构建用户兴趣图。RGC通过知识剪枝策略识别KG 中相关性高的实体进一步丰富和修正用户兴趣图,从而推导出用户的长期和短期偏好表示,更细粒度地提升了推荐的因果解释。Zhang 等提出基于KG 的协同过滤算法(collaborative filtering with knowledge graph,CFKG),定义多类型的实体和关系描述用户交互中的项目属性和异质关系并采用TransE 将其嵌入到连续向量空间中,进一步扩展协同过滤学习嵌入表示以挖掘潜在的用户偏好,有效提升了推荐结果的可解释性。
此外,还有研究者利用TransE增强新闻文档表示和双曲空间建模。Liu 等提出知识感知的新闻文档表示增强模型(knowledge-aware representation enhancement model for news documents,KRED),如图2 所示。KRED 首先采用TransE 嵌入知识图谱并使用图神经网络聚合实体邻域信息,然后设计上下文嵌入层来标注实体的类别、位置和频率等信息,最后基于注意力机制聚合得到的信息获得增强后的新闻文档表示。KRED 从多角度增强新闻文档的表示,同时为提升推荐可解释性提供了新思路。Ma 等提出在双曲空间中建模KG 的方法Hyper-Know(knowledgeenhanced recommendation model in hyperbolic space),采用TransE 将知识图谱映射到双曲空间Poincaré Ball中建模实体之间的关系,并设计双曲注意力网络带权聚合实体邻域信息,通过衡量相邻实体的相对重要性增强用户偏好理解以提升推荐可解释性。
图2 KRED 模型的三个关键层Fig.2 Three key layers of KRED model
也有研究者采用TransH 实现可解释推荐任务中的知识图谱嵌入,避免了TransE建模一对多和多对多等复杂关系时性能较差的局限性。Cao等提出知识增强的用户偏好模型(knowledge-enhanced translationbased user preference model,KTUP),由基于TransH的知识图谱嵌入模块和基于翻译的用户偏好模型组成,利用KG 丰富用户偏好和项目表示,并通过联合学习挖掘更细粒度的用户偏好以提升推荐可解释性。
知识图谱中的路径信息蕴含着实体间的高阶链接语义,与传统嵌入方法相结合可形成嵌入传播方法,有助于挖掘细粒度的用户偏好以提升推荐可解释性。Ma 等提出RuleRec(jointly learning explainable rules for recommendation),基于KG 实体间路径的链接关系抽取规则表示并推导出项目对间的规则集和规则权重,进一步结合用户交互历史生成推荐列表。RuleRec 基于规则集更好地理解用户偏好,有效提升了推荐可解释性。Palumbo 等提出entity2rec 模型,采用随机游走策略构建多个以项目属性为中心的KG 子图,使用node2vec学习其嵌入表示,通过加权属性的多个相关性得分为推荐生成直观的解释。Wang 等提出了一种融合KG 嵌入和路径挖掘的方法RippleNet,如图3 所示。RippleNet 首先获得与用户点击历史中项目相对应的KG 多跳实体集,然后沿着KG 高阶链接扩展实体以捕获用户潜在兴趣偏好,为增强推荐可解释性提供了新观点。基于RippleNet偏好传播的理念,Lin 等提出一种结合项目嵌入和路径推理的方法(combine item embedding and path attention,CIEPA),基于KG 高阶链接传播实体嵌入,并在传播过程中结合项目嵌入和路径注意力权重捕获细粒度的用户偏好,使用LSTM 预测用户对项目的潜在兴趣。CIEPA 根据不同路径的重要性程度推断用户交互原因,为推荐结果提供了可靠的解释,并有效提升了计算性能和推荐精度。
图3 RippleNet模型总体框架Fig.3 Overall framework of RippleNet
针对RippleNet传播过程中大规模迭代运算产生的高计算成本问题,Wang 等则提出一个知识感知路径递归网络(knowledge-aware path recurrent network,KPRN)。基于KG 生成用户-项目对的路径表示,采用LSTM 生成路径的语义表示并根据其重要性赋予权重,在细粒度上提升了推荐可解释性。考虑到可解释推荐中普遍存在的推荐不公平现象,Fu 等提出一种公平性感知算法,利用KG 实体间的高阶链接丰富用户历史交互,设计公平性感知排序框架学习用户到项目的多个路径表示,通过对其进行重排序获得高质量的可解释推荐列表。模型在保证解释多样性的同时有效提升了推荐公平性。不同于以往利用KG 建立预测模型的研究,Wang 等创新性地提出基于KG 的网络结构(knowledge graph policy network,KGPolicy)探索可解释推荐中的高质量负样本,设计邻居注意力模块和剪枝策略联合学习KG 嵌入,利用KG 实体间的链接关系探索负样本进而更准确地训练模型,提升了推荐结果的可解释性。
为了更高效挖掘KG 高阶语义,研究者们提出基于强化学习设计路径推理策略以提升推荐可解释性。Xian 等提出基于KGE 的策略导向路径推理方法(policy-guided path reasoning,PGPR),通过与KG环境交互探索用户到潜在感兴趣项目的最优路径推理策略,模型架构如图4 所示。PGPR 创新在于将推荐问题形式化为知识图谱上的MDP 过程,并设计了奖励机制、用户动作修剪策略和多跳评分函数挖掘推荐候选项目及路径。PGPR 首次采用基于KG 的强化学习方法实现可解释推荐任务中的路径推理,多个数据集上的指标均有显著改进。
图4 PGPR 模型实现推荐的传递途径Fig.4 Pipeline of policy-guided path reasoning method for recommendation
基于PGPR将推荐过程形式为MDP的理念,Zhao等基于KGE 提出路径推理框架ADAC(adversarial actor-critic)用于提升推荐可解释性,利用抽取得到的元路径自动识别可解释的推理路径,并联合用户历史偏好优化寻径策略,其性能相比PGPR 有进一步提升。Tao 等提出多模态知识感知的强化学习网络(multi-modal knowledge-aware reinforcement learning network,MKRLN),利用多模态KG 中包含的结构和视觉信息生成推荐的路径表示,实现在真实场景中进行可解释的视觉推理和知识推理。相比KGPolicy 和PGPR 采用动作修剪策略以人为方式减少动作空间,MKRLN 设计分层注意路径机制过滤无关项目,具有更高的效率和精度。Liu 等提出一种基于KG 的新闻推荐推理范式AnchorKG(anchor knowledge graph),基于知识图谱为每篇新闻文章生成一个包含其关键实体和关系的主题感知子图。其核心在于利用强化学习技术MDP 训练子图的生成过程,进而根据两个子图中的重叠实体和关系构建新闻文章之间可解释的推理路径,有效提高了新闻文档表示质量和推荐效率。
随着深度学习技术的发展,图神经网络被越来越多应用在基于知识图谱的可解释推荐中。Yang 等提出图卷积网络模型HAGERec(hierarchical attention graph convolutional network incorporating knowledge graph for explainable recommendation),基于GCN 设计双向实体传播策略学习KG 高阶语义,通过分层注意力机制准确挖掘用户潜在偏好提升推荐可解释性,不同数据集上的实验结果相比RippleNet 等基线都有显著改进。Liu 等提出联合因子发现和嵌入学习的可解释推荐模型,梳理出嵌入表示的层次因子并融入到GCN 中,通过学习用户和项目在不同层次上的特征表示增强推荐可解释性。Cao 等则基于GCN 和知识图谱提出一种描述增强的推荐方法(description enhanced knowledge graph recommendation,DEKR),采用KGNN(knowledge graph neural network)聚合实体的高阶邻域信息并结合文本协同过滤(text-based collaborative filtering,TextCF)增强实体的文本语义,利用文本描述为推荐提供了可靠的解释。Zhang 等提出知识感知的图卷积网络(knowledge-aware representation graph convolutional network for recommendation,KCRec),根据KG 中各种关系的不同重要性聚合并传播用户特征和项目属性,通过准确建模用户的高阶兴趣提升了推荐结果的可解释性。Xia 等则基于KG 提出分层图转换网络(knowledge-enhanced hierarchical graph transformer network,KHGT),基于GCN 捕获KG 中不同类型交互的高阶语义,在其基础上引入时间感知的上下文信息挖掘动态依赖关系,有助于理解用户交互的原因。
Tai 等基于GNN 提出以用户为中心的路径推理网络(user-centric path reasoning network,UCPR),引入MDP 建模用户的动态需求指导KG 路径推理,提升推荐性能的同时为用户提供了多样化的推荐解释。Jia 等提出一种时间感知的异质图神经网络模型(temporal sensitive heterogeneous graph neural network,TSHGNN)。采用多通道卷积神经网络从新闻实体、实体类型和活动时间中提取新闻特征,结合Rein-LSTM 捕获用户点击行为的序列特征,并使用GNN 编码用户和新闻的异质信息生成用户和候选新闻的特征表示。TSHGNN 从时间和空间两个维度建模用户和新闻的表示,显著提升了推荐可解释性。
事实上,知识图谱中的不同节点具有不同重要性,因此有研究采用GAT 学习知识图谱嵌入表示,通过为节点分配不同权重提升推荐可解释性。Wang等提出知识图谱注意力网络(knowledge graph attention network,KGAT),如图5 所示。KGAT 通过堆叠传播层递归传播节点的高阶邻域信息,并利用GAT学习传播过程中邻居的权值以探索不同高阶连通的重要性。KGAT 以端到端的方式显式地建模CKG 高阶关系,为可解释推荐提供了新思路。而KGAT 在整个知识图谱上传播信息,容易引入噪音,Sha等则提出基于注意力机制的知识图谱嵌入模型(attentive knowledge graph embedding,AKGE)。AKGE 首先构建用户和项目的高阶子图并基于GAT 设计注意力图神经网络学习子图嵌入,通过关系感知传播策略充分探索KG 高阶语义,模型的推荐效率和精度相比KGAT 有显著提升。
图5 KGAT 模型架构图Fig.5 Illustration of KGAT model
Wang 等提出基于知识图谱的意图网络(knowledge graph-based intent network,KGIN),将用户交互行为建模为用户意向图,通过挖掘交互产生的原因提高推荐可解释性。实现过程中,KGIN 利用注意力机制带权聚合KG 实体和用户多个意图表示分别获得项目和用户的嵌入表示,通过建模不同类型关系的权重信息更细粒度地理解用户行为,在提升推荐性能的同时为推荐结果提供了可靠解释。
进一步对面向可解释推荐任务的KGE 应用方法进行归纳分析,可得到如图6 所示的方法关联图。
图6 面向可解释推荐任务的KGE 应用方法关联图Fig.6 KGE application method association graph for explainable recommendation tasks
其中,CIEPA 和RuleRec 的推荐性能较RippleNet有显著改进,CIEPA 通过优化路径权值降低了Ripple-Net 的计算开销,Douban Book 数据集上的ACC 值提高了3.9 个百分点,RuleRec 在Amazon 数据集上的Recall 值较RippleNet 提升高达25.9 个百分点;PGPR引入强化学习方法MDP 进一步解决了RuleRec 仅适用于关系类型较少场景的局限性;ADAC 和UCPR 分别通过优化寻径策略和构建路径推理网络有效降低了时间复杂度,相比PGPR 具有更快的推荐效率和收敛速度,ADAC 在Amazon 不同数据集上的Precision值较PGPR提升达6.6~14.6个百分点,UCPR在Movie-Lens 和Amazon Book 数据集上的Recall 值分别提升36.9 个百分点和73.0 个百分点。
KGAT 通过细化注意机制具有比RippleNet 更优越的高阶建模能力,在Yelp2018、Last.FM 和Amazon-Book 数据集上的Recall值分别提升7.2 个百分点、9.9个百分点和11.5 个百分点;AKGE 克服了KGAT 信息更新过程中易引入噪音的局限性,在三个数据集上的NDCG 值分别提升8.1 个百分点、5.7 个百分点和12.2 个百分点。Hyper-Know 解决了KGAT 难以建模实体层次结构的不足,运行速度提升高达10 倍;KGPolicy提升模型表达能力的同时有效降低了KGAT的时间复杂度;KHGT 融合时间信息更充分地挖掘用户动态偏好,相比KGAT 在Yelp 和MovieLens 数据集上的NDCG 值分别提升11.0 个百分点和16.1 个百分点。
MKRLN、DEKR、KGIN、CFKG、ECFKG 和KPRN 从不同角度建模用户与项目间的复杂关系。其中,MKRLN 引入多模态信息提升了推荐精度,在电影和图书数据集上的Precision 值相比CKE 分别提升了7.5 个百分点和79.8 个百分点;KPRN 在音乐数据集上的NDCG 值相比CKE 提升40.4~45.2 个百分点;KGIN 通过构建意向图更准确地探索用户行为的产生原因,Amazon-Book 和Last.FM 数据集上的Recall 值相较于CKE 分别提升25.7 个百分点和33.6个百分点;CFKG 在Amazon 数据集上的Precision 值提升23.2~42.9个百分点。KTUP采用TransH替代TransE 学习用户和项目间的复杂关系,相比CFKG 和ECFKG 在MovieLens和Douban Book数据集上的Precision 和Recall值提升22.8~39.3 个百分点;HAGERec则设计分层注意力机制提升了信息传播策略的效率,进一步解决了KPRN 模型复杂性高和训练时间长的局限性。
在新闻推荐领域,Kopra 通过构建用户长期和短期的兴趣图挖掘细粒度的用户偏好,有效提升了预测精度,MIND 数据集上的AUC 和MRR 值相较于DKN 分别提升了7.5 个百分点和12.2 个百分点;TSHGNN 和KRED 强调了新闻内容中实体的重要性,解决了Kopra 仅考虑新闻标题实体的局限性;然而模型的计算成本较高,AnchorKG 则利用MDP 构建新闻主题感知的子图进一步提升推荐效率,在MIND和Bing News 数据集上的Precision 值相比KRED 提升8.3~16.4 个百分点,且适用于大规模知识图的实时新闻推荐服务。
冷启动也是推荐过程中常见问题,通常分为项目冷启动和用户冷启动。多数基于KGE 的研究方法主要从用户或项目角度基于知识图谱嵌入增强稀疏数据表示,获得了较好效果。目前主要有传统嵌入方法、异质图嵌入方法和基于图神经网络方法三类,表2 总结了面向推荐冷启动问题的KGE 方法及应用创新和特征。
TransH 作为常见的传统KGE 方法,可用于增强推荐系统的项目表示,缓解推荐冷启动问题。Cao等提出Web 服务推荐算法(knowledge-graph based Web service recommendation algorithm,KG-WSR),采用TransH 将Web 服务实体和用户实体嵌入到低维空间中,利用KG 丰富信息增强Web 服务的语义表示,有效缓解了用户交互数据稀疏和冷启动问题。针对会话推荐中的项目冷启动问题,Meng 等提出一种多任务学习模型MKM-SR(micro-behaviors and item knowledge into multi-task learning for session-based recommendation),模型框架如图7 所示。MKM-SR首先从给定会话中抽取出项目序列和操作序列,然后利用TransH 嵌入KG 增强会话中项目的语义表示,并结合门控图神经网络(gated graph neural network,GGNN)和门控循环神经网络(gated recurrent unit,GRU)学习用户交互,在冷启动场景中也具有较好的推荐性能。
图7 MKM-SR 模型总体框架Fig.7 Overall framework of MKM-SR model
事实上一个实体往往具有多种关系,不同关系表示同一实体的多种特征,因此有研究者采用TransR 方法在实体和关系两个不同空间中学习KG语义以增强数据的嵌入表征。Tang 等提出注意力增强知识感知的用户偏好模型(attention-enhanced knowledge-aware user preference model,AKUPM),结合TransR 和注意力机制分别从实体内和实体间两方面增强实体语义,并利用实体交互信息探索用户兴趣,有效解决了用户交互数据稀疏问题。Zhang 等提出协同知识库嵌入模型(collaborative knowledge base embedding,CKE),采用TransR 嵌入KG 结构化知识,并融合获取到的文本嵌入表示和视觉嵌入表示从不同角度增强项目语义表示,并进一步联合用户隐式反馈缓解交互数据稀疏问题。Zhou 等提出分层协同嵌入模型(hierarchical collaborative embedding,HCE),采用TransR 嵌入KG 实现多关系数据的建模以增强项目表示,通过构建协同学习框架丰富用户交互的稀疏语义,提升了模型缓解冷启动问题的有效性。
鉴于TransR 中过多参数导致计算量过大问题,有研究者采用TransD 嵌入知识图谱。He 等提出一种电影推荐方法HI2Rec,基于数据集特征构造三元组以扩充KG 信息,采用TransD 学习用户和项目的嵌入表示,进而结合用户协作信息增强用户、项目及其属性的向量表示以缓解冷启动问题。Zhang 等面向App 应用推荐提出基于KG 的卷积嵌入传播模型(knowledge graph convolutional embedding propagation model,KGEP),采用TransD 建模KG 实体和关系的一阶结构信息,并设计图卷积网络迭代聚合实体邻域信息以捕获其高阶语义,有效缓解了用户评分矩阵稀疏的问题。
除平移距离模型外,也有研究者在冷启动任务中采用语义匹配模型学习KG 嵌入表示。Wang 等提出了一种多任务特征学习方法MKR(multi-task feature learning approach for knowledge graph enhanced recommendation),通过构建深层语义匹配架构学习KG 语义,并设计交叉压缩单元实现与推荐系统的信息共享和交换,通过充分探索项目和实体间的高阶交互缓解数据稀疏问题,在冷启动场景下仍具有较好的推荐性能。
传统KG 嵌入方法难以高效处理包含多种类型节点和链路的异质信息,有研究者采用嵌入异质图的方法丰富数据表征解决推荐冷启动。Shi 等提出一种基于异质图嵌入的推荐方法HERec(heterogeneous network embedding based approach),基于随机游走策略生成异质图节点的嵌入表示并设计一组融合函数聚合节点的多个表示,进一步集成到扩展的矩阵分解模型中生成推荐结果。HERec 利用异质图丰富语义表征用户和项目,有助于解决冷启动问题。He 等提出HopRec,在HERec 基础上考虑了用户和项目间的特征交互信息,利用特征交互矩阵表示用户和项目在不同维度上的潜在关系,推荐性能相比HERec 有进一步提升。Yan 等提出一种基于注意力感知元路径的异质图嵌入方法(attention-aware metapath-based network embedding for HIN based recommendation,AMERec),如图8 所示。AMERec 首先将异质图分解为不同元路径的加权同构网络并采用随机游走策略将其嵌入到低维向量空间中,然后设计自注意力机制聚合不同网络中用户和项目的表示,最后使用深度神经网络建模用户和项目间的非线性关系和潜在语义,有效缓解了冷启动问题。
图8 AMERec模型框架图Fig.8 Framework of AMERec model
异质图蕴含的丰富语义有助于挖掘隐含交互,有利于建模细粒度用户偏好缓解推荐冷启动。Wang等提出DisenHAN(disentangled heterogeneous graph attention network),通过对目标节点及其单跳邻居分组捕获用户和项目的多方面语义,并堆叠多个嵌入传播层探索高阶语义以全面刻画用户特征,即便在冷启动场景下也具有较好性能。还有研究者自建异质图满足实际需求,Wang 等提出HIN-MRS(heterogeneous information network-based music recommendation system),构建音乐异质图并根据用户上下文信息定位用户感兴趣的音乐主题,对于播放列表空的用户也能精准地推荐。Wang 等提出基于情感链接的异质图嵌入方法(signed heterogeneous information network embedding,SHINE),采用实体级情感提取方法得到用户情感关系并设计编码器聚合对应的用户嵌入,最后采用相似性度量函数完成情感预测,在交互数据稀疏的场景下也具有较好的推荐性能。Gong 等面向医学领域提出一种药物推荐方法(safe medicine recommendation,SMR),桥接电子病历MIMIC-III和医学知识图谱(ICD-9 Ontology和DrugBank)构建医学异质图,并基于LINE 模型编码实体表示,实验结果表明SMR 有助于捕获冷启动药物和患者之间的潜在关联,在冷启动场景仍具有优越性能。Wang 等提出面向领域的交互知识图谱(domain-oriented user and service interaction knowledge graph,DUSKG),融合多类型的服务数据并扩展文本挖掘方法RAKE(rapid automtic keyword extraction algorithm),从中提炼出细粒度的用户偏好信息,有效解决了用户-服务交互矩阵稀疏的问题。
越来越多的研究表明图神经网络方法在解决推荐冷启动问题上具有显著的效果,其中GCN 的应用颇为广泛。Wang 等提出知识图谱卷积网络(knowledge graph convolutional networks,KGCN),采用GCN 有偏差地聚合实体表示,并利用KG 高阶链接探索用户潜在兴趣,有效缓解了用户交互数据稀疏的问题,其性能相比RippleNet 有显著提升。Zhou等面向交互式推荐提出知识图谱增强学习框架(knowledge graph enhanced q-learning framework for interactive recommendation,KGQR),使用GCN 聚合实体邻域表示以丰富项目和用户状态的表示,进一步采用强化学习方法(deep q-learning)在相关项之间传播用户兴趣以建模用户长期偏好,有效解决了用户反馈稀疏的问题。Zhao 等面向会话推荐中提出知识图谱增强的采样方法(knowledge graphenhanced sampling,KGenSam),利用外部知识丰富交互环境的上下文信息,基于MDP 和GCN 设计采样器分别对KG 中的模糊样本和负样本进行增强进而完成推荐。KGenSam 可灵活应用于冷启动场景中,促进了会话推荐的商业化在线应用。
还有一些基于GCN 的方法从多角度、多方面增强实体语义表示,为解决推荐冷启动问题提供了新思路。Zhou 等提出一种语义融合方法(KG-based semantic fusion,KGSF),其关键在于使用GCN 学习项目节点不同方面的嵌入表示,并通过互信息最大化融合面向词和项目的两个KG 语义空间联合增强数据表示,从而准确推断冷启动设置中的用户偏好。Tai 等基于GCN 提出多视图项目网络的架构(multi-view item network,MVIN),分别从用户视图和实体视图两个角度充分探索用户-实体交互和实体-实体交互。基于GCN 设计混合层从实体交互中挖掘更全面的特征,融合不同层中的实体表征缓解用户-项目交互稀疏的问题。Zhao 等提出融入异质信息的图卷积框架(intent graph convolution,IntentGC),使用GCN 学习不同异质关系的重要性以挖掘用户偏好,通过堆叠卷积层迭代传播实体的邻域信息进而提取用户和项目间的特征交互信息,为缓解冷启动问题提供了新思路。
Lei 等提出知识图谱增强的神经协同推荐框架(knowledge graph enhanced neural collaborative recommendation,K-NCR),如图9 所示。K-NCR 首先基于GCN 挖掘KG 高阶语义,通过堆叠多个卷积层建模实体上下文信息。然后设计注意力网络学习用户交互项和候选项的权重信息,带权聚合后得到用户表示。最后将项目和用户的表示输入到神经协同过滤模型(neural collaborative filtering,NCF)中学习其交互特征,输出用户对项目的潜在偏好。K-NCR 刺激用户偏好在实体集上的传播,解决了传统NCF存在的冷启动问题及其难以建模KG 高阶连通性的局限性。Tu等提出一种知识感知的条件注意力网络(knowledgeaware conditional attention networks,KCAN),结 合TransH 和GCN 捕获实体的高阶连通性,基于实体的注意力权重构建相应子图,并在传播过程中将个性化信息融入到子图中,能够有效捕获细粒度用户偏好,在冷启动场景中仍具有较好性能。
图9 K-NCR 模型总体框架Fig.9 Overall framework of K-NCR model
此外,基于GAT 嵌入表示知识图谱的研究在冷启动任务中也受到了越来越多学者的关注。Chen等提出联合非采样方法的KG 学习模型(jointly nonsampling learning model,JNSKR),采用GAT 带权聚合实体及其邻域信息以建模细粒度用户偏好,并联合非采样方法共同学习KG 嵌入表示,有效解决了用户交互数据稀疏的问题,其推荐性能相比RippleNet和KGAT 等基线有显著提升。Zhang 等基于KG提出注意力网络KRAN(knowledge refining attention network),通过细化权重系数有针对性地聚集实体邻域信息,多次聚合后增强重要邻域信息并不断剔除相关性较低的邻域,可以较为有效解决项目冷启动问题。Wang 等提出协同知识感知注意力网络(collaborative knowledge-aware attentive network,CKAN),基于GAT 充分捕获KG 高阶语义以探索用户潜在偏好,并结合协同传播和KG 传播增强用户和项目的嵌入表示,在冷启动场景下具有较好推荐性能。此外,还有研究者创新性使用GAT 整合多模态信息缓解冷启动问题,Sun 等提出多模态KG 注意网络(multimodal knowledge graph attention network,MKGAT),使用GAT 整合知识图谱的结构知识、图像和文本等多模态信息以增强实体的嵌入表示,其推荐性能相比KGAT 等基线具有显著改进。
图神经网络还可以结合其他一些方法缓解冷启动问题,如门控循环单元、标签平滑正则化和异质信息等。Lee 等提出基于知识图谱嵌入的新闻文档表示增强方法(topic-enriched knowledge graph recommendation system,TEKGR),基于双向门控循环单元(bidirectional gated recurrent units,Bi-GRU)和GNN设计词级和知识级新闻编码器联合学习新闻表示,从语义层和知识层两个角度增强新闻文档表示。TEKGR 利用KG 丰富语义挖掘实体间的主题关系和上下文特征提高新闻建模的准确度,有助于解决冷启动问题。Wang 等提出基于标签平滑正则化的知识感知方法(knowledge-aware graph neural networks with label smoothness regularization,KGNN-LS),然后结合GNN 和标签平滑正则化方法传播KG 实体特征和标签信息,充分学习用户个性化偏好以缓解冷启动问题,不同数据集下的推荐性能都优于RippleNet。受KGNN-LS 的启发,Togashi 等提出KGPL(KG-aware recommender based on GNNs and pseudo-labelling),采用GNN 将知识图谱中有标签节点的特征传播到未标签的节点,基于伪标签的半监督式学习方法预测样本标签,通过增加样本的标签缓解冷启动问题,推荐性能相比KGNN-LS 有进一步提升。Long 等提出自监督元图信息网络(self-supervised metagraph informax network,SMIN),设计异质图神经网络聚合不同类型关系的特征嵌入,并将聚合结果输入到自监督互信息学习范式中建模用户-项目的高阶连通性。SMIN 联合社交网络和KG 信息从多方面挖掘细粒度用户偏好,有助于缓解冷启动问题。
进一步从推荐性能、模型可扩展性等角度出发挖掘面向推荐冷启动任务的KGE 应用方法间的关联性,可以得到如图10 所示的方法关联图。
图10 面向推荐冷启动任务的KGE 应用方法关联图Fig.10 KGE application method association graph for cold start task
其中,HCE、HERec 和AKUPM 分别通过构建协同学习框架、挖掘异质信息和设计注意力机制提升推荐性能,相较于CKE 推荐精度提升显著,AKUPM在MovieLens 和Book-Crossing 数据集上的CTR 预测精度提升达15.9 个百分点和36.3 个百分点;KGEP 则通过设计图卷积网络弥补了HCE 难以探索KG 高阶语义的局限性;HopRec、AMERec 和SMIN 采用不同策略挖掘异质图的深层语义,相比HERec 具有更优越的性能,HopRec 在Yelp 和Douban Book 数据集上的推荐性能相比HERec 有2.9~6.1 个百分点的提升,AMERec 有1.2~7.9 个百分点的提升;MKR 则通过构建深层语义匹配架构进一步解决了AKUPM 难以建模高阶连通性的不足。
MKGAT、JNSKR 和KCAN 从不同角度提升信息处理效率,相比CKE 和KGAT 具有更高的推荐性能和精度,MKGAT 在MovieLens 和Dianping 数据集上的改进达3.1~10.1个百分点,JNSKR 和KCAN 在Yelp数据集上的改进分别为7.3~13.1个百分点和1.6~9.8个百分点。KGCN 和KGNN-LS 相比CKE 和RippleNet具有更好的泛化能力和可扩展性;K-NCR 和MVIN解决了KGCN 难以充分挖掘实体间复杂交互特征的局限性,在Last.FM 数据集上的AUC 值分别提升了3.0个百分点和5.0 个百分点;KRAN 通过细化权重系数有效提升了推荐性能,在不同数据集上的AUC 和F1 值相比KGCN 都有改进,且KRAN 具有更好的可扩展性;CKAN 和KGPL 采用不同策略进一步提升了模型的稳定性和灵活度,相较于KGNN-LS在Last.FM和Book-Crossing数据集上的性能指标都有显著提升。
KGE 方法除了用于提升推荐可解释性和增强冷启动任务中的数据表示之外,其在学习序列化数据方面也具有优越性能,有助于捕捉动态变化的用户偏好。和解决推荐冷启动问题类似,面向序列化推荐任务中的常用方法包括传统嵌入、异质图嵌入和基于图神经网络的方法,方法的应用创新及特征对比如表3 所示。
TransE 作为一种常见的KGE 方法,在序列推荐任务中的应用也十分广泛。Huang 等提出知识增强的序列化推荐模型(knowledge-enhanced sequential recommender,KSR),在TransE 基础上结合循环神经网络(recurrent neural networks,RNN)和键值对记忆网络(key-value memory networks,KV-MN)建模用户的序列化偏好和基于项目属性的偏好,融合两者得到细粒度的用户偏好表示,有效提升了序列化推荐精度。Wang等进一步对模型改进提出一种会话推荐算法,使用GNN 替代RNN 捕获交互序列中项目的复杂转换,其推荐性能相较于KSR 有提升。算法另一创新点还在于将分离的会话序列建模为会话图,并使用TransE 和KV-MN 获得基于KG 语义的用户偏好,然后将其与GNN 建模得到的用户序列化偏好拼接成最终的用户偏好表示。Wang等针对推荐过程中动态变化的用户需求提出时间感知模型Chorus,采用TransE 嵌入项目和项目间的关系,并将其与交互序列、交互时间差等融合,进一步设计出时间核函数建模项目在不同序列中的动态语义,提升了推荐效果。Liu 等结合注意力机制和动态卷积网络,提出一种知识感知的序列化推荐算法(knowledge-aware sequential recommender with the attention-enhanced dynamic convolutional network,KAeDCN),如图11 所示。KAeDCN 使用TransE 获得项目的属性级信息,设计特征增强模块从不同维度挖掘项目语义,进一步将其输入到动态卷积网络中捕获其动态依赖关系。KAeDCN 能够准确挖掘项目之间的动态依赖关系,提高了序列依赖性的可提取性。
图11 KAeDCN 模型框架Fig.11 Framework of KAeDCN model
Wang 等提出一种基于知识图谱嵌入的强化学习模型(knowledge-guided reinforcement learning model,KERL),核心在于将序列化推荐形式化为MDP过程。利用TransE 和GRU 分别从知识图谱和交互序列中获取项目知识级和序列级的表示,从而准确地预测用户偏好和行为。Chowdhury 等则将基于TransE 得到的KG 嵌入表示进一步集成到神经因子分解模型(neural factorization,NF)中捕捉实体间的复杂关系,并设计带注意力机制的LSTM 学习用户的历史行为以建模用户序列化偏好,实验表明模型在预测用户行为上具有较好性能。
还有研究者采用TransR 和TransH 方法替代TransE,避免了无法充分建模复杂关系的局限性。Wang 等基于知识图谱推荐提出多步关系路径语义的获取方法(multiple-step relation path semantics for knowledge graph based recommendations,MRP2Rec),结合TransR 和LSTM 学习协同知识图谱中关系路径的高阶语义,并根据多关系路径提取用户和项目的表示,MRP2Rec 通过学习用户行为特征提升了序列化推荐的精度。文献[66]提出的MKM-SR利用TransH嵌入KG 增强项目语义表示,在其基础上结合GGNN和GRU 学习用户序列化偏好,进一步将其输入到多任务学习范式(multi-task learning,MTL)中预测用户交互,模型在缓解冷启动问题的同时有效提升了序列化推荐性能。
还有研究者采用异质图嵌入方法增强序列信息表示用于提升推荐精度。文献[73]提出的HERec 方法,采用随机游走方式学习包含用户、项目和项目属性的异质图嵌入表示,并将其集成到扩展的矩阵分解模型中完成推荐点击预测,提升了推荐效果。文献[74]在HERec 基础上提出HopRec,将用户和项目的嵌入表示进行外积(outer product)操作获得二维特征交互矩阵(feature interaction matrix)以挖掘用户和项目在不同维度上的潜在关系,进一步提升序列化推荐性能。然而当用户和项目数据较为稠密时,该模型容易出现过拟合现象。
Xiong 等提出基于异质图嵌入的概率生成模型(heterogeneous information based LDA,HI-LDA),结合基于位置和通信两大社交网络上的多种异质信息联合建模用户交互行为,基于MCMC(Markov chain Monte Carlo)方法生成用户兴趣点分布序列提升推荐效果。在医学领域中,文献[78]提出通过构建医学异质图充分学习患者、疾病和药物间的潜在联系,分析患者患病和服药的时序关系,实现药物对患者的链接预测,提升了药物推荐精度。
除上述方法外,还有研究者采用GNN 探索KG语义以提升序列化推荐性能。Wang 等面向新闻推荐提出深度知识感知网络(deep knowledge-aware network,DKN),设计卷积神经网络融合新闻语义层和知识层信息,从而得到用户历史点击序列和候选新闻的嵌入表示,最终聚合这些新闻表示获得用户偏好,推荐性能提升显著。然而DKN 建模候选新闻时忽略了对目标用户的考虑,不利于候选新闻和用户兴趣的匹配。Qi 等则提出知识感知的交互匹配方法(knowledge-aware interactive matching,KIM),通过交互学习历史点击新闻和候选新闻的知识感知表示提高用户点击候选新闻的预测精度,如图12 所示为模型整体架构和知识感知的新闻协同编码器设计。KIM 采用GAT 获得候选新闻和用户历史点击序列的知识表示,并结合CNN获得基于文本语义的新闻表示,对得到的两种新闻表示进行交互式学习最终获得针对候选新闻的用户偏好表示和用户感知的候选新闻表示,从而完成兴趣匹配。多个新闻数据集上的实验结果表明,KIM 相比KRED 和DKN 等新闻推荐算法均有较好改进。
图12 KIM 模型总体框架和知识感知的新闻协同编码器Fig.12 Overall framework of KIM and knowledge-aware news co-encoder
进一步对面向序列化推荐任务的KGE 应用方法间的相关性进行归纳分析,可以得到如图13 所示的方法关联图。
图13 面向序列化推荐任务的KGE 应用方法关联图Fig.13 KGE application method association graph for serialization recommendation task
KSR 结合RNN 和KV-MV 构建序列化推荐框架,有助于挖掘动态的用户偏好,然而模型存在复杂性高、扩展性差和难以建模项目间复杂关系等局限性。文献[101]使用GNN 替代RNN 建模用户兴趣偏好,降低计算时间复杂度的同时提升了模型可扩展性,不同数据集上的Recall值有2.6~6.3个百分点的提升;KERL利用MDP 构建强化学习模型,相比KSR 有效提升了对项目复杂关系的建模能力,Amazon 和Last.FM 数据集上的NDCG值提升达2.2~5.8个百分点;KAeDCN则通过设计动态卷积网络挖掘动态变化的用户偏好,进一步提升了模型的收敛速度和泛化性能。
Chorus 在建模实体和关系时融合了时间信息,相较于DKN 能够更准确地捕获项目的动态语义;MRP2Rec 则基于多步关系路径语义挖掘用户的行为特征,在MovieLens和Book-Crossing数据集上的ACC值相较于DKN 分别提升了44.3 个百分点和13.8 个百分点。在新闻推荐领域,KIM 通过交互式学习提升推荐精度,相比独立建模候选新闻和用户兴趣的方法具有更高的匹配度,在MIND 数据集上的AUC 值提升了4.8 个百分点。
近年来推荐研究领域已有大量基于知识图谱嵌入研究工作,本文对知识图谱嵌入在不同推荐任务中的应用研究进行了系统综述。下面对未来该领域值得关注的几个发展方向进行展望。
(1)基于图神经网络增强知识图谱嵌入。图神经网络通过聚合图中相邻节点增强语义表示能够充分捕获图数据的结构依赖性,特别适合实现不同类型KG 的嵌入学习,已被广泛应用于可解释推荐和面向冷启动的推荐任务中。此外,还可以探讨结合其他类型图神经网络方法的应用,如图自编码器(graph autoencoders,GAE)、图生成网络(graph generative networks,GGN)以及图时空网络(graph spatial-temporal networks,GSTN)等,进一步从模型变体及模型混合两个角度建模空间和时间依赖性或生成可信的补充知识以增强知识图谱的嵌入效果。事实上,知识图谱可以看作一种特殊的异质图,将图神经网络和异质图表示学习研究相结合,研究如何借鉴异质图表示学习方法挖掘节点和边的语义,如何从多个维度融合节点表示提升知识图谱嵌入效果也具有研究意义。在此基础上,可以进一步深入探索其在序列化推荐任务中的应用。
(2)借鉴多领域方法探索推荐任务中的知识图谱语义应用。在不同推荐任务中,知识图谱嵌入实现大都属于上游工作,紧随其后的下游工作应用模型包括MDP、KV-MN、LSTM、GRU、CNN 和协同过滤等多领域方法,其融合应用在增强推荐可解释性、缓解冷启动问题以及提升序列化推荐精度上都有较好效果。显然,在下游工作中还有待开采不同领域算法以增强知识图谱嵌入在推荐任务中的应用效果。因此可以在下游工作中进一步探索深度学习、网络表示学习和图学习以及多模态学习等不同领域算法与KGE 的融合方式,探索其在不同推荐任务中的应用。比如文献[74]基于矩阵分解和随机游走的图学习方法捕获KG 实体不同维度上的潜在关联进而缓解冷启动问题;文献[111-112]基于网络表示学习方法更全面地挖掘知识图谱的高阶语义信息,有助于提升序列化推荐精度。综上所述,推荐任务中的知识图谱嵌入与其他领域算法的创新融合方式及应用具有一定研究价值。
(3)多元数据融合提升知识图谱嵌入应用效果。在知识图谱嵌入基础上融合其他类型数据可以从不同角度增强推荐任务中的项目和用户嵌入表示,在可解释推荐和面向冷启动的推荐任务中有较好的应用效果。例如,融合不同类型数据实现多模态知识图谱(multi-modal knowledge graph,MKG)的嵌入应用,融合时间戳信息和关系时效性实现动态知识图谱的嵌入应用,在知识图谱外部增设其他种类数据构建多层次的项目或用户表示等。其中,多模态知识图谱融合语义知识图谱和丰富的文本、图像和多媒体等模态数据,具有更全面的关系类型和关系数量,可以为知识表示学习和解释推荐产生的原因提供视觉和文本支撑。此外,动态知识图谱融合时间戳信息学习实体的动态演化规律,从时间和空间维度增强实体的语义表示,有助于在推荐任务中挖掘关系时效性并提升推荐可解释性,可以根据实体的动态演化规律进一步探索其序列化特征;与嵌入应用多模态知识图谱不同,可以在知识图谱外部增设其他类型数据,从结构化KG 知识、文本和其他多模态信息等不同角度建模多层次的用户或项目嵌入表示。
知识图谱嵌入有助于解决推荐任务中存在的可解释性差、冷启动问题和序列化推荐建模等问题,在提升推荐系统性能上具有显著效果,目前已被广泛应用于各类推荐任务中。本文在充分调研近年来该领域的相关研究之后,简单回顾了应用KGE 方法的常见推荐任务,归纳总结出作为上游任务的KGE 方法应用目的及类别,然后进一步对其与下游任务中其他方法的创新融合策略及应用特征进行系统性总结和介绍。最后展望了未来该研究的发展趋势,提出了几个值得关注的发展方向,希望这篇文章可以为该领域的发展提供新的见解,促进该领域的持续发展和进步。