性能超越最新序列推荐模型,华为诺亚方舟提出记忆加强的图神经网络


做者 | Chen Ma, Liheng Ma等php

译者 | Rachelc++

出品 | AI科技大本营(ID:rgznai100)程序员

       

用户-商品交互的时间顺序能够揭示出推荐系统中用户行为随时间演进的序列性特征。用户与之交互的商品可能受到用户曾经接触的商品的影响。可是,用户和商品数量的大量增长,使得序列推荐系统仍然面临不少重要问题:(1)对短时用户兴趣建模的困难;(2)捕捉用户长期兴趣的困难;(3)对商品共现模式的建模效率较低。为了应对这些挑战,本文提出了一个记忆加强的图神经网络(memory augmented graph neural network, MA-GNN),以捕捉用户的长期和短时间兴趣。算法

特别地,本文使用图神经网络对短时间的商品语境信息建模,并使用共享的记忆网络来捕捉商品之间的长期依赖。另外,本文使用双线性函数以捕捉相关商品的共现模式。在模型评估上,本文在五个真实场景的数据集上进行了评测,并使用一系列评估指标和多个当前效果最优的模型进行了对比。试验结果显示,本文模型在Top-K序列推荐中效果极佳。数据库

 

介绍
网络

随着网络服务和移动设备的快速增长,个性化推荐系统在现代社会中正扮演着愈来愈重要的角色。个性化推荐系统可以下降信息负载、知足多种服务需求,并至少在如下两方面起到极大助力:(i)帮助用户发现上百万候选产品中的合适商品;(ii)为产品提供商创造增加营业额的机会。session

 

在网络中,用户以线性顺序访问商品。用户在将来查看的商品可能收到历史浏览记录的影响,这创造了一个具备操做性的应用场景——序列推荐。在序列推荐任务中,除了和通用推荐系统同样须要捕捉用户的总体兴趣以外,咱们认为还有另外三个重要因素须要考虑:用户短时间兴趣,用户长期兴趣商品共现模式。用户短时间兴趣描述了用户在短时间内访问商品的偏好。用户长期兴趣捕捉用户以前访问的和将来将访问的商品之间的长期以来。商品共现模式则对相关商品的共现规律进行阐释。框架

 

尽管目前已有不少序列推荐模型,但咱们认为已有模型尚不能完整捕捉前文提到的三个因素。首先,Caser, MARank, Fossil等人仅对用户短时间兴趣进行了建模,忽略了商品的长期依赖关系。第二, SARSRec等相似模型没有对用户短时间兴趣进行有效的建模,使得模型难以理解用户在短时间内的兴趣变化。第三,GC-SAN,GRU4Rec++等相似模型未能明确捕捉商品序列中的商品共现规律。因为相关商品常常共同出现,推荐模型应当对此因素加以考量。ide

 

为将上述三个因素加入序列推荐模型,本文提出了一个记忆加强的图神经网络(MA-GNN)。该模型包括一个总体兴趣模块,一个短时间兴趣模块,一个长期兴趣模块,以及一个商品共现模块。在总体兴趣模块中,咱们使用矩阵分解对用户总体兴趣建模,该模块不包含商品对序列变化信息。在短时兴趣模块中,咱们使用一个GNN结构加入商品的邻接关系信息,以构成用户的短时间兴趣。函数

这一结构可以捕捉较短时期的情境信息和结构。为了对用户的长期兴趣建模,我用使用一个键值记忆网络(key-value memory network)以基于用户的长期商品序列造成对用户兴趣的表征。经过该方法,在推荐一个商品时,其余具备类似偏好的用户也会成为影响因素。为了综合用户的长期和短时间兴趣,咱们在GNN框架中引入了门机制,和LSTM网络中的门机制相似。这一机制对长时和短时兴趣在模型中的贡献度进行控制。在商品共现模块中,咱们使用了一个双线性函数以捕捉商品序列中高度相关的商品。咱们在五个真实世界的数据集上对模型进行了评估,并使用一系列评估指标,和多个当前最早进的模型进行了对比。试验结果显示了本文模型相较于其余模型在推荐效果上的提高,并展现了上述模块的有效性。

 

整体而言,本文的主要共现为:

  • 为了对用户短时间和长期兴趣建模,提出一个记忆加强的图神经网络,以捕捉短时间情境信息和长期依赖;

  • 为了高校融合短时间和长期兴趣信息,提出了GNN框架中的门机制;

  • 为对商品共现模式进行建模,使用双线性函数来捕捉商品之间的特征关联;

  • 在五个真实世界数据集上进行评估试验,结果显示MA-GNN的效果显著因为已有的序列推荐模型。

 

相关工做

总体推荐

早期的推荐模型主要研究显性反馈,近期研究则逐渐转向隐性数据。使用隐性反馈的协同过滤(collaborative filtering, CF)每每被认为是一个Top-K推荐认为,该任务的目标即为用户推荐一个可能感兴趣的商品列表。这一任务更具备实际性和挑战性,且更适合真实世界的推荐场景。早期的相关工做主要使用矩阵分解技术学习用户和商品的隐性特征,基于神经网络的方法也常常被采用。

序列推荐

序列推荐模型将商品序列做为输入信息。一个经典方法是使用马尔可夫链对数据建模。FPMC, TransREC都属于此类方法。近期,受天然语言处理中序列学习的启发,学者们提出了基于(深度)神经网络的方法,包括基于卷积神经网络(CNN)、基于循环神经网络(RNN)等。注意力机制、记忆网络也在序列推荐模型中获得应用。

 

本文和已有模型的不一样之处在于,模型使用记忆加强的图神经网络以捕捉长期和短时间兴趣。另外,本文加入了一个商品共现模块,以对高度相关的商品建模。

 

问题定义

本文考量的推荐任务将序列的隐性反馈做为训练数据。用户兴趣经过一个用户-商品的线性序列进行表征,公式以下:

             

M个用户的用户偏好即:

             

对于M个用户,问题便可定义为从N个商品中为每一个用户推荐一个长度为K的商品列表,并评估下述偏好中的商品是否出如今推荐列表中:

             

 

方法

本部分对MA-GNN模型进行了介绍,该部分介绍了四个对用户偏好和意图进行学习有所影响对因素,以及该模型了预测和训练步骤。

 

             

图1:MA-GNN模型结构

总体兴趣建模

模型假定用户的总体兴趣相对于时间保持稳定。模型使用矩阵分解以捕捉总体兴趣,且不考虑商品的序列动态变化。使用Pu表明用户u的嵌入表示,Qj表示商品j的输出嵌入,d表示隐空间的维度,矩阵分解公式以下:

              

短时兴趣建模

用户短时间兴趣基于用户近期浏览的多个商品。咱们使用滑动窗口策略,将商品序列分割为细粒度子序列。以后,咱们使用近期子序列预测下一个浏览的商品,并忽略影响较小的无关商品。对于每个用户u,抽取每 |L| 个连续商品做为输入,以后的 |T| 个商品为预测目标,则用户u的长度为l的子序列即:

             

则问题可定义为,在用户-商品互动序列              中,给定一个具备 |L| 个连续商品的序列,有多大可能为该用户推荐 |T| 序列商品。因为GNN可以聚合邻接信息并学习本地结构,该模型较适用于学习用户短时间兴趣。

 

商品图构建

因为商品序列不自然适用于GNN,须要构建图结构以捕捉商品之间的关系。对序列中的每一个商品,抽取多个商品子序列(本文选取子序列长度为3),并在其之间添加边。咱们对每一用户记性呢此操做,并计算全部用户被抽取商品对的边数量。以后,咱们对邻接矩阵进行列归一,便可获得序列中关系更近的商品。图2展现了抽取商品邻接对并构建邻接矩阵的方法。

             

图2:商品邻接矩阵构建示例

 

短时兴趣聚合

为捕捉用户短时间兴趣,咱们使用一个两层GNN以聚合邻接商品,并学习用户短时间兴趣表征。对于在长度为l的窗口中的商品j,其输入嵌入为ej,用户短时间兴趣可表示以下:

             

基于用户短时间兴趣信息,便可预测用户将浏览的下一个商品。

 

可是,近使用上一公式预测,未能考虑到用户过去的长期兴趣:

             

而对于序列推荐模型而言,如何对长期商品依赖关系建模,并平衡长期和短时间信息的关系,是很是重要的问题。

长时兴趣建模

咱们可使用外部记忆单元存储随时间变化的用户兴趣。这一方法的问题在于,维护每一用户的记忆单元会占据大量的存储空间。另外,记忆单元可能捕捉和用户嵌入很是类似的信息。所以,本文使用记忆网络存储全部用户共享的隐兴趣表征,其中每一记忆单元表示一个特定类型的隐用户兴趣。对于一个用户在过去浏览的商品Hu,l,能够学习到一个多类型兴趣的组合,以反映用户在Lu,l以前的长期兴趣。

 

本文使用了多维度注意力模型以生成查询的嵌入表示。Hu,l中的商品嵌入表示为:

             

则生成查询嵌入Zu,l的多维度注意力计算公式以下:

             

对于查询嵌入Zu,l,咱们使用下述查询在记忆网络中寻找合适的共享用户隐兴趣的组合。通常地,记忆网络中的键和值分别表示为K和V,则用户长期兴趣嵌入可表示为:

              

兴趣聚合

下一步即在GNN框架中对用户的长期和短时间兴趣进行组合,以生成用户兴趣预测。咱们借鉴LSTM中的门机制平衡两类信息,公式以下:

              

商品共现建模

对于推荐系统而言,学习商品间关系是最关键的步骤之一。在序列推荐问题中,关系紧密的商品会在商品序列中接连出现。为捕捉商品共现规律,咱们使用双线性函数以显性表示Lu,l序列中的商品,函数以下:

              

预测和训练

为了推测用户偏好,咱们使用了一个预测层以结合前述全部因素:

             

因为训练数据从用户隐性反馈中产生,咱们经过梯度降低,使用贝叶斯个性化排序算法对模型进行优化,该优化同时对积极(可观测)和消息(不可观测)的商品的对偶排序进行优化:

       

评估

本部分介绍了评估实验的设置和结果。

数据集

咱们在五个真实世界数据集上对模型的效果进行了评估:MovieLens-20M, Amazon-Books and Amazon-CDs, Goodreads-Children and Goodreads-Comics。咱们保留评分不低于4星的商品做为积极输入,其余做为缺失输入。为过滤噪音信息,仅保留评分多于10个的用户和商品。预处理后数据集状况表1。

 

表1:数据集统计数据

评估指标

咱们使用Recall@KNDCG@K对全部模型进行了评估。

用于比较的推荐方法

咱们比较了下述全部模型的表现:(1)BPRMF; (2) GRU4Rec; (3)GRU4Rec+; (4)GC-SAN; (5)Caser; (6)SASRec; (7)MARank; (8)MA-GNN。

实验设置

试验中,全部模型的隐维度均设定为50。对基于短序列的(session-based)方法,设定一个短时窗口中的商品做为一个序列。模型超参数依据验证集基于原论文设置进行微调。对于MA-GNN,设置 |L| = 5, |T| = 3。

性能比较

表2:全部方法的性能比较。其中,标下划线的是同任务中表现最佳的模型。    

消融实验

表3:消融分析。S 表明短时间兴趣模块,H 表明长期兴趣模块,concat表明串接操做。    

超参数的影响

多维度注意力模型的维度h和记忆单元数量m是本文模型中两个最重要的超参数。其对模型的影响见图3。

            图3:h和m的变化

记忆可视化

为验证每一记忆单元是否能够表示一个特定类型的用户兴趣,咱们在MovieLens数据集上进行了一个案例研究。记忆网络的注意力可视化状况如图4。

     

图4:记忆网络注意力可视化

结论

本文对于序列推荐任务,提出了记忆加强的图神经网络(MA-GNN)。该模型使用GNN对商品对短时间情境信息建模,并使用记忆网络捕捉长期商品依赖关系。除用户兴趣建模以外,咱们还使用双显性函数对商品对特征关联进行了建模。在五个真实世界数据集上的实验结果显示,MA-GNN的性能超越了已有的许多最新的序列推荐模型。

论文连接:

https://arxiv.org/pdf/1912.11730

推荐阅读
你点的每一个“在看”,我都认真当成了AI