知识表示与推理

关键词

序号关键词英文对照
1知识表示Knowledge Representation
2框架理论Frame Theory
3描述逻辑Description Logic
4本体论Ontology
5OWLWeb Ontology Language
6马尔可夫逻辑网络Markov Logic Network
7一阶谓词逻辑First-Order Predicate Logic
8概念包含Concept Subsumption
9TBox与ABoxTerminological 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_slots

2.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 ⊓ Female

ABox(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实现工具:

工具语言特点
AlchemyC++最早的MLN系统
TuffyJava支持MRSplits优化
RockItJava集成MPE推理
PyMLNPython便于集成深度学习

六、知识表示的比较与整合

6.1 各表示范式的优缺点

范式优势局限适用场景
框架直观、易理解缺乏严格语义原型系统、常识知识
描述逻辑可判定、推理完备表达力有限语义Web、医学知识库
OWL标准兼容、推理支持复杂度高企业知识管理
马尔可夫逻辑处理不确定性推理困难信息抽取、实体消歧

6.2 神经符号知识表示

现代趋势是整合神经网络与符号推理:

知识图谱嵌入

将实体和关系映射到向量空间:

方法评分函数
TransE
DistMult
ComplEx

神经推理

使用神经网络模拟逻辑推理:

6.3 知识表示的发展趋势

  1. 概率化:整合概率论处理不确定性
  2. 层次化:支持多粒度知识表示
  3. 动态化:表示时变知识和过程性知识
  4. 跨模态:整合文本、图像、视频等多种模态
  5. 可解释性:在保持表达力的同时提供可解释推理

七、学术来源与参考文献

  1. Minsky, M. (1974). A framework for representing knowledge. MIT AI Laboratory Memo 306.
  2. Baader, F. et al. (2017). An Introduction to Description Logic. Cambridge University Press.
  3. Brachman, R. J. & Levesque, H. J. (2004). Knowledge Representation and Reasoning. Morgan Kaufmann.
  4. Guarino, N. (1998). Formal ontology in information systems. Formal Ontology in Information Systems, 3-15.
  5. McGuinness, D. L. & van Harmelen, F. (2004). OWL Web Ontology Language overview. W3C Recommendation.
  6. Richardson, M. & Domingos, P. (2006). Markov logic networks. Machine Learning, 62(1-2), 107-136.
  7. Bordes, A. et al. (2013). Translating embeddings for modeling multi-relational data. NeurIPS, 2787-2795.
  8. Hitzler, P. et al. (2022). Neuro-Symbolic Artificial Intelligence: The State of the Art. IOS Press.

相关文档:非经典逻辑 | 认知架构深度 | 符号系统理论 | 结构主义与AI