Review-Enhanced Hierarchical Contrastive Learning for Recommendation
# 一、intro
# 1. 仅基于评分的推荐系统的问题
- 数据稀疏,少部分人给少部分商品评分
- 仅依赖评分的高低来建模用户偏好和商品特征是不够的
近年来,研究者提出了基于评论的推荐方法,通过NLP从评论中提取信息,从而更好地建模用户偏好。
# 2.现有基于评论的推荐系统中的问题
# 不完整的关系提取:
现有基于评论的系统主要有两种:
- 要么只从词的级别考虑,从评论中中提取关键词或主题,偏向于图结构
- 要么尝试捕获评论中的隐含语义,试图理解用户或物品之间的上下文关系,偏向于NLP
然而,现有的方法往往只关注其中一种,而忽略了用户生成的评论同时包含主题和语义信息。
# 冗余的评论信息:
评论文本可以提供用户兴趣的详细描述,但也常常包含大量冗余或重复的信息。这些冗余信息在提取评论知识时可能会引入不必要的噪声,影响推荐系统的效果。现有系统缺乏对这种冗余信息的特殊处理
# 一致的行为交互
在同一时间段内,评分和评论提供了互补的信号,它们之间存在行为上的关联,这些关联可以用来生成更鲁棒和交互性更强的embeddings。然而,现有的推荐系统缺乏对这种关联的深入探索。
# 3.作者的方法
为了解决上述问题,作者提出了一种基于图形的评论增强的层次对比学习方法
# 主题图和语义图使用LDA提取关键词主题,使用BERT提取评论语义信息,构成两种用户向量,然后通过计算相似性来决定用户之间是否连边,从而构建两张图
# 跨试图对比学习认为两种视图中都是邻居的为正样本,其他为负样本,进行对比学习
# 跨模式对比学习最小化评分和评论之间的相似性。使用一个投影函数,把评分和评论变成结构相同的向量,然后对同一个人的评分和评论进行对比学习
# 二、method
# 1. 图结构与编码
# 主题图构建
把用户的所有评论拼接在一起,使用LDA从评论中提取top-k个主题,将有相同主题的用户连接,商品同理。
# 语义图
首先,使用Siamese BERT网络来编码用户的评论。通过平均操作和最大池化,从用户的评论中生成语义嵌入。
计算两个用户嵌入之间的余弦相似度来度量用户之间的语义关系。基于计算出的用户相似度,选择相似度最高的前Q对用户,构建用户-用户语义图。类似地,也可以构建物品-物品语义图。
# 图编码
对初始图使用lightGCN。(初始图是什么?)
# 2.跨视图对比学习
# 基于embedding的数据增强
先过一个batchnorm,再过一个dropout
# 对比学习损失函数
使用InfoNCE(Noise Contrastive Estimation)损失函数
# 正样本对
不同视图的同一个用户
不同视图中均有边的邻居的用户
# 3.跨模式对比学习
把基于主题的特征和基于语义的特征拼接起来,得到用户的总的评论表示。通过“LightGCN” 编码用户-商品交互矩阵,得到用户的评分表示。
使用MLP把评分表示投影到评论表示,最大化统一用户二者的相似度。
# 4. 预测任务
把两种模式再拼接到一起得到用户和商品的最终表示,用户向量和商品向量的内积表示向量y,使用贝叶斯个性化排序算法得到预测损失(就是对于u,i,j,如果u和i有交互和j没有交互,则最大化y_ui和y_uj的差距。
最终的损失函数是预测任务误差+跨视图对比学习+跨模式对比学习
# 三、实验
# 数据集:亚马逊
# 三个广泛使用的指标:HIR比(HR),平均值等级(MRR)和归一化的折扣累积增益(NDCG)。
Hit Ratio (HR,命中率)
- 定义: 衡量推荐列表中包含用户真实偏好项目的比例
- 示例: 若用户最终点击了推荐Top10中的3个商品,则HR@10=3/10=30%
- 意义: 评估推荐系统的覆盖能力
Mean Reciprocal Rank (MRR,平均倒数排名)
- 定义: 第一个正确推荐项排名的倒数均值
- 公式: MRR = (1/rank₁ + 1/rank₂ + … +1/rankₙ)/n
- 特性: 强调高质量推荐应位于前列(如排名第1得1分,第2得0.5分)
Normalized Discounted Cumulative Gain (NDCG,归一化折损累积增益)
- 创新点: 同时考虑推荐排序和项目相关性
- 计算特点:
• 给高排名位置赋予更高权重
• 对项目相关度进行贴现处理(log折损)
• 通过理想排序结果进行归一化
# 对比方法
rating-GNN rating-GCL …