Title:Disentangling Long and Short-Term Interests for Recommendation
Link:https://arxiv.53yu.com/pdf/2202.13090
Code:github.com/tsinghua-fib-lab/CLSR
From:WWW 2022
1. 导读
本文结合自监督方法提出CLSR模型来挖掘用户的长短期兴趣,并进行进一步的解耦。
1. 首先提出了两个独立的编码器来独立捕获不同时间尺度的用户兴趣。
2. 然后从交互序列中提取长期和短期兴趣代理,作为用户兴趣的伪标签。
3. 然后设计成对对比任务来监督兴趣表征与其相应兴趣代理之间的相似性。
4. 最后由于长期和短期兴趣的重要性是动态变化的,通过基于注意力的网络自适应地聚合它们进行预测。
2. 定义
令商品数为N,用户数为M,以 表示用户的交互数据集合, 表示用户 的交互数据,即商品列表。
输入:交互序列
3. 方法
由于用户的长短期兴趣随时间的动态变化很大,因此将这两个方面分别建模而不是使用统一的表征来表达它们。长期兴趣是相对稳定的,而短期兴趣是动态的、经常变化的。并且每次交互都由这两个方面以及目标商品决定。利用以下三个机制来建模,其中f1(),f2(),f3()分别对用户长期兴趣,短期兴趣和交互进行建模。其中U是用户,V为商品,Y表示交互。当前时间表示t,前一时刻表示为t-1。U中包含了用户ID和交互序列,三者的关系如图所示。
先对用户特征做embedding,经过GRU捕获随时间变化的关系。长短期兴趣分属于不同的编码器 , ,分别利用上述得到的两个embedding与交互序列,输入到两个编码器可以得到长短期兴趣表征,公式如下,
图2(B)中是长期兴趣编码器 的过程,使用注意力机制,公式如下,其中W为可学习参数, 表示多层MLP,||表示拼接,E(x)表示商品的embedding。
得到系数后,对序列中的embedding加权求和,公式如下,
利用循环神经网络捕获短期兴趣,其中W为可学习参数,ρ表示循环神经网络模型,例如LSTM,GRU等。
利用长期兴趣中计算注意力系数的方式可以同样利用现有的v可以求得短期兴趣的注意力系数b。加权求和后得到短期兴趣embedding,如下,
因为上面是通过无监督的方式提取出长短期兴趣表征的,无法确保长短期兴趣的解耦,因此这一节采用自监督的方法来进行解耦。
本文采用BPR损失或Triplet loss来对上述的约束关系构建损失函数,公式如下,将上述u,p,q带入即可构建四个相应的损失函数。在BPR中sim()函数为内积,Triplet loss中为欧氏距离。
损失函数就是把四个损失函数相加,如下,其中f()表示两种损失函数之一。
最后经过两层MLP(图2 E)进行预测,公式如下,
结合之前的对比学习损失函数,总的损失函数如下,
4. 结果