论文阅读《Graph Contextualized Self-Attention Network for Session-based Recommendation》

论文地址:https://www.ijcai.org/Proceedings/2019/0547.pdf

Graph Contextualized Self-Attention Network for Session-based Recommendation

1.引言

在电子商务、音乐、社交媒体等许多应用领域,推荐系统在帮助用户缓解信息过载和选择感兴趣内容方面发挥着重要作用。现有的大部分推荐系统都是基于用户历史的互动。但是,在许多应用程序场景中,用户标识可能是未知的,并且在正在进行的会话中只有用户历史操作。为了解决这一问题,提出了基于会话的推荐,根据用户在当前会话中先前行为的顺序来预测用户可能采取的下一步操作(例如:点击某个项目)

基于会话的推荐方法具有很高的实用价值提议。马尔科夫Chain(MC)是一个典型的例子,它假设下一个动作是基于之前的动作[Rendleet al.,2010]。在这样一个强有力的假设下,过去互动的不恰当组合可能会限制推荐的准确性。最近的研究强调了使用基于递归神经网络(RNN)插入的推荐系统的重要性,并取得了令人鼓舞的结果[Zhao等人,2019]。例如,Hidasi等人[Hidasi et al.,2016]提出用GRU(RNN的一种变体)对短期偏好进行建模,然后提出了一个改进版本[Tanet al.,2016],以进一步提高其推荐性能。最近,NARM【Liet al.,2017】被设计为通过使用全球和本地RNN同时捕获用户的序列模式和主要用途。然而,现有的方法通常对连续项目之间的单向转换进行建模,而忽略了整个会话中复杂的转换序列。

最近,一种新的序列模型Transformer[Vaswaniet al.,2017]在各种翻译任务中取得了最先进的性能和效率。Transformer采用了一种由多层自关注网络组成的编码器-译码器结构来绘制输入和输出之间的全局依赖关系,而不是使用递归或卷积。自我注意作为一种特殊的注意机制,已被广泛应用于序列数据的建模,并在许多应用中取得了显著的结果,如:机器翻译[Vaswaniet al.,2017]、情绪分析[Linet al.,2017]和顺序推荐[Kang and McAuley,2018;Zhou et al.,2018]。变换器模型的成功归功于它的自注意网络,它用加权平均运算充分考虑了所有信号。尽管取得了成功,但这种操作分散了注意力的分布,导致对相邻项目缺乏本地依赖性,并限制了其学习项目情境化表示的能力[Li uet al.,2019]。而邻接项的局部上下文信息表明,它可以增强神经表征之间的依赖性建模能力,尤其是对于注意模型[Yang等人,2018;Liu等人,2019年]。

在这项工作中,我们提出用图神经网络(GNN)来加强自我注意网络。一方面,自我关注的力量是通过明确关注所有的位置来捕捉长距离依赖关系。另一方面,GNN能够通过编码边缘或节点属性特征来提供丰富的局部文本信息[Battaglia et al.,2018],具体来说,我们引入了CEA图上下文自我注意网络GC-SAN,用于基于会话的推荐,这得益于GNN和自我注意的综合优势。我们首先从所有历史会话序列构造一个有向图。基于会话图,GC-SAN能够捕捉到相邻项的转换,并为图中涉及的所有节点生成最新向量相应的。那么我们将自我注意机制应用于长程依赖模型中,而不考虑距离,其中sessionembedding向量由图中所有节点的潜在向量组成。最后,我们使用用户在该会话中的全局兴趣和局部兴趣的线性加权和作为嵌入向量来预测下一个项目被点击的概率。

为了改进会话序列的表示,提出了一种基于图神经网络的图上下文自我注意模型。

GC-SAN利用了自注意网络和图神经网络的互补性,提高了推荐性能,我们设计了多层自我注意网络,以获得情境化的非局部表征。

实验结果表明GC-SAN的有效性和优越性

2.相关工作

基于会话的推荐是基于隐式反馈的推荐系统的一个典型应用,用户的身份是未知的,没有明确的偏好(例如:评级),只提供积极的观察结果(例如:购买或点击)[Sheet al.,2016]。这些积极的观察通常是通过被动地跟踪用户在一段时间内的记录而获得的连续数据的形式。在这种情况下,传统的CF方法(例如:矩阵分解)会崩溃,因为无法从匿名历史交互中构造用户配置文件。这个问题的一个自然解决方案是item-to-item的推荐方案[Sheet al.,2018]。在基于会话的设置中,使用简单项目共现(频率)模式为可用会话数据预先计算项目间相似性矩阵【Bonnin和Jannach,2015年】。

Sarwar等人[Sarwaret al.,2001]分析了不同的基于项目的推荐生成技术,并将其结果与基本的k最近邻方法进行了比较。此外,为了对两个相邻动作之间的顺序关系进行建模,Rendleet等人[Rendleet al.,2010]建议将M-F和Markov链(MC)的能力结合起来用于下一个篮子推荐。尽管这些方法被证明是有效和广泛使用的,它们只考虑到最近的会话点击,忽略全局信息序列。最近研究者将神经网络和基于注意力的模型应用于基于会话的推荐系统。例如,Hidasi等人[Hidasi et al.,2016]率先探索了选通递归单元(GRU)作为RNN的一种特殊形式,用于预测一个会话中的下一个操作,后来提出了一个改进的版本[Tanet al.,2016],以提高其推荐性能更进一步。现在, 图神经网络(GNN)被提出来学习图结构数据的表示[Scarselliet al.,2009;Wang et al.,2019]以RNN的形式被广泛应用于不同的任务,例如图像分类[Marinoet al.,2017]、脚本事件预测[Liet al.,2018]和推荐系统[Wue et al.,2018]另一方面,在自然语言处理和计算机视觉等各种应用中引入了几种基于注意力的机制。标准的vanil-la注意力机制已纳入推荐系统[Liet al.,2017;Liu et al.,2018]。最近,Vaswani et al.【Vaswaniet al.,2017】提出了完全基于自我注意的单词之间的依赖关系建模,而没有任何重复或卷积,在机器翻译任务上取得了最先进的性能。基于简单并行的自我注意机制,Kang等人[Kang and McAuley,2018]提出了一种基于自我注意的序列模型,该模型优于基于MC/RNN/RNN的序列推荐方法。黄等【Huang等人】。,2018]提出了一个统一的特征级文本自我注意网络,以捕捉序列rec中异构用户行为的多样性-建议。大多数现有的序列推荐模型利用自我注意机制捕捉序列中的远程项目项转换,并实现了最先进的表演。然而,在相邻项目之间建立复杂的上下文信息仍然是一个挑战。本文通过图神经网络对自我注意网络进行了增强,同时保持了模型的简单性和灵活性。据我们所知,这是第一次尝试在基于会话的推荐中补充SAN和GNN,前者可以对会话的全局项信息进行建模,后者可以通过编码构造图的属性特征来学习局部上下文信息.

3.图上下文自注意力网络

在这一部分,我们介绍了所提出的基于图神经网络的情境化自我注意推荐模型。我们首先提出了基于会话的推荐问题,然后详细描述了模型的体系结构(如图1所示)。

图1:提出的模型的总体架构。我们首先构造所有会话序列的有向图。在该图的基础上,利用图神经网络得到会话图中涉及的所有节点向量。之后,我们使用多层自我注意网络来捕捉会话中项目之间的长期依赖关系。在预测层中,我们将每个会话表示为全局偏好和该会话的当前兴趣的线性关系。最后,我们计算出每个候选项的排名得分。

3.1问题阐述

。。。。。。

3.2动态图的构建

图构建。GNN的第一部分是从所有会话中生成一个结构有意义的图。给定一个sessionS,我们将每个item si看作一个节点和边。因此,每个会话序列可以建模为一个有向图。通过促进不同node之间的通信来更新图的结构。MI;MO分别表示疏散图中出线边和入线边的权重连接。例如,考虑session =fs1;s3;s2;s4;s3g,对应的图和矩阵如图2所示。

由于多个项目可能会重复出现在会话序列中,我们用规范化权重为每条边签名,该权重由边的出现次数除以该边的开始节点的出入度来计算。注意,我们的模型可以支持构建会话图和生成相关连接矩阵的多种策略。然后将二邻连接矩阵与图神经网络相结合,获取会话序列的局部信息。节点向量更新。接下来,我们介绍了如何利用图神经网络获取节点的潜在特征向量。

节点向量更新。接下来,我们介绍了如何利用图神经网络获取节点的潜在特征向量。首先将每个itemv2v转换为一个统一的低维潜在空间和itemv的节点vectors2rddenotesad维实值潜在向量。对于图会话中的每一个st,由关系矩阵给出,不同节点之间的信息传播可以形式化为

GNN层的计算:

3.3self-attention

自我注意是注意机制的一个特例,已成功应用于包括NLP在内的许多研究课题[Vaswaniet al., 2017]和QA[Liet al., 2019]。自注意机制可以在输入和输出之间绘制全局依赖关系,并在整个输入和输出序列中捕获项-项转换,而不考虑它们的距离。

Self-Attention层。将一个会话序列输入图神经网络后,我们可以得到会话图中所有涉及节点的潜在矢量,i:e:;H=[h1;h2;:::;hn]。接下来,我们将它们输入到self-attentionlayer以更好地捕获全局会话首选项。

逐点前馈网络。在此基础上,我们应用两个线性变换与一个ReLU激活函数赋予模型非线性,并考虑不同潜维间的相互作用。然而,在自我注意操作中可能会发生透射损失。因此,我们在前馈网络之后添加了剩余连接,这使得模型更容易利用受启发的低层信息[Vaswaniet al., 2017]

逐点前馈网络。在此基础上,我们应用两个线性变换与一个ReLU激活函数赋予模型非线性,并考虑不同潜维间的相互作用。然而,在自我注意操作中可能会发生透射损失。因此,我们在前馈网络之后添加了剩余连接,这使得模型更容易利用受启发的低层信息[Vaswaniet al., 2017]

多层Self-Attention。最近的研究表明,不同的层捕获不同类型的特征。在这项工作中,我们研究哪些层次从特征建模中获益最多,以学习更复杂的项目转换。1-st层定义为E(1)=E。第k(k >1)自我注意层定义为:E(k)=SAN(E(k)

3.4预测层

·通过几个自注意块自适应地提取会话的信息,我们得到了长期的自注意表征(k)。为了更好地预测用户的下一次点击,我们将会话的长期偏好和当前兴趣结合起来,然后使用这种组合嵌入作为会话表示。对会话序列,我们将E(k)最后一个维度作为全局嵌入(Kang and McAuley,2018)。局部嵌入可以简单地定义为最后一个点击的向量。然后我们把它们放在一起作为最后的嵌入

4.实验

在本节中,我们首先设置实验。RQ1:所提出的图是否情境化了基于自我注意会话的推荐模型(GC-SAN)的艺术表现?关键的超参数是如何影响模型的性能的,比如权重因子和嵌入尺寸?

   

图神经网络的影响。虽然我们可以从表1中隐式地验证graph neural network的有效性,但我们想验证graph neural network在GC-SAN中的贡献。我们从GC-SAN中移除图形神经网络模块,代之以随机分层的嵌入项,并将其输入自注意层。表3显示了使用和不使用gnn时的比较。从表1和表3中,我们发现,即使没有gnn, GC-SAN在Retailrock-t数据集上仍优于STAMP,而在Diginetica dataset上则被GRU4Rec击败。事实上,Retailrock-et数据集的最大会话长度几乎是Diginetica数据集的四倍。一个可能的原因是,较短的序列长度可以构建更密集的会话图,提供更丰富的上下文信息,而自我注意机制在较长的序列长度下执行得更好。这进一步说明了自注意机制和图神经网络在提高推荐性能方面的重要作用。

影响权重因素。权重参数控制自我注意表示和最低点击动作的贡献。从图3(a)可以看出,只考虑全局的自我注意依赖(!= 1:0),因为最终的会话嵌入通常比只考虑当前兴趣(!= 0),设置!值从0.4到0.8是比较理想的。这表明,虽然使用图形神经网络的自我注意机制可以自适应地分配权重来关注长期依赖或更近期的行为,但短期兴趣对于提高推荐性能也是不可缺少的。

自注意力数量的影响。如前所述,我们调查了哪一种自我关注层次从GC-SAN中获益最多。图3(b)显示了应用k为1 ~ 6的不同self-attention块的实验结果。在这两个数据集中,我们可以观察到增加k可以提高GC-SAN的性能。然而,当k正确时,它会获得最佳性能,而在较大时性能会变差。这因为使用更多的块 (k>4)会使 GC-SAN容易失去低层信息。

在所有基线中,stamp和SR-GNN表现良好且稳定。因此,为了便于比较,我们使用S-TAMP和SR-GNN作为两个基线。从图4中,我们可以观察到我们的模型GC-SAN在所有潜在维度上都始终优于STAMP。当值小于一定值时,SR-GNN的性能优于GC-SAN。一旦超出这个值 , GC-SAN 的队员仍然生长并最终稳定100, 虽然 SR-GNN 略 reduces. 的 性能这可能是因为相对较小的dlimits GC-SANto捕捉到项目潜在因素之间的复杂转换,而SR-GNN可能会与较大的d过度拟合

5.结论

本文提出了一种基于图神经网络的基于会话的自注意网络。具体地说,我们首先从匿名会话记录中构造有向图,然后应用图神经网络为所有包含序列局部上下文信息的项生成新的潜在矢量。其次,我们使用自我注意网络来捕获距离之间的全局依赖关系。最后,我们结合局部短期动态(i:e:;thelast-click item)和全局自参与依赖,以线性方式表示会话序列。广泛的实验分析证实我们提出的模型gc-san一贯优于最先进的方法