韩敬争,郭 峰
(聊城大学山东省光通信科学与技术重点实验室,聊城 252000)
随着技术的快速发展,数据量也与日俱增,人们在海量数据面前越来越无助。为了解决信息过载的问题,人们提出了一种推荐系统算法(recommendation system,RS)[1-4]。RS 通过用户的历史行为、用户的兴趣偏好或用户的人口统计特征发送推荐算法,然后使用推荐算法生成用户可能感兴趣的项目列表。下一个购物篮推荐[5-7]是基于用户隐性反馈行为(如点击或购买等)的推荐系统的典型应用,旨在推荐用户想要购买的下一个产品。
关于如何根据用户的偏好进行有针对性的推荐,已经有很多尝试,例如基于马尔可夫链(MC)的作品[8-11],通过学习项目的转换图对用户的行为进行建模,然后预测用户的下一步行动。基于递归神经网络(RNN)的方法[7,12-13]从项目级视图对篮子进行编码,以轻松捕获全局信息。还有基于注意力机制[14-16]和图神经网络(GNN)[17-19]的方案。然而,这些方案大多侧重于购物篮中物品之间的相关性信息,而忽略了购物篮之间的重叠关系。我们相信,这种关系代表了用户更全面和持久的兴趣,有助于帮助用户找到他们喜欢的物品。此外,由于候选商品的丰富,用户的兴趣通常是多样化的。固定大小的嵌入向量[3,20-21]只能表达单个用户的兴趣,但不能表达不同用户的兴趣。这限制了推荐模型的表达能力。
本文提出了一种基于篮子中项目的多样性表示的图注意力神经网络,我们称之为GATBR。所提出的项目多样性表示的关注模块旨在通过考虑给定项目的历史行为的相关性来自适应地激活用户的兴趣。灵感来自HGATBR[22],一种基于超级边缘的图形注意力篮推荐模型,它在Yoochoose 和TaFeng数据集中表现良好。然而,HGAT-BR 不考虑给定物品的历史行为相关性,因此无法激发与目标物品相关的特定用户的兴趣。为了解决这个问题,在网络中添加了多样性关注模块,该模块旨在将特定项目的历史行为相关性嵌入篮子特征中,以改进篮子的表示。在以Recall@10 和Recall@20 为评估标准的实验中,该模型显示出比现有基线方案更好的性能。
本节给出了对相关问题的定义以及文本中使用的符号的含义,详细描述所提出的GATBR模型。
项目集(即一个篮子)由Bi={I1,I2,…,Im}表示,Ii是单个项目,m表示篮子中的项目数。篮子序列由S={B1,B2,…,Bn}表示,n表示篮子的数量。每个篮子嵌入为两个图:项目级图G=(IB,EB)和篮子级图GH=(BS,εS)。G是从项目视图中学习的篮子表示,即从项目之间的相关性中学习的。篮子中的项目I∈IB被视为G的节点,项目之间的关系被视为边e∈EB。为了合并项目之间的高阶关系,首先连接与中心项目相关的项目,然后使用GNN 聚合来自其邻居的项目消息。GH是从篮级别的角度学习的表示,为了实现这一目标,将篮表示为超图中的超边,超边的重叠关系[23]表示篮子之间的相关性。
注意力机制是一种尝试性算法,试图选择性地关注感兴趣的事物,而忽略网络中的其他对象。使用GATv2[24]来集成项目的高阶关系,在GATv2 中,每个节点都可以关注任何其他节点,这解决了标准GATConv[25]层的静态关注问题。例如,HGAT-BR 中的GAT在学习项目和篮子的动态表示方面明显不足。注意机制是一种在给定附加查询向量的情况下计算一组输入关键向量的分布的机制。如果注意函数在一个键上的权重始终与任何其他键相同,并且不受查询条件的影响,则注意函数是静态的。然而,静态注意力函数非常有限,因为每个得分函数f∈F(ℝd× ℝd→ℝ)具有始终被选择的键,而不管查询操作如何,也就是说,这些函数无法通过不同键的不同查询操作获得相应的相关性。动态注意机制可以用来解决这个问题,策略是通过查询操作i来选择每个键值φ(i),即将f(qi,kφ(i))转换为{f(qi,kj|j∈n)},其中qi是查询向量,kj是关键向量。然后使用GATv2 独立研究物品和篮子的嵌入。
本工作使用的项目多样性关注机制通过局部关注模块计算单个篮子中的所有项目,并将权重矩阵参数化的共享线性变换应用于每个项目目标对,以进一步提高模型的推荐能力。
模型的总体框架如图1所示,GNN 层通过聚合中心节点的邻居的消息来更新每个节点,该层的输入是一组节点表示∈ℝd|i∈IB和一组边e∈eB,处理后输出一组新的节点表示当相同的参数函数fθ应用于具有给定邻居Ni={j∈IB|(i,j∈EB)}的节点时,它可以由以下公式表示:
图1 GATBR模型示意图
打分函数S:ℝd× ℝd→ℝ,计算每个边缘的关注度得分,表示项目的邻居的重要性:
其中a∈ℝd是注意力网络的权值向量,W1∈ℝd'×d是通过学习获得的权重矩阵,‖表示矢量连接操作,LeakyReLU[26]是激活函数。这些注意力得分被softmax 函数归一化,注意力函数定义为
之后,Gatv2 根据归一化关注系数计算相邻节点的变换特征的加权平均值,作为更新节点的表示:
其中σ=是个非线性激活函数。不同的项目对篮子的重要性不同,因此应用非线性函数来学习其嵌入,其中q∈ℝd和是项目特征向量的权重矩阵:
Bdiversity∈ℝd表示用户对每个篮子中不同项目的兴趣,定义如下:
之后,将局部和全局嵌入与不同对象的嵌入联系起来,通过线性变换生成会话嵌入:是篮子的最终嵌入表示(模型图的左侧部分)。
式中Wε∈ℝd×3d将三个向量映射到嵌入空间R,
为了模拟篮子之间的相关性,篮子被表示为一组项目GH=(BS,εS),每个篮子Bi∈Bs被视为连接两组项的超边,如果两个超边共享至少一个公共项,则它们在超图中连接。直观地说,它们分享的评论项目越多,两个篮子就越相似。通过利用超边在建模多个项目中的固有优势,可以建模篮子之间的相关性,并进一步使用它们来改进推荐建议:
同样地,GATv2 还用于直接学习篮子的超边表示。该层的输入是一组节点表示和εb,处理后,层输出一组新的节点表示并且相同的参数函数被应用于给定其邻居Ni=(j∈Bs|(i,j)∈Es)的每个节点,消息更新过程可以总结如下:
评分函数和注意力函数GATv2 分别与公式(2)和(3)相同。类似地,GATv2 根据归一化注意力系数计算相邻节点的变换特征的加权平均值(随后是非线性),作为新的篮子表示:
最后,对从项目特征空间学习到的项目级篮子表示和从超图特征空间学习的篮子级篮子表示进行平均,以获得最终的篮子表示:
每个候选项目I的得分通过将其嵌入乘以目标篮子来计算:
然后用softmax 归一化Xi并计算每个项目I的推荐概率:
对于每个篮子,其损失函数L(·)定义为预测值与真实值yi的交叉熵:
其中N为训练示例的数量,随时间反向传播算法BPTT 来最小化式(15)来学习L(·)中的参数。交叉熵描述了实际输出概率和预期输出概率之间的距离,即交叉熵越小,两个概率分布越近。
实验中使用的数据集是两个来自真实世界的数据集,前者包括用户在6 个月内购买物品的事件,后者包括中国杂货店在3 个月内的交易数据。为了进行比较,本实验中使用了与文献[27]相同的设置:过滤长度小于2 的篮子,并过滤出现次数小于5 的项目,然后选择上述预处理操作后的部分数据作为本工作的数据集:1/64 和1/4,两个数据集都将最后0.4 天的篮子设置为测试集。
用Recall@K和NDCG@K作为实验的评估标准,前者表示所有测试篮中前K个项目的概率,这意味着Recall@K评估了模型在回忆出现在前K个位置的项目的能力,定义如下:
NDCG@K是一种基于排名的度量,它考虑了列表中推荐项目的顺序。所有测量值在所有预测的下一组项目中计算,并通过以下公式正式给出:
式中I(·)是指示符函数,Nk是表示给定R(u)的NDCG@K的最大值的常数。
对GATBR 和现有基线方案进行了广泛的实验比较,结果如表1所示。
表1 GATBR和其他基线在两个数据集上的表现
续表1
从表1可以看出,与其他基线模型(包括HGAT-BR)相比,GATBR 在三个数据集上表现最佳。实验证明了对象多样性注意网络的优越性。它还表明,基于篮子的方案CLEA[28]、DNNTSP[29]和GATBR 的性能优于基于会话的方法,如DHCN[30]、FGNN[31]和SR-HGNN[32],这反映了篮子之间相关性的重要性。此外还进行了实验,以不同的方式组合两种篮子表示:GATBR 直接将两者相加,另外两种方法是GATBR-Contact 和GATBR-Mean。实验分别以Recall@K和NDCG@K作为评价标准,结果如图2所示。
从图2可以看出,直接相加(GATBR)在所有数据集上表现最佳,这验证了结合项目多样性所表达的注意力表达用户兴趣的必要性。GATBR-Contact 的表现最差,因为通过完全连接的层将两个篮子表示映射到同一嵌入维度的接触操作破坏了学习的篮子表示,并且由于需要学习更多的参数,结果显然更差。GATBRMean的表现不如GATBR,这可以通过用户兴趣的多样性来解释,这进一步强调了使用项目多样性的注意力机制来捕捉用户的多样性兴趣的重要性。
图2 项目级和篮子级的不同连接方式Recall@20(a)和NDCG@20(b)为评估标准的结果
此外,还设计了实验来验证不同超参数设置对模型的影响。以模型在数据集上的性能为例。图3显示了1~5 层范围内的GATv 层数和{1/2/4/8/16}范围内的磁头数量的实验结果。
图3 Yoochoose1/64上GATv2不同层和头数的不同性能
图3结果表明,用八个头堆叠两个GAT 层的效果最好。较小的模型显示出较差的实验结果,因为它们的能力太低,无法表示项目转换模式的复杂性。大模型显示的结果趋势表明,太大的模型很难训练,过度拟合对最终性能有害,导致结果不佳。
最后,在数据集Yoochoose1/64 上设计了实验,并与HGAT-BR模型进行了性能比较,结果如图4所示。
图4 Yochoose1/4数据集上与HGAT-BR的比较
从实验结果可以看到GATBR 的优势,这主要归功于其网络中的GATv2。在HGAT-BR 中,GAT用于学习物品和篮子的表示,但HGAT-BR中的静态注意力功能在学习动态表示方面受到限制。GATv2 中使用的动态注意函数可以对不同的键值和具有不同相关性的不同查询进行建模。此外,GATBR 中增加了对项目多样性感兴趣的表达(如公式(7)所示)。通过进一步考虑项目的多样性来对用户偏好建模,并考虑不同项目的多样,以激活不同用户的兴趣,改进了推荐模型的表达能力。
本工作提出了新的物品多样性表示注意力图神经网络模型用于购物篮推荐。通过结合超图建模和物品多样性表示注意模块,所提出的GATBR 联合考虑给定特定目标项目的用户兴趣以及购物篮内和购物篮之间的复杂项目转换。在两个真实世界的数据集上进行了广泛的实验,实验结果表明GATBR 性能优于几种最先进的下一个购物篮推荐方法。