时间:2024-05-04
陈 瑶,熊 棋,郭一娜
(太原科技大学 电子信息工程学院,太原 030024)
互联网信息量的爆炸式增长,带来信息过载问题[1],阻挡了大数据时代的前进步伐.人们思索如何缓解信息过载问题,从大数据中获取有效信息,推荐系统应运而出.推荐系统可以缓解“信息过载”,这一发现受到了社会各界的广泛关注.
1997年,推荐系统的概念(Recommendation System,RS)由Resnick[2]首次提出.它的出现为用户提供更好的个性化推荐服务,这一畅想带来了希望.其主要通过分析用户的历史行为信息,发现隐藏其中的用户偏好,从而为用户进行推荐.然而在实际的推荐应用中,对于一个较小的电子商务网站而言,能够留存下的用户历史信息往往是有限的.网站的新用户,其历史行为又是不可知的.在这些情况下,传统的基于用户长期历史行为信息的个性化推荐算法不再适用.学者们提出了会话型推荐系统.
“会话”是指一名用户在浏览网站期间,他在网站页面上进行点击、购买商品等一系列交互行为[3].这名用户可以是一名没有明确身份标识,也可以是一名没有过去历史行为记录的用户.其间,用户点击的商品序列就是一个会话序列.会话型推荐系统就是仅根据用户当前的会话行为序列,去预测他接下来可能会点击购买的物品.系统会将可能性最高的几个物品提取出来,供用户选择.传统会话型推荐算法是在传统的机器学习基础上提出的一系列方法[4,5].Badrul等[4]提出了基于物品邻域的方法(item-based neighborhood methods),它是通过计算物品在一个会话中共现的频率,以此来衡量物品之间的相似性,将用户最后点击的物品的k最近邻的物品作为推荐结果.Rendle等[5]提出了一种矩阵分解与马尔可夫链相结合的序列化推荐模型FPMC(Factorized Personalized Markov Chains),获取隐藏在相邻交互物品中的顺序关系.总的看来,上述传统算法虽然都取得了不错的效果,但它们均忽略了会话序列数据中各个物品间存在的转变模式.至此,人们为克服传统算法带来的问题[6-11],尝试用深度学习的自动特征提取能力来提高推荐性能.Hidasl等[7]首次将循环神经网络应用到会话推荐领域,其通过数据增强和考虑用户行为的时间转移来增强模型的推荐性能,相比较于传统推荐方法,取得了显著的进步.Li等[9]为捕获用户在目前会话中的主要意图,提出了NARM(Neural Attentive Recommendation Machine)模型,将循环神经网络与注意力机制结合起来,为捕捉用户序列行为中蕴含的特征和主要目的.后来,Liu等[10]提出了STAMP(Short-Term Attention/Memory Priority)模型,它是将简单的多层感知模型和注意力网络结合,提取用户的潜在兴趣.但该方法忽略了会话中的序列行为特征.
随着图神经网络在各个领域如火如荼的应用,基于图神经网络(Graph Neural Networks,GNN)[12-14]对节点数据强大的特征提取和学习能力,Wu等[12]提出SR-GNN(Session-based Recommendation with Graph Neural Networks)模型,它们通过计算相对重要性来了解整个会话的表示,这种相对重要性是基于会话的每一项与最后一项之间的成对项目转换,性能在很大程度上依赖于最后一项与当前会话中用户偏好的相关性.Feng等[14]提出了TAGNN(Target Attentive Graph Neural Networks for Session-based Recommendation),采用图神经网络及目标注意模块相结合,通过考虑给定目标项目历史行为的相关性,自适应地激活用户兴趣.上述基于图神经网络的推荐算法,虽然可以获得项目嵌入和考虑项目的复杂转换,但不能从多维度提取用户的兴趣和偏好,因此本文提出了面向会话推荐的注意力图神经网络(An Attention Mechanism Enhanced Graph Neural Networks for Session-based Recommenda-tion,AMGNN),该网络能够建立会话级别表示,多维度提取用户的长期兴趣和短期偏好.本文的主要贡献如下:
1)图神经网络和位置编码结合,为图神经网络学习生成的物品嵌入向量引入位置编码,将每个嵌入向量的位置编号,以分辨出不同位置的嵌入向量.
2)提出一种多头注意力机制和软注意力机制有机结合的新注意力机制,给会话序列中的点击物品赋予不同的权重,聚焦于当前推荐任务中更为关键的信息.
为了从多个维度提取会话中的长期兴趣和短期偏好,本文提出了面向会话推荐的注意力图神经网络,模型架构如图1所示.在该模型中,本文提出一种多头注意力机制和软注意力机制有机结合的新注意力机制,为节点表示的依赖关系建模,获取会话级别的表示.该模型主要分为4个部分:
图1 面向会话推荐的注意力图神经网络模型Fig.1 Attention mechanism enhanced graph neural networks for session-based recommendation model
1)构图,将会话序列建模为图形结构数据.
2)图神经网络及位置编码,图神经网络从会话图中获取节点信息,捕获复杂的项目转换,生成物品嵌入向量.为了分辨出不同位置的物品嵌入向量,本文为嵌入向量引入位置编码,给每个嵌入向量的位置编号,添加位置信息.
3)注意力机制,传统的图神经网络仅能获取复杂的项目转换关系,不能从多个维度提取用户的长期兴趣和短期偏好,进而推荐性能低.为了多维度提取用户的兴趣和偏好,获得会话的级别表示,本文提出一种多头注意力机制和软注意力机制有机结合的新机制.文中以包含位置信息的物品嵌入向量作为新机制的输入,得到用户的长期偏好,并将会话序列中的最后点击项作为当前兴趣.
4)预测,每个会话表示为用户的长期偏好和当前兴趣的有机组合.根据当前会话行为序列,预测每个候选物品在下一项点击中出现的概率,将可能性最高的几个物品提取出来,供用户选择.
基于会话的推荐任务是根据用户在当前会话中的物品交互记录,发掘用户偏好,预测用户接下来可能点击的物品.以下给出本文的符号定义.
在本文的模型中,每个会话序列S建模为一个有向图Gs=(Vs,Es),其中Vs是在会话序列S中出现过的物品集合、Es表示物品间有向边的集合.在会话S中,每个节点代表一个物品vs,i∈V,每条边(vs,i-1,vs,i)∈Es代表用户在会话序列S中依次访问vs,i-1,vs,i,此时(vs,i-1,vs,i)对应的边权加1.以上所述为文中图Gs的构造方法.由于几个序列中的物品可能会出现重复,因此本文给每条边赋予归一化加权值.按照上述方法,将会话序列建模为图形结构数据.
本文通过图神经网络学习会话图中会话序列的节点向量表示.Li等[15]提出了门控图神经网络,并使用时间的反向传播算法来计算梯度.门控图神经网络极大地增强了图神经网络处理序列数据的能力.它可以在考虑丰富节点连接的情况下自动提取会话图的特征,因此其非常适合用于会话推荐.本文将每个物品v∈V通过图神经网络映射到统一的嵌入空间中,学习到物品v的d维隐向量v∈Rd,也称为节点向量.节点向量v组成物品嵌入向量s.至此,每个会话序列S可以用嵌入向量s来表示.
(1)
(2)
(3)
(4)
(5)
图2 会话图和邻接矩阵A的示例Fig.2 Example of a session graph and the connection matrix A
图3 位置编码图Fig.3 Position embedding
so=Wo(sgnn‖P)
(6)
式(6)中,Wo为可训练参数,‖表示对应元素拼接.
为了更好地预测用户的下一项点击,本文将每个会话表示为用户在该会话中的长期偏好和当前兴趣的有机组合,最终会话的嵌入向量表示为sc∈Rd.本文首先考虑会话的局部嵌入向量sa,即会话S的当前兴趣.对于会话S={vs,1,vs,2,…,vs,n},当前兴趣可以简单的定义为最后点击项vs,n,用vn′表示,则sa=vn′.与此同时,汇聚所有节点向量作为会话图Gs的全局嵌入向量sb,表示会话的长期偏好.考虑到这些嵌入信息可能具有不同的优先级,为从多个维度提取会话中的长期兴趣和短期偏好,本文提出一种多头注意力机制和软注意机制结合的新注意力机制(如图4所示),给不同的输入数据赋予不同权重,根据每个项目与最后一项的相关性,计算出一个具有代表性的会话嵌入向量,实现对当前推荐任务更为关键信息的聚焦.
基于用户序列化行为的个性化推荐系统,多头注意力机制可以将用户点击序列中的任意两个项目通过计算直接连接起来,无关距离长短.因此引入多头注意力机制可以减少无关行为对用户兴趣的依赖,从而更有效的捕获点击序列的内部相关性.图4中多头注意力机制的头部数量h为4,当引入位置信息后的嵌入向量so,输入到第1个头的注意力机制中,so更新为so11,当它输入其余3个头的注意力机制后,so分别更新为so12、so13、so14.本文中多头注意力机制的输出为so1,是4个头注意力机制输出结果的拼接.
sk=Wkσ(W1vn′+W2vi′+c)
(7)
sq=Wqσ(W1vn′+W2vi′+c)
(8)
sv=Wvσ(W1vn′+W2vi′+c)
(9)
(10)
so11=Fmsv
(11)
(12)
(13)
式(7)~式(9)和式(12)中,Wk、W1、W2、W3、Wq、Wv、c均为可训练参数,将局部偏好和全局偏好的组合映射为3个矩阵k、q、v,作为多头注意力模块的输入;式(10)中,Fm∈Rd×d为多头自注意力评分矩阵,为了避免向量内积的值过大,需将点积后的结果除以d的平方根.随后再对多头注意力评分进行正则化处理.式(10)和式(11)组成图4中的缩放点积注意力.式(12)为多头注意力机制的输出计算公式.式(13)以多头注意力的输出为注意力分数,计算多头注意力下的全局偏好,更新物品嵌入表示.
图4 新注意力机制模型架构示意图Fig.4 Schematic diagram of a new attention mechanism
软注意力机制可以让模型赋予和任务更相关的元素更大的注意力分数.引入位置信息后的物品嵌入向量输入到软注意力机制中,so更新为so2:
Fs=qTσ(W1vn′+W2vi′+c)
(14)
(15)
公式(14)中q∈Rd为可训练参数.两种注意力机制的有机结合,提高了聚焦关键信息的效能.可以将全局会话偏好更好地表示为:
sb=so1+(so1-so2)
(16)
最后,本文将全局嵌入向量sb和局部嵌入向量sa组合在一起,再经线性变为混合嵌入矩阵sc:
sc=W(sb‖sa)
(17)
式(17)中W3∈Rd×2d为可训练参数,由此得到每个会话的嵌入向量sc.
(18)
(19)
(20)
式(20)中,yi为one-hot向量,表示用户真实交互的物品.
本文选择公开数据集Diginetica(1)http://cikm2016.cs.iupui.edu/cikm-cup、Tmall(2)https://tianchi.aliyun.com/dataset/dataDetail?dataId=42、Nowplaying(3)http://dbis-nowplaying.uibk.ac.at/#nowplaying以及Yoochoose(4)http://2015.recsyschallenge.com/challege. html中的部分数据进行实验,来验证AMGNN的有效性.Diginetica数据集来自于CIKM Cup 2016的竞赛,本文只用到了其中的交易数据.Tmall数据集来自IJCAI-15竞赛,其中包含匿名用户在天猫网购平台上的购物日志.Zangerle等[16]提出了Nowplaying数据集,其描述用户的音乐收听行为.Yoochoose数据集是从RecSys Challenge 2015中获得的,其中包含用户在6个月内在电子商务网站上的点击流.
为了实验结果的公平比较,本文对以上数据集进行预处理,预处理的方式仿照Rendle等[5],过滤掉所有长度为1的会话、在数据集中出现少于5次的物品以及仅在测试集中出现的物品.为了测试AMGNN在不同规模数据集上的有效性,本文选取Diginetica数据集中的3150个会话,1417个物品构成Dgeca数据集.选取Yoochoose数据集中的39733个会话,2408个物品构成Y-choose数据集.预处理后,有关这5个数据集的统计数据如表1所示.
表1 实验中使用的数据集的统计数据Table 1 Statistical data of the dataset used in the experiment
本文仿照Hidasi等人[11]提出的方法,对一个已经存在的会话S={vs,1,vs,2,…,vs,n},通过分割该会话来生成序列和相应的标签.会话S可以分割为{[vs,1],vs,2},{[vs,1,vs,2],vs,3},…,{[vs,1,vs,2,…,vs,n-1],vs,n},其中[vs,1,vs,2,…,vs,n-1]为生成的物品序列,作为输入数据,vs,n则作为标签数据,以此构成一个样本.对于这5个数据集,本文选择最后一周的数据作为测试集,其余的数据作为训练集.
本文为了评估提出的模型的性能,选用P@K、MRR@K作为模型评测标准.
P@K(Precision)被广泛用作预测准确性的衡量标准.它代表了前K项中正确推荐的物品的比例.计算式为:
(21)
式(21)中,n表示测试集中样本总数;nhit表示前K个推荐物品中包含正确推荐物品的样本数.
MRR@K(Mean Reciprocal Ranks)是衡量样本中正确推荐物品在推荐列表中的排名,它的值越大,表明正确推荐物品排名越靠前.若正确物品未出现在推荐列表中,则对MRR的增益为0,其计算式为:
(22)
式(22)中,n代表测试集中总样本数;M代表前K个推荐物品中包含正确推荐物品的样本集;ranki则代表物品i在推荐排名列表中的排名.
本文设定节点的隐向量的维度d=100.此外,本研究在验证集上选择了其他超参数,该验证集是训练集的一个10%的随机子集.所有参数都使用均值为0,标准差为0.1的高斯分布进行初始化.使用Adam算法优化模型参数,其中初始学习率设为0.001,每迭代3次学习率衰减0.1,正则化系数是10-5,训练批量设定为100.每个实验重复10次,取训练结果的平均值.
为了证明提出的模型的有效性,本文在Tmall等五个数据集上进行实验.将AMGNN与所有的基准方法做了详细地比较.表2即是实验的对比结果.从表2中,可以观察到:基于神经网络方法的实验结果都明显优于传统推荐方法的实验结果,印证了神经网络在推荐领域的有效性.
表2 AMGNN与其他基准方法在5个数据集上的性能比较Table 2 Performance comparison of AMGNN with other state-of-the-art methods over five datasets
基于注意力机制的STAMP等方法在效果上要明显优于FPMC等方法,表明在会话型推荐中引入注意力机制不仅可以捕获会话中蕴含的用户偏好,还提高了推荐准确度.SR-GNN 、GC-SAN引入图神经网络来捕获物品间的转移关系,并与注意力机制结合来发掘用户的偏好,取得了不错的效果.体现了图神经网络捕获物品间的转移关系的强大能力.
表2中,对比本文提出的AMGNN与其他基准模型,可以看出:AMGNN在5个数据集的每一项指标上,均表现优异.在Diginetica、Tmall、Nowplaying以及Y-choose 数据集上,AMGNN的各项指标均有显著提升.而在Dgeca数据集上,AMGNN的P@20值相较于基准方法中最优的SR-GNN的P@20值提升了11.95%,同时MRR@20值提升了7.27%.表明本文中提出的模型在不同规模的数据集上,均能取得不错的推荐效果.同时也说明相较于其他基于图神经网络的推荐算法,本文提出的面向会话推荐的注意力图神经网络,可以多维度提取用户的兴趣和偏好.
在实际推荐系统中,每次能够向用户推荐的物品数量是极为有限的.所以为进一步研究AMGNN模型与上述最优基准模型SR-GNN在实际推荐环境中的性能,本文需对模型进行进一步的评估.减小评价指标P@K和MRR@K中的K值(K=10,K=5),可以模拟实际推荐应用中用户的需求.表3、表4总结了两个模型在Tmall等数据集上基于不同评价指标K值的实验结果.
表3 基于评价指标K=10的实验结果对比Table 3 Comparison of experimental results based on K=10
表4 基于评价指标K=5的实验结果对比Table 4 Comparison of experimental results based on K=5
可以看到,在K值不同的情况下,AMGNN模型依然表现良好,且在所有评价指标上均显示出明显的优势.这也进一步印证了本文提出的面向会话推荐的注意力图神经网络在处理会话序列时,可以聚焦于当前推荐任务中更为关键的信息.
模型训练过程中超参数的设置不同,会对实验结果产生不同的影响,本文在不改变其他超参数的条件下,探索不同的学习率对实验结果的影响.实验在Diginetica数据集上进行,学习率分别设为0.0001、0.0005、0.001以及0.005.测试结果如图5所示.从图中可以看出,学习率为0.001时,P@K和MRR@K的值大多高于其他学习率条件下的P@K和MRR@K的值.因此,学习率为0.001,利于模型准确率增加.
图5 学习率对结果的影响Fig.5 Effect of different learning rates on model results
本文提出一种多头注意力机制和软注意力机制有机结合的新机制,并据此提出面向会话推荐的注意力图神经网络.提出的注意力机制通过给不同的输入数据赋予不同权重,多维度提取用户的长期兴趣和短期偏好,实现对当前推荐任务更为关键的信息的聚焦,提高了推荐性能.本文在Tmall等数据集下进行了对比实验,相较于现有的基准模型,本文提出的AMGNN模型在各项指标上均有提升.验证了方法的有效性.为准确提取会话序列中的有效信息,提供了一种可行的解决方案.在下一步的研究工作中,将研究如何在提取会话中的用户的兴趣前,筛除会话中的无用信息,缩小用户兴趣的提取范围,进一步提升推荐性能.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!