赞
踩
#论文题目:【序列推荐】Disentangling Long and Short-Term Interests for Recommendation(CLSR:解耦长短期兴趣)
#论文地址:https://arxiv.org/pdf/2202.13090.pdf
#论文源码开源地址:https://github.com/tsinghua-fib-lab/CLSR
#论文所属会议:WWW 2022
#论文所属单位:清华大学、快手
由于用户的长短期兴趣随时间的动态变化很大,因此将这两个方面分别建模而不是使用统一的表征来表达它们。长期兴趣是相对稳定的,而短期兴趣是动态的、经常变化的。并且每次交互都由这两个方面以及目标商品决定。
本文结合自监督方法提出CLSR模型来挖掘用户的长短期兴趣,并进行进一步的解耦:
总体描述:初始化物品表征和用户向量表征。模型通过两种无监督方法对长期兴趣和短期兴趣的商品序列分别建模,之后通过平均向量的方法设置两个基准代理,作为用户兴趣的伪标签(第一个损失函数),然后通过GRU网络得到两个子序列的权重,最终得到物品的向量表征(用户的向量表征未进行修正),之后通过两层MLP进行预测。
先对用户特征做embedding,经过GRU捕获随时间变化的关系。长短期兴趣分属于不同的编码器,
ψ
\psi
ψ、
ϕ
\phi
ϕ分别利用上述得到的两个embedding与交互序列,输入到两个编码器可以得到长短期兴趣表征,公式如下:
上图中(B)中是长期兴趣编码器的过程,使用注意力机制,公式如下,其中W为可学习参数, τ \tau τl表示多层MLP,||表示拼接,E(x)表示商品的embedding。
得到系数后,对序列中的embedding加权求和,公式如下:
利用循环神经网络捕获短期兴趣,其中
W
W
W为可学习参数,
ρ
ρ
ρ表示循环神经网络模型,例如LSTM,GRU等。
利用长期兴趣中计算注意力系数的方式可以同样利用现有的v可以求得短期兴趣的注意力系数b。加权求和后得到短期兴趣embedding,如下:
因为上面是通过无监督的方式提取出长短期兴趣表征的,无法确保长短期兴趣的解耦,因此这一节采用自监督的方法来进行解耦。
计算整个交互历史的平均表征作为长期兴趣的代理,并使用最近t次交互的平均表征作为短期兴趣的代理。利用代理来监督解耦,公式如下,其中E(x)表示交互序列中的商品embedding。
仅在序列长度大于阈值
l
l
lt时才计算代理,因为如果整个序列仅包含几个商品,则无需区分长期和短期。
l
l
lt和
k
k
k是超参数。
使用代理作为标签,可以利用它们来监督长短期兴趣的解耦。在编码器输出和代理之间进行对比学习,这要求学习到的长短期兴趣表征与其对应的代理更相似,而不是相反的代理。在图 2 (A) 中说明了对比任务。公式如下,以长期兴趣为例,长期兴趣保证和长期兴趣代理表征的相似度要大于长期兴趣和短期兴趣的表征,并且大于短期兴趣和长期兴趣代理之间的相似度。
本文采用BPR损失或Triplet loss来对上述的约束关系构建损失函数,公式如下,将上述u,p,q带入即可构建四个相应的损失函数。在BPR中sim()函数为内积,Triplet loss中为欧氏距离。
损失函数就是把四个损失函数相加,如下,其中f()表示两种损失函数之一。
长短期兴趣那个发挥更重要的作用取决于历史序列。例如,用户在不断浏览同一类别的商品时,主要受短期兴趣的驱动。同时,也取决于目标商品。例如,运动爱好者可能由于长期兴趣而点击推荐的自行车,即使在他/她浏览了几本书之后。因此,将历史序列和目标商品都包含在聚合器的输入中,其中历史序列用 GRU 压缩。基于注意力的自适应融合模型如图 2 (D) 所示,自适应的动态融合长短期兴趣。公式如下,其中σ为sigmoid函数,
τ
\tau
τf表示MLP。
最后经过两层MLP(图2 E)进行预测,公式如下,
损失函数如下(负对数似然函数):
结合之前的对比学习损失函数,总的损失函数如下,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。