语义网络和知识图谱 可以用于表示特定领域中的结构化知识。
- 本体 是一种支持知识共享的、统一的术语体系。
- 描述逻辑 建模
本体。是语义网络和知识图谱推理的逻辑学基础。
语义网络和知识图谱
知识:
- 在基于
知识的系统中可以被表示为一组公式集合;
- 通常具有一定结构。
e.g 框架,网络。
在网络结构的知识体系中,知识在一个带标签的 有向图 中得到表达:
- 图的结点:实体,可以是对象或概念。
- 图的边:
实体间关系
- 两个节点和一条边的三元组:prop(Ind,Prop,Val)。
- 结点Ind,主语。
- 边Prop,动词,是一种特性。
- 结点Val,宾语。
语义网络
语义网络是一个图,结点表示对象或概念,弧表示这些对象或概念之间的关系。
知识图谱
知识图谱是一种语义网络,用于描述现实世界的各种实体及其关系。由 结点、边和标签组成。
实体:对象,事件,情境,概念等
- 核心:从大数据中提取结构化知识,以语义网络形式展示。
本体与描述逻辑
若要运用知识图谱中的各个元素进行推理,首先必须阐明这些元素及其关系的含义。在计算机领域,通常把符号的含义建构到文档中,即:在计算机中的符号与人脑中的概念之间*建立映射关系*。
本体
统一的术语体系称为本体,可以被理解为一种用于描述特定领域 概念及其关系的形式化规范。
- 关于事物分类的词汇表。
- 分类的组织,
e.g subClassOf或 subPropertyOf定义继承关系。
- 一组公理集合,用于限制一些符号的定义以更好反映期望的含义。
e.g 一些特性是传递的 / 论域和值域是受限的 / 特性值的数量是受限制的。
描述逻辑
描述逻辑是语义网络的继承和发展。它是一阶逻辑的子集,可以用于本体建模。目前有多种描述逻辑;每种描述逻辑都有自己的表示语言、表达能力和计算复杂性。
- 属性语言 AL:一种基本的语言,可以表示原子的否定、概念交、全称约束、受限的存 在量化。
- 属性语言ALC: 是一种代表性的语言,允许有任意的概念。
基本组成元素
描述逻辑中的三种实体:
个体 - 一阶逻辑的个体常元。个体名称表示一个领域中的单个个体。
概念 - 一阶逻辑的一元谓词。概念表示个体的集合。
角色- 一阶逻辑的二元谓词。
公理
本体由一系列句子组成,这些句子被称为公理。
公理通常只描述本体所描述的情况的部分知识,可能存在与本体相一致的多种世界状态。即不同于数据库,本体不能完全描述特定的 “情况” 或 “世界的状态”.- 从逻辑的角度看,不同类型的公理之间没有主要区别。
断言型(ABox)公理:断言事实
ABox 公理可以刻画关于命名个体的知识:它们所属的概念以及它们相互之间的关系。
Mother(julia)julia:Mother
ParentOf(julia,john)
术语型 (TBox)公理:表达术语知识
TBox 公理描述概念之间的关系。
Mother⊑Parent
Person≡Human
关系型(RBox)公理:建模角色间关系
RBox 公理是关于角色的特性的。
概念和角色的构造算子
布尔概念构造算子
布尔概念构造算子提供基本的布尔运算。可类比地理解为集合的交集、并集和补集运算,或者逻辑表达式的合取、析取和否定运算。
e.g
MotherParentMiss≡Female⊓Parent≡Father⊔Mother≡Female⊓¬Married
角色限制
通过角色限制 形成将概念和角色联系在一起的语句。
e.g 父母是至少一个人的父母:
Parent≡∃parentOf.⊤
除了女性孩子没有其他孩子的人:
∀parentOf.Female≡¬∃parentOf.¬Female
注意,这里包含了根本没有孩子的人。使用
Parent⊓∀parentOf.Female≡∃parentOf.⊤⊓∀parentOf.Female
表示至少有一个孩子而且孩子都是女性的人。
ALC语法
形式上,每个描述逻辑本体都基于三组有穷的 符号集合:
- NC -
概念名集合
- NR -
角色名集合
- NO -
个体名集合
三元组 (NC,NR,NO) 构成描述逻辑的名字表。
ALC 概念集合
ALC 概念集合 是满足如下条件的极小集合:
- ⊥和⊤是
概念,⊥表示领域中所有对象的集合。
- A∈NC: 每个
原子概念是概念。
- 给定
概念C,D,角色R∈NR,那么如下是概念:
- C⊓D:两个
概念的交是一个概念。
- C⊔D:两个
概念的并是一个概念。
- ¬C:一个
概念的补是一个概念。
- ∀R.C:由一个
角色对一个概念的全称约束是一个概念。
- ∃R.C:由一个
角色对一个概念的存在约束是一个概念。
ALC公理
- 术语公理:
给定概念C,D,普通概念包含形如C⊑D。
概念等价 当C⊑D且D⊑C时,记作C≡D。
- 断言公理:
概念断言是一个形如a:C 的句子,其中 a∈NO,C 是一个概念。
角色断言是一个形如 (a,b):R的句子,其中 a,b∈NO,R是一个角色。
TBox是一组术语公理的有穷集合,ABox 是一组断言公理的有穷集合。
知识库:有序对 (T,A),其中T和A分别是 TBox 和 ABox。
扩张
给定一个 TBox T ,可将T中的原子概念分为两个集合:
- NT:出现于公理左侧的名称符号集合;
- BT: 出现于公理右侧的基符号集合。
通常把名称符号称为被定义的概念,而把基符号称为原始概念。
- 有环:T中存在一个使用自身的原子概念。
- 无环:T中不存在一个使用自身的原子概念。
当一个 TBox 中的概念定义是无环的时,可通过一组原子概念定义所有其他概念,即将定义右侧的每个名称替换为该名称所代表的概念,通过一个最终停止的迭代过程得到一个术语 TBox T′,称为T的扩张,它只包含形如 A≡C′ 的定义,其中 C′ 只包含基符号,不包含名称符号。
LEMMA 1
TBoxT与其扩张T′ 等价。
ALC语义
一个解释 I由一个集合ΔI 和一个解释函数 ⋅I 组成。ΔI被称为I的域,⋅I将每个原子概念A 映射到一个集合AI⊆ΔI;将每个原子角色R 映射到二元关系RI⊆ΔI×ΔI;将每个个体名称映射到一个元素 aI∈ΔI。
在此基础上,非原子概念和非原子角色的语义由原子概念和原子角色的语义来定义。
给定名字表(NC,NR,NO),相应的术语解释 I=(ΔI,⋅I):
请注意角色全称约束的解释定义。(∀R.C)I={x∈ΔI∣∀y(x,y)∈RI→y∈CI}意味着对于该集合的任一元素d,和任一元素y∈ΔI,若(d,y)∈RI,则有y∈CI。注意(d,y)∈RI时,(x,y)∈RI→y∈CI 的真值为真。
ALC推理
概念推理
为一个领域建模时,可通过定义新概念来构建一个术语体系如T。 此时需要厘清该新概念是否有意义或矛盾。
如果存在某个解释满足T的公理(i.eT的模型),使得该概念在该解释中表示一个非空集,那么该概念是有意义的。有意义的概念被称为关于T可满足的。否则,称为关于T不可满足的。
可满足是概念的性质,概念间关系包括:包含、等价和不相交。
-
概念包含:
设T是一个TBox。关于T,概念C被包含于概念D,如果对于T的每个解释I,成立CI⊆DI。记C包含于D 为 T⊨C⊑D。
-
概念等价:
设T是一个TBox。概念C与D关于T等价,如果对于T的每个解释I,CI=DI, 记作T⊨C≡D。
-
概念不相交:
设T是一个TBox。概念C与D关于T不相交,如果对于T的每个解释 I,CI∩DI=ϕ。
上下文清楚时可省去关于T。
LEMMA 2
包含、等价和不相交三种概念可以被规约到可满足问题。给定概念CD :
- C⊑D,当且仅当 C⊓¬D
不可满足。
- C≡D,当且仅当 C⊓¬D和D⊓¬C 均
不可满足。
- C⊓D=ϕ,当且仅当 C⊓D
不可满足。
简化推理:去除 TBox
依据T和T′的等价性,如果T可扩张(无环),则总是可以把关于T的推理问题规约到关于空 TBox 的推理问题:假设在扩张中C,D扩张为C′,D′,则
- C 关于T
可满足,当且仅当 C′ 关于T′可满足。
- T⊨C⊑D ,当且仅当 T′⊨C′⊑D′。
- T⊨C≡D当且仅当T⊨C≡D。
- C与D关于T不相交 当且仅当 C′与D′关于T′不相交。
填充ABox
在设计一个术语体系并使用描述逻辑系统的推理服务进行所有概念可满足性(以及概念间关系转化的可满足性)的检查后,可向 ABox 填充关于个体的断言:概念断言和角色断言。这些知识的表示必须一致。
如果T可扩张(无环),则总是可以把ABox的一致性检查规约为扩张的ABox检查。
ALC表算法
表算法实现:
概念的可满足性检查
ABox 的一致性检查:与基于概念的可满足性检查算法类似。
- 涉及普通包含公理的一致性检查:需要引入可以处理普通包含公理的机制。
概念可满足性检查
首先,算法把待判定的公式转化为否定范式,NNF.
否定范式,NNF
设K=(T,A) 为知识库。
- 把C≡D 替换为C⊑D 和D⊑C。
- 把C⊑D 替换为 ¬C⊔D。
- 使用如下NNF转换:
- 原子概念C: NNF(C)=C,NNF(¬C)=¬C
- NNF(¬¬C)=NNF(C)
- NNF(C⊔D)=NNF(C)⊔NNF(D)
- NNF(C⊓D)=NNF(C)⊓NNF(D)
- NNF(¬(C⊔D))=NNF(¬C)⊓NNF(¬D)
- NNF(¬(C⊓D))=NNF(¬C)⊔NNF(¬D)
- NNF(∀R.C)=∀R.NNF(C)
- NNF(∃R.C)=∃R.NNF(C)
- NNF(¬∀R.C)=∃R.NNF(¬C)
- NNF(¬∃R.C)=∀R.NNF(¬C)
同样的,K 与NNF(K) 在逻辑上是等价的。
表转换规则
A是一个 ABox。表转换规则包括:
- 与规则 / ⊓ 规则:如果x:(C⊓D)∈A,且{x:C,x:D}⊆A,那么A′=A∪{x:C,x:D}。
- 或规则 / ⊔ 规则:如果x:(C⊔D)∈A,且{x:C,x:D}∩A=ϕ,那么A′=A∪{x:C},A′′=A∪{x:D}。
- 存在 / ∃ 规则:如果x:∃R.C∈A,而且不存在 z ,z:C∈A且(x,z):R∈A,则对于一个新的个体 y∈A,A′=A∪{y:C,(x,y):R}。
- 全称 / ∀ 规则:如果x:∀R.C∈A且(x,y):R∈A,但,y:C∈A且(x,z):R∈A,则 A′=A∪{y:C}。
ABox的性质
ABox的冲突性:
ABoxA包含冲突 / 冲突的,若存在个体名 a ,概念C使得{a:C,a:¬C}⊆A, 或者⊥⊆A。否则称为 无冲突的。
算法从ABox A0={x0:C0} 开始,不断应用表转换规则直到没有更多的规则可应用。
Exp:应用表转换规则判断可满足性
e.g 判断
(Professor⊑(Person⊓UniversityEmployee)⊔(Person⊓¬Student))⊓(¬(Professor⊑Person))
的可满足性。
PROOF
作NNF,令
A0={x:(¬Professor⊔(Person⊓UniversityEmployee)⊔(Person⊓¬Student))⊓Professor⊓¬Person}
证明过程如下:
- 由A0和与规则,x:Professor
- 由A0和与规则,x:¬Person
- 由A0和与规则,x:¬Professor⊔(Person⊓UniversityEmployee)⊔(Person⊓¬Student)
- 由 3 和或规则,x:¬Professor (包含冲突)
- 由 3 和或规则,x:(Person⊓UniversityEmployee)
- 由 3.2 和与规则,x:Person (包含冲突)
- 由 3.2 和与规则,x:UniversityEmployee
- 由 3 和或规则,x:Person⊓¬Student)
- 由 3.3 和与规则,x:Person (包含冲突)
- 由 3.3 和与规则,x:¬Student
所有分支都包含冲突,因此A0 不可满足。
本算法适用于 TBox 为空的情况。当 TBox 非空且无环时,可通过扩张去掉TBox。
含普通包含的ABox 一致性检查
-
存在多条普通包含公理:
对于存在多条普通包含公理(C1⊑D1,⋯,Cn⊑Dn),只考虑一条公理⊤⊑C^(任何个体,包括原有个体和由规则产生的新个体,都必须属于C^).
其中
C^=(¬C1⊔D1)⊓⋯⊓(¬Cn⊔Dn)
仅应用上述算法或导致算法的不可终止。如,A0={x0:A,x0:(∃R.A)} 的一致性检查。
-
存在规则的阻止:
存在规则应用于个体 x 被一个 ABoxA中个体 y 阻止,当且仅当 {D∣D(x)∈A}⊆{D′∣D′(y)∈A}
Exp:在普通包含公理约束下判断可满足性
e.g设A0={Bill:Person},普通包含公理Person⊑∃hasParent.Person。证明在普通包 含公理的约束下,A0 的不可满足性。
- 由A0,Bill:Person
- 由包含公理,Bill:(¬Person⊔∃hasParent.Person)
- 由 2 和或规则,Bill:¬Person (包含冲突)
- 由 2 和或规则,Bill:(∃hasParent.Person)
1. 由 2.2 和存在规则,(Bill,x1):hasParent
2. 由 2.2 和存在规则,x1:Person
3. 由包含公理,x1:(¬Person⊔∃hasParent.Person)
- 由 2.2.3 和或规则,x1:¬Person (包含冲突)
- 由 2.2.3 和或规则,x1:(∃hasParent.Person) (阻止)
所有分支都包含冲突,因此A0 不可满足。