WWW22-可解释推荐|用于推荐的神经符号描述性规则学习
论文来源: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的逻辑规则进行预测。
相关文章:

WWW22-可解释推荐|用于推荐的神经符号描述性规则学习
论文来源:WWW 2022 论文链接:https://web.archive.org/web/20220504023001id_/https://dl.acm.org/doi/pdf/10.1145/3485447.3512042 最近读到一篇神经符号集成的论文24年底TOIS的,神经符号集成是人工智能领域中,将符号推理与深…...

Linux:shell脚本常用命令
一、设置主机名称 1、查看主机名称 2、用文件的方式更改主机名称 重启后: 3、 通过命令修改主机名 重启后: 二、网络管理命令 1、查看网卡 2、设置网卡 (1)网卡未被设置过时 (2)当网卡被设定,…...
专业课复习笔记 11
从今天开始每天下午复习专业课。慢慢复习专业课。目标至少考一个一百分吧。毕竟专业课还是比较难的。要是考不到一百分,我感觉自己就废掉了呢。下面稍微复习一下计组。 复习指令格式和数据通路设计。完全看不懂,真是可恶啊。计组感觉就是死记硬背&#…...

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

STM32高级物联网通信之以太网通讯
目录 以太网通讯基础知识 什么是以太网 互联网和以太网的区别 1)概念与范围 (1)互联网 (2)以太网 2)技术特点 (1)互联网 (2)以太网 3)应…...
从Java的Jvm的角度解释一下为什么String不可变?
从Java的Jvm的角度解释一下为什么String不可变? 从 JVM 的角度看,Java 中 String 的不可变性是由多层次的机制共同保障的,这些设计涉及内存管理、性能优化和安全保障: 1. JVM 内存模型与字符串常量池 字符串常量池(St…...
从零开始的数据结构教程(四) 图论基础与算法实战
🌐 标题一:图的表示——六度空间理论如何用代码实现? 核心需求 图(Graph)是用于表达实体间关系的强大数据结构,比如社交网络中的好友关系,或者城市路网的交叉路口连接。关键在于如何高效存储和…...

历年西安交通大学计算机保研上机真题
2025西安交通大学计算机保研上机真题 2024西安交通大学计算机保研上机真题 2023西安交通大学计算机保研上机真题 在线测评链接:https://pgcode.cn/school 计算圆周率近似值 题目描述 根据公式 π / 4 1 − 1 / 3 1 / 5 − 1 / 7 … \pi / 4 1 - 1/3 1/5 - …...
可视化与动画:构建沉浸式Vue应用的进阶实践
在现代Web应用中,高性能可视化和流畅动画已成为提升用户体验的核心要素。本节将深入探索Vue生态中的可视化与动画技术,分享专业级解决方案与最佳实践。 一、 Canvas高性能渲染体系 01、Konva.js流程图引擎深度优化 <template><div class"…...
Python |GIF 解析与构建(3):简单哈希压缩256色算法
Python |GIF 解析与构建(3):简单哈希压缩256色算法 目录 Python |GIF 解析与构建(3):简单哈希压缩256色算法 一、算法性能表现 二、算法核心原理与实现 (一…...
蓝桥杯2114 李白打酒加强版
问题描述 话说大诗人李白, 一生好饮。幸好他从不开车。 一天, 他提着酒显, 从家里出来, 酒显中有酒 2 斗。他边走边唱: 无事街上走,提显去打酒。 逢店加一倍, 遇花喝一斗。 这一路上, 他一共遇到店 N 次, 遇到花 M 次。已知最后一次遇到的是花, 他正好把酒喝光了。…...

基本数据指针的解读-C++
1、引言 笔者认为对于学习指针要弄清楚如下问题基本可以应付大部分的场景: ① 指针是什么? ② 指针的类型是什么? ③ 指针指向的类型是什么? ④ 指针指向了哪里? 2、如何使用指针 使用时的步骤如下: ① …...
Android Studio里的BLE数据接收策略
#本人是初次接触Android蓝牙开发,若有不对地方,欢迎指出。 #由于是讲接收数据策略(其中还包含数据发送的部分策略),因此其他问题部分不会讲述,只描述数据接收。 简介(对于客户端---手机端) 博主在处理数据接收的时候࿰…...
【Office】Excel两列数据比较方法总结
在Excel中,比较两列数据是否相等有多种方法,以下是常用的几种方式: 方法1:使用公式(返回TRUE/FALSE) 在空白列(如C列)输入公式,向下填充即可逐行比较两列(如…...

基于多模态脑电、音频与视觉信号的情感识别算法【Nature核心期刊,EAV:EEG-音频-视频数据集】
简述 理解情感状态对于开发下一代人机交互界面至关重要。社交互动中的人类行为会引发受感知输入影响的心理生理过程。因此,探索大脑功能与人类行为的努力或将推动具有类人特质人工智能模型的发展。这里原作者推出一个多模态情感数据集,包含42名参与者的3…...

【QueryServer】dbeaver使用phoenix连接Hbase(轻客户端方式)
一、轻客户端连接方式 (推荐) 演示无认证配置方式, 有认证填入下方有认证参数即可 1, 新建连接 → Hadoop/大数据 → Apache Phoenix 2, 手动配置QueryServer驱动: 填入: “类名”, “URL模版”(注意区分有无认证), “端口号”, (勾选无认证) 类名: org.apache.phoenix…...
数据湖 (特点+与数据仓库和数据沼泽的对比讲解)
数据湖就像一个“数据水库”,把企业所有原始数据(结构化的表格、半结构化的日志、非结构化的图片/视频)原样存储,供后续按需分析。 对比传统数据仓库: 数据仓库数据湖数据清洗后的结构化数据(如Excel表格&…...
深入链表剖析:从原理到 C 语言实现,涵盖单向、双向及循环链表全解析
1 引言 在数据结构的学习中,链表是一种基础且极为重要的线性数据结构。与数组不同,链表通过指针将一系列节点连接起来,每个节点包含数据域和指向下一个节点的指针域。这种动态的存储方式使得链表在插入、删除等操作上具有独特的优势。本文将深…...
编码总结如下
VS2019一般的编码是UTF-8编码, win11操作系统的编码可能为GB2312,VS整个工程中使用的都是UTF-8编码,但是在系统内生成的其他文件夹的名字则是系统的编码 如何选择? Qt 项目:优先用 QString 和 QByteArray(…...
《算力觉醒!ONNX Runtime + DirectML如何点燃Windows ARM设备的AI引擎》
ONNX Runtime是一个跨平台的高性能推理引擎,它就像是一位精通多种语言的翻译官,能够无缝运行来自不同深度学习框架转化为ONNX格式的模型。这种兼容性打破了框架之间的隔阂,让开发者可以将更多的精力投入到模型的优化和应用中。 从内部机制来…...

[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…...
简述synchronized和java.util.concurrent.locks.Lock的异同 ?
主要相同点: Lock能完成synchronized所实现的所有功能。 主要不同点: Lock有比synchronized更精确的线程语义和更好的性能。synchronized会自动释放锁,而Lock一定要求程序员手工释放,并且必须在finally从句中释放Lock还有更强大…...
OpenCV CUDA模块直方图计算------在 GPU 上计算图像直方图的函数calcHist()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 OpenCV 的 CUDA 模块 中用于在 GPU 上计算图像直方图的一个函数。 计算单通道 8-bit 图像的灰度直方图(Histogram)。 该函…...

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…...