持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第27天,点击查看活动详情
Deep Learning on Knowledge Graph for Recommender System: A Survey-2020
用于推荐系统的知识图谱深度学习
摘要
最近的研究进展证明了知识图(KG)在提供有价值的外部知识以改进推荐系统(RS)方面的有效性。知识图能够对连接两个具有一个或多个相关属性的对象的高阶关系进行编码。借助新兴的图形神经网络(GNN),可以从KG中提取对象特征和关系,这是成功推荐的关键因素。本文对基于GNN的知识感知深度推荐系统进行了全面综述。具体来说,我们将讨论最先进的框架,重点讨论其核心组件,即图形嵌入模块,以及它们如何解决实际的建议问题,如可伸缩性、冷启动等。我们进一步总结了常用的基准数据集、评估指标以及开源代码。最后,我们总结了调查结果,并提出了这一快速发展领域的潜在研究方向。
1、Introduction
传统的推荐系统主要有两种体系结构:基于内容的推荐系统和基于协同过滤的推荐系统。
基于内容的系统接受可以在欧几里得空间中表示为向量的数据[38],并基于这些向量测量它们的相似性。
基于协作过滤的系统通常假设每个用户项交互是一个独立的实例,附带信息经过编码[32]。
然而,在现代社会,越来越多的应用程序中,数据是非规则的,并以知识图(KG)的形式表示。这种数据结构打破了独立交互假设,将项目与其属性联系起来。
例如,在YouTube 推荐系统(如图1所示)中,用户和电影之间的连接可能是诸如视图、喜欢和评论之类的动作。另一方面,电影可能共享相同的类型、导演等。有了这些信息,具有知识感知的推荐系统不仅能够捕获用户项目交互,还能够捕获丰富的项目/用户关系,以做出更准确的建议。
图1:YouTube上用户项目交互和知识图的插图,其中包含用户、电影、导演和类型作为对象;喜欢、分类、指导和写作作为客体关系
值得注意的是,KG中的节点(例如,人物或电影)可能具有不同的邻域大小(即,相邻节点的数量),它们之间的关系也可能不同,这使得使用KG的推荐更具挑战性。
GNN结构分类:
GNN的每一层由两个基本组件组成:聚合器和更新器。
我们将聚合器分为三类:关系无关聚合器、关系相关子图聚合器和关系相关注意聚合器。
我们还将更新程序分为三类,即仅上下文更新程序、单交互更新程序和多交互更新程序。
2、Preliminary and Notation
示例描述:
1、首先,让我们考虑电子商务网站上的一个典型场景:杰克是一个喜欢穿蓝色牛仔裤并且有一天询问“牛仔裤”的顾客。
2、从退货清单中,杰克点击了一些有吸引力的商品以获取详细信息。本周,他还参观了一些网店,查看T恤衫。
3、最后,在周日,杰克从他最喜欢的品牌购买了一件蓝色牛仔裤作为生日礼物,并在同一家商店的购物车上加了一件T恤。
根据杰克的行为,该平台收集了丰富的信息(提交的查询词、点击的物品、参观的商店、首选的房产和品牌),以便将来向他推荐潜在的有趣物品。这种推荐场景也可以在其他网站上看到。一般来说,多种对象和历史用户行为构成了一个知识图。图2显示了电子商务网站上的1、示例。
Notation
3、Categorization and framework
基于GNN的知识感知深度推荐(GNN-KADR)系统的一般工作流程如图3所示。GNN-KADR的图嵌入模块首先学习为每个图节点(包括用户和项目节点)生成一个嵌入,该嵌入对从输入知识图中提取的信息进行编码。接下来,对于给定用户,排名模块根据其对应的嵌入计算该用户与每个候选项之间的匹配分数。具有前N个匹配分数(或匹配分数高于用户指定阈值)的项目将链接(推荐)到此用户。
在这个过程中,系统的核心组件是图形嵌入模块,在最先进的框架中,它通常是一个图形神经网络(GNN)。GNN的每一层由两个基本组件组成:聚合器和更新器。对于节点v,聚合器聚合来自节点v邻居的特征信息,以生成上下文表示。然后,更新程序利用该上下文表示以及其他输入信息来获得节点v的新嵌入。堆叠K个不同的GNN层或重复使用相同的GNN层K次,将GNN的感受域扩展到K-hop图邻域。
我们将GNN的聚合器分为关系无关聚合器、关系关联子图聚合器和关系关联关注聚合器。另一方面,我们将更新程序分为三类,即仅上下文更新程序、单交互更新程序和多交互更新程序。图4和图5分别描述了各种类型的聚合器和更新器。下面,我们将详细讨论它们。
3.1、Aggregator
1、Relation-unaware Aggregator
如下图所示
代表模型MEIRec、PinSage
MEIRec中n_u计算方式:
g是一个聚合函数,可能是取平均、LSTM、CNN等,具体取决于上下文。
PinSage中n_u计算方式:
PinSage利用随机游走的方式衡量邻域结点的重要性,{a_v}是归一化后的计算系数。
2、Relation-aware Subgraph Aggregator
结构如下图所示:
为每种关系构建一种聚合函数,然后将不同关系下的n_u融合到一起,得到最终的上下文表示 n_u
典型结构:
为有效聚合异构图结点特征,提出RecoGCN,聚合公式如下:
为提升推荐系统性能,提出Star-GCN,聚合公式如下:
为执行大规模推荐,提出IntentGC,聚合公式如下:
3、Relation-aware Attentive Aggregator
结构如下图所示,将邻域图转化成加权图,使用注意力机制计算权值。
典型结构:KGNN-LS、V2HT、GraphRec、DGRec、KGCN、KGAT、DANSER
讨论:
与其他两种类型的聚合器相比,不知道关系的聚合器丢失了编码在知识图(KG)边缘的丰富语义信息,这限制了模型的性能。
另一方面,尽管关系感知子图聚合器能够用KG建模各种语义关系,但它有一些局限性。
首先,每个关系类型都是r∈R被分配了一组唯一的参数,当关系类型集R变大时,这类聚合器中的训练参数数量显著增加。因此,那些利用关系感知子图聚合器的方法不适合处理具有多种类型关系的知识图。
其次,这些聚合器独立处理不同关系类型的子图。因此,不同关系类型之间的相关性不会编码在学习的上下文表示n_u中,这限制了推荐性能。
关系感知注意聚合器利用单个函数计算不同关系类型的注意分数,单位为KG,因此可以应用于大规模知识图。同时,它还通过加权与目标节点u相邻的不同节点的贡献来提高深度推荐系统的可解释性。
3.2、Updater
结构如下所示:
讨论:
由于仅上下文更新程序的输入中缺少目标节点u的信息,它们可能不足以建模u与其上下文之间的交互,这限制了学习表示的质量。
单交互更新程序通过手动编码z_u和n_u之间的功能交互来解决这个问题。
多交互更新程序通过一次考虑不同的二进制运算符来进一步改进它。一般来说,需要更多地关注多交互更新程序,尤其是对于融合函数g。
4、Solution to Practical Recommendation Issues
本节将讨论由最先进的框架提出的解决方案,以解决实际的推荐问题,如可伸缩性、数据稀疏性等。
4.1、冷启动问题
1、均匀项嵌入
均匀项嵌入。Fan等人提出的MEIRec[4]是一个意图推荐框架,它根据用户的点击历史向用户推荐最相关的意图(即查询)。作者发现,条目的查询和标题是由术语(属性)构成的,术语的数量并不多。因此,他们建议用少量术语嵌入来表示查询/标题。它显著减少了模型中训练参数的数量。以前从未搜索/添加过的新查询/项目也可以用这些术语表示。
2、采用编解码结构的掩蔽嵌入技术
STAR-GCN[45]采用了多块图编解码结构。每个块包含两个组件:一个图形编码器和一个图形解码器。图编码器通过编码语义图结构和输入内容特征来生成节点表示,解码器的目的是恢复输入节点嵌入。为了训练STAR-GCN,作者随机屏蔽了一定比例的输入节点,然后利用它们的上下文信息重构干净的节点嵌入。这被称为掩蔽嵌入训练机制。通过使用这种机制,STAR-GCN可以学习在训练阶段未观察到的节点的嵌入。在冷启动场景中,STAR-GCN将新节点的嵌入初始化为零,并通过多个GNN编码器-解码器块逐步细化估计的嵌入。
4.2、可伸缩性问题
在大多数现有的图神经网络中,其聚合器必须访问节点的整个邻域以生成其节点嵌入,这对于大规模知识图来说是难以计算的。
1、重要的节点采样
PinSage[42]没有检查k-hop图邻域来计算节点嵌入,而是定义了基于重要性的邻域,其中节点u的邻域被定义为对节点u影响最大的T节点。具体而言,它模拟从u开始的随机游动,并计算随机游动访问的节点的L1标准化访问计数。因此,u的邻域是具有最高标准化访问计数的顶部T节点。
2、元路径定义的感受野
MEIRec[4]和RecoGCN[41]建议利用语义感知元路径为每个节点划分简洁且相关的感受野,即元路径定义的感受野。
图6显示了MRF的一个示例。与k-hop图邻域相比,MRF只关注基于先验知识选择的关系,并通过大大减少计算图中的节点数来加速训练。此外,通过沿不同元路径计算多个嵌入并将它们融合在一起以获得最终表示,可以扩大节点u的感受野:
其中g是一个融合函数。请注意,这些嵌入的计算相互独立,因此可以并行进行。
3、矢量聚合器和更新程序
为了消除大规模图的聚类迷你图训练的限制,IntentGC[46]引入了一种特殊的图神经网络,它用矢量聚合器和矢量更新器取代GNNs中的常规聚合器和更新器。其关键思想是用多个小矩阵乘积的总和代替巨大权重矩阵和巨大特征向量(由多个向量串联而成)之间昂贵的矩阵乘法,从而避免不必要的特征交互。详细如表3所示。
4.3、个性化
图翻译。KGNN-LS[30]通过将知识图转换为特定于用户的加权图来执行个性化推荐,在该加权图上应用图神经网络来计算个性化项目嵌入。新图上的边的权重由可训练函数f(z_e)计算,该函数识别给定用户的重要知识图关系。我们把这种技术称为图翻译。
4.4、动态性
知识图可以随时间动态演化,即其节点/边可能出现或消失。例如,在社交推荐的场景中,用户的朋友列表可能会不时更改。当用户添加了许多具有相似兴趣的新朋友时,推荐系统应该相应地更新其推荐策略,并在其结果中反映这种变化。
为了解决这个问题,吴等人(23)考虑了动态特征图设置。具体来说,对于每个用户,他们构建了一个图,其中每个节点代表这个用户或他/她的一个朋友。如果用户u有| N(u)|个朋友,则此图中的节点总数为|N(u)+1 |。此图中朋友的节点特征保持不变,但用户u的节点特征会在每次使用新项目时更新。此外,为了捕捉上下文相关的社会影响,作者提出了一种图形注意神经网络,该网络利用注意机制来引导影响在其聚合器中的传播。用户u的每个朋友都被分配了一个注意力权重,衡量其影响力水平。
5、数据集和评价指标
6、未来研究方向
可伸缩性、动态性、可解释性、推荐的公平性、跨域推荐等