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

论文: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.rhkb.cn/news/35195.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Zabbix安装(保姆级教程)

Zabbix 是一款开源的企业级监控解决方案,能够监控网络的多个参数以及服务器、虚拟机、应用程序、服务、数据库、网站和云的健康状况和完整性。它提供了灵活的通知机制,允许用户为几乎任何事件配置基于电子邮件的告警,从而能够快速响应服务器问题。Zabbix 基于存储的数据提供…

【spring boot 实现图片验证码 前后端】

导入hutool依赖 <!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.36</version>获取验证码接口 Autowiredprivate Captcha captcha;private final static Long VALIDA…

arthas基础命令

文章目录 1. help2. cat3. grep4. pwd5. cls6. session7. reset8. version9. history10. quit11. stop12. keymapArthas 命令行快捷键后台异步命令相关快捷键小结 1. help 作用&#xff1a;查看命令帮助信息 2. cat 作用&#xff1a;打印文件内容&#xff0c;和linux里的cat命…

痉挛性斜颈护理宝典:重拾生活平衡

痉挛性斜颈会给患者的生活带来诸多不便&#xff0c;有效的健康护理对缓解症状、提升生活质量十分关键。 在日常活动方面&#xff0c;患者应保持正确的姿势。站立和坐姿要挺直脊背&#xff0c;避免长时间低头或歪头&#xff0c;减少颈部肌肉的额外负担。睡眠时&#xff0c;选择高…

虚拟定位 1.2.0.2 | 虚拟定位,上班打卡,校园跑步模拟

Fake Location是一款运行于安卓平台上的功能强大、简单实用的虚拟定位软件。它能够帮助用户自定义位置到地图上的任意地方&#xff0c;以ROOT环境运行不易被检测&#xff0c;同时也支持免ROOT运行。提供路线模拟、步频模拟、WIFI模拟等方式&#xff0c;支持反检测。 大小&…

C++基础 [五] - String的模拟实现

目录 前言 string类的模拟实现 成员函数的实现 构造函数 拷贝构造函数 赋值运算符重载 析构函数 元素访问的实现 operator[ ] Iterator - 迭代器 容量大小的实现 size capacity reserve ​编辑resize 内容修改的实现 push_back append operator(char ch) …

嵌入式硬件--开发工具-AD使用常用操作

ad16.1.12 1.如何显示/隐藏其他图层 在pcb界面点击L--试图界面中找到“视图选项”--单层模式选择 not in single layer mode 在pcb界面点击L--试图界面中找到“视图选项”--单层模式选择 gray scale other layers 【Altium】AD如何只显示一层&#xff0c;隐藏其他层显示&…

浏览器好用的去广告插件和暗黑模式护眼插件

提升浏览体验&#xff1a;Edge浏览器的Adblock和Dark Mode扩展 Adblock&#xff1a;告别广告干扰 功能&#xff1a;高效拦截弹窗、横幅和视频广告&#xff0c;提升网页整洁度&#xff0c;加快加载速度&#xff0c;节省流量。安装链接&#xff1a;安装Adblock Dark Mode for E…

MySQL-基础篇

从数据库的基础的概念特性到数据库当中的SQL语句&#xff0c;再到数据库当中的存储引擎、索引优化以及分库分表、数据库的集群&#xff0c;甚至于数据库的底层原理 MySQL概述SQL函数约束多表查询事务 这块由于上学期学过一些就速过。 MySQL概述 通过SQL就可以操作数据库管理…

fastapi+angular外卖系统

说明&#xff1a; fastapiangular外卖系统 1.美食分类&#xff08;粥&#xff0c;粉&#xff0c;面&#xff0c;炸鸡&#xff0c;炒菜&#xff0c;西餐&#xff0c;奶茶等等&#xff09; 2.商家列表 &#xff08;kfc&#xff0c;兰州拉面&#xff0c;湘菜馆&#xff0c;早餐店…

2025高频面试算法总结篇【递归回溯动态规划】

文章目录 递归&回溯131. 分割回文串面试题 08.12. 八皇后 动态规划72编辑距离5. 最长回文子串279. 完全平方数300. 最长递增子序列139. 单词拆分 递归&回溯 131. 分割回文串 回溯思路&#xff1a; 临界条件&#xff1a; if (start s.length) > 保存 循环遍历这个…

Ubuntu docker安装milvusdb

一、安装docker 1.更新软件包 sudo apt update sudo apt upgrade sudo apt-get install docker-ce docker-ce-cli containerd.io查看是否安装成功 docker -v二、使用国内的镜像下载 milvusdb Docker中国区官方镜像: https://registry.docker-cn.com milvusdb/milvus - Doc…

Redis如何实现持久化

Redis如何实现持久化 Redis默认将所有数据存储在内存中&#xff0c;虽然读写效率极高&#xff0c;但存在两大风险 数据易失性&#xff1a;进程重启或服务器宕机导致内存数据丢失。恢复成本高&#xff1a;无法直接通过内存重建大规模数据集。 Redis作为高性能的键值数据库&…

DeepSeek进阶应用(二):结合Kimi制作PPT(双AI协作教程)

&#x1f31f;引言&#xff1a; DeepSeek作为国产AI大模型&#xff0c;以强大的逻辑推理和结构化内容生成能力著称&#xff0c;擅长根据用户需求生成PPT大纲或Markdown文本&#xff1b;Kimi的PPT助手则能解析结构化内容并套用模板快速生成美观的PPT&#xff0c;两者结合实现“内…

查看分析日志文件、root密码不记得了,那应该怎么解决这些问题

下面我来讲解一下概念以及应该怎么做&#xff1a; 查看分析日志文件 一、主要日志文件 ♣ 内核及系统日志&#xff1a;这种日志数据由系统服务rsyslog统一管理&#xff0c;根据其主配置文件 /etc/rsyslog.conf 中的设置决定将内核消息及各种系统程序信息记录到什么位置。系统中…

mac电脑如何将wps接入deepseek (傻瓜式教学)

我的是mac pro m4 pro版本,版本不同页面或许有些许差异 首先将wps更新到最新的版本,并打开,点击 + 号 新建一个word文档 点击空白文档 点击开发工具,如果没有开发工具,可以先点击工具,在里面找到开发工具,然后点击宏安全性,设置为低,如下图所示

SpringMVC(五)拦截器

目录 拦截器基本概念 一 单个拦截器的执行 1 创建拦截器 2 SpringMVC配置&#xff0c;并指定拦截路径。 3 运行结果展示&#xff1a; 二 多个拦截器的执行顺序 三 拦截器与过滤器的区别 拦截器基本概念 SpringMVC内置拦截器机制&#xff0c;允许在请求被目标方法处理的…

3.17[A]CV

在计算机图形学中&#xff0c;反走样&#xff08;Antialiasing&#xff09; 是一种用于减少图像中锯齿状边缘&#xff08;aliasing artifacts&#xff09;的技术。当绘制曲线或图形时&#xff0c;由于像素的离散性&#xff0c;曲线边缘可能会出现锯齿状的失真。反走样通过考虑曲…

集成学习(上):Bagging集成方法

一、什么是集成学习&#xff1f; 在机器学习的世界里&#xff0c;没有哪个模型是完美无缺的。就像古希腊神话中的"盲人摸象"&#xff0c;单个模型往往只能捕捉到数据特征的某个侧面。但当我们把多个模型的智慧集合起来&#xff0c;就能像拼图一样还原出完整的真相&a…

【LangChain】理论及应用实战(5):Agent

文章目录 一、基本介绍1.1 Agent介绍1.2 Agent示例 二、几种主要的Agent类型2.1 ZERO_SHOT_REACT_DESCRIPTION2.2 CHAT_ZERO_SHOT_REACT_DESCRIPTION2.3 CONVERSATIONAL_REACT_DESCRIPTION2.4 CHAT_CONVERSATIONAL_REACT_DESCRIPTION2.5 OPENAI_FUNCTIONS 三、给Agent增加Memor…