知识表示与推理
关键词
| 序号 | 关键词 | 英文对照 |
|---|---|---|
| 1 | 知识表示 | Knowledge Representation |
| 2 | 框架理论 | Frame Theory |
| 3 | 描述逻辑 | Description Logic |
| 4 | 本体论 | Ontology |
| 5 | OWL | Web Ontology Language |
| 6 | 马尔可夫逻辑网络 | Markov Logic Network |
| 7 | 一阶谓词逻辑 | First-Order Predicate Logic |
| 8 | 概念包含 | Concept Subsumption |
| 9 | TBox与ABox | Terminological and Assertional Box |
| 10 | 概率推理 | Probabilistic Reasoning |
| 11 | 不确定性 | Uncertainty |
| 12 | 知识图谱 | Knowledge Graph |
一、引言
知识表示(Knowledge Representation, KR)是人工智能研究的核心课题之一,其目标是设计形式化方法,使计算机能够存储、组织、推理和利用人类知识。从早期的谓词逻辑到现代的符号系统理论,知识表示经历了深刻演变。
亚伦·菲尔德(Aaron Field)曾言:“知识表示是AI的三大基石之一(与搜索和问题求解并列)。“合理的知识表示直接影响推理效率、表达能力和系统可扩展性。本文档将深入探讨框架表示、描述逻辑、本体论(OWL)和马尔可夫逻辑网络四种主流知识表示范式。
二、框架表示
2.1 框架理论的起源
框架理论(Frame Theory)由马文·明斯基(Marvin Minsky)于1974年提出,旨在表示人类认知中的刻板印象结构。Minsky认为,人类通过”框架”来组织知识,每个框架包含槽位(Slots),槽位可以填充具体值或指向其他框架。
框架的核心思想
“当你遇到一种情境时,你会在记忆中激活一个相关的结构。这个结构包含你对这个情境的期望,如果实际情境与期望不符,你会修正这个结构。” —— Minsky, 1974
2.2 框架的结构
框架的基本结构包含:
| 组件 | 功能描述 |
|---|---|
| 框架名称 | 标识框架的身份 |
| 槽位 | 存储框架的属性和关系 |
| 侧面 | 槽位的详细说明(默认值、约束等) |
| 实例 | 框架的具体化 |
框架示例:
(DEFINE-FRAME Person
(SLOT name (TYPE string) (DEFAULT UNKNOWN))
(SLOT age (TYPE integer) (RANGE [0 150]))
(SLOT gender (TYPE symbol) (VALUES male female other))
(SLOT occupation (TYPE string) (INHERITS-FROM profession))
(SLOT spouse (TYPE Person))
(SLOT children (TYPE SET-OF Person)))2.3 框架的继承机制
框架系统支持多重继承,子框架可以从多个父框架继承槽位:
当继承产生冲突时,可以通过优先级机制解决:
class Frame:
def inherit(self):
inherited_slots = {}
for parent in self.parents:
for slot, value in parent.slots.items():
if slot not in inherited_slots or \
self.priority[parent] > self.priority[get_parent(value)]:
inherited_slots[slot] = value
return inherited_slots2.4 框架与面向对象
框架理论与面向对象编程(OOP)有深刻联系:
| 框架概念 | OOP对应 | 区别 |
|---|---|---|
| 框架 | 类 | 框架包含元知识 |
| 实例 | 对象 | 框架实例化 |
| 槽位 | 属性 | 槽位可有侧面约束 |
| 继承 | 继承 | 框架多重继承更灵活 |
框架系统的一个优势是能够表示默认推理(Default Reasoning):
(DEFINE-FRAME Bird
(SLOT can-fly (DEFAULT true))
(SLOT has-wings (DEFAULT true)))
(DEFINE-FRAME Penguin (IS-A Bird)
(SLOT can-fly (VALUE false))) ; 企鹅不会飞三、描述逻辑
3.1 描述逻辑概述
描述逻辑(Description Logics, DL)是一族用于知识表示的形式化语言,基于概念(Concept)和角色(Role)构建。描述逻辑在知识图谱和语义Web中具有核心地位,其理论基础是一阶谓词逻辑的可判定子集。
描述逻辑的名称来源于其核心特点:通过描述(Description)而非枚举来定义概念。
3.2 描述逻辑的基本构件
概念(Concepts)表示对象的类别:
角色(Roles)表示对象之间的关系:
个体(Individuals)表示具体实例:
3.3 描述逻辑的构造算子
描述逻辑提供丰富的概念构造算子:
| 算子 | 语法 | 语义 |
|---|---|---|
| 交 | ||
| 并 | ||
| 补 | ||
| 存在限制 | ||
| 全称限制 |
3.4 描述逻辑家族
描述逻辑根据表达能力可以分为多个层级:
| 系统 | 全称限制 | 存在限制 | 否定 | 数量限制 | 逆角色 | 复合角色 |
|---|---|---|---|---|---|---|
| FL⁻ | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ |
| EL | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| ALC | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
| SHOIQ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| SROIQ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
最常用的描述逻辑:ALC
(Attributive Concept Language with Complement)是最基础的表达力完备的描述逻辑,是理解其他系统的基础。
3.5 TBox与ABox
描述逻辑将知识库分为两部分:
TBox(Terminological Box):概念定义和包含关系
Human ≡ Animal ⊓ Biped
Parent ≡ Human ⊓ ∃hasChild.Human
Mother ≡ Parent ⊓ FemaleABox(Assertional Box):个体断言
Human(John)
hasSpouse(John, Mary)
hasChild(John, Bob)3.6 描述逻辑的推理
描述逻辑的核心推理服务包括:
概念包含推理(Subsumption):
即在知识库 下,概念 是否被概念 包含。
可满足性推理(Satisfiability):
实例检测(Instance Checking):
四、本体论(OWL)
4.1 本体论的基本概念
本体论(Ontology)在计算机科学中指的是对某个领域的形式化概念化。1993年,尼古拉斯·瓜德里(Nicholas Guarino)给出了本体论的精确定义:
本体论的定义
“本体论是对某个领域概念化的一种显式形式化规格说明。”
在知识工程中,本体论具有以下功能:
- 领域知识的共享与重用
- 语义互操作性
- 推理支持
- 知识组织
4.2 OWL语言家族
OWL(Web Ontology Language)是W3C推荐的本体描述语言,基于描述逻辑基础:
┌─────────────────────────────────────────────────────────┐
│ OWL 语言层级 │
├─────────────────────────────────────────────────────────┤
│ │
│ OWL Full │
│ (最大表达力,无可判定性保证) │
│ ↑ │
│ │ │
│ │ │
│ OWL 2 DL │
│ (对应SROIQ(D),完全可判定) │
│ ↑ │
│ │ │
│ │ │
│ OWL 2 EL │
│ (对应EL++,大规模本体高效推理) │
│ ↑ │
│ │ │
│ OWL 2 QL │
│ (对应DL-Lite,数据库查询优化) │
│ │
└─────────────────────────────────────────────────────────┘
4.3 OWL的核心构造
OWL提供丰富的构造符:
# 概念定义
:Professor rdf:type owl:Class .
:Professor rdfs:subClassOf :Academic .
# 属性定义
:teaches rdf:type owl:ObjectProperty .
:teaches rdfs:domain :Professor .
:teaches rdfs:range :Course .
# 约束
:Course rdf:type owl:Class .
:Course rdfs:subClassOf [
rdf:type owl:Restriction ;
owl:onProperty :hasInstructor ;
owl:cardinality 1
] .
# 不相交类
:Student rdfs:subClassOf :Person .
:Professor rdfs:subClassOf :Person .
:Student owl:disjointWith :Professor .4.4 本体推理
OWL本体可以上传到推理机(如HermiT、Pellet、Fact++)进行推理:
隐含包含推理:
# 使用OWLAPI进行推理
from owlready2 import *
# 加载本体
onto = get_ontology("http://example.org/university.owl")
# 推理
sync_reasoner()
# 查询隐含关系
list(default_world.inconsistent_classes())一致性检测:
本体推理机检测概念是否可满足,即是否存在至少一个模型使得概念非空。
五、马尔可夫逻辑网络
5.1 马尔可夫逻辑网络的动机
马尔可夫逻辑网络(Markov Logic Network, MLN)由理查德森和 Domingos 于2006年提出,旨在将概率推理与逻辑推理统一到一个框架中。
传统方法面临的两难:
| 方法 | 优势 | 局限 |
|---|---|---|
| 纯逻辑 | 表达清晰、可判定 | 无法处理不确定性 |
| 纯概率 | 处理不确定性 | 难以表示复杂结构 |
MLN的核心思想
“软化”硬逻辑规则,允许违反规则,但赋予每个规则一个权重。违反概率越高,权重越低。
5.2 马尔可夫逻辑网络的定义
形式定义:
马尔可夫逻辑网络是一个二元组 :
- :一阶逻辑公式集合
- :实数权重向量
马尔可夫网络:
给定常量集合 ,MLN生成马尔可夫网络 :
- 节点:所有可能的基原子(Ground Atoms)
- 边:如果两个基原子出现在同一个公式中,则它们之间有边
5.3 势函数与概率分布
MLN定义的概率分布:
其中:
- :公式 在解释 中为真的基例数量
- :配分函数(Partition Function)
5.4 马尔可夫逻辑网络的推理
MLN支持多种推理任务:
边缘推理(Marginal Inference):
最大后验推理(MAP Inference):
权重学习:
给定训练数据 ,通过最大似然估计学习权重:
5.5 MLN的实现与工具
主流MLN实现工具:
| 工具 | 语言 | 特点 |
|---|---|---|
| Alchemy | C++ | 最早的MLN系统 |
| Tuffy | Java | 支持MRSplits优化 |
| RockIt | Java | 集成MPE推理 |
| PyMLN | Python | 便于集成深度学习 |
六、知识表示的比较与整合
6.1 各表示范式的优缺点
| 范式 | 优势 | 局限 | 适用场景 |
|---|---|---|---|
| 框架 | 直观、易理解 | 缺乏严格语义 | 原型系统、常识知识 |
| 描述逻辑 | 可判定、推理完备 | 表达力有限 | 语义Web、医学知识库 |
| OWL | 标准兼容、推理支持 | 复杂度高 | 企业知识管理 |
| 马尔可夫逻辑 | 处理不确定性 | 推理困难 | 信息抽取、实体消歧 |
6.2 神经符号知识表示
现代趋势是整合神经网络与符号推理:
知识图谱嵌入:
将实体和关系映射到向量空间:
| 方法 | 评分函数 |
|---|---|
| TransE | |
| DistMult | |
| ComplEx |
神经推理:
使用神经网络模拟逻辑推理:
6.3 知识表示的发展趋势
- 概率化:整合概率论处理不确定性
- 层次化:支持多粒度知识表示
- 动态化:表示时变知识和过程性知识
- 跨模态:整合文本、图像、视频等多种模态
- 可解释性:在保持表达力的同时提供可解释推理
七、学术来源与参考文献
- Minsky, M. (1974). A framework for representing knowledge. MIT AI Laboratory Memo 306.
- Baader, F. et al. (2017). An Introduction to Description Logic. Cambridge University Press.
- Brachman, R. J. & Levesque, H. J. (2004). Knowledge Representation and Reasoning. Morgan Kaufmann.
- Guarino, N. (1998). Formal ontology in information systems. Formal Ontology in Information Systems, 3-15.
- McGuinness, D. L. & van Harmelen, F. (2004). OWL Web Ontology Language overview. W3C Recommendation.
- Richardson, M. & Domingos, P. (2006). Markov logic networks. Machine Learning, 62(1-2), 107-136.
- Bordes, A. et al. (2013). Translating embeddings for modeling multi-relational data. NeurIPS, 2787-2795.
- Hitzler, P. et al. (2022). Neuro-Symbolic Artificial Intelligence: The State of the Art. IOS Press.