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

作者: 龚文正 谢程远 张恒

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

摘要:会话推荐旨在匿名会话中预测用户下一次的交互信息。现有基于图神经网络的会话推荐模型(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 计算公式如下:

上一篇 点击页面呼出菜单 下一篇