Memory Augmented Graph Neural Networks for Sequential Recommendation AAAI 20翻译
Abstract
用户项目交互的时间顺序可以揭示许多推荐系统中时间演变和顺序的用户行为。用户将与之交互的项目可能取决于过去访问的项目。然而,用户和项目的大量增加使得顺序推荐系统仍然面临着不小的挑战:(1)短期用户兴趣建模的难度; (2)难以计算长期用户兴趣; (3)项目共现模式的有效建模。为了解决这些挑战,我们提出了一种内存增强图神经网络(MA-GNN),以捕获长期和短期的用户兴趣。具体来说,我们应用图神经网络在短期内对项目上下文信息进行建模,并利用共享内存网络捕获项目之间的长期依赖关系。除了对用户兴趣进行建模外,我们还采用了双线性函数来捕获相关项目的共现模式。我们在五个真实的数据集上广泛评估了我们的模型,并与几种最新方法进行了比较,并使用了各种性能指标。实验结果证明了我们的模型对Top-K顺序推荐任务的有效性。
Introduction
随着Internet服务和移动设备的快速增长,个性化推荐系统在现代社会中发挥着越来越重要的作用。 它们可以减少信息过载并帮助满足各种服务需求。 这样的系统给至少两个方面带来了显着的好处。 他们可以:(i)帮助用户轻松地从数百万的候选人中发现产品,以及(ii)为产品提供商创造增加收入的机会。
在Internet上,用户按时间顺序访问在线产品或项目。 用户将来与之交互的项目可能在很大程度上取决于他/她过去访问过的项目。 此属性有助于实际应用场景-顺序推荐。 在顺序推荐任务中,除了所有常规推荐模型都捕获了常规用户兴趣外,我们认为还有三个额外的重要因素可以建模:用户短期兴趣,用户长期兴趣和项目共现模式 。 用户短期兴趣描述了给定短期内几个最近访问的项目的用户偏好。 用户的长期兴趣捕获了较早访问的项目与用户将来将访问的项目之间的长期依赖关系。 项目共现模式说明了诸如手机和屏幕保护器之类的共同相关项目的共同发生
尽管许多现有方法已经提出了有效的模型,但我们认为它们不能完全捕获上述因素。首先,诸如Caser(Tang and Wang 2018),MARank(Yu et al.2019)和Fossil(He and McAuley 2016a)之类的方法仅对短期用户兴趣建模,而忽略了项目序列中项目的长期依赖性。 (Belletti,Chen和Chi 2019)证实了捕获远程依赖的重要性。其次,诸如SARSRec(Kang和McAuley 2018)之类的方法并未明确为用户短期利益建模。忽略用户的短期兴趣会阻止推荐系统在短期内了解随时间变化的用户意图。第三,像GC-SAN(Xu et al.2019)和GRU4Rec(Hidasi and Karatzoglou 2018)之类的方法没有明确捕获项目序列中的项目共现模式。密切相关的项目对通常一个接一个地出现,推荐系统应考虑到这一点。
为了整合上述因素,我们提出了一种记忆增强图神经网络(MA-GNN),以解决顺序推荐任务。 它由一般兴趣模块,短期兴趣模块,长期兴趣模块和项目共现模块组成。 在一般兴趣模块中,我们采用矩阵分解项来对一般用户兴趣进行建模,而无需考虑项目顺序动力学。 在短期兴趣模块中,我们使用GNN汇总商品的邻居,以形成短期内的用户意图。 这些可以在短期内捕获本地上下文信息和结构(Battaglia et al.2018)。 为了模拟用户的长期兴趣,我们使用共享的键值存储网络来根据用户的长期项目序列生成兴趣表示。 通过这样做,在推荐项目时将考虑具有类似偏好的其他用户。为了结合短期和长期兴趣,我们在GNN框架中引入了门控机制,该机制类似于长期短期记忆(LSTM)(Hochreiter and Schmidhuber 1997)。 这控制了长期或短期利益表示可以为组合表示贡献多少。 在项目共现模块中,我们应用双线性函数来捕获在项目序列中一个接一个出现的紧密相关的项目。 我们在五个真实的数据集上广泛评估了我们的模型,并将其与使用各种性能验证指标的许多最新方法进行了比较。 实验结果不仅证明了我们的模型相对于其他基准的改进,而且还表明了所提出组件的有效性。
贡献
- 为了建模用户的短期和长期兴趣,我们提出了一种记忆增强图神经网络,以捕获项目的短期上下文信息和长期依赖关系。
- 为了有效地融合短期和长期利益,我们在GNN框架中加入了一种门控机制,以自适应地组合这两种隐藏表示。
- 为了显式地对项目共现模式进行建模,我们使用双线性函数来捕捉项目之间的特征相关性
Problem Formulation
本文考虑的推荐任务采用顺序隐式反馈作为训练数据。用户偏好由按时间顺序的用户项目序列表示,
其中I_∗是用户与之交互的项目索引。给定M个用户中较早的子序列
问题是向每个用户推荐总共N个项目(K<N)中的K个项目列表,并评估
中的项目是否出现在推荐列表中。
模型
在这一部分中,我们将介绍提出的MA-GNN模型,该模型将记忆增广图神经网络应用于顺序推荐任务。我们介绍了影响用户偏好和意图学习的四个因素。然后介绍了该模型的预测和训练过程。
General Interest Modeling
用户的一般或静态兴趣捕获了用户的固有偏好,并且假设随着时间的推移是稳定的。为了抓住用户的普遍兴趣,我们使用了矩阵分解项,而没有考虑项目的顺序动态。这个术语的形式是
Short-term Interest Modeling
用户的短期兴趣描述了用户当前的偏好,并基于短期内最近访问的多个项目。 用户将在不久的将来与之交互的项目可能与她刚刚访问的项目密切相关,并且用户行为的这一属性在许多先前的作品中得到了证实(Tang和Wang 2018; Hidasi和Karatzoglou 2018; He和 McAuley 2016a)。 因此,按顺序推荐对有效建模用户的短期兴趣非常重要,这是最近访问过的项目所反映的。
为了显式地建模用户的短期兴趣,我们执行了滑动窗口策略,将项目序列拆分为细粒度的子序列。 然后,我们可以专注于最近的子序列,以预测接下来将出现哪些项目,而忽略影响较小的无关项目。对于每个用户u,我们提取每|L|个连续的项目作为输入,并提取它们的下|T|个项目作为预测目标,其中lu,
是用户u的第l个子序列。则问题可以表示为:在用户项交互序列S^U中,给定|L|个连续项的序列,预测的项与该用户的目标|T|个项相符的可能性有多大。由于它们具有执行邻域信息聚合和局部结构学习的能力(Battaglia等人,2018),图神经网络(GNN)很好地匹配了在L_{u,l}中聚合项目的任务,以学习用户的短期兴趣。
Item Graph Construction
由于项目序列并不是GNN训练的固有图,因此我们需要构建一个图来捕获项目之间的联系。 对于项目序列中的每个项目,我们提取几个后续项目(我们的实验中为三个项目)并在它们之间添加边。 我们为每个用户执行此操作,并计算所有用户中提取的项目对的边数。 然后,我们对邻接矩阵进行行归一化。 这样,可以提取顺序中彼此看起来更接近的相关项目。图2显示了如何提取项目邻居和建立邻接矩阵的示例。我们将提取的邻接矩阵表示为A,其中A_{i,k}表示项目k关于项目i的标准化节点权重。 并且项目i的相邻项目被表示为N_{i}。

Short-term Interest Aggregation
为了捕捉用户的短期兴趣,我们使用一个两层的GNN对L_{u,l}中的相邻项进行聚合,从而学习用户的短期兴趣表示。形式上,对于第l个短期窗口L_{u,l}中的项目j,其输入嵌入表示为e_{j}\in\Bbb{R}^d。 用户的短期兴趣为:

通过聚合L_{u,l}中项目的邻居,P_{u,l}^S代表统一级别的摘要(Don和Wang 2018;Yu等人)。2019)表示哪些项与L_{u,l}中的项密切相关。基于汇总的用户短期兴趣,可以推断用户接下来将访问的项目。
但是,直接应用上述GNN进行预测显然会忽略长期用户对过去
的兴趣。 在短期窗口L_{u,l}之外可能存在一些可以表达用户偏好或指示用户状态的项目。 这些项目在预测不久将要访问的项目中可以发挥重要作用。 这种长期依赖性已在许多先前的著作中得到证实(Liu等人2018; Xu等人2019; Belletti,Chen和Chi 2019)。 因此,如何对长期依赖关系进行建模并使其与短期环境保持平衡,这是顺序推荐中的关键问题。
Long-term Interest Modeling
为了捕捉用户的长期兴趣,我们可以使用外部存储单元(Sukhbatalet al.。2015年;张等人。2017)来存储给定用户访问的项目
的随时间演变的用户兴趣。然而,为每个用户维护内存单元会产生巨大的内存开销来存储参数。同时,存储单元可以捕获与用户嵌入P_{u}所表示的信息非常相似的信息。因此,我们提出使用存储网络来存储所有用户共享的潜在兴趣表示,其中每个存储单元代表特定类型的潜在用户兴趣,例如关于不同类别电影的用户兴趣。给定用户在过去H_{u,l}中访问的项目,我们可以在L_{u,l}之前学习不同类型兴趣的组合以反映用户的长期兴趣(或状态)。
我们没有像原始存储网络中那样执行求和操作来生成查询(Sukhbaatar等人,2015),而是应用了多维注意模型来生成查询嵌入。 这允许区分可以更好地反映用户偏好的信息项,以对相应的外部存储单元的位置产生更大的影响。 正式地,我们
表示的项目嵌入.生成查询嵌入Z_{u,l}的多维注意力的计算公式为:

其中PE(·)是将项目位置映射到位置嵌入的正弦位置编码函数,与Transformer中使用的相同(Vaswani et al.2017)。

最后,
是对不同方面进行平均的组合查询嵌入。
给定查询嵌入Z_{u,l},我们使用此查询查找内存网络中共享用户潜在兴趣的适当组合。 形式上,存储网络的键和值(Sukhbaatar等人2015; Miller等人2016)分别表示为K\in\Bbb{R}^{d*m}和V\in\Bbb{R}^{d*m},其中m是存储网络中的存储单元数。 内存网络。 因此,可以将用户长期兴趣嵌入建模为:

其中
是第i个存储单元,上标H表示表示来自用户长期兴趣。
Interest Fusion
我们得到了用户的短期兴趣表示和长期兴趣表示。下一个目标是将这两种隐藏表示在GNN框架中结合起来,以便于用户对未评分项目的偏好预测。在这里,我们修改了公式。2在用户的短期利益和长期利益之间架起桥梁。
具体来说,我们借鉴了LSTM(Hochreiter和Schmidhuber 1997)的思想,该思想使用可学习的门来平衡当前输入和历史隐藏状态。 类似地,我们提出了一个可学习的方法来控制最近的用户兴趣表示和长期用户兴趣表示对项目预测的组合用户兴趣有多大贡献:

Item Co-occurrence Modeling
成对项目关系的成功学习是推荐系统的关键组成部分,因为它具有有效性和可解释性。 已经在许多推荐模型中对此进行了研究和开发(Deshpande和Karypis,2004; Ning,Desrosiers和Karypis,2015)。 在顺序推荐问题中,密切相关的项目可能在项目序列中一个接一个地出现。 例如,在购买了手机之后,用户更有可能购买手机壳或保护套。 为了捕获项目共现模式,我们使用双线性函数显式建模L_{u,l}中的项目与其他项目之间的成对关系。 该函数采用以下形式


是可学习参数的矩阵,用于捕获项目潜在特征之间的相关性。
Prediction and Training
为了推断用户的偏好,我们有一个预测层将上述因素结合在一起:
由于训练数据是从用户隐式反馈中得出的,因此我们通过梯度下降相对于贝叶斯个性化排名目标(Rendle等,2009)优化了所提出的模型。 这涉及优化正(观察)项和负(未观察)项之间的成对排名:

其中j表示Tu,l中的正项,k表示随机采样的负项,σ是S型函数,Θ表示模型中其他可学习的参数,而λ是正则化参数。 p ∗,q ∗和e ∗分别是P,Q和E的列向量。 当最小化目标函数时,偏导数w.r.t. 所有参数都是通过带有反向传播的梯度下降来计算的。
实验
在本节中,我们首先描述实验设置。 然后,我们报告进行的实验的结果,并证明所提出的模块的有效性。
在来自具有不同稀疏性的各个域的五个真实世界数据集上评估了所提出的模型:MovieLens20M(Harper和Konstan 2016),Amazon-Books和Amazon-CD(He和McAuley 2016b),GoodreadsChildren和Goodreads-Comics(Wan和McAuley 2018) )。 MovieLens-20M是从MovieLens网站收集的用户电影数据集;该数据集具有2000万个用户电影互动。 Amazon-Books和Amazon-CDs数据集来自具有不同类别的Amazon评论数据集,即CD和Books,其中涵盖了大量用户项目互动数据,例如用户评分和评论。 Goodreads-Children和Goodreads-Comics数据集于2017年底从goodreads网站收集,重点关注儿童和漫画的类型。为了与隐式反馈设置保持一致,我们将评分不少于四个(五分之一)的那些作为正面反馈,并将所有其他评分视为所有数据集上的缺失条目。为了过滤嘈杂的数据,我们仅使用户获得至少十个评分,并为项目保留至少十个评分。预处理后的数据统计如表1所示。

对于每个用户,我们将用户序列中最早的70%交互用作训练集,并将接下来的10%交互用作超参数调整的验证集。 剩余的20%构成了报告模型性能的测试集。 请注意,在测试过程中,输入序列包括训练集和验证集中的交互。 对所有模型的学习进行了五次,以报告平均结果。
我们根据Recall @ K和NDCG @ K评估所有方法。 对于每个用户,Recall @ K(R @ K)表示在前K个推荐项目中占其评分项目的百分比。 NDCG @ K(N @ K)是归一化的K折现累积收益,其中考虑了正确推荐的商品的位置。 K设置为10。
为了证明我们模型的有效性,我们将其与以下推荐方法进行了比较:(1)BPRMF,基于贝叶斯个性化排名的矩阵分解(Rendle等,2009),一种学习成对项目排名的经典方法; (2)GRU4Rec,推荐门控递归单元(Hidasi等,2016),它使用递归神经网络为基于会话的推荐建模项目序列; (3)GRU4Rec是GRU4Rec的改进版本(Hidasi and Karatzoglou 2018),采用了先进的损失函数和采样策略; (4)GC-SAN,图上下文自关注网络(Xu et al.2019),它使用图神经网络和自关注机制进行基于会话的推荐; (5)Caser,卷积序列嵌入建议书(Tang and Wang 2018),通过卷积运算捕获高阶马尔可夫链; (6)SASRec,基于自注意的顺序推荐(Kang和McAuley,2018年),它使用注意机制来识别相关的预测项目; (7)MARank,多阶专心排名模型(Yu等,2019),该模型统一了个人和工会级别的项目交互,以从多个角度推断用户的偏好; (8)提出的模型MA-GNN,它应用记忆增强的GNN来结合近期和历史用户的兴趣,并采用双线性函数来明确捕获项目-项目关系。
在实验中,所有模型的潜在维数都设置为50。对于基于会话的方法,我们将短期窗口中的项视为一个会话。对于GRU4Rec和GRU4Rec+,我们发现采用0.001的速率和50的批量大小可以获得较好的性能。这两种方法分别采用Top1损失和BPR-max损失。对于GC-SAN,我们将权重因子ω设置为0.5,将自我关注块的数量设置为4。对于Caser,我们按照作者提供的代码中的设置来设置|L|=5、|T|=3、水平滤镜数量16和垂直滤镜数量4。对于SASRec,我们将自关注块的数量设置为2,批大小设置为128,最大序列长度设置为50。对于MARank,我们按照原文将依赖项的数量设置为6,将隐藏层的数量设置为4。上述方法的网络体系结构被配置为与原始论文中描述的相同。 在验证集上调整超参数
FORMA-GNN,我们跟随CASERT中的相同设置来设置|L|=5和|T|=3。超参数在验证集上通过网格搜索进行调整。嵌入大小也设置为50。H和m值选自{5,10,15,20}。学习率和λ分别设置为0.001和0.001。批大小设置为4096。

所有方法在Recall@10和NDCG@10方面的性能比较。性能最好的方法是粗体。带下划线的数字是执行效果第二好的方法。*表示与基于配对t检验的最佳基线方法相比,p<=0.01具有统计学意义。
模型结论
关于我们模型的观察。首先,提出的模型MA-GNN在所有五个具有所有评估指标的数据集上均取得了最佳性能,这说明了我们模型的优越性。其次,MA-GNN的表现优于SASRec。尽管SASRec采用注意力模型来区分用户访问过的项目,但它忽略了两个紧密相关项目之间的常见项目共现模式,这是我们的双线性函数所捕获的。第三,MA-GNN的性能优于Caser,GC-SAN和MARank。一个主要的原因是,这三种方法仅在短期窗口或会话中对用户兴趣进行建模,而无法捕获长期项的依赖性。相反,我们有一个存储网络来产生长期的用户兴趣。第四,MA-GNN比GRU4Rec和GRU4Rec获得更好的结果。一个可能的原因是GRU4Rec和GRU4Rec是基于会话的方法,没有显式地建模用户的一般兴趣。第五,MA-GNN的表现优于BPRMF。 BPRMF仅捕获用户的普遍兴趣,而不包含用户与项目交互的顺序模式。因此,BPRMF无法捕获用户的短期利益。
其他观察。首先,MovieLens-20M,GoodReads-Children和GoodReadsComics上报告的所有结果均优于其他数据集上的结果。主要原因是其他数据集稀疏,数据稀疏性对推荐性能产生负面影响。其次,在大多数数据集上,MARank,SASRec和GC-SAN的表现均优于Caser。主要原因是这些方法可以自适应地测量项目序列中不同项目的重要性,这可能导致更个性化的用户表示学习。第三,在大多数情况下,Caser的性能要优于GRU4Rec和GRU4Rec。一个可能的原因是,Caser将用户嵌入内容明确输入到其预测层中,这使其可以学习一般的用户兴趣。第四,GRU4Rec在所有数据集上的性能均优于GRU4Rec。原因是GRU4Rec不仅捕获用户项目序列中的顺序模式,而且还具有出色的目标功能-BPR-max。第五,所有方法的性能均优于BPR。这说明了只能执行一般用户兴趣的有效建模的技术无法充分捕获用户的顺序行为。

消融实验
为了验证所提出的短期兴趣建模模块、长期兴趣建模模块和项目共现建模模块的有效性,我们在表3中进行了烧蚀研究,展示了每个模块对MA-GNN模型的贡献。在(1)中,我们只使用BPR矩阵分解,而不使用其他组件来显示建模用户普遍兴趣的性能。在(2)中,我们通过普通图神经网络(Eq.。1和2)在(1)之上。在(3)中,我们通过提出的兴趣融合模块(Eq.。3、4和5)在(2)之上。在(4)中,我们将(3)中的兴趣融合模块替换为连接短期利益和长期利益的拼接操作。在(5)中,我们用门控递归单元来代替串联运算(Cho等人。2014年)(GRU)。在(6)中,我们给出了总体MA-GNN模型,以展示项目共现建模模块的有效性。
根据表3所示的结果,我们得出以下结论。首先,通过比较(1)和(2)-(6),我们可以观察到,尽管常规的BPR矩阵分解可以捕获一般的用户兴趣,但是它不能有效地对短期用户兴趣进行建模。其次,从(1)和(2)中,我们观察到使用GNN的常规聚合函数合并短期兴趣会稍微改善模型性能。第三,在(3),(4)和(5)中,我们比较了三种桥接用户短期利益和长期利益的方法。从结果可以看出,我们提出的门控机制比串联或GRU具有更好的性能,这表明我们的门控机制可以自适应地组合这两种隐藏表示。第四,从(3)和(6)中,我们观察到通过合并项目共现模式,性能进一步提高。结果显示了显式建模用户访问过的项目以及用户将来可能与之交互的项目的同时出现模式的有效性。项目共现模式可以提供大量的补充信息,以帮助捕获用户的顺序动态。
多维注意模型的维数h和存储单元的数量m是所提出的模型中的两个重要的超参数。 我们在图3中研究了它们对CD和Comics数据集的影响。
从图3的结果中,我们观察到多维注意力和内存网络都有助于捕获长期的用户兴趣。 与Comics数据集相比,这两个组件导致CD数据集的性能有了更大的提高,表明它们可以帮助缓解数据稀疏性问题。

为了验证每个存储单元是否能够代表特定类型的用户兴趣,我们对MovieLens数据集进行了案例研究,以验证每个存储单元如何在给定不同电影的情况下工作。我们随机选择一个用户和她看的几部电影。为简单起见,我们将每个选定的项目视为一个查询,以可视化Eq4计算的注意力权重si。4.在本例中,我们将内存单元数设置为10。

从图4中,我们观察到我们的存储单元在给定不同类型的电影时执行不同,这可以说明存储网络中的每个存储单元可以代表一种类型的用户兴趣。例如,《三色》在记忆网络中的关注度相当相似,因为这三部电影大致基于法兰西共和国座右铭中的三个政治理想。《敢死队》是一部动作惊悚片,与案例研究中的任何其他电影都不同,这解释了为什么它有不同的关注度模式。这是一部动作惊悚片,它与案例研究中的任何其他电影都不同,解释了为什么它有不同的权重模式
在本文中,我们提出了一种用于顺序推荐的记忆增强图神经网络(MA-GNN)。 MAGNN应用GNN来建模商品的短期上下文信息,并利用存储网络捕获长期商品的依赖性。 除了用户兴趣建模外,我们还采用双线性函数来建模项目之间的特征相关性。 在五个实际数据集上的实验结果清楚地证明了我们的模型在许多最新方法上的性能优势,并证明了所提出模块的有效性。
