描述逻辑 Description Logic - nju.edu.cn

59
描述逻辑 Description Logic 李言辉 [email protected] May 18, 2020

Transcript of 描述逻辑 Description Logic - nju.edu.cn

Page 1: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑 Description Logic李言辉

[email protected] 18, 2020

Page 2: 描述逻辑 Description Logic - nju.edu.cn

1 什么是描述逻辑?

2 为什么用描述逻辑?

3 描述逻辑的体系结构包含什么?

4 描述逻辑中如何推理?

5 如何使用描述逻辑?

6 描述逻辑的优缺点是什么?

7 描述逻辑的研究方向

Page 3: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑来自于知识工程

描述逻辑是人工智能领域知识工程中一个重要的知识表示与推理的语言。人工智能在大体上有三个比较大的分支:• 神经网络,连接主义学派;• 机器学习,统计或者经验主义学派;• 知识工程,理性主义或者符号主义学派。知识工程是从 1956 年人工智能这个学科形成时就有的分支。

Page 4: 描述逻辑 Description Logic - nju.edu.cn

知识工程里程碑

Figure: 知识工程发展的里程碑成果

Page 5: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑的前世今生

Figure: 描述逻辑的前世今

Page 6: 描述逻辑 Description Logic - nju.edu.cn

语义网络

Figure: 语义网络示意图

Page 7: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑在语义 Web 中的作用

Figure: 语义 Web 架构图

Page 8: 描述逻辑 Description Logic - nju.edu.cn

什么是描述逻辑 (Description Logic, DL)?

描述逻辑是一种基于对象的知识表示的形式化,也叫概念表示语言或术语逻辑。

描述逻辑

• 建立在概念和关系 (Role) 之上• 概念解释为对象的集合• 关系解释为对象之间的二元关系

• 源于语义网络和 KL-ONE• 是一阶逻辑 FOL 的一个可判定的子集• 具有合适定义的语义 (基于逻辑)

Page 9: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑的特点

• 它是以往表示工具的逻辑重构和统一形式化• 框架系统 (Frame-based systems)• 语义网络 (Semantic Networks)• 面向对象表示 (OO representation)• 语义数据模型 (Semantic data models)• 类型系统 (Type systems)• 特征逻辑 (Feature Logics)

• 具有很强的表达能力• 是可判定的,总能保证推理算法终止

Page 10: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑的应用

当前描述逻辑已应用到多个知识表示与推理的相关领域:

• 概念建模• 查询优化和视图维护• 自然语言语义• 智能信息集成• 信息存取和智能接口• 工程的形式化规范• 术语学和本体论• 规划

Page 11: 描述逻辑 Description Logic - nju.edu.cn

为什么用描述逻辑?

描述逻辑 vs. 一阶逻辑

若直接使用一阶逻辑,而不附加任何约束,则:

• 知识的结构将被破坏,这样就不能用来驱动知识表示

• 对获得可判定性和有效的推理问题来说,其表达能力太高,(也许是太抽象了)

DL 的重要特征是:• 人能理解的很强的表达能力,知识体系,概念层次等;

• 可判定性,它能保证推理算法总能停止,并返回正确的结果。

Page 12: 描述逻辑 Description Logic - nju.edu.cn

为什么用描述逻辑?

描述逻辑 vs. 其他知识表示的形式化方法

描述逻辑在二十多年来受到人们的特别关注,主要原因在于以下三点:• 它们有清晰的模型-理论机制;• 它们很适合于通过概念分类学来表示应用领域;• 它们提供了有效的推理服务,推理算法、推理器等等

描述逻辑可以被认为是从基于框架的表示形式化向着精确的语义特征方向发展。此外,描述逻辑将分类学中表示和推理(专业推理)与在分类学中项的事实或实例的表示和推理(断言推理)区别开来。

Page 13: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑的体系结构

描述逻辑系统和知识库组成

一个描述逻辑系统包含三个基本组成部分:

• 表示概念(Concept)和关系(Role)的构造集;• 一个基于描述逻辑的知识库由 TBox 和 ABox 组成:

Knowledgbase=Tbox+Abox符号表示为:K = ⟨T ,A⟩.• Tbox(Terminology Box),描述领域结构的公理集,包含概念定义及公理;

• Abox(Assertional Box),具体个体的公理集,包含概念断言和关系断言。

• Tbox 和 Abox 上的推理机制。

Page 14: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑基本元素:概念和关系

概念 Concept

概念解释为解释为一个领域的子集。如所有在校学习的人员的集合构成“学生”概念;又如:孩子,已婚的,哺乳动物等概念;Student .

= {x|Student(x)},Married .= {x|Married(x)}

关系 Role

关系解释为属性 (二元谓词)。例如朋友,爱人;friend .

= {⟨x, y⟩|Friend(x, y)}, loves .= {⟨x, y⟩|Loves(x, y)}

Page 15: 描述逻辑 Description Logic - nju.edu.cn

构造算子

描述逻辑依据提供的构造算子,在简单的概念和关系上构造出复杂的概念和关系。

基本构造算子

通常描述逻辑包含以下算子:

• 合取 (⊓),析取 (⊔),非 (¬);• 量词约束:存在量词 (∃),全称量词 (∀)最基本的 DL 称之为 ALC。例如,ALC 中概念 Happy-father 定义为:Man ⊓ ∃haschild.Male ⊓ ∃haschild.Female⊓∀haschild.(Doctor ⊔ Lawyer)

Page 16: 描述逻辑 Description Logic - nju.edu.cn

构造算子的语法语义

构造算子 语法 语义 例子

原子概念 A AI ⊆ ∆I Human原子关系 R RI ⊆ ∆I × ∆I haschlid合取 C ⊓ D CI ∩ DI Human ⊓ Male析取 (C ⊔ D) CI ∪ DI Doctor ⊔ Lawyer非 ¬C ∆I\CI ¬Male存在量词 ∃R.C {x|∃y.⟨x, y⟩ ∈ RI ∧ y ∈ CI} ∃haschild.Male全称量词 ∀R.C {x|∀y.⟨x, y⟩ ∈ RI → y ∈ CI} ∀haschild.Doctor数量约束 ≥ nR.C {x|#{y|⟨x, y⟩ ∈ RI , y ∈ CI} ≥ n} ≥ 3haschild.Male数量约束 ≤ nR.C {x|#{y|⟨x, y⟩ ∈ RI , y ∈ CI} ≤ n} ≤ 3haschild.Male关系逆 R− ⟨y, x⟩|⟨x, y⟩ ∈ RI haschild−闭包关系 R ∈ R∗ ⟨x, y⟩, ⟨y, z⟩,∈ RI → ⟨x, z⟩ ∈ RI hasancestortop ⊤ ⊤I = ∆I Male ⊔ ¬Malebottom ⊥ ⊥I = ∅ Male ⊓ ¬Male语法:对于世界的逻辑描述,语义:当前世界的基于集合论的构成。

Page 17: 描述逻辑 Description Logic - nju.edu.cn

语义解释示例

¬Female ⊓ ∃haschild.Human

Interpretation

• Interpretation I = ⟨∆I , ·I ⟩, with ∆I = {John,Stan}• HumanI = {John,Stan}• FemaleI = {}• haschildI = {⟨John,Stan⟩}• ¬FemaleI = ∆I − FemaleI = {John,Stan}• (haschild.Human)I = {John}• (¬Female ⊓ ∃haschild.Human)I = {John}

Page 18: 描述逻辑 Description Logic - nju.edu.cn

TBox

TBox 描述领域结构的公理集合• 定义, 引入概念名称 A .

= C, A ⊑ CFather .

= ¬Female ⊓ ∃haschild.HumanHuman ⊑ Animal ⊓ Biped

• 蕴含, 声明包含关系的公理 C ⊑ D∃hasdegree.Masters ⊑ ∃hasdegree.Bachelors

• 解释 I , 语法到语义的映射解释 I 满足 C .

= D iff CI = DI ;解释 I 满足 C ⊑ D iff CI ⊆ DI ;解释 I 满足 TBox (I |= T )iff 它满足其中的每个公理;

Page 19: 描述逻辑 Description Logic - nju.edu.cn

语义解释示例

¬Female ⊓ ∃haschild.Human ⊑ Human

Interpretation

• Interpretation I = ⟨∆I , ·I ⟩, with ∆I = {John,Stan}• HumanI = {John,Stan}• FemaleI = {}• haschildI = {⟨John,Stan⟩}• ¬FemaleI = ∆I − FemaleI = {John,Stan}• (haschild.Human)I = {John}• (¬Female ⊓ ∃haschild.Human)I = {John}• (¬Female ⊓ ∃haschild.Human)I ⊑ HumanI

Female ⊑ ¬Female ?

Page 20: 描述逻辑 Description Logic - nju.edu.cn

ABox

ABox 是描述具体情形的断言集合• 概念断言,表示一个对象是否属于某个概念 a : C例如:Tom 是个学生,表示为 Tom : StudentJohn : Man ⊓ ∃haschild.Female

• 关系断言,表示两个对象是否满足一定的关系 ⟨a, b⟩ : R例如:John 有个孩子叫 Mary, ⟨John,Mary⟩ : haschild

• 解释 I 满足 a : C iff aI ∈ CI ;解释 I 满足 ⟨a, b⟩ : R iff ⟨aI , bI ⟩ ∈ RI ;解释 I 满足 ABox(I |= A) iff 它满足其中的每个公理;

Page 21: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑知识库组成

TBox

Man .= Human ⊓ Male

Happyfather .= ∃haschild.Female ⊓ · · · ⊓

∀haschild.(Doctor ⊔ Lawyer)

ABox

John : Happyfather⟨John,Mary⟩ : haschild

解释 I 满足知识库 K = ⟨T ,A⟩(I |= K)iff 它满足 TBox 和 ABox;

Page 22: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑中的推理问题和技术

推理问题包括

• 可满足性 (satisfiability)• 包含检测(subsumption)• 实例检测 (instance checking)推理技术包括

• Tableaux 算法• 可判定性• 计算复杂性

Page 23: 描述逻辑 Description Logic - nju.edu.cn

推理问题

可满足性检测

判断知识库是否有错,是否逻辑完备。知识库 K = ⟨T ,A⟩ 是否可满足 iff 是否存在解释 I 满足该知识库 K。

包含检测

判断从当前知识库是否可推导出概念间的包含关系:

C ⊑ D w.r.t K = ⟨T ,A⟩

在知识库 K = ⟨T ,A⟩ 中判断 C ⊑ D 是否成立 iff 在满足知识库 K 的任意解释 I 中 C ⊑ D 成立。

Page 24: 描述逻辑 Description Logic - nju.edu.cn

推理问题

实例检测

判断从当前知识库是否可推导出实例是否属于某个概念。

a : C w.r.t K = ⟨T ,A⟩

在知识库 K = ⟨T ,A⟩ 中判断 a : C 是否成立 iff 在满足知识库 K 的任意解释 I 中 a : C 成立。

Page 25: 描述逻辑 Description Logic - nju.edu.cn

推理问题间转化

包含检测 ⇔ 可满足性

C ⊑ D w.r.t K = ⟨T ,A⟩ 成立 ⇔K = ⟨T ,A∪ {x : C ⊓ ¬D}⟩ 不可满足

实例检测 ⇔ 可满足性

a : C w.r.t K = ⟨T ,A⟩ 成立 ⇔K = ⟨T ,A∪ {a : ¬C}⟩ 不可满足

结论:所以推理问题可线性归约到可满足性问题。

Page 26: 描述逻辑 Description Logic - nju.edu.cn

Table 算法

检测 ABox 的可满足性A = {a : (∀haschild.Male) ⊓ (∃haschild.¬Male)}

Table 算法

Initialize: a : (∀haschild.Male) ⊓ (∃haschild.¬Male)

⊓ rule: a : (∀haschild.Male)⊓ rule: a : (∃haschild.¬Male)∃ rule: ⟨a, x⟩ : haschild∃ rule: x : ¬Male∀ rule: x : Male

Contradiction occurs!

Page 27: 描述逻辑 Description Logic - nju.edu.cn

Table 算法

检测 ABox 的可满足性A = {a : (∀haschild.Male) ⊓ (∃haschild.¬Male)}

Table 算法

Initialize: a : (∀haschild.Male) ⊓ (∃haschild.¬Male)⊓ rule: a : (∀haschild.Male)

⊓ rule: a : (∃haschild.¬Male)∃ rule: ⟨a, x⟩ : haschild∃ rule: x : ¬Male∀ rule: x : Male

Contradiction occurs!

Page 28: 描述逻辑 Description Logic - nju.edu.cn

Table 算法

检测 ABox 的可满足性A = {a : (∀haschild.Male) ⊓ (∃haschild.¬Male)}

Table 算法

Initialize: a : (∀haschild.Male) ⊓ (∃haschild.¬Male)⊓ rule: a : (∀haschild.Male)⊓ rule: a : (∃haschild.¬Male)

∃ rule: ⟨a, x⟩ : haschild∃ rule: x : ¬Male∀ rule: x : Male

Contradiction occurs!

Page 29: 描述逻辑 Description Logic - nju.edu.cn

Table 算法

检测 ABox 的可满足性A = {a : (∀haschild.Male) ⊓ (∃haschild.¬Male)}

Table 算法

Initialize: a : (∀haschild.Male) ⊓ (∃haschild.¬Male)⊓ rule: a : (∀haschild.Male)⊓ rule: a : (∃haschild.¬Male)∃ rule: ⟨a, x⟩ : haschild

∃ rule: x : ¬Male∀ rule: x : Male

Contradiction occurs!

Page 30: 描述逻辑 Description Logic - nju.edu.cn

Table 算法

检测 ABox 的可满足性A = {a : (∀haschild.Male) ⊓ (∃haschild.¬Male)}

Table 算法

Initialize: a : (∀haschild.Male) ⊓ (∃haschild.¬Male)⊓ rule: a : (∀haschild.Male)⊓ rule: a : (∃haschild.¬Male)∃ rule: ⟨a, x⟩ : haschild∃ rule: x : ¬Male

∀ rule: x : MaleContradiction occurs!

Page 31: 描述逻辑 Description Logic - nju.edu.cn

Table 算法

检测 ABox 的可满足性A = {a : (∀haschild.Male) ⊓ (∃haschild.¬Male)}

Table 算法

Initialize: a : (∀haschild.Male) ⊓ (∃haschild.¬Male)⊓ rule: a : (∀haschild.Male)⊓ rule: a : (∃haschild.¬Male)∃ rule: ⟨a, x⟩ : haschild∃ rule: x : ¬Male∀ rule: x : Male

Contradiction occurs!

Page 32: 描述逻辑 Description Logic - nju.edu.cn

可判定性与复杂性

可判定性

绝大多数的描述逻辑中的可满足性问题是可判定的。其它推理问题基本上可以归结为可满足性问题。

计算复杂性

描述逻辑中的推理问题其计算复杂性一般远超多项式时间的。但通常由于描述逻辑语言支持的构造算子的不同,其复杂性也有一定的差异。

Page 33: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑使用场景

领域知识挖掘

DL 知识库知识专家建模

DL 推理器

生成新知识

检查旧知识

Page 34: 描述逻辑 Description Logic - nju.edu.cn

知识建模

问题

先有鸡还是先有蛋?

步骤

• Egg,Chicken• laid,hatched• Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Egg• x : Egg ⊓ ∀laid.¬Chicken or

y : Chicken ⊓ ∀hatched.¬Egg

Page 35: 描述逻辑 Description Logic - nju.edu.cn

知识建模

问题

先有鸡还是先有蛋?

步骤

• Egg,Chicken

• laid,hatched• Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Egg• x : Egg ⊓ ∀laid.¬Chicken or

y : Chicken ⊓ ∀hatched.¬Egg

Page 36: 描述逻辑 Description Logic - nju.edu.cn

知识建模

问题

先有鸡还是先有蛋?

步骤

• Egg,Chicken• laid,hatched

• Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Egg• x : Egg ⊓ ∀laid.¬Chicken or

y : Chicken ⊓ ∀hatched.¬Egg

Page 37: 描述逻辑 Description Logic - nju.edu.cn

知识建模

问题

先有鸡还是先有蛋?

步骤

• Egg,Chicken• laid,hatched• Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Egg

• x : Egg ⊓ ∀laid.¬Chicken ory : Chicken ⊓ ∀hatched.¬Egg

Page 38: 描述逻辑 Description Logic - nju.edu.cn

知识建模

问题

先有鸡还是先有蛋?

步骤

• Egg,Chicken• laid,hatched• Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Egg• x : Egg ⊓ ∀laid.¬Chicken or

y : Chicken ⊓ ∀hatched.¬Egg

Page 39: 描述逻辑 Description Logic - nju.edu.cn

知识库

鸡先?

Knowledge Base 1Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Eggy : Chicken ⊓ ∀hatched.¬Egg

蛋先?

Knowledge Base 2Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Eggx : Egg ⊓ ∀laid.¬Chicken

Page 40: 描述逻辑 Description Logic - nju.edu.cn

推理

Knowledge Base 1Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Eggy : Chicken ⊓ ∀hatched.¬Egg

Table 算法

Initialize: y : Chicken ⊓ ∀hatched.¬Egg

⊓ rule: y : Chicken⊓ rule: y : ∀hatched.¬Egg⊑ rule: y : ∃hatched.Egg∃ rule: ⟨y, x⟩ : hatched∃ rule: x : Egg∀ rule: x : ¬Egg

Contradiction occurs!

Page 41: 描述逻辑 Description Logic - nju.edu.cn

推理

Knowledge Base 1Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Eggy : Chicken ⊓ ∀hatched.¬Egg

Table 算法

Initialize: y : Chicken ⊓ ∀hatched.¬Egg⊓ rule: y : Chicken

⊓ rule: y : ∀hatched.¬Egg⊑ rule: y : ∃hatched.Egg∃ rule: ⟨y, x⟩ : hatched∃ rule: x : Egg∀ rule: x : ¬Egg

Contradiction occurs!

Page 42: 描述逻辑 Description Logic - nju.edu.cn

推理

Knowledge Base 1Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Eggy : Chicken ⊓ ∀hatched.¬Egg

Table 算法

Initialize: y : Chicken ⊓ ∀hatched.¬Egg⊓ rule: y : Chicken⊓ rule: y : ∀hatched.¬Egg

⊑ rule: y : ∃hatched.Egg∃ rule: ⟨y, x⟩ : hatched∃ rule: x : Egg∀ rule: x : ¬Egg

Contradiction occurs!

Page 43: 描述逻辑 Description Logic - nju.edu.cn

推理

Knowledge Base 1Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Eggy : Chicken ⊓ ∀hatched.¬Egg

Table 算法

Initialize: y : Chicken ⊓ ∀hatched.¬Egg⊓ rule: y : Chicken⊓ rule: y : ∀hatched.¬Egg⊑ rule: y : ∃hatched.Egg

∃ rule: ⟨y, x⟩ : hatched∃ rule: x : Egg∀ rule: x : ¬Egg

Contradiction occurs!

Page 44: 描述逻辑 Description Logic - nju.edu.cn

推理

Knowledge Base 1Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Eggy : Chicken ⊓ ∀hatched.¬Egg

Table 算法

Initialize: y : Chicken ⊓ ∀hatched.¬Egg⊓ rule: y : Chicken⊓ rule: y : ∀hatched.¬Egg⊑ rule: y : ∃hatched.Egg∃ rule: ⟨y, x⟩ : hatched

∃ rule: x : Egg∀ rule: x : ¬Egg

Contradiction occurs!

Page 45: 描述逻辑 Description Logic - nju.edu.cn

推理

Knowledge Base 1Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Eggy : Chicken ⊓ ∀hatched.¬Egg

Table 算法

Initialize: y : Chicken ⊓ ∀hatched.¬Egg⊓ rule: y : Chicken⊓ rule: y : ∀hatched.¬Egg⊑ rule: y : ∃hatched.Egg∃ rule: ⟨y, x⟩ : hatched∃ rule: x : Egg

∀ rule: x : ¬EggContradiction occurs!

Page 46: 描述逻辑 Description Logic - nju.edu.cn

推理

Knowledge Base 1Egg ⊑ ∃laid.Chicken, Chicken ⊑ ∃hatched.Eggy : Chicken ⊓ ∀hatched.¬Egg

Table 算法

Initialize: y : Chicken ⊓ ∀hatched.¬Egg⊓ rule: y : Chicken⊓ rule: y : ∀hatched.¬Egg⊑ rule: y : ∃hatched.Egg∃ rule: ⟨y, x⟩ : hatched∃ rule: x : Egg∀ rule: x : ¬Egg

Contradiction occurs!

Page 47: 描述逻辑 Description Logic - nju.edu.cn

知识建模

能否用之前的描述逻辑构建简单的知识库,要求其对应的语义空间有无穷元素

愚公移山

“汝心之固,固不可彻,曾不若孀妻弱子。虽我之死,有子存焉;子又生孙,孙又生子;子又有子,子又有孙;子子孙孙无穷匮也,而山不加增,何苦而不平?”

Page 48: 描述逻辑 Description Logic - nju.edu.cn

知识建模

能否用之前的描述逻辑构建简单的知识库,要求其对应的语义空间有无穷元素

无穷元素的语义空间

存在量词 ∃R.C数量约束 ≤ nR.C关系逆 R−

Page 49: 描述逻辑 Description Logic - nju.edu.cn

知识建模

能否用之前的描述逻辑构建简单的知识库,要求其对应的语义空间有无穷元素

无穷元素的语义空间

TBox ⊤ ⊑ ∃R.⊤⊤ ⊑≤ 1R−.⊤

ABox x : ∀R.⊥

Page 50: 描述逻辑 Description Logic - nju.edu.cn

知识建模

能否用之前的描述逻辑构建简单的知识库,要求其对应的语义空间有无穷元素

无穷元素的语义空间

TBox ⊤ ⊑ ∃R.⊤ (所有节点必须有后继)⊤ ⊑≤ 1R−.⊤ (所有节点至多一个前驱)

ABox x0 : ∀R−.⊥ (起点没有前驱)

x0

R−→ x1R−→ x2

R−→ x3R−→ . . .

Page 51: 描述逻辑 Description Logic - nju.edu.cn

知识建模

能否用之前的描述逻辑构建简单的知识库,要求其对应的语义空间有无穷元素

无穷元素的语义空间

TBox ⊤ ⊑ ∃R.⊤ (所有节点必须有后继)⊤ ⊑≤ 1R−.⊤ (所有节点至多一个前驱)

ABox x0 : ∀R−.⊥ (起点没有前驱)

x0R−→ x1

R−→ x2R−→ x3

R−→ . . .

Page 52: 描述逻辑 Description Logic - nju.edu.cn

知识建模

能否用之前的描述逻辑构建简单的知识库,要求其对应的语义空间有无穷元素

无穷元素的语义空间

TBox ⊤ ⊑ ∃R.⊤ (所有节点必须有后继)⊤ ⊑≤ 1R−.⊤ (所有节点至多一个前驱)

ABox x0 : ∀R−.⊥ (起点没有前驱)

x0R−→ x1

R−→ x2

R−→ x3R−→ . . .

Page 53: 描述逻辑 Description Logic - nju.edu.cn

知识建模

能否用之前的描述逻辑构建简单的知识库,要求其对应的语义空间有无穷元素

无穷元素的语义空间

TBox ⊤ ⊑ ∃R.⊤ (所有节点必须有后继)⊤ ⊑≤ 1R−.⊤ (所有节点至多一个前驱)

ABox x0 : ∀R−.⊥ (起点没有前驱)

x0R−→ x1

R−→ x2R−→ x3

R−→ . . .

Page 54: 描述逻辑 Description Logic - nju.edu.cn

知识建模

能否用之前的描述逻辑构建简单的知识库,要求其对应的语义空间有无穷元素

无穷元素的语义空间

TBox ⊤ ⊑ ∃R.⊤ (所有节点必须有后继)⊤ ⊑≤ 1R−.⊤ (所有节点至多一个前驱)

ABox x0 : ∀R−.⊥ (起点没有前驱)

x0R−→ x1

R−→ x2R−→ x3

R−→ . . .

Page 55: 描述逻辑 Description Logic - nju.edu.cn

复杂知识建模

复合关系

复合关系如何表示?叔侄关系是兄弟父子的复合R-Complex role hierarchies:the form R ◦P for any two roles.hasBrother ◦ hasChildren

枚举类型

枚举类型如何表示?比如一周包含周一到周日O–Closed classes: the form {a1, a2, . . . , an} where ai areindividuals.{monday, tuesday,wednesday, thursday, friday, saturday, sunday}

Page 56: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑的优点

• 人机交互语言• 可判定性• 可解释性• 表示能力强

Page 57: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑的难点

• 推理复杂高表示能力与推理复杂度互为制约。表示能力强复杂度高。

• 构建难度大人工标注与自动标注都无法保证数据的准确性

• 错误定位难错误在理论上无法局部化,实践中缺乏有效的定位手段

• 适用领域窄安全攸关和数据量不大领域,如处方、家谱、软件验证等。

Page 58: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑的研究方向

• 描述逻辑的语义扩展,语义从经典集合移到更复杂的集合上,如模糊、动态、粗糙集等;

• 描述逻辑算子的扩充,新的研究领域新的表示对象需要新的表示算子,如复杂关系算子等;

• 描述逻辑算子的简化,算子上使用的约束以获得更好的推理复杂度;

• 描述逻辑的近似算法,保证正确性和完备性中的一个,通过牺牲另外一个获取算法的执行效率;

• 描述逻辑的推理算法和推理器实现;• 描述逻辑在具体研究领域中的应用,如药方检查,族谱推理等等;

Page 59: 描述逻辑 Description Logic - nju.edu.cn

描述逻辑的研究方向

描述逻辑 + 深度学习• 采用深度神经网络去模拟描述逻辑知识库,实现近似推理;• 深度神经网络借用描述逻辑的可解释;• 综合描述逻辑 + 深度学习的结果来实现更有效的识别/预测算法。