文章目录
摘要
近年来,基于图学习的推荐系统(以下简称GLRS)方法越来越多。本文是我阅读论文《Graph learning based recommender systems: A review》所做的笔记。传统的推荐系统有基于文本、协同过滤等方法(后续再总结一篇推荐系统的综述),而使用图学习为用户偏好、商品特征和其它一些特征建模,与传统推荐方法不同。图学习考虑了用户、产品等之间的显式或潜在关系,捕获这些重要信息,以达到更好的推荐效果。在图学习中我们需要了解两个概念:同质图(homogeneous graph)和异质图(heterogeneous graph)。同质图是指图上结点都属于同一类别(例如朋友关系可以构成同质图);异质图是指图上结点的种类不唯一(例如买家和商品都作为结点的图)。下面讨论图学习如何提取图上的重要信息,以及是如何提高准确率的、如何保证可靠性的等问题。
1. 介绍
1.1 图如何表达推荐任务?
这里所说的图,与数据结构与算法中的图定义相同,都是有点和边构成的数据结构。结点可以表示人、商品等,边表示他们的关系,比如两个人是朋友,那他们之间的边表示朋友关系,又比如某人买了某物,那他们之间的边表示购买关系。将用户、产品和一些其他属性作为结点,将他们之间的关系作为边进行建模,这样得到的异质图或同质图,就可以表达推荐任务。
1.2 图学习对推荐系统有效吗?
在机器学习领域,已经有很多成果运用了图学习,并被证明是相当有效的。那么,用图学习来处理推荐任务是大势所趋。
1.3 基于图学习的推荐系统符号化(Formalization)
定义图
G
=
{
V
,
E
}
G=\{V,E\}
G={V,E};
V
V
V表示结点集合,
E
E
E表示边集合。定义推荐模型为
M
(
θ
)
M(\theta)
M(θ),其中
θ
\theta
θ为推荐模型的可学习参数集合。定义推荐模型的推荐效果为
R
R
R,则基于图学习的推荐任务为
R
=
arg
max
θ
f
(
M
(
θ
)
∣
G
)
R=\arg\max_{\theta}f(M(\theta)|G)
R=argθmaxf(M(θ)∣G)
其中函数
f
f
f表示推荐模型的实际效果(或结点间连边的概率,例如将产品A推荐给用户B)。
2. 数据特征和挑战
在推荐系统中,很容易想到的数据有用户、产品、用户-产品之间的交互(即购买、浏览等行为)。如果再考虑上时序信息呢?也就是购买的时间和顺序信息,这对推荐任务非常影响很大,例如用户A今天买了一台笔记本,那么他在接下来的几个月甚至几年里,可能都不会买新电脑,而是可能购买电脑配件(鼠标、U盘等)。综上所述,推荐系统中的图数据信息可以分为三个种类:
- 一般交互数据。即购买、评分、浏览等行为,无时序信息。
- 时序交互信息。如某用户某时刻的购买、浏览等行为及其顺序、时间间隔等。
- 侧面信息。如用户的个人信息、产品的各种属性等。
2.1 一般交互数据
传统的协同过滤推荐方法大多使用该类数据。如鼎鼎有名的矩阵分解推荐方法(基于FunkSVD方法的矩阵分解)。矩阵分解的思想是为每个用户、产品生成一个embedding(理解为可表达该用户/产品的一个向量),设用户u和产品i的embedding分别为 P u P_u Pu和 Q i Q_i Qi,则预测该用户是否会购买该产品的概率(或分值)表示为他们的内积: R = P u T Q i R=P_u^TQ_i R=PuTQi。
还有将矩阵分解与深度网络相结合的方法(NCF)。NCF考虑了矩阵分解存在的局限性(详见论文《Neural Collaborative Filtering》 [ 2 ] ^{[2]} [2]中的叙述):矩阵分解假设用户和产品处在同一个潜在空间,且每个维度相互独立,并以相同的权重将它们线性组合,从而难以在低维潜在空间中使用内积高效地表达预测结果,可以通过增加embedding的维度来抑制,但会导致模型参数量太大而臃肿,以及容易过拟合。进而,NCF中提出了将矩阵分解和深度神经网络结合起来,其大体思路是分别进行矩阵分解和多层前馈神经网络,将两者的隐向量加权拼接,送入一个全连接层,最后进入输出层。
用户-产品交互还可以表示为二分图,则推荐任务变成了二分图的连边预测,详见论文《Recommendation
as link prediction in bipartite graphs: A graph kernel-based machine
learning approach》。然而一个挑战是如何将信息在图上高效地传播。
针对这一挑战,近年来涌现了很多方法。如随机游走、图卷积神网络等等,下文详述。
2.2 时序交互信息
指一段时间内,用户与产品之间发生的、有时间顺序的购买、评分、浏览等行为,该类型数据集可以就表示为有向图,每个交互序列对应图上的一个路径。某些情况下,用户做出相同的行为,可能形成环路。基于有向图学习的推荐系统具有强大的能力,可以表示和建模交互序列中最复杂的信息传递。但仍具有挑战:如何构建一个图来有效地表示顺序交互数据,并以最小的信息损失,以及如何在图上传播信息来有效地建模,甚至是最复杂的转换。
针对这些挑战,近年来提出了一些方法,如门控图神经网络(GGNN)、图注意力网络(GAT)。
2.3 侧面信息
上述两种交互数据往往是稀疏的,不足以捕捉用户偏好和产品特征。因此,各种侧面信息(side information),如属性信息、社会信息等,可以用来缓解这个问题。侧面信息又可以分为3个类别:
- 属性信息。如用户年龄、性别,产品的类别、价格,通常可以和交互数据结合构成含三种结点(用户、产品、属性)的异质图。异质图结合了不同类型的信息,使信息在不同类型的结点上传递,更好地解决了稀疏性问题。挑战在于如何有效的聚合这些信息来提高推荐性能。
- 社会信息。指用户之间普遍存在的社交关系,可构成同质图。每个用户对应一个结点,朋友关系用边表示。基于此,衍生出社交推荐系统(Social Recommendation)和朋友推荐系统(Friend Recommendation)。
- 外部知识。用户和产品等相关的常识,如商品分类和概念之间的语义关系,有助于更深入的了解用户偏好和产品特征,从而提高推荐性能。基于此构成的异质图一般称为知识图谱(knowledge graph),以用户、电影、电影导演等表示结点,他们之间的关系(如电影-导演关系)作为边。
3. 推荐系统中的图学习方法
论文对当前基于图学习的推荐系统做了分类,如下图。可分为三大类,分别是随机游走方法、图上embedding方法、图神经网络方法。
3.1 随机游走方法
在图上,随机游走的基本思路是从一个结点出发,以预定的概率向其邻居结点前进,前进过程中的路径序列纪录下来,作为该结点的信息以表达该结点,从而为推荐模型建模,预测当前结点最有可能前往的结点作为推荐列表。
随机游走方法的缺点:
- 没有用户(结点)每走一步都需要生成所有候选项的排名分值,效率较低。
- 不像大多数基于学习的范式,随机游走是基于启发式的(heuristic-based),缺乏模型参数来优化模型参数。
相关讲解:随机游走 Random Walk
相关文章:Random Walk Graph Neural Networks (随机游走图神经网络)[3]
3.2 图上embedding方法
该方法将图上每个结点映射为一个低维嵌入向量,以表达图结构信息。根据所使用的嵌入方法不同,可以分为3类(同Figure 2):
- 基于图因式分解的推荐系统(Graph Factorization based RS (GFRS))
- 基于图分布表示的推荐系统(Graph Distributed Representation based RS (GDRS))
- 基于图神经嵌入的推荐系统(Graph Neural Embedding based RS (GNERS))
Graph Factorization based RS (GFRS)
该方法首先对图上基于元路径(meta-path)的结点交互矩阵进行因式分解(factorization),得到每个结点的embedding,然后将他们作为后续推荐任务的输入。这种方法是可以处理异质图的,捕获不同种类的结点之间的关系信息,如用户、产品。即便该方法简单高效,但还是会容易收到观测数据稀疏性的影响。
- 相关文章:Unified embedding model over heterogeneous information
network for personalized recommendation [5]
Graph Distributed Representation based RS (GDRRS)
GDRRSs通常遵循Skip-gram模型。Skip-gram模型源自论文《Distributed representations of
words and phrases and their compositionality》[4],原思想是通过句子中的一个单词,预测上下文单词出现的概率,以最大化该概率为目标函数,学得每个单词的词向量。转移到图学习上来说,就是为每个用户或产品结点,根据其邻接关系信息学得(编码为)一个低维嵌入向量,用于推荐模型后续步骤。
具体来说,GDRRSs先使用随机游走方法生成属于同一元路径的结点序列(元路径meta-path指满足特定规则的路径,例如[u-购买-i-浏览-j],u,i,j均为结点,购买和浏览是边,这就是一个特定规则的元路径),然后利用Skip-gram模型(或类似模型)生成结点的低维嵌入向量(node representation)。该方法对同质图和异质图都可行。近年来,GDRRS以其简单、高效、高效的特点显示出了巨大的潜力。
-
相关文章:Heterogeneous information network embedding for recommendation [6]
-
相关文章:Deepwalk: Online learning of social representations [20]
Graph Neural Embedding based RS (GNERS)
GNERS利用了神经网络,像多层感知机、自动编码器等,来学习用户或产品的embedding。图神经嵌入方法很容易和其他基础推荐模型(如基于RNN的)相结合以学习一个端到端(end to end)推荐系统。
端到端:在机器学习(有时会被叫做神经网络,虽然不是同一个概念)中,端到端指使用者直接输入原始材料,直接得到可用的结果,而不用去关心中间的产物。如传入照片,然后直接识别出多个人脸。
两篇相关文章都涉及知识图谱。
-
相关文章:Leveraging meta-path based context for top-n recommendation with a neural co-attention model [7]
-
相关文章:Heterogeneous information network embedding for recommendation [8]
3.3 图神经网络方法(GNN)
图神经网络在图数据上应用神经网络技术。利用GNN在学习有用信息表达方面的优势,一些推荐系统模型已经使用GNN去解决图学习推荐系统的重要挑战。从模型的角度来看,主要分为3类:
- 基于图注意力网络的推荐系统(Graph ATtention network based RS (GATRS))
- 基于门控图神经网络的推荐系统(Gated Graph Neural Network based RS (GGNNRS))
- 基于图卷积网络的推荐系统(Graph Convolutional Network (including GraphSage) based RS (GCNRS))
基于图注意力网络的推荐系统(GAT)
GAT将注意力机制(attention mechanism)引入到GNN中,以有区别的学习不同的关系(relevance),以及给定图上不同其他用户(或项目)对目标用户的影响程度。在现实中,一个关系网中,并不是所有用户(或产品)节点都是同等重要的,而是一部分结点主要影响着局部的关系网;对某个具体的用户来说,他的所有朋友里,总有一些对其影响较大而有些影响甚微。所以有充足的理由将注意力机制应用到图神经网络中去。
注意力机制相关实验:Attentive Pooling Networks[9]
-
提出文章:Graph attention networks [21]
-
相关文章:Graph neural networks for social recommendation [10]. 社交推荐
-
相关文章:Kgat: Knowledge graph attention network for recommendation [11]. 知识图谱
-
相关文章:Graph Contextualized Self-Attention Network for Session-based Recommendation [12]. 基于会话的推荐
基于门控图神经网络的推荐系统(GGNN)
GGNN将门控循环单元(Gated Recurrent Unit)引入到GNN中,通过迭代吸收图中图上其它结点的影响来全面地捕获结点间的关系,从而学得优化的结点表示(Representation,在推荐任务中通常就是embedding)。
-
提出文章:Gated graph sequence neural networks [22]
-
相关文章:Session-based recommendation with graph neural networks
作者提出SR-GNN,将session序列建模为图结构数据。在session图的基础上,GNN可以捕捉到items的复杂转换。每一个session利用注意力机制将整体偏好与当前偏好结合进行表示。
-
相关文章:Dressing as a whole: Outfit compatibility learning based on node-wise graph neural networks [14]. cited by 35
为不同类别的时尚产品之间的复杂交互建模,以提供时尚推荐。
基于图卷积网络的推荐系统(GCN)
GCN一般学习如何利用图结构和结点特征信息从局部图上迭代地聚合邻居结点的特征信息。一般来说,通过卷积和池化操作,GCN能够有效学习用户和产品的信息嵌入,有效聚合来自图上邻居的信息。
-
相关文章:Graph convolutional neural networks for web-scale recommender systems [15]
文章提出了一个局部卷积的概念,不在全局的graph上优化算法,而是给特定的节点形成一个包含有限领域节点的子图,在子图上构造局部卷积,然后不同节点共享同样的局部卷积参数,也许正是因为要共享参数,所以作者把这个叫做卷积吧。
-
相关文章:A neural influence diffusion model for social recommendation [16]
在社交推荐中,GCN用于社交图上的影响力扩散。
-
相关文章:Binarized collaborative filtering with distilling graph convolutional networks [17]
在协同过滤中缓解数据稀疏问题。
-
相关文章:Knowledge-aware graph neural networks with label smoothness regularization for recommender systems [18]
通过挖掘知识图谱上的相关属性来获取项目间的相关性。
4. 经典算法和数据集
大部分经典推荐模型的代码都是开源的,论文作者整理了一个表格,索引请参照原论文。
然后作者有整理了公开的数据集。
5. 开放的研究方向(Open Research Directions)
基于图学习的推荐系统正在快速发展,虽然取得了很多重大成果,但仍存在一些挑战。作者列举了一些开放的研究方向。
Self-evolutionary RS with dynamic-graph learning
基于动态图学习的自进化推荐系统。
在现实中,用户、产品以及他们之间的关系是随着时间不断发展的。这产生了带有动态拓扑的图,这种动态可能会对用户和需求建模产生直接影响,甚至会随着时间的推移导致推荐结果的明显变化。然而,这一问题在现有的GLRS中仍然被低估。因此,在动态图上设计自进化的推荐系统是未来很有前途的研究方向。
Explainable RS with causal graph learning
基于因果关系图学习的可解释性推荐系统。
因果推理是用来发现物体或行为之间因果关系的主要技术。虽然在可解释的推荐系统方面取得了一些进展,但我们离完全理解用户选择行为背后的原因和意图还有很长的路要走,而这是做出可靠和可解释的推荐的关键一步。为此,构建基于因果图学习的可解释推荐系统是另一个有希望的方向。
-
相关文章:A survey and new perspectives.
Cross-domain RS with multiplex graph learning
具有多重图学习的跨域RS
在现实中,用于推荐的数据和交互可以来自多个领域,包括各种来源、系统和模式[Wang et al., 2019d]。这些都是相互关联的,必须协同为建议作出贡献。因此,在跨领域的相互作用推荐系统可以用多路网络表示,其中节点可能与其他层中的其他节点互连,也可能不互连。因此,新一代的跨域推荐系统有可能与多重图学习一起工作。
-
相关文章:A survey on session-based recommender systems.
基于会话的推荐系统综述
High-efficiency online RS with large-scale graph learning
基于大规模图学习的高效在线推荐系统
实际推荐系统中一个不可避免的问题是数据规模大,导致时间和空间成本高。这个问题在基于图学习的推荐系统中更重要,因为图结构通常规模更大而且需要更多的时间和空间来处理数据。因此,有必要研究更高效的算法来加快大规模的在线处理和学习,不断更新模型,生成及时的推荐。
6. 总结
作为人工智能最重要的应用之一在我们的日常生活中,推荐系统(RS)几乎无处不在。图学习(GL)作为一种最有前途的人工智能技术,在学习RS所管理的各种对象之间的复杂关系方面表现出了很强的能力。这就推出了全新的RS范式:基于图学习的推荐系统。
本文对近年来的研究进展、面临的挑战以及未来的研究方向进行了全面、完整的综述,以期为学术界和产业界提供一个参考。
参考文献
[1] Wang, Shoujin, Liang Hu, Yan Wang, Xiangnan He, Quan Z. Sheng, Mehmet A. Orgun, Longbing Cao, Francesco Ricci, and Philip S. Yu. “Graph learning based recommender systems: A review.” arXiv preprint arXiv:2105.06339 (2021).
[2] Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu and Tat-Seng Chua (2017). Neural Collaborative Filtering. In Proceedings of WWW '17, Perth, Australia, April 03-07, 2017.
[3] Nikolentzos, Giannis, and Michalis Vazirgiannis. “Random Walk Graph Neural Networks.” Advances in Neural Information Processing Systems 33 (2020): 16211-16222.
[4] Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean. Distributed representations of words and phrases and their compositionality. In NIPS, pages 3111–3119, 2013
[5] Zekai Wang, Hongzhi Liu, Yingpeng Du, and et al. Unified embedding model over heterogeneous information network for personalized recommendation. In IJCAI, pages 3813–3819, 2019.
[6] Shi, Chuan, Binbin Hu, Wayne Xin Zhao, and S. Yu Philip. “Heterogeneous information network embedding for recommendation.” IEEE Transactions on Knowledge and Data Engineering 31, no. 2 (2018): 357-370.
[7] Hu, Binbin, Chuan Shi, Wayne Xin Zhao, and Philip S. Yu. “Leveraging meta-path based context for top-n recommendation with a neural co-attention model.” In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pp. 1531-1540. 2018.
[8] Shi, Chuan, Binbin Hu, Wayne Xin Zhao, and S. Yu Philip. “Heterogeneous information network embedding for recommendation.” IEEE Transactions on Knowledge and Data Engineering 31, no. 2 (2018): 357-370.
[9] Santos, Cicero dos, Ming Tan, Bing Xiang, and Bowen Zhou. “Attentive pooling networks.” arXiv preprint arXiv:1602.03609 (2016).
[10] Wenqi Fan, Yao Ma, Qing Li, Yuan He, Eric Zhao, and et al. Graph neural networks for social recommendation. In WWW, pages 417–426, 2019.
[11] Xiang Wang, Xiangnan He, Yixin Cao, and et al. Kgat: Knowledge graph attention network for recommendation. In SIGKDD, pages 950–958, 2019.
[12] Chengfeng Xu, Pengpeng Zhao, and et al. Graph contextualized self-attention network for session-based recommendation. In IJCAI, pages 3940–3946, 2019.
[13] Shu Wu, Yuyuan Tang, Yanqiao Zhu, and et al. Session-based recommendation with graph neural networks. In AAAI, pages 346–353, 2019.
[14] Cui, Zeyu, Zekun Li, Shu Wu, Xiao-Yu Zhang, and Liang Wang. “Dressing as a whole: Outfit compatibility learning based on node-wise graph neural networks.” In The World Wide Web Conference, pp. 307-317. 2019.
[15] Ying, Rex, Ruining He, Kaifeng Chen, Pong Eksombatchai, William L. Hamilton, and Jure Leskovec. “Graph convolutional neural networks for web-scale recommender systems.” In Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, pp. 974-983. 2018.
[16] LeWu, Peijie Sun, Yanjie Fu, and et al. A neural influence diffusion model for social recommendation. In SIGIR, pages 235–244, 2019.
[17] Haoyu Wang, Defu Lian, and Yong Ge. Binarized collaborative filtering with distilling graph convolutional networks. In IJCAI, pages 4802–4808, 2019.
[18] Hongwei Wang, Fuzheng Zhang, and et al. Knowledge-aware graph neural networks with label smoothness regularization for recommender systems. In SIGKDD, pages 968–977, 2019.
[19] Yongfeng Zhang and Xu Chen. Explainable recommendation: A survey and new perspectives. arXiv preprint arXiv:1804.11192, 2018.
[20] Perozzi, Bryan, Rami Al-Rfou, and Steven Skiena. “Deepwalk: Online learning of social representations.” In Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 701-710. 2014.
[21] Veličković, Petar, Guillem Cucurull, Arantxa Casanova, Adriana Romero, Pietro Lio, and Yoshua Bengio. “Graph attention networks.” arXiv preprint arXiv:1710.10903 (2017).
[22] Li, Yujia, Daniel Tarlow, Marc Brockschmidt, and Richard Zemel. “Gated graph sequence neural networks.” arXiv preprint arXiv:1511.05493 (2015).