1. 引言
推荐系统可以有效地减少系统信息过载 [1] ,提升用户体验。然而,传统的推荐方法往往依赖于用户长期的历史交互和个人信息。当存在冷启动或因隐私保护无法获得某些用户信息的问题时,会导致推荐系统性能较差或无法正常工作。基于匿名会话的推荐系统近来年受到了广泛的关注,它根据匿名用户的行为顺序,推荐下一个感兴趣的项目。
会话推荐(session-based recommendation, SBR)旨在为当前会话推荐下一个最有可能交互的项目。基于协同过滤 [2] 的推荐通过利用项目之间的相似性进行推荐,但存在冷启动问题限制了性能。基于矩阵分解 [3] 的推荐将观察到的相互作用上的转移矩阵分解为它们的潜在表示来预估后续的转移,但该方法忽略了用户的主要潜在意图。基于马尔科夫链 [4] 推荐是利用前一个交互项目来指导下一个交互项目,它基于当前状态仅与前一时刻的状态有关这一假设,没有考虑用户其他的历史交互信息,影响了预测的准确度。
最近一些利用循环神经网络(RNN) [5] 、注意力机制或图神经网络 [6] [7] 的基于深度学习的会话推荐技术引起了人们的广泛关注。基于循环神经网络的方法 [8] [9] 按时间顺序建模项目,并根据项目之间的顺序依赖关系来实现推荐。然而,使用RNN将会话建模成序列时,无法从其他会话中获得信息,也无法学习成对项之间的共现关系。基于注意力机制的方法 [10] 使用自注意力机制代替RNN中的编码器,但存在与基于循环神经网络方法同样的缺陷。基于图神经网络的方法 [11] [12] [13] 将项目的交互序列映射为一个图结构以进行会话推荐。该方法能利用其他会话的信息,但是无法有效地获得更高维的图级信息。DHCN [14] 是一个超图结构,它能够有效地捕捉更高维的图级信息,但该模型将会话建模为无向图,无法学习成对项之间的项目转移信息。
基于此,本文从全局和局部两个角度出发构建会话推荐模型,提出了一个基于共现关系重构的超图增强会话推荐模型(CR-HGNN)。该模型通过超图卷积神经网络捕获全局级会话信息,将会话序列建模成超边,使得不同的超边通过共享的项目相互连接以此捕获更高阶的全局信息。利用局部共现关系提取层(CR-GNN)捕获局部级会话信息,同时区分成对项之间的转移关系,通过共现关系学习层获得序列局部级共现表征。最后,融合全局级会话信息和局部级会话信息,并使用标签平滑操作来软化目标标签,预测当前会话下一个最有可能交互的项目。
总之,本论文的主要贡献总结如下:
1) 构建局部共现关系提取层(CR-GNN),重构共现项之间特征表示,旨在区分会话图中成对共现项之间的不同转换关系以此捕获更有效的会话级信息。
2) 使用超图神经网络来捕获全局级会话信息,同时使用局部共现关系提取层(CR-GNN)学习局部级会话信息;融合两层会话信息融合得到最终的项目表示。
3) 为了避免模型过度依赖目标标签,本文重构了交叉熵损失函数,在原模型基础上引入标签平滑技术。实验证明本文重构的损失函数能有效提高模型的泛化能力。
4) 通过在Diginetica、Tmall和Last.fm三个数据集上的实验表明,本文的所提模型在会话推荐工作中优于对比模型。
本文的其余部分组织如下:第二节介绍了本文相关工作;在第三节中首先给出问题定义,并对本文提出的CR-HGNN模型的框架及实现方法给出详细的描述;第四节展示了实验结果及其分析;在第五节中对全文进行了总结,并展望了未来工作。
2. 相关工作
多年来,研究人员已经探索了多种方法来提升会话推荐的性能 [15] ,本节从传统方法、深度学习方法和图神经网络方法三个方面进行阐述。
2.1. 传统方法用于会话推荐
传统的基于会话的推荐方法主要有基于协同过滤 [2] 、基于矩阵分解 [3] 或基于马尔科夫链 [4] 的方法。Sarwar B等人 [2] 通过探索项目间的相关性和项目向量间的余弦相似度,来提高基于物品推荐任务的可扩展性。Koren Y等人 [3] 通过从项目评分推断出的因子向量来表征项目和用户,对项目因子和用户因子的高相关性促成了推荐。Rendle S等人 [4] 结合了矩阵分解和马尔可夫链,利用马尔可夫链为每个用户学习个性化的转移矩阵,来捕获顺序模式和用户长期的偏好。基于传统的SBR方法能够有效的利用会话中的信息,但是只能学习到低维的潜在表示,从而限制了推荐的准确性。
2.2. 深度学习方法用于会话推荐
随着深度学习的发展,基于深度学习的方法在推荐系统中取得了显著的进展。Hidasi B等人 [8] 提出了GRU4Rec方法,这是第一个采用门控循环单元对物品交互序列进行建模的模型。Li J等人 [9] 提出的NARM扩展了GRU4Rec,引入了一种带有注意力机制的混合编码器,在建模其顺序行为的同时提取当前会话中的主要意图。Liu Q等人 [10] 提出STAMP,配备了短期注意力/记忆优先模型,以捕捉用户的一般和当前兴趣。Song等人 [16] 提出ISLF,将循环神经网络(RNN)和变分自编码器(VAE)相结合来提取会话中的用户偏好以考虑用户兴趣的变化。然而,这些基于深度学习方法通常只对连续项目之间的单向转换关系进行建模,这会导致无法捕获整个会话序列中复杂的项目转换关系。
2.3. 图神经网络用于会话推荐
近年来,图神经网络的方法受到了广泛关注。Wu S等人 [11] 提出了SR-GNN,将会话转换为有向无权图,并利用门控GNN来生成会话表示。Xu C等人 [13] 提出的GC-SAN通过自注意力机制改进SR-GNN,捕捉项目之间的长期依赖关系。Pan Z等人 [17] 提出SGNN-HN为每个会话图引入一个星型节点,以捕获项目之间的长距离关系。虽然这些研究已经取得了令人鼓舞的成果,但从短会话中独立学习可能固有地不足以准确揭示用户的真实意图。研究方法开始转向于结合其他会话的协作信息,来服务当前会话。Wang Z等人 [18] 提出GCE-GNN利用会话感知的项共现关系来增强会话级表示。Xia X等人 [14] 提出DHCN来引入了超图卷积网络,利用超图卷积网络来捕获个体会话中的高阶项关系,并使用自监督学习来增强会话表示。Han Q等人 [19] 提出了MGIR,在全局上构建了多种项目转换关系来增强会话表示。Pang等人 [20] 提出了HG-GNN,是一种全新的异构全局图来学习具有丰富语义的长期用户偏好和项目表示。Cai Y等人 [21] 提出的ITR在局部上区分了成对项目之间的转换关系来增强会话表示。Jin等人 [22] 提出了E-GNN模型,设计了一个双意图网络,通过模拟用户在与新项目交互时的决策过程以提升推荐性能。Gwadabe等人 [23] 提出的IC-GAR模型从全局偏好、局部偏好和会话共现来建模会话表示。Chen Y等人 [24] 提出的AGNN-GC模型从学习全局级和局部级嵌入,使用一种新的注意力机制融合上述两种特征来建模会话表示。
上述方法虽然取得了不错的性能,但它们都没有充分考虑成对项之间不同的转换关系和其他会话对当前会话的影响。与这些方法不同的是,本文试图利用超图神经网络来捕获会话序列中项目之间的复杂高阶关系,通过在当前会话中聚合项目之间的成对关系,考虑成对项之间的不同转换关系来缓解超图神经网络引入不相关会话信息的问题,再通过标签平滑来提高泛化,从而实现更加有效的推荐。
3. 模型结构
![](//html.hanspub.org/file/52-2571650x7_hanspub.png?20240524085230354)
Figure 1. Structure of CR-HGNN model
图1. CR-HGNN模型结构
该模型的框架如图1所示,模型由四个模块组成:(I) 全局超图卷积层:捕获会话序列中项目之间的高阶特征信息,以得到项目的全局信息表示;(II) 局部共现关系提取层:捕获当前会话项目之间的成对关系,并考虑了成对项之间不同的转换关系来得到项目的局部信息表示;(III) 信息融合层:聚合全局信息和局部信息并通过注意力机制得到最终的会话表示;(IV) 模型预测层:使用标签平滑软化目标标签,再对当前会话进行下一个项目的预测。
3.1. 问题定义
基于会话的推荐旨在根据匿名用户的会话序列向其推荐下一个可能感兴趣的项目。每个匿名会话序列由一组按与用户互动的时间顺序排列的项目组成。
表示所有唯一项的集合,其中n是项的总数。当前会话用
表示,其中l为会话中条目的数量,
表示在时间步骤i与S中的匿名用户交互的项目。基于会话的推荐的目的是基于S预测下一个项目
。构建函数
来预测匿名用户在序列S中最有可能与之交互的
的概率,记
,其中θ是可学习参数的集合,假设损失函数为
,学习使模型平均损失最小的最优参数θ来得到最佳的预测结果,表示如下:
(1)
其中
表示训练集
的大小,模型根据最优参数θ向用户推荐top-K项。
3.2. 全局超图卷积层
在本小节中,首先介绍了全局图的构建方法,然后详细阐述基于超图卷积神经网络(HGCN)从全局图中提取出会话之间item-item的复杂高阶信息。
3.2.1. 全局图的构建
全局图是基于超图构建的,其中节点表示项目,超边表示项目之间的关联关系。超图的一条超边可以连接N个节点,超图可以定义为三元组
表示的集合。V是节点集合,
表示节点的数量,每个节点表示一个项目
。E是超边集合,
表示超边的数量,每个超边表示一个会话
。W是超边上的权重集合,每个超边分配一个权重
。超图中的W可以定义为一个对角矩阵,超图被定义为关联矩阵T,且
,如果
,则
,否则为0,并且可以计算得到所有超边的度矩阵
和所有的顶点度矩阵
。
如图2所示,在超图中如果任意两个超边存在相同的节点,就会连接起来。在一个超边内部所有节点都是通过无向边全连接起来,这样就构建出项目之间的高阶非成对关系用于全局级项目的特征表示。
![](//html.hanspub.org/file/52-2571650x30_hanspub.png?20240524085230354)
Figure 2. An example of the hypergraph building process
图2. 超图构建过程的实例
3.2.2. 基于HGCN提取全局信息
超图卷积神经网络层主要用来捕获会话序列中项目之间的复杂高阶关系。该层在超图上定义了卷积操作,用来传播邻居节点的信息。超图卷积神经网络定义如下:
(2)
其中,
表示第
层项目v的超图卷积结果。超图卷积可以看作是在超图结构上执行“节点–超边–节点”特征转换的两阶段细化。
代表信息从节点传递到超边,然后和T相乘表示信息从超边到节点。
将
通过L层超图卷积层后,将每层得到的项嵌入进行平均后,得到最终的全局级项目表示:
(3)
3.3. 局部共现关系提取层
在本小节中,首先介绍了局部图的构建方法,其次介绍了基于CR-GNN从局部图中提取出会话内部item-item的转换信息。
3.3.1. 局部图的构建
局部图用来提取当前会话项目中的重要特征。具体来说,给定一个会话序列S,将其构建成有向无加权图
,这里
表示在局部图中的节点,也是会话S中被点击的项目。
表示边的集合,每条边
意味着在会话S中用户点击完
之后点击
。此外,为了能聚合来自项目本身的信息,为会话图中的每个节点添加了一个自循环。图3是一个局部图构建示例。
![](//html.hanspub.org/file/52-2571650x43_hanspub.png?20240524085230354)
Figure 3. Example of the local graph building process
图3. 局部图构建过程实例
3.3.2. 基于CR-GNN提取局部信息
局部共现关系提取层主要通过捕获当前会话项目之间的成对关系来得到项目的局部信息表示。在此模块本文使用CR-GNN来重构共现项之间特征表示。先将会话序列构建有向无加权图,如图4所示。
![](//html.hanspub.org/file/52-2571650x44_hanspub.png?20240524085230354)
Figure 4. Session graph and adjacency matrix
图4. 会话图及邻接矩阵
假设给定两个序列
和
,其中
,每个初始v的嵌入表示:
(4)
在CR-GNN中,将两个共现项的潜在向量拼接起来表示转换关系,然后使用可训练的参数
和
来学习节点传出和传入边之间的差异,并使用注意力机制将邻居节点的特征聚合到目标节点:
(5)
(6)
(7)
其中||代表拼接操作,tanh作为激活函数。
和
表示节点
对节点
的重要性,这样就得到一个节点
在共现关系上两个不同的注意力系数,
表示节点
对节点
的整体重要性,然后再考虑到非共现关系的其他邻居节点的信息和自身的节点信息,即将所有与节点
有关的相邻系数归一化,采用softmax函数实现:
(8)
最后根据上面得到的注意系数
就可以使目标节点自适应聚合其他邻居节点的信息和自身的节点信息:
(9)
再进一步,通过堆叠多层图卷积来聚合高阶邻居信息,能有效区分成对共现项之间的关系。这样,第k层的
的项嵌入可表示为:
(10)
3.4. 信息融合层
经过超图卷积神经网络层和局部共现关系提取层后,得到全局级项目会话信息
和局部级项目信息
,用sum pooling将两部分信息融合:
(11)
其中,
为聚合后的会话向量表示,最终可以得到
。位置嵌入是Transformer [25] 中提出的一种种用来记忆项目的位置信息的技术。在会话推荐中,每个项目在会话序列中的位置信息对推荐结果会产生影响,在一定程度上可以提高推荐效果。本文采用反位置编码,使用一个可学习的位置矩阵
,
是第i个项目的嵌入向量,为了使位置信息和项目信息结合,分别进行如下计算:
(12)
(13)
(14)
其中,
、
和
均为可学习的参数,
表示当前会话第i个融合位置编码后的会话信息。模型先通过一个软注意力机制来学习相对应的权重
,再通过线性组合操作得到最终的会话信息表示S。
从前面的计算过程可以看出,最终的会话信息表示S聚合了全局级会话信息和局部级会话信息,且对成对共现项的权重差异进行了区分,这使得S能很好地表示会话特征。
3.5. 模型预测层
使用当前的会话表示S和全局级项目表示
进行点积,再采用softmax函数进行归一化,得到下一个点击项目的概率y:
(15)
其中
,它用以表示第i项目可被推荐的可能性。
本文选用交叉熵函数作为损失函数。但由于超图卷积神经网络在捕获会话序列中项目之间的复杂高阶关系的同时会将不相关的会话信息融合到当前的会话中。为了避免模型过度依赖目标标签,这里使用标签平滑技术改进交叉熵函数来提高模型的泛化能力:
(16)
其中,
为超参数,C为会话序列项目数,clamp为数学函数,用于将数值限制在一个指定的范围内,当
小于
则为
,大于
则为
。最终的损失函数定义如下:
(17)
这里,y表示ground-truth项目的one-hot编码向量。
4. 实验
本节首先描述实验的设置,然后进行实验试图回答如下问题:
1) RQ1:CR-HGNN模型是否优于基线模型?
2) RQ2:CR-HGNN模型的各个组成部分是否对推荐性能提高做出了贡献?
3) RQ3:采用不同的参数设置对模型的最终推荐结果有什么影响?
本节中,首先描述了数据集和预处理方法;然后介绍评估机制、参与对比的基线模型、模型参数设置;最后,给出了实验结果和分析。
4.1. 数据集和预处理
为了实验结果更加具有说服力,在实验中本文选取三个数据集,它们来自不同的应用领域,分别为Diginetica,Tmall和Last.fm。Diginetica数据集来自CIKM Cup 2016,由典型的交易数据组成。Tmall数据集来自IJCAI-15竞赛,其中包含匿名化用户在天猫网购平台上的购物日志。Last.fm是一个广泛用于许多推荐任务的数据集。在数据预处理时,本文使用了与 [11] [13] 相似的方法,具体说,就是在三个数据集中对长度为1的会话和出现少于5次的项目进行过滤,对训练集和测试集的会话序列进行了数据增强,数据增强的具体方法是获取每个会话序列的前缀子序列。表1是数据集预处理后的详细统计信息,其中ratio.bi指数据集中具有双向边的会话比例。
4.2. 评估机制
本文选择P@K和MRR@K作为评估指标来评估推荐系统。
P@K (Precision calculated over top-K items)。P@K主要用于所有目标物品,它计算系统的前K个物品中的被正确推荐的物品比例。
(18)
其中,
表示测试集
中测试序列的数量,
表示为序列s推荐的前K个物品集中被正确预测的物品数量。
MRR@K (Mean Reciprocal Rank calculated over top-K items)。MRR@K是指对于一个推荐系统,给定一个用户交互序列s和推荐列表,计算在推荐列表排名前K个物品中,第一个与用户序列s实际交互的物品相一致的被推荐物品位置ranks的倒数平均值。
(19)
在实验中,为了便于与基线模型进行比较,本文将K设为20,即用P@20和MRR@20对模型进行评价。
4.3. 基线模型
在实验中,选取了11个会话推荐模型作为基线模型,分别是基于传统的方法(IKNN、FPMC)、基于深度学习的方法(GRU4Rec、NARM、STAMP、SR-GNN、FGNN、GC-SAN)以及基于图神经网络的方法(DHCN、GC-HGNN、AC-HCN),具体描述如下:
IKNN [2] :基于当前会话与其他会话的相似度推荐项目。
FPMC [4] :结合了矩阵分解和一阶马尔科夫链来捕获用户偏好。通过遵循以前的工作,本文在计算推荐分数时也忽略了用户的潜在表示。
GRU4Rec [8] :通过门控神经网络将会话序列建模为最终的会话表示。
NARM [9] :使用门控神经网络和注意力机制学习会话序列的主要目的和序列特征。
STAMP [10] :用迭代多层注意力层来取代先前工作中的RNN编码器,完全依靠当前会话中的最后一项的自注意力来捕获用户的短期兴趣。
SR-GNN [11] :使用门控图神经网络来获得项目的编码表示,后续和STAMP类似,通过自我关注最后一个项目来计算会话级的嵌入做推荐。
FGNN [12] :协同考虑会话推荐系统中的会话图的序列次序和潜在的次序,并通过图级特征提取器来学习下一个推荐项目。
GC-SAN [13] :使用自注意网络来学习会话中项目之间的全局性和局部性依赖信息。
DHCN [14] :使用基于超图的神经网络和基于线图的神经网络,来捕获高阶非成对的关系,并将自监督学习融入到网络建模中,作为改进推荐任务的辅助性方法来增强超图建模。
GC-HGNN [26] :使用基于超图的神经网络来捕获高阶非成对的关系,使用GAT来捕获局部信息,通过和池化融合来增强推荐性能。
AC-HCN [27] :提出自适应嵌入式的超图卷积网络来学习上下文信息,同时使用α-entmax函数消除无关项目的影响,最后将学习到的项目表征与时间间隔和反位置嵌入相结合生成增强项目表示。
4.4. 参数设置
在实验中,embedding size设置为128,mini-batch的大小设置为512。所有的参数使用均值为0且标准差为0的高斯分布进行初始化。学习率设置为0.001,并使用Adam优化器。对于超图卷积神经网络层数的设置,不同的数据集对应不同的层数。具体来说,对于Tmall数据集,将层数设置为1层;对于Last.fm和Diginetica数据集,将层数设置为3层。CR-GNN模块层数,对于Diginetica数据集,层数设置为1层;对于Tmall数据集,层数设置为2层;对于Last.fm数据集,层数设置为3层。基线模型均使用相同的数据集和评估设置,实验过程中通过微调超参数来获得它们的最佳结果。
4.5. 实验结果与分析
通过考察模型在上述三个问题上的推荐表现,来验证本文提出的CR-HGNN模型的性能。下面给出实验结果及其分析。
4.5.1. 总体比较(RQ1)
表2给出了模型在三个数据集上的实验结果, 并将每列的最好结果加粗表示。由于在推荐的过程中存在随机操作,表格中的数值均为多次实验后的平均值结果。表中数据表明,CR-HGNN的整体性能最好。
在传统方法中,IKNN在Tmall上的性能最差,FPMC在Last.fm和Diginetica的性能最差,这些方法没有考虑当前会话的时间顺序和过渡关系,导致表现不佳。
对比于传统方法模型,深度学习方法的模型展示了更好的性能。尽管GRU4Rec,一个首次使用并将多个GRU层堆叠起来来建模的模型,在性能上没有超过传统方法。但是,NARM和STAMP模型在所有指标上都是优于传统方法模型的,这是因为GRU4Rec只是简单地将多个GRU层堆叠起来,仅仅考虑了序列中的次序关系,很难获得用户偏好的转移。NARM和STAMP性能高于GRU4Rec,同时也高于传统方法模型,因为NARM和STAMP使用了注意力机制,考虑了会话不同项目之间的权重差异性,能更准确地表达用户的意图。通过NARM和STAMP的方法性能可以看出,在深度学习中使用注意力机制来考虑会话中不同项目之间分配不同权重是非常重要的。
再对比基于GNN的SBR模型,从SR-GNN、FGNN和GC-SAN的实验结果看,它们的推荐效果比传统方法模型和深度学习方法模型的更好。这是因为它们将会话序列建模成图结构,并使用GNN来捕获项目之间的成对转换关系,这也证明了在推荐时考虑项目之间依赖关系的重要性。DHCN、GC-HGNN和AC-HCN的性能优于SR-GNN,FGNN和GC-SAN三种方法,因为DHCN、GC-HGNN和AC-HCN都将会话序列建模超图,可以捕获到项目之间复杂的高阶关系,GNN的方法只是将会话构建成简单的图建构,无法捕获到项目之间复杂的高阶关系。
与基线模型不同,本文所提出的模型中CR-HGNN中,使用超图卷积神经网络捕获复杂高阶信息,同时使用CR-GNN利用成对项目之间的潜在向量连接提取成对项之间不同的转换关系。此外,对会话中的每一个有向边训练对应的聚合邻居信息的注意力系数来捕获当前会话的成对关系,同时考虑了全局级上下文信息和局部级上下文信息。在预测时候引入标签平滑,能有效地学习当前会话中项目的特征,从而提高了模型的泛化能力,这也是CR-HGNN取得优越表现的原因。
![](Images/Table_Tmp.jpg)
Table 2. Performance comparison between CR-HGNN and baseline models
表2. CR-HGNN与基线模型性能比较
4.5.2. 消融实验(RQ2)
消融实验用来验证模型主要模块对推荐性能的贡献。通过移除CR-HGNN不同模块形成的模型变体,考察它们在三个数据集上推荐性能来评价各模块对结果的影响:
CR-HGNN-C:从CR-HGNN中去掉局部级信息提取模块,保留了超图卷积神经网络模块及标签平滑处理模块。
CR-HGNN-H:从CR-HGNN中去掉全局级超图卷积神经网络信息提取模块,保留了序列提取模块及标签平滑处理模块。
CR-HGNN-S:从CR-HGNN中去掉标签平滑处理模块,只用交叉熵函数,保留了全局级超图卷积神经网络信息提取模块和局部级信息提取模块。
表3给出了实验结果,它对比了四个模块在Diginetica、Tmall和Last.fm三个数据集上的性能,评估参数分别为P@20和MRR@20。
从整体上来看,本文提出的CR-HGNN在P@20和MRR@20上性能最佳。从Tmall和Last.fm两个数据集看,由于这两个数据的ratio.bi偏高,所以CR-HGNN-C的性能下降很多,这表明在模型训练过程中融合局部级会话信息是十分必要的。而在Diginetica数据集,由于其ratio.bi偏低,所以在CR-HGNN-C 和CR-HGNN-H中反而CR-HGNN-C的性能偏高。CR-HGNN-H模型的性能在三个数据集上都只比CR-HGNN稍逊,但是CR-HGNN-C的性能比CR-HGNN相差更多,说明使用超图卷积神经网络来捕获复杂的高阶关系会引入不相关的会话信息,但使用CR-GNN模块来对会话间的共现关系进行重构,一定程度上可以缓解上述问题。CR-HGNN-S在三个数据集上都表现的比CR-HGNN差,说明标签平滑操作的有效性。综上所述,提取学习会话序列中成对项间的转移关系可以缓解超图在捕获高阶关系时存在引入不相关会话信息的问题。在模型训练阶段,引入标签平滑有助于提高模型的泛化能力。
![](Images/Table_Tmp.jpg)
Table 3. The impact of each module of the model on the recommendation performance
表3. 模型各模块对推荐性能的影响
4.5.3. 参数k及ϵ对推荐性能的影响(RQ3)
1) CR-GNN层数k的影响
CR-GNN主要思想是对共现项过渡关系进行区别,并考虑到非共现关系的其他邻居节点的信息和自身的节点信息,堆叠多层CR-GNN可以获得高阶邻居信息。实验中,选取k为1、2和3层,图5为不同CR-GNN层数下模型性能,从图5可以看出,在Diginetica数据集上,1层CR-GNN性能最好。如表1所示,Diginetica数据集的avg.len相对较短,堆叠多层的CR-GNN使项目表示过于平滑。在Tmall数据集上,2层CR-GNN达到了最好的性能。Tmall数据集的avg.len相对较长,CR-GNN堆叠多层可以聚合更多有用的信息。此外,可以观察到Last.fm数据集在3层CR-GNN性能最佳,Last.fm数据集具有最长的avg.len。
![](//html.hanspub.org/file/52-2571650x99_hanspub.png?20240524085230354)
Figure 5. Impact of different values of k on recommendation performance
图5. 不同k值对推荐性能的影响
2) 标签平滑超参数ϵ的影响
标签平滑主要思想是于将最终目标数值限制在一个指定的范围内,防止模型过度依赖目标标签。实验中,ϵ的选值为0、0.1、0.3、0.5、0.7、0.9,评估指标分别为P@20和MRR@20。图6是在Tmall、Diginetica和Last.fm三个数据上测试的在不同标签平滑参数ϵ对应用的模型推荐结果。从图6可以看出,当 值为0.1时,本文提出的模型性能在数据集上达到了最佳。但是随着ϵ值的增加,性能却逐渐降低,这表明标签平滑在软化标签后,可以起到去噪的效果。但若完全抛弃原有标签进行推荐,反而会起到负面效果。
![](//html.hanspub.org/file/52-2571650x100_hanspub.png?20240524085230354)
Figure 6. The influence of the value of the hyperparameter ϵ on the recommendation performance
图6. 超参数ϵ的值对于推荐性能的影响
5. 结论
目前,大部分基于超图的推荐方法只考虑从全局层面降低建模时存在的引入不相关会话信息的问题。本文研究了基于超图神经网络的会话推荐问题,提出一种基于共现关系重构的超图增强会话推荐模型CR-HGNN。该模型利用超图神经网络来捕获全局级会话信息,同时通过CR-GNN学习成对项的共现转换关系以捕获局部级会话信息。最后,通过sum pooling融合全局级和会话级会话信息。在训练过程中对交叉熵函数进行了修改,引入标签平滑技术防止模型过度依赖硬标签,提高了模型的泛化能力。实验表明,本文提出的CR-HGNN模型,在三个数据集上表现出优越的性能。在未来的工作中,将继续研究会话序列中其他的依赖关系来提高模型在会话序列中捕获用户偏好的能力。