强化节点的全局重要度的会话推荐算法

2024-06-26 07:52龚文正谢程远张恒
电脑知识与技术 2024年13期

龚文正 谢程远 张恒

摘要:会话推荐旨在匿名会话中预测用户下一次的交互信息。现有基于图神经网络的会话推荐模型(GNN) 在全局图中融入了两两物品的转移关系,但忽略了项目本身在全局图中的重要性,从而影响了推荐精度。此外,在会话图中对邻居节点对当前节点的影响考虑不全面。因此,提出了一种新的强化节点全局重要度的会话推荐算法(EGIN-SR,EnhancedGlobal Importance of Nodes Session Recommendation Algorithm) 。该算法在全局图中利用PageRank计算每个项目的重要度,以此更加精准地表示项目。同时,设计了一种转换感知权重聚合方法,可以感知到不同的节点转换,突出不同邻居对其自身的重要性。在Diginetica、Tmall天猫数据集和Nowplaying数据集上的实验表明,该方法在性能上优于现有的主流方法,证明了此方法的有效性。

关键词:会话推荐;图神经网络;节点信息;全局重要度

中图分类号:TP391 文献标识码:A

文章编号:1009-3044(2024)13-0017-04 开放科学(资源服务)标识码(OSID) :

0 引言

随着互联网的快速发展和信息的爆炸性增长,人们在面对海量的内容和选择时往往感到困惑和不知所措。在这个信息过载的时代,推荐系统[1]成了解决这一问题的有效工具。基于会话的推荐系统[2-4]作为推荐系统的重要分支之一,通过分析用户的历史行为和会话信息,能够更准确地理解用户的兴趣和需求,并为其提供个性化的推荐服务。

基于会话的推荐系统的工作原理是基于用户在一段时间内的行为和交互,而不仅仅是考虑单个事件。通过分析用户的会话信息,包括点击、浏览、购买等行为,可以更好地捕捉用户的兴趣演化和行为模式,并据此进行推荐。会话是指用户在一段时间内的连续交互行为,可以包括点击、浏览、购买等动作。一些研究将其看作一个行为序列,早先的研究采用马尔可夫链、主题模型、概率生成模型等方法来对会话序列进行建模。随着深度学习技术的不断发展,越来越多的研究采用深度学习模型来分析用户在不同上下文中的行为,以更好地理解用户的兴趣演化和行为模式。一些研究采用RNN对会话序列进行建模,通过将会话序列作为输入,RNN可以学习到会话中不同项目之间的关联性和顺序,进而研究用户行为的复杂性。以上方法包括早期的研究,都仅仅是对一个会话进行建模,并从中发现用户的兴趣偏好。然而不同的会话确实包含着用户的不同偏好信息,例如,用户在一个会话中可能会连续浏览几个相似的商品,这表明用户对这类商品有较高的兴趣。而在另一个会话中,用户可能会点击一些与之前不同类型的商品,这可能意味着用户对其他类型的商品也有一定的兴趣。尽管现有的方法都已取得了不错的效果,但是未考虑到项目的全局权重,可能会导致推荐结果的片面性和局限性。另一方面,其没有对项目转换的重要程度做区分。在会话中,不同的项目到项目的转换反映了用户不同的兴趣与需求,通过了解项目转换能够捕捉用户兴趣的变化。

因此,我们提出了一种新的强化节点的全局重要度的会话推荐算法。首先为会话图引入类型编码,以此来区分来自不同会话以及丰富项目节点的信息。其次计算每个项目在全局图上的重要度,为不同项目赋予不同的全局重要度。同时,考虑通过项目转换的频率来判断其重要性,并为其赋予更高的权重。在进行信息传播的过程中,为不同的转换赋予不同的权重,较近发生的转换也赋予更高的权重。较高的权重可以使该项目在推荐过程中更加突出,从而更好地满足用户的个性化需求。

1 相关研究

基于会话的推荐系统是一种利用用户的会话历史数据进行个性化推荐的方法。这种推荐系统考虑了用户在会话中的行为顺序和上下文信息,能够更准确地理解用户的兴趣和需求。在基于会话的推荐中,根据对会话建模方式的不同,将基于会话的推荐模型分为基于序列的模型和基于图的模型。

基于序列的模型将用户的会话历史看作一个序列,通过建立序列模型来预测用户下一个可能感兴趣的物品。这些方法通过分析会话历史中物品出现的频率和顺序,来预测用户下一个可能选择的物品。微软研究院提出了FPMC模型[5],该模型结合了马尔可夫链和矩阵分解的思想。它将用户的行为序列看作是一个马尔可夫链,其中每个行为都是链中的一个状态。FPMC模型通过学习用户的行为序列,来捕捉用户的兴趣演化和行为模式。循环神经网络(RNN) 和长短期记忆网络(LSTM) [6]也是常用的序列模型,它们可以捕捉用户在不同时间点的兴趣演化和偏好变化。Hidasi等[7]提出的GRU4Rec推荐模型使用门控循环单元作为其核心组件。GRU4Rec的一个重要特点是它是一个无状态模型,这意味着它不需要维护用户的状态信息。相比于其他基于会话的推荐模型,如FPMC, GRU4Rec更加简单和高效。Zhang等[8]在GRU4Rec基础上提出了STAMP 模型,与GRU4Rec 相比,STAMP 引入了时间信息,以更好地捕捉会话中物品的顺序和时间间隔。基于序列的推荐模型在处理长时间间隔的会话时可能会遇到挑战。由于模型主要关注最近的行为,长时间间隔的行为可能会被忽略,导致模型对用户兴趣的理解不准确。在处理长序列时,可能会遇到难以捕捉到远距离依赖关系的问题。

一些研究也引入图思想进行推荐。基于图的模型将用户的会话历史表示为一个图结构,其中物品作为节点,用户行为作为边。通过分析图结构中的节点和边的特征,可以推断用户的兴趣和偏好。Wu等[9]提出了一种基于图神经网络的会话推荐模型SR-GNN,它将用户行为序列转化为一个有向图,使用图神经网络充分学习用户之间的关系和物品之间的交互信息,从而提高推荐的准确性。Qiu等[10]将因子分解模型和图神经网络进行结合,在节点表示的计算中引入了因子分解的思想,将节点的表示分解为多个因子,以更好地建模节点之间的交互。但是由于引入了因子分解的计算,模型的复杂度较高,需要更多的计算资源和训练时间。DSAN[11]通过自注意力机制在会话中学习到其中商品之间的协作信息,即同一会话中不同商品之间的关系。GCE-GNN[12]通过引入图上下文嵌入,将节点的邻居节点信息和全局图结构信息融合到节点的嵌入表示中,使会话间可以互相辅助进而生成表示。从全局层面与会话层面进行建模学习,同时结合两个层面得到最终的表示。GCE-GNN[12]利用全局级项目表示学习层,在全局图上传播学习项目转换信息,并且使用注意力机制来区分项目的重要性。

本文提出的模型在学习之前工作优点的基础上更深层次地对会话信息进行挖掘,有效地利用这些信息从而进一步提升推荐的精准度。

2 EGIN-SR 模型框架

为了更好地利用大量会话中存在的相关信息,本文通过对会话级和全局级项目的处理,考虑每个项目的重要度和项目间转换的重要性来增强推荐,更好地理解用户需求,从而提供更具个性化的推荐。该算法的总体模型框架如图1所示,主要由3个模块组成:全局级项目表示学习、会话级项目表示学习以及推荐模块。

2.1 问题定义

会话推荐的目标是通过分析会话和全局信息的复杂联系来预测用户下一个可能访问的项目。将会话转化为一个会话图,用以反映项目之间的转换。用V = {v1,v2,...,v } n 表示全部n 个物品的集合。用S = {s1,s2,...,s } m 表示一个已知的会话S,si 表示用户在会话S中的第i 次浏览的物品,m 表示浏览物品总次数。会话推荐的任务是从V中选出TOP值最大的N个物品Ntop (1 ≤ N ≤ |V |)个最可能的候选项,用以预测会话S 的下一次点击的项目sm + 1,并生成推荐列表。

2.2 会话图构建

会话图是每个单独的会话序列构建而成,可以使得会话序列之间的转换模式更加清晰。具体而言:对于给定的会话序列S = {s1,s2,...,s } m ,设Gs = (V ) s,Es 为其构造的会话图,其中,Vs ? V(V 表示所有会话项目);Es = {e } ij 表示会话中相邻项目的边的集合,eij 是会话中相邻项目(si,sj) 。在这里,笔者采用SR-GNN的方法,为每条边分配一个归一化权重,其计算方式为边的出现次数除以该边的起始节点的出度。

2.3 全局图构建

全局图是以所有会话中的项目表示的转换信息构建的,其中包含了所有会话中出现的领域项目。具体而言,设全局图为G′ = (V′,E′),其中,V′包含V中所有项目的节点集合,E′ = {e } ij| (s ) i,sj | si ∈ V,sj ∈ Nε (s ) i是其边的集合,Nε (s ) i 是节点si 的ε-领域。图1中,我们构建了全局图(ε=2) ,并为其连接边生成权重,用以区分si 的邻居重要性。并且只保留图G′上每个项目权重最高的前N 个边,也不会动态更新图的拓扑结构。

2.4 全局图项目学习

本模型构建了一个全局级项目表示学习层,它在全局图中传播学习项目转换信息,并使用注意力机制来区分项目的重要性。首先,考虑到项目的不同邻居对自身具有不同程度的贡献,因此更准确地判断哪些邻居对于生成准确推荐更具影响力。因此,本文使用注意力机制来计算邻居项目节点的注意力系数,并根据当前上下文和目标项目自动学习邻居的贡献度。注意力系数的计算如公式(1) :

式中,ei,j 表示邻居节点vj 对节点vi 的重要性,并采用LeakyReLU 作为激活函数,a* 为可学习的权重向量,ri,j 表示vj 和vi 的连接关系,h′i 和h′i 分别是节点vi 和其邻居节点vj 的向量表示。由于图中所有的节点之间并不全是相连接的,为了使不同的节点之间具有可比性,本文对其注意力系数进行归一化。如公式(2) :

由于节点的邻居不同,它们之间的贡献也不同。因此,注意系数αi,j 是不对称的,Ni 表示节点i 的邻居节点集。

有些项目可能会在不同的会话中出现,并且可能会频繁出现。这表明许多用户对该项目有较大的偏好。通过计算全局重要度,可以识别在会话中具有重要地位的项目,并确保具有更高全局重要度的项目信息能够快e速R传an播k 到整个全局网络。因此,本文利用Pag? 算法[13]来计算所有全局图中项目在图中的全局重要度,以此来更加精准地表示项目,并进一步提高模型的表达能力,如公式(3) 所示:

其中,PR(v ) i 为每个节点vi 的全局重要度,用v′为指向节点vi的节点,in (v ) i 为节点vi的入度, out (v′)为v′的出度。为了防止没有入度或出度使节点的PR值为0,加入了阻尼因子的d(0 ≤ d ≤ 1),并且保证每个节点的PR值之和为1。

以图1为例,V4 有3个出度,分别指向了V5、V6、V7节点,那么我们认为用户点击V4 时下一个所点击的项目就有V5、V6、V7 的可能性,概率为1/3。同样地,我们可以得到全局图中7个节点的转移矩阵M,假设所有节点的初始重要度都是一样的,即w0 全为1/7,设d 为0.85。通过一次转移后,各节点的重要度w1如公式(6) :

得出的各节点重要度如图1所示,在经过n 次迭代后,可得到最终平衡状态下各个节点的重要度。

在得到邻居项目的注意力权重和全局重要度后,将邻居项目信息进行整合,生成新的项目特征hi,同时,通过注意力机制,降低了物品特征学习的噪声,如公式(7) 所示:

2.5 会话图项目学习

全局图中项目的邻居对其自身的重要性不同,利用注意力机制来学习不同节点之间的权重。在会话图中,许多项转换发生的次数很多,说明两者存在着很强的联系,该转换(边)的重要性很高。因此,对于发生次数更多的转换赋予更高的权重。

会话序列输入到图神经网络中,得到会话序列中涉及的所有项目表示为Ds = [h,v1 ] ,h,v2,...h,vm 同时,用一个可学习的位置嵌入矩阵R=[r1,r2,...rm ],ri表示特定位置i 的向量,m 为会话序列长度,位置信息zi 通过级联和非线性变化进行聚合如公式(8) :

在进行信息传播的过程中,利用注意力机制为项目vi 的转换边集Ei 中不同的转换赋予不同的权重k(vi,vj ),进而计算得到基于项目转换的项目表示hi 计算公式如下:

其中,tanh是激活函数W、Wk、Wp 和b 都是可学习的参数,qT 与W 为线性转换矩阵增强模型的拟合能力。

再对项目表示hi 进行聚合,得到会话图视角下的会话表示hs,计算如下公式(11) :

2.6 预测层

在2.4和2.5小节中分别得到全局图与会话图视角下的会话表示,为了进行推荐预测计算全部候选项目分数。本文首先将全局图与会话图视角下的会话表示进行融合,得到最终的会话表示hl,计算公式如下:

hl = wT ? [ h ] i||hs (12)

其中,||为拼接操作,?为矩阵乘法运算,wT 为可学习的参数矩阵。

最终,使用余弦相似度来计算会话表示l 与候选项目u的相似度Possibility(l, u),得到每个候选项目的推荐概率,计算如公式(13) :

式中,hu为候选项目的表示,hl为计算向量的模。

3 实验

3.1 数据集

本文旨在构建基于会话的推荐模型,以建立准确、个性化的用户模型,从而理解用户的兴趣和需求,并根据这些信息进行推荐。为验证所提模型的有效性和优越性,选择了三个数据集,分别是Diginetica、Tmall天猫数据集和Nowplaying。

1) Diginetica数据集是广泛应用于基于会话的推荐系统研究的开放数据集,为欧洲某电商平台6个月内所有匿名用户的交易数据,是CIKMCup2016公开数据集。2) Tmall天猫数据集是非常著名的电子商务数据集,被广泛应用于推荐系统和数据挖掘领域的研究,包含大量真实交易数据,涵盖多个商品类别和用i户ng行为,包括数百万用户和数千万商品。3) Nowplay? 数据集是用于基于会话的推荐系统的常用数据集之一,记录了用户在社交媒体平台上发布的音乐播放信息,包括用户ID、歌曲ID、播放时间等。这些数据可用于构建用户的音乐播放历史和会话信息,从而为推荐系统提供更准确的个性化推荐。以上数据集的详细统计信息见表1。

3.2 实验设置

通过分析所提模型的原理和结构,发现影响预测效果的主要超参数包括训练轮次Epoch、隐藏层维度、注意力头数、学习率等。因此,本研究对这些超参数进行了一系列实验,通过反复实验分析确定Epoch为20、隐藏层维度为16、注意力头数为2,并采用学习率为1e-3的Adam优化器对参数进行优化。为避免模型过拟合,笔者在每层之间设置了Dropout 层,将Dropout率设为0.5。

为更好地评估所提模型的预测效果,选择了相关研究中较常用的评价指标P@N 和MRR@N。其中, P@N通常用于评估推荐系统的性能,其中P表示准确率(Precision) ,N表示推荐列表的长度(Top-N) 。该指标表示在推荐列表中,有多少个项目是用户真正感兴趣的。例如,如果P@5为0.6,意味着在前5个推荐项目中,有60% 是用户真正感兴趣的。计算如公式(14) 所示,本文采用P@20作为衡量标准。

另一个评价指标是MRR@N,它代表平均倒数排名(Mean Reciprocal Rank) ,N 表示推荐列表的长度(Top-N) 。MRR@N衡量了推荐系统在给定的推荐列表中,用户感兴趣的项目在排名中的平均位置。MRR@N的取值范围是0~1,数值越接近1表示推荐系统的性能越好。该指标可以帮助评估推荐系统在给定的推荐列表中,用户感兴趣的项目的排序质量。计算如公式(15) 所示,本文采用MRR@20作为衡量标准。

式中,nhit 表示前k 项中正确推荐项目的数量,N 是总样本数,M 表示前k 项推荐项目中正确推荐的样本集,Rank (t)是物品t在推荐中排名。

3.3 实验结果与分析

3.3.1 对比试验

为了验证强化节点全局重要度的会话推荐算法的有效性和优越性,进行了对比实验,实验结果如表2 所示。本文选择了经典模型和最新模型进行对比实验。经典模型包括POP、Item-KNN[14]、FPMC、GRU4Rec、NARM[15]等模型。其中,POP、Item-KNN和FPMC 利用统计学方法对项目进行排名推荐,而GRU4Rec和NARM模型则利用GRU对用户会话进行建模。除了这些经典模型外,还有STAMP、SR-GNN 和FGNN等采用了注意力机制或GNN的新颖模型。STAMP是一种基于会话的推荐系统模型,旨在解决传G统N基N于会话推荐系统中的冷启动和长尾问题。SR- 利用了图神经网络的能力,来捕捉会话中物品之间的顺序依赖关系和语义关联。FGNN模型通过结合矩阵分解和图神经网络的思想,在推荐系统中取得了较好的效果,提供更准确和个性化的推荐结果。

根据表3可知,在P@20、MRR@20指标上,本文所提模型均取得了最佳效果。这说明本文所提模型推荐的项目更符合用户的选择和兴趣。相比之下, GRU4Rec、NARM等模型较POP、Item-KNN、FPMC等基于传统统计学的方法表现更出色。后者主要基于物品的流行度或相似度进行推荐,未考虑到用户的个性化需求和会话的上下文信息。而GRU4Rec、NARM 模型利用循环神经网络(RNN) 建模用户的会话历史,能够捕捉会话中物品的顺序和上下文关系。STAMP 在Tmall和Nowplaying数据集上取得了比GRU4Rec、NARM更好的效果。STAMP模型使用了自适应记忆机制,根据用户的历史行为和当前会话的上下文动态选择和更新记忆,更好地适应用户的兴趣变化和会话的动态特性。SR-GNN、FGNN 采用了图神经网络(GNN) 的思想,在推荐系统中取得了较好的效果,说明基于会话的图结构利用图神经网络建模用户的兴趣和上下文信息,可以综合考虑用户和物品的特征以及它们之间的交互关系,提供个性化的推荐结果。

本文所提方法在所采用的数据集上都取得了最佳效果,与SR-GNN一样采用GNN的思想,在会话图上学习用户的兴趣变化。同时,为会话图计算每个项目在全局图上的重要度以及项目转换的权重,使推荐模型能更好地利用会话历史数据,并考虑到不同项目和类型之间的关系,从而提供更准确和个性化的推荐结果。

3.3.2 消融实验

为进一步提高基于会话的推荐模型的推荐精准性,本文在GCE-GNN模型的基础上,为全局级项目表示学习层添加全局重要性信息。在生成全局项目表示时,融合了PageRank算法计算vi 的全局贡献度,提高了表达能力。另外,通过引入转换感知来提高模型对会话表示的学习能力。为证明以上改进对模型推荐效果的影响,本研究设置了3个消融实验,实验结果见表3。

如图2、图3所示,单独使用PageRank时,在三个数据集中的P@20、MRR@20指标均优于不使用的基础模型,说明使用PageRank为节点赋予全局贡献度,可以使全局级表示更精准地对邻居节点进行聚合,从而提高全局级表示的表达能力。单独引入转换感知时的效果同样优于基础模型,证明为转换边赋予不同的权重,可以使模型更好地匹配用户偏好,进而提升模型的推荐精度。最终,同时使用以上两个策略时,获得了最好的推荐效果。

4 结论

为了进一步提升基于会话的推荐模型的效果,本文在GCE-GNN模型的基础上进行了改进。通过研究分析,发现GCE-GNN利用全局级项目表示学习层,在全局图上传播并学习项目表示,其只是利用了节点的局部重要性,未考虑节点的全局重要性。因此,本文利用PageRank得到全局图中节点的全局重要性,在生成全局级项目表示时将其引入,令模型能够获知节点在全图上对用户的重要性,以此来提高全局级项目表示的表达能力。另一方面,我们对转换边的重要程度做出区分,频繁出现的节点间的转换更受用户的偏爱。因此,本文在进行信息传播的过程中,为不同的S转R换赋予不同的权重。最后,将本文所提模型EGIN- SR与8个基准模型进行了对比实验,结果表明EGIN- 具有更好的效果。本文还进行了消融实验,进一步验证了使用PageRank可以提高目标节点嵌入的表达能力与精确度。综上所述,本文所提改进模型在进行推荐时,能够更好地匹配用户偏好。

【通联编辑:唐一东】