RetaGNN: 面向整体序列推荐的关系型时态注意图神经网络 WWW2021

ABSTRACT

顺序推荐(SR)是根据用户当前访问的项目为用户准确地推荐项目列表。在新用户不断进入现实世界的同时,一项关键任务是拥有感应式SR,它可以产生用户和物品的嵌入而无需重新培训。考虑到用户与项目之间的交互可能极为稀疏,另一个关键任务是拥有可转移的SR,该SR可以将来自具有丰富数据的一个域的知识转移到另一个域。在这项工作中,我们的目的是提供同时适用于常规,电感和可转移设置的整体SR。我们为整体SR提出了一个新颖的基于深度学习的模型,即关系时间关注图神经网络(RetaGNN)。 RetaGNN的主要思想是三个方面。首先,为了具有归纳和可传递的功能,我们在从用户项对中提取的局部子图上训练相关的关注GNN,其中可学习的权重矩阵位于用户,项和属性之间的各种关系上,而不是节点或边上。(所有的权重矩阵来控制用户偏好,用户的表示是通用的)第二,用户偏好的长期和短期时间模式是通过提出的顺序自我注意机制进行编码的。第三,设计了一个关系感知的正则化术语,以更好地训练RetaGNN。在MovieLens,Instagram和Book-Crossing数据集上进行的实验表明,RetaGNN在常规,归纳和可转移的设置下可以胜过最新技术。得出的注意力权重还带来了模型的可解释性。

介绍

尽管一些现有的RS方法已经能够进行归纳学习,但最新的顺序推荐模型(例如HGN [14],HAM [17]和MA-GNN [15])仍然具有传导性。 据我们所知,归纳SR的任务尚未正式探讨。 这项工作旨在发明一种有效的归纳SR模型。 另外,由于尚未考虑两个因素,我们认为可以进一步改善现有的SR模型。** 第一个是在给定序列的长短期内对高阶用户项交互进行建模。 交互图中用户多跳协作邻居的顺序演变可以揭示用户偏好如何随时间变化**。 ** 第二个是顺序项目的派生表示中的时间模式。 下一项目的采用会受到具有不同权重贡献的最新项目的影响。**

在本文中,我们提出了一种新颖的基于深度学习的模型,即关系时间注意力图神经网络(RetaGNN),用于顺序推荐。在一个具有固定的用户,项目及其交互集的特定域中,给定一系列与用户最近交互的项目,我们的主要目标是三方面的,如图1所示。第一个是常规SR:准确推荐接下来的项目。第二种是归纳SR:向未包含在现有用户集中的新用户推荐下一项。第三个是可转让的SR:为给定用户的商品序列推荐下一个商品,其中用户和商品都属于另一个域。就是说,我们的目标是要有一个整体的SR模型,该模型可以在常规,感应和可转移设置下预测下一个项目。同时处理三个SR设置具有挑战性,因为模型的可学习参数不应附加到特定节点(对于归纳)或特定数据集(对于可传递)。就是说,该模型需要捕获所见面之间共享的常识

在这里插入图片描述
为了实现上述SR目标,提出的RetaGNN具有四个主要思想。首先,RetaGNN建立在单个用户项目对的本地图模式上,其中图涉及用户,项目和属性之间的关系。我们从给定的现有顺序用户-项目交互中提取由给定的用户-项目对包围的局部子图,并学习将此类子图映射到他们的交互得分。其次,为了同时具有归纳和可转移的功能,我们提出了一个关系关注型GNN(RA-GNN)层,以在顺序上下文中对高阶用户项交互进行建模。 RA-GNN通过训练图中各种关系而不是节点(例如,GAT [22]和NGCF [27])上的可学习权重矩阵,在RetaGNN中执行消息传递和邻域聚合机制。基于这两个思想,只要我们能够获得关于给定用户项对的局部子图,无论是否看到用户,都可以应用关系权重以归纳和可转移的方式生成用户和项目嵌入设置。第三,我们提出了一个顺序自我注意(SSA)层,以根据RA-GNN生成的顺序项嵌入对时间模式进行编码。最后,我们在损失函数中设计一个关系感知的正则化项,以便可以更好地训练与RetaGNN中的关系相关的可学习参数

我们提出了一种新的关系时态注意力图神经网络(RetaGNN)模型。其主要思想是学习从给定用户-项目对的局部图到其交互得分的映射,并训练可学习的关系权重矩阵。

在这里插入图片描述

问题定义

在这里插入图片描述
item有不同的属性(attribute)

在这里插入图片描述
预测在t时间出现的item

)归纳顺序推荐(ISR):给定每个用户𝑢∈U•的较早会话𝑆𝑢1:𝑡(𝑡<𝐿),我们的目标是向每个用户recommend∈∈U◦推荐一个项目集V的项目列表 ,其中U•是可见的用户集,U◦是看不见的用户集(用户未出现在培训阶段),并且U•∩U◦=∅。 就是说,目标是要返回(看不到的)用户列表,该列表将在不久的将来与未知用户𝑢∈U◦进行交互

给新用户预测项目集

可转移顺序推荐(TSR):在源域中,鉴于每个用户𝑢∈Usrc的较早会话𝑆𝑢1:𝑡(𝑡<𝐿),我们的目标是产生一个具有可转移参数Θ的顺序推荐模型,该模型可以推荐一系列 每个用户𝑣∈Usrc的项目集Vsrc中的项目。 然后,通过使用用户集Utrg和项目集Vtrg(其中Usrc∩Utrg =∅和Vsrc∩Vtrg = where)将可转移参数Θ应用于目标域,我们可以准确地向每个用户recommend推荐项目列表(从Vtrg开始) ∈Utrg。

就是第一幅图中的三个问题

模型

我们在图2中概述了所提出的RetaGNN模型。RetaGNN由五个阶段组成。首先,我们利用一个单层前馈网络(FFN)来生成用户,项目和属性的原始嵌入。其次,我们通过在不同的时间范围内将用户及其交互项配对来为每个目标对提取长期和短期h-hop封闭子图。第三,创建一个关系关注图神经网络(RA-GNN)层,以学习用户和项目的表示形式,该表示形式对每个封闭子图中的顺序高阶用户项交互进行编码。可以在此阶段获得归纳和可转移的学习参数。第四,我们设计了一个顺序自我注意(SSA)层来对用户偏好的时间模式进行建模,并在此处更新项目嵌入。最后,通过利用要预测的项目的原始嵌入以及顺序的项目嵌入,预测层将生成计分结果。

4.1 Primitive Embedding Layer

我们首先考虑随机初始化所有用户,项目和属性值的表示向量。 原因是归纳和可转移的学习。 节点上随机初始化的“固定大小”向量使我们可以在同一组学习的模型权重下更新新出现的未见节点(对于归纳)和交叉数据节点(对于可转移)的嵌入。 原因是我们在构造的图中学习了方向边缘关系的模型权重,而该权重与节点和数据集无关。 因此,RetaGNN可以将新出现的交叉数据节点的随机初始化向量投影到相同的嵌入空间中,以实现归纳和可转移的效果

通过将随机初始向量馈送到嵌入层(即一隐藏层前馈网络(FFN)),我们可以为每个用户,商品和属性值生成低维实值密集向量。我们称这类密集向量为原始嵌入。设嵌入为X∈R𝑞×𝑑,其中𝑑为嵌入维,𝑞为训练数据中用户,项目和属性值的数量之和。给定特定用户a的会话S𝑢1:𝑡,其对应的嵌入矩阵可以表示为:XS𝑢1:𝑡= [x1···x𝑗··x𝑡],其中XS𝑢1:𝑡∈R𝑡 ×𝑑和x𝑗∈R𝑑是S𝑢1:𝑡中第item个项的原始嵌入,并且可以从原始嵌入矩阵X中检索。注意,这里我们不使用固定长度的一键编码。初始化向量。原因是对于新用户和跨域用户,一键编码无法扩展

4.2 User-Item-Attribute Tripartite Graph

我们构造一个全局三方图H来表示用户,项目和项目属性之间的关系。 令三方图为H =(N,E),其中节点集N是用户集U,项目集V和属性值集A的并集,即N = U∪V∪A。边集E = EUV∪EVA,其中EUV和E VA
是分别将用户与项目连接以及将项目与其属性值连接的边集。 换句话说,相同类型节点之间没有边缘,用户和项目属性值之间也没有边缘。 三方图的一个玩具示例在图3(a)中给出。 注意,三方图H是根据不同的训练课程(即以下小节中描述的长期和短期训练)构建的。
在这里插入图片描述
三重图的目的是三方面的。首先,通过用户-项目交互的路径可以反映出协同过滤的效果[5,12,27]。例如在图3(c)中,要确定是否向用户𝑢1推荐项目𝑣2,路径(𝑢1,,3,𝑢2,𝑣2)可以反映用户𝑢1和𝑢2基于项目𝑢3具有相似的品味,我们可以推荐项目𝑣2到𝑢1,因为𝑢3也喜欢𝑣2。其次,通过项目-属性交互的路径可以描述项目之间的相关性,这在某种程度上可以带来基于内容的过滤的效果。例如在图3(c)中,两条路径(𝑢1,,1,,2,𝑣2)和(𝑢1,,3,𝑎2,𝑣2)都暗示我们可以推荐𝑣2到𝑢1,因为项𝑣2与项𝑣1和share2共享相同的属性𝑎2。 𝑣3,𝑢1对此很喜欢。第三,通过三方图,我们的模型被允许具有归纳和转移学习的能力,即与新用户打交道,可以将他们放入图中,以便我们获得相关的路径以将他们与现有用户联系起来。

三方图中有三种类型的节点。 为了将更多的语义编码为描述用户和项目之间关系的路径,我们认为从一种节点类型到另一种节点类型的边可能具有不同的含义。 从用户𝑢𝑖到项目𝑣𝑗的边缘,从𝑣𝑗到𝑢𝑖,从𝑣𝑗到属性𝑎𝑘,以及从𝑎𝑘到𝑣𝑗的边缘表示:𝑢𝑖喜欢𝑣𝑗,𝑣𝑗被𝑢𝑖采用,𝑣𝑗具有属性𝑎𝑘,𝑎𝑘被拥有 𝑣𝑗。 因此,我们将它们视为四个不同的关系。 令R表示关系集,并且 R =4
我们定义了一个映射函数𝑅(𝑛𝑖,𝑛𝑗),它可以将两个节点𝑛𝑖,𝑛𝑗∈N映射到它们对应的关系𝑟∈R中。

4.3 Extracting Enclosing Subgraphs

我们首先通过将用户𝑢与会话S𝑢 a:𝑏中的每个交互项pair配对来准备一组肯定的用户项对。给定一个用户𝑢和一个项目𝑣,即目标对(𝑢,𝑣),以及从所有会话S𝑢a:𝑏(a<𝑏)u∈U构造的三方图H𝑎:𝑏,我们扩展了IGMC的子图建模[39]从三方图H𝑎:𝑏提取一个封闭的子图Hℎ a:𝑏[𝑢,𝑣],其中1≤𝑎<𝑏≤𝑡。为了描述用户,项目和属性之间的高级关系,我们利用跳数ℎ确定提取的封闭子图的大小。我们将研究h对实验性能的影响。较高的ℎ值使我们可以描述更高阶的用户-项目-属性关系,但同时也带来了更高的计算复杂性。算法1提出了呼吸优先搜索(BFS)策略,该策略以三方图H𝑎:𝑏中用户𝑢和项𝑣的目标对为中心,以提取ℎ跳封闭子图。每个提取的子图Hℎ𝑎:𝑏[𝑢,𝑣]用于训练GNN模型,并生成用户和项的表示,以预测用户next的下一个顺序项。

4.4 Relational Attentive GNN Layer

为了学习提取的子图中每个用户和项目节点的特征表示,我们设计了关系关注图神经网络(RA-GNN)。 输入是一个封闭的子图,输出是每个节点的嵌入。** RA-GNN由两部分组成。 一种是关系关注机制,另一种是节点之间传递的消息**。 在关系注意机制中,我们认为不同的关系对其子图中的事件节点有不同的贡献。学习关于不同用户的关系的关注权重需要共同对用户偏好和项目相关性进行建模。 例如,对于特定用户,其喜好可以由与她具有相同品味的其他用户共同反映,也可以由具有与她现有的交互属性相同的属性值以及不同权重的项目共同反映。 另外,两个项目可以在具有不同权重的共同交互用户或共同属性方面相互关联。 在消息传递中,我们旨在使用与其他项目,用户和属性值相关的高阶路径来描绘每个用户和项目,如图3(c)所示。 简而言之,提出的RA-GNN将学习丰富的路径模式,在关系上具有不同的关注权重,以表示每个提取的子图中的每个用户和每个项目。

设从原始嵌入矩阵X获得的每个节点的初始向量vi∈G为x 0𝑖∈R where,其中G =Hℎ𝑎:𝑏[𝑢,𝑣]是一个封闭的子图,𝑑是RA-GNN的维 嵌入向量。 还令Γ𝑟(𝑣𝑖)通过图G中的关系(即有向边沿类型)𝑟∈R为节点𝑣𝑖的入射邻居的集合。要使节点vi 在第(l+ 1)层具有更新的嵌入,用 从x𝑙x x 1𝑖,设计了一种两步法。 第一步是关系关注机制,通过关系关注权重𝑖𝑗W𝑙聚合所有𝑣𝑖的邻居emb的嵌入。 第二步是将其与x combined组合。 这两个步骤可以用以下等式表示
在这里插入图片描述
(邻居与自己结合)

其中W𝑙∈R 1×𝑑和W𝑙∈R 1×𝑑是学习参数的矩阵,x,是节点𝑣𝑖在layer层的嵌入矢量。 关系𝑟∈R是节点𝑣𝑖和𝑣𝑖之间的四个关系之一。 节点𝑣𝑖和𝑖𝑗之间的注意力权重𝛼可以通过以下方式获得:首先通过W𝑙和W𝑙变换它们对应的嵌入,将它们级联,通过权重向量a进行另一次变换,传递非线性激活函数,最后进行归一化 通过softmax函数。 注意的产生
重量𝛼
𝑙
由下式给出:
在这里插入图片描述
其中𝜌表示LeakyReLU函数,a∈R 1×𝑑,⊕是级联算子

W𝑙和W𝑙的设计旨在在两个等式中将更新节点与其相邻节点区分开。 1和等式 2.W𝑙的变换还具有区分具有不同关系neighbor的邻居的作用,因此可以突出显示各种子图模式以描述各种用户偏好和项目相关性。 方程式 2产生注意力权重的与层有关。 不同层𝑙的权重矩阵W𝑙和W导致𝑙和𝑖𝑗之间的注意权重different different有所不同。 这种注意机制的设计可以学习远离更新节点的不同跃点的贡献(即图神经网络的不同层)。 我们认为具有依赖于层的关系注意力权重很重要,因为每个封闭的子图都是具有四个关系的三方关系。

综上所述,借助分层注意权重𝑖𝑗𝛼𝑙和不同层的区分权重矩阵W𝑜𝑜和W𝑙𝑟,我们可以学习涉及用户,项目和属性之间不同关系的各种丰富的子图模式。 关系注意力图神经网络最终可以生成有效的用户和项目表示形式,该形式通过其高阶关系对用户的喜好和项目相关性进行编码,以进行顺序推荐。 为了简化和后续使用,我们将用户,项目和属性的RA-GNN派生的嵌入矩阵分别表示为U,V和A。
最终,我们可以具有一个映射函数𝑅𝐴𝐺(·)来表示RA-GNN嵌入生成,由下式给出:H =𝑅𝐴𝐺(G),其中G是RA-GNN的输入图,H是输出矩阵 节点表示形式。 给定所提取的封闭子图Hℎ𝑎:𝑏[𝑢,𝑣],我们可以生成相应的节点嵌入矩阵H¯= {U,V,A}。 我们还表示会话S𝑢:𝑏的顺序项嵌入矩阵V𝑢𝑢:𝑏=(v𝑎,v𝑎1,…,v𝑏),其中v𝑎,v𝑎1,…,v𝑏∈V.

4.5 Sequential Self-Attention

在这里插入图片描述

4.6 Final Embedding Generation

我们旨在生成最终用户和用户𝑢以及每个项目𝑣∈S𝑢𝑎:𝑏的最终嵌入,分别用u〜和v〜表示,然后相应地执行顺序推荐。 尽管所提出的关系注意力GNN和顺序自我注意足以产生最终的嵌入,但我们希望这些嵌入以更细粒度的方式对顺序用户偏好和项目相关性进行编码。 因此,我们将每个会话按顺序划分为𝜋个子会话,S𝑢𝑎:𝑏= {S𝑢𝑎:𝑎-1,S𝑢𝜏:𝑎2𝜏−1,…,S𝑢(𝜋-1)𝜏 :𝑏},其中𝜏 =(𝑎−𝑏 1)。 我们将完整会话S𝑢𝑎:𝑏称为长期项目序列,将每个子会话S𝑢𝑗(𝑗-1)𝜏:𝑎𝑗𝜏-1(𝑗∈{1,…,𝜋})称为短项序列。 术语项序列,为简单起见用𝑠表示。 较小的𝜏值会导致更精细的短期序列。 我们将讨论𝜏如何影响实验的性能
我们将长期和短期顺序信息S,:𝑏和𝑠into都考虑到最终用户和商品嵌入的生成中。 具体来说,对于每个用户𝑢和项目𝑣,我们可以通过以下方式生成其相应的长期和短期用户和项目嵌入:
在这里插入图片描述
其中[𝐿]和[𝑆]分别表示长期和短期表示,[𝑢]和[𝑣]分别用于检索用户和项目部分,而函数𝑅𝐴𝐺和𝑆𝑆𝐴则表示关系关注的GNN和顺序 自我注意。 在这里,我们允许为长期和短期RA-GNN分别设置不同的层数,分别表示为𝐿𝑙𝑜和𝐿𝑠ℎ。 我们将在实验中讨论𝐿𝑙𝑜和𝐿𝑠ℎ。 最后,我们利用级联运算符⊕组合所有派生的嵌入,并执行一个单层前馈网络(𝐹)来生成最终的用户和项目嵌入u和v,如下所示:
在这里插入图片描述

4.7 Prediction & Model Training

下一项的预测由两部分组成。 首先,我们采用传统的矩阵分解[6]来捕获全球用户对商品的兴趣。 为了矩阵分解,我们在从RA-GNN获得的用户嵌入与原始项目嵌入(即u〜和x𝑣)之间执行点积。 其次,我们在预测中并入现有顺序项目和目标项目之间的相关性。 这里使用联合的长期和短期顺序项嵌入v。 给定用户𝑏创建的会话S𝑢𝑢:𝑏,可以通过以下方式生成目标项目𝑣上的相应预测分数::
在这里插入图片描述

其中x𝑣∈X是项the的原始嵌入。 我们期望用户𝑣采用的真实项目𝑢可以导致更高的得分𝑦ˆ𝑢𝑣。

总体损失函数包括两个主要部分。 一个是顺序推荐(SR)中用户项目预测的损失,另一个是关系感知正则化(RAR)。 我们通过贝叶斯个性化排名(BPR)目标[18](即,正项和非交互项之间的成对排名)来优化SR部分。 我们通过鼓励沿RA-GNN的各层(从第to到第𝑙1层)由相同关系连接的用户,项和属性的那些嵌入彼此相似来优化RAR部分。 损失函数如下:
在这里插入图片描述
其中S𝑢𝑏:𝑏表示用户a的会话,𝑣’是非交互项(即,否定样本),D是整个训练集,L是RA-GNN层的数量,Θ包含所有可学习的 神经网络中的参数。𝜆是RAR项上的加权超参数,𝜂是用于一般参数正则化的权重,∥·∥2𝐹表示矩阵的Frobenius范数。 RAR项将限制具有相同关系的相邻RA-GNN层的参数矩阵差异太大。 也就是说,这种正则化不仅可以保留RA-GNN训练期间的关系知识,而且还可以帮助优化将各种关系彼此区分开。 我们将在实验中讨论𝜆对RAR项的影响。 我们利用adam[10]在学习过程中自适应地调整学习率。