黄文涛 潘宇 程树林
摘要:在会话推荐领域中,基于图神经网络挖掘和提取项目特征是一种主流方法。由于会话中的项目转换通常受到多个项目的协同影响,且大多数推荐算法忽略了项目和会话的嵌入表示在嵌入空间中的分布情况对推荐任务的影响,使得推荐系统难以获得高质量的嵌入表示,从而影响了推荐性能。为此,提出一种基于超图神经网络和嵌入空间优化的会话推荐方法。该方法首先基于会话序列特征采用超图来建模项目间隐含的高阶联系,然后通过对比学习优化项目的空间嵌入表示,最后通过注意力机制来划分用户的长短期兴趣。通过在两个真实的公开数据集上进行多个实验,验证了该方法相对于基准方法具有更好的推荐性能。
关键词:推荐系统;会话推荐;超图神经网络;对比学习;注意力机制
中图分类号:TP181 文献标识码:A
文章编号:1009-3044(2024)13-0004-05 开放科学(资源服务)标识码(OSID) :
0 引言
推荐系统在应对用户信息过载问题中发挥着重要的信息过滤作用,尤其在电子商务和搜索引擎等场景下应用广泛,成为用户信息筛选的重要途径。传统的推荐方法主要是学习用户历史数据以提供个性化的推荐结果。然而,受限于冷启动和用户隐私保护等问题,在许多实际应用中,系统不能完整地获得长期高度相关的用户数据[1]。相比之下,基于会话的推荐系统[2-3](Session-based Recommendation System) 作为推荐系统的重要分支,通过对当前会话中的用户行为进行建模,预测下一个可能点击的项目,具有广泛的工业应用,特别适用于电子商务和搜索领域,并且弥补了传统方法中的不足,成为当前研究的热点课题。
会话推荐的相关研究主要分为三个方面,即传统会话推荐方法[4]、基于RNN[5-8] (Recurrent Neural Net?work) 的方法以及基于GNN[9](Graph Neural Network)的方法。传统方法通常依赖协同过滤和最近邻方法来定义项目之间的相似程度。这类方法只关注到项目出现在同一个会话的频率以及项目之间的相似度,而忽略了其在会话中的序列关系和深层特征。为了提取项目之间的顺序信息,研究人员提出了基于循环神经网络RNN的方法,对会话进行建模以挖掘顺序特征[5]。由于深度神经网络具备优秀的表示能力,RNN 的引入显著提高了推荐系统的性能。近年来,研究人员发现将会话序列编码成图结构更有利于捕获项目之间复杂的转换关系,由此提出了基于图神经网络GNN的推荐方法[10-11]。通过在会话图中传播和更新节点信息,GNN方法可以获得信息更丰富的项目嵌入表示,从而提供更准确的推荐结果[12]。
最新的研究趋势表明,在会话推荐领域,基于GNN的方法展现出更为显著的优势[9,13,14]。因此,当前主要的研究方向聚焦于对GNN方法的改进[9,13,14],取得了较好的性能提升,但仍然存在一些局限性和不足:1) 在实际场景中,项目之间的关系呈现出复杂多样的特性,多个项目之间通常相互影响并协同作用,这意味着项目之间存在隐含的高阶联系。然而,传统的图结构难以准确描述这种复杂的关联性和依赖性。2) 目前许多研究并未充分挖掘项目表示在嵌入空间中的分布规律对推荐结果的影响。如何有效地将相似项目聚集在嵌入空间中相邻的位置,同时确保不同项目之间具有足够的区分度更是一项重要挑战。
为此,本文提出一种融合了嵌入空间优化的超图卷积网络HCNOES-SR(Hypergraph Convolution Net?work with Optimized Embedding Space for sessionbasedrecommendation) 。本文方法采用超图作为表征工具来建模项目之间潜在的高阶联系。与传统的图结构不同,超图允许一条边连接多于两个节点,称为超边。超边是一组节点的集合,这些节点作为一个整体连接在一起,因此,超图可以更灵活地表示节点之间复杂的关联性。为了进一步提升项目嵌入表示的质量,本文模型引入了对比学习,提出一种新的损失函数优化项目在嵌入空间中的分布,在保证项目之间具有足够区分度的前提下尽可能地使相似的项目聚集在嵌入空间中相近的位置。最终,引入注意力机制动态地为项目分配不同的权重,从而使得模型更好地捕捉用户关注的重点。通过多个实验验证,本文模型HCNOES-SR在召回率Recall以及平均倒数排名MRR 两个典型指标上表现出了良好的综合性能。
1 模型框架与推荐方法
1.1 问题定义
会话推荐的目标是根据当前匿名会话中的项目预测用户下一次可能点击的项目。设I ={v1 ,v2,v3,...,vn } 数据集中包含所有的项目,S ={ vs,1,vs,2,vs,3,...,vs,l }为会话按时间顺序排列的匿名会话,其中n 表示数据集中的项目数量,l 表示会话中的项目数量。因此,本文模型 HCNOES-SR 的任务是生成一个推荐项目集合C = { vc,1,vc,2,vc,3,...,vc,k },并选取排名最前的N 个项目作为最终的推荐结果。
1.2 模型框架
HCNOES-SR模型的总体结构如图1所示,包括4 个主要模块:
1) 超图构建模块。该模块接受会话序列作为输入,创建一个完整的会话超图。每个会话被独立表示为一条超边,而会话内的项目则两两相互连接。不同的会话通过共有的项目进行连接。这一过程将项目之间隐含的多对多关系转化为超边之间的关联。
2) 超图卷积与信息传播模块。模型采用超图卷积来实现项目特征的聚合,特征沿着有共享项目的超边之间传播,实现了“项目-超边-项目”的特征传递。经过多次迭代更新,每个项目能够学习到更丰富的特征表示。
3) 嵌入空间优化模块。现有研究表明,对比学习可以优化项目嵌入表示的对齐性和统一性,并对下游任务具有积极影响[15]。因此,为了优化嵌入表示质量,HCNOES-SR模型在采用有监督学习和自监督学习相结合的策略下,提取项目特征并生成嵌入表示。通过交叉熵损失减小相似项目之间的距离,并采用对比学习损失增加两项目之间的距离,使得项目在嵌入空间中的分布更为合理。
4) 预测模块。通过应用注意力机制来融合会话中包含的项目特征,生成最终的会话表示,用于进行用户推荐预测。这一部分有助于模型更好地理解用户的长短期兴趣,从而提供个性化的推荐结果。
1.3 会话超图构建与信息传播
1.3.1 构建会话超图
为了有效捕获项目之间潜在的成对关系,本文将多条会话序列建模为一张超图GS = (VS,ES )。在超图中,每条超边代表两个或多个项目的组合,表示[VS,1,VS,2,VS,3,...,VS,M ] ∈ ES,顶点为超图所包含项目的集合{V1,V2,V3,...,Vn } ∈ VS。假设该超图包含M条会话以及N 个不同的项目,那么可以用一个关联矩阵I ∈ RN × M 来表示这个超图的结构。如果第m 条超边包含第n 个项目,则关联矩阵对应的元素值为Inm = 1,否则为Inm = 0。此外,每个顶点和超边的度可以分别用两个矩阵表示:顶点度矩阵Dii = ΣMe = 1 Iie 和超边度矩阵Bii = ΣNi = 1 Iie。其中,节点的度表示与该节点直接连接的超边的数量。节点的度越高表示该节点参与了更多的高阶关系,具有更复杂的关联性。超边的度表示连接到该超边的节点的数量,超边的度越高表示这条超边涵盖了更多的节点,具有更广泛的关联性。
1.3.2 超图神经网络
与传统图神经网络类似,超图神经网络[15]也是当前广泛使用的深度学习模型之一。它可以为会话图中包含的项目生成高维向量以表示项目丰富的特征,即项目的嵌入表示。在超图构建阶段,模型为每个项目初始化一个嵌入向量xi ∈ Rd。然后,通过多层的卷积操作,将邻居节点的特征信息传递并融合到当前节点,这使得每个节点的嵌入表示不仅包含自身的特征,同时也包含了邻居节点的特征和上下文的结构信息。本文采用谱超图卷积更新项目的嵌入表示,如公式(1) 和(2) 所示:
其中,x(l + 1) i 表示第i 个项目在l+1 层的嵌入表示,C(l) ∈ Rd × d 是不同卷积层中可学习的参数矩阵。公式(2) 为公式(1) 的矩阵表示形式,X (l + 1) h 为所有项目在l+1 层的嵌入表示,I 为超图的关联矩阵,D、B 分别为顶点和超边的度矩阵。
1.4 项目空间分布优化
对比学习(contrastive learning, CL) [16]已在多个研究领域,如计算机视觉和自然语言处理等,取得了显著成功。其主要功能是将相似的节点映射到嵌入空间相邻的位置,同时将不相似节点分散开。Wang等[15]研究发现,对比学习通过提高嵌入空间的分布情况、提高特征表示的质量,改进了模型对数据的理解,使其能够更好地区分不同类别的数据。尽管对比学习可以带来性能提升,但其需要通过添加噪声扰动、舍弃部分节点等数据增强手段来设计复杂的正负样例和采样策略。因此,本文提出了一种简化的正负样例构建策略。具体来说,在每个训练批次中,本文将每个项目自身作为正样例,对于每个项目随机采样十个嵌入空间中的其他项目作为负样例。通过多次迭代,逐渐增加项目之间的距离,使得项目的嵌入表示在嵌入空间中的分布更具区分度。这种简化的方法能够提高嵌入空间的质量,有助于模型对不同特征进行平衡学习,避免过于关注某些特征。同时,减少了对复杂数据增强技术的依赖以及计算开销,为对比学习的实际应用提供了更高效的选择。因此,对于一组包含n个项目的嵌入表示,本文提出的对比学习损失函LCL数如公式(3) 所示:
式中,f (x,x′)的计算方式为esim(x,x′)/τ,sim(x,x′)通过项目嵌入向量内积实现,τ 是温度超参数用以控制分布的平滑度。
1.5 会话嵌入生成
1.5.1 注意力机制
为了准确评估每个项目在会话中的重要性,在HCNOES-SR模型中引入了软注意力机制,用于计算每个项目的注意力系数。其主要策略是通过衡量每个项目与用户主要意图的相关性来确定该项目在整个会话中的影响程度。为此,本文采用对会话中所有项目的特征取平均来度量用户在该次会话的主要意图。因此,对于一个包含m 个项目的会话,每个项目的注意力系数的度量方式如公式(4) 所示:
ai = W0σ(W1 xi + W2em + b) (4)
式中,W0 ∈ Rd、W1 ∈ Rd × d、W2 ∈ Rd × d 是可学习的参数矩阵,b ∈ Rd 是偏置向量。σ 是sigmoid 激活函数。xi 为每个项目的嵌入表示,em 为所有项目嵌入表示的平均向量。
1.5.2 会话嵌入
为了综合考虑用户的短期和长期兴趣,本文将会话的嵌入表示划分为两部分,分别是短期偏好Sl 和全局偏好Sg。由于会话的最后一个项目通常能够更好地反映用户当前的关注点,因此本文将会话的最后一个项目的嵌入表示作为短期偏好。同时,为了综合考虑用户在本次会话中的行为,本文将每个项目的嵌入表示按照其注意力系数进行加权求和,作为用户的全局偏好。短期兴趣Sl 和长期兴趣Sg 分别如公式(5) 和(6) 所示:
因此,通过融合短期偏好和全局偏好得到会话的最终嵌入表示,如公式(7) 所示:
S = W3 [ Sl ? Sg ] (7)
式中,[?]表示向量拼接操作,W3 ∈ Rd × 2d 是映射矩阵将S从R2d转换为Rd。
1.6 模型训练与推荐生成
通过计算项目嵌入和会话嵌入的向量内积,可以得出每个项目的推荐分值。该分值反映了项目与当前会话的匹配程度,从而决定了其在推荐列表中的排名。经过归一化和降序排列以后,本文分别取前10项和前20项作为最终的推荐结果。通过Softmax 函数对每个项目的推荐分值进行归一化处理,如公式(8) 所示:
y = Soft max(y1,y2,y3,...,yn ) (8)
式中,yi 表示项目xi 出现在该会话中的推荐分值,yi =< S ? xi >,y 表示经过归一化后的概率分布。
最后,本文使用交叉熵损失函数来训练模型,如公式(9) 所示:
式中,pi 为项目xi 是否被推荐的真实值,如项目xi是会话的最后一个项目则pi为1,否则为0。
2 实验结果与分析
2.1 数据集
为了验证模型的有效性,本实验分别在两个真实的公共数据集Diginetica和Nowplaying上进行训练和测试。其中,Diginetica是2016年CIKM挑战杯比赛中发布的个性化电子商务数据集,由来自在线商店5个月内的用户交互记录组成,包含600 684个用户,184047个商品和993 484条点击记录。Nowplaying是个性化音乐推荐数据集,主要包含用户的音乐播放历史、曲目名称、艺术家信息、播放时间戳等。实验前先对两个数据集进行了预处理,删除了长度为1的会话并过滤了出现次数少于5次的项目,最终数据集统计信息如表1所示。
2.2 评价指标
本文采用了2种广泛应用于推荐领域的典型评价指标,即P@K(Precision @ K) 和MRR@K(Mean Recip?rocal Rank @K) 来进行实验结果评价。其中,P@K用以表示推荐结果中前K个项目中用户实际感兴趣的比例,即推荐的准确性;而MRR@K表示前K个推荐结果中正确项目的倒数排名,即正确的项目是否排在靠前的位置。通过这两个指标可以评价模型的推荐质量和排序效果。
2.3 基准模型和实验设置
2.3.1 基准模型
为了对比模型性能,本文选取了传统方法和深度学习方法中具有代表性的方法作为对比,各方法信息简述如下:
1) FPMC[4]。该算法将用户历史行为序列建模为马尔科夫链,并使用矩阵分解技术分别学习项目和用户的特征。最终根据用户历史行为和上下文信息生成个性化推荐。
2) GRU4REC[5]。该算法采用基于RNN 改进的模型捕获项目在会话中的顺序关系和上下文信息。通过门控循环单元减轻了梯度消失问题,并针对会话的小批次数据使用基于排名的损失函数优化模型,获得了较好的推荐性能。
3) NARM[6]。该算法基于GRU4REC算法进行改进,通过在RNN中增加注意力机制动态调整每个项目在会话中的重要性,从而进一步提高了推荐精度。
4) STAMP[17]。该算法考虑到了时间因素对推荐效果的影响,使模型能够理解用户兴趣的动态演化过程。
5) SR-GNN[9]。该算法首次将基于图的算法引入会话推荐领域,利用图结构表示项目之间的关联性,并通过图卷积传播项目特征获得了高质量的项目嵌入表示,从而提升了性能。
2.3.2 实验设置
本文模型HCNOES-SR在实验中设定嵌入向量的维度为100,每个训练批次大小也为100。同时,本文采用Adam优化器调优模型,其中初始的学习率设置为0.001,并在每三次训练迭代后将学习率衰减10%。此外,如果在3次训练迭代后两个实验指标都没有提升,则提前终止训练。
2.4 性能比较与分析
为了评估模型的综合表现,本文通过实验与其他基准模型在四个指标上进行了比较和分析。实验结果如表2所示。
通过对表2进行分析:1) 传统矩阵分解方法(如FPMC) 通常基于项目的共现或连续性生成推荐结果。这些方法使用相对简单的模型,难以提取和表示项目内复杂的信息。相比之下,深度学习方法充分利用神经网络的信息表示能力,因此在性能上优于传统方法。2) 在使用循环神经网络(RNN) 的方法中,GRU4REC模型的表现相对较差,而NARM取得更好的推荐性能。主要是因为GRU4REC模型仅使用了序列信息,而NARM通过引入注意力机制综合考虑了序列信息和用户的全局偏好。3) SR-GNN方法通过引入图神经网络带来了相对较大的提升,突显了图结构在描述会话内项目转化信息的有效性。4) 本文模型HCNOES-SR通过对比学习优化了项目的嵌入表示,有利于对相似项目细节上的不同进行捕获,因此显著提高了模型的准确度。
HCNOES-SR 模型之所以能取得优异推荐性能主要有三个方面原因:1) 超图内的每条超边具有与集合类似的性质,因此很好的对应了项目间的高阶多对多关系,有助于模型提取到更丰富的项目特征;2) 嵌入向量在嵌入空间的分布情况也会对最终的表示质量产生重要影响,对比学习的应用使得项目的嵌入表示分布更为均匀,也使得不同项目之间更具有区分度;3) 模型通过注意力机制学习到了不同项目的重要性,既抓住了用户的当前兴趣,也囊括了用户长期的兴趣。这些因素共同促成了HCNOESSR模型优秀的性能。
2.5 消融性实验
为了验证模型中每个模块的有效性,本文通过进行消融性实验来评估每个模块对整体性能的影响。具体而言,分别通过移除超图卷积模块(HCNOESSR-A) 、移除对比学习模块(HCNOES-SR-B) 和注意力机制模块(HCNOES-SR-C) 构建3个子模型,并记录性能变化,以探究每个模块的作用。实验结果如表3 所示。
从表3可以观察到,三个子模型在两个数据集上均出现了不同程度的性能下降,因此超图卷积模块、对比学习模块和注意力机制模块均对整体的推荐性能产生了积极的促进作用。
HCNOES-SR-A 子模型由于缺失了超图卷积模块,导致每个节点无法聚合邻居节点的信息。对于两个数据集的P@20和MRR@20指标,平均损失了7.1%和5.5% 的性能,验证了信息传播过程对推荐系统提取项目特征的重要性。HCNOES-SR-B 子模型因为缺失了对比学习对项目嵌入表示的优化作用,在P@20 和MRR@20 两个指标上也分别损失了平均5.8% 和7.3% 的性能,说明项目在嵌入空间中均匀分布有助于推荐系统区分不同项目并提升性能。HCNOES-SR-C 子模型去除了注意力机制模块,无法有效地区分会话中不同项目的重要性。对于两个数据集的P@20和MRR@20指标平均带来了8% 和11.2% 的性能损失,这说明区分用户的关注重点、捕捉用户的长短期兴趣可以提供更有针对性的推荐结果。
在Diginetica数据集上,去除对比学习模块带来了较大的性能损失。这是因为对比学习优化了嵌入空间中的数据分布,从而提高了特征表示的质量。这种优化可以有利于模型对商品的归类和区分,使得模型能够更准确地理解和利用商品之间的相似性和差异性。而在Nowplay?ing数据集上,去除注意力机制模块带来较大的性能下降。这是因为音乐推荐需要考虑多个方面的用户兴趣,如音乐风格、情感、时间偏好等。注意力机制可以帮助模型有效地捕获和组合这些多维度的兴趣,从而提供更具个性化的推荐。
2.6 参数分析
对比学习的关键作用是通过离散化嵌入空间中项目之间的距离,使得嵌入向量的分布更为均匀。为了探究对比学习中温度超参数τ 对实验结果的影响,本文将其取值范围设为{0.05, 0.1, 0.5, 1},并在两个数据集上进行实验。不同取值对应的实验结果如图2所示。从实验结果可以看出,两个数据集上的峰值性能分别在τ 取值为0.1和0.5时出现。这是因为在个性化音乐推荐中,乐曲之间的相似性通常低于商品,需要取相对较大的温度系数以使项目分布更趋于平滑。而在电子商务中,项目之间的关联性通常较大,需要取相对较小的温度系数以使项目分布更为集中。
3 结束语
本文提出了基于超图卷积网络和嵌入空间优化的会话推荐模型HCNOES-SR。该模型利用超图来建模项目间隐含的高阶多对多联系,并通过对比学习优化了项目嵌入表示的分布和质量。最终,通过注意力机制捕获了用户的长短期兴趣。在两个真实数据集上进行了一系列的实验,验证了该模型总体上比基准模型具有更为准确的推荐性能。本文模型主要解决了会话推荐中项目间高阶关联关系的超图建模和项目嵌入的空间分布优化问题。下一步将继续研究如何设计简洁高效的信息传播方法,以构建更为轻量化的模型,在不损失推荐精度和准确率的前提下提升推荐的效率。
参考文献:
[1] LUDEWIG M,JANNACH D. Evaluation of session-based rec?ommendation algorithms[J]. User Modeling and User-AdaptedInteraction,2018,28(4):331-390.
[2] JANNACH D,QUADRANA M,CREMONESI P. Session-basedrecommender systems[M]//Recommender Systems Handbook.New York,NY:Springer US,2012:301-334.
[3] 赵海燕,赵佳斌,陈庆奎,等. 会话推荐系统[J]. 小型微型计算机系统,2019,40(9):1869-1875.
[4] RENDLE S, FREUDENTHALER C, SCHMIDT-THIEME L.Factorizing personalized Markov chains for next-basket recom?mendation[C]//Proceedings of the 19th international conference on World wide web. Raleigh North Carolina USA. ACM,2010.
[5] HIDASI, BAL?ZS, et al. Session-based recommendations withrecurrent neural networks[EB/OL]. arXiv preprint arXiv:1511. 06939 .
[6] LI J,REN P J,CHEN Z M,et al. Neural attentive session-basedrecommendation[C]//Proceedings of the 2017 ACM on Confer?ence on Information and Knowledge Management. SingaporeSingapore. ACM,2017.
[7] TAN Y K,XU X X,LIU Y. Improved recurrent neural networksfor session-based recommendations[C]//Proceedings of the 1stWorkshop on Deep Learning for Recommender Systems. Bos?ton MA USA. ACM,2016.
[8] 李亚超,熊德意,张民. 神经机器翻译综述[J]. 计算机学报,2018,41(12):2734-2755.
[9] WU S,TANG Y Y,ZHU Y Q,et al. Session-based recommenda?tion with graph neural networks[J]. Proceedings of the AAAIConference on Artificial Intelligence,2019,33(1):346-353.
[10] 孙鑫,刘学军,李斌,等.基于图神经网络和时间注意力的会话序列推荐[J].计算机工程与设计,2020,41(10):2913-2920.
[11] 林幸,邵新慧.基于图神经网络的推荐系统模型[J].计算机应用与软件,2023,40(3):325-330.
[12] XIA X,YIN H Z,YU J L,et al.Self-supervised hypergraph con?volutional networks for session-based recommendation[J].Pro?ceedings of the AAAI Conference on Artificial Intelligence,2021,35(5):4503-4511.
[13] CHEN T W,WONG R C W.Handling information loss of graphneural networks for session-based recommendation[C]//Pro?ceedings of the 26th ACM SIGKDD International Conferenceon Knowledge Discovery & Data Mining. Virtual Event CAUSA.ACM,2020.
[14] PAN Z Q,CAI F,CHEN W Y,et al.Star graph neural networksfor session-based recommendation[C]//Proceedings of the29th ACM International Conference on Information & Knowl?edge Management.Virtual Event Ireland.ACM,2020.
[15] WANG T Z,ISOLA P.Understanding contrastive representa?tion learning through alignment and uniformity on the hyper?sphere[C]//International Conference on Machine Learning.PMLR, 2020.
[16] KHOSLA, PRANNAY, et al. Supervised contrastive learn?ing. Advances in neural information processing systems,2020 (33): 18661-18673.
[17] LIU Q,ZENG Y F,MOKHOSI R,et al.STAMP:short-term atten?tion/memory priority model for session-based recommendation[C]//Proceedings of the 24th ACM SIGKDD International Con?ference on Knowledge Discovery & Data Mining. LondonUnited Kingdom.ACM,2018.
【通联编辑:唐一东】
基金项目:安徽省自然科学基金项目(2008085MF193,2308085MF223) ,安徽质量工程项目(2021cyxy047)