关注我们,一起学习
标题:Attention Mixtures for Time-Aware Sequential Recommendation
地址:https://arxiv.53yu.com/pdf/2304.08158.pdf
代码:https://github.com/deezer/sigir23-mojito
会议:SIGIR 2023
1.导读
现有的序列推荐结构往往忽略了用户偏好和时间上下文之间的复杂依赖关系。本文介绍的MOJITO利用基于注意力的时间上下文和商品embedding表征的高斯混合进行序列建模。本文的主要特点是:
- 在模型中考虑时间信息,通过核函数对时间上下文信息进行编码,如月份,周几等
- 考虑短期兴趣和长期兴趣,短期兴趣通过用户交互序列和时间信息来提取,长期兴趣通过用户的历史交互商品来反映
- 通过全局注意力矩阵和高斯混合模型采样来提升表征多样性。
-
方法
2.1 概览
如图1所示,MOJITO包含两个组件。第一个对受交互和时间影响的短期意图进行建模。第二个捕捉了长期偏好。每个组件返回一个相关性分数,表示为和。他们估计每个商品v成为当前序列后交互的商品的可能性。以超参数来平衡两者的打分,:
2.2 短期表征
本节利用自注意力机制进行时间感知的短期表征学习。已知这种方法存在head冗余问题,即不同的注意力头实际上学习相同的信息,本文进行改进后使注意力头能够通过共享的全局注意力矩阵进行交互,通过引入不同的归纳语义偏见来指导全局矩阵的学习,从而增强了全局矩阵表示的多样性
2.2.1 embedding层
embedding层处理交互序列和时序信息序列(S为用户交互的商品序列,C为用户交互时的时间上下文信息,序列C中的每个元素是一个元组,元组中包含时间信息,如月份,周几等),用可学习商品embedding矩阵,序列的embedding可以表示为。
使用平移不变核函数将元组中的每个时间上下文信息映射为向量。将这些向量拼接并注入到线性层函数g()中来获得embedding表征 。从而可得到组合上下文和商品的embedding即
同时考虑位置信息,在中加入可学习的位置embedding,最终的输入矩阵为,其中
2.2.2 注意力混合
经过B个自注意力块(SAB),第b个自注意力块的输出为,表达如下,其中SAL为自注意力层,FFL为前馈层。为每个头的输出。
本文从高斯混合概率模型中采样,自动学习时间上下文和之前交互的商品的相对重要性,其中,,
2.2.3 预测
预测商品v和被交互可能性,公式如下,其中F为在位置L经过B层自注意力块后的输出,e为商品表征
2.3 长期表征
在这个阶段,主要是捕捉用户偏好的异质性。用户通常有不同的偏好,一个人可以同时喜欢金属音乐和古典音乐。因此,当偏好分散在embedding空间中时,使用单个embedding向量来表示长期用户偏好的做法是有限的。为N个所选的商品,这N个商品是随机从用户历史交互商品中选择得到,相比于当前能观察到的用户交互序列,这些历史交互商品反映用户的长期兴趣,用户u对于商品v的长期偏好是使用商品表征的加权聚合来估计的:
在预测的时候,计算用户表征和目标商品的相似度:
2.4 训练
交互序列和上下文序列的训练集合为。对于每个交互序列,可以在该序列基础上每次提取前长度的子序列来预测位置的交互商品,。对于每个子序列,从商品集合中采样除了目标商品外的商品作为负样本,损失函数如下,其中x为short或long即短期兴趣和长期兴趣,σ为sigmoid函数。
-
结果
Note:
将时间信息编码为embedding的核函数可以参考“ Self-attention with Functional Time Representation Learning ”
时间信息编码的代码实现:https://github.com/StatsDLMathsRecomSys/Self-attention-with-Functional-Time-Representation-Learning
交流群:点击“联系 作者”--备注“研究方向-公司或学校”
欢迎|论文宣传|合作交流
往期推荐
长按关注,更多精彩
点个在看你最好看