融合嵌入空间优化的超图神经网络会话推荐模型

作者: 黄文涛 潘宇 程树林

融合嵌入空间优化的超图神经网络会话推荐模型0

摘要:在会话推荐领域中,基于图神经网络挖掘和提取项目特征是一种主流方法。由于会话中的项目转换通常受到多个项目的协同影响,且大多数推荐算法忽略了项目和会话的嵌入表示在嵌入空间中的分布情况对推荐任务的影响,使得推荐系统难以获得高质量的嵌入表示,从而影响了推荐性能。为此,提出一种基于超图神经网络和嵌入空间优化的会话推荐方法。该方法首先基于会话序列特征采用超图来建模项目间隐含的高阶联系,然后通过对比学习优化项目的空间嵌入表示,最后通过注意力机制来划分用户的长短期兴趣。通过在两个真实的公开数据集上进行多个实验,验证了该方法相对于基准方法具有更好的推荐性能。

关键词:推荐系统;会话推荐;超图神经网络;对比学习;注意力机制

中图分类号: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)

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