讨论了最新的框架,重点是它们的核心组件,即图嵌入模块,以及它们如何解决实际的推荐问题,如可扩展性、冷启动等。我们进一步总结了常用的基准数据集、评估指标以及开源代码。最后,我们对调查结果进行了总结,并提出了这一快速发展领域的潜在研究方向。
传统的推荐系统主要有两种体系结构:基于内容的推荐系统和基于协同过滤的推荐系统。然而,在现代社会中,越来越多的应用程序从非欧几里德域生成数据并以知识图谱KG的形式表示。
通过丰富的异构信息,RS不仅能够捕获用户项交互,而且能够捕获丰富的项/用户关系,以作出更准确的建议。值得注意的是,KG中的结点(例如人或电影)可能具有不同的邻域大小(即邻域结点的数目),并且它们之间的关系也可能变化,这使得使用KG的推荐更加具有挑战性。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PE8uR8QH-1603615417349)(D:\学习笔记\放在typora里的图片\1591879693321.png)]
##文章主要贡献:
新分类法:知识感知深度推荐系统的核心部件是图嵌入模块,它通常是一个GNN。GNN的每一层都包含两个基本组件:Aggregator聚合器和Updater更新器。
我们将聚合器分为三类:关系不感知聚合器、关系感知子图聚合器和关系感知注意聚合器。
我们还将更新器分为三类,即纯上下文更新器、单交互更新器和多交互更新器。
全面概述:提供了基于GNN的知识感知深度推荐(GNN-KADR)系统的最全面的状态概述。我们对有代表性的模型进行了详细的描述,进行了必要的比较,并讨论了它们对冷启动、可伸缩性等实际推荐问题的解决方案。
资源收集
未来方向
知识图谱KG:一个有向图G = (V, E),V是结点E是边。【和异构信息网络那篇里的网络架构定义一样】。为了简单起见,本文将这些实体-关系-实体三元组称为知识三元组
结点v的邻域N(v)定义为直接链接到v的结点集合,
还有结点的r-邻域:Nr(v),通过某种边关系链接到v
用户-项推荐:用户-项推荐问题可以表述为在图里的链路预测问题
输入:建立在历史数据基础上的KG
输出:预测的边集
工作流程:KG→图嵌入→得到用户嵌入和项嵌入→排名→得到推荐项
在图嵌入模块:
####GNN实现图嵌入:
#####2.1聚合器
关系不感知聚合器:对于目标结点,一个不感知关系的聚合器旨在聚合来自我们的部分或所有相邻结点的信息,以生成上下文表示。然而,在这个过程中,目标结点u与任意相邻结点v的关系r被忽略,因此它的信息没有被编码在上下文表示nu中。
关系感知子图聚合器:将邻域图分解成多个子图,使得子图的所有边只属于R(R是结点的关系集合)中的一个关系类型。每个子图都被赋予一个聚合器,其特征是一组唯一的参数,这个子图的信息被这个聚合器提取出来,生成一个关系感知的上下文表示。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jcU2HsWY-1603615417353)(D:\学习笔记\放在typora里的图片\1591836559168.png)]表示具有r类型边的子图生成的结点表示,然后把所有的[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1SElFFLU-1603615417355)(D:\学习笔记\放在typora里的图片\1591836705306.png)]融合到一起,产生目标结点u的上下文表示。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9D6uxlNu-1603615417357)(D:\学习笔记\放在typora里的图片\1591837114644.png)]
其中那俩W是分配给关系类型r的两个可学习的转换器。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tL1iaM4P-1603615417358)(D:\学习笔记\放在typora里的图片\1591838143863.png)]
W为要学习的参数。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8pv1Q5lg-1603615417358)(D:\学习笔记\放在typora里的图片\1591838301321.png)]
这个聚合器计算效率高,因为它通过替换昂贵的操作W·(nr1 u || nr2u||…)来避免不必要的计算多个小矩阵乘积的和。
关系感知注意聚合器:关系感知注意聚合器将邻域图转化为加权图,其中每个边的权重w是相应知识三元组(u,e,v)的函数。这些权重捕获了编码在知识图谱的边的丰富语义信息,并度量了不同知识三元组与目标结点u的相关性。
对不同类型的边赋予不同的权重,从而将知识图转化为加权图。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NuBNHsqp-1603615417359)(D:\学习笔记\放在typora里的图片\1591839402881.png)]
此时[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RgtbD8rC-1603615417360)(D:\学习笔记\放在typora里的图片\1591839422265.png)]Ai,j是边ei,j特征向量的权重,D是对角矩阵,f是用户特定的评分函数。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mmKqp4et-1603615417360)(D:\学习笔记\放在typora里的图片\1591842489124.png)]
i和j是图中第i个和j个结点的下标,D是对称矩阵,α确定了分配给结点本身和其他相关结点的权重。当α→1时,忽略结点本身的特征;当α→0时,忽略相邻信息。
GraphRec:一种新的社会推荐图神经网络框架。社会推荐中的KG通常由两个图组成:表示用户之间关系的社会图,表示用户与项目之间交互的用户—项目图。GraphRec引入了三个聚合器来处理这两个不同的图,即用户聚合器、项目聚合器和社交聚合器。用户和项目聚合器从用户—项目图中提取信息,而社交聚合器从社交图中提取信息。这些聚合器以类似的方式工作。因此,为了简单起见,我们只在这里解释项聚合器。项目聚合器的公式如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W9BuIK2g-1603615417361)(D:\学习笔记\放在typora里的图片\1591843237799.png)]
au,v表示u和v交互作用在促进u的上下文表示的注意权重。
DGRec:网络社区中的推荐面临两大挑战:1)用户的兴趣是动态的,2)用户受到朋友的影响。为了应对这些挑战,Song等提出了一种基于动态图的注意神经网络的DGRec。具体来说,他们首先用递归神经网络RNN对动态用户行为进行建模,其输出作为初始图结点嵌入。然后,采用图注意神经网络对情境相关的社会影响进行建模,根据用户当前的兴趣动态推断影响者。这个图注意神经网络的聚合器为:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zrl1dH9u-1603615417362)(D:\学习笔记\放在typora里的图片\1591843747575.png)]
【和上一个的很类似!】
KGCN:一个自动发现知识图谱的高阶结构信息和语义信息的端到端推荐系统。KGCN的核心思想是在计算KG中给定结点的表示时,聚集和合并带有偏差的邻域信息。它是通过对邻域进行加权来实现的,其得分取决于连接关系和结点,既体现了KG的语义信息,又体现了用户在关系中的个性化兴趣。其聚合器为:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yv2kGt8L-1603615417362)(D:\学习笔记\放在typora里的图片\1591844282118.png)]
KGAT:以端到端的方式显式地模拟KG中的高阶连接。KGA
T中的聚合器的工作方式与KGCN类似。唯一的区别是,它将知识三元组的zu、ze和zv这三个嵌入项作为输入来计算注意力得分:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1lRN3ewR-1603615417363)(D:\学习笔记\放在typora里的图片\1591844466334.png)]
这里We是一个要学习的投影矩阵,它将输入从结点嵌入空间转换到边嵌入空间。
DANSER:由两个对偶图注意网络组成的捕捉四种社会效应的框架。
三种类型的讨论:与其他两种类型的聚合器相比,关系不感知的聚合器丢失了知识图(KG)边的丰富语义信息编码,限制了模型的性能。
尽管关系感知子图聚合器能够在KG中建模各种语义关系,但它有一些局限性。首先,当每个关系类型r∈R被赋予一组唯一的参数时,当关系类型集R变大时,该类聚集器中的训练参数数目显著增加。因此,那些利用关系感知子图聚合器的方法不适合处理具有多种关系类型的知识图。其次,这些聚合器独立处理不同关系类型的子图;因此,不同关系类型之间的相关性没有编码在学习的结点n的上下文表示nu中,这限制了推荐性能。
关系感知注意聚合器利用单一函数计算不同关系类型的注意得分,因此可以应用于大规模KG。同时,它还通过加权与目标结点相邻的不同结点的贡献来提高深度推荐系统的可解释性。
#####2.2更新器
纯上下文更新器:对于KG中的任何结点,纯上下文更新器仅接收到结点u的上下文表示nu作为输入,并为此结点生成新的表示z’new u=f(nu),这里f是更新器函数。
MEIRec简单地将nu作为结点u的新嵌入,即z’new u=nu,这是计算效率高的,但可能不是最优的。为了克服这个问题,GraphRec,V2HT,DGRec,KGCN和DANSER打算通过一个MLP(多层感知机)近似f:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p5usC0hg-1603615417364)(D:\学习笔记\放在typora里的图片\1591859554169.png)]
这里的γ是非线性激活函数,如ReLU,偏差b可以设为0。STAR-GCN通过把nu发送到MLP层之前应用另一个激活函数γ来改善f的非线性:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FVJR7BTu-1603615417365)(D:\学习笔记\放在typora里的图片\1591859771881.png)]
单交互更新器:对于KG中的任何结点u,单交互更新器使用u的上下文表示nu和u的当前嵌入zu作为计算u的新表示z’new u= f (nu,zu)的输入。f是一个包含二元运算符(如求和、连接等)的函数,这个操作符在结点u和它的上下文之间建立了一个交互,并且有可能提高模型的性能。
KGNN-LS和KGCN都使用求和作为交互运算符。唯一的区别是,KGNN-LS在将输入结点的嵌入应用于运算符之前对其应用缩放(还是比例?)操作。它们的更新器为:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-03EjqbwM-1603615417365)(D:\学习笔记\放在typora里的图片\1591860551418.png)]
λ是缩放因子(还是比例因子?),b是偏差,可设为0。
RecoGcn和PinSage用连接操作替换上述更新器中的求和运算符。它通过将可学习参数加倍来提高更新程序的表达能力,同时也增加了计算成本。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ZtrSG1G-1603615417366)(D:\学习笔记\放在typora里的图片\1591860887260.png)]
多交互更新器:多交互更新器是具有不同二元运算符的多个单交互更新程序的组合,[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kWY7QEH1-1603615417366)(D:\学习笔记\放在typora里的图片\1591860959447.png)] 这里g是一个融合函数,用于融合从不同的单个交互更新器中获得的表示。这种类型的更新器改进了功能交互,并可能导致更好的性能。
KGAT:目前文献中唯一使用使用多交互更新器方法的框架。它考虑了两种不同的运算符:求和运算符和元素运算符。这个更新器的数学公式是:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PyRVJ70r-1603615417367)(D:\学习笔记\放在typora里的图片\1591861167553.png)]
作者之所以选择元素乘积,是因为它使在图中传播的信息对zu和nu之间的关联敏感,例如,从相似的结点传递更多的信息。
由于纯上下文更新器的输入中缺少目标结点u的信息,它们可能不足以对u与其上下文之间的交互进行建模,这限制了学习到的表示的质量。
单交互更新器通过手动编码zu和u之间的特征交互来解决这个问题。
多交互更新器通过同时考虑不同的二元运算符进一步改进了它。
在现有的大多数图神经网络中,它们的聚合器必须访问结点的全邻域才能产生其结点嵌入,这对于大规模的知识图来说是计算困难的。在下面,我们将展示由所研究的方法针对这个可伸缩性问题提出的一些解决方案
重要结点采样:PinSage没有检查k-hop图邻域来计算节点嵌入,而是定义了基于重要性的邻域,其中结点的邻域被定义为对结点影响最大的节点。【可能会丢失其有影响的邻居】
元路径定义的接受域:MEIRec和RecoGCN提出利用语义感知的元路径为每个节点划分出简洁、相关的接受域,称为元路径定义的接受域。【可能会丢失一些重要的语义信息】
定义1:元路径ρ
定义2:元路径定义的接受域(MRF):图G,结点v,元路径ρ和长度l,一个MRF[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cN3ig4XO-1603615417367)(D:\学习笔记\放在typora里的图片\1591866764207.png)]被定义为可以通过元路径ρ从结点v移动到或经过的结点集合,其中[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zr4lhH4G-1603615417368)(D:\学习笔记\放在typora里的图片\1591866910226.png)]表示通过在ρ上k个跳跃到达的结点集。
与k-hop图邻域相比,MRF只关注基于先验知识选择的关系,通过大大减少计算图中的节点数,加快了训练速度。此外,还可以通过计算沿不同元路径的多个嵌入并将它们融合在一起来扩大结点u的接收场以获得最终表示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NLDxtZ64-1603615417368)(C:\Users\cxy\AppData\Local\Temp\1591867166853.png)]
g是融合函数。注意,这些嵌入的计算彼此独立,因此可以并行进行。
知识图可以随时间动态演化,即其节点/边可能出现或消失。例如,在社交推荐的场景中,用户的好友列表可能会不时更改。当一个用户添加了一些有相似兴趣的新朋友时,推荐系统应该相应地更新其推荐策略,并在其结果中反映这种变化。
为了解决这个问题,Wu等人考虑动态特征图设置。具体地说,对于每个用户,它们构造一个图,其中每个节点表示该用户或其朋友之一。如果用户u有| N(u)|个好友,则此图中的节点总数为| N(u)+1 |。此图中好友的节点功能保持不变,但当用户使用新项时,会更新用户u的节点功能。此外,为了捕捉上下文相关的社会影响,作者提出了一种图注意神经网络,它利用注意机制来引导其聚合器中的影响传播。用户u的每个朋友都被分配了一个注意力权重,用来衡量其影响力。
###4.未来方向:
可扩展性权衡:现有GNN-KADR系统的可扩展性是以牺牲知识图的完整性为代价的。通过对固定数量的相邻节点进行采样,节点可能会丢失其有影响的邻居。通过用元路径定义接受域,该模型所感知的知识图可能会丢失一些重要的语义信息。此外,选择和加权元路径需要大量的先验知识,对于一些实际应用可能很难。如何在可扩展性和知识图完备性之间进行权衡是一个有趣的研究方向。
动态性:知识图本质上是动态的,节点和边可能出现或消失,节点/边的输入可能会一次又一次地改变。此外,在真实场景中,KG中节点之间的关系类型也可能随时间而变化。尽管DGRec是由Wu等人提出的,部分地讨论了图的动态性,但是很少有GNN-KADR系统考虑将其框架适应知识图包含动态空间和语义关系的情况。为了适应KG的动态性,需要新的聚合器和更新器。根据我们的文献调查,我们认为这仍然是一个有待进一步研究的领域。
推荐的可解释性:与传统的基于内容或协作过滤的推荐系统相比,可解释性对于GNN-KADR系统尤为重要,因为非专家用户无法直观地确定知识图中的相关上下文【?这里没看懂】,例如,在识别社交网络中有影响力的用户时,这些用户很适合销售社会电子商务代理。此外,向用户做出可解释的预测可以让他们了解网络推荐背后的因素(即,为什么推荐这个项目/服务?),有助于赢得用户对系统的信任。据我们所知,如何构建一个基于GNN的可解释的知识感知深度推荐系统仍然是一个开放性的问题,在目前的文献中还没有得到很好的研究。我们相信这是下一个边境。
推荐的公平性:推荐系统存在两种固有的偏差:观测偏差和来自不平衡数据的偏差。观察偏差的存在是由于反馈回路导致模型只学习预测与以前类似的建议。相反,当由于社会、历史或其他环境偏见而存在系统偏见时,就会导致数据不平衡。这种偏差隐含在数据中,因此推荐系统通常不知道它们。建立一个公平的GNN-KADR系统是一个很有前途但尚未探索的领域,预计会有更多的研究。
跨领域推荐:除了挖掘单一的知识图外,越来越需要使用来自多个来源的数据来计算建议。例如,一个客户可能同时是多个社交网络的用户,例如Facebook和微博。这些社交网络中的每一个都收集关于这个客户的数据,并将它们嵌入到自己的KG中。因此,利用所有这些知识图中的信息来提高推荐性能是合理的。然而,目前的研究存在两个显著的空白:
第一个缺口是现有的研究缺乏对有效整合多个知识图源信息的探索。它们大多试图通过连接相关实体(即节点)在两个不同的知识图之间建立关联,这些方法忽略了由相同类型的节点或边集合表示的组知识,这些节点或边对于对齐多个知识图可能是至关重要的。
其次,现有的研究大多基于传统的协同过滤(CF)技术提供跨领域的推荐。其他一些研究使用谱聚类算法从不同领域的图中聚集知识,但是强烈假设所有图应该同时可用[8]。利用gnn提出跨领域推荐的努力有限。我们认为这是一个有前途的研究领域,因为GNNs比谱聚类算法表现更好。
(即节点)在两个不同的知识图之间建立关联,这些方法忽略了由相同类型的节点或边集合表示的组知识,这些节点或边对于对齐多个知识图可能是至关重要的。
其次,现有的研究大多基于传统的协同过滤(CF)技术提供跨领域的推荐。其他一些研究使用谱聚类算法从不同领域的图中聚集知识,但是强烈假设所有图应该同时可用[8]。利用gnn提出跨领域推荐的努力有限。我们认为这是一个有前途的研究领域,因为GNNs比谱聚类算法表现更好。