赞
踩
一个月前刚出的论文,占领第一片土地!
从用户的历史序列中建模用户偏好是顺序推荐的核心问题之一。这些领域的现有方法从传统方法到深度学习方法分布广泛。然而,它们大多只在自己的序列中建模用户兴趣,而忽略了不同用户序列之间动态协作信号的细粒度利用,不足以探索用户偏好。我们从动态图神经网络中获得灵感来应对这一挑战,将用户序列建模和用户之间的动态交互信息统一到一个框架中。提出了一种新的动态图神经网络顺序推荐方法(DGSR),该方法通过动态图结构连接不同用户的顺序,探索具有时间和顺序信息的用户和项目的交互行为。此外,我们还设计了一个动态图注意力神经网络来实现不同用户及其序列在动态图中的信息传播和聚合。因此,顺序推荐中的下一个项目预测任务被转换成动态图中用户节点到项目节点的链接预测任务。在四个baseline上的广泛实验表明,DGSR优于几种最先进的方法。进一步的研究证明了通过动态图建模用户序列的合理性和有效性。
推荐系统的发展:静态用户-项目的交互(忽略用户历史信息)→序列化推荐(HMM or RNN)→序列化推荐(RNN,忽略了不同用户之间动态且通信号)→DGSR
大多数顺序模型的训练和测试范例
上图的细化,具体到每个时间步。每条边代表用户和项目之间的交互,实线表示当前时间发生的交互,虚线表示u1下一次的交互
以上这种图结构比单序列包含更多上下文信息,但常不能显式地利用这种动态上下文信息,这导致难以准确地捕捉用户偏好。
存在两个重要问题:一是如何为每个用户序列动态提取高阶连通用户和项目?另一个是如何为每个用户序列编码动态上下文信息?
我们提出了DGSR,它从动态图的角度探索用户和具有时间及顺序信息的项目之间的交互行为。
DGSR的框架是这样的:
首先,我们将所有的用户序列转换成一个动态图,图的边缘嵌入了时间特征和序列顺序(第4.1节)。因此,具有公共项目的用户序列通过用户→项目和项目→用户连接来链接。
其次,我们设计了一个子图采样策略(第4.2节),其目的是动态地提取包含用户序列及其相关序列的子图。
第三,为了探索子图中每个节点的信息传播和聚集,我们设计了一个动态图注意神经网络(DGAN)(第4.3节),其中构建了一个动态注意模块来捕获全局信息,并进一步提出了一个递归神经模块来学习局部动态表示。通过堆叠多个DGAN,可以更好地利用每个序列的丰富上下文信息。
最后,我们将下一项预测任务转换为用户节点的链接预测任务(第4.4节)。
在顺序推荐场景中,在用户序列之间显式建模动态协作信号的至关重要性。DGSR核心思想是从动态图的角度对用户间的交叉序列信息进行显式建模。
一般来说,动态图有两种类型,分别是离散时间动态图和连续时间图。我们的工作主要是指连续时间动态图。一个动态图可以定义为
G( V,E,T ) 。在时间点t上,用户u和商品i一次交互,u和i之间的边e就被建立了。
我们定义的图结构:
o iu 表示为u-i相互作用的顺序,即i在所有u已经交互过的商品中的位置
o ui表示为u在所有与i已经交互过的用户节点中的位置。
例子
动态图的规模逐渐增大,噪声太多且计算成本大,所以我们引入了一种抽样策略:
具体来说,我们首先将用户节点u作为锚节点(anchor node),并从图G中选择其最近的n个一阶邻居,也就是说,u曾经交互过的历史items,写成N (u),其中n是用户序列的最大长度。接下来,对于每一项i ∈ N (u),我们使用它们中的每一个作为锚节点来采样与它们交互过的用户集合,写成N (i)。通过类比,我们可以得到节点u的多阶邻居,从而形成序列S中u的m阶子图G(m是用来控制子图大小的超参数)。
采样后,每个子图G包含序列S及其相关序列的节点。这些序列中的用户和项目节点通过堆叠用户到项目和项目到用户的关系在动态图中相互链接。
在本节中,我们设计了一个动态图注意力神经网络(DGAN),通过作用于子图G来实现信息的传播和聚集。为了讨论起见,在不丧失其一般性的情况下,我们说明了DGAN的第l层到第l层的消息传播和聚集机制。
目的是捕获邻居的信息,以便对用户和项目的动态表示进行建模。随着用户序列的扩展,历史项目对用户新兴趣的影响也会发生变化。
目的是聚合u的邻居和i的邻居传播过来的信息,以此更新图G的节点表示。
、
设计链接预测函数来确定用户接下来可能与之交互的项目。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。