Advertisement

Collaborative Self-Attention Network for Session-based Recommendation (IJCAI-20

阅读量:

摘要

基于会话的推荐因其能够为匿名用户提供推荐而成为研究热点。但是,现有的基于会话的方法具有以下局限性:(1)它们要么缺乏学习复杂依赖性的能力,要么主要专注于当前会话,而没有明确考虑协作信息。 (2)他们假设商品的表示形式是静态的,并且在每个时间步中对所有用户都是固定的。我们认为,即使是同一项目,也可以在同一时间步骤为不同的用户以不同的方式表示。为此,我们提出了一种新颖的解决方案,用于基于会话的推荐的协作式自我关注网络(CoSAN),以学习会话表示并通过调查邻居会话来预测当前会话的意图。特别地,我们首先通过汇总根据当前会话中每个项目检索的邻域会话的嵌入来设计协作项目表示。然后,我们运用自我注意力来学习协作项之间的远程依赖关系,并生成协作会话表示形式。最后,通过串联协作会话表示和当前会话的嵌入来表示每个会话。在两个实际数据集上进行的大量实验表明,CoSAN的性能始终优于最先进的方法。

介绍

最近的研究将会话中的一系列点击行为建模为一个序列,并利用神经网络对整个动作序列进行建模。例如,GRU4Rec[Hidasiet al.,2016]将递归神经网络(RNN)应用于基于会话的推荐,并将此问题视为时间序列预测。随着深度学习在各个研究领域取得巨大进展,越来越多的深度学习模型通过考虑会议的主要目的[Liet al.,2017],捕捉用户的一般偏好和当前兴趣[Liuet al.,2018],改进了基于RNN的简单模型。其他模型,如SR-GNN[Wu等人,2019年]将会话建模为图形,以捕获复杂的项目交互。然而,由于梯度消失和爆炸问题,RNN的训练是出了名的棘手[Pascanuet al.,2013]。各种变体(如LSTM和GRU)缓解了上述问题,但仍难以捕获长期依赖项。

我们认为即使在同一时间步骤,不同用户的项目表示也应有所不同。

在本文中,我们提出了一个协作式自我关注网络。首先,我们分两个步骤构建协作项目表示。第一步是找到当前会话的邻居会话集。对于当前会话中的每个项目,我们计算当前会话与M个最近会话(也与此项目进行交互)之间的相似度,然后从M个最近会话中选择K个最相似的会话作为当前会话的邻居会话。在第二步中,我们对邻域会话进行加权求和以获得互补特征嵌入,其中邻域会话的权重定义为其与当前会话的相似性。然后,将互补特征嵌入与原始项目嵌入合并,以生成协作项目表示。其次,我们学习协作项目之间的远程依赖关系,并生成协作会话表示。最后,我们将协作会话表示形式和会话嵌入连接起来,以预测单击下一个项目的可能性。

CoSAN与CSRM的不同
首先,CoSAN的项目表示是动态的。在CoSAN中,提出了一种协作项目表示形式,当遇到不同的用户和时间步长时,它能够动态生成不同的表示形式,而CSRM的项目表示形式相对固定,并且对所有用户都是固定的。其次,在检索邻居会话时,CoSAN会为当前会话中的每个项目检索K个最相似的邻居会话。相反,CSRM根据反映当前会话主要意图的本地编码器检索K个最相似的邻居会话。因此,CoSAN包含的协作信息要比CSRM多。第三,CoSAN利用自我关注网络来捕获协作项目之间的远程依赖关系,而与距离无关。同时,CSRM在RNN和注意机制的帮助下,在当前会话中对用户信息进行建模,这不足以捕获长期依赖关系。

模型

在这里插入图片描述
**Search for Neighborhood Sessions. **
利用xt得到M个相邻用户,并计算K个最相关的邻居,
在这里插入图片描述
在这里插入图片描述
互补特征嵌入:对邻居会话进行加权求和
在这里插入图片描述
它是根据会话ID生成的。最后,将item嵌入和互补特征嵌入合并在一起,得到协同项表示,它是项XT的会话相关嵌入,定义如下:
在这里插入图片描述
这里介绍一下merge
在这里插入图片描述
Self-Attention Layers
自我注意是一种与单个序列的不同位置相关的用于计算序列表示的注意机制,已被成功地应用于各个领域[Cheng等人,2016;Parikhhet等人,2016;Pauluset等人,2017;Linet等人,2017]。为了学习协作项之间的全局依赖关系并生成协作会话表示,我们采用了由自我注意块、多头自我注意、前馈网络和多层自我注意组成的自我关注层。

注意功能可以描述为一个映射查询和一组到输出的键-值对,其中查询,键,值是协作项表示形式的集合C = {ci1,ci2,…,cin} 在我们的情况下,会话si表示,而输出是协作会话表示形式,可以反映当前会话的意图。在这里插入图片描述
Multi-Head Self-Attention.
为了使模型能够在不同的位置联合处理来自不同表示子空间的信息,我们采用了多头注意,并采用了具有不同参数的独立注意模型。所有注意力模型的输出被串联以生成最终值。
在这里插入图片描述
前馈网络
为了克服自我注意是一个线性模型的缺点,我们使用了一个具有RELU激活函数的点式反馈网络来赋予模型非线性,并考虑了不同潜在维度之间的交互作用。然后利用剩余连接充分利用底层信息。
在这里插入图片描述

Multi-Layer Self-Attention.
在这里插入图片描述

** Prediction Layer**
在这里插入图片描述

把邻居协同信息F和最后一个会话连接取来,后与item进行打分操作,并利用损失函数优化,

实验

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~