#论文题目:Coarse-to-Fine Sparse Sequential Recommendation(CaFe:从粗粒度到细粒度的稀疏序列推荐)
#论文地址:https://arxiv.org/pdf/2204.01839.pdf
#论文源码开源地址:暂无
#论文所属会议:SIGIR’22
#论文所属单位:Amazon
一、创新点
本文是一篇针对序列推荐的短文,主要想解决的问题是现阶段提出的采用自注意力机制的算法无法很好的应对稀疏矩阵,进而无法很好的对稀疏数据集提供准确性保障。本文提出从粗粒度到细粒度的自注意力方法CaFe。该方法同时从购物意图和交互商品中对用户动态性进行建模,进而显示的从粗粒度到细粒度两个方面学习序列中的蕴含的信息。
意图序列关注的是用户关注的商品中的长期兴趣偏好,商品序列则重点关注用户短期的偏好。
- CaFe从粗粒度的序列中学习用户的意图信息,进而提供高质量的用户意图表征。
- CaFe将意图表征融合到商品编码器输出中,提升商品表征性。
- CaFe结合两种表征进行后续商品的预测交互并得到用户接下来的动机。
二、导读
2.1 问题定义
给定商品集合
V
V
V,意图集合
C
C
C,
∣
C
∣
|C|
∣C∣<<
∣
V
∣
|V|
∣V∣,用户集合
U
U
U,交互序列集合为
S
S
S={S1, S2, …, S|U|}。每一个v∈
V
V
V,都有一个c∈
C
C
C与之相对应。用户的交互数据表示为Su={s1u, …, s|Su|},其中,siu=(viu, ciu)。给定交互序列,我们想要预测v|Su|+1u。
2.2 自注意力推荐
本文采用的总体框架为SASRec,即给定近期用户和商品的交互序列,采用自注意力机制来挖掘用户行为序列的关系。这里对SASRec做简要的介绍,详细可以点击链接或阅读文章的第2节。
- Embedding层:Embedding层对交互序列中的商品进行编码,结合对应位置的embedding构成最终的序列embedding;
- Transformer编码器:这部分采用多头自注意力机制,经过多个自注意力层得到输出。vi在经过
l
l
l次自注意力层后得到矩阵Hil∈
∣
R
|R
∣Rd,且Hi0=ei+pi。输出的多头注意力可以通过如下公式进行计算。(要求j>i,因为只能之前的行为对之后的行为有影响,反之不行。)
WQ(m), WK(m), WV(m)∈ ∣ R |R ∣Rd×d/M是第m层可学的投影矩阵,WO∈ ∣ R |R ∣Rd×d是将输出Oi相连接起来的可学习的参数。在上式中要求 j > i,因为只能之前的行为对之后的行为有影响,反之不行。 - 从Oi得到下一层的矩阵Hil+1,为了避免过拟合,我们还需要经过残差网络,正则化操作以及逐点前馈网络得到(和Transformer方法一样)。
三、方法
3.1 方法框架
3.2 Embedding层
用户u的交互序列
S
S
Su包含商品序列
S
S
Suv和意图序列
S
S
Suc,两者对应的embedding分别为
E
E
Ev∈
∣
R
|R
∣Rd×|V|,
E
E
Ec∈
∣
R
|R
∣Rd×|C|,d为Embedding的维度,|
V
V
V|和|
C
C
C|表示商品和意图集合的大小。两类序列中的位置编码分别表示为
P
P
Pv∈
∣
R
|R
∣Rd×n,
P
P
Pc∈
∣
R
|R
∣Rd×n。分别对两个序列进行编码可以得到下式:
embedding的计算方式和SASRec类似,公式如下:
3.3 从粗到细的编码器
3.3.1 意图编码器
对于意图序列,目的是捕获用户的粗粒度兴趣动态。意图序列通常是稠密的,因为 ∣ C ∣ |C| ∣C∣远小于 ∣ V ∣ |V | ∣V∣。因此,使用SASRec 模型作为意图序列的编码器。给定意图embedding: M M Mc,SASRec 编码器的输出用作意图序列表征 R R Rc∈ ∣ R |R ∣Rd×n。
3.3.2 商品编码器
越靠近当前时间的商品的交互,对预测越重要。作者参考了《Locker: Locally Constrained Self-Attentive Sequential Recommendation (CIKM’21)》,对应的商品编码器也是Transformer形式,但增强了关注最近商品的能力。在注意力权重计算中加入掩码分数θi,j增强商品编码器中的短期用户动态性建模,之后再带入(3)式。注意力的计算公式
f
f
fatt( )如下:
θ=1时就是标准版的点积注意力机制,exp(wi,j) · θi,j可以写成exp(wi,j+lnθi,j),lnθi,j可以从Hil, Hjl和商品item vi和vj的距离矩阵得到:
W
W
WL(m)∈
∣
R
|R
∣Rd/M×1,bL∈
∣
R
|R
∣R1,距离矩阵di,j∈
∣
R
|R
∣Rd×2n是距离embedding表中第n+i-j个embedding,WQ(m)和WK(m)来自式(3)。我们同样经过和上述意图编码类似的步骤将
M
M
Mv输入到自注意力层得到item序列表征
R
R
Rv∈
∣
R
|R
∣Rd×n。使用商品embedding来关注近期的偏好,使用意图序列得到的embedding来关注长期偏好,最终embedding为下式:
3.3.3 预测
在 CaFe 中,同时用
R
R
Rc和
R
R
R 预测下一个意图和商品。采用矩阵分解 (MF) 来计算时间步 𝑡 时,编码器输出和embedding之间的相关性:
E
E
Ejc∈
∣
R
|R
∣Rd,
E
E
Ekv∈
∣
R
|R
∣Rd分别代表了在
E
E
Ec中第j层的意图向量和
E
E
Ev中第k层的item的向量。
3.3.4 训练
如上式,使用交叉熵损失函数,分别计算商品和意图的损失。
3.4 推理阶段
根据意图和商品的联合概率分布来计算最终选择哪个商品进行推荐,公式如下,选择概率最大的进行推荐。
θ
\theta
θ代表了MaFe的参数集合,
S
S
Suc,
S
S
Suv是指定用户u的意图序列和商品序列。