王永贵,王 阳,陶明阳,蔡永旺
辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105
推荐系统[1]可以缓解大数据时代下“信息过载”的问题,帮助用户从繁杂的信息中挑选出有价值的信息,为用户提供个性化服务。传统推荐模型[2]常依赖于用户资料可用性和长期历史交互,但在许多真实场景中用户访问在线流媒体网站(例如,YouTube 和Tiktok)时很少有注册登录的习惯,更多的用户访问时使用匿名方式。因此,如何根据给定的匿名用户行为序列预测用户下一个感兴趣的物品[3],成为现阶段一项重要任务,即基于会话推荐任务。
早期,基于会话推荐的模型大多数是基于马尔可夫链[4]进行研究,该类模型的主要思想是根据用户之前的动作预测用户下一个兴趣。然而,该类模型依赖于强独立性假设,在实际应用中,可能会受到噪声数据问题的影响。目前研究SRS 的主流模型为基于循环神经网络(recurrent neural netwoks,RNN)的深度学习模型[5-6]。该模型处理用户长会话时性能显著,能够捕捉较远距离的用户意图。但此类模型只对物品之间的连续单向转移关系进行建模,忽略了会话中其他物品之间的转移关系。为了克服上述模型的不足,基于图结构的会话推荐模型[7]被提出,该类模型将会话物品转移序列构建成图结构,然后应用图神经网络模型探索多个物品之间复杂的转移关系。
目前,基于图结构的会话推荐模型取得了较好的效果,但仍存在一定的局限性,具体如下:(1)之前的工作仅基于目标会话对用户偏好建模,忽略了全局会话信息,即其他会话中有用物品之间的转换关系。全局会话信息中包含着有价值的补充信息,有利于更准确地推断目标会话的用户偏好。本文通过图1 中的示例进行说明。在不失一般性的前提下,目标会话为“Session 1”。从目标会话观察v3和v4均为v2的一阶邻居且v2→v3和v2→v4访问次数均为1次,说明v3、v4与v2的关联程度相近,但考虑全局会话,v2→v3的访问次数为1次,v2→v4的访问次数为4次,从全局角度出发可以看出v2和v4之间关联更密切。因此,不同会话间可能具有相似的用户意图和行为模式,融合全局会话信息能够更准确预测用户在目标会话中的下一个动作。(2)基于图结构的会话推荐模型在构建图的过程中,出现在不同时间的相同物品都视为同一节点,以至于不同的会话序列构建出的会话图结构可能完全相同,如图2所示。因此会话中每个物品的位置信息尤为重要。(3)由于每个用户操作行为不同,需要处理的会话长度可能会出现长短不一的情况,因此提高模型对不同输入数据的理解能力是有必要的。
本文针对上述问题,分别提出改进方案,以便更好地为用户推荐物品。首先将用户会话序列构建成全局会话图和目标会话图,并根据相邻物品之间出现的频率生成物品转移矩阵,同时为了避免将其他会话中无关物品引入目标会话,从全局会话图中抽取与目标会话图相关信息为用户推荐其感兴趣物品。其次由于出现在不同时间的相同物品重要性对用户偏好影响并不相同,因此提出一种位置感知注意网络,将反向位置信息嵌入物品中。最后每个用户的操作习惯不同,会话长度可能出现长短不一的情况,且会话长度越长,用户兴趣越易被短期的环境和心情所影响。因此融合会话长度信息,为长期偏好和短期偏好分配不同的权重,从而为用户做出更有效的推荐。
传统的基于会话推荐系统模型,如矩阵分解模型(matrix factorization,MF)[8]和马尔科夫链模型(Markov chains,MC)[9],由于用户-物品矩阵中用户评分的缺失和无法有效建模序列中的上下文信息等问题,因此并不能较好地应用于SRS 任务中。受MF 和MC 优点的启发,一些研究人员提出二者优点混合模型,如个性化马尔可夫链模型(FPMC)[10]。利用矩阵分解和马尔可夫链结合,生成物品评级列表实现基于会话的推荐任务。
近年来,随着深度学习的不断发展,深度神经网络在序列数据建模方面取得显著成果。Hidasi等人[5]提出多层门控递归单元循环神经网络模型(GRU4Rec),在SRS 任务中,GRU4Rec 通过RNN 结构综合考虑用户历史行为,并利用历史点击记录建模会话数据。在GRU4Rec模型研究基础上,Quadrana等人[11]结合用户画像并使用分层循环神经网络进行个性化推荐。Li 等人[12]提出新的注意力机制模型(NARM),明确考虑会话中每个物品的重要程度,将注意机制集成到堆栈GRU编码器中,以捕获SRS 更具有代表性的物品转换信息。Liu等人[13]提出了一种基于注意力机制的短期记忆网络(STAMP),该模型能够从会话上下文的长期记忆中获取用户的长期兴趣,同时强调用户最后一次点击行为作为用户的当前兴趣。基于RNN的模型虽然对实验效果具有一定的提升,但RNN 侧重于对相邻物品的顺序转换关系建模[14],通过给定序列的信息推断用户偏好,因此不能建模复杂的物品转换关系。
图神经网络(graph neural network,GNN)作为一种从图嵌入和卷积神经网络(convolutional neural network,CNN)思想启发而来的新型神经网络,能够对图结构数据进行特征提取,是一种易扩展且高效的新型神经网络结构[15-16],在学习图数据方面表现出极强的能力。与循环神经网络方法相比,GNN 能够通过构建图结构反映实体之间的关系。目前,国内外对GNN 的研究在不同方向取得显著成果,如特征关系提取[17]、自然语言处理[18]、文本分类[19]、疾病预测[20]、图片分类[21]等。
随着图神经网络的发展[22],为人们进一步分析推荐系统实体及其相互之间的关系提供更好的表示方式。使用图模型学习SRS 物品嵌入也引起了广泛关注,在SRS任务中,物品之间的交互序列对应于图中的节点和边。因此,利用GNN将交互序列构造为图结构数据,用来实现基于会话的推荐任务。Wu等人[7]提出图神经网络模型(SR-GNN)学习会话图上的物品嵌入,将目标会话编码为未加权的有向图,结合门控图神经网络(gated graph neural network,GGNN)[23]和注意力机制[24-25]获得有代表性的会话嵌入,并计算每个物品与最后一个物品之间的相关性。基于这项工作,Xu 等人[26]提出基于GNN 的推荐器和自我注意网络模型(GC-SAN),使用GGNN 网络提取局部上下文信息和自注意网络(selfattention network,SAN)捕获远程位置依赖关系。此外,Qiu等人[27]提出加权注意网络图模型(FGNN),区别于SR-GNN,将目标会话转换为加权有向图,其中边的权重为物品转换的数目。并采用自适应的加权图注意网络提取物品特征,但该模型忽略了会话内一些远程依赖关系。Chen等人[28]提出快捷图注意网络模型,引入了门循环单元(gate recurrent unit,GRU)边缘顺序保留聚合层和捷径图关注层,用于处理无损编码图和捕获远程依赖关系,进而有效解决消息缺失问题。Fang等人[29]提出基于自注意网络(SR-SAN)会话推荐的新模型,利用自注意网络捕获会话中所有物品之间依赖关系。Zhou 等人[30]提出基于会话推荐的时间增强图神经网络(TASRec),在长时间内模拟动态用户的兴趣。然而,上述所有模型都只模拟目标会话上的物品转换信息。相比之下,本文提出GCI-GNN 模型通过考虑会话全局上下文信息学习物品之间的转换关系,以增强用户兴趣的推断。
SRS 任务通过给定用户与物品的交互记录(如点击、浏览)预测用户下一步操作。下面给出本文的符号定义。基于会话推荐任务中,V={v1,v2,…,vn}表示会话中所有点击物品集合,S={s1,s2,…,s|s|}表示所有会话数据集合,每个会话对应一个顺序点击物品序列si=(v1,v2,…,vl),l表示每条会话si的长度,其中vi∈V表示在会话s中用户第i次点击的物品。GCI-GNN 模型利用会话数据预测用户下一步操作,即利用已知会话前缀=[v1,v2,…,vn] 预测用户n+1 步将要点击的物品vn+1。为此,本文利用会话前缀为每个候选物品生成评分,y^=(y^1,y^2,…,y^|V|)表示模型输出的评分向量,其中y^i表示对应物品vi的分数。由此,GCI-GNN模型是通过输入会话si预测评分y^的分类模型。为了使用户会话数据适用于模型,将用户会话数据转换为图结构数据,即会话序列构建有向图Gs=(Vs,Es),Vs表示物品集合,Es表示物品间有向边集合。其中图中每个节点vi代表一个物品,(vi,vi+1)∈Es作为一条边,代表在会话中用户点击vi之后点击了vi+1。
本文提出融合全局上下文信息注意力增强的图神网络模型(GCI-GNN),模型架构如图3所示。由于用户的目标会话蕴含的信息非常有限,因此本文将全局会话信息融入目标会话中,进而提高推荐效果。具体做法是,首先将全部会话构建全局会话图,并根据相邻物品之间出现的频率生成物品转移矩阵,同时为了避免将全局会话中无关物品引入目标会话,从全局会话图中抽取与目标会话图相关信息为用户推荐其感兴趣物品。其次由于出现在不同时间的相同物品重要性对用户偏好影响并不相同,因此提出位置感知注意网络,将反向位置信息嵌入物品中。最后每个用户的操作习惯不同,会话长度可能出现长短不一的情况,且会话长度越长,用户兴趣越易被短期的环境和心情所影响。因此融合会话长度信息,为长期偏好和短期偏好分配不同的权重,从而为用户做出更有效的推荐。
现有的会话推荐方法大多数仅关注于目标会话的内部信息,忽略了其他会话的信息,但其他会话信息往往包含着非常有价值的补充信息,有利于更准确地推断目标会话的用户偏好。例如:
目标会话序列:华为手机→数据线→蓝牙耳机
会话序列1:蓝牙耳机→头戴耳机→有线耳机
会话序列2:华为手机→华为电脑→蓝牙耳机
现有方法只关注目标会话序列对用户下一步操作的影响,但对于会话序列1 而言,用户可能具有买耳机的意图而进行同类物品的比较,因此对目标会话产生耳机种类的影响,对于会话2 而言,用户可能喜欢华为品牌,对目标会话可能产生品牌种类的影响。因此,可以利用全局会话信息和目标会话信息之间的联系,克服仅仅使用目标会话的限制,挖掘更多的隐藏信息,从而为用户提供更加精确地推荐。
在本节中,进一步利用会话中涉及的节点向量表示用户短期和长期偏好。并考虑会话中各个节点的位置信息和会话长度信息生成用户偏好。
传统的会话推荐方法只使用会话内的物品表示获取用户兴趣,这些方法将会话压缩为固定向量,但考虑到目标物品的多样性,固定向量将限制推荐模型的表示能力。为了改善这一缺陷,本文使用目标感知注意网络模块,在会话图中捕获节点嵌入后,使用目标感知注意网络激活与目标物品va相关的用户兴趣。其va为要预测的所有候选物品,计算会话s中所有物品vi与每个目标物品va∈V之间的注意力分数,并将权重矩阵W∈Rd×d应用于目标物品va与每个节点hi中,使用softmax 函数对注意力得分进行归一化处理,定义如下:
长期偏好:在浏览的过程中,用户对每个物品喜爱程度不同,并且不同物品对下一个物品预测的贡献并不相等。直观地说,物品的重要性依赖于它在会话中所处的位置,以及它与最新访问物品之间的相关性。因此本文提出了一种位置感知注意网络,将反向位置信息纳入物品嵌入中。使用一个可学习的位置嵌入矩阵P=[p1,p2,…,pl],其中pi∈Rd是特定位置i的位置向量,l表示会话序列的长度。位置信息zi通过拼接和非线性变换进行融合,如式(9):
其中,q,b2∈Rd和W2,W3,W4∈Rd×d是权重参数。
最后,艾宾浩斯遗忘原理指出,人的记忆在遗忘的过程中是有规律的,最新的浏览内容所体现的兴趣比较长时间前浏览内容体现的兴趣更加重要,其重要性随时间而逐渐衰减。因此对于不同的会话长度,用户的长期偏好和短期偏好对用户有不同的影响,随着时间的推移,会话长度越长,短期偏好对用户的影响越重要。因此本文采用归一化的方法对会话长度l进行处理,对于长期偏好和短期偏好分配不同的权重,即会话长度越长,越重点捕获用户短期偏好,从而提升预测准确性。定义如下:
xˉ表示会话的平均长度,W5∈Rd×3d将两个向量嵌入到统一空间Rd中,为每个目标物品生成不同的会话嵌入,会话嵌入st由长短期偏好以及目标嵌入拼接而成。
本文根据每个物品初始嵌入和会话的表示去预测每一个候选物品成为用户下一个点击的概率,根据概率进行降序排序,排在前面的物品,作为用户感兴趣的物品进行推荐,应用softmax函数获得输出,定义如下:
对于模型的时间复杂度,本文从编码器和解码器两个部分进行分析。假设数据集物品总数为n,每个物品的嵌入向量维度为d,当前会话的长度为l。编码器的时间复杂度可以近似为图神经网络的复杂度,即O(l2d+ld2)。对于解码器的部分,复杂度主要集中在Attention模块和目标感知注意网络模块两部分。其中,Attention模块的复杂度为O(ld2),目标感知注意网络模块的复杂度为O(nd) 。因此,模型的复杂度O(l2d+ld2+nd),即模型的效率由会话的平均长度、候选物品的个数、物品嵌入向量的维度共同决定。
为了验证模型的有效性,本文在公开的数据集Yoochoose 和Diginetica 进行实验,Yoochoose 该数据集来自数据挖掘会议RecSys 2015 竞赛,包含6 个月内电子商务网站的点击流,Diginetica 数据集来自CIKM 2016竞赛,本文只使用已发布的事务数据。为了进行公平的比较,本文采用文献[7]的数据预处理方案。在Yoochoose 数据集上,首先将用户会话日志中最后几天的数据作为测试集,余下数据作为训练集,并且过滤长度为1 的会话和出现次数小于5 的物品。经过预处理,实验相关数据如表1所示。
表1 实验数据集相关数据Table 1 Statistics of experiment datasets
本文在模型训练之前,通过序列分割生成序列和相应标签。例如对于给定输入会话si=[v1,v2,…,vn],生成子序列{([v1],v2),([v1,v2],v3),…,([v1,v2,…,vn-1],vn)},将每个子序列括号内的物品作为输入数据,而剩余一项作为标签数据。由于Yoochoose 数据量过大,并且现有研究表明在最近数据集上训练比在整个数据集上训练效果更好。因此,本文取训练数据的最后1/64作为模型的实际训练集,即为Yoochoose1/64。
为了评价本文提出的GCI-GNN 模型性能,使用下面的模型作为基线模型,在上述两个数据集中将GCIGNN与基线模型进行对比。
(1)POP:最简单的SRS算法模型,始终根据训练集中物品出现频率排名进行推荐。
(2)FPMC[10]:将MF 和MC 相结合的下一个物品混合推荐模型。
(3)GRU4Rec[5]:在会话推荐中采用RNN 对用户序列建模,利用并行小批处理训练过程将会话拼接,使用基于排序的损失函数学习模型。
(4)NARM[12]:提出在RNN 中加入注意力机制的模型,该模型利用注意力机制从隐状态捕捉用户的意图,并结合用户浏览时顺序行为信息生成最终兴趣表达进行推荐。
(5)STAMP[13]:在RNN 编码器加入注意力层,通过依赖于当前会话中最后一个物品捕捉用户的短期兴趣,从而缓解兴趣漂移对模型的影响。
(6)CSRM[6]:使用内部内存编码器和一个外部内存编码器,将协作邻域信息应用到基于会话的推荐中。
(7)SR-GNN[7]:将会话信息映射为图结构,并通过门控图神经网络获得物品之间的转移信息,同时应用注意力机制生成会话向量。
(8)GC-SAN[26]:利用图神经网络和多层注意力网络,获得用户长期兴趣,最后通过门控机制将长期兴趣和短期兴趣结合获得会话最后的表示。
(9)FGNN[27]:将目标会话转换为有向加权图,使用加权注意力图结构和读取函数学习会话特征。
(l0)TA-GNN[32]:在SR-GNN 基础上使用目标注意网络,为基于会话的推荐任务引入目标注意单元,能够准确地捕捉不同物品的优先级。
(11)LESSR[28]:引入了GRU边缘顺序保留聚合层和捷径图关注层,用于处理无损编码图和捕获远程依赖关系,进而解决信息缺失的问题。
(12)SR-SAN[29]:利用自我注意力机制学习物品之间的依赖关系。同时利用多头注意力机制获取会话重要部分。
本文采用P@K(Precision)和MRR@K(mean reciprocal rank,MRR)评价指标对实验结果进行评估。本次实验K值设为10和20。
P@K 被广泛用于衡量会话推荐系统预测精度,表示推荐结果排名列表在前K个推荐物品中正确推荐的条目比例。算法定义如下:
其中,N表示推荐物品数量,n表示返回的正确相关的推荐物品。
MRR@K 指平均倒数排名。当排名超过K时,倒数排名被设置为0。MRR 的度量值考虑了推荐排名的顺序,其中较大的MRR 值表示在排名列表的顶部有正确的推荐。定义如下:
其中,Rank(t)是目标物品在推荐物品列表中的位置。
本文GCI-GNN模型的物品潜在向量维度d=100,批量大小batch 设置为100。使用均值为0 且标准差为0.1 的高斯分布初始化所有参数。使用初始学习率为lr=0.001 的Adam 优化器,每迭代3 次学习率将衰减0.1,将正则化系数μ设置为10-5,所有的权重矩阵都通过正态分布N( 0,0.052)的抽样初始化,在Diginetica 数据集下η=0.5,在Yoochoose1/64数据集下η=0.6。随机抽取训练集的10%作为验证集。
品牌创新能力的路径系数达到了0.92,说明其对新疆农产品区域品牌竞争力具有非常显著的作用。因此在品牌创新能力提升方面,首先应加强新疆农业技术创新,增加农业科研投入,加强先进适用技术的研发和推广;其次应加强农业管理创新,推动农业供给侧结构性改革,探索和优化农业管理体系;再次是加强农业发展的形象创新能力,应加强新疆农业标准化建设,实施农产品市场准入制度,确保农产品质量绝对安全,同时完善区域品牌保护机制,完善市场秩序,落实知识产权保护,促进专利技术转化实施,建设诚信体系,加大惩处违规者,营造新疆农产品区域品牌良好竞争环境。
3.5.1 整体性能
为了演示GCI-GNN的整体性能,通过评估P@K和MRR@K 分数,将其与4.2 节中提到的基线方法进行了比较,表2 显示了基线模型和本文提出的GCI-GNN 模型在两个真实数据集上的实验结果,其中每一个列的最佳结果都用加粗突出显示。可以观察到,GCI-GNN 在两个评价指标上的性能均优于基线模型。
表2在几个方面具有启发性,在传统模型中POP的性能最差,它主要强调具有高共现性的物品,在基于会话的推荐中过于简单。与POP相比,FPMC在两个数据集上表现更好,显示了马尔可夫链在建模序列数据方面的优势。但是,它无法捕获会话中复杂的顺序转换。与传统模型相比,基于神经网络的模型具有更好的性能。GRU4Rec 作为第一个基于RNN 的SBR 模型,展示了RNN 在建模会话序列方面的能力。然而,它完全依赖于RNN 对会话内复杂转换关系建模,只能捕获相邻节点之间的依赖关系,并且可能会生成假依赖关系。随后提出的NARM 和STAMP 模型明显优于GRU4REC。NARM结合RNN和注意力机制,使用RNN的最后一个隐藏状态作为用户的主要偏好,本文观察到STAMP 比NARM 具有更好的性能,它在会话的最后一个物品上结合了自我注意力机制模拟用户短期兴趣,这个结果证明了给不同物品分配注意力权重对模型至关重要。CSRM 在两个数据集上的表现优于NARM 和STAMP,这显示了使用其他会话的物品转换的有效性。然而,CSRM使用内存网络具有有限的空间,并且它将其他会话视为一个整体,可能将其他会话中不相关信息嵌入到目标会话中。
在所有的基线方法中,基于GGNN 的方法在Diginetia 和Yoochoose1/64 数据集上表现更好。通过将每个会话序列建模为子图并用GNN 对物品进行编码,能够捕获用户行为的复杂交互。这表明图结构比时序模型RNN 建模更合适。虽然FGNN 使用的转换方法比SR-GNN使用的方法能捕获更多信息,但从实验结果观察到FGNN并不在所有数据集上都优于SR-GNN,这表明选择一个强大的消息传递方案的重要性。LESSR和SR-SAN比SR-GNN表现出更好的性能,它们使用注意力机制捕获远程物品之间的全局依赖关系,显示考虑远程依赖关系的有效性。同时TASRec通过构建了一个有效的时间图,合并新的物品转换和衰减旧的边权值来过滤过时的信息。对比基线模型,本文的GCI-GNN 模型将会话中的每一物品聚合到会话图中,通过考虑会话全局信息,反向位置信息以及会话长度对用户偏好的影响,从而为用户作出更有效的推荐。从表2中可以明显看出,在两个数据集中本文提出的GCI-GNN 模型两个指标上均取得了较好的性能。
3.5.2 会话长度的影响
为了进一步验证模型的有效性,将图模型LESSR、SR-SAN 和TASRec 以及GCI-GNN 在不同会话长度下进行比较,以展示GCI-GNN 在不同情况下的性能和优势。将会话分为短会话和长会话,“短”表示会话长度为5个物品或更少,“长”表示具有5个物品以上的会话,其中5 是所有原始数据中会话的平均总长度。Diginetica测试数据集中,短组会话占70.10%,长组会话占29.90%。对于每种模型,本文选取K=20 分析每个数据集P@20和MRR@20的结果。Diginetica实验结果如图5所示。
图5 显示了Diginetica 的结果。可以看到,与短组相比,长组中所有模型的P@20和MRR@20的结果都比较低,这突出了在数据集上针对长会话提出挑战。这可能因为用户在当前会话开始时的单击取决于历史上的用户交互,随着会话时间的延长,用户兴趣就会逐渐转移,从而难以处理更大长度的会话。从图5 观察到LESSR 和SR-SAN 模型在长会话中性能较TASRec 突出,是因为SR-SAN和LESSR模型的注意网络能够捕获远程依赖关系,也证实了会话长度对模型有一定的影响。GCI-GNN模型在长组会话相对于其他模型提升更加明显,这表明会话长度信息的融入能够解决由于长会话引起的兴趣漂移问题。综上所述,GCI-GNN 仍然是性能最好的模型。
3.5.3 参数影响
本文测试不同的权重参数η对模型的影响,实验结果如图6 所示。从图中观察到,随着η的增加,模型性能在增加,说明融合全局信息能够提高模型的性能,在Diginetica 参数η选取0.6,效果达到最优,在Yoochoose数据集上,参数η选取0.5 时,效果达到最优。其次,图中的虚线代表GCI-GNN 在不同η下的平均性能,以Diginetica数据集为例,GCI-GNN在P@10和P@20指标下的平均性能为37.43%和51.93%,与表2 中的其他模型相比,GCI-GNN 的平均性能仍较高于其他模型。最后,从整体来看,GCI-GNN 模型的整体结果趋于稳定,在参数边界处,也能取得较好的结果。本文认为,当η为0时,GCI-GNN的转移矩阵生成完全依赖于目标会话信息,即GCI-GNN 的转移矩阵生成模块退化为类似TAGNN 的转移矩阵生成模块。当η为1 时,GCI-GNN的转移矩阵生成完全依赖于全局信息,因此,GCI-GNN模型性能较为稳定。
3.5.4 消融实验
在本节中对会话嵌入策略进行消融实验。设计了3个模型变体分析用户偏好的不同表示如何影响模型性能,本文选取K=20 进行分析:(1)不使用会话全局信息模块,只使用目标会话信息(GCI-NA);(2)不使用会话中物品位置信息模块(GCI-NP);(3)不使用会话长度信息模块(GCI-NL)。表3 显示了使用不同会话表示的实验结果。
表3 消融实验的对比结果Table 3 Comparison results of ablation experiments单位:%
表3 给出了不同模型变体和SR-SAN 之间的对比结果。可以观察出,在全局信息模块缺失的情况下,模型性能表现不佳。总体看,GCI-NA 模型与GCI-GNN模型性能相差的较大,这表明探索其他会话的物品转换信息对模型做出更准确的预测尤为重要。同时位置信息模块的移除使得模型的性能退化,证明了位置信息的嵌入可以提升模型的表现能力。因此反向位置信息注意力网络可以更准确地表明每个物品的重要性。同时由于每个用户操作行为不同,需要处理会话长度会出现长短不一的情况,且会话长度越长越难捕捉用户的长期偏好,因此不考虑会话长度信息将限制模型表现能力。同时,各个变体模型的实验结果均较好于SR-SAN,证明了每个子模块均可提升对用户推荐物品的准确度。
3.5.5 optimizer分析
在本节中,分析了不同的optimizer 对模型效果的影响,选取了SGD、Momentum、RMSprop、Adam 进行实验,实验结果如图7 所示。从实验结果可以看出,相比于其他优化器,SGD的效果较差,本文认为主要原因是SGD 容易收敛到局部最优且收敛速度较慢,因此并不适用于较复杂的图神经网络学习。Momentum 是模拟物理里动量的概念,积累之前的动量来代替真正的梯度,因此在训练初期时,对训练速度有较大的提升,但仍达不到较好的收敛效果。RMSprop 可以较好地修正收敛幅度,使各维度的摆动都较小,从而达到较好的效果。综合来看,Adam是效果最好的优化器,Adam是将Momentum和RMSprop结合起来使用的一种优化器,收敛速度和收敛程度均有较好的效果。
3.5.6 嵌入维度分析
在本节中,分析不同维度对模型性能影响。实验测试在嵌入维度d取不同值时,GCI-GNN 模型的性能。设定嵌入维度d的取值范围为0 到120,选择P@20 为评估指标,在两个数据集上进行实验,实验结果如图8所示。从图8 可以看出,随着嵌入维度d的增加,GCIGNN模型的性能均有所提升,对于Diginetia数据集,嵌入维度d达到80 时,模型的性能不再随着嵌入维度d的增加而提升。对于Yoochoose 1/64数据集,嵌入维度d达到90 时,模型的性能不再随着嵌入维度d的增加而提升。
3.5.7 模型耗时分析
本节中,对不同模型预测所用的耗时进行分析。本文选用1 000 条样本数据进行耗时测试,取平均值作为该模型的耗时,具体结果如表4 所示。可以看出,GCI-GNN 融入全局会话信息后,对模型的耗时并无较大增长。主要原因是,全局会话信息为先验知识,耗时远少于神经网络的耗时。同时,本文发现Diginetia数据集的耗时略高于Yoochoose 1/64数据集,本文认为主要原因是Diginetia数据集拥有更多的items。
表4 对比基线的实验结果Table 4 Comparison of baseline单位:ms
为了进一步验证GCI-GNN 的模型复杂度,本文使用FLOPs和Params两个评价指标对模型进行评测。其中,FLOPs 为模型的计算量,用于衡量模型的时间复杂度,Params 为模型的参数量,用于衡量模型的空间复杂度。本文在Diginetia数据集上进行实验,实验结果如表5 所示。从表中可以看出,与其他模型相比,GCI-GNN在提升实验指标的同时,并没有产生较多的额外开销。因此,GCI-GNN可以适用于大规模的推荐。
表5 FLOPs和Params的实验结果Table 5 Experimental results of FLOPS and Params
本文提出融合全局上下文信息的注意增强图神经网络模型(GCI-GNN)。该模型考虑会话上下文信息,从而丰富了目标会话信息。同时融合会话中各个节点位置信息,采用位置注意力网络更好地学习每个物品的重要性。并考虑不同用户操作的会话长度会出现长短不一的情况,结合会话长度信息处理不同的会话,进而为用户做出有效的推荐。本文在两个真实数据集上进行了大量的实验证明了GCI-GNN优于其他模型。
在未来,模型将探索上下文信息之间的组合方式,同时考虑引入多种类型的数据,甚至包括声音、图像、视频、各种传感器信息。如何融合这些异构的多元数据提高会话推荐的准确性将是研究的重点。