ICSRec:交叉子序列意图对比学习用于序列推荐

论文题目:Intent Contrastive Learning with Cross Subsequences for Sequential Recommendation <math xmlns="http://www.w3.org/1998/Math/MathML"> [ 1 ] ^{[1]} </math>[1]

论文来源: WSDM2024

Code: ICSRec

一、Motivation

  • 推荐系统面临数据集稀疏和噪音的问题,这加大了对用户兴趣偏好建模的难度,如何在有限的数据集中对用户兴趣偏好更好地进行建模是一个挑战。先前的方法通过以下两种方法来缓解数据稀疏和噪音对用户建模的影响:
    • 第一种是通过引入一些辅助信息,例如利用用户侧的年龄信息、商品侧的类别信息、制造商、还有引入一些跨域信息等辅助信息来辅助用户兴趣建模;
    • 第二种主要是引入一些自监督任务,例如引入对比学习、年龄预测、类别预测等辅助任务来辅助模型对用户兴趣进行建模;
  • 先前的方法主要面临以下几个问题:
    • 第一种方法需要引入一些辅助信息,但是真实场景中这些辅助信息往往更加难以获取,并且是极其稀疏的,还存在噪音的问题(例如一个商品同时属于多种类别);
    • 第二种方法引入随机数据增强来构造正样本对,这很大概率会破坏原始序列所表达的语言信息,会改变原始序列的意图信息;
  • 针对上述难点,我们通过对原始数据进行分析之后发现,不同的用户交互的序列中存在相同的行为模式,这可以看作是一种粗粒度的意图监督信号,如下图所示:
  • 观察上图,我们可以发现以下几点现象:

    • 用户二和用户三都购买了书籍这一商品,可能是出于同一目的阅读和学习这一意图;
    • 用户一和用户二都购买了手表这一商品,可能是出于同一目的装饰这一意图;
    • 用户一二三都购买了领带,但观察可以发现用户一和用户二可能是为了装饰,用户三可能是为了送礼这一意图;
  • 通过上述观察现象可以表明不同用户可能出于同一目的购买了同一商品,另外购买同一商品也可能出于不同的意图,如果能够将这些信息用于建模用户的意图可以很好地缓解数据稀疏和噪音的问题;因此我们提出使用不同用户交互历史中的相同行为模式来构建意图监督信号,构建一个粗粒度的意图对比学习辅助任务,同时为了考虑全局的信息,我们进一步引入一个聚类,并通过聚类来获取用户的细粒度的意图表示,并通过构建一个细粒度意图对比学习任务来进行约束第一个任务引入的噪音问题(也即同一个商品在不同上下文中可能表示不同的意图);

二、Model

  • ICSRec的模型如上图所示,其主要包含三个模块,意图信号建立、意图表征学习和预测模块;
    • 首先是意图信号建立模块,这一模块首先会将所有训练序列切分成不同大小的子序列,然后将具有相同目标商品(最后一个item一样)的子序列归为一类,也即意图相似的子序列集合;
    • 在意图表征学习中主要包含两个模块,第一个是粗粒度的意图对比学习模块,这个模块直接通过对比学习将两个具有两个相同目标商品的子序列进行拉近,并且通过引入id监督信号过滤掉一些假的负样本(同一个batch内可能有多个子序列具有相同的目标商品);第二个是细粒度的意图对比学习模块,这个模块首先是对所有子序列得到的粗粒度的意图表示进行聚类,得到全局也即所有子序列的意图表示之后,通过查询操作(找每个子序列相近的细粒度的意图表示也即聚类中心)获取每个子序列的细粒度意图表示(可以看作是真实意图表示,考虑了全局的信息),然后让每个子序列的粗粒度的意图表示与其细粒度的意图表示进行拉近;
    • 第三个板块是推荐任务,使用的是交叉熵损失函数;

三、Data&Experiments

  • 数据集使用的是公开的数据集;

四、Performance

  • 从上表可以看出,提出的模型在三个数据集上所有指标都是明显优于现有模型的;

五、Ablation Study

  • 上表做的是关于提出模型模块的消融实验,观察上表可以发现:
    • 首先每一个模块都对于模型效果提升是有用的(比较A与其他所有的模块的结果可以发现)
    • 另外去掉细粒度意图对比学习,模型下降的效果比较明显,这表明了从全局出发对用户的兴趣进行建模比简单的从粗粒度的意图监督信号出发更加有效;
    • 另外去掉FNM模块也会对模型的效果有一定影响,这主要是因为在一个batch内出现具有相同目标商品的子序列的次数比较少,因此影响不会太大;
  • 上表做的是关于提出模型使用不同编码器的实验结果,观察上表可以发现:
    • 使用SASRec作为编码器效果会更好,这表明了transformer在建模序列任务上的优越性;
    • 另外使用GRU作为编码器也能提升模型的推荐表现,这表明了所提出框架的有效性;
    • 另外使用提出的框架可以弥补编码器带来的不足(比较B和C可以发现);

六、Conclusion

  • 综上所示,通过从用户的历史行为序列中捕捉用户的兴趣偏好可以极大地提高推荐的表现,另外还做了关于数据稀疏和噪音的实验,欢迎阅读论文;

七、References

1\] Qin, Xiuyuan, Huanhuan Yuan, Pengpeng Zhao, Guanfeng Liu, Fuzhen Zhuang, and Victor S. Sheng. "Intent Contrastive Learning with Cross Subsequences for Sequential Recommendation." *arXiv preprint arXiv:2310.14318* (2023).

相关推荐
小白菜又菜几秒前
Leetcode 2075. Decode the Slanted Ciphertext
算法·leetcode·职场和发展
Proxy_ZZ021 分钟前
用Matlab绘制BER曲线对比SPA与Min-Sum性能
人工智能·算法·机器学习
黎阳之光22 分钟前
黎阳之光:以视频孪生领跑全球,赋能数字孪生水利智能监测新征程
大数据·人工智能·算法·安全·数字孪生
小李子呢021143 分钟前
前端八股6---v-model双向绑定
前端·javascript·算法
2301_822703202 小时前
Flutter 框架跨平台鸿蒙开发 - 创意声音合成器应用
算法·flutter·华为·harmonyos·鸿蒙
cmpxr_2 小时前
【C】数组名、函数名的特殊
c语言·算法
weixin_156241575762 小时前
基于YOLOv8深度学习花卉识别系统摄像头实时图片文件夹多图片等另有其他的识别系统可二开
大数据·人工智能·python·深度学习·yolo
QQ676580082 小时前
AI赋能轨道交通智能巡检 轨道交通故障检测 轨道缺陷断裂检测 轨道裂纹识别 鱼尾板故障识别 轨道巡检缺陷数据集深度学习yolo第10303期
人工智能·深度学习·yolo·智能巡检·轨道交通故障检测·鱼尾板故障识别·轨道缺陷断裂检测
KAU的云实验台2 小时前
【算法精解】AIR期刊算法IAGWO:引入速度概念与逆多元二次权重,可应对高维/工程问题(附Matlab源码)
开发语言·算法·matlab
云程笔记2 小时前
002.计算机视觉与目标检测发展简史:从传统方法到深度学习
深度学习·yolo·目标检测·计算机视觉