Advertisement

Graph Neural Networks in Recommender Systems: A Survey 论文阅读笔记

阅读量:

论文标题:Graph Neural Networks in Recommender Systems: A Survey

发表于:2021 ACM Computing Surveys (CSUR)

作者:SHIWEN WU, FEI SUN, WENTAO ZHANG, BIN CUI

论文地址:https://arxiv.org/pdf/2011.02260.pdf

摘要

基于其在融合节点信息与拓扑结构方面展现出卓越能力的图神经网络(GNN)技术获得了广泛的关注。
在推荐系统领域的主要挑战在于利用交互数据与辅助信息(若有)来推导出具有代表性的用户与项目特征向量。

介绍

推荐系统中的主流建模方法经历了从邻域方法 [3、35、64、89]到基于表示学习框架 [13、50、51、90、110]的演进

以项目为中心的领域方法 [3, 64, 89] 为用户提供推荐之前与其互动过的项目的类似其他项目。

复制代码
* 通过直接使用他们的历史交互项目来表示用户的偏好

通过表示学习理论框架的视角下进行探索与研究,在数据特征提取过程中将用户与项目分别映射到一个共同的空间中构建低维连续子空间

基于矩阵分解的方法 [50, 51] 已经扩展到了基于深度学习的架构 [13, 33, 90, 153]。现已有多种方案致力于通过学习用户的表示和项目的特征来构建相互关系,旨在更精确地推断用户的偏好倾向。

推荐应用程序中的交互数据可采用用户与项目节点之间的二分图来进行表征,在观察到的互动关系则可借助链接进行表征。进一步地,在用户的活动轨迹中也存在项目间的转换关系这一现象同样可被建模为图结构形式。当整合这些外部信息(包括用户间的社交联系 [17, 132] 和与项目相关的知识库 [113, 150])时,则将推荐任务转化为图空间内的特定操作所带来的优势更加凸显出来。从而提供了一个统一的角度来处理推荐系统中所包含的各种异构数据类型

GNN的优势:

  • 构建一个统一的框架来处理推荐应用程序中海量的数据建模问题。
  • 相较于传统的基于用户-项目交互作为模型训练监督信号的隐式协作机制而言,GNN方法能够更加自然且明确地将关键拓扑结构信息编码为提升用户与项目表示表现的形式。
  • 以往的研究者们已通过SVD++[49]和FISM[43]等方法验证交互项目的有效性。基于用户的互动图谱分析视角来看,在推荐系统中使用单层邻居节点进行表示学习已被现有研究证实具有一定的局限性。

工作贡献

该研究构建了一个系统化的分类框架来整合现有基于 GNN 的推荐系统。主要依据其处理的任务将现有作品分为两类:一般推荐与序列化推荐。在此基础上进一步将这两类模型划分为三大类:主要依据其主要作用区分仅利用交互信息、结合社交网络特性以及借助知识图谱特征进行建模。

  • 系统性评估每个类别中的关键挑战。
  • 概述了典型的模型,并解释了其应对问题的方式。
  • 探讨了现有方法的局限性,并提出了六种可能的研究方向。

背景和分类

推荐系统作为两大核心任务的基础框架,在处理用户行为时主要包含两类关键任务:一类是基于成对互动的数据构建用户稳定偏好的刻画;另一类则是基于行为序列的任务来刻画用户变化趋势的发展模式。

一般推荐
复制代码
   * 通常假设用户具有静态偏好,并基于隐式(例如,点击、阅读或购买)或显式(即,评分)反馈对其进行建模。
   * 通用推荐模型的一个常见范式是通过用户和项目的表示来重构用户的历史交互
   * 问题描述: 
 * 给定用户集 U,项目集 I,以及观察到的用户和项目 R 之间的交互:U×I,对于任何用户表示 $ℎ^∗_u$ 和项目表示 $ℎ^∗_i$ 
   * $y_{u,i} = f(ℎ^∗_u,ℎ^∗_i)$
   * 评分函数f(·)可以是点积、余弦、多层感知等,$y_{u,i}$表示用户u对项目i的偏好得分,通常以概率表示
  • 研究现状

  • 早期研究基于矩阵的方法考虑了用户-项目交互,并将推荐视为该过程的完成[52]。

  • 矩阵分解 (MF) 通过在同一个向量空间中对用户和项目进行投影操作来恢复用户的完整交互矩阵,在此过程中推导出用户的偏好感知[52、54、87]。

  • 近期开展的深度学习相关研究中,

  • 其中一项重要研究致力于将辅助信息与现有深度学习技术相结合,

  • 以期进一步提升其推荐性能,

  • 如以下文献所展示的,

  • 文献[47, 110]涉及文本数据,

  • 而文献[44, 115]则聚焦于图像数据。

另一个研究方向采用更为先进的方式去取代传统的矩阵分解方法。多层感知机MLP[33]以及自动编码器结构[90, 138]被引入其中。

顺序推荐

该模型的主要目标是通过分析用户历史交互中的顺序模式来进行预测。
研究者根据用户的匿名性以及行为数据是否按会话划分等条件将这一领域的工作划分为顺序推荐与基于会话的推荐两大类。
其中基于会话的推荐方法可视为一种特殊的顺序推荐技术其核心假设包括用户匿名性和行为按会话划分的特点[84]。

在顺序推荐中,用户的互动历史按照时间顺序排列形成序列。我们用s^u=[i_{s,1}, i_{s,2},...,i_{s,n}]来表示用户u的互动序列,在此定义中i_{s,t}代表用户u在时间段t与之互动的项目项n表示该互动序列的总长度。
而这一任务的核心在于:基于用户u的历史互动记录或辅助信息(若有),预测其在下一个时间段t+1与其进行互动的最有可能项目的具体描述。
而这一目标可以用以下数学表达式来精确描述:
\large i^{*}_{s,n+1} = arg\ max_{i∈I}\ P(i_{s,n+1} = i | s^u)

复制代码
   * 顺序推荐的主要挑战是学习反映用户当前偏好的有效序列表示
   * 研究现状 
 * 早期的工作采用马尔可夫链(MC)[29, 86] 来捕捉项目到项目的转换,假设最近点击的项目反映了用户的动态偏好。
 * 由于循环神经网络 (RNN) 在序列建模中的优势,一些工作使用 RNN 单元来捕获序列模式 [36, 102],为了进一步增强会话表示,
 * 除了最近的项目 [57, 68] 之外,还利用注意力机制来整合整个序列。受到 Transformer [128] 在 NLP 任务中的出色表现的启发,SASRec [45] 和 BERT4Rec [96] 利用自我注意技术对项目交互进行建模,从而为项目到项目的转换提供了更大的灵活性

图神经网络

GNN的主要思想是基于迭代机制集成各邻居节点的属性特征,并通过逐步更新节点表示来完成这一过程 [139, 161]。

在图神经网络架构中,GNN主要通过叠加多个传播层来进行特征提取与信息融合。其中:

  • 聚合过程是指通过收集节点及其属性信息来生成其对应的局部特征表示;
  • 更新过程是指融合当前节点自身特征与所接收的邻居信息以更新自身的状态;
  • 传播过程则指通过连续的聚合与更新操作实现特征信息在图结构中的扩散与更新。

在聚合阶段中,在现有研究中通常会采用两种方式:一种是通过平均池化操作[28, 60]对齐处理每个邻居节点的信息;另一种则是利用注意力机制区分不同邻居的重要性[105].
在更新阶段中,在中心节点与聚合后的邻居信息之间建立联系。
为了使模型更具适应性,在不同场景下采用了多种策略以优化两种表示形式的融合效果。这些策略包括引入GRU机制[60]、进行非线性变换的串联操作[28]以及采用求和运算[105].

基于架构设计框架,该研究将图神经网络模型划分为循环图神经网络(RecGNN)、卷积图神经网络(ConvGNN)、时空图神经网络(STGNN)以及图自动编码器(GAE)[139]。

  • RecGNN 主要致力于通过循环神经网络架构来生成高级节点表示,在每个节点上重复作用相同的参数集。
  • ConvGNN 在每一层中叠加多个具有不同参数设置的传播层,在这种架构下与其他神经网络结合更为灵活且便捷。目前已有大量基于 GNN 的研究工作采用了 ConvGNN 来模拟复杂的传播机制。
  • STGNN 是专为时空数据设计的独特模型架构,在这种模型中可以同时捕获空间与时间上的相互依赖关系。
  • GAE 在无监督学习框架中被广泛应用于图嵌入表示学习。
4个简要框架
  • GCN [48] 提出了一种改进型框架用于实现节点表示的学习过程。该研究通过近似计算图拉普拉斯矩阵的一阶特征向量来实现节点表示的学习过程。具体而言,在每一轮迭代中, 节点会通过融合自身及其邻居节点的表示信息来更新自身的嵌入表示。
    其中符号H^{(l+1)}代表第(l+1)层的嵌入表示矩阵。

基于 GraphSage [28] 的机制,在处理图数据时,默认从每个节点周围提取固定数量的邻居信息,并通过设计 mean、sum 或 max 池化等聚合器对这些邻居数据进行融合处理。随后利用图卷积网络中的线性变换与激活函数对其进行进一步更新和特征提取。

  • GAT [105]认为邻居对中心节点的影响既不完全相同也不受图结构先验地决定,并因此该模型能够通过引入注意力机制来区分不同邻居的作用,并基于所关注节点的邻居信息更新自身表示向量

  • GGNN [60] 是一种典型的 Recurrent Graph Neural Network (ReGNN) 方法,在信息更新阶段应用门控循环单元(GRU)。
    *n^{(l)}_v = \frac{1}{|\mathcal{N}_v|} \sum_{j ∈ \mathcal{N}_v} h_j^{(l)}
    *h_v^{(l+1)} = GRU\left(h_v^{(l)}, n_v^{(l)}\right)

GGNN 能够实现收敛性目标;然而在处理大规模图时可能出现性能瓶颈问题;具体原因在于 GGNN 在每个节点上都需要反复执行循环函数的操作(参考文献[139])。

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

推荐系统代表性图结构

在一般推荐场景中,在用户与项目的二分图(如附图a所示)中可以表示交互数据,在这种情况下用户的连接边表示相应的交互关系。而对于顺序推荐场景,则可以通过构建一个序列图模型来实现一系列项目的关联关系处理,在这种情况下每个项目都可以与一个或多个后续项目建立关联关系。附图1b详细展示了一个典型的序列图示例,在该模型中连续项目的边表示了它们之间存在的直接关联关系与原始序列数据相比该序列图模型允许更为灵活地处理单个项目与其后续项目的关联性问题除此之外还有一些天然地呈现出图结构特征的辅助信息如社交网络和知识库等(如附图c d所示)。
注释内容:

  1. 图表说明:
    第一幅图表展示了二分图模型的具体构建方法;
    第二幅图表则详细描述了序列图模型的具体实现过程。
  2. 图表说明:
    第三幅图表重点介绍了社交网络的基本架构;
    第四幅图表则清晰展示了知识库的知识组织方式。
  3. 其他说明:
    除了上述提到的常见辅助信息之外在实际应用中还可以包含其他类型的辅助信息如用户的使用行为轨迹等

对于一般推荐,研究人员尝试从配对交互中学习用户/项目表示

  • 一般推荐的目标是研究有效的节点表示方法(即用户的表示以及项目的表示),并进一步推导出用户的偏好关系。
    • 对于一般推荐场景而言,在基于图神经网络(GNN)的方法中可以显式建模用户与项目的协作关系这一关键信息;这种关系通过传播机制增强了节点表示的质量。
    • 利用协作关系进行更好的表示学习并非完全新概念;例如,在协同过滤领域已有诸多探索与实践。
      • 例如,在SVD++ [49] 方法中结合了用户的交互记录来提升其嵌入表达能力。
      • 而ItemRank [23] 则是从项目的协作关系出发构建了项目间的关系网络;并通过随机游走算法依据用户的偏好对项目进行排序。
      • SVD++ 方法可被视为利用一阶邻居信息(即直接相连的其他节点)来改进用户的嵌入表达;而ItemRank 则扩展到了两阶邻居范围内的信息融合以提升项目的嵌入质量。
      • 相较于非图模型而言;基于图神经网络的方法更加灵活便捷地处理多阶连接关系;并且能够从高阶邻居中捕获协同过滤相关的有用信息。

对于顺序推荐的研究而言,在基于用户行为数据的分析中,我们深入分析用户的动态偏好和行为特征,并预测用户未来的互动模式。

考虑到不同类型数据在推荐系统中的独特性,研究人员提出了一种基于图神经网络的新方法来处理这些数据的独特模式问题。
为了解决这一挑战,在研究领域中提出了多种基于图神经网络的方法来学习不同类型数据的独特模式。
顺序推荐的核心目标是学习复杂而丰富的图表示形式。
通过GNN架构能够有效地提取节点表示和图整体特征。
相较于传统的序列分析方法而言,在实际应用中整合额外信息往往更为便捷和灵活。
这种转换方式不仅简化了复杂的行为建模过程,并且能够有效提升模型对用户行为的理解能力。
在实际应用中发现,在处理真实世界的数据时整合额外信息往往能够显著提高模型性能。

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

分类的原理在于两个方面:

在这里插入图片描述
  • (1)不同种类的信息展现出各自独特的图结构特征,在应用时应当采取相应的GNN策略;
    * (2)一般推荐与顺序推荐背后的根本依据存在差异:其中一种(即一般推荐)侧重于静态用户偏好分析;另一种(即顺序推荐)则致力于动态偏好建模。
一般推荐
  • 假设所有类别中,默认情况下认为用户的偏好不会随着时间发生变化。我们根据所使用的不同信息类型将其划分为三个子类别。
    • 当缺乏额外辅助信息时,默认模型会将用户与项目的关系建模为一个二分图结构。
    • 借助社会关系数据,GNN技术被用来挖掘出社会影响力,从而提升用户的表征效果。
    • 基于知识图谱数据,通过GNN方法,能够捕捉到项目间的相互关联性,从而增强项目的表征质量。
顺序推荐

主要思路在于识别序列中的转换规律以便于预测后续项目的建议。然而,在现有的研究中,大部分工作仍然局限于基于序列数据来分析用户的偏好变化趋势。这些方法通常先建立一个用户行为的时间序列模型,并运用图神经网络来识别用户的转换行为特征。

一般推荐

概述

基于用户的偏好建模的一般推荐策略主要依赖于利用用户的互动数据来构建反映其个人偏好的个性化内容集合。在实际应用中, 除了基于用户的互动数据之外, 辅助信息(如果可用)通常被用来增强用户的表示或项目的描述性特征. 常见的辅助信息主要包括社交网络与知识图谱. 需要注意的是, 不同类型的辅助信息具有各自独特的图结构特征. 具体而言, 在user-item二部图中存在两类节点, 每个节点的所有邻居都属于同一类别; 社交网络通常表现为同构结构; 而知识图谱包含丰富的实体及其关联关系. 由于不同类型的辅助信息具有其特定的特性需求, 我们可以根据使用的数据类型将模型划分为相应的类别.

  • 现有模型

用户-项目交互信息

GNN 架构从图的角度对推荐任务进行建模。

  • 主要概念包括通过用户的互动带来的物品来提升用户的特征表示,并且利用那些用户之前与之互动过的物品来深化项目的特征描述。
  • 这种方法使得多层图神经网络得以模拟信息传播机制,并更加高效地捕捉到用户与项目之间复杂的高阶联系。

基于用户的项目二分图模型的主要难点在于如何实现关联性信息的传播,并致力于构建最终的用户和项目的表示以便实现预测。

要在二分图上充分利用 GNN 方法,需要处理四个主要问题

  • 图构建过程。该过程对于传播信息的范围和类型具有重要意义。

  • 原始二分图由节点集合构成。

  • 选择在异质二分图上应用 GNN 还是基于两跳邻居重构同质图的原因是什么?

  • 在计算效率的前提下,如何选取代表邻居进行传播而非全局操作?

  • 邻居信息融合 。在处理网络数据时,通常需要解决如何将来自不同邻居的信息进行融合的问题。这主要包括三个关键方面:一是区分不同邻居的重要性;二是构建中心节点与各邻居之间关系模型;三是分析不同邻居之间的互动关系。

    • 综合信息融合 。在这一阶段的任务中,请回答以下问题:如何将中心节点及其邻域综合信息进行融合?
    • 表征构建 。在后续步骤中,请思考并完成以下任务:预测用户对项目的偏好需综合考虑全局用户与项目特征。这一过程的关键在于选择何种表征方式:采用单层特征还是多层特征(包括各层次信息)作为最终表征的基础?
图形构建。
  • 主要采取将GNN整合于用户的表示学习过程中。

  • 用户-项目的二分图存在两个主要问题:

    • 其一是在学习用户和项目的表示有效性时存在不足;
    • 其二是传播过程在面对数量级大的节点时效率低下。
  • 针对第一个问题,现有研究针对原始图结构进行了增强处理,并通过引入额外的边或虚拟节点来拓展其复杂性.

  • 此外,在研究领域中还提出了 Multi-GCCF [98] 和 DGCF [72] 这两种方法.它们主要通过对原始数据集进行建模处理,构建基于两跳邻居的边网络从而生成相应的用户与用户、物品与物品关系网络.这种设计使得各关系网络能够更加全面地反映用户的兴趣偏好和项目的特性关联.

  • 基于这些假设条件下的传播机制能够有效地提取各意图维度的信息,并通过这些信息在网络层面实现各维度表征间的解耦化.最终生成的结果则是这些独立表征空间经过整合后所形成的综合表征向量.

  • 针对第二个问题, 开发出了一种采样策略, 其核心在于实现 GNN 的高效运行并将其扩展至大规模图数据下的推荐场景。

  • PinSage [145] 采用了基于随机游走的技术来开发一种抽样方法, 其主要目标是获取固定大小的核心领域。

  • 通过这种方法, 则使得那些原本与中心节点不直接相连但又具备一定关联性的节点也能被纳入其邻居范围之内。

  • 基于目标用户/项目的单跳邻居构建了子图结构。

  • 封闭式设计降低了对该结构的依赖程度,并增强了模型跨数据集泛化能力。

  • 在获取原始信息与提高计算效率之间存在权衡关系。
    采用更高的随机采样比例以获取更多细节信息的同时,
    减少了对全局拓扑关系的关注程度。
    因此,在传输过程中采用IG-MC的方法更具优势;
    如果选择PinSage,则可能需要平衡更多因素以获得更好的性能表现。
    此外,在实际应用中选择合适的采样策略对于提升模型性能具有重要意义。

邻居聚合
  • 聚合机制在图结构信息传播中起着关键作用,并决定了节点邻居信息的具体传播策略。
  • 平均池化在节点及其邻居的重要性差异较大时使用可能会造成信息损失。

基于现有GCN框架的基础上,《一些研究尝试》[10,31,134]提出了"degree normalization"方法,并依据图结构对节点进行赋予权重*

  • PinSage [145] 在聚合邻居向量表示时采用了基于归一化访问计数的邻居重要性评估方法。

  • 然而这些聚合函数依据图结构确定邻居的重要性 未考虑节点间的连接关系。

  • 基于交互项目的代表性在反映用户偏好的方面有所区别, 研究人员采用了加权机制来区分邻居的重要性[123].

    • NGCF [119] 通过元素产品增强了用户关注的项目的特征或其具有的功能偏好.
    • 以用户节点为例, 邻域表示计算如下:\large n^{(l)}_u = \sum_{i\in\mathcal N_u}\limits\frac{1}{\sqrt{|\mathcal N_u||\mathcal N_i|}}(W_1^{(l)}h^{(l)}_i + W_2^{(l)}(h^{(l)}_i\odot h^{(l)}_u)

*NIA-GCN [97] 认为传统的邻域聚合函数难以保持节点间的关系信息,并因此提出了一种成对邻域聚合机制以显式捕捉节点间的相互作用。该方法通过在每对邻居间执行元素相乘操作来模拟不同实体间的关联,并进一步优化了这一过程以提高预测精度。值得注意的是这些方法虽然表现出良好的效果 但它们在处理不同类型互动场景时表现欠佳 为此本研究提出了一种多层次的集成学习策略用于提升模型性能 即使得模型能够更好地适应复杂的数据分布特性。

信息更新

在迭代信息传播过程中更新中心节点的表征方式对于聚合邻居表征和中心节点表征的整体构建机制至关重要。
已有研究表明,在构建聚合邻居表征时,
一种常见的做法是将邻居节点的信息通过某种方式进行汇总,
这种做法虽然能够生成新的中心节点表征,
但完全舍弃了用户或项目节点的原始信息,
从而可能导致遗漏重要的偏好特征。
另一些研究则综合考虑了中心节点自身及其邻域的消息来更新其表征。
这些方法通常会结合使用 sum-pooling 和 mean-pooling 等操作进行表征融合。
基于GraphSage的设计理念,
在基础上的一些变体尝试引入非线性变换来优化表征融合效果。
进一步简化GNN结构的研究者们发现,
即使去掉某些复杂的操作也能维持甚至提升模型性能,
例如LightGCN[31]通过去除特征变换这一简单手段就实现了计算效率与性能水平的最佳平衡。

最终节点表示

逐级运用聚合与更新操作会对 GNN 的每一层次产生相应的节点表征。为了实现预测目标,
一些研究工作 [55, 101, 104, 125, 145, 151] 将 GNN 最终状态定义为其最后一层各节点向量,
h^∗_u = h^{(L)}_u
然而,
不同层次所获得的信息则侧重于通过不同连接传播的内容[119]。
值得注意的是,
较深层别所反映的是个体特性,
而高层数则体现群体属性。

为了整合不同层次输出之间的联系关系, 最近的研究采取了多种表征集成的方法进行探索。
拼接作为一种主要手段, 已经成为特征提取的重要工具。
该方法通过融合各层次的信息实现对sum-pooling [121]的支持。
在处理来自各个层级的信息时, 该方法并未偏向于特定一种聚合方式

复制代码
* 将所有层的表示与逐层加权池化 [31, 31, 130] 集成,

平均池化与累加池化可被视为分层加权聚合机制的两种典型表现形式。
平均而言,
多层GNN架构能够有效构建复杂的特征表达能力,
其优势在于能够捕捉长距离依赖关系的同时,
还能通过充分融合各层次节点的信息来提升表示能力。
然而,
在实际应用中发现过多层数可能导致模型过于平滑。
基于这一发现的研究人员近期提出了自适应机制来平衡这种权衡。

社交网络增强

早期研究假设具备社会关联的用户应具备基于社会影响理论的类似表示。然而,在实际应用中却存在不同的方法论取向:一部分研究直接将这种关系作为约束条件用于用户的最终表示建模[40, 75, 76, 103];另一部分则将其作为一种输入特征来提升原始用户的嵌入质量[25, 74]。

在图学习的视角下,在于上述早期工作的局限性仅限于基于每个用户的直接邻居来进行粗略的社会影响力建模,并未考虑到因递归扩散导致的影响传播机制

然而,在实践中,在线购物平台的用户体验可能也会受到平台内好友好友的影响。
若平台未能充分考虑前一阶段的工作成果中的高阶传播效应,则可能导致用户体验质量下降[132]。
基于其能够模拟用户的动态行为模式(即通过递归传播过程反映真实的社会关系网络特征),GNN因其逐渐成为在线购物平台中用于社会信息建模的核心技术而备受关注。

为了解决如何将用户间的关系整合到互动行为中这个问题,必须借助GNN模型来分析用户的社交网络特征及其在互动模式中的作用。必须解决的关键挑战包括:分析用户的社交网络特征及其在互动模式中的作用。

  • 朋友们的作用是什么?它们是否具有相同的影响力?如果有差异,则需如何鉴别不同类型的朋友所带来的影响。
    • 在偏好融合方面的问题……应如何从社会层面及交互行为维度对用户的特征进行综合考量?
朋友影响

DiffNet [132] 借助均值池化操作实现了对朋友影响的公平对待。然而这一等影响理论模型与实际情况不符 用户影响力并非仅由好友数量决定 因此 大多数研究 [17 131 135] 开发了基于注意力机制的方法 来区分不同邻居之间的影响程度 最近的研究 ESRF [147] 提出 社交关系并非总是可靠的 社交信息的不可靠性主要体现在两方面:一方面 社交关系明确的用户可能不具备影响力;另一方面 可能存在的社交关系信息并不完整 在不筛选可靠社交关系的情况下 简单纳入所有新邻居可能会导致推荐性能下降 因此 ESRF 利用自动编码器机制 对于不可靠的社会关系进行了过滤 并通过动态调查潜在的新邻居 来优化观察到的社会关系网络

偏好整合
  • 基于社交的推荐系统覆盖了用户的多种互动场景,在数据组织架构上主要涵盖两类网络结构:一类是基于用户的二分图模型(User-Project Bipartite Graph),另一类则是传统的社交关系图(Social Relation Graph)。
    • 为了整合这两类数据以提升用户的偏好表示能力,在现有研究中主要采用两类不同的方法来综合两个网络中的关键信息。

策略

  • 一种是从这两个网络中各自提取用户特征向量[17、132、135]并将其融合到最终的偏好向量中(如图a所示);
    * 另一种是通过构建一个统一模型将这两个网络集成,并利用GNN进行信息传播(如图b所示)。

第一种策略的优势在于两个方面:

  • 首先, 可以区分两个网络在扩散过程中的深度, 因为它们各自独立处理;
  • 此外, 所有基于用户的二分图方法均可直接应用于社交网络. 由于社交网络本质上是同构图, GNN 技术非常适合模拟影响过程, 因为这种方法最初就是针对同构图设计的.
  • 这里有两种典型的方法.
  • 遵循 SVD++ 框架, DiffNet [132] 将来自两个空间中的用户表示与 sum-pooling 操作相结合. 其中, 在项目空间中获取用户的偏好时, 是通过历史项目的均值池操作获得的;而在社交网络中获取用户的表示时, 则是利用 GNN 技术学习的一跳邻居信息.
  • 将交互项目的平均嵌入表示作为项目空间中的用户偏好等价于 GNN 视图中的聚类邻居向量.
  • DiffNet [132] 简单地将来自两个图的用户表示进行线性加法结合。

为了彻底融合这两个潜在因素, 该算法在级联向量上采用了多层次的MLP架构, 并通过引入非线性操作以加强特征间的相互作用。

第二种策略的优势在于,

复制代码
  * 社交网络中的高阶社会影响力扩散和用户-项目二分图中的兴趣扩散都可以在一个统一的模型中进行模拟,这两种信息同时反映了用户偏好。
  * 在每一层,DiffNet++ [131] 设计了一个多层次的注意力网络来更新用户节点。 
    * 它首先利用 GAT 机制分别聚合二部图(即交互项目)和社交网络(即朋友)中的邻居信息。
    * 考虑到不同用户在平衡这两种关系时可能有不同的偏好,它进一步利用另一个注意力网络来融合邻居的两种隐藏状态。

知识图增强

体现用户间互动关系的社交网络被用来提升用户的行为模式描述能力;而利用属性化表达实体间的关联性则有助于增强实体间的关联表示能力。将这一技术整合至推荐系统中不仅能够提升推荐结果的质量还能够优化用户体验[111]:

  • 知识图谱中各项目间的充足语义关联性有助于发现项目间的联系,并提升其表示能力;
    • 知识图谱通过整合用户的历史交互项与推荐项实现了结果的高可解释度。

早期研究采用了知识图嵌入 (KGE) 方法对知识图进行前处理,为了实现实体与关系的嵌入学习,并引用了文献 [14, 113, 150, 155]。

  • 常见的 KGE 方法存在局限性在于它们倾向于通过转移约束来建模严格的语义关联关系[112]。
  • 特别适用于涉及图结构的任务如链接预测而非推荐场景[112]。
  • 多数现有研究集中在一个单一的知识图谱上展开工作[73, 83].
  • 这种方法的一个主要缺点是缺乏跨知识图谱的能力,在实际应用中常面临数据孤岛的问题[67].
  • 因此,在推荐系统中使用这种方法可能导致性能下降[68].

基于用户的物品交互记录和构建的知识图谱框架下,知识图谱增强推荐算法旨在充分挖掘知识图谱中丰富的资源,并通过明确提取物品间的关联性来辅助推断用户的潜在偏好。

对于知识图谱增强推荐的有效性,主要有两个问题需要处理:

  • 搭建知识网络 。基于对复杂系统的深入理解以及整合多源数据的需求,一些研究者最先开始构建相应的知识网络体系。在保证足够简洁的同时最大化信息容量,在实现高效管理的前提下实现资源的有效利用。与此同时,在实现高效管理的前提下实现资源的有效利用。
  • 多维关联处理 。在这一过程中需要有效整合用户参与机制
图构建
  • 部分研究则直接采用了 GNN 在原始知识图谱上的应用 [114]。

  • 另外一些研究则采用了基于知识图谱与用户-项目二分图的简化结构进行研究。

  • 其一,这些特性使得在大规模知识图谱上应用 GNN 成为了具有挑战性的任务;

  • 另一个原因是,在利用知识图谱进行推荐时,

  • 必须将用户的特殊角色融入到原有的知识框架中。

  • 然而,

  • 简单地将用户节点作为另一种独立的知识体元可能会引入冗余信息,

  • 这样的处理方式在实际应用中往往难以达到理想的效果。

  • 一种用于简化复杂知识图谱的方法是 IntentGC [158] ,该方法通过将一个多实体知识图中的一阶邻接度映射到二阶邻接度从而实现对复杂关系的建模 ,即仅保留相距一个实体相隔的关系.

  • 具体而言 ,如果两个实体 i1 和 i2 通过一个辅助实体进行连接 ,则该辅助实体的类型将被定义为这两个实体之间的关联关系.

  • 这种策略的优势在于从属性视角实现了多实体知识图与同构知识图的有效转换.

  • 然而 ,这种方法并不适用于大多数场景中的复杂网络 ,因为其在过度简化网络结构时会失去两个实体节点之间重要的链接信息 ,从而导致模型表达能力受限 .

  • 为了关注用户与项目交互中涉及的实体及其关联关系,一些研究首先通过提取将目标用户与目标项目的相关历史交互记录与知识图谱中的语义关联信息构建高阶子图[18, 91]。

  • 基于节点间更短路径关系更能体现两者紧密联系这一假设下,AKGE[91]通过以下步骤构建子图:

    • 利用TransR[63]模型对知识图谱中的实体进行嵌入学习;计算两个实体间的欧几里得距离;选择连接目标用户和项目节点间最短路径的前K条路径。
    • 潜在的问题在于子图结构受到预训练实体嵌入方式及距离度量方法的影响。
  • ATBRG [18]细致地从用户的完整历史行为中探索出目标物品及其多层实体邻居,并利用多个重叠实体进行路径重构以连接用户的活动与目标物品的相关性。ATBRG 通过移除仅包含单一链接的节点来强化信息密集型实体的重要性,并有效地限制了整体网络规模的增长。

  • 尽管这些方法虽然能够生成与目标用户-项目对相关性更高的子图,但它们在预训练嵌入计算资源、复杂路径遍历以及冗余节点剪枝方面的开销都比较大。因此,在实际应用中寻求一种平衡高效性和效果性的子图构建策略仍然是一项值得深入探讨的研究方向。

关系感知聚合
复制代码
  * 为了充分捕捉知识图中的语义信息,在传播过程中应考虑链接实体(即 ei、ej)和它们之间的关系(即 $r_{e_i,e_j}$ )。
  * 此外,从推荐系统的角度来看,用户的角色也可能会产生影响。由于 GAT 在基于连接节点自适应分配权重方面的优势,大多数现有工作在知识图谱上应用了传统 GAT 的变体,即通过链接实体的加权平均值更新中心节点,并且权重根据评分函数分配,记为 ( $e_i,e_j,r_{e_i,e_j},u$ )。关键的挑战是设计一个合理有效的评分函数。
  * 对于将用户节点视为一种实体的工作[18,99,118],当项目节点将使用交互用户和相关属性的信息进行更新时,在传播过程中,用户的偏好预测会溢出到知识图中的实体,其他实体将包含用户的偏好并迭代扩散。 
* 因此,这些工作没有明确地模拟用户对关系的兴趣,而是区分实体对连接节点及其关系的影响。
* 例如,受知识图谱中转移关系的启发,KGAT [118] 根据关系空间中链接实体之间的距离分配权重,较近的实体会将更多信息传递给中心节点。
* 这些方法更适合于构建的包含用户节点的子图,因为通过堆叠有限数量的 GNN 层,用户的兴趣很难扩展到所有相关实体。
  • 针对未整合两种图谱的数据集[112, 114],这些研究通过基于连接关系和特定用户的权重分配机制来清晰地表征了用户对关系的兴趣程度。
    • 例如,在KGCN[114]模型中,默认推荐机制基于用户的与物品之间的点积计算其潜在偏好值。值得注意的是,在这种设计下那些与用户兴趣更为契合的实体能够将更多相关的信息向前传播至中心节点。

顺序推荐

概述

一种称为"序列化推荐系统"的方法旨在模仿前后项目的执行顺序,并通过分析用户的最新活动预测其未来的兴趣点(参考文献84)。这种方法的核心在于利用用户的动态行为轨迹来优化推荐准确性。
基于GNN的优势框架下,该方法通过将用户的顺序行为转化为有向图节点与有向边的形式,从而捕捉到用户行为间的转换规律.值得注意的是,现有的研究大多局限于从单一的行为序列中推断出用户的时序偏好,这种假设在实际场景中往往难以满足需求.此外,节点间存在的额外关系信息也可以被用来辅助提升系统的泛化能力.

现有工作

顺序信息

从项目之间的邻接的角度来看,项目序列可以建模为图结构化数据。

基于序列图表示的基础上

要在顺序推荐中充分利用 GNN,需要处理三个主要问题:

  • 建立图结构。为了在顺序推荐中应用GNN模型,则需将输入的序列数据转化为相应的图表示。

  • 是否需要对每个时间序列分别建立独立的子图?相比只连接两个相邻项目的边,在多个连续项目的连接方式下效果是否会更好?

  • 信息传播过程。为了识别动态变化趋势(transition patterns),哪一种传播机制更适合?是否有必要区分链接项目的先后顺序?

    • 时间偏好识别。为了获取用户的时序偏好(temporal preferences),应当对序列中的各项特征进行综合分析。是仅仅依赖注意力池化就可以达到目标吗?还是应当结合RNN结构以更好地捕捉长期依赖关系?
图形构建

与传统的基于二分图的用户-项目交互不同,在顺序推荐中对时间序列的行为建模通常采用的是以时间顺序呈现的序列而非序列图结构。这种差异源于传统推荐系统更注重用户行为的时间先后关系。
构建原始二分图并非必要步骤,在基于用户的序列行为建模时,则必须先构建特定于用户的序列图才能应用几何深度学习(GNN)模型。
现有研究[26, 82, 83, 136, 141]主要通过将每个用户的点击序列视为一条链状路径,并在此基础上构建有向图来反映用户的兴趣演化过程。然而由于这种方法通常假设用户点击序列较短,在这种情况下由单个短路径所构成的路径图往往包含有限的信息量难以捕捉用户的动态偏好变化。
针对这一局限性近期研究提出了多种改进策略
最直接的方式便是引入外部的行为数据
其中HetGNN[116]通过整合其他行为特征增强了模型的表现
A-PGNN[137]则利用用户已知的历史行为信息来优化当前推荐结果
基于相似性假设DGTN[160]将当前行为与其相似的历史会话整合到同一个图中实现了信息的有效融合
而GCE-GNN[126]则采用了全局与局部结合的方法充分利用了所有会话中的转换信息显著提升了模型对复杂关系的学习能力
这些方法的关键在于如何在原有基础架构上融入额外的信息从而提升了模型的整体性能

另一种主流的做法是调整当前序列的图结构。
主要通过重新设计序列的图连接关系来实现目标。
例如,在某些情况下, 当前节点可能会影响多个后续项目。
具体而言, MA-GNN [73] 通过提取三个后续项目并创建连接边来实现这一目标。
另一方面, 在某些研究中发现, 仅考虑连续项目的连接可能无法捕捉非连续项目的关联关系。
因此, 在构建图时引入虚拟节点有助于简化复杂性。
具体而言, 虚拟"星"节点与所有原始节点相连, 并且其向量表示能够反映整体序列特征。
这样一来, 每个原始节点都可以通过虚拟"星"节点间接获取与其他节点的相关知识。
此外, Chen和Wong [11]指出现有的图构建方法存在不足: 它们忽略了邻居顺序信息, 导致长期依赖捕捉不准确的问题。
针对这一缺陷, 他们提出了LESSR方法: 它从一个序列构造两个不同的图模型: 第一个是区分邻居顺序的模型; 第二是允许从当前项到其之后所有项建立捷径连接的模型.

信息传播。
  • 针对给定序列图,需要开发一种高效传播机制以识别和捕捉项目间的转换模式。
    • 多篇研究文献 [26, 80, 136, 141] 对 GGNN 框架进行了优化以实现有向图中的信息传播。
  • 该方法通过均值池化分别聚合前后项的信息,并将这两种表示相结合,并通过GRU组件整合邻居节点与中心节点的信息。
    • 具体而言,
      • 输入特征 h^{(l)}_j 经过均值池化后得到两个方向上的特征表示:
        • 输入方向特征:n^{in(l)}_{i_{s,t}} = \frac{1}{|\mathcal{N_{i_{s,t}}^in}|}\sum_{j∈\mathcal{N_{i_{s,t}}^{in}}}\limits h^{(l)}_j
        • 输出方向特征:n^{out(l)}_{i_{s,t}} = \frac{1}{|\mathcal{N_{i_{s,t}}^out}|}\sum_{j∈\mathcal{N_{i_{s,t}}^{out}}}\limits h^{(l)}_j
      • 最终融合特征:n^{(l)}_{i_{s,t}} = n^{in(l)}_{i_{s,t}} \oplus n^{out(l)}_{i_{s,t}}
      • 更新过程:h^{(l+1)}_v=GRU(h^{(l)}_v , n^{(l)}_v)

与等价对待邻居的GGNN不同,在一些研究[82, 126]中采用了注意力机制来辨识邻居的重要性。
这些方法在信息传递时采用的是顺序无关的聚合方式,并未考虑邻域内项目的顺序。这可能导致信息丢失[11]。为此LESSR[11]引入了图构造中的项目顺序概念,并按顺序对邻居进行GRU组件聚合。
如上所示,

n^{(l)}_{i_{s,t},k}=GRU^{(l)}\left(h^{(l)}_{i_{s,t},k-1} , n^{(l)}_{i_{s,t},k}\right)

顺序偏好

由于信息传播受限于有限次数的可能性传递,在GNN架构中难以有效建模项目的长期依存关系

鉴于不同项目的优先级差异显著,在处理这类场景时神经网络模型通常会采用注意力机制来进行特征融合

  • 某些研究明确将序列信息纳入整合框架中。
    • 作为研究者,在他们的研究中加入位置嵌入来反映项目的相对顺序。
      从而有效地生成具有位置感知的项目表示。
      在平衡连续时间特征与灵活转换模式之间寻求折衷,
      FGNN [82] 利用带有注意机制的GRU模型来更新用户的偏好与项目的时序表现。

社交网络增强

从用户的连续行为中揭示的动态偏好可以通过其社交网络中的偏好进行补充和提升。然而,在排序推荐场景中充分利用社交关系数据却鲜为人知。这可能源于用户的表示主要基于他们在排序推荐过程中的行为序列(即项目序列),尤其是在用户标识码未知的情况下。动态偏好相比基于用户标识码的静态偏好具有显著优势。

  • 一项有代表性的研究工作主要应用GNN模型处理社会信息,在顺序推荐系统中展现出良好的效果。
    • DGRec [94] 主要通过LSTM机制从用户最近的行为序列中挖掘用户的动态兴趣特征。
    • DGRec 建立了一组潜在嵌入模型以反映用户的静态偏好特征;在社交网络分析中发现用户的表征信息可由静态偏好与动态偏好两部分组成。
    • 研究者注意到社交影响力可能因人际关系的不同而有所差异;为此DGRec采用了GAT模型在传播过程中区分不同好友的影响情况。

知识图增强

  • 项目的表示可以通过它们的语义关联来提升,尤其是在序列数据有限的情况下 [37-39, 108]
  • 序列信息与知识图谱信息既可分别处理,也可整合为一个统一的整体图,类似于常见的推荐机制
  • 目前仅有一种研究尝试将 GNN 应用于知识图增强顺序推荐. Wang 和 Cai [107] 使用 SRGNN [136] 的框架捕获转换模式,并将知识图谱信息整合到键值记忆网络中.如何充分利用这两类信息仍值得进一步研究

未来工作

异构图推荐

  • 异质性是推荐系统中图结构数据的重要特征之一。即推荐系统中的许多图包含多种类型的节点和链接。
  • 最近致力于通过 GNN 方法来处理异构图问题。一些研究 [21, 120] 则采用元路径来指导传播过程。
  • 考虑到邻居聚合策略[149]的工作特点,在这种策略下首先对每种类型内的分组邻居进行聚合处理,并整合不同类型的聚合表示。
  • 一些基于 GNN 的推荐算法也尝试关注异质性问题[98,97]。例如 MBGCN [42] 通过分层聚合机制实现了多行为推荐。
  • 尽管如此,在处理复杂场景如知识图谱这类复杂情况时仍存在不足。
  • 提升计算效率仍是一个亟待解决的问题。

多样化和不确定的表征

除了数据类型的多样性(如用户和项目等节点类型以及不同行为类型等复杂类型)外,在图中通常会发现用户的兴趣也呈现多样性和不确定性[12, 53]。如同以往的研究那样,将单个用户的兴趣简单归纳为一个低维空间中的点难以充分反映其复杂的特征表现。因此,如何有效刻画用户的多重不确定利益属性仍是一个值得深入探索的方向。

一种常见的策略是利用多种方法[70, 71, 127]将单维空间中的用户表征扩展至多维空间,其中分离表示学习[77, 78]以及胶囊网络[56]也被认为是一种有效手段。

例如,DGCF[121]通过施加正交约束优化模型性能的同时动态调整各维度之间节点的连接关系。此外,GNN基推荐模型的发展仍处于初级阶段,未来还有诸多亟待解决的问题需要深入研究

具体而言包括:如何结合用户意图关联信息提取嵌入;如何动态设定每个用户的兴趣维度数量;以及如何设计高效的传播机制用于多维表征信息传播

另一种可行的替代方案是将每个用户表征为一种分布而非单一的数据点。通过将数据表征为多元正态分布(即密度函数),我们可以获得多个优点:
例如,
这种方法能够更好地捕捉表示及其关系中的不确定性,并且比传统的点积、余弦相似度或欧几里得距离更能自然地表达不对称性。
高斯嵌入方法已广泛应用于多种领域以建模数据不确定性,
包括词嵌入 [106]、文档嵌入 [24, 79] 和网络/图嵌入 [5, 30, 124]。
在推荐系统领域,
Dos Santos 等人 [15] 和姜等人 [41] 已经采用高斯嵌入方法来捕获用户的不确定偏好,
从而提升用户的表示能力和推荐效果。
基于密度的表征方法,
例如高斯嵌入,
是一个值得探索的方向,
然而,在基于图神经网络(GNN)的推荐模型中,
这方面的研究仍待进一步深化

推荐中 GNN 的可扩展性

在包含数十亿节点及数百百万特征的数据集(尤其是在工业级推荐系统中)中,
由于内存占用与训练时间均呈现显著增长,
直接应用传统图神经网络面临较大挑战。
主要的方法包括:
一是通过采样减少数据规模,
使现有模型得以适用;
二是通过调整模型架构设计出可扩展且高效的新型图神经网络。
其中,
采样已成为处理大规模图数据的一种基本方法。
一种常用的方式是随机选择固定数量的邻居节点,
另一种则是采用更为复杂的随机游走策略进行采样。
一些研究则从每个用户-项目对出发构建小规模子图。
这种方法虽然能在一定程度上缓解计算压力,
但其缺点在于:
首先,
采样的过程中不可避免地会丢失部分信息;
其次,
现有研究鲜有关注如何设计有效的抽样策略来平衡抽样的有效性与可扩展性之间的关系。

  • 另一个主流方法通过分离非线性运算与后续层间的嵌入权重矩阵[20,31,129]来实现模块化设计。
  • 邻居平均特征仅需在前向传播阶段进行一次预计算处理即可获得较高的可扩展性,并避免了通信开销带来的额外计算负担。
  • 相较于传统GNN而言,在聚合机制和更新规则的选择上存在一定的局限性[9]。
  • 值得进一步研究大规模图的高效表示学习问题。

推荐中的动态图

  • 为确保最新的推荐信息被系统及时获取并应用, 应通过迭代更新机制不断引入最新数据. 从图形学角度来看, 持续更新的数据生成动态图形结构, 而静态图形结构具有稳定性, 因此更适合进行建模分析. 动态图形则包含可变元素, 带来更为复杂的网络拓扑.
  • 构建能够有效应对实际场景中动态图形结构的GNN框架面临诸多困难.
  • GraphSAIL首次探索了在GNN架构中实现增量学习的方法. 该方法关注于捕捉节点间关系的变化特征.
  • 在连续的学习过程中,默认情况下中心节点与其邻域之间的嵌入相似性会被弱化; 在增量学习阶段,默认情况下新获得的嵌入会趋向于与之前的结果保持一致.

推荐中的图对抗学习

GNN在实际应用中面临着较高的安全性风险[142]。具体而言,在推荐系统中,由于图数据往往伴随噪声干扰[32, 142, 154, 163],这会导致模型预测结果的不可靠性。例如,在真实应用场景中,用户可能无意间点击了无关物品,并未能准确捕捉全部社交关系。此外,在恶意攻击下[32, 142, 154, 163],攻击者可能通过注入虚假数据来破坏系统的稳定性。鉴于此,在当前研究领域中对图对抗学习的关注度相对较低[32, 142, 154, 163]。对于基于GNN的推荐系统而言[32, 142, 154, 163]这一领域的探索仍处于起步阶段[32, 142, 154, 163]。因此,在当前研究领域中对图对抗学习的关注度相对较低[32, 142, 154, 163]

推荐中 GNN 的接收域

  • 在推荐系统中处理的数据中发现:每个数据点(即图中的一个结点)的信息接收域包含一组结点(即自身以及在其传播范围内直接相连的所有k阶邻居),其中k值代表了信息传播的具体次数[85]。
    通过叠加多个GNN层能够显著提高模型捕捉高阶关系的能力;然而这种做法可能会导致高阶结点的信息接收区域过于庞大并引入大量噪声;这会导致模型出现"过度平滑"现象[58];进而影响整体性能表现。
    对于低度数结点而言;由于它们只能连接到有限数量的社会圈层;因此单纯依靠一层或多层GNN进行建模就显得力不从心。
    为了更好地捕捉这些结点间的复杂关系;低度数结点则需要采用深度GNN架构以获取足够的邻域信息。

全部评论 (0)

还没有任何评论哟~