When Multi-Level Meets Multi-Interest: A Multi-Grained Neural Model for Sequential Recommendation

一种用于顺序推荐的多粒度神经模型

与利用注意机制和RNN的传统序列模型相比,最近的研究主要遵循两个方向进行改进:多兴趣学习和图卷积聚合。具体而言,ComiRec和MIMN等多兴趣方法侧重于通过执行历史项目聚类来提取用户的不同兴趣,而TGSRec和SURGE等图卷积方法则选择基于历史项目之间的多级相关性来优化用户偏好。不幸的是,他们都没有意识到这两种类型的解决方案可以相互补充,通过聚合多级用户偏好来实现更精确的多兴趣提取以获得更好的推荐。为此,本文将多兴趣学习与图卷积聚合相结合,提出了一种统一的多粒度神经模型(MGNM)。具体来说,MGNM首先为用户学习历史项目的图结构和信息聚合路径。然后,它执行图卷积,以迭代方式导出项目表示,从而可以很好地捕获不同级别的复杂首选项。然后,提出了一种新的序列胶囊网络,将序列模式注入到多兴趣提取过程中,从而以多粒度的方式实现更精确的兴趣学习。

1 introduction


图中用户a同时产生两个兴趣:游戏和体育,用户b的交互历史中有两个不同的兴趣级别:粗粒度(卡通)、细粒度(Tom and Jerry)

1.作者提出利用多兴趣学习和图卷积聚合的优点来提高推荐性能。具体而言,MGNM通过将多级偏好组合和多兴趣分解集成到一个统一的框架中,可以实现多粒度的用户偏好学习。

2.我们设计了一种可学习的图构造机制来区分复杂用户行为。此外,还提出了一种序列胶囊网络来利用时间信息进行更好的多兴趣提取。

3 方法

多粒度神经模型(MGNM)由两个主要的组件组成:用户感知图卷积和序列胶囊网络。

原始序列是用户的历史行为。通过将原始序列转化为用户感知的自适应图,并利用序列CapsNet的神经聚合功能,在训练过程中将时序信息添加到图中。在模型的推理阶段,使用最大池层来获得最终的预测分数。

用户感知图卷积

嵌入层:构造用户嵌入表U\in R^{N\times d} (编码用户的总体偏好)和项目嵌入表V\in R^{M\times d} (表示项目的特征),相应的用户和项目嵌入表示分别为x_{u} [x_{1},x_{2},...,x_{m} ]

图构造:给定用户u的历史行为序列b_{u}=[x_{1},x_{2},...,x_{m} ],将其组成项转化为无向连通图,由于会话中的重复信息代表了用户的偏好,所以保留序列中的重复项。定义A\in R^{m\times m} 为邻接矩阵,A_{i,j} 表示为用户u中xi和xj的连接。根据隐藏特征学习这种相关性:A_{i,j}=sigmoid((x_{i}\odot x_{j})\cdot x_u  ) ,用户嵌入用来实现基于用户的图形构造。(对不同的用户,同一项目对可能具有不同的关联度值)

图卷积:在每个层中合成的项目表示可以更精确的反映用户的不同偏好。

H^{(l)} 为l层的项目聚合表示,\delta (\cdot )为非线性的LeakyRELU,I表示为添加自循环传播的单位矩阵,W为参数,D表示为A的度矩阵

顺序胶囊网络:在提取多级项目表示{H^{(0)}, ...,H^{(L)}}之后,其中H^l=[h_{1}^l,..., h_{m}^l] ,h_{i}^l \in R^d ,用CapsNet生成用户每层的多注意力。现有的基于多兴趣的推荐工作是利用CapsNet通过内置的动态路由机制来合成每个兴趣表示。每个胶囊的输出相当于特定用户的兴趣。然而,标准的动态路由机制主要实现迭代软聚类的功能。经过充分验证,时间信息对于顺序推荐至关重要。这就是为什么CapsNet在微调CTR任务中的应用受到限制的原因。我们通过为CapsNet引入一个顺序编码层来解决这个缺陷。给定l层的项目表示,第i个胶囊首先在H^l上的线性投影:

 其中Z_i=[z_{1}^l,..., z_{m}^l],W是可训练参数

通过截断正态分布初始化g=[g_{1},...,g_{m}  ],g_i是表示项目x_i对于胶囊相关性的一致性得分。动态路由机制的耦合系数c\in R^d 由softmax函数求出:

之后,胶囊的输出由非线性挤压函数求出:

c_j是c的第j个元素

更新聚合函数:

第一次迭代之后,用BiLSTM模块编码序列模式并更新Z_i

之后,用上述5个公式重复\tau -1次,不需要在Z_i上进一步应用BiLSTM编码,完整的\tau 次交互表示每个胶囊。最后的交互的输出o_i是反馈给全连接层的,导入给l层的兴趣表示q_{i}^{(l)}

假设兴趣数量为K,我们获得l层的K个兴趣表示[q_{1}^{(l)},...,q_{K}^{(l)} ],我们一共获得(L+1)*K个兴趣表示。

预测及模型优化:

预测:给定一个候选项目x_i,用注意力机制推导l层的用户偏好向量p_{u}^{(l)}

a_j是第j个兴趣的注意力权重

用内积计算推荐分数

l层的推荐分数

不同的用户可能有不同的兴趣粒度,一些用户的兴趣非常复杂且动态,一些用户的偏好简单明了。因此用最大池化计算得出最终的推荐分数:

模型优化:为了使模型能够捕获从低级到高级不同粒度的用户兴趣,我们选择为每个级别定义交叉熵损失。因此,最终损失公式如下:

y_{u,i}表示俄日用户u和项目项目x_i的真实值
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容