图神经网络会话推荐系统综述
2023-03-13朱志国李伟玥周沛瑶
朱志国,李伟玥,姜 盼,周沛瑶
东北财经大学 管理科学与工程学院,辽宁 大连 116025
推荐系统旨在帮助用户从纷繁复杂的数据中提取出感兴趣的信息,在提高效率的同时,也有助于提升用户满意度与平台效益。近十年来推荐系统技术得到了长足发展,不仅成为学术界的研究热点之一,也已经成功地运用在电商、新闻和音乐推荐等多个场景中[1]。其中,会话推荐(包括基于会话的推荐与会话感知推荐,但不包括普通序列推荐)旨在以用户当前的项目交互序列为主,以历史会话数据、场景、知识图谱等信息为辅,重在通过各种方式捕捉用户的当前兴趣,如图1所示。
图1 普通序列、基于会话和会话感知推荐的概念区分Fig.1 Concept distinction of recommendation among sequence-based,session-based and session-aware
此前,会话推荐领域的相关工作大多基于多种循环神经网络(recurrent neural network,RNN),或采用RNN结合多种注意力机制,亦或是基于纯注意力机制和复杂结构的多层感知机(multi-layer perceptron,MLP),同时结合丰富的辅助信息来捕获项目间的依赖关系。虽然这些会话推荐系统能够捕捉到项目间的顺次转换关系,但是在当前会话中捕捉项目间远距离的非严格时序转换关系,或在全局会话环境中捕捉项目间多对多的复杂关联关系时,其性能有待提升[2]。
图神经网络(graph neural network,GNN)是可从非欧式数据的图结构数据中,根据目标节点的邻域信息学习特征的神经网络结构。近些年来GNN的发展十分迅速,并已在生物医学工程[3]、自然语言处理[4]、社交定位[5]、计算机视觉[6]、金融预测[7]等领域得到了一定研究。由于用户社交关系、用户或项目知识图谱等信息可直接表示为图,并且用户-项目交互关系和原始会话序列等信息可以转换为图,同时GNN提供了可融合多种信息的统一框架,学者们提出了基于多种图神经网络的会话推荐系统[8-10],旨在根据多种信息源学习,得到融合了丰富特征的目标节点向量,实现基于用户特征的个性化精准推荐。
目前,已经有学者以不同的分类标准,对基于GNN的推荐系统进行了对比分析[1,11],但是其中鲜有对会话推荐相关工作的最新工作进展评述。因此,本文将从问题定义和会话推荐中需要考虑的因素出发,然后根据模型的不同算法原理,将诸多基于GNN的会话推荐系统进一步细分为:基于图卷积网络(graph convolutional network,GCN)、门控图神经网络(gated graph neural network,GGNN)和图注意力网络(graph attention networks,GAT)及其他结构的会话推荐系统共四大类进行评述。随后根据各工作的实验部分展开综合对比讨论,力图展现出GNN在会话推荐系统中的应用与研究前沿进展概貌。最后,提出了对该领域未来研究的一些思考和展望。
1 会话推荐中的考虑因素
总结起来,如图2所示,会话推荐任务中需要考虑的因素大体可分为如下三类:用户因素、项目因素和情景因素。
图2 会话推荐任务中的因素Fig.2 Factors in session recommendation task
(1)用户因素:如果能获取到用户的信息,则可以根据其人口统计学特征、设备、社交关系和收入水平等信息来推断出该用户的兴趣偏好。
(2)项目因素:主要包括相对稳定的静态特征和随时间变动较为明显的动态特征。静态特征主要包括项目参数(如尺码、价格等)、所属类别(即项目对应的分类信息)、发行者信息(如商品对应的生产商、新闻对应的记者等);动态特征主要指该项目的热度高低,比如近期热门新闻或爆火的网红商品可认为是流行项目。
(3)情景因素:主要包括用户所处环境、近期热点事件、季节与时间、当前流行项目特征(如当季流行配色与款式等)。这些情景因素可能会对项目因素产生较大影响,并且场景因素也会在一定程度上影响到用户的长短期兴趣[12-13]。
2 基于GNN的会话推荐系统构图分析
对于基于GNN的会话推荐系统而言,如何将原始的会话序列高效地转换为相应的会话图,是首要且重要的问题。如图3所示,SR-GNN模型[8]首次提出将会话序列转换为会话图进行处理,即以会话中的项目为节点、以项目间的邻接顺次转换关系为边、以归一化邻接矩阵中的值为边权重构图。
图3 SR-GNN模型的经典构图方式示例Fig.3 Traditional graph constructing method in SR-GNN
这种经典的构图方式实现了序列式数据到图数据的转换,使得全局项目间的依赖关系更为直观和易于捕捉。此后,一些学者将用户节点、项目所属类别、用户行为类别(如点击、购买、分享)等多种类型的节点加入图中或单独构图,同时引入了丰富类型的边,使模型可以直接学习到多元节点间的丰富交互关系,随后可将各类信息与项目特征相融合,以获得更为丰富的项目表示。如图4(a)所示,SE-Frame模型[14]在构造会话图时,考虑到了用户节点,从而在图学习时可直接捕捉到用户与项目的丰富交互信息;SR-HetGNN模型[15]则进一步将会话作为节点加入异构图中,使模型能够从全新角度学习整个会话的特征表示。图4(b)所示的GNNH模型[16]异构图将用户的不同交互行为视为边特征,并分别应用于项目图和类别图,使得模型能够学习到包含多种用户交互行为特征的项目及其所属类别的表示向量。
图4 包含多种节点与边的复杂异构图Fig.4 Complex heterogeneous graph with diverse nodes and edges
一些学者为了更加充分地挖掘项目间的上下文关系而去除了边的方向信息,提出了DSGNN模型[17]、TAGNN模型[18]中的无向加权项目图,此类会话图可以将全局项目间转换关系更加明晰地显示出来。
还有一些学者提出了更加具有创意的会话图构造方式,例如SGNN-HN模型[19]中的星型图、DHCN模型[20]中的超图及其对应线图等,如图5(a)和(b)所示。星型图中的不相邻节点可通过中心节点以两跳的方式相连,使得模型更易捕捉到远程项目的关联关系;而超图则直接忽略了项目间的顺次连接关系,从会话的层面探索项目间的相关关系,线图则映了超图的连通性,可直接越过项目级,从更高层面上探索会话间的关系。
针对部分基于GNN的会话推荐模型中存在的有损会话编码和难以捕捉项目间远距离依赖关系的问题,LESSR模型[21]在将会话序列转换为会话图的过程中,加入了边顺序信息,从而避免了时序信息丢失问题;并在原始会话图的基础上提出了快速连接图,其中新加入远距离项目间的边使模型得以更加全面地捕获项目间的远距离依赖关系,如图5(c)所示。而SR-LSG模型[22]也提出了一种类似于LESSR模型中保持边顺序的会话图,如图5(d)所示。两者的区别在于LESSR模型图中的边编号由指向目标节点不同边的顺序确定,而SR-LSG模型图中的边编号由会话项目顺序确定。
图5 部分新型的会话图结构Fig.5 Some creative session graph structure
在优化边权重的相关工作中,除了根据近邻矩阵或进一步将数值归一化后设置边权重的经典方法外,SR-HGNN模型[23]通过累乘原始未加权的近邻矩阵来构造不同阶数的高阶近邻矩阵,以直接捕捉项目间的高阶关系;Disen-GNN模型[24]将项目分解为因子级表示,并由此提出了因子级相似性矩阵。另外,一些基于GAT或注意力增强的GGNN的会话推荐系统也可通过动态更新边权重捕捉用户不断变化的兴趣。
总的来说,SR-GNN式的会话图构造方式使得GNN能够间接处理序列式的会话数据。随后,各学者受此启发,从节点类型、链接属性等方面基于经典会话图进行优化。在此过程中,丰富的用户侧和项目侧边信息(side-information)以及多种图结构变换极大地丰富了原始会话图中的数据,使得GNN有机会学习到包含更多信息的项目特征表示,从而提升了推荐结果的精准性。然而,优化会话图的方式可能会带来更多噪声信息。因此,可以尝试采用多种形式的注意力机制对特征提取结果进行去噪,以减轻非关键信息对特征提取的负面影响。
3 不同GNN架构下的会话推荐系统研究进展
基于GNN的会话推荐系统大多首先将会话序列转换为会话图,并将多个会话图合并为全局会话图;然后通过图神经网络中的多种架构形式(如:GCN、GGNN、GAT等)聚合目标节点的近邻节点信息,从而精准捕获到n跳(n∈Z+)的邻域信息。随后,结合项目本身的信息、项目间的复杂转换关系和用户与项目的交互信息生成包含多种丰富信息的项目表示,进而基于注意力机制、循环神经网络等模块生成较为精确的会话表示。最后综合用户表示、会话表示和项目表示等特征计算各候选项目的推荐得分,实现精准推荐。
与完全基于循环神经网络、卷积神经网络等结构的会话推荐系统不同,图数据结构具有良好的可扩展性,能将多种性质的节点与边融入会话图中,这极大地丰富了会话图中的信息。因此,本章将基于GNN的会话推荐系统进一步划分为基于GCN、GAT、GGNN及其他GNN架构的四类模型,并分别对各算法原理下的相关工作展开梳理、评述与总结。
3.1 基于GCN架构的会话推荐系统
GCN将传统卷积神经网络对二维网格型数据的卷积运算推广至图数据,其基本思想是通过对基于图的拉普拉斯矩阵进行一阶特征分解,聚合目标节点自身和近邻节点的特征,从而得到目标节点表示。图6(a)表示二维卷积网络对网格型数据的处理,即通过一定算法聚合目标节点及其周围八个相邻节点的特征。以生成节点表示。由于过滤器的大小固定不变,因此近邻节点的个数也是固定不变的。而图6(b)展示的GCN虽然也是根据一定方法聚合目标节点的近邻节点特征以生成节点表示,但由于不依赖于固定尺寸的过滤器,即不要求近邻节点的个数恒定,因此该算法更为灵活。
图6 传统二维卷积与图卷积的区别Fig.6 Difference between traditional 2D convolution and graph convolution
基于GCN的会话推荐系统大多基于线性变换和非线性变换结合的消息传递机制,根据目标节点的邻域信息学习其特征表示,如公式(1)所示:
其中,H(l)为第l层的节点隐状态矩阵,ψ(·)为复杂的非线性函数,例如MLP、加性注意力机制等。A为邻接矩阵,为了在信息传播和聚合过程中考虑到节点自身信息,因此令对应的度矩阵,且有
从多关系项目图中学习项目特征表示时,MGNNSPred模型[25]和GNNH模型[16]首先根据目标行为和辅助行为及前后项目的两两组合得到四类节点集合,并分别使用均值池化方式聚合每个集合中的节点,最后采用加和池化的方式进行聚合。其中,MGNN-SPred模型通过正则累加和门控聚合的方式通过目标行为序列和辅助行为序列直接得到了会话表示向量;而GNNH模型还在多关系特征图上进行了类似的GCN操作,并获得了在会话中用户对不同特征的兴趣。
DGTN模型[26]在更新会话图节点信息时,去除了非线性激活函数,并将权重矩阵进行折叠,仅根据规范化后的近邻节点向量对会话内和会话间的项目节点信息进行特征学习。而DHCN模型[20]使用新颖的超图及其线图对会话序列进行建模,并基于超图卷积对项目节点特征进行学习。COTREC框架[27]采用了与DHCN模型类似的聚合算法,两者区别在于该框架使用项目视图和会话视图的概念取代了DHCN模型中的超图概念。
GCN作为一种有效的局部特征提取算法,可对目标节点的数个K阶近邻节点的信息进行聚合来获得目标节点的最终表示。现根据GCN在会话推荐系统中的作用,将部分代表工作进行分类,如表1所示。
从表1中可以看出,GCN的主要作用是学习会话图中各项目节点的特征表示,并根据后续模型任务,通过多种读出函数生成局部或全局会话表示。由于GCN难以捕捉项目间的时序依赖关系,因此在学习用户长短期兴趣时,还会引入GRU[28-29]和多种注意力机制[9,16,20,27,29,31,33]。为了更好地学习项目间的远距离近邻上下文特征,大多数模型采用了堆叠GNN的方式,然而这会带来非常严重的过度平滑问题。一些模型[29-31]通过修改GCN的消息传递算法,有效地解决了此类问题。此外,由于经典的监督任务欠缺实践价值,不少相关工作引入对比学习[20]、多任务学习[33]等自监督训练方式,通过挖掘不同角度下的自监督信号,实现对特征的自适应学习;还有部分工作[32]从提升模型实时学习能力的角度进行优化。
表1 GCN架构在各会话推荐系统中的作用Table 1 Role of GCN among session recommendation system
当从短会话中推断用户的兴趣偏好时,基于GCN的会话推荐系统性能尚可,但是当会话序列较长时,此类模型的性能往往有待提升。其主要原因是在长会话中学习各项目的特征表示时,需要更多的邻域信息,因此在堆叠GNN的过程中带来了严重的过度平滑问题。此外,每当会话图中添加新的节点时都需要重新进行图推理,而不是采用增量方式计算,因此部分基于GCN的会话推荐系统的可扩展性还有待提升。
总体上,基于GCN的会话推荐系统立足于会话图结构,通过多种图卷积算法学习各节点的特征表示。相关工作主要以在线购物场景为主,向在线音乐、短视频、兴趣点等场景进行延伸,在多个场景下保持着较高的推荐精准度。根据相关工作的实验报告,GNN-GNF模型[31]在电商数据集Yoochoose 1/64上的点击率Top-20预测任务中,精准度高达70.59%,DGTN模型[26]的召回率更是高达71.18%,充分地体现了此类会话推荐系统的优越性。
3.2 基于GGNN架构的会话推荐系统
门控图神经网络是一种以循环神经网络作为消息传递算法的GNN。在会话推荐领域,GGNN采用均值池化算法聚合会话序列中的项目节点信息,并采用门控递归单元(gated recurrent unit,GRU)作为递归函数来集成近邻节点和目标节点的信息。相比于GCN不做区分地聚集目标节点及其近邻节点的信息,GGNN中的门控机制可帮助模型判断应当保留和丢弃哪些信息;同时GGNN对节点的出边与入边进行了区分,即其邻接矩阵并非GCN中的对称阵,而是由出度矩阵与入度矩阵拼接得到,如图7所示。理论上,GGNN还可通过拼接节点间不同类型边对应邻接矩阵的方式融合节点间的多元关系。
图7 GGNN示例Fig.7 Example of GGNN
Wu等人[8]提出SR-GNN模型首次将GGNN用于会话推荐系统,该模型在将会话序列转换为会话图的同时,对各项目进行了嵌入编码,并将相应的向量矩阵作为GGNN的初始输入,然后基于GRU实现节点间的消息传递,如公式(2)、(3)所示:
其中,As表示有向图的节点连接信息,可由经过归一化处理后的出度矩阵Aosut与入度矩阵Aisn拼接得到;W和b均为可学习参数;k为GGNN的堆叠层数。虽然不难发现GGNN和GRU的公式除了输入数据不同之外,其余部分基本相同,但是要明确两种算法的目的和意义存在差别。GGNN是以会话图的邻接矩阵作为输入,处理的信息实质上是节点之间的连接关系,其目的在于学习包含近邻上下文信息的节点表示;而GRU是以会话序列的项目表示向量为输入,实质上是在学习项目间的顺序依赖关系。为了便于评述,在接下来的章节中称这种形式的GGNN为经典GGNN结构。
SR-GNN是第一个将GNN引入会话推荐系统的模型,具有开创性价值和里程碑意义,然而该模型存在着一定的局限之处。该模型仅学习了项目间的上下文依赖关系,忽略了项目间的时序特征。同时,由于该模型未能考虑到用户的个人信息,因此它并非个性化的推荐系统。此后,学者们大多围绕SR-GNN模型中的经典会话图构造方法和GGNN架构进行优化。
GC-SAN模型[34]与SR-GNN模型较为相似,但是在对通过GGNN学习到的各项目表示进行处理时,相比于后者的加性注意力算法,GC-SAN模型堆叠由自注意力层、MLP层和残差学习层组成的自注意力块提取用户的长期兴趣,并从不同高度的块中捕捉不同层次的特征。此外,相比于SR-GNN模型采用拼接用户长短期兴趣并进行线性投影的方式获得会话表示,GC-SAN模型采用了线性插值的方式处理用户的长短期兴趣。
CIE-GNN模型[35]借鉴了GC-SAN模型的部分结构,但是该模型将位置信息加入项目表示中,并将其作为经典GGNN的初始输出以捕捉项目间的时序关系。相比于GC-SAN模型简单定义局部会话兴趣,CIE-GNN模型使用多头自注意力层建模局部会话向量表示,从而自适应地捕获用户的动态当前兴趣。
不同于CIE-GNN模型将项目表示向量输入经典GGNN进行处理之前就将位置向量与项目向量相加的操作,AMGNN模型[36]先将项目向量通过经典GGNN处理后,再采用拼接的方式将学习到的项目向量与位置向量聚合,并采用多头注意力与加性注意力相结合的方式学习会话的全局表示向量。
项目间的时序相关关系不仅能根据顺次转换记录学习,TAGNN模型[37]在为用户进行推荐时,更注重从用户历史交互记录中提取其对同类商品的喜好。具体来说,该模型采用注意力机制计算指定目标项目下的会话表示向量,并且会话向量可在用户对新的目标项目感兴趣时动态变化,从而有效应对了用户兴趣漂移的问题。
总的来说,各学者主要从表2所示的五个方向对SR-GNN进行优化。例如学者们已尝试通过堆叠的注意力机制从融入丰富辅助信息的项目表示中,提取用户的长短期兴趣,通过将用户、类别等信息融入经典GGNN的初始输入,或是直接改变模型架构。此外,也有学者采用多路并行、优化会话图和修改整体机制的方法增强模型的性能。然而,相关研究工作均存在不同程度的局限性,其中不少工作仅考虑到了项目间的上下文依赖关系,而忽略了重要的时序相关关系。同时,部分工作简单地将用户的最后一个交互项目视为短期兴趣,使模型很容易受到用户兴趣漂移的影响。
表2 基于SR-GNN的优化方式及代表模型Table 2 Each optimization mode with corresponding representative models based on SR-GNN
由于GGNN需要在所有节点上多次计算递归函数,即需要存储所有节点的隐状态,故该方法对内存的需求较大,因此将GGNN应用于多个节点和多条边的大型图上时,可能会导致性能变差。其次,经典的GGNN在节点间进行消息传递的过程中,仅使用不同时间步下的状态隐向量,这有可能会导致梯度消失和底层信息丢失的问题;并且它没有对目标节点的各近邻节点进行权重分配,因此可能会在更新节点表示的过程中受到噪声数据的干扰。虽然部分学者提出了相应的方法进行优化[22,53],但是从实验结果来看,模型性能仍然有待提高。
在实践方面,基于GGNN的会话推荐系统可有效完成不同场景下的精准推荐任务,相关工作涵盖了在线购物、在线音乐、招聘求职等多个场景。在电商购物推荐任务中,TAGNN模型[37]在电商数据集Yoochoose 1/64上的点击率Top-20预测任务中,精准度高达71.02%;在音乐推荐任务中,TA-GNN模型[47]和SDE-GNN模型[51]分别在Nowplaying数据集的Top-20推荐任务中取得了15.74%和19.01%的召回率和精准率;在招聘求职推荐任务中,A-PGNN模型[49]和DSGNN模型[17]分别在Xing数据集的Top-10推荐任务中取得了17.06%和24.48%的召回率和命中率。彰显了GGNN在会话推荐中的强大特征提取能力。
3.3 基于GAT架构的会话推荐系统
GAT认为不同近邻节点对目标节点的影响不同,因此基于多种注意力机制为各近邻节点分配权重,以衡量其对目标节点的不同影响程度,并通过聚合函数动态更新每个节点的表示向量。值得注意的是,GCN为目标节点的近邻节点分配的权重是根据图结构预先确定的;而GAT为目标节点的近邻节点分配的权重,是根据消息传播算法计算不同时间步下的节点隐状态,并由此动态更新得到的,如图8所示。因此,相比于GCN静态的参数化权重,GAT动态的可学习权重更为灵活,也更能精准捕获到会话图中的复杂交互信息。
图8 GCN与GAT的权重分配方式区别Fig.8 Difference in weighting between GCN and GAT
基于GAT的会话推荐系统通过计算目标节点和各近邻节点间的注意力权重区分不同近邻节点的重要程度,并通过多种加权聚合方式更新目标节点向量,如公式(4)、(5)所示:
其中,αij为目标节点i与其近邻节点j的注意力权重,f(·)可为多种注意力得分计算函数,如点积、加性注意力等。N(i)为目标节点i的近邻节点集合,为目标节点i在第l层的特征向量。ξ(·)和δ(·)为提高模型拟合能力的线性或非线性变换函数。
考虑到RNN有助于学习项目间的时序关联关系,部分学者采用长短期记忆网络(long-short term networks,LSTM)对模型进行增强。Song等人[10]提出的DGRec模型首先使用LSTM捕捉目标用户及其朋友在各自会话中的动态兴趣,然后结合用户的社交网络探索其朋友的喜好对该用户的影响。DYAGNN模型[54]首先构造以项目为节点的有向加权图,然后通过堆叠多层的GAT计算各边权重和节点向量,并通过LSTM进一步捕捉项目间的时序关系。
多路并行的模型架构有助于从多个角度联合捕捉用户兴趣,其中MSGIFSR模型[55]以不同长度的子会话为节点、以子会话间的联系为边建立有向加权的多粒度异构会话图,并使用基于多头注意力的双向GAT学习各粒度下不同子会话单元的表示。SHARE模型[56]也采用了类似于MSGIFSR模型的并行GAT思想,其不同之处在于该模型基于超图分别学习节点到超边和超边到节点的信息传播,并通过叠加多层GAT学习包含丰富上下文信息的项目表示来精确反映会话中的用户意图。
为了更加直观地对相关模型框架进行比较,表3整理了部分具有代表性的GAT会话推荐系统。经分析,大多数相关工作在计算节点间的注意力时,主要采用加性注意力机制计算注意力分数,然后基于Soft max函数进行归一化处理,部分工作[10,56]使用基于内积的算法计算注意力分数。在聚合近邻节点特征时,部分工作采用普通加权和的方式[10,59],一些工作[55,57]引入了可学习参数矩阵增强模型的学习能力,还有不少工作[54,58,60-62]在此基础上引入了激活函数,以提高模型的非线性拟合能力。总的来说,基于GAT的会话推荐系统相关工作相对较少,还存在着较大的研究空间。
表3 基于GAT架构的会话推荐系统分类Table 3 Classification of session recommendation system based on GAT architecture
注意力机制的强大去噪能力使得基于GAT的会话推荐系统得以从包含多元信息的异构图中挖掘用户兴趣,多头机制更是提升了此类推荐系统的特征提取能力,从而使模型能够更为精准地推断用户偏好。GAT虽然能通过分配注意力权重的方式,区分邻域节点的相对重要性,但是由于忽略了图中的结构信息,其在聚合多跳范围内的邻域信息时,很容易出现严重的过度平滑问题[63]。此外,GAT对参数的初始化策略十分敏感,模型的性能波动较大[64]。因此,在使用GAT时仍然需要结合一些相应措施来缓解可能出现的性能问题,例如应用更加稳健的参数初始化策略,或尝试NISER框架[53]和SRLSG模型[22]中的优化策略。
在实践方面,基于GAT的会话推荐系统仍以在线购物为主,同时涉足更为广泛,除了音乐、兴趣点和招聘推荐之外,还涵盖电影、书签等娱乐场景下的推荐。由于GAT本身可基于注意力机制对邻域信息分配权重,因此具有更为强大的去噪能力和特征提取能力。例如MGCNet模型[57]在电商数据集Yoochoose 1/64上的购买率Top-20预测任务中,召回率达到了惊人的92.38%;在音乐推荐任务中,GCE-GNN模型[59]在Nowplaying数据集的Top-20推荐任务中取得22.37%的精准率。刷新了基于GCN和GGNN的会话推荐系统的相应最高记录。
3.4 基于其他GNN架构的会话推荐系统
正如前文所述,虽然GCN、GGNN和GAT的性能强大,但是也各有不足之处。因此,部分学者提出了基于混合机制的GNN会话推荐系统,并结合多种注意力机制、位置编码或残差学习等技术进行更为精准的推荐。此外,不少学者通过在原有结构的基础上融入新元素或替换的方式进行优化,也在一定程度上提升了模型性能。
根据各工作的实验结论,将注意力机制与GGNN相结合有助于增强模型对噪声数据的过滤能力,从而更加精准地学习项目特征表示。PA-GGAN模型[65]、TPA-GNN模型[18]、NA-GNN模型[66]和LESSR模型[21]均将注意力机制与GGNN相结合,其区别在于NA-GNN模型先通过GGNN获得项目节点的初步表示,再通过自注意力机制进一步更新节点向量;TPA-GNN模型先通过多头注意力机制更新边权重,再通过GGNN更新项目表示向量;而PA-GGAN模型先通过注意力机制为各项目分配向量,然后通过GGNN获得节点向量初步表示,再通过多头机制增强注意力机制,并使用残差学习和MLP防止模型在学习过程中丢失底层信息和增强模型的非线性拟合能力;LESSR模型使用GGNN与GAT形成交叉堆叠的结构交替进行节点信息和边权重的更新。然而,相关工作大多仅对项目的上下文近邻特征进行了较为充分的学习,不同程度上地忽略了项目间重要的时序特征关系。
引入丰富的边信息开可有效提升会话推荐系统的推荐精度,将这些边信息融入异构图更是有助于学习到多种交互下的项目特征。SE-Frame框架[14]将用户的社交关系加入会话推荐任务中,并以简单线性方式分别根据用户间的联系与用户和项目间的交互计算用户节点的社会影响和用户偏好,然后使用注意力机制分别融合两种信息。而HG-GNN模型[67]则采用均值池化与MLP结合的方式从基于包含用户节点与项目节点的异构全局会话图中学习多种类型的边权重,然后使用门控机制聚合经过加性注意力机制分别学习到的用户长短期偏好。然而,边信息的引入也带来了更多的噪声,如何设计有效的去噪机制,是此类会话推荐系统面临的重大挑战之一。此外,多样化的信息来源也导致推荐结果的可解释性更差。目前,元学习和基于边信息的注意力机制是应对此类挑战的有效方式,通过学习元路径和为不同的项目属性分配权重,可更加精准地推断用户意图,同时具备了良好的可解释性。
受到变分推理的启发,一些学者将该思想与会话推荐相融合,将用户兴趣视为复杂的分布函数,并采用自动编码器进行学习。例如HybridGNN-SR模型[68]将变分推理的思想融入GNN,并结合无监督和有监督的图学习来学习会话中的项目转换关系。该工作所采用的方式在一定程度上解决了有监督学习方法忽略图结构信息和无监督方法忽略用户偏好的问题,使得推荐结果更为精准全面。然而,用户的真实兴趣不仅复杂,而且多变,变分推理难以在无法获取足够多用户交互历史的情况下,捕捉到动态变化的用户兴趣。因此,此类思想更适合于根据用户的长期行为推断其意图的推荐场景。
虽然GRU4Rec模型奠定了GRU在会话推荐领域的地位,不少学者仍然尝试基于LSTM进行会话推荐。SR-MNN模型[69]在聚合项目节点向量的过程中,首次采用基于LSTM的GNN学习目标节点及其近邻的信息,随后使用GRU捕捉会话中的项目时序关系。此外,该模型还将目标会话中首个交互项目加入会话向量表示中,以捕捉用户初始兴趣对整个会话兴趣的影响。SR-HetGNN模型[15]则更进一步根据用户节点、会话节点与项目节点形成了复杂的异质图,然后采用DeepWalk算法[70]和Word2Vec算法[71]学习各类型节点的初始化向量,并通过基于重启的随机游走与双向LSTM获得包含多元信息的项目表示。虽然根据相关工作的实验报告,此类会话推荐系统取得了较高的推荐精度。然而,模型的复杂度会随着数据体量的增加而快速提升,此类模型的可扩展性还有待优化。
综上所述,基于混合架构GNN的会话推荐系统大多仍围绕GGNN展开。值得注意的是,GGNN和GRU的公式除了输入信息有所差异,其他部分基本一致。因此,基于GGNN的会话推荐系统也可以仿照此前基于RNN的会话推荐系统的相关工作,将不同类型的注意力加入门控机制中,形成门控注意力图神经网络。在实践方面,相关工作仍然可以有效应对不同场景下的精准推荐任务,同样以在线购物推荐为主,以音乐推荐、兴趣点推荐为辅,此外还有其他娱乐场景下的推荐应用。部分工作在兴趣点推荐任务上的表现较为出色,例如,LESSR模型[21]在Gowalla数据集的Top-20推荐任务中,取得了51.34%的召回率;基于SE-Frame框架[14]实例化的SE-Rec模型,在FourSquare数据集的Top-20推荐任务中,取得了70.05%的召回率。
由于混合模型引入了多种神经网络,如何设计整体模型框架,实现各模块间良好的统筹协调,成为此类模型需要应对的重大挑战。此外,模型整体深度和宽度的增加也会导致待训练参数量快速增长,如何在控制参数量的同时,提升推荐的准确度,值得未来进一步研究。
4 现有工作中的实验设计综述
本章将依据各基于GNN的会话推荐工作的实验部分进行分析,由于损失函数、数据集和性能评估指标的选取对模型性能影响较大,因此重点关注了各工作中的相应信息。为了更加直观地展示出损失函数、所选取的数据集和模型性能指标的使用情况,现将统计结果进行展示,如表4所示。
根据表4(a)的统计结果,大多数基于GNN的会话推荐系统使用了带交叉熵的损失函数,即模型的学习目标是最小化模型学习到的数据分布与真实数据分布的差异。相比于复杂形式的损失函数,交叉熵损失函数可以大幅提升模型在训练过程中的权重矩阵更新速度,使损失值快速收敛,有助于缩短训练时长。然而,当面临带有噪声标签的样本时,即用户并非对会话中的每个项目都感兴趣时,使用交叉熵损失函数进行训练很可能会带来严重的过拟合问题。此外,在点击率预测或购买预测任务中(即多分类问题),大多数基于GNN的会话推荐模型会使用Softmax函数进行处理,然而这种处理方式会使模型重点关注预测的准确度,而忽略了其他非正确预测结果间的差异。因此,如何通过优化正则项、提高数据质量等方式缓解训练过程中的过拟合,或是通过修改非线性函数的方式提升软分类精度,亦或是通过对比学习、蒸馏学习、强化学习等方式提升模型训练的效率,仍然值得进一步探索。
根据表4(b)的统计结果,大多数基于GNN的会话推荐系统在实验部分使用了电商类数据集,其中使用次数最高的Yoochoose数据集和Diginetica数据集均为会话推荐领域的基准数据集。虽然两个数据集提供了会话标注字段,避免了人为切分会话降低数据质量,但是并未提供更为丰富的用户信息和交互信息。此前的文献综述已经表明,合理引入丰富多元的边信息,有利于提升推荐结果质量。因此,未来的研究可以尝试在包含多样化信息的数据集上进行实验。
根据表4(c)的统计结果,大多数基于GNN的会话推荐系统使用了平均倒数排序(mean reciprocal rank,MRR)和准确度(precision)指标,命中率(hit rate,HR)、召回率(recall)和标准化折现累积增益(normalized discounted cumulative gain,NDCG)也均反映了推荐结果的精准度。虽然精准度是衡量推荐结果质量的重要指标,但并非唯一指标,未来的研究还应适当关注推荐结果的新颖度、惊喜度等,可引入DIV@K[72]、POP@K、EILD-RR@K[13]、ESI-RR@K[13]等指标对模型性能进行评测。
表4 损失函数、数据集和评估指标统计Table 4 Statistics of loss functions,datasets and metrics(a)损失函数类别统计
总的来说,大部分基于GNN的会话推荐工作面向电商购物场景,并将推荐任务视为多分类任务,更关注推荐结果的精准性。
5 讨论与未来工作展望
5.1 讨论
根据前文对基于GNN的会话推荐系统相关工作的评述,为了应对精准会话推荐的挑战,各工作主要从学习项目间的时序特征、引入丰富多元的边信息、创新GNN算法、优化模型训练方式四个角度进行了突破,如表5所示。下面将对不同角度下的相关工作进行综合讨论分析。
表5 应对精准会话推荐的策略分析Table 5 Analysis of strategies to deal with accurate session recommendation
5.1.1 学习项目间的时序特征
具有开创性的SR-GNN式经典构图提供了一种朴素的数据结构转换思路,使GNN能间接处理序列式的原始会话信息。然而,这种构图方法存在一定局限,例如丢失了项目间的顺序转换信息和忽略链接属性。
虽然部分研究工作[20,27-28,51,56]意识到了时序特征的重要性,并从多个角度出发进行创新,但各方法仍存在不足之处。将时序信息作为链接属性加入会话图可以在一定程度上保留原始时序信息,然而此类信息难以随模型训练而优化。因为项目间的原始顺次转换信息是客观信息,不应当随模型的训练而更改。此外,现有的研究工作大多采用单路串行的方式设计模型,其本质是偏重时序信息或上下文信息,难以做到两种信息的动态平衡。
5.1.2 引入多元的边信息
经典的会话推荐任务仅基于匿名用户和项目的交互记录进行推荐,然而此类数据的信息量有限,推荐性能的理论上限较低。受到知识图谱相关研究的启发,不少学者尝试将更加多元的边信息作为补充数据引入会话推荐任务中,大幅提升了会话推荐系统的精准推荐能力。总的来说,相关工作可根据信息来源渠道,分为基于用户侧边信息的会话推荐系统[25,40,57]和基于项目侧边信息的会话推荐系统[42,58,73]。一些工作同时考虑到了用户侧和项目侧的丰富的边信息[16]。这些边信息增强的会话推荐系统极大地提升了推荐精准度,是相关领域具有较大研究潜力的方向之一。值得注意的是,引入更多信息的同时也会带来更多的噪声。因此,可以采用多种形式的注意力机制进行去噪处理,以缓解噪声信息对推荐性能的影响。
5.1.3 优化模型结构或输入
优化模型结构最为明显的特征是尝试使用不同种类的神经网络,或基于相应经典结构进行优化,提高模型的推荐精准度。由于GCN和GGNN模型难以处理隐藏在各种图中的噪声信息,因此部分学者尝试在GNN前后引入注意力机制进行去噪[9,34]。一些工作还采取多路并行的方式,从不同角度推断用户意图[59-60]。
采用多路并行的架构虽然有效,但是很容易导致模型的参数量增大,导致模型的训练时间大幅延长。因此,一些学者从提高模型输入质量的角度入手,将多种信息与项目的初始嵌入编码相结合,从源头提升特征编码的质量[23,49]。提高模型输入质量的另一个角度是对原始会话图进行优化[19,24]。优化模型输入有助于GNN从不同角度学习隐藏在会话中的用户兴趣,但是这种方式的扩展性较差,当需要从多个角度联合推断用户偏好时,容易由于噪声过多而难以提升推荐结果的精准度。
5.1.4 优化模型训练方式
大多数基于GNN的会话推荐系统将推荐视为有监督的学习,其本质是假设训练集包含了所有项目。然而在实际应用场景中,新项目会源源不断地加入,导致基于监督学习的GNN会话推荐系统性能不佳。为此,一些学者试图基于自监督学习训练模型[20]。大多此类模型假设用户在会话中具有直接单一的兴趣,因此不同角度下学习到的用户特征应当相同。然而,部分工作[74]证实用户在会话中的偏好可能复杂多变,因此仅基于无监督学习的相关模型在短会话上具有较好的性能,而难以从长会话中挖掘出用户的真实兴趣。
无论是有监督学习还是自监督学习,都存在一定缺陷。基于有监督学习的相关模型难以有效应对真实应用场景下不断涌现的新项目,而基于自监督学习的相关模型往往无法收集到足够多的自监督信号。HybridGNN-SR模型[68]提供了一种应对方式,即将无监督和有监督的图学习相结合。此类方法在一定程度上解决了有监督学习忽略图结构信息和无监督学习忽略用户复杂偏好的问题,使得推荐结果更为精准全面。
5.2 未来工作展望
基于前文从多个角度对GNN会话推荐系统相关工作的评述与分析,对该领域未来的工作进行展望。
5.2.1 注重模型的可解释性
基于GNN的会话推荐系统的可解释性仍然欠佳,这可能是由于隐式反馈难以收集并高度抽象。然而,良好的解释有助于增强用户对推荐系统的信任,这样用户更有可能接受来自系统的推荐。目前,已经有学者通过一些方式提升模型的可解释性[60],相信这也是研究潜力较大的一个方向。
5.2.2 发掘用户的个性化交互行为
由于基于GNN的推荐系统可有效学习项目间的近邻上下文特征,因此理论上应当在捕捉用户的重复交互、周期性交互等特殊信息方面有更为明显的优势。基于RNN和注意力机制的RepeatNet模型[75]与基于异构超图注意网络的MSGIFSR模型[55]已经证明,捕捉用户的重复交互行为有助于提升会话推荐的精准度。因此,从用户的特殊交互行为中学习其兴趣偏好是值得探索的方向之一。
5.2.3 重视会话数据的质量
由于目前的数据集大多没有明确划分会话,因此只能根据时间戳信息,并基于硬性规则进行会话划分。然而,都是人为设定的会话切分方式难免有所偏差。在未来的研究工作中,可以尝试联合多种方式切分会话,或根据用户个人信息和历史交互数据分布,使用自适应的方式以获得更为精准的会话序列。同时,应当鼓励研究人员在考虑丰富项目属性和用户信息的基础上,收集携带会话标识的数据集,以支撑相关领域的后续研究。
6 结束语
目前GNN已经成为各领域的研究热点之一,在过去的五年里,会话推荐领域涌现出不少重要的相关工作。因此,本文从推荐因素分析出发,重点从算法原理与性能分析两方面对数十篇基于GNN的会话推荐相关工作展开评述,旨在总结学者们在各方面所做出的贡献。最后,根据前文对相关工作的分类评述对比,提出了对未来研究的展望。