知识推理 1(逻辑 / 图 / 统计)
Views: --
对应 PPT:第9讲 重点:推理的分类、基于逻辑的推理、AMIE 规则学习、基于图结构的 PRA、强化学习多跳推理。
1. 推理概述
1.1 推理的定义
推理是通过已有知识推断出未知知识的过程。 是认知世界的重要途径:思考、认知、理解。
1.2 为什么 KG 需要推理
- 大部分开放 KG(Freebase、DBpedia)由人工或半自动构建
- KG 比较稀疏,大量实体间隐含关系没被挖掘
- 推理的 2 大任务:
- 知识图谱补全(KGC):预测尚未存储的隐性知识
- 知识库问答(KBQA):补全技术支持问答
2. 推理的 5 大分类(必背)
2.1 演绎推理(自上而下,top-down)
- 给定前提 → 推断必然成立的结论
- 3 种形式(重点记例子):
| 形式 | 含义 | 例子 |
|---|---|---|
| 肯定前件假言推理 | 肯定前件 → 肯定后件 | ”如果今天是星期一 → 小明上 KG 课” + “今天是星期一” → “小明上 KG 课” |
| 否定后件假言推理 | 否定后件 → 否定前件 | ”如果今天星期一 → 小明上 KG 课” + “小明不上 KG 课” → “今天不是星期一” |
| 假言三段论 | 两个假言串联 | ”好好学习 → 好工作” + “好工作 → 好收入” → “好好学习 → 好收入” |
2.2 归纳推理(自下而上)
- 基于已有部分观察得出一般结论
- 2 种形式:
| 形式 | 含义 | 例子 |
|---|---|---|
| 归纳泛化 | 个体观察 → 整体结论 | 抽样 4 球中 3 白 1 黑 → 推断 20 球中约 15 白 5 黑 |
| 统计推理 | 整体统计结论 → 个体 | 90% 高中生上大学 + 小明是高中生 → 小明 90% 上大学 |
期末爱考辨析:统计推理是把统计的”群体结论”应用到个体,归纳泛化是从个体推整体。
2.3 溯因推理
- 已知观察 O + 知识 T → 推断最简单、最可能的解释 E
- 例:T=“下雨 → 马路湿” + O=“马路湿” → E=“下雨了”
- 是归纳的一种(前提和结论无必然关系)
2.4 类比推理
- 在两个事物间找类比信息,把已知事物的结论迁移到新事物
- 例:小明和小红同龄、都喜欢 A 和 B、小明还喜欢 C → 小红也可能喜欢 C
3. 面向 KG 的推理:3 大方法
| 方法 | 代表 |
|---|---|
| 基于逻辑的推理 | FOPL 规则、描述逻辑、AMIE |
| 基于图结构的推理 | PRA(Path Ranking Algorithm) |
| 基于表示学习的推理 | TransE 等(第 10、11 讲) |
4. 基于逻辑的知识推理
4.1 规则的一般形式
- 规则主体(body)由若干个原子(atom) 逻辑合取组成
- 原子 = 含变量的元组(一元或二元)
例子:
isLocation(X)是一元原子hasWife(X, Y)是二元原子
4.2 规则的肯定/否定形式
body+= 以肯定形式出现的原子的合取body-= 以否定形式出现的原子的合取
例:
- 若 X 的妻子是 Y,Y 的孩子有 Z,且 X 和 Y 不曾离婚 → X 的孩子有 Z
- 这里的”不曾离婚”是否定原子
4.3 规则的 3 种类型
| 类型 | 形式 | 表达能力 |
|---|---|---|
| 一般规则 | head ← body | 最强 |
| 霍恩规则(Horn rules) | (全肯定) | 中 |
| 路径规则(path rules) | 二元原子构成路径 + 闭环 | 最弱 |
包含关系:路径规则 ⊂ 霍恩规则 ⊂ 一般规则
4.4 规则评估 3 指标(必背公式)
| 指标 | 公式 | 含义 |
|---|---|---|
| 支持度(support) | support(rule) = 满足 body 和 head 的实例数 | 越大越好 |
| 置信度(confidence) | support(rule) / 满足 body 的实例数 | 越高规则越可靠 |
| 规则头覆盖度(head coverage) | support(rule) / 满足 head 的实例数 | 满足 head 的实例中同时满足 body 的比例 |
基于 PCA(Partial Completeness Assumption)的置信度:在 KG 不完整的假设下估计置信度。
4.5 AMIE(必考经典算法)
AMIE:典型的霍恩规则学习方法,也是闭式逻辑规则(整条规则构成闭环)。
3 个扩展操作:
| 操作 | 含义 |
|---|---|
| 增加悬挂原子 | 增加一个新变量 + 一个已存在元素的原子 |
| 增加闭合原子 | 增加的两个元素都已出现在规则中 |
| 实例化变量 | 把变量替换为具体实体 |
2 个剪枝策略:
- 最低头覆盖度过滤:头覆盖度 < 0.01 → 直接剪掉(边缘规则)
- 置信度单调递增:新加原子必须让置信度增加,否则剪掉
4.6 基于逻辑推理的优缺点
| 优点 | 缺点 |
|---|---|
| 精确 | 大规模 KG 人工提供规则效率低 |
| 可解释 | 难以做到全面和准确 |
| 小型领域 KG 可由专家提供规则 |
5. 基于图结构的知识推理
5.1 PRA(Path Ranking Algorithm)
典型方法:PRA(Path Ranking Algorithm),基于图路径的推理。
核心思想:
- 在 KG 上枚举两个实体之间的所有路径
- 用路径特征训练分类器,判断实体对之间是否存在某关系
- 类似随机游走:在图上从源节点出发,按关系随机游走到目标节点
优点:能捕捉多跳推理。
5.2 结合强化学习的多跳推理
强化学习 5 要素(必背):
| 要素 | 在 KG 中的含义 |
|---|---|
| 环境 | 整个知识图谱 |
| 动作 | 关系集合(每步选 1 个关系) |
| 状态 | 智能体当前位置(当前实体 embedding + 与目标实体距离) |
| 奖励 | 评估当前状态质量(3 种评价指标) |
| 策略网络 | 两层全连接网络,状态向量 → 动作概率分布 |
训练技巧:
- 类似 AlphaGo:用广度优先搜索学习有监督策略
- 用蒙特卡洛策略梯度更新参数
5.3 结合大模型的多跳推理:Think on Graph (ToG)
ToG:用 LLM 作为智能体,在 KG 上做 beam search,让 LLM 沿着相关路径推理。
核心:
- LLM 选择最有希望的关系路径
- 利用 KG 提供的事实证据补全 LLM 知识
- 缓解 LLM 幻觉
6. 本章脑图
知识推理 1
├── 推理分类(5 种)
│ ├── 演绎(自上而下)
│ │ ├── 肯定前件 / 否定后件
│ │ └── 假言三段论
│ ├── 归纳(自下而上)
│ │ ├── 归纳泛化(个体→整体)
│ │ └── 统计推理(整体→个体)
│ ├── 溯因(O+T → E)
│ └── 类比(迁移)
│
├── 面向 KG 推理
│ ├── 知识图谱补全(KGC)
│ └── 知识库问答(KBQA)
│
├── 3 大方法
│ ├── 基于逻辑(AMIE)
│ │ ├── 规则形式:head ← body
│ │ ├── 3 类规则(一般/霍恩/路径)
│ │ ├── 3 指标(支持度/置信度/头覆盖度)
│ │ └── AMIE:3 操作 + 2 剪枝
│ ├── 基于图(PRA)
│ │ ├── 路径枚举 + 分类器
│ │ └── 强化学习多跳推理(5 要素)
│ └── 基于表示学习(详见第10/11讲)