融合对比学习的图神经网络会话推荐模型
2023-11-13郑小丽王巍张闯杜雨晅
郑小丽,王巍,2,张闯,杜雨晅
1. 河北工程大学 河北省安防信息感知与处理重点实验室,河北 邯郸 056038
2. 江南大学 物联网工程学院,江苏 无锡 214122
在互联网信息呈爆炸式增长的时代,推荐系统已经成功进化为信息服务的基础工具之一,它能够帮助用户做出合理的选择和决策,提高数据处理的效率,有效缓解信息过载问题[1-2]。传统的推荐算法需要借助用户个人简介以及历史评分(如网页的浏览数据、购买记录、社交网络和地理位置)等语义信息来构建推荐任务以预测用户真正感兴趣物品,然而在实际应用中,由于隐私策略或用户匿名访问的限制,用户的档案资料和长期历史配置文件大多都无法直接获得,唯一可用的有效信息只有当前会话中的点击行为记录[3]。因此,基于会话的推荐方法诞生并受到了学术界和工业界的广泛关注。
会话推荐旨在根据短期匿名会话交互轨迹行为构建交互行为模式,进一步预测用户要点击的下一项物品的概率[4-5]。最初,所做工作主要是马尔可夫链的浅层方法捕捉序列数据中随时间推移而动态变化的用户兴趣[6];近几年,以神经网络为首的深度学习技术发展火热,深层的神经网络已被广泛用于从非结构化数据内容中提取高阶信号特征的场景中,相关研究者也将深度神经网络引入了会话推荐中,对蕴含在不同类型会话数据中的潜在价值进行深入挖掘,极大地带动了会话推荐的研究进程[7]。循环神经网络[8](recurrent neural networks, RNN)通过状态变量将上一时刻输出和此刻输入进行结合共同作用影响获得此刻的输出结果,实现了神经网络的“记忆存储”功能。由于循环神经网络对序列型数据有着与生俱来的天然建模优势,文献[9]首次将循环神经网络纳入会话推荐系统中提出一种基于GRU4Rec 的方法,该方法通过多层门控循环单元和采用并行架构批量处理方式学习序列信息,聚焦于单个会话的兴趣演变,优化了训练策略 ;相比而言,作为深度学习领域最活跃的研究方向之一,图神经网络[10](graph neural networks,GNN)凭借其卓越的性能已经被广泛应用于个性化推荐等日常生活中,在新冠药物研发等科学前沿领域也不乏其身影,Wu 等[11]开创性地将会话序列构建为图数据结构来提取会话级特征,显示出了可观的推荐性能。然而尽管研究者们在图会话建模方面已经取得了不错的进展,但基于图的会话推荐方法依然存在一定的局限性和挑战性[12],主要总结如下:
1)由于会话数据存在随机性和嘈杂性的特点,在会话行为序列中并不是所有的交互行为都对下一项物品预测有帮助,且模型在形成兴趣表征时无法越过与用户主要兴趣不相关的物品,这阻碍了模型进行有效的意图学习,使学习到的会话表示可能存在鲁棒性差和不准确的问题[13]。
2)对于用户行为中的噪声点击,传统解决方法通常采用注意力机制由softmax 加权的方式削弱与用户主要目的不相关物品的影响,即赋予不重要物品较小的权重比例,属于一种隐式去噪方式,但是经过多次迭代后,这种小权重嘈杂点击仍会积累大量的噪声,容易形成无效的意图学习[14]。
3)虽然现有的基于会话预测方法利用强大的表示学习方法在低维空间中编码项目的顺序相关性,但它们也存在一定的局限性。用户兴趣本质上是由用户意图驱动,而用户意图会随时间推移发生动态性变化,用户对物品的兴趣也会随之不断改变,这种变化容易使得模型存在无法准确分析隐式反馈数据内部复杂的相互依赖关系和不能充分捕捉用户真实偏好动态变化规律的问题[15]。
为此,提出融合对比学习的图神经网络会话推荐模型(comparative learning graph neural network for session-base recommendation,CLSR-GNN),该模型首先将会话数据转换为图,并通过图神经网络的图拓扑结构聚合图上项目的特征信息,得到项目隐含向量表示,作为局部会话表示,这种特征提取方式能够增强模型表达能力,可以更为充分和准确地学习具有丰富语义的项目表示;其次,为了更好地了解用户的真实意图、降低噪声行为干扰作用、避免嘈杂点击的累积,对基于项目的隐含向量先用软注意力分配给每个项目不同注意力分数值生成注意力参数矩阵,利用噪声滤除器对注意力系数进行更加细致的处理,过滤掉权重低于特定阈值的项目,生成有效的全局会话向量表示,显示过滤掉与用户主要目的不相关的物品;再次,为使模型去噪效果达到更佳,将经过噪声过滤的全局嵌入表示和原会话全局嵌入表示分别作为正样本和负样本,联合对比学习框架对两者建立监督信号进行优化训练,达到更好地抑制噪声干扰的效果,获得高质量的会话特征向量表示,更为有效地挖掘项目之间深层次的关联,增加模型鲁棒性和可解释性;最后,采用门控机制来自适应地融合全局偏好和局部偏好表示,有效建模会话中用户与项目交互序列中的复杂转换关系,结合全局和局部物品特征来揭示会话序列中用户的兴趣变化规律,获得更准确的会话向量表示,从而形成个性化推荐,预测用户将要点击的下一项物品。实验结果表明,该算法显示出了较好的推荐性能,具有合理性和优越性。
1 相关工作
1.1 基于图神经网络的会话推荐
随着深度学习的发展,图神经网络异军突起,成为了图计算和图挖掘任务的最佳方法[16]。从图的视角重新看待传统推荐模型,不难看出,传统模型一般只利用了图上的一阶邻居节点信息,如在矩阵分解模型中,对于给定的用户,它仅用到了其一阶邻居的信息,因此导致模型的推荐性能受限[17]。与传统模型相比,图神经网络模型可以通过消息传播机制让节点聚合到大部分高阶邻居的信息,即有效地捕获高阶关系以实现更准确的表征学习[18-19]。图作为一种通用类型的数据结构,也被引入了会话推荐任务建模中,Wu 等[11]采用门控图网络作为项目特征编码器,并利用软注意力机制将项目特征和会话特征聚合在一起,进行用户兴趣学习;Xu 等[20]设计了多层自注意力网络,利用了自注意力机制和图神经网络的互补性,以获得情境化的非局部表征,保持了模型的简单性和灵活性,实现了较好的推荐效果;Qiu等[21]提出了一种加权注意力图结构和一个读出函数来学习物品和会话的嵌入的模型框架来协同处理会话图中的潜在顺序关联;Wang 等[22]提出了一种结合上下文信息加强的模型,以更加细粒度的方式考虑所有会话中的物品转换,更好地推断出了用户在当前会话中的兴趣偏好;Yang等[15]利用图卷积神经网络构建多关系物品图,同时考虑目标行为和辅助行为信息,构建全局item2item 关系图,进而建模用户动态兴趣。
1.2 对比学习
自监督学习[23]是一种新兴的机器学习方法,旨在通过自监督的方式从原始数据中学习更好的数据表示。最初它被用于计算机视觉领域进行表征学习[24],然后又将自监督学习扩展到图表示学习中[25]。而对比学习(contrastive learning)是自监督学习中的一种,用来解决"标注少或无标注"的问题。对比学习是通过对比具有互信息最大化的一致和不一致视图来帮助模型学习不同视图中相似性较大的表征,进而形成编码丰富的图或节点表示[26],简而言之,其主要思想为利用对比学习可以使模型中样本和与之相似的正样本之间的距离远大于样本和与之不相似的负样本之间的距离。随着对比学习在CV 和NLP 领域的成功应用,它也被相关研究者引入了推荐系统任务中。Zhou等[27]使用特征掩码来创建自监督信号,但由于会话数据的稀疏性,屏蔽特征不能产生强大的自监督信号,因此并不适用于会话推荐建模;Xia 等[28]将会话数据构建为超图,创新性地把自监督学习融入到了网络训练中,通过最大化地学习模型里2 个通道中会话表示之间的互信息,并将其作为改进推荐的辅助任务来进一步提升模型整体性能;Yang 等[29]设计了一个通用的知识图谱对比学习框架,利用来自知识图谱增强过程的额外监督信号来指导跨视图对比学习,在梯度下降中为无偏的用户–商品交互分配更大的权重,并进一步抑制噪声,在具有稀疏性用户–商品交互、长尾和嘈杂的知识图谱实体的推荐场景中取得了较好的推荐性能。
2 CLSR-GNN 模型
2.1 符号定义
会话推荐是要预测下一项要点击的物品,无需访问用户的长期历史数据。假设有n个匿名会话序列,所有会话序列涉及的物品数有m个,它们组成的集合分别为S=(vs,1,vs,2,···,vs,n)和V={v1,v2,···vm}。其中,Si∈V表示在会话S中用户点击的某一项。会话推荐任务是预测给定的会话S中用户在下一时刻要点击的所有物品的概率分布,取前k项形成排名列表进行top-k推荐。
2.2 模型总体框架
CLSR-GNN 模型的整体框架如图1 所示。模型主要由3 部分组成:1)特征提取部分。会话数据注入模型中,全部构建为会话图,然后利用图神经网络组件捕捉会话图中的物品转换关系的高阶结构信息,生成物品局部特征嵌入。2)去噪优化部分。为更好地刻画用户兴趣表征,对得到的物品嵌入先通过软注意力机制获取不同物品的注意力权重向量,然后对权重矩阵设置相应去噪函数,过滤掉权重低于特定阈值的项目,越过与用户主要目的不相关的项目,形成去噪增强的全局特征嵌入表示。采用对比学习框架对去噪增强的全局特征嵌入和原会话全局嵌入构建优化策略,进而辅助模型去噪,形成更加准确的会话级全局特征表示。3)模型预测。结合门控机制来自适应地融合局部和全局嵌入表示获得最终会话表示,进行推荐预测。
图1 CLSR-GNN 模型整体框架
2.3 图上学习项目隐含向量
2.3.1 会话图构建
首先,将每个会话序列构建为有向图Gs,公式为
式中:Gs为所有会话序列有向图的集合,Vs为图中节点集合,Es为边的集合。Vi,s为会话S中的第i个节点(物品),(Vi-1,s,Vi,s)∈Es在图上显示为Vi-1,s指向Vi,s的有向边,(Vi-1,s,Vi,s)对应边的值为1,两物品之间无交互记为0。因此,每个会话中物品转移关系可以用2 个矩阵来存储,分别是MIn、MOut共2 个加权矩阵,来诠释图中项目的转移顺序。此外,为防止序列中重复行为的影响,需对每条边作归一化加权处理,这里的加权操作由该边出现次数除以该边起始节点的出度数计算获得,结果如图2 所示。
图2 会话图和邻接矩阵示例
2.3.2 图神经网络学习
本文利用图神经网络学习项目的表征。为更加结构化地利用交互数据,GNN 经过逐次迭代邻居节点信息和消息传播机制,进行动态融合用户核心兴趣。会话序列推荐模型采用均值方式归一化求和邻接矩阵进行信息聚合,每个节点根据邻节点的信息进行更新[22],公式为
式中:,∈均为可训练的参数矩阵,bIn,bOut∈Rd是偏差向量,MtIn,MtOut∈分别指节点vi,s对应的出度和入度邻接关系矩阵,[v1,v2,···,vn]为t-1时刻会话中所有物品的节点嵌入向量。提取节点的邻域信息,然后将它们和上一时刻的状态输入到图神经网络中,最后GNN层的输出计算如下:
2.4 注意力机制
2.4.1 注意力权重计算
将得到的局部节点表示输入到软注意力机制中用来捕获全局会话偏好表示,注意力权重计算公式为
式中参数q∈Rd和W1,W2∈Rd×d控制项目嵌入向量的参数矩阵。
最后将获得的和vi∈V对hi进行刻画,计算vi对应的概率,结合softmax 得到,具体公式为
选取会话推荐中广泛使用的交叉熵损失函数作为模型的训练函数:
2.4.2 噪声滤除器
一般情况下,采用注意力机制对无关项目分配小的权重也可以起到去除噪声作用。但是,通常会假设将最后一项作为用户当前意图的线索,最后一项会被用来计算其他项的重要性。这种做法就可能产生2 个问题:1)用于计算其他项目注意权重的所选项目(即最后1 个项目)也可能是嘈杂的点击;2)小权重的嘈杂点击仍然会积累大量的噪声,阻碍用户有效的意图学习。为有效缓解噪声带来的干扰作用,本模型设置噪声滤除函数来显示去除掉无用的特征增强模型鲁棒性,噪声滤除函数具体表达式为
式中λ是控制去噪程度的参数,通过λ与平均注意力权重的乘积计算得出阈值大小。留下超出阈值的权重值,低于阈值的权重置为0。该做法可以显式地过滤掉有噪声的点击,并学习当前会话的精确嵌入,以增强会话意图学习。
此时去噪增强后的全局会话嵌入表示计算如下:
2.5 联合对比学习优化策略
本模型从获取全局会话级表示角度出发,采用对比学习框架对去噪增强的全局特征嵌入和原会话全局嵌入构建优化策略,进而辅助模型去噪,形成更加准确的兴趣表征。前后思路各异,但均以获得全局特征表示为目的,它们的区别在于有无去噪学习处理,即它可以双向促进更好的监督对方,相辅相成更好的表示数据。本模型对比学习的损失函数为
式中:Sglong和S′glong表示模型无去噪处理和有去噪处理学习到的2 种全局会话序列表示;是负样本,对Sglong进行操作获取;fD有辨识功能,它以2 个向量作为输入,评估相似性。具体来说,2 个向量之间的点积被记为fD函数,σ是sigmoid 激活函数。双方可以进行最大限度的信息利用,促进同一全局嵌入表示不同处理方式的一致性,将不同点尽可能放大便于发现。最后推荐部分和对比学习共同产生效果:
式中δ代表对比损失的权重。
通过以上操作能够结合序列中的各种信息,同时考虑到噪声干扰,推荐性能有效提高。
不同的用户可能有不同的行为习惯。例如,一些用户可能会频繁地浏览项目页面并任意地单击各种项目,经过长时间反复比较查看测评才会决定下单。而另一种用户可能会只单击他们想要购买的项目,较短时间内做出决策。不言而喻,在这些情况下,全局会话嵌入和局部会话嵌入对下一个项目预测的贡献是不同的。所以,定义了以下门控机制来计算最终的用户偏好表示:
式中:[ ; ]表示拼接操作,σ为sigmoid 激活函数,Wg∈R1×2d为模型的可训练参数。最后,通过对Sglabol和Slocal的加权求和得到当前会话的用户偏好表示:
3 实验及分析
3.1 实验数据集
本模型旨在根据用户匿名会话序列预测用户的近期行为,为验证模型的准确性和优越性,在公开的Diginetica 和Tmall[30]2 个数据集上进行训练和测试。其中,Diginetica 数据集来自CIKM Cup 2016 挑战赛,是从搜索引擎日志中提取的电商交易型用户会话数据,包括600 684 个用户对184 047 件商品共计993 483 次用户点击记录,每条数据包含会话ID、项目ID、项目类别、时间戳等信息;Tmall 数据集源于IJCAI-15 竞赛,是中国最大在线购物平台(天猫)记录的用户行为日志,大约有963 923 个户对235 320 7 个商品的44 528 127次交互记录,有时间戳、商品类别信息等。上述2 个数据集均是电商场景下的数据集,在规模大小和稀疏性方面各不相同。为方便起见,在实验过程中,参照文献[30-31]对3 个数据集进行如下预处理,过滤出现次数少于5 次的项目对应的数据,移除少于2 个项目的所有会话数据。此外,将最后一周的会话数据设置为测试数据,剩下的反复实验可以用到。最后如表1 所示。
表1 实验数据集的统计信息
3.2 评估指标
为评估提出模型的推荐性能,本文采用Precision@k和MRR@k共2 种推荐系统常用的top-k评价指标来对模型准确性进行测试。Precision@k表示准确率,用于衡量推荐预测的准确性;MRR@k表示平均倒数排名,推荐列表中正确物品倒数等级的平均值。
3.3 基准模型及实验设置
为了证明提出的 CLSR-GNN 算法的有效性,本文从多个角度对所提模型分析实验:
1)基准模型
为了评估该模型性能,实验选取以下模型作为对比模型:
Pop[32]:仅利用基于重复出现的项目进行推荐。
IitemKNN[33]:考虑项目向量之间的余弦相似度捕捉用户兴趣。
FPMC[34]:经典的基于一阶马尔科夫链和矩阵分解的传统推荐算法。
GRU4Rec[35]:使用GRU 对会话序列进行建模,并将用户兴趣编码为最终状态。
Caser[36]:采用卷积神经网络学习序列特征,为学习序列模式提供了一个灵活的网络结构。
SR-GNN[11]:在会话推荐中首次使用图神经网络会话序列的经典模型。
LSKGCN[37]:考虑到长短兴趣来对用户意图建模。
S2-DHCN[28]:将数据建模为超图获取高阶项目特征并结合图卷积网络进行学习。
2)超参数设置
实验设定隐藏向量维度为100,训练批次大小设定为100,初始学习率为0.001 且每训练迭代3 次学习率衰减10%,正则化系数 L2=10-5,在实验中,按照 8∶1∶1 的比例在用户维度上随机划分数据集来构建训练集、验证集和测试集,对所有参数采用均值为0、标准差为0.1 的高斯分布进行初始化,使用Adam 算法优化模型参数,训练迭代轮数(epochs)设定为500,并且当验证集上的评测指标在 10 轮内没有变化时提前结束训练。
3.4 实验结果及分析
3.4.1 基准模型比较
在会话推荐任务中,设置不同的推荐个数会直接影响测评的结果。为了将所提模型和基准模型进行更加准确的比较,将推荐个数k的范围设置为20 进行测试。将提出的模型和基准模型在Diginetica 数据集和Tmall 数据集上的Precision@20、MRR@20 的实验结果分别如表2 所示,其中基线模型中最优结果已用下划线标出。
表2 CLSR-GNN 和基准模型在2 个数据集上的性能比较
从表2 中可以直观地看出在不同的数据集上:1) CLSR-GNN 模型和SRGNN 以及S2-DHCN模型明显优于设置的传统的会话推荐模型,原因是这些模型考虑到了会话数据中蕴含的顺序信息,同时结合了用户的长短期兴趣,捕捉用户兴趣的动态变化性,进而达到了高效的推荐性能。该结果还可以表明利用图神经网络增强的会话偏好编码器表现出不凡的效果,能够从会话序列中学习更为精确的会话表示。2) 纵观表2 中所有数据,基于深度学习的模型虽然都表现出了一定的效果,但是引入自监督对比学习技术的CLSRGNN 模型和S2-DHCN 模型表现略胜一筹。这是因为2 个模型都考虑到了噪声问题,并且都经过对比学习辅助任务的引入探索了会话中内在的序列依赖性,通过提供的自监督目标任务来发现额外的语义信息,使得学习到的会话表征更清晰,进而使得模型表现出更加优秀的性能。3) 同样使用图神经网络和注意力机制的SRGNN 提取会话级表示的能力没有联合对比学习去噪优化的CLSR-GNN 强。这进一步证实CLSR-GNN 中过滤掉用户无关行为数据的重要性,基于对比学习的辅助任务和目标监督任务构成了一种相互补充的模式机制,通过学习适用于基于会话的推荐的鲁棒表示,可以解决隐式反馈和弱监督问题原则上表征固有的数据相关性问题。
3.4.2 模型稳定性分析
为保证模型稳定性和实验结果的可靠性,本小节将推荐数量k的范围设置为10~100,间隔设置为 10,总共分为10 组实验。在Diginetica 数据集上运行的Precision@20 和MRR@20 指标结果值如图3 所示。
图3 模型稳定性分析
然后通过运行得到的结果计算出每组实验对应的Precision@20、MRR@20 共2 种评价指标的方差值,为更好地观测方差的变化情况将数据绘制成如图4 的折线图来呈现变化情况。从图4 中可以看出随着实验组数的逐渐增加,方差值在局部位置有起伏,但是基本上保持平稳,其中Precision@20的方差大致稳定在0.007 附近上下波动,MRR@20在0.002 上下波动。
图4 方差波动情况
3.4.3 向量嵌入维度对模型影响
为了研究向量嵌入维数d对模型推荐性能的影响。将向量嵌入维数的范围设置为[32,64,96,128],分别在Diginetica 和Tmall 数据集上进行实验,并使用Precision@20 值和MRR@20 值对不同向量嵌入维数的模型效果进行评价,实验中其他参数值保持原默认值。
如图5 所示,随着向量嵌入维数的增加,2 个数据集上准确率和平均到排名数都呈上升趋势,但是可以观察到的嵌入维度取d=64 时模型的推荐性能优秀,具有较强的表示能力。
图5 向量嵌入维度对模型影响
3.4.4 对比学习参数影响
对比学习可以自动提取与目标项目相关的项,通过训练获取一个有效的去噪模型来增强模型对用户兴趣的理解。在所提方法中,利用超参数δ来控制对比学习的程度。为了研究对比学习对CLSR-GNN 整体性能的影响。将超参数δ的范围设置为{0.000 1, 0.000 5, 0.001, 0.002, 0.005,0.01,0.02},分别在Diginetica 和Tmall 数据集上进行实验,并使用Precision@20 与MRR@20 对不同幅度对比学习下模型的性能进行评估,且实验中其他参数取默认值保持不变。当与对比学习任务联合优化时,CLSR-GNN 推荐性能得到了不错的提高,不同参数δ值对应的实验结果如图6 所示。从图6 可以看出,对于这2 个数据集,使用较小的δ值进行学习可以同时促进Precision@20 和MRR@20,但随着δ逐渐变大时,性能就会下降。这可能是因为较大的δ造成模型过度学习,有用信息可能被去除,形成不太准确的引导,使模型表现不佳。
图6 对比学习参数 δ对模型影响
4 结束语
本文设计了一种融合对比学习的图神经网络会话推荐模型来解决基于会话的推荐中的2 个挑战,即用户意图的动态变化和用户行为的不确定性。不同于在之前的研究,CLSR-GNN 模型设计一种噪声滤除器显示地过滤掉会话中的噪声项目。结合对比学习策略进行联合优化去噪,在2 个真实数据集上进行的设置对比实验,证明了CLSR-GNN 模型的有效性。直接过滤掉会话中的噪声项有助于挖掘用户的真实意图。以上这些研究拓宽了对基于会话的推荐任务的理解,并赋予了推荐系统准确预测用户行为的新的潜力。下一步将研究如何赋予模型多尺度特征功能和轻量化模型结构,以实现更加快速且精确的推荐模型设计。