当前位置: 首页 > article >正文

因果推荐|可解释推荐系统的反事实语言推理

论文:https://arxiv.org/pdf/2503.08051

代码:GitHub - kylokano/CausalX

很新的论文,南大五天前挂到arxiv的,代码基于Recbole,没给全但是提供了足够的验证。


1 动机

可解释推荐不仅提供高质量的推荐,而且提供清晰透明的解释,从而大大提高了用户的信任和满意度。目前的可解释推荐方法主要分为两类:

1)后处理方法(图b):先生成推荐结果,然后再利用外部模块(如注意力机制、因果推断等)来解释推荐结果。然而,这样的解释往往与推荐过程无关,用户可能会质疑其可信度。大语言模型大多数方法仅在推荐结果生成后利用 LLMs 进行后处理,导致解释和推荐之间缺乏内在一致性。

2)并行生成方法(图c):在推荐生成的同时生成解释,但由于推荐模块和解释模块在底层仍然是独立的,这可能导致推荐结果和解释不一致,甚至矛盾。

现有可解释推荐方法大多忽略了因果推理,解释应该是推荐的因,而推荐结果是果,而不是像后处理和并行方法那样,如图a所示 用户特征和项目属性直接决定用户-项目匹配(𝑈,𝐼→𝑀)。 用户-项目匹配M,直接影响解释(𝑀→Y),进而影响推荐结果(M→𝑌)。 此外存在流行度偏差(图4),流行度偏差不仅影响推荐质量,还可能影响解释的可信度。


2 贡献

1:提出了因果推理赋能的可解释推荐框架(CausalX),通过因果图构建推荐因果关系,使得推荐结果是基于解释推导出的,相较于传统后处理方法和并行方法,确保推荐和解释之间的因果一致性。

2:基于反事实推理,对推荐过程进行干预,减少流行度偏差的影响,确保推荐公平性。将 LLM直接融入推荐流程,让 LLM 不仅用于生成解释,还能通过因果推理参与推荐生成,提高推荐质量和解释的一致性。


3 因果图

因果图中的节点:U:用户画像,包括用户的历史行为、兴趣偏好等;I:物品特征,如类别、价格、流行度等;M:用户和物品的匹配度,表示用户对物品的潜在兴趣;E:推荐的解释,说明为什么推荐某个物品;Y:最终的推荐结果;P:流行度偏差。

用户和物品特征影响匹配度:U,I→M

匹配度决定解释:M→E

流行度影响物品曝光:P→I;流行度影响推荐解释:P→E

解释影响最终推荐结果:E→Y


 4 模型

CausalX分为三个模块:用户项目匹配模块、解释选择模块和基于llm的推荐模块。 用户-物品匹配模块提供基于用户和物品特征的匹配嵌入,对应因果图中的U,I→M。 解释选择模块是候选解释生成和偏向解释选择的组合,代表因果图中的M,P→E。 对于候选解释的生成,利用大型语言模型来生成潜在的解释。 偏见解释选择模块选择与用户兴趣最相关的解释,同时减轻流行偏见。 基于llm的推荐模块根据选择的解释产生推荐结果。 

4.1 用户-物品匹配模块

矩阵分解和 MLP相结合的方式来建模用户与物品的匹配关系:

4.2 解释选择模块

基于用户-项目匹配直接生成解释似乎很直观,但通常有大量候选项目,这种方法在实际场景中是不切实际的。 为每个项目生成解释将导致许多不正确的输出,因为用户通常对大多数项目不感兴趣。 首先从训练集中构造一组候选解释。 然后,进行反事实分析,从理论上消除人气偏差对解释P→E过程的影响。​

4.2.1候选解释生成

可解释推荐系统需要为用户的交互提供合理的解释。由于用户对同一物品的交互可能有多种原因,采用LLM 生成多个候选解释,然后进行筛选,以提高推荐解释的质量和可信度。对于每个用户-物品交互样本(用户,项目以及反馈-点击)生成一组解释:

由于 LLM 生成的解释可能存在冗余或过于相似的内容,采用语义聚类方法来筛选出具有代表性的解释。使用预训练语言模型 MiniLM 计算每个解释的语义嵌入,接着层次密度聚类,在聚类后的每个簇中随机选择一个解释,确保最终解释集既能代表用户意图,又能保持多样性。筛选出的解释 与原始交互数据 D结合,形成增强数据集:

4.2.2 流行度偏差的因果分析

​流行度 P 影响推荐解释的路径有两条:直接路径 P→E;间接路径 P→I→M→E,这一路径合理,因为流行度高的物品更容易被用户看到,并影响其点击行为。

对因果变量的干预表示为do操作,希望估计用户-物品匹配 M对解释 E因果影响,并去除流行度 P的直接影响。T_{M\rightarrow E}^E表示用户兴趣对推荐解释的真实影响,T_{P\rightarrow E}^E表示流行度偏差对推荐解释的影响,T_{E}^{Total}表示总影响。用反事实推理来估计T_{M\rightarrow E}^E并进行去偏处理。

公式2 计算总影响T_{E}^{Total}fe​(M,P)表示用户匹配 M和流行度 P共同决定的推荐解释;fe​(do(M∗)表示反事实世界中,人为干预 M∗和P∗ 的情况下,推荐系统生成的解释。

公式3计算流行度的直接影响,通过控制M∗,可以分析流行度 P对解释 E的直接影响。

公式4计算用户兴趣的因果影响

4.2.3 因果分析

利用因果推理 和反事实推理,确保推荐解释能够真实反映用户兴趣。偏解释选择的核心目标:估计真实场景 fe(M,P)反事实场景 fe(do(M∗),计算出流行度对解释的影响,并去除这一影响。

流行度表征:使用数据集中记录的交互频率来近似。项目的频率分布通常遵循长尾模式。 为了获得更均匀的分布,首先对频率应用对数变换,然后最小-最大归一化:

由于nj可能无法充分表示流行度的复杂性Bucket 分桶策略,将物品划分到 K个流行度区间,每个区间 k计算权重并计算该物品的流行度向量表示:

 平滑处理流行度分布,防止因流行度极端值(如超热门或极冷门)造成的解释偏差。

真实场景 fe(M,P)解释受到用户和物品流行度的影响。将用户项匹配表示𝑚与流行表示𝑣𝑛连接起来,并使用多层感知器

反事实场景 fe(do(M∗) :用户兴趣 M被固定,仅受流行度 P影响,计算反事实解释:

去偏推理

在推理阶段,从所有候选解释中,选择去偏得分最高的解释:

通过最大化所有候选项目中每个解释的分数,确定整个候选项目集中最适合用户的解释

 模型训练:采用增强数据集,结合反事实推理和去偏损失函数,优化解释质量,同时减小流行度偏差的影响。

真实场景解释评分:

反事实解释评分:

真实场景损失:

反事实损失:

模型损失:

4.3 LLM推荐

在获得流行度偏差解释后,利用大型语言模型来完成推荐任务,利用其出色的推理能力。 推荐过程遵循因果关系E→Y:

用于生成推荐结果的Prompt: 


 5 总结

首先利用 LLM 生成候选解释,由于 LLM 生成的解释可能存在冗余,采用了聚类进行去重,选取代表性解释。其次进行反事实推理,计算真实场景解释(用户兴趣 + 流行度)和反事实解释(只用流行度,不用用户兴趣),从真实场景解释中去除流行度影响,得到一个更加个性化的解释评分,在所有候选解释中,选择去偏得分最高的解释作为最终推荐理由。最后使用 LLM生成最终的推荐排序


http://www.kler.cn/a/589453.html

相关文章:

  • Spring Boot 整合 Elasticsearch:打造高性能全文检索实战
  • Mac电脑python 有没有ros接口 查看lidar的数据
  • WEB安全--SQL注入--DNSlog外带
  • 时区转换工具
  • X86 RouterOS 7.18 设置笔记六:端口映射(IPv4、IPv6)及回流问题
  • 无SIM卡时代即将来临?eSIM才是智联未来?
  • 一键批量txt转DWG,DWG转txt——插件实现 CAD c#二次开发
  • 基于Flask的东方财富网股票数据可视化分析系统
  • 基于python的图书馆书目推荐数据分析与可视化-django+spider+vue
  • 直击行业痛点,赛逸展2025科技创新奖推陈出新
  • Flutter_学习记录_ ImagePicker拍照、录制视频、相册选择照片和视频、上传文件
  • PHP:从入门到进阶的编程之旅
  • 语言大模型的模型微调方法LoRA
  • Linux进程状态详解:僵尸进程与孤儿进程的深度探索与实践
  • idea如何新建springboot项目
  • OpenManus:无需邀请码的开源版Manus,开启自动化新纪元
  • 2024山东大学计算机复试上机真题
  • 50个常用的DeepSeek提示词
  • linux环境下快速输出电脑的系统/硬件/显卡/网络/已安装软件等信息
  • 查看IP地址/Ping 命令