WWW22-可解释推荐|用于推荐的神经符号描述性规则学习

news2025/6/1 14:21:26

论文来源:WWW 2022

论文链接:https://web.archive.org/web/20220504023001id_/https://dl.acm.org/doi/pdf/10.1145/3485447.3512042

最近读到一篇神经符号集成的论文24年底TOIS的,神经符号集成是人工智能领域中,将符号推理深度学习两大范式融合为一体的方法论。其核心目标在于让能够对“逻辑规则”做出明确、可解释推理的符号系统,同时具备对“噪声、非结构化数据”具有鲁棒处理能力的神经网络,得以相互补足,发挥各自优势。NS-ICF是这个方向的代表性工作之一,先讲解这篇。首先说一下神经符号推理和神经符号集成吧,都是致力于提升可解释性的,缓解推荐的黑盒问题。


1 神经符号推理

在推荐系统的研究与实践中,我们长期依赖基于用户-物品交互的深度学习模型来建模偏好。然而,传统神经网络虽能自动提取特征,却很难解释模型为何推荐某个物品。这不仅削弱了用户信任,也限制了系统的调试与监管能力。为解决这一问题,近年来一种新兴范式逐渐受到关注 —— 神经符号推理。神经符号推理是一种融合 符号逻辑系统 与 神经网络表示学习 的方法。它的核心理念是:用逻辑规则表达可解释的推荐偏好,用神经网络学习这些规则的表达与组合方式(两篇论文我都大致看了一下,最重要的就是表达与组合方式,两者有所不同)

在推荐场景中,这种方法不再仅仅关注用户交互 embedding,而是尝试将用户偏好建模为逻辑表达式,如:(偏好:男装 ∧ 羊毛)∨(偏好:冬季 ∧ 大码),也就是说,系统不仅知道用户喜欢某个 item,还能以逻辑因果的方式解释:用户喜欢它是因为它是“男装”和“羊毛”属性的组合。

推荐系统中的“符号”通常基于离散的item 属性、用户标签或上下文信息。

  • 属性 A = “男装”

  • 属性 B = “羊毛”

  • 属性 C = “冬季”

  • 属性 D = “大码”

 神经符号模型会通过逻辑运算符(如 AND、OR)组合这些属性:

  • AND (∧):用户偏好同时具备 A 和 B 的物品。

  • OR (∨):用户偏好 A 或 B 中的任意一个。

  • NOT (¬):用户不喜欢包含某个属性的物品。


2  神经符号集成

神经符号推理的核心目标,是将逻辑结构编码进神经网络中,使得模型能学习并解释用户的偏好组合规则:首先将 AND、OR 等符号运算 映射为神经网络可学习的算子。例如:

AND 运算的建模方式:

OR 运算的建模方式:

e为属性的嵌入, 每种运算符都有独立的 MLP 参数,把逻辑算子作为一个可学习的运算单元,实现从离散符号到连续空间的映射。

其次要选择用“AND”还是“OR”连接:

例如使用Gumbel-Softmax(TOIS24)或者Soft Controller(WWW22)

流程:属性向量化,属性对选择,逻辑操作建模,逻辑结构构建,生成预测

预测的公式:,也就是最终生成逻辑操作的embedding和用户的cancat


3 动机

推荐系统的可解释性研究大致可分为三个层次:特征级、结果级和模型级,然而:

  • 特征级解释主要基于注意力权重或属性贡献度评分,尽管可以揭示个别属性对推荐的影响,但仍高度依赖深度模型中的隐向量表示,缺乏结构化和直观性,用户难以理解推荐背后的真正逻辑。

  • 结果级解释则常通过后处理方式(如生成推荐理由)向用户展示“看似合理”的解释,但这些解释往往并未参与模型建模过程,无法反映模型本身的行为或决策依据。

  • 模型级解释理应具备端到端的可解释性,即通过观察模型结构或参数即可获得解释(如决策树)。然而推荐系统常采用深度神经网络等复杂结构,这种模型级解释难以实现。即便部分方法尝试利用知识图谱生成推理路径,或借助逻辑规则定义辅助损失函数,仍然无法有效增强模型的整体可解释性。


4 贡献

第一个无需依赖外部资源就能为推荐系统学习逻辑规则的神经符号架构。 将嵌入与提出的神经符号架构融合,不仅实现了个性化的规则权重,而且保留了可解释性。

  • 提出了一个神经符号推荐框架 NS-ICF,引入一个三塔结构:分别用于建模用户项目嵌入和属性级的符号组合。该结构通过逻辑表达式的方式显式表示用户对属性组合的偏好,支持生成可解释推荐理由。

  • 设计了一个评分监督的表达式构建机制,通过构造逻辑表达式树来组合属性嵌入,学习逻辑结构( conjunction ∧ 和 disjunction ∨)与评分信号的一致性,实现在评分驱动下的表达式学习。

  • 提出了一种训练策略和优化目标,使模型可以自动搜索具有良好表示性和可解释性的表达式结构,并保持推荐准确性,无需外部规则或先验知识。


5 Preliminaries

预测在使用用户和项目的嵌入基础上还使用了属性

RRL:学习物品属性的逻辑组合规则(逻辑表达式),作为可解释表示。包含:

Binarization Layer(离散化层):将输入的属性值划分为多个区间(年龄、价格得分一下,性别职业不用)

Logical Layers(逻辑层):包含两个类型的节点:和以及与,构造逻辑表达树

Linear Layer(线性层):每个逻辑规则分配一个权重,做加权组合


6 模型

6.1 三塔结构

输入用户和物品的属性,使用Binarization Layer(离散化层)离散化为多个区间(年龄)

然后将离散化后的连续值和原始离散值拼接,构造逻辑层的输入:

构造三个逻辑塔,用户塔使用用户所有属性,用户-物品塔使用拼接后的用户-物品属性,建模交互规则:

每一层逻辑操作都基于Preliminaries提到的运算函数,三塔输出结果再次拼接,送入顶层逻辑层,构造最终的规则表示:

 oui​∈{0,1}(维度为K的0-1 向量):每个维度代表一个可解释规则是否成立(对应规则是否从逻辑层输出使用),什么叫成立呢:如果用户性别是男性 ∧ 物品是冬季外套 → 成立

4.2 用户项目嵌入融合

引入用户嵌入 eu​ 和物品嵌入ei​,用以生成个性化的规则权重向量:

 使用两层全连接层映射到规则维度的权重空间,这里使用到了用户和项目嵌入,最终进行预测:

W为 个性化逻辑权重,O为规则表示,训练使用BCE

 4.3 模型使用

模型实际上是一个逻辑集,具有个性化的逻辑权重来组合逻辑。 因此,可以提取出符合模型推理过程的逻辑推荐规则。 每个规则都是通过以下过程提取的:

对于顶层逻辑层中的节点,将其作为起始位置,并对低层的所有节点进行路径搜索。 搜索路径中的边对应二值化后权值为1的边(o)。

然后将其转化为多分支树结构的遍历问题,并采用序遍历算法。 如果当前搜索到达某个输入属性,则可以将该属性添加到逻辑中。 

所提取的推荐规则集具有许多内在优点:(1)易于使用。 即使没有人工智能背景知识的用户也很容易知道规则的机制。 (2)在不同的计算环境(包括轻量级移动设备)上易于部署。 (3)有助于避免伦理和社会问题。 政府监管机构、系统管理员或领域专家可以删除可能导致公平性等问题的规则。


5 总结

论文说了其实是一个​路径搜索问题,那么三塔结构在输入当前用户和项目对应的属性后,进行搜索路径中的边对应二值化后权值为1的边,也就是Oui,例如有三条:Rule 1 男装 ∧ 冬季;Rule 2 女性 ∧ 连衣裙;Rule 3 青年 ∧ 潮流。那么在搜索时Rule 1和3的Oui是1,Rule 2是0

wui​ 是一次性生成的 K-维向量,输入只依赖于当前用户和项目的ID embedding,每一维度是独立可学习的,每个维度都可以在训练中自由学习如何映射出个性化权重。因此使用权重结合所有Oui为1的逻辑规则进行预测。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2393060.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux:shell脚本常用命令

一、设置主机名称 1、查看主机名称 2、用文件的方式更改主机名称 重启后: 3、 通过命令修改主机名 重启后: 二、网络管理命令 1、查看网卡 2、设置网卡 (1)网卡未被设置过时 (2)当网卡被设定&#xff0c…

OpenTelemetry × Elastic Observability 系列(一):整体架构介绍

本文是 OpenTelemetry Elastic Observability 系列的第一篇,将介绍 OpenTelemetry Demo 的整体架构,以及如何集成 Elastic 来采集和可视化可观测性数据。后续文章将分别针对不同编程语言,深入讲解 OpenTelemetry 的集成实践。 程序架构 Op…

STM32高级物联网通信之以太网通讯

目录 以太网通讯基础知识 什么是以太网 互联网和以太网的区别 1)概念与范围 (1)互联网 (2)以太网 2)技术特点 (1)互联网 (2)以太网 3)应…

历年西安交通大学计算机保研上机真题

2025西安交通大学计算机保研上机真题 2024西安交通大学计算机保研上机真题 2023西安交通大学计算机保研上机真题 在线测评链接:https://pgcode.cn/school 计算圆周率近似值 题目描述 根据公式 π / 4 1 − 1 / 3 1 / 5 − 1 / 7 … \pi / 4 1 - 1/3 1/5 - …

基本数据指针的解读-C++

1、引言 笔者认为对于学习指针要弄清楚如下问题基本可以应付大部分的场景: ① 指针是什么? ② 指针的类型是什么? ③ 指针指向的类型是什么? ④ 指针指向了哪里? 2、如何使用指针 使用时的步骤如下: ① …

基于多模态脑电、音频与视觉信号的情感识别算法【Nature核心期刊,EAV:EEG-音频-视频数据集】

简述 理解情感状态对于开发下一代人机交互界面至关重要。社交互动中的人类行为会引发受感知输入影响的心理生理过程。因此,探索大脑功能与人类行为的努力或将推动具有类人特质人工智能模型的发展。这里原作者推出一个多模态情感数据集,包含42名参与者的3…

【QueryServer】dbeaver使用phoenix连接Hbase(轻客户端方式)

一、轻客户端连接方式 (推荐) 演示无认证配置方式, 有认证填入下方有认证参数即可 1, 新建连接 → Hadoop/大数据 → Apache Phoenix 2, 手动配置QueryServer驱动: 填入: “类名”, “URL模版”(注意区分有无认证), “端口号”, (勾选无认证) 类名: org.apache.phoenix…

[9-1] USART串口协议 江协科技学习笔记(13个知识点)

1 2 3 4全双工就是两个数据线,半双工就是一个数据线 5 6 7 8 9 10 TTL(Transistor-Transistor Logic)电平是一种数字电路中常用的电平标准,它使用晶体管来表示逻辑状态。TTL电平通常指的是5V逻辑电平,其中:…

Oracle基础知识(五)——ROWID ROWNUM

目录 一、ROWID 伪列 二、ROWNUM——限制查询结果集行数 1.ROWNUM使用介绍 2.使用ROWNUM进行分页查询 3.使用ROWNUM查看薪资前五位的员工 4.查询指定条数直接的数据 三、ROWNUM与ROWID不同 一、ROWID 伪列 表中的每一行在数据文件中都有一个物理地址,ROWID…

EMS只是快递那个EMS吗?它跟能源有什么关系?

在刚刚落幕的深圳人工智能终端展上,不少企业展示了与数字能源相关的技术和服务,其中一项关键系统——EMS(Energy Management System,能量管理系统)频频亮相。这个看似低调的名字,实际上正悄然成为未来能源管…

日志技术-LogBack、Logback快速入门、Logback配置文件、Logback日志级别

一. 日志技术 1. 程序中的日志,是用来记录应用程序的运行信息、状态信息、错误信息等。 2. JUL:(java.util.logging)这是JavaSE平台提供的官方日志框架,也被称为JUL。配置相对简单,但不够灵活,性能较差。 3.Logs4j&…

修改Cinnamon主题

~/.themes/Brunnera-Dark/cinnamon/cinnamon.css 1.修改 Tooltip 圆角大小,边框颜色,背景透明度 #Tooltip { border-radius: 10px; color: rgba(255, 255, 255, 0.8); border: 1px solid rgba(255, 255, 255, 0.6); background-color: rgba(0,…

91.评论日记

2025年5月30日20:27:06 AI画减速器图纸? 呜呜为什么读到机械博士毕业了才有啊 | 新迪数字2025新品发布会 | AI工业软件 | 三维CAD | 国产自主_哔哩哔哩_bilibili

HTML5实现简洁的端午节节日网站源码

HTML5实现简洁的端午节节日网站源码 前言一、设计来源1.1 网站首页界面1.2 端午由来界面1.3 节日活动界面1.4 传统美食界面1.5 民俗文化界面1.6 登录界面1.7 注册界面 二、效果和源码2.1 动态效果2.2 源代码 结束语 HTML5实现简洁的端午节节日网站源码,酷炫的大气简…

Window10+ 安装 go环境

一、 下载 golang 源码: 去官网下载: https://go.dev/dl/ ,当前时间(2025-05)最新版本如下: 二、 首先在指定的磁盘下创建几个文件夹 比如在 E盘创建 software 文件夹 E:\SoftWare,然后在创建如下几个文件夹 E:\S…

一、Sqoop历史发展及原理

作者:IvanCodes 日期:2025年5月30日 专栏:Sqoop教程 在大数据时代,数据往往分散存储在各种不同类型的系统中。其中,传统的关系型数据库 (RDBMS) 如 MySQL, Oracle, PostgreSQL 等,仍然承载着大量的关键业务…

React 编译器 RC

🤖 作者简介:水煮白菜王,一位前端劝退师 👻 👀 文章专栏: 前端专栏 ,记录一下平时在博客写作中,总结出的一些开发技巧和知识归纳总结✍。 感谢支持💕💕&#…

关于表连接

目录 1.左连接 2.右连接 3.内连接 4.全外连接 5.笛卡尔积 -- 创建表A CREATE TABLE A(PNO VARCHAR2(10) PRIMARY KEY, PAMT NUMBER, A_DATE DATE);-- 向表A插入数据 INSERT INTO A VALUES (01001, 100, TO_DATE(2005-01-01, YYYY-MM-DD)); INSERT INTO A VALUES (010…

【计算机网络】fork()+exec()创建新进程(僵尸进程及孤儿进程)

文章目录 一、基本概念1. fork() 系统调用2. exec() 系列函数 二、典型使用场景1. 创建子进程执行新程序2. 父子进程执行不同代码 三、核心区别与注意事项四、组合使用技巧1. 重定向子进程的输入/输出2. 创建多级子进程 五、常见问题与解决方案僵尸进程(Zombie Proc…

Word表格怎样插入自动序号或编号

在Word文档中编辑表格时,经常需要为表格添加序号或编号,可以设置为自动序号或编号,当删除行时,编号会自动变化,不用手工再重新编号。如图所示。 序号数据1数据21300300230030033003004300300 一,建立word表…