sequential recommender system based on hierarchical attention network

推荐系统

链接:https://pan.baidu.com/s/1FG_t8fWJaPnKrXNOw44U-g 密码:l4t0

Sequential Recommender System based on Hierarchical Attention Network

介绍

当前的一些推荐场景

  • 与传统推荐系统不同,顺序推荐方案存在新的挑战。首先,除了显式反馈(例如:评分)之外,一些场景中的用户行为仅反映其隐式反馈(例如:购买或不购买)。这种类型的数据带来了更多的噪声,因为我们无法区分用户是否不喜欢未观察到的项目或者知识没有意识到这些项目。因此,通过传统的潜在因子模型直接优化这种一类分数(即1或0)是不合适的。其次,越来越多的数据来自会话或交易,形成用户的顺序模式和短期偏好。

顺序推荐的研究

  • 在文献中,研究人员通常使用单独的模型来表示用户的长期偏好和短期偏好,然后将它们整合在一起。然而,这些模型忽略了用户一般品味的动态,这意味着用户的长期偏好会随着时间的推移而不断变化。为每个用户学习静态低秩矢量来模仿她的长期偏好是不够的。此外,它们主要通过线性建模为user-item或item-item交互分配固定权重,这限制了模型能力。已经证明,非线性模型可以更好地模拟用户活动中的user-item交互。

本文的方法

  • 本文提出了一种顺序分层注意网络(SHAN),以解决下一个item推荐问题。注意力机制可以自动为用户分配item的不同影响以捕获动态属性,而层次结构结合用户的长期和短期偏好。具体来说,我们首先将user和item嵌入到低维密集空间中。然后,使用注意力层来计算用户长期集中的item的不同权重,然后用权重压缩item向量以生成用户长期表示。之后,我们使用另一个注意力层将用户顺序行为与长期表示相结合。用户嵌入向量用作两个关注网络中的上下文信息,以计算不同用户的不同权重。为了学习这些参数,我们采用贝叶斯个性化排名优化标准来生成成对损失函数。

本文的贡献

  • 我们引入注意力机制来模拟用户动态和顺序推荐的个人偏好。
  • 通过层次结构,我们将用户的长期和短期偏好结合起来,生成用户的高级混合表示。

Sequential Hierarchiacl Attention Network

  • 符号定义
符号 含义
$U$ 用户的集合
$V$ item的集合
$L^u=$ { $S_1^u,S_2^u,…,S_T^u$ } 用户$u in U$ 的连续交互集合
$S_t^u subseteq V(t in [1,T])$ 用户$u$ 在$t$ 时刻与之交互的$item$ 集合
$S_t^u$ 可以反映用户$u$在$t$时刻的短期偏好
$L_{t-1}^u = S_1^u bigcup S_2^u bigcup…bigcup S_{t-1}^u $ 时间$t$之前用户$u$所产生交互的$item$集合
$L_{t-1}^u$ 可以反映用户的长期偏好
  • 本文根据用户偏好的以下特征,提出一种基于分层的注意力网络,模型图如下
    • 用户偏好在不同的时间步长是动态的。
    • 不同的item对下一个要购买的item有不同的影响。
    • 对于不同的用户,相同的item可能对下一个item预测有不同的影响。
  • Embedding Layer
    • 使用全连接层将用户和itemID的ont-hot表示嵌入到两个连续的低纬空间中。
    • 形式上,让$U in mathbb{R}^{K×|u|}$和$V in mathbb{R}^{K×|v|}$ 两个矩阵分别表示user和item的嵌入
  • Long-term Attention-based Pooling Layer
    • 由于用户的长期item集通常随时间变化,因此学习每个用户的静态的长期偏好表示不能完全表达用户长期以来的偏好的动态性。 另一方面,从最新的长期item集重建长期用户表示更合理。 此外,我们认为相同的item可能会对不同的用户产生不同的影响。
    • 为了满足上述要求,我们建议使用已经成功应用于许多任务的注意机制,它首先计算给定用户的长期item集中每个item的重要性,然后聚合这些item的嵌入以形成长期用户偏好表示。
      • $h_{1j}= phi (W_1v_j+b_1)$
      • $alpha_j= frac{exp(u^┬h_{1j})}{ sum_{p in L_{t-1}^u} exp(u^┬h_{1p}) }$
    • 最后,我们将长期用户表示$u_{t-1}^{long}$计算为注意分数加权的item嵌入的总和
      • $u_{t-1}^{long} = sum_{j in L_{t-1}^u} alpha_jv_j$
  • Long- and Short-term Attention-based Pooling Layer
    • 短期偏好对于预测下一个item非常重要,并且已经开展了关于将顺序推荐的长期和短期偏好相结合的研究。 然而,短期和长期偏好的相互作用仍然是线性的,并且item在早期工作中被赋予相同的权重,这不能反映item对下一项预测的影响特征,因此限制了模型性能。 与建模用户长期偏好类似,我们也转向注意力网络,为长期表示分配权重以及在短期item集中嵌入item,以捕获用户的高级表示。
    • $ h_{2j}= phi (W_2 x_j+b_2) $
    • $beta_j= frac{exp(u^┬h_{2j})}{ sum_{p in S_t^u bigcup {0}} exp(u^┬h_{2p}) } $
    • 最后,我们将混合用户表示为$u_t^{hubrid}=beta_0u_{t-1}^{long}+ sum _{j in S_t^u} beta_jv_j$
  • 在计算用户混合表示$u_t^{hybrid}$之后,我们使用传统的潜在因子模型来计算他的item $j$的偏好得分如下:
    • $R_{ujt} = u_t^{hybrid}v_j​$