
摘要
尽管在推荐任务中表现出色,协同过滤(Collaborative Filtering, CF)方法仍面临数据稀疏性的挑战。为应对这一问题,研究者们开始引入对比学习(contrastive learning),以注入额外的自监督信号。然而,该方法往往无意中将目标用户或物品与它们的协同邻居拉远,从而限制了其有效性。针对这一问题,我们提出一种新方案:将锚点节点(anchor node)的协同邻居视为最终目标损失函数中的正样本。本文重点设计了两种独特的监督对比损失函数,能够有效融合监督信号与对比损失。通过梯度分析,我们揭示了不同正样本在更新锚点节点嵌入时的协同影响机制,其作用强度取决于正样本与锚点之间的相似性以及与负样本的差异程度。在基于图的协同过滤模型基础上,沿用现有对比学习模型SGL的数据增强方法,我们显著提升了推荐模型的性能。所提出的邻域增强型监督对比损失(Neighborhood-Enhanced Supervised Contrastive Loss, NESCL)模型,以新型损失函数替代SGL中的对比损失函数,实现了显著的性能提升。在Yelp2018、Gowalla和Amazon-Book三个真实数据集上,本模型在NDCG@20指标上分别较原始SGL提升了10.09%、7.09%和35.36%。
代码仓库
PeiJieSun/NESCL
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| collaborative-filtering-on-gowalla | NESCL | NDCG@20: 0.1617 Recall@20: 0.1917 |
| collaborative-filtering-on-yelp2018 | NESCL | NDCG@20: 0.0611 Recall@20: 0.0743 |
| recommendation-systems-on-amazon-book | NESCL | Recall@20: 0.0624 nDCG@20: 0.0513 |
| recommendation-systems-on-gowalla | NESCL | Recall@20: 0.1917 nDCG@20: 0.1617 |
| recommendation-systems-on-yelp2018 | NESCL | NDCG@20: 0.0611 Recall@20: 0.0743 |