第15卷第1期 智能系统学报 Vol.15 No.1 2020年1月 CAAI Transactions on Intelligent Systems Jan.2020 D0:10.11992/tis.201908034 图神经网络推荐研究进展 吴国栋2,查志康2,涂立静2,陶鸿2,宋福根 (1.东华大学管理学院,上海200051,2.安徽农业大学信息与计算机学院,安徽合肥230036) 摘要:图神经网络(graph neural network,GNN)具有从图的领域对数据进行特征提取和表示的优势,近年来成 为人工智能研究的热点,图神经网络推荐也是推荐系统研究的一个新方向。本文对GNN模型进行深入研究的 基础上,分析了GNN推荐过程,并从无向单元图推荐、无向二元图推荐、无向多元图推荐3个方面详细讨论了 现有GNN推荐研究取得的主要进展及不足,阐明了现有GNN推荐研究中存在的主要难点,最后提出了 GNN上下文推荐、GNN跨领域推荐、GNN群组推荐、GNN推荐的可解释性等未来GNN推荐的研究方向。 关键词:图神经网络;推荐系统:深度学习;实体联系;社交关系:协同过滤;无向图;有向图 中图分类号:TP301文献标志码:A 文章编号:1673-4785(2020)01-0014-11 中文引用格式:吴国栋,查志康,涂立静,等.图神经网络推荐研究进展J.智能系统学报,2020,15(1):14-24 英文引用格式:WU Guodong,ZHA Zhikang,TU Lijing,et al.Research advances in graph neural network recommendation, CAAI transactions on intelligent systems,2020,15(1):14-24. Research advances in graph neural network recommendation WU Guodong,ZHA Zhikang',TU Lijing,TAO Hong,SONG Fugeng' (1.School of Business and Management,Donghua University,Shanghai 200051,China;2.School of Information and Computer,An- hui Agricultural University,Hefei 230036,China) Abstract:Graph neural network(GNN)has the advantage of feature extraction and representation of data from the field of Graph.In recent years,it has become a hotspot of artificial intelligence research,and the recommendation of Graph Neural Network is also a new direction of recommendation system research.Based on the in-depth study of GNN mod- el,this paper analyzes the GNN recommendation process,and discusses in detail the main progress and deficiencies of GNN recommendation studies from three aspects:undirected unit graph recommendation,undirected binary graph re- commendation and undirected multivariate graph recommendation.The main difficulties in existing GNN recommenda- tion studies are clarified,and the research directions of GNN recommendation in the future,including GNN contextual recommendation,GNN cross-domain recommendation,GNN group recommendation,and GNN recommendation's in- terpretability,and so on,are pointed out in the end. Keywords:graph neural network;recommendation system;deep learning;entity relations;society relation;collaborat- ive filtering;undirected graph;directed graph 图神经网络(graph neural network,GNN)作为 和表示,是一种高效、易扩展的新型的神经网络 一种从卷积神经网络(convolutional neural net- 结构,在学习图数据方面表现出了强大的功能。 woks,CNN)和图嵌入思想启发而来的新型拓展 与传统的深度学习方法相比,GNN可以通过构建 神经网络山,可以在图领域对数据进行特征提取 的图模型来反映实体及其之间的联系。目前,国 内外对GNN的研究都取得了一定的进展,如自 收稿日期:2019-08-30. 然语言处理、文本分类)、特征关系提取、图片 基金项目:国家自然科学基金资助项目(31671589):安徽省自 分类、疾病预测阿等。在推荐系统中,实体间的 然科学研究重点项目(KJ2017A152.KJ2019A0211). 通信作者:吴国栋.E-mail:gdwu1120@qq.com. 关系有用户与用户、用户与物品、物品与物品之
DOI: 10.11992/tis.201908034 图神经网络推荐研究进展 吴国栋1,2,查志康2 ,涂立静2 ,陶鸿2 ,宋福根1 (1. 东华大学 管理学院,上海 200051; 2. 安徽农业大学 信息与计算机学院,安徽 合肥 230036) 摘 要:图神经网络 (graph neural network, GNN) 具有从图的领域对数据进行特征提取和表示的优势,近年来成 为人工智能研究的热点,图神经网络推荐也是推荐系统研究的一个新方向。本文对 GNN 模型进行深入研究的 基础上,分析了 GNN 推荐过程,并从无向单元图推荐、无向二元图推荐、无向多元图推荐 3 个方面详细讨论了 现有 GNN 推荐研究取得的主要进展及不足,阐明了现有 GNN 推荐研究中存在的主要难点,最后提出了 GNN 上下文推荐、GNN 跨领域推荐、GNN 群组推荐、GNN 推荐的可解释性等未来 GNN 推荐的研究方向。 关键词:图神经网络;推荐系统;深度学习;实体联系;社交关系;协同过滤;无向图;有向图 中图分类号:TP301 文献标志码:A 文章编号:1673−4785(2020)01−0014−11 中文引用格式:吴国栋, 查志康, 涂立静, 等. 图神经网络推荐研究进展 [J]. 智能系统学报, 2020, 15(1): 14–24. 英文引用格式:WU Guodong, ZHA Zhikang, TU Lijing, et al. Research advances in graph neural network recommendation[J]. CAAI transactions on intelligent systems, 2020, 15(1): 14–24. Research advances in graph neural network recommendation WU Guodong1,2 ,ZHA Zhikang2 ,TU Lijing2 ,TAO Hong2 ,SONG Fugeng1 (1. School of Business and Management, Donghua University, Shanghai 200051, China; 2. School of Information and Computer, Anhui Agricultural University, Hefei 230036, China) Abstract: Graph neural network (GNN) has the advantage of feature extraction and representation of data from the field of Graph. In recent years, it has become a hotspot of artificial intelligence research, and the recommendation of Graph Neural Network is also a new direction of recommendation system research. Based on the in-depth study of GNN model, this paper analyzes the GNN recommendation process, and discusses in detail the main progress and deficiencies of GNN recommendation studies from three aspects: undirected unit graph recommendation, undirected binary graph recommendation and undirected multivariate graph recommendation. The main difficulties in existing GNN recommendation studies are clarified, and the research directions of GNN recommendation in the future, including GNN contextual recommendation, GNN cross-domain recommendation, GNN group recommendation, and GNN recommendation’s interpretability, and so on, are pointed out in the end. Keywords: graph neural network; recommendation system; deep learning; entity relations; society relation; collaborative filtering; undirected graph; directed graph 图神经网络 (graph neural network, GNN) 作为 一种从卷积神经网络 (convolutional neural networks, CNN) 和图嵌入思想启发而来的新型拓展 神经网络[1] ,可以在图领域对数据进行特征提取 和表示,是一种高效、易扩展的新型的神经网络 结构,在学习图数据方面表现出了强大的功能。 与传统的深度学习方法相比,GNN 可以通过构建 的图模型来反映实体及其之间的联系。目前,国 内外对 GNN 的研究都取得了一定的进展,如自 然语言处理[2] 、文本分类[3] 、特征关系提取[4] 、图片 分类[5] 、疾病预测[6] 等。在推荐系统中,实体间的 关系有用户与用户、用户与物品、物品与物品之 收稿日期:2019−08−30. 基金项目:国家自然科学基金资助项目 (31671589);安徽省自 然科学研究重点项目 (KJ2017A152,KJ2019A0211). 通信作者:吴国栋. E-mail:gdwu1120@qq.com. 第 15 卷第 1 期 智 能 系 统 学 报 Vol.15 No.1 2020 年 1 月 CAAI Transactions on Intelligent Systems Jan. 2020
第1期 吴国栋,等:图神经网络推荐研究进展 ·15· 间关系,传统的推荐方法主要关注用户与物品间 I)有向图GNN 的关系,很少关注用户相互间及物品相互间的关 实际上有向图比无向图可以反映更多的信 系。图神经网络GNN的发展,为人们进一步分 息,比如某种次序或者逻辑关系,在文献[17]中, 析推荐系统实体及其相互间的关系提供了更好的 Kampffmeyer等通过使用两个权值矩阵W,W。 表示方式,近年来,基于GNN推荐的相关研究越 来进行协同获得更加精确的处理结果,如式(6): 来越受到广大学者关注,并取得了一定的成果。 H=(D Ap(D A.H-W)Wp) (6) 本文分析了GNN推荐的主要过程及其研究进 式中:p代表父节点(指向它的节点):c代表子节 展,提出了GNN推荐当前存在的难点,并指出未 点(它指向的节点);DA。、DA分别代表对父 来GNN推荐的主要研究方向。 节点和子节点邻接矩阵的标准化矩阵;σ是非线 性激活函数。 1 图神经网络 2)无向图GNN 图神经网络是利用一定的方法对节点进行描 没有次序关系的节点就构成无向图,图神经 述,并经过不断的节点状态更新,得到具有包含 网络GNN对于无向图的处理只需要将其视为两 邻居节点信息和图形拓扑结构特点的状态m,最 个有向图的叠加即可。实际上,无向图的计算相 终将这些节点通过特定方法进行输出,得到需要 比有向图更为简单,对其进行更新时,只需一个 的结果。式(1)表示节点状态的更新方式,式 权重矩阵W正常经过加权,通过激活函数更新 (2)表示对更新完的节点状态进行输出: 即可。 h =f(X,Xcoiv,hnevl,Xne) 本文将图神经网络GNN按照构成它的节点 (1) o=g(h,X) (2) 是否表示相同的实体,分为单元图GNN,二元图 式中:f是局部转换函数;g为局部输出函数;0表 GNN与多元图GNN。单元图GNN中节点仅表 示输出结果;h,表示节点当前的嵌入化结果: 示1种实体类型,即节点的类型唯一,在推荐系统 X,代表节点v的特征;Xco表示对应节点v的边 中常常体现在用户社交关系图,如根据用户的朋 的属性;h表示节点v更新前的状态;Xem表示 友关系构建对应的GNN模型;二元图GNN中的 节点v的邻居节点的特征。 节点所表示的实体类型为2种,诸如用户-物品购 式(1)、(2)均表示以一个节点为单位进行操 买关系图,用户一项目标签图等:图中节点所表示 作,当对所有的节点进行上述运算的时候,可以 实体类型超过2种的为多元图GNN,在实体种类 更加简洁的用式(3)、式(4)进行描述: 及其关系较复杂的时候可以使用这种类型的GNN H=F(H,X) (3) 模型。 O=G(H.XN) (4) 2推荐系统 式中:H表示所有节点的状态;O表示对所有的节 点进行输出之后的结果;X表示边的特征;Xv分 推荐系统就是通过分析用户的历史行为对用 别表示所有节点的特征;F)、G(分别表示全局 户的兴趣建模,从而主动给用户推荐能够满足其 转换函数与全局输出函数。由此可知,当对所有 兴趣和需求的物品(或信息)。常见的推荐模型有 节点的状态进行从1至什1轮更新时,可以表示为 基于用户行为的推荐,如协同过滤(collaborative 式(5): filtering,CF)),隐语义模型(latent factor model, H+1=F(,X) (5) LFM0,基于内容的推荐,如标签推荐;混合推 GNN有多种变体,如根据训练方法的差异有 荐四,即通过多种不同的推荐模型相互协作,如在 GraphSAGEl、FastGCN!、ControlVariate、Co- 推荐系统的不同时期分别使用不同的模型或者使 training GCN和Self-training GCNI等;根据信 用多个模型的推荐结果再进行决策。协同过滤分 息传播计算方式的不同有Spectral Network!1 为基于用户的协同过滤和基于物品的协同过 MoNet!3、DCNN、Gate Graph Neural Networks! 滤21,基于用户行为的推荐算法往往存在着冷启 Sentence LSTM!61等。 动问题2和数据稀疏性问题凶。 图神经网络GNN按照其构成拓扑结构边的 随着深度学习的发展,基于深度学习的推荐 类型,分为有向图GNN和无向图GNN,对于不同 研究也很多,Elkahky等26提出了一种多视图深 的边类型,对应的局部转换函数∫的计算方法也 度神经网络模型(Multi-View deep neural network, 有所差异。 Multi-ViewDNN),通过用户和物品(项目)两种信
间关系,传统的推荐方法主要关注用户与物品间 的关系,很少关注用户相互间及物品相互间的关 系。图神经网络 GNN 的发展,为人们进一步分 析推荐系统实体及其相互间的关系提供了更好的 表示方式,近年来,基于 GNN 推荐的相关研究越 来越受到广大学者关注,并取得了一定的成果。 本文分析了 GNN 推荐的主要过程及其研究进 展,提出了 GNN 推荐当前存在的难点,并指出未 来 GNN 推荐的主要研究方向。 1 图神经网络 图神经网络是利用一定的方法对节点进行描 述,并经过不断的节点状态更新,得到具有包含 邻居节点信息和图形拓扑结构特点的状态[7] ,最 终将这些节点通过特定方法进行输出,得到需要 的结果。式 (1) 表示节点状态的更新方式,式 (2) 表示对更新完的节点状态进行输出: hv = f ( Xv ,XCO[v] , hne[v] ,Xne[v] ) (1) ov = g(hv ,Xv) (2) 式中: f 是局部转换函数; g 为局部输出函数;o 表 示输出结果; hv 表示节点当前的嵌入化结果; Xv 代表节点 v 的特征;XCO[v] 表示对应节点 v 的边 的属性;hne[v] 表示节点 v 更新前的状态;Xne[v] 表示 节点 v 的邻居节点的特征。 式 (1)、(2) 均表示以一个节点为单位进行操 作,当对所有的节点进行上述运算的时候,可以 更加简洁的用式 (3)、式 (4) 进行描述: H = F(H,X) (3) O = G(H,XN) (4) XN F(·) G(·) 式中:H 表示所有节点的状态;O 表示对所有的节 点进行输出之后的结果;X 表示边的特征; 分 别表示所有节点的特征; 、 分别表示全局 转换函数与全局输出函数。由此可知,当对所有 节点的状态进行从 t 至 t+1 轮更新时,可以表示为 式 (5): H t+1 = F ( H t ,X ) (5) GNN 有多种变体,如根据训练方法的差异有 GraphSAGE[8] 、FastGCN[9] 、ControlVariate[10] 、Cotraining GCN[11] 和 Self-training GCN[11] 等;根据信 息传播计算方式的不同有 Spectral Network[12] 、 MoNet[13] 、DCNN[14] 、Gate Graph Neural Networks[15] 、 Sentence LSTM[16] 等。 图神经网络 GNN 按照其构成拓扑结构边的 类型,分为有向图 GNN 和无向图 GNN,对于不同 的边类型,对应的局部转换函数 f 的计算方法也 有所差异。 1) 有向图 GNN 实际上有向图比无向图可以反映更多的信 息,比如某种次序或者逻辑关系,在文献 [17] 中, Kampffmeyer 等通过使用两个权值矩阵 Wp,Wc 来进行协同获得更加精确的处理结果,如式 (6): H t = σ(D −1 p Ap ·σ(D −1 c AcH t−1Wc)Wp) (6) σ 式中:p 代表父节点 (指向它的节点);c 代表子节 点 (它指向的节点);D −1 pAp、D −1 cAc 分别代表对父 节点和子节点邻接矩阵的标准化矩阵; 是非线 性激活函数。 2) 无向图 GNN 没有次序关系的节点就构成无向图,图神经 网络 GNN 对于无向图的处理只需要将其视为两 个有向图的叠加即可。实际上,无向图的计算相 比有向图更为简单,对其进行更新时,只需一个 权重矩阵 W 正常经过加权,通过激活函数更新 即可。 本文将图神经网络 GNN 按照构成它的节点 是否表示相同的实体,分为单元图 GNN,二元图 GNN 与多元图 GNN。单元图 GNN 中节点仅表 示 1 种实体类型,即节点的类型唯一,在推荐系统 中常常体现在用户社交关系图,如根据用户的朋 友关系构建对应的 GNN 模型;二元图 GNN 中的 节点所表示的实体类型为 2 种,诸如用户−物品购 买关系图,用户−项目标签图等;图中节点所表示 实体类型超过 2 种的为多元图 GNN,在实体种类 及其关系较复杂的时候可以使用这种类型的 GNN 模型。 2 推荐系统 推荐系统就是通过分析用户的历史行为对用 户的兴趣建模,从而主动给用户推荐能够满足其 兴趣和需求的物品 (或信息)。常见的推荐模型有 基于用户行为的推荐,如协同过滤 (collaborative filtering, CF)[18] ,隐语义模型 (latent factor model, LFM)[19] ;基于内容的推荐,如标签推荐[20] ;混合推 荐 [21] ,即通过多种不同的推荐模型相互协作,如在 推荐系统的不同时期分别使用不同的模型或者使 用多个模型的推荐结果再进行决策。协同过滤分 为基于用户的协同过滤[22] 和基于物品的协同过 滤 [23] ,基于用户行为的推荐算法往往存在着冷启 动问题[24] 和数据稀疏性问题[25]。 随着深度学习的发展,基于深度学习的推荐 研究也很多,Elkahky 等 [26] 提出了一种多视图深 度神经网络模型 (Multi-View deep neural network, Multi-ViewDNN),通过用户和物品 (项目) 两种信 第 1 期 吴国栋,等:图神经网络推荐研究进展 ·15·
·16· 智能系统学报 第15卷 息实体的语义匹配来实现用户的物品推荐; 好的推荐效果。3)提取出更新后的节点(边、子 Zheng等2)提出了一种深度协作神经网络模型 图)特征,并用相关算法实现推荐。将GNN模型 (deep cooperative neural network,DeepCoNN), 完成更新之后的节点取出,作为该节点对应的实 两个并行的神经网络模型学习用户和项目的隐特 体特征,采用相关算法进行推荐。如文献[30] 征,然后在两个神经网络上构建一个交互层来预 中,使用协同过滤推荐的方法:文献「311中,将 测用户对项目的评分;L山等2)研究了位置社交 GNN提取的物品特征和节点特征,通过MLP进 网络中的行为预测问题,通过利用循环神经网络 行评分预测推荐;文献[32]中,通过两种不同的 抓住序列行为之间的依赖关系,从而基于用户的 神经网络,进行试验结果预测与推荐。 历史行为序列,帮助预测下一时刻的行为。 4 GNN推荐相关研究 3GNN推荐主要过程 由于有向图GNN推荐时,需要两个权值矩阵 一般说来,GNN推荐主要过程分为3个步 来实现聚集与更新操作,相对无向图GNN推荐, 骤:1)根据推荐系统实体及其相互关系构建对应 只需一个权重矩阵来说,就变得更为复杂。因 的GNN模型。主要考虑如何将推荐系统中不同 此,在现有图神经网络GNN推荐的相关研究中, 实体映射为GNN中图节点,不同实体间的联系 主要集中在无向图GNN推荐方面。以下重点从 映射为GNN图中对应的边,如何用的神经网络 无向单元图GNN推荐、无向二元图GNN推荐以 函数去拟合GNN中不同的节点。在GNN推荐模 及无向多元图GNN推荐3个方面探讨GNN推荐 型中,不论是用户节点还是物品节点,都可以根 相关研究。 据相关信息做嵌入化处理,得到对应节点的向量 4.1无向单元图GNN推荐 化描述。如对一个物品节点,可以根据不同用户 这种GNN推荐模型节点类型单一,操作比较 对其评论或评分信息做嵌入化处理:对一个用户 简单。主要是将推荐系统中的实体映射到一个无 节点,可以根据其社交关系或物品购买记录做嵌 向单元图GNN,图中所有节点都表示为一种实体 入化处理。边作为反映GNN推荐模型中实体之 类型。如CuiB]等将GNN用于服装推荐,服装的 间的联系,通常有两种处理方式:一是根据联系 类别作为节点,各个类别之间的关系作为边,各 的类型及强弱程度不同,进行嵌入化操作;二是 类服装放入对应的节点之中形成子图,构成了一 对边不进行任何处理,仅仅当成GNN推荐模型 个无向单元图GNN推荐模型,推荐与指定服装 中,用于信息传播算法作用的媒介。2)决定 匹配度较高的目标服装实现套装搭配,取得了较 GNN模型的信息传播与更新方法。GNN模型的 好的效果。 变体很多,不同变体之间,信息的聚集和更新方 文献[30]中,考虑到用户的行为往往受到自 式也不同。文献「29]指出了在不同的GNN变体 己当前兴趣、朋友兴趣等多种因素影响,通过构 中,出现的相关聚集过程。如GCN模型,通常选 建用户一朋友的无向单元图GNN,分别对用户节 择mean聚集函数;GraphSAGE模型,通常采用 点、朋友节点进行描述,并使用相关传播算法更 max函数;GN模型,通常使用的sum函数等。不 新用户信息节点,最后和物品嵌人化得到的结果 同的聚集函数适合于不同的图结构,mean函数可 进行运算,输出用户对物品可能的喜爱程度,如 以反映图中节点的分布情况,max函数可以反映 图1所示。具体步骤如下: 主要特征,sum可以考虑到比较全面的图形结构 1)将用户近期的浏览内容,通过循环神经网 特征等。信息更新过程,主要是将信息聚集之后 络(RNN)得到表示用户兴趣的hn,并用hn描述用 的结果,与中心节点进行特定的运算,并作为下 户的节点信息; 一层节点的初始状态。这方面,不同的模型差异 2)将朋友的近期行为记录,通过RNN得到 也很大,如GCN模型进行信息更新时,不会考虑 s,用来表示该朋友的短期兴趣: 中心节点的信息;GraphSAGE则会将聚集结果和 3)将朋友长期行为向量化,得s,见式(7): 中心节点的向量进行连接操作;GN模型会将两 sk=W.[k,:] (7) 者进行直接相加等。充分考虑推荐系统实体间关 式中:Wk,表示对用户u从第k次记录一直取 系,及对应GNN模型的结构特征,选择最合适的 到最新的记录,进行向量化处理。 信息传播算法,进行信息更新,往往可以取得更 4)将上述两个向量联合起来,构成代表目标
息实体的语义匹配来实现用户的物品推荐; Zheng 等 [27] 提出了一种深度协作神经网络模型 (deep cooperative neural network, DeepCoNN),利用 两个并行的神经网络模型学习用户和项目的隐特 征,然后在两个神经网络上构建一个交互层来预 测用户对项目的评分;Liu 等 [28] 研究了位置社交 网络中的行为预测问题,通过利用循环神经网络 抓住序列行为之间的依赖关系,从而基于用户的 历史行为序列,帮助预测下一时刻的行为。 3 GNN 推荐主要过程 一般说来,GNN 推荐主要过程分为 3 个步 骤:1) 根据推荐系统实体及其相互关系构建对应 的 GNN 模型。主要考虑如何将推荐系统中不同 实体映射为 GNN 中图节点,不同实体间的联系 映射为 GNN 图中对应的边,如何用的神经网络 函数去拟合 GNN 中不同的节点。在 GNN 推荐模 型中,不论是用户节点还是物品节点,都可以根 据相关信息做嵌入化处理,得到对应节点的向量 化描述。如对一个物品节点,可以根据不同用户 对其评论或评分信息做嵌入化处理;对一个用户 节点,可以根据其社交关系或物品购买记录做嵌 入化处理。边作为反映 GNN 推荐模型中实体之 间的联系,通常有两种处理方式:一是根据联系 的类型及强弱程度不同,进行嵌入化操作;二是 对边不进行任何处理,仅仅当成 GNN 推荐模型 中,用于信息传播算法作用的媒介。 2 ) 决 定 GNN 模型的信息传播与更新方法。GNN 模型的 变体很多,不同变体之间,信息的聚集和更新方 式也不同。文献 [29] 指出了在不同的 GNN 变体 中,出现的相关聚集过程。如 GCN 模型,通常选 择 mean 聚集函数;GraphSAGE 模型,通常采用 max 函数;GIN 模型,通常使用的 sum 函数等。不 同的聚集函数适合于不同的图结构,mean 函数可 以反映图中节点的分布情况,max 函数可以反映 主要特征,sum 可以考虑到比较全面的图形结构 特征等。信息更新过程,主要是将信息聚集之后 的结果,与中心节点进行特定的运算,并作为下 一层节点的初始状态。这方面,不同的模型差异 也很大,如 GCN 模型进行信息更新时,不会考虑 中心节点的信息;GraphSAGE 则会将聚集结果和 中心节点的向量进行连接操作;GIN 模型会将两 者进行直接相加等。充分考虑推荐系统实体间关 系,及对应 GNN 模型的结构特征,选择最合适的 信息传播算法,进行信息更新,往往可以取得更 好的推荐效果。3) 提取出更新后的节点 (边、子 图) 特征,并用相关算法实现推荐。将 GNN 模型 完成更新之后的节点取出,作为该节点对应的实 体特征,采用相关算法进行推荐。如文献 [30] 中,使用协同过滤推荐的方法;文献 [31] 中 ,将 GNN 提取的物品特征和节点特征,通过 MLP 进 行评分预测推荐;文献 [32] 中,通过两种不同的 神经网络,进行试验结果预测与推荐。 4 GNN 推荐相关研究 由于有向图 GNN 推荐时,需要两个权值矩阵 来实现聚集与更新操作,相对无向图 GNN 推荐, 只需一个权重矩阵来说,就变得更为复杂。因 此,在现有图神经网络 GNN 推荐的相关研究中, 主要集中在无向图 GNN 推荐方面。以下重点从 无向单元图 GNN 推荐、无向二元图 GNN 推荐以 及无向多元图 GNN 推荐 3 个方面探讨 GNN 推荐 相关研究。 4.1 无向单元图 GNN 推荐 这种 GNN 推荐模型节点类型单一,操作比较 简单。主要是将推荐系统中的实体映射到一个无 向单元图 GNN,图中所有节点都表示为一种实体 类型。如 Cui[33] 等将 GNN 用于服装推荐,服装的 类别作为节点,各个类别之间的关系作为边,各 类服装放入对应的节点之中形成子图,构成了一 个无向单元图 GNN 推荐模型,推荐与指定服装 匹配度较高的目标服装实现套装搭配,取得了较 好的效果。 文献 [30] 中,考虑到用户的行为往往受到自 己当前兴趣、朋友兴趣等多种因素影响,通过构 建用户—朋友的无向单元图 GNN,分别对用户节 点、朋友节点进行描述,并使用相关传播算法更 新用户信息节点,最后和物品嵌入化得到的结果 进行运算,输出用户对物品可能的喜爱程度,如 图 1 所示。具体步骤如下: 1) 将用户近期的浏览内容,通过循环神经网 络 (RNN) 得到表示用户兴趣的 hn,并用 hn 描述用 户的节点信息; 2) 将朋友的近期行为记录,通过 RNN 得到 sk s ,用来表示该朋友的短期兴趣; 3) 将朋友长期行为向量化,得 sk l ,见式 (7): s l k = Wu [k,:] (7) 式中: Wu [k,:] 表示对用户 u 从第 k 次记录一直取 到最新的记录,进行向量化处理。 4) 将上述两个向量联合起来,构成代表目标 ·16· 智 能 系 统 学 报 第 15 卷
第1期 吴国栋,等:图神经网络推荐研究进展 ·17· 节点用户的嵌入化向量sk,见式(8): 节点与他的第k个邻居的相似度计算结果。 Sx=ReLU(W si.s) (8) 6)将所有的邻居节点信息通过注意力系数相 式中:ReLU为非线性激活函数,W[s,s]表示对 加后,得到表示目标节点所有邻居节点的信息向 向量s、S进行连接处理后使用W,进行偏置。 量,见式(10),再将.经过偏置加权之后作为 5)目标节点的初始状态选取为h,邻居节点 节点的下一轮状态进行更新,见式(11): 的初始状态选取为5,利用构建完成的用户与好 i.=∑eauo2 (10) 友之间关系的拓扑图,通过计算每层的目标节点 -ReLU(wz9) (11) 和邻居节点的相似度关系,提取出注意力系数 式中:W是可训练的权值矩阵,1、+1表示当前更 ad,见式(9): 新的次数。 exp(f(n) (9) 7将节点的特征与嵌入化得到的物品特征进 行相似度运算,通过softmax进行输出,此时输出 式中:I表示当前的更新次数,h,h)表示目标 的结果就是某用户对物品可能的感兴趣程度。 层数0 h w GN节点更新 用户u的 近期行为 短期兴趣口 长期兴趣s1■ s'gan 近期行为+RNN 朋友1 朋友2 朋友3 朋友 NG 长期行为向量化 物品嵌人化处理 层数L 输出概率分布 物品1 物品2 h 物品3 物品4 ht) 相似度层 物品 进行推荐 h,凸 图1无向单元图GNN推荐模型 Fig.1 Single-unit undirected graph GNN model 该模型充分考虑到社会关系与用户本人的当 有加以区分。 前兴趣,但对物品特征的提取比较粗糙,没有考 4.2无向二元图GNN推荐 虑到用户与物品之间的互动关系,同时不同的朋 在实际推荐中,最常见的关系就是用户与项 友对用户的影响程度也是不一样的,此模型也没 目(物品)的交互记录,这两种实体关系就可以构
节点用户的嵌入化向量 sk,见式 (8): sk = ReLU( W1 [ s s k ,s l k ]) (8) W1 [ s s k ,s l k ] 式中:ReLU 为非线性激活函数, 表示对 向量 s s k、s l k 进行连接处理后使用 W1 进行偏置。 hn sk auk 5) 目标节点的初始状态选取为 ,邻居节点 的初始状态选取为 ,利用构建完成的用户与好 友之间关系的拓扑图,通过计算每层的目标节点 和邻居节点的相似度关系,提取出注意力系数 ,见式 (9): α (l) uk = exp( f ( h (l) u , h (l) k )) ∑ j∈N(u)∪{u} α (l) ukh (l) k (9) 式中:l 表示当前的更新次数,f(h l u,h l k ) 表示目标 节点与他的第 k 个邻居的相似度计算结果。 hˆ u hˆ u 6) 将所有的邻居节点信息通过注意力系数相 加后,得到表示目标节点所有邻居节点的信息向 量 ,见式 (10),再将 经过偏置加权之后作为 节点的下一轮状态进行更新,见式 (11): hˆ u = ∑ k∈N(u)∪{u} α (l) ukh (l) k (10) h (l+1) u = ReLU( W(l) hˆ (l) u ) (11) 式中:W 是可训练的权值矩阵,l、l+1 表示当前更 新的次数。 7) 将节点的特征与嵌入化得到的物品特征进 行相似度运算,通过 softmax 进行输出,此时输出 的结果就是某用户对物品可能的感兴趣程度。 … … … … 短期兴趣 长期兴趣 朋友1 朋友2 朋友3 朋友 |N(u)| 近期行为+RNN 长期行为向量化 用户u的 近期行为 … GNN节点更新 层数0 层数 L … 物品1 物品2 物品3 物品4 物品|I| 物品嵌入化处理 s1 s s1 1 s2 s s2 1 s3 s s3 s2 s1 s S |N(u)| s|N(u)| h (0) |N(u)| s 1 |N(u)| s3 1 h1 (0) h2 (0) h3 (0) h1 (L) h2 (L) h3 (L) hu (L) hu (0) 输出概率分布进行推荐 相似度层 Soft-max 层 hu (L) h (L) |N(u)| 图 1 无向单元图 GNN 推荐模型 Fig. 1 Single-unit undirected graph GNN model 该模型充分考虑到社会关系与用户本人的当 前兴趣,但对物品特征的提取比较粗糙,没有考 虑到用户与物品之间的互动关系,同时不同的朋 友对用户的影响程度也是不一样的,此模型也没 有加以区分。 4.2 无向二元图 GNN 推荐 在实际推荐中,最常见的关系就是用户与项 目 (物品) 的交互记录,这两种实体关系就可以构 第 1 期 吴国栋,等:图神经网络推荐研究进展 ·17·
·18 智能系统学报 第15卷 成一个完整的二元拓扑图。Fan等刚通过构建用户- 用于对物品进行评分预测。同样考虑到对用户可 物品关系二元图(用户购买的所有物品)、用户- 能的行为,不仅与他自己曾经购买的物品有关, 朋友关系单元图(用户的社交关系)、物品-用户关 也和他的社交关系有关,该文献提出了一种新型 系二元图(物品被用户购买的记录)这3个无向图 图神经网络GNN推荐系统框架GraphRec,如图2, 用户模块 用户社交图 用户已 对应 (注意力机制 朋友)—友2 购物品1评分 MLP 用户基于物品购买 构建用户社交图 记录的特征向量 朋友3用户 點品努 佣户 朋友4 用户基于 社交关系 用户一物品图 的特征向 h 往意力机制 h 用户3-物品图 h 用户2一物高图 用户一物品图 GNN算法聚合 物品模块 尼购 注意力机制 用户2 已购 用户1 物品 GNN算法聚合 评分预测 物品用户图 推荐模块 图2基于杜交关系的GraphRec模型 Fig.2 Social-based recommendation model-GraphRec 该框架主要由3个模块组成,分别是用户一 e,向量连接处理,通过一个多层感知器得到xa向 物品关系和用户一朋友关系构成用户模块,物品- 量(其中a表示用户购买的相关物品,i表示某一 用户关系构成物品模块和由一个多层感知器 个用户),见式(12): (MLP)所构成的推荐模块。通过信息传播更新算 xa=g(qa⊕e,J) (12) 法,对这3个图中的节点进行计算,根据结果进行 2)将计算出的xa和用户p,通过一个两层的 评分预测。具体过程如下: 神经网络得到该用户对物品的注意力系数α*,见 首先根据用户购买不同物品行为以及用户之 式(13): 间的社交关系构建相应的户一物品关系图和用户一 aa=Wc(W1[xa⊕p+b)+b2 (13) 朋友关系图,再在图上分别对用户i和物品j进行 其中,w1、w2是可训练的参数,b、b2是偏置项, 嵌入化处理,得到代表用户信息的P:向量,代表 σ)是非线性函数。 物品信息的4向量。同时每一个特定的用户对 3)对a进行softmax处理,得到aa作为最终 于他所购买的物品对应的评分,用独热编码向量 的注意力系数,见式(14): 化成e,o exp(ai) (14) 用户模块分为两部分,第1部分是对某用户 cexp(r) 的购买行为进行特征刻画,第2部分是对该用户 4)用a。对之前得到的a向量进行加权,并 的社交关系进行刻画,将两个特征结合起来通过 且通过一个多层感知器(GNN的简单聚合函 一个多层感知器,就得到代表该用户的特征。用 数)得到用户-物品特征h,见式(15): 户模块的实现方法如下: (15) 1)对所提取的物品q。向量和对应的评分 =w{∑ena+
成一个完整的二元拓扑图。Fan 等 [31] 通过构建用户− 物品关系二元图 (用户购买的所有物品)、用户− 朋友关系单元图 (用户的社交关系)、物品−用户关 系二元图 (物品被用户购买的记录) 这 3 个无向图 用于对物品进行评分预测。同样考虑到对用户可 能的行为,不仅与他自己曾经购买的物品有关, 也和他的社交关系有关,该文献提出了一种新型 图神经网络 GNN 推荐系统框架 GraphRec,如图 2。 用户 i - 物品图 朋友1 朋友2 朋友3 朋友4 已购 用户1 已购 用户2 已购 用户4 GNN 算法 用户基于物品购买 记录的特征向量 构建用户社交图 … … 用户i已 购物品1 对应 评分 用户i已 购物品2 对应 评分 用户i已 购物品3 对应 评分 用户i已 购物品4 对应 评分 注意力机制 用户i−物品图 用户3−物品图 用户2−物品图 用户1−物品图 注意力机制 用户社交图 GNN算法聚合 用户基于 社交关系 的特征向 量 用户 合并 特征 h1 h2 h3 物品j 特征 注意力机制 评分预测 … 用户模块 物品模块 推荐模块 用户i MLP 物品j−用户图 zj hi h1 I h1 I h2 I h3 s h3 s h2 s h1 s h4 s hi s hi s h2 I h3 I hi I 用户i GNN算法聚合 MLP xi1 xi2 xi3 xi4 已购 用户3 物品j … 图 2 基于社交关系的 GraphRec 模型 Fig. 2 Social-based recommendation model-GraphRec 该框架主要由 3 个模块组成,分别是用户− 物品关系和用户—朋友关系构成用户模块,物品− 用户关系构成物品模块和由一个多层感知器 (MLP) 所构成的推荐模块。通过信息传播更新算 法,对这 3 个图中的节点进行计算,根据结果进行 评分预测。具体过程如下: 首先根据用户购买不同物品行为以及用户之 间的社交关系构建相应的户—物品关系图和用户− 朋友关系图,再在图上分别对用户 i 和物品 j 进行 嵌入化处理,得到代表用户信息的 pi 向量,代表 物品信息的 qj 向量。同时每一个特定的用户对 于他所购买的物品对应的评分,用独热编码向量 化成 er。 用户模块分为两部分,第 1 部分是对某用户 的购买行为进行特征刻画,第 2 部分是对该用户 的社交关系进行刻画,将两个特征结合起来通过 一个多层感知器,就得到代表该用户的特征。用 户模块的实现方法如下: 1) 对所提取的物品 qa 向量和对应的评分 er 向量连接处理,通过一个多层感知器得到 xia 向 量 (其中 a 表示用户购买的相关物品,i 表示某一 个用户),见式 (12): xia = gv ([qa ⊕er ]) (12) 2) 将计算出的 xia 和用户 pi 通过一个两层的 神经网络得到该用户对物品的注意力系数 α*,见 式 (13): α ∗ ia = WT 2 ·σ ( W1 · [ xia ⊕ pi ] + b1 ) + b2 (13) 其中, w1、w2 是可训练的参数, b1、b2 是偏置项, σ(∙) 是非线性函数。 α ∗ 3) 对 进行 softmax 处理,得到 αia 作为最终 的注意力系数,见式 (14): αia = exp( α ∗ ia ) ∑ a∈C(i) exp( α ∗ ia ) (14) 4) 用 αia 对之前得到的 xia 向量进行加权,并 且通过一个多层感知器 (GNN 的简单聚合函 数) 得到用户−物品特征 hi,见式 (15): h I i = σ(w· {∑ a∈c(i) aia xia} +b) (15) ·18· 智 能 系 统 学 报 第 15 卷