《Graph Neural Networks in Recommender Systems A Survey》翻译

发布于 2024-01-19  360 次阅读


摘要

随着在线信息的爆炸性增长,推荐系统在缓解信息过载方面发挥着关键作用。由于推荐系统的重要应用价值,这一领域一直涌现出新的研究成果。在推荐系统中,主要挑战是从用户/物品的互动和辅助信息(如果有的话)中学习有效的用户/物品表示。最近,图神经网络(GNN)技术在推荐系统中被广泛应用,因为推荐系统中的大多数信息本质上具有图结构,而GNN在图表示学习方面具有优势。本文旨在全面审查基于GNN的推荐系统的最新研究工作。具体而言,我们根据使用的信息类型和推荐任务提供了基于GNN的推荐模型分类法。此外,我们系统地分析了在不同类型数据上应用GNN时的挑战,并讨论了该领域现有研究如何应对这些挑战。此外,我们提出了有关该领域发展的新视角。我们在 https://github.com/wusw14/GNN-in-RS 上收集了代表性论文及其开源实现。

前言

随着电子商务和社交媒体平台的快速发展,推荐系统已成为许多企业不可或缺的工具 [15, 25, 84, 183, 190, 200]。它们可以根据行业的不同呈现为各种形式,如在线电子商务网站上的产品推荐(例如,亚马逊和淘宝),或者视频和音乐服务的播放列表生成器(例如,YouTube、Netflix和Spotify)。用户依赖推荐系统来缓解信息过载问题,并从大量的物品中(例如产品、电影、新闻或餐馆)中探索他们感兴趣的内容。因此,从用户的历史互动(例如点击、观看、阅读和购买)中准确建模用户偏好,是一个有效的推荐系统的核心。

总体而言,在过去的几十年中,推荐系统中的主流建模范式已经从邻域方法 [6, 60, 95, 123] 发展到基于表示学习的框架 [25, 77, 78, 125, 143]。基于物品的邻域方法 [6, 95, 123] 直接向用户推荐与他们过去互动的物品相似的物品。在某种程度上,它们通过直接使用用户过去互动的物品来表示用户的偏好。早期的基于物品的邻域方法由于其简单性、效率和有效性在实际应用中取得了巨大成功。

另一种方法是基于表示学习的方法,试图将用户和物品都编码为共享空间中的连续向量(即嵌入),从而使它们可以直接比较。自从Netflix Prize竞赛 [7] 演示了矩阵分解模型在推荐中优于传统的邻域方法以来,基于表示的模型引发了广泛关注。此后,提出了各种方法来学习用户和物品的表示,从矩阵分解 [77, 78] 到深度学习模型 [25, 58, 125, 200]。如今,深度学习模型已经成为推荐系统在学术研究和工业应用中的主导方法,因为它们能够有效捕捉非线性和不显而易见的用户-物品关系,并轻松地整合丰富的数据来源,例如上下文、文本和视觉信息。

在所有这些深度学习算法中,一种是基于图学习的方法,从图的角度考虑推荐系统中的信息 [151]。推荐系统中的大多数数据本质上具有图结构 [8, 190]。例如,在推荐应用中的互动数据可以用用户和物品节点之间的二分图表示,观察到的互动则由边表示。即使用户行为序列中的物品转换也可以构建为图。当融入结构化的外部信息时,如用户之间的社交关系 [33, 172] 和与物品相关的知识图 [146, 196],将推荐任务构建为图任务的好处变得尤为明显。通过这种方式,图学习提供了一种统一的视角,以对推荐系统中丰富的异构数据进行建模。基于图学习的推荐系统的早期努力利用图嵌入技术来建模节点之间的关系,可以进一步划分为基于因子分解的方法、分布式表示的方法和神经嵌入的方法 [151]。受到GNN在学习图结构数据方面的卓越能力的启发,最近出现了大量基于GNN的推荐模型。

然而,提供一个统一的框架来建模推荐应用中丰富的数据仅仅是GNN在推荐系统中广泛采用的原因之一。另一个原因是,与传统方法只隐含地捕捉协作信号(即使用用户-物品互动作为监督信号)不同,GNN能够自然而明确地编码关键的协作信号(即拓扑结构),以改善用户和物品的表示。事实上,利用协作信号来改善推荐系统中的表示学习并非起源于GNN的新概念 [41, 69, 76, 184, 203]。早期的研究,如SVD++ [76] 和 FISM [69],已经展示了互动物品在用户表示学习中的有效性。从用户-物品互动图的角度来看,这些先前的工作可以被视为利用一跳邻居来改善用户表示学习。GNN的优势在于它提供了强大而系统的工具,可以探索对推荐系统有益的多跳关系 [55, 155, 190]。

凭借这些优势,GNN在过去几年在推荐系统中取得了显著的成功。在学术研究中,许多研究表明,基于GNN的模型在公共基准数据集上胜过以前的方法,并取得了新的最先进结果 [55, 155, 210]。与此同时,大量的变体被提出并应用于各种推荐任务,例如基于会话的推荐 [115, 175],兴趣点(POI)推荐 [10, 92, 177],群体推荐 [59, 153],多媒体推荐 [164, 165] 和捆绑推荐 [11]。在工业领域,GNN也被部署在大规模的推荐系统中,以生成高质量的推荐结果 [32, 114, 190]。例如,Pinterest开发并部署了一种基于随机游走的图卷积网络(GCN)算法模型,命名为PinSage,应用于一个拥有30亿节点和180亿边的图,通过在线A/B测试实现了用户参与度的显著提升。

与现有调查的差异。已经有一些关注推荐系统不同方面的调查 [4, 16, 22, 28, 45, 117, 200]。然而,很少有综合性的综述将GNN应用于推荐系统的现有工作和当前进展定位在一起。例如,Zhang等人 [200] 和Batmaz等人 [4] 关注于推荐系统中大多数深度学习技术,却忽略了GNN。Chen等人 [16] 总结了关于推荐系统中偏见问题的研究。Guo等人 [45] 回顾了基于知识图的推荐,Wang等人 [150] 在基于会话的推荐中提出了一项全面的调查。这两项工作只包括在相应的子领域中应用的一些GNN方法,并检查了有限数量的工作。据我们所知,正式发表的与之最相关的调查是一篇短文 [151],它介绍了基于图学习的系统的回顾,并简要讨论了GNN在推荐中的应用。一项正在审查的最近调查 [40] 从推荐系统的四个角度,即阶段、场景、目标和应用,对基于GNN的推荐系统中的现有工作进行了分类。这种分类法强调了推荐系统,但对在推荐系统中应用GNN技术的讨论不足。此外,这项调查 [40] 对现有方法的优势和局限性提供了很少的讨论。有一些关于GNN技术的综合调查 [179, 208],但它们只是粗略地讨论推荐系统作为其中一个应用。鉴于基于GNN的推荐模型以惊人的速度增长,我们认为总结和描述所有代表性方法在一个统一而易理解的框架中是很重要的。本调查总结了基于GNN的推荐的文献进展,并讨论了这一领域的未解问题或未来方向。为此,超过100项研究被列入此调查,并在其中分类。

贡献:本调查的目标是全面审查基于图神经网络(GNN)的推荐系统的文献进展,并讨论未来方向。对于对推荐系统感兴趣的研究人员和实践者,他们可以对基于GNN的推荐领域的最新发展有一个总体了解。本调查的主要贡献总结如下:

  • 新的分类体系:我们提出了一个系统的分类架构,以组织现有的基于GNN的推荐模型。具体而言,我们根据使用的信息类型和推荐任务将现有工作分为五类:用户-物品协同过滤、顺序推荐、社交推荐、基于知识图的推荐以及其他任务(包括POI推荐、多媒体推荐等)。
  • 全面的回顾:针对每个分类,我们演示了需要处理的主要问题。此外,我们介绍了代表性模型,并说明它们如何应对这些问题。
  • 未来研究:我们讨论了当前方法的局限性,并提出了九个潜在的未来研究方向。

本文的其余部分组织如下:第2节介绍了推荐系统和图神经网络的基础知识,然后讨论了在推荐系统中应用GNN的动机,并对现有的基于GNN的推荐模型进行分类。第3至7节总结了每个分类中模型的主要问题以及现有工作如何解决这些挑战,并分析它们的优势和局限性。第8节总结了主流基准数据集、广泛采用的评估指标和实际应用。第9节讨论了这一领域面临的挑战,并指出了九个未来的研究方向。最后,在第10节中,我们对调查进行了总结。

背景和分类

image-20240118104016971

在深入探讨本调查的细节之前,我们对推荐系统和图神经网络(GNN)技术进行简要介绍。同时,我们讨论了在推荐系统中使用GNN技术的动机。此外,我们提出了一个新的分类法来对现有的基于GNN的模型进行分类。在本文中,我们使用粗体大写字母表示矩阵,粗体小写字母表示向量,斜体粗体大写字母表示集合,使用花体字体表示图。为了方便阅读,我们在表格1中总结了本文中将要使用的符号。

推荐系统

推荐系统通过用户-物品的交互或静态特征推断用户的偏好,并进一步推荐用户可能感兴趣的物品[1]。由于其巨大的应用价值,这个领域几十年来一直是研究的热点,但其中的挑战仍然没有得到很好的解决。形式上,任务是通过学到的用户表示和物品表示来估计用户对任何物品的偏好,即

其中得分函数可以是点积、余弦、多层感知器等,表示用户对物品的偏好得分,通常表示为概率。

根据用于学习用户/物品表示的信息类型,推荐系统的研究通常可以被分类为特定类型的任务。用户-物品协同过滤推荐旨在通过利用仅用户-物品互动来捕获协同信号;即用户/物品表示是从成对数据中联合学习的。当用户历史行为的时间戳已知或历史行为以时间顺序组织时,可以通过探索她/他历史互动中的顺序模式来增强用户表示。根据用户是否匿名以及行为是否被分段成会话,该领域的研究可以进一步分为顺序推荐和基于会话的推荐。基于会话的推荐可以被视为具有匿名和会话假设的顺序推荐的子类型[117]。在本调查中,为了简化起见,我们不对它们进行区分,统一将它们称为更广泛的术语"顺序推荐",因为我们的主要关注点是GNN对推荐的贡献,它们之间的差异对于GNN的应用而言是微不足道的。除了顺序信息外,另一方面的研究利用社交关系来增强用户表示,被归类为社交推荐[43, 65, 103-105, 138]。社交推荐假设具有社交关系的用户倾向于具有相似的用户表示,基于社交影响理论,连接的人会相互影响。除了用户表示的增强,许多工作试图通过利用知识图来增强物品表示,知识图通过属性表示物品之间的关系。这些工作通常被分类为基于知识图的推荐系统,将物品之间的语义关系纳入协同信号中。

图神经网络技术

最近,基于GNN变体的系统在许多与图数据相关的任务上展现了突破性的性能,如物理系统[5,122]、蛋白质结构[37]和知识图[49]。在这一部分,我们首先介绍图的定义,然后简要总结现有的GNN技术。

图表示为,其中是节点集合,是边集合。设是一个节点,是从指向的边。节点的邻居表示为。一般来说,图可以被分类为:

  • 有向/无向图。有向图是指所有边都从一个节点指向另一个节点。无向图被视为有向图的特殊情况,其中如果两个节点相连,则存在一对具有相反方向的边。
  • 同质/异质图。同质图由一种类型的节点和边组成,异质图具有多种类型的节点或边。
  • 超图。超图是图的一般化,其中一条边可以连接任意数量的顶点。

给定图数据,GNN的主要思想是在传播过程中迭代地从邻居聚合特征信息,并将聚合的信息与当前中心节点的表示集成在一起[179, 208]。从网络体系结构的角度来看,GNN堆叠多个传播层,这些层包含聚合和更新操作。传播的表达式为

其中表示第层节点的表示,聚合器和更新器分别表示第层的聚合操作和更新操作的函数。在聚合步骤中,现有的工作要么将每个邻居视为平均池化操作[50,89],要么使用注意机制区分邻居的重要性[140]。在更新步骤中,中心节点的表示和聚合邻域的表示将集成到中心节点的更新表示中。为了适应不同的场景,提出了各种策略来更好地集成这两个表示,例如GRU机制[89]、非线性变换的串联[50]和求和操作[140]。有关GNN技术的详细信息,请参阅调查[179, 208]。

在这里,我们简要总结了五个在推荐领域广泛采用的典型GNN框架的聚合和更新操作。

  • GCN [73] 近似计算图拉普拉斯矩阵的一阶特征分解,以迭代地从邻居聚合信息。具体地,它通过以下方式更新嵌入:

其中是非线性激活函数,如ReLU;是第层的可学习变换矩阵;是邻接权重

  • GraphSAGE [50] 为每个节点采样固定大小的邻域,提出了平均/求和/最大池聚合器,并采用串联操作进行更新:

其中,Aggregator 表示第层的聚合函数,是非线性激活函数,是可学习的转换矩阵。

  • GAT [140] 假设邻居的影响不是相同的,也不是由图结构预定的,因此它通过利用注意机制区分邻居的贡献,并通过对邻居进行关注来更新每个节点的向量:

其中,是一个注意力函数,一个典型的是LeakyReLU 负责转换第次传播的节点表示,是可学习的参数。

  • GGNN [89] 在更新步骤中采用门控循环单元(GRU)[89]:

GGNN对所有节点执行多次循环函数[179],当应用于大型图时可能面临可伸缩性问题。

  • HGNN [36] 是典型的超图神经网络,它在超图结构中编码了高阶数据关联。超图卷积层的公式如下:

其中是非线性激活函数,如ReLU;是第层的可学习变换矩阵;是超图邻接矩阵;分别表示边的度和顶点的度的对角矩阵。

为什么使用图神经网络进行推荐

image-20240118105302218

在过去的几年里,已经提出了许多基于图神经网络(GNN)的推荐方法。在深入了解最新发展的细节之前,了解将GNN应用于推荐系统的动机是有益的。

最直观的原因是,GNN技术已经在各个领域的图数据表示学习中表现出强大的能力[44, 208],而推荐中的大多数数据本质上具有图结构,如图1所示。例如,用户-物品交互数据可以通过一个双部图(如图1(a)所示)表示,其中链接表示相应用户和物品之间的交互。此外,一系列物品可以转化为序列图,其中每个物品可以与一个或多个后续物品相连接。图1(b)显示了一个序列图的示例,其中相邻物品之间存在边。与原始序列数据相比,序列图允许更灵活的物品之间的关系。除此之外,一些附加信息也自然地具有图结构,例如社交关系和知识图,如图1(c)和1(d)所示。

由于推荐中不同类型的数据具有特定的特征,已经提出了各种模型来有效地学习它们的模式,以获得更好的推荐结果,这对模型设计是一个巨大的挑战。从图的角度考虑推荐中的信息,可以利用统一的GNN框架来处理所有这些任务。例如,非序列推荐的任务是学习有效的节点表示,即用户/物品表示,并进一步预测用户偏好。序列推荐的任务是学习信息丰富的图表示,即序列表示。节点表示和图表示都可以通过GNN学习。此外,与非图的观点相比,通过GNN更方便和灵活地整合额外的信息(如果可用)。例如,社交网络可以被整合到用户-物品双部图关系中作为一个统一的图。在迭代传播过程中,可以捕获社交影响和协同信号。

此外,GNN可以通过传播过程明确地编码用户-物品交互的关键协同信号,以增强用户/物品表示。利用协同信号进行更好的表示学习并不是一个完全新的想法。例如,SVD++ [76]融合了与交互项目相关的表示,以丰富用户表示。相反,Item-Rank [41] 从交互中构建物品-物品图,并采用随机游走算法根据用户偏好对物品进行排名。需要注意的是,SVD++ 可以被视为利用一跳邻居(即物品)来改进用户表示,而 Item-Rank 则利用二跳邻居来改进物品表示。与非图模型相比,GNN在建模来自用户-物品交互的多跳连接方面更为灵活和便利。在高跳邻居中捕获的协同过滤信号已被证明对推荐非常有效。

基于图形神经网络推荐的类别

在这份调查中,我们提出了一个新的分类法,用于对现有基于图神经网络(GNN)的模型进行分类。根据使用的信息类型和推荐任务,将现有研究划分为用户-物品协同过滤、序列推荐、社交推荐、知识图谱推荐以及其他任务。除了前四种任务之外,还有其他推荐任务,例如POI(兴趣点)推荐、多媒体推荐和捆绑推荐。由于在这些任务中使用GNN的研究并不是那么丰富,我们将它们归为一类,并分别讨论它们的当前发展情况。

分类的基本原理如下:图结构在很大程度上取决于信息类型。例如,社交网络自然是一个同质图,用户-物品交互既可以被视为一个双部图,也可以被看作两个同质图(即用户-用户图和物品-物品图)。此外,信息类型在设计高效的GNN体系结构中也起着关键作用,如聚合和更新操作以及网络深度。例如,知识图谱具有多类型实体和关系,需要在传播过程中考虑这种异质性。此外,推荐任务与所使用的信息类型密切相关。例如,社交推荐是通过利用社交网络信息进行推荐,而基于知识图谱的推荐是通过利用知识图谱中物品之间的语义关系来增强物品表示。这份调查主要面向对GNN在推荐系统中发展感兴趣的读者。因此,我们的分类主要从推荐系统的角度出发,同时也考虑了GNN的因素。

用户-项目 协同过滤

鉴于用户-物品交互数据,用户-物品协同过滤的基本思想本质上是利用用户与物品的交互来增强用户表示,并使用用户曾与之互动的物品来丰富物品表示。受到GNN技术在模拟信息传播过程方面的优势启发,近期的研究致力于设计GNN方法,以更高效地利用用户-物品交互中的高阶连接。图2展示了将GNN应用于用户-物品交互信息的流程。

为充分发挥GNN方法在捕获用户-物品互动中的协同信号方面的优势,有四个主要问题需要解决:

• 图构建。图结构对信息传播的范围和类型至关重要。原始的双部图由一组用户/物品节点和它们之间的交互组成。应该在异构双部图上应用GNN,还是应该基于二跳邻居构建同质图?考虑到计算效率,应该如何对图传播进行代表性邻居的采样,而不是在完整的图上进行操作?

• 邻居聚合。如何从邻居节点中聚合信息,具体来说,是不是要区分邻居的重要性,建模中心节点与邻居之间的亲和关系,还是建模邻居之间的交互?

• 信息更新。中心节点的表示和邻居的聚合表示应该如何整合?

• 最终节点表示。预测用户对物品的偏好需要整体的用户/物品表示。应该使用最后一层的节点表示还是使用所有层中节点表示的组合作为最终节点表示?

图构造

大多数工作[8, 18, 55, 82, 132, 135, 142, 155, 173, 197, 205]直接在原始的用户-物品双部图上应用GNN。在直接在原始图上应用GNN时存在两个问题:一个是效果问题,即原始图结构可能不足以学习用户/物品表示;另一个是效率问题,即对节点的完整邻居信息进行聚合需要较高的计算成本,尤其是对于大规模图[190]。

解决第一个问题的一种策略是通过添加边来丰富原始图结构,例如在两跳邻居之间添加链接和超边。例如,Multi-GCCF [133] 和 DGCF [101] 在原始图上的两跳邻居之间添加边,得到用户-用户和物品-物品图。通过这种方式,用户和物品之间的接近信息可以被明确地纳入用户-物品交互中。DHCF [66] 引入了超边,构建了用户/物品超图,以捕捉明确的混合高阶相关性。另一种策略是引入虚拟节点来丰富用户-物品交互。例如,DGCF [156] 引入虚拟意图节点,并将原始图分解为每个意图的相应子图,这表示来自不同方面的节点,并具有更好的表达能力。HiGNN [91] 通过对相似用户/物品进行聚类并将聚类中心作为新节点,创建新的粗化的用户-物品图,以明确捕捉用户和物品之间的层次关系。

对于第二个问题,提出了采样策略来使GNN在大规模图推荐任务中更加高效和可扩展。PinSage [190] 设计了一种基于随机游走的采样方法,以获取具有最高访问次数的固定大小邻域。通过这种方式,那些直接邻接到中心节点的节点可能也成为其邻居。Multi-GCCF [133] 和 NIA-GCN [132] 随机采样固定大小的邻居。采样是原始图信息和计算效率之间的权衡。模型的性能取决于采样策略,而更高效的邻域构建采样策略值得进一步研究。

邻居聚合

聚合步骤对于图结构的信息传播至关重要,决定了应该传播多少邻居的信息。均值池化是最直接的聚合操作之一[8, 133, 135, 197, 198],它平等地对待邻居:

均值池化在实现上很简单,但当邻居的重要性差异显著时可能不合适。遵循传统的GCN,一些工作采用了"度归一化" ,根据图结构为节点分配权重:

由于随机游走采样策略,PinSage [190] 在聚合邻居的向量表示时采用了归一化的访问次数作为邻居的重要性。然而,这些聚合函数根据图结构确定邻居的重要性,但忽略了相连节点之间的关系。

受到常识的启发,即与用户兴趣相符的物品的嵌入应更多地传递给用户(类似地,对于物品也是如此),MCCF [158] 和 DisenHAN [107] 利用注意机制来学习邻居的权重[107, 146]。NGCF [155] 则使用元素-wise 乘法来增强用户关心的物品特征或用户对物品具有的特征的偏好。以用户节点为例;聚合的邻居表示计算如下:

NIA-GCN [132] 认为现有的聚合函数未能保留邻域内的关系信息,因此提出了成对邻域聚合方法,以明确捕捉邻居之间的相互作用。具体而言,它对每两个邻居应用元素-wise 乘法来建模用户-用户/物品-物品关系。

信息更新

在从邻居聚合的信息的基础上,如何更新节点的表示对于迭代信息传播至关重要。根据是否保留节点本身的信息,现有方法可以分为两个方向。一种是完全丢弃用户或物品节点的原始信息,使用邻居的聚合表示作为新的中心节点表示[8, 55, 156, 197],这可能忽视了用户偏好或物品属性的内在特性。

另一种方法是同时考虑节点本身和其邻域信息来更新节点表示。最直接的方式是使用求和池或均值池操作将这两个表示线性组合[132, 155, 173, 198]。受到GraphSAGE [50] 的启发,一些工作 [82, 133, 190] 采用带有非线性转换的连接函数来集成这两个表示,如下所示:

其中表示激活函数,例如ReLU、LeakyReLU和sigmoid。与线性组合相比,带有特征变换的连接操作允许更复杂的特征交互。LightGCN [55] 和 LR-GCCF [18] 观察到非线性激活对整体性能贡献不大,他们通过去除非线性性简化了更新操作,从而保持甚至提高性能并提高计算效率。

最终节点表示

逐层应用聚合和更新操作生成了每个GNN深度的节点表示。对于最终的预测任务,需要整体表示用户和物品。

一种主流方法是使用最后一层中的节点向量作为最终表示,即。然而,不同层次获得的表示强调了通过不同连接传递的信息[155]。具体而言,较低层中的表示更反映个体特征,而较高层中的表示更反映邻居特征。为了利用来自不同层输出的连接,近期的研究采用不同的方法来集成来自不同层的信息:

其中是可学习的参数。注意,平均池化和求和池化可以看作是加权池化的两种特殊情况。与平均池化和求和池化相比,加权池化允许更灵活地区分不同层的贡献。在这四种方法中,前三种都属于线性操作,只有连接操作保留了来自所有层的信息。

总结

与本节开头的讨论相对应,我们从四个问题对现有工作进行简要总结:

  • 图构建。最直接的方法是直接使用原始的用户-物品双部图。如果原始图中某些节点的邻居较少,通过添加边或节点来丰富图结构将是有益的。在处理大规模图时,为了提高计算效率,有必要对邻域进行采样。采样是效果和效率之间的权衡,更有效的采样策略值得进一步研究。
  • 邻居聚合。当邻居更异质时,用有注意权重的方式聚合邻居比等权重和度归一化更可取;否则,后两者更可取,因为它们计算更简便。明确地建模邻居之间的影响或中心节点与邻居之间的亲和关系可能带来额外的好处,但需要在更多数据集上进行验证。
  • 信息更新。与丢弃原始节点相比,使用原始表示和聚合的邻居表示来更新节点更可取。近期的研究表明,通过去除传统GCN中的转换和非线性操作,可以实现比原始操作更好的性能。
  • 最终节点表示。为了获得整体的用户/物品表示,利用来自所有层的表示比直接使用最后一层的表示更可取。在集成来自所有层的表示的功能方面,加权池化提供了更大的灵活性,而连接操作保留了来自所有层的信息。

image-20240118183156285

序列推荐

序列推荐基于用户最近的活动来预测其下一个偏好,旨在建模连续项目之间的序列模式,并为用户生成准确的推荐[117]。从项目之间的邻接性的角度来看,项目序列可以被建模为图结构化数据。受GNN的优势启发,利用GNN来捕捉用户顺序行为的转换模式,将其转换为序列图正变得越来越流行。

图4展示了GNN在顺序推荐中的整体框架。为了充分利用GNN进行顺序推荐,需要解决三个主要问题:
• 图构建。为了在顺序推荐中应用GNN,需要将序列数据转换为序列图。独立为每个序列构建一个子图是否足够?在仅在两个连续项目之间添加边的基础上,是否添加在几个连续项目之间添加边会更好?
• 信息传播。为了捕捉转换模式,哪种传播机制更合适?有必要区分链接项目的时序顺序吗?
• 时序偏好。为了获取用户的时序偏好,序列中的项目表示应该被整合。是简单地应用注意池还是利用RNN结构来增强连续时间模式?

图构造

与用户-物品交互具有基本的二分图结构不同,时序行为自然以时间顺序表达,即序列,而不是序列图。基于原始二分图构建图是可选的,主要受可扩展性或异构性问题的驱动,而基于用户时序行为构建序列图是在顺序推荐中应用GNN的必要条件。图5展示了顺序行为的代表性图构建策略。

通过将序列中的每个项目视为节点,并在两个连续点击的项目之间添加边,为每个序列构建有向图是最直接的方式。然而,在大多数情况下,用户序列的长度较短;

image-20240118123436412

例如,在预处理的Yoochoose 数据集上,用户序列的平均长度为5.71 [175]。由单个且短序列构建的序列图包含少量节点和连接,有些节点甚至可能只有一个邻居,其中包含的知识太有限,无法反映用户的动态偏好,并且无法充分利用GNN进行图学习。为了应对这一挑战,近期的研究提出了几种策略来丰富原始序列图结构,可以分为两个主流方向。

一种主流方向是利用额外的序列来丰富物品-物品的转换。额外的序列可以是其他类型的行为序列[152],同一用户的历史序列[176],或整个数据集中的部分/全部序列[14, 163, 206, 207]。例如,HetGNN [152] 利用所有行为序列,并在同一序列中的两个连续项目之间构建边,其行为类型作为边的类型。A-PGNN [176] 处理已知用户的情况,因此将用户的历史序列与当前序列合并,以丰富物品-物品的连接。GCE-GNN [163] 和 DAT-MDI [14] 利用所有会话中的物品转换来辅助当前序列中的转换模式,从而利用了局部和全局上下文。与将所有转换视为相等的 GCE-GNN [163] 和 DAT-MDI [14] 不同,TASRec [207] 更注重最近的转换,以增强更近期的转换。DGTN [206] 不同于将所有会话都纳入考虑,它仅将与当前会话相似的会话添加到当前会话,基于这样的假设:相似的序列更可能反映相似的转换模式。所有这些方法都引入了更多的信息到原始图中,并相对于单一序列图提高了性能。

另一种主流方法是调整当前序列的图结构。例如,假设当前节点对超过一个连续项目有直接影响,MAGNN [102] 提取了三个后续项目并在它们之间添加了边。考虑到仅在连续项目之间添加边可能会忽略远离项目之间的关系,SGNN-HN [113] 引入了一个虚拟的 "星" 节点作为序列的中心,与当前序列中的所有项目相连接。 "星" 节点的矢量表示反映了整个序列的整体特征。因此,每个项目都可以通过 "星" 节点获取一些与之无直接连接的项目的知识。Chen和Wong [19] 指出,现有的图构建方法忽略了邻居的时序信息,导致了无效的长期捕获问题。因此,他们提出了LESSR,从一个序列构建两个图:一个区分邻居的顺序,另一个允许从物品到其后所有物品的捷径路径。

除了上述两种主流方向外,最近还出现了其他图构建方法。受到超图在建模非配对关系方面的优势的启发,超图已被利用来捕捉物品之间的高阶关系和跨会话信息。SHARE [148] 为每个会话构建一个超图,其超边由各种大小的滑动窗口定义。DHCN [182] 将每个会话视为一个超边,并将所有会话集成到一个超图中。为了明确纳入跨会话关系,DHCN [182] 和 COTREC [181] 构建了会话对会话图,将每个会话视为一个节点,并根据共享的物品分配权重。

信息传播

在给定一个构建好的序列图后,设计一个高效的传播机制以捕捉物品之间的转换模式是至关重要的。GGNN框架被广泛采用来在有向图上传播信息。具体而言,它使用均值汇聚分别聚合前后项目的信息;将两个聚合表示组合起来;并利用GRU [89] 组件来整合邻居和中心节点的信息。传播函数如下:

其中 分别表示前一项目和后一项目的邻域集合,GRU ( ) 代表GRU组件。与汇聚操作不同,GRU中的门机制决定了应该保留和丢弃哪些信息。不同于GGNN,它平等地对待邻居,注意机制也用于区分邻居的重要性 [12, 115, 163]。所有上述方法在消息传递过程中采用排列不变的聚合函数,忽略了邻域内项目的顺序,可能导致信息的丢失 [19]。为了解决这个问题,LESSR [19] 在图构建中保留了项目的顺序,并利用GRU组件 [89] 按顺序汇聚邻居,如下式所示:

其中 表示按时间排序的 邻域中的第 个项目, 表示汇聚 个项目后的邻域表示。

对于具有超图结构的序列图,DHCN [182] 采用了典型的超图神经网络HGNN [36],它在传播过程中平等地对待节点。为了区分同一超边中项目的重要性,SHARE [148] 设计了两个注意机制,以传播项目节点的信息。一个是超边,另一个是超边的信息到连接的项目节点。对于用户感知的序列推荐,A-PGNN [176] 和 GAGA [116] 隐式地将用户信息纳入,并用用户表示增强邻域中项目的表示。

序列偏好

由于传播次数有限,GNN 不能有效地捕捉项目之间的长程依赖关系 [19]。因此,序列中的最后一个项目(或任何项目)的表示不足以反映用户的顺序偏好。此外,将序列转换为图的大多数图构建方法会丢失部分顺序信息 [19]。为了获得有效的序列表示,现有的研究提出了几种策略来整合序列中的项目表示。

考虑到序列中的项目具有不同的优先级,注意机制被广泛用于整合。一些工作 [113,116,175,206] 计算最后一个项目与序列中所有项目之间的注意权重,将项目表示聚合为全局偏好,并将其与本地偏好(即最后一个项目的表示)一起作为整体偏好。通过这种方式,整体偏好在很大程度上依赖于最后一个项目与用户偏好的相关性。受多层自注意力策略在序列建模中的优越性启发,GC-SAN [185] 在由GNN生成的项目表示之上堆叠多个自注意力层,以捕捉长程依赖关系。

除了利用注意机制进行序列整合外,顺序信号明确纳入整合过程。例如,NISER [48] 和 GCE-GNN [163] 添加位置嵌入,这些嵌入反映了项目的相对顺序,从而有效地获得位置感知的项目表示。为了平衡连续时间和灵活的转换模式,FGNN [115] 使用带有注意机制的GRU来迭代更新用户偏好,其中使用了序列中的项目表示。

上述所有工作都是将用户行为序列中的项目表示整合起来生成顺序偏好的表示。除了这些方法之外,DHCN [182] 和 COTREC [181] 在图构建步骤中通过会话对会话图丰富了序列图。因此,它们将从会话对会话图中学到的顺序表示与在此步骤中从项目聚合得到的表示相结合。

总结

这一部分简要总结了在三个主要问题方面讨论的研究工作。

  • 图的构建。最直接的构建方法是在两个连续的项目之间添加边。当序列长度较短时,利用额外的序列可以丰富序列图,如果额外的序列更类似于原始序列,则更可取。另一种方法是调整行为序列的图结构。关于哪种方法更好,目前尚无明确的结论。此外,将会话对会话图整合到序列图中也被用于进一步提升性能。
  • 信息传播。大多数传播方法是传统 GNN 框架中传播方法的变体,关于哪种方法更好尚无共识。一些复杂的传播方法,如LESSR [19],以更多的计算成本换取性能提升。在实践中是否采用复杂的传播方法取决于计算成本和性能提升之间的权衡。
  • 顺序偏好。为了获得顺序偏好,注意机制被广泛用于整合序列中项目的表示。除此之外,添加位置嵌入可以增强项目的相对顺序,并带来一些改进。是否利用RNN结构可以提升所有序列推荐任务的性能需要进一步研究。

image-20240118123907575

社会推荐

随着在线社交网络的出现,社交推荐系统被提出,旨在利用每个用户的本地邻居的偏好来增强用户建模 [43, 65, 103, 104, 172]。所有这些工作都假设具有社交关系的用户应该基于社交影响理论具有相似的表示,即相互连接的人会互相影响。其中一些直接将这种关系用作正则化项,以约束最终用户表示 [65, 104, 105, 138],而其他一些则将这种关系用作输入,以增强原始用户嵌入 [43, 103]。

从图学习的角度来看,上述提到的早期工作可以被视为对每个用户建模其一阶邻居。然而,在实践中,一个用户可能受到她/他的朋友的朋友的影响。忽视先前工作中的高阶影响扩散可能导致次优的推荐性能 [172]。由于具有模拟用户如何受到递归社交扩散过程影响的能力,GNN 已经成为在推荐中建模社交信息的热门选择。

要通过利用GNN将用户之间的关系纳入交互行为中,有两个主要问题需要解决:

  • 朋友的影响。朋友是否具有相等的影响力?如果不是,如何区分不同朋友的影响力?
  • 偏好整合。用户参与两种类型的关系,即与朋友的社交关系和与物品的交互。如何从社交影响的角度整合用户表示和交互行为?

朋友的影响

 

基于知识图谱的推荐

社交网络反映用户之间的关系,被用来增强用户的表示,而知识图表达了物品之间通过属性表达的关系,被用来增强物品的表示。将知识图纳入推荐中可以带来两方面的好处[144]:(1)知识图中物品之间丰富的语义关系有助于探索它们的连接并改进物品表示,(2)知识图连接了用户历史交互的物品和推荐的物品,提高了结果的可解释性[189]。

尽管存在以上好处,将知识图纳入推荐仍然具有挑战性,因为它具有复杂的图结构,即多类型实体和多类型关系。先前的研究通过知识图嵌入(KGE)方法对知识图进行预处理,以学习实体和关系的嵌入,例如 [26, 146, 196, 202]。常用的 KGE 方法的局限性在于它们专注于建模具有过渡约束的严格语义相关性,更适用于与图相关的任务,如链接预测,而不适合推荐任务[145]。基于元路径的方法手动定义携带高阶信息的元路径,并将其输入到预测模型中,因此它们需要领域知识,并且对于复杂的知识图而言相当费力[147, 154]。

在考虑了用户-物品交互信息以及知识图的情况下,基于知识图的推荐旨在充分利用知识图中的丰富信息,通过明确捕捉物品之间的相关性来估计用户对物品的偏好。对于知识图推荐的有效性,有两个主要问题需要解决:

  • 图的构建。如何有效地整合用户-物品交互的协同信号和知识图中的语义信息?应该将用户节点明确纳入知识图中,还是隐式使用用户节点来区分不同关系的重要性?
  • 关系感知的聚合。知识图的一个特点是它在实体之间有多种类型的关系。如何设计关系感知的聚合函数以聚合来自连接实体的信息?

其他任务

在这四种任务之外,研究人员开始利用GNN来提升其他推荐任务的性能,如POI(兴趣点)推荐和多媒体推荐。在本节中,我们将分别总结每个任务的最新发展。

POI推荐在基于位置的服务中起着关键作用,利用地理信息捕捉POI和用户历史签到之间的地理影响,以建模过渡模式。在POI推荐领域,有几种图数据,例如用户-POI二分图,基于签到的序列图和地理图;即,某一距离内的POI相连,边的权重取决于POI之间的距离 [10, 92]。SGRec [88]通过将其他签到的相关POI添加到签到序列中来丰富签到序列,从而允许协同信号在序列之间传播。Chang等人 [10] 认为用户连续访问两个POI的次数越多,这两个POI之间的地理影响就越大。因此,签到不仅反映了用户的动态偏好,还指示了POI之间的地理影响。为了明确纳入POI之间的地理分布信息,序列图中的边的权重取决于POI之间的距离 [10]。

群组推荐旨在向一组用户而不是单个用户建议物品 [59],根据其历史行为。存在三种类型的关系:用户-物品,其中每个用户与多个物品交互;用户-群组,其中一个群组由多个用户组成;群组-物品,其中一组用户都选择相同的物品。在群组推荐中,“群组”可以被视为连接用户和群组的桥梁,它可以被视为图的一部分或不被视为图的一部分。以下是分别对应这两种策略的两个代表性作品。GAME [59] 在图中引入了“群组节点”并应用GAT为每个交互邻居分配适当的权重。通过传播扩散,群组表示可以通过与交互物品和用户一起进行迭代更新。然而,这种方法无法直接应用于群组动态变化且不断形成新群组的任务。与前一种转导方法不同,GLS-GRL [153] 以归纳方式学习群组代表,为每个群组专门构建相应的图。通过整合参与群组的用户表示生成群组表示,可以解决新群组问题。

捆绑推荐旨在为用户整体推荐一组物品。存在三种类型的关系:用户-物品,其中每个用户与多个物品交互;用户-捆绑,其中用户选择捆绑;捆绑-物品,其中捆绑由多个物品组成。对于群组推荐,“群组”由用户组成;对于捆绑推荐,“群组”表示一组物品。类似地,关键挑战是获取捆绑表示。BGCN [11]将这三种关系统一到一个图中,并从用户的角度设计了项目级和捆绑级传播。HFGN [87]将捆绑视为用户通过捆绑与物品互动的桥梁。相应地,它在用户-捆绑交互和捆绑-物品映射之上构建了一个分层结构,并进一步捕捉了捆绑内的物品-物品交互。

点击率(CTR)预测是大规模工业应用中推荐系统的重要任务,它基于多类型特征预测点击率。CTR的关键挑战在于模型特征交互和捕捉用户兴趣。受GNN的信息扩散过程启发,最近的一项工作Fi-GNN [90]使用GNN来捕捉特征之间的高阶交互。具体而言,它构建了一个特征图,其中每个节点对应一个特征字段,不同字段通过边相互连接。因此,特征交互的任务转化为在图上传播节点信息。尽管Fi-GNN具有相当的性能,但它忽略了用户行为中隐含的协同信号。DG-ENN [46]设计了属性图和用户-物品协同图,并利用GNN技术捕捉高阶特征交互和协同信号。为了进一步缓解用户-物品交互的稀疏问题,DG-ENN使用用户-用户相似关系和物品-物品转移丰富原始用户-物品交互关系。

多媒体推荐一直是一项核心服务,帮助用户识别感兴趣的多媒体内容。其主要特点是内容以多模态存在,例如文本、图像和视频。最近,研究人员开始采用GNN来捕捉用户与多模态内容的交互中的协同信号。例如,MMGCN [165]为每种模态构建一个用户-物品二分图,并分别应用GNN来传播每个图的信息。整体用户/物品表示是不同模态的用户/物品表示的总和。GRCN [164] 则利用多模态内容来调整用户-物品交互的连通性。对于每个传播层,GRCN采用不同模态中用户-物品相似性的最大值作为用户-物品交互边的权重,并使用相应的权重来聚合邻居。MKGAT [134]将用户节点和多模态知识图统一到一个图中,并采用关系感知的图注意网络来传播信息。考虑到实体的多模态特性,MKGAT设计了实体编码器将每个特定的数据类型映射为一个简洁的向量。


面向ACG编程