作者:九羽,叁品炼丹师
Graph Neural Networks in Recommender Systems:A Survey
背景
随着在线信息的爆炸式增长,推荐系统在缓解此类信息过载方面起着关键作用,同时由于推荐系统具有重要的应用价值,这方面的研究一直很热门。图神经网络GNN(Graph Neural Networks)也在很多领域表现优异。推荐系统主要的挑战是从历史交互和边信息中学习有效的用户和物品表示,由于很多信息具有图结构的特点,而且图神经网络擅长表示学习,所以很多工作将图神经网络应用到推荐系统中。
本文全面回顾了图神经网络在推荐系统中的相关工作,同时,对图神经网络在推进系统中的应用提出了一种新的分类体系,并阐述了有关该领域未来发展的一些观点。
本文的脉络
推荐系统中大部分信息具有图结构,例如社交关系、知识图谱、user-item交互组成的二部图(bipartite graph)、序列中的item转移图。图神经网络能够通过迭代传播捕捉高阶的交互,并且能够有效地整合社交关系和知识图谱等边信息。
主要主要围绕以下三个方面进行阐述: 1)构建新的分类体系; 2)对已有方法的全面回顾; 3)畅想未来的研究方向。
推荐系统与图神经网络概述
推荐系统
推荐系统可以划分为传统推荐系统和序列化推荐系统 。
- 传统推荐 认为用户具有静态的兴趣偏好,并根据隐式或显式反馈建模用户和物品间的匹配程度。从图的角度,user-item交互可以看做是二部图,图神经网络可以捕捉user-item交互,并学习user和item表示。另外,边信息也可以用来提升推荐性能,常见的策略是增加正则项或者融合边信息的表示。
- 序列化推荐 捕捉item序列中的序列化模式,为用户推荐下一个感兴趣的物品。主要有基于马尔科夫链、基于RNN、基于注意力和自注意力机制的方法。随着图神经网络的出现,一些工作将item序列转换为图结构并用图神经网络捕捉其中的转移模式。
图神经网络
图神经网络可以通过节点间的消息传播捕捉图上的依赖。图神经网络的主要思想是:迭代地聚合邻域信息,并整合聚集后的信息与当前节点的表示。根据是否使用谱卷积算子,图神经网络模型可以划分为谱方法和非谱方法。谱方法在傅里叶域上定义图卷积算子,需要原始的图结构表示节点间的关系。非谱方法需要设计聚合器和更新器。聚合器用于聚合来自邻居的消息,更新器用于融合邻居节点和中心节点。四种常见方法为:GCN、GraphSage、GAT、GGNN。
为什么用GNN进行推荐?
在推荐系统中使用图神经网络的目的有两点: 1)推荐系统中大多数据具有图结构; 2)图神经网络擅长捕捉节点间的连接和图数据的表示学习。
最近,图神经网络相比于随机游走等传统的图学习方法取得了更好的表现。对于二部图,图神经网络能够迭代地从交互的items中传播信息,并更新用户向量,可以增强user或者item表示。图神经网络还可以学习边信息的压缩表示,学习到的向量可以整合到交互数据的表示中以提升性能,另外的策略是结合多个图到一个异质图,然后在全图上传播信息。
基于图神经网络的推荐分类
根据用到的信息类型和是否考虑物品顺序进行分类,我们可以列出以下模型:
传统推荐系统
传统推荐旨在通过利用用户项交互数据对用户偏好进行建模,从而提供反映每个用户长期兴趣的静态推荐列表。然而,在数据稀疏和冷启动的情况下,推荐系统的性能急剧下降。为了解决这两个问题,研究人员试图利用社会网络和知识图等辅助信息。
1)不含边信息的推荐
该视角下推荐系统的关键问题是矩阵补全。从图的角度,矩阵补全可以看做是图上的链接预测问题。图神经网络可以捕捉高阶交互,在二部图上应用图神经网络就是利用用户交互过的物品增强用户表示,对item同理。SVD 同样也是利用用户交互过的物品增强隐语义模型,所以单层图神经网络可以看做是SVD 的增强版本,多层图神经网络能够有效模拟信息扩散过程。
总体框架
主要挑战是如何传播用户交互过的物品信息给用户,如何传播用户信息给物品。图神经网络在二部图上的应用存在四个关键问题:
- 构图 :考虑计算效率,如何采样邻居节点;
- 邻居聚合 :如何从邻居聚合信息,多少信息应该被传播;
- 信息更新 :如何整合中心节点的表示和从邻居聚合来的表示;
- 最终节点表示 :用最后一层的表示还是结合所有层的结点表示
经典方法
- GC-MC(Graph Convolutional Matrix Completion)
- STAR-GCN (STAR-GCN: stacked and reconstructed graph convolutional networks for recommender systems)
- NGCF(Neural graph collaborative filtering)
- PinSage(Graph convolutional neural networks for web-scale recommender systems)
- IG-MC(Inductive matrix completion based on graph neural networks)
2)社交网络增强 社交网络是一个同质图,先前的工作通过增加社交正则项限制社交朋友具有相似的表示;或结合朋友的表示得到最终的用户表示。由于社交影响在社交网络中递归地传播和扩散,这符合图神经网络迭代传播的特征,所以最近的工作用图神经网络来模拟用户是如何被社交扩散过程影响的。
总体框架
社交图的两个特性:
- 边表示社交关系,但不知道关系强弱;
- 能够增强user-item交互,从社交图学到的知识可以增强用户表示。
对应两个特性,有两个问题需要解决:
- 朋友影响:是否有不同的影响,如何区别这些影响;
- 偏好整合:如何整合社交影响和交互行为,存在两种策略,一种交互图和社交图分别建模,一种将u-i交互和社交关系融合到一个图中统一建模。
代表性的方法
- DiffNet(A neural influence diffusion model for social recommendation)
- GraphRec(Graph neural networks for social recommendation)
- DANSER(Dual graph attention networks for deep latent representation of multifaceted social effects in recommender systems)
- DiffNet (DiffNet : A Neural Influence and Interest Diffusion Network for Social Recommendation)
总结
- 影响力建模 利用注意力机制来区分朋友的不同影响比mean-pooling方式表现更好,另外来自朋友的影响力也受item的影响,因此DANSER建模动态的朋友表示。
- 偏好整合 该场景下存在两种类型的图,有两种策略融合两个网络:一种分别建模两个图,优势是此时邻居都是同质的;另一种是在一个统一的图上建模,优势在于用户的表示能够同时依赖两种信息进行更新。哪种策略更好,暂无定论。
3)知识图谱增强
只是图谱增强的优势: 1)丰富的语义关联有助于挖掘潜在联系; 2)关系的多样性能够帮助扩展用户兴趣提高推荐多样性; 3)知识图谱能够连接用户历史推荐item,提供可解释性。
将知识图谱应用到推荐系统中的挑战源自知识图谱中复杂的图结构、多类型的实体和关系。先前工作通过知识图谱embedding的方法学习实体和关系的表示;或设计meta-path聚合邻居信息。最近的工作利用图神经网络来捕捉item-item关系。
代表性的方法
- KGCN(Knowledge Graph Convolutional Networks for Recommender Systems)
- KGNN-LS(Knowledge-aware graph neural networks with label smoothness regularization for recommender systems)
- KGAT(Kgat: Knowledge graph attention network for recommendation)
- IntentGC(IntentGC: a Scalable Graph Convolution Framework Fusing Heterogeneous Information for Recommendation)
- AKGE(Attentive Knowledge Graph Embedding for Personalized Recommendation)
总结
- 图简化 多种类型的实体和关系为应用图神经网络进行表示学习带来挑战,为此,一些工作会简化图结构,例如AKGE基于最短路径算法重构子图,IntentGC保留user-to-user关系和item-to-item关系分别构建用户和物品子图。图简化能够在损失一些图信息的前提下提高计算效率。
- 多关系传播 知识图谱的一大特性就是多关系。注意力机制广泛用于区分不同关系的重要性,注意力函数能够决定信息如何传播。多数模型考虑节点和关系为邻居加权。
- 用户整合 知识图谱可看作是二部图以外的边信息,但是知识图谱的规模更大。一些工作假设用户有静态的表示来应用图神经网络学习item表示;或者融合两种图,将用户看作是知识图谱中的一种实体。
序列化推荐
序列化推荐根据用户最近的活动预测用户的下一个偏好,它试图对连续项目之间的顺序模式进行建模,并为用户生成适时的推荐。多数现有工作只关注序列中的时序偏好。序列化数据可以先转换为序列图,然后用图神经网络捕捉序列化知识。边信息也可以用来增强序列化信息,但是目前相关工作很少。
不含边信息的推荐
用户偏好要比单纯的连续时间模式复杂,内在的顺序也不是自注意力机制所捕捉的完全随机性。最近的工作通过将每个行为序列建模为图来提升序列行为预测的性能。
整体框架
代表性方法
- SR-GNN(Session-based recommendation with graph neural networks)
- GC-SAN(Graph contextualized self-attention network for session-based recommendation)
- A-PGNN(Personalizing Graph Neural Networks with Attention Mechanism for Session-based Recommendation)
- FGNN(Rethinking the Item Order in Session-based Recommendation with Graph Neural Networks)
- MA-GNN(Memory Augmented Graph Neural Networks for Sequential Recommendation)
总结
- 构图 为将图神经网络应用到推荐系统中,首先就要根据用户行为构建序列图。多数工作在两个连续点击的item之间建立连边,这样只有最近的一个item会影响到当前的item,MA-GNN为一个item后的三个item建立连边。已有工作忽略了连续item之间的时间间隔。
- 信息传播 一些工作利用mean-pooling聚合邻居节点,或利用注意力机制区别邻居的影响。由于GRU在序列化建模中的有效性,多数工作利用GRU整合邻居和中心节点的信息来更新节点表示。
- 序列化偏好 图神经网络的输出是节点表示。序列中所有节点的表示需要被整合为序列的表示。MA-GNN利用mean-pooling聚合,由于序列中的item不是同等重要的,SR-GNN,GC-SAN,A-PGNN应用注意力机制,FGNN结合GRU和注意力。
社交网络增强
社交网络增强的一般推荐假设用户偏好受到朋友的影响且用户的兴趣是静态的,而在序列化推荐中,用户兴趣是动态的而用户也会受到其朋友的影响。在一般推荐中,一些工作只将社交网络看做图数据,其他工作将社交网络和user-item交互图看做图结构,类似的,社交增强的序列推荐也对应两个策略。少有工作关注社交增强的基于会话推荐。
- DGRec(Session-based social recommendation via dynamic graph attention networks)
只考虑社交网络作为图数据,模型通过LSTM从最近的会话行为中抽取用户动态兴趣,在社交网络中,用户的表示是动态的,考虑社交影响可能随上下文不同而不同,模型利用GAT区分不同朋友的影响。实验结果证明了在序列化推荐中考虑动态社交影响的合理性。
未来研究方向
异构图方向
目前SOTA的图神经网络主要适用于同质图,然而推荐系统中的图数据都是异质的,推荐系统中现有的图神经网络都是基本图神经网络的变体,例如PinSAGE和LightGCN。考虑推荐中图数据的特性,值得研究更有效的图神经网络结构,特别是对于异构图,是否设计特定的传播和更新机制能够进一步提升性能?
多图信息集成
为充分利用边信息,有必要有效地结合边信息和user-item交互。现有工作分为两类,一种分别从两种图上学习表示,另一种首先将不同图融合到一个图,之后用图神经网络在统一图上学习。如何更有效地从不同图上结合信息需要进一步研究。
GNN在推荐中的可扩展性
为了处理大规模图,现有研究通过采样方法来构建子图。一些工作应用随机游走策略,一些采用最短路径算法构建子图,采样方法会影响图神经网络的效率。子图的优点在于不用关心全图的规模,缺点在于每个传播层的结点表示都需要重新计算。未来工作可以研究用于邻居构造和batch生成的采样策略。结点部分重用可以节省时间复杂度。
序列推荐中的序列图构造
多数研究连接相邻item,MA-GNN抽取后续的3个item并建立连边,只连接后续的一个还是N个item仍然值得研究。另外,现有工作忽略了item之间的时间间隔的影响。由于图神经网络的性能依赖于序列图,所以如何构建序列图需要进一步研究。
总结
图神经网络在学术界和工业界越来越受到重视。在本文中,我们提供了一个关于基于图神经网络的推荐系统的最新工作的全面回顾。我们提出了一个分类方案来组织现有的方案。对于每一类模型,我们简要地阐明了主要问题,总结了相应的算法框架,并对典型模型所采用的主要问题的策略进行了详细的介绍。 此外,我们还讨论了未来的研究方向。我们希望本文能让读者大致了解这一领域的最新进展。
参考文献
1.Graph Neural Networks in Recommender Systems: A Survey https://arxiv.org/pdf/2011.02260.pdf