AIL C5 知识图谱与描述逻辑

语义网络知识图谱 可以用于表示特定领域中的结构化知识。

  • 本体 是一种支持知识共享的、统一的术语体系
  • 描述逻辑 建模 本体。是语义网络知识图谱推理的逻辑学基础。

语义网络和知识图谱

知识

  • 在基于知识的系统中可以被表示为一组公式集合;
  • 通常具有一定结构。e.g 框架,网络。

网络结构的知识体系中,知识在一个带标签的 有向图 中得到表达:

  • 图的结点:实体,可以是对象概念
  • 图的边:实体关系
  • 两个节点和一条边的三元组:prop(Ind,Prop,Val)prop(Ind,Prop,Val)
    • 结点IndInd,主语。
    • PropProp,动词,是一种
    • 结点ValVal,宾语。

建模中的处理:保持二元关系?

语义网络

语义网络是一个图,结点表示对象或概念,弧表示这些对象或概念之间的关系。

知识图谱

知识图谱是一种语义网络,用于描述现实世界的各种实体及其关系。由 结点标签组成。

  • 实体:对象,事件,情境,概念等
  • 核心:从大数据中提取结构化知识,以语义网络形式展示。

本体与描述逻辑

若要运用知识图谱中的各个元素进行推理,首先必须阐明这些元素及其关系的含义。在计算机领域,通常把符号的含义建构到文档中,即:在计算机中的符号与人脑中的概念之间*建立映射关系*。

  • 可以使用统一资源标识符 URI 来表示个体特性。人们在使用URI时隐含了相关的含义。

  • 不同的建模者有不同的术语体系及其含义定义。通常需要建立一个统一术语体系并阐明其中各个元素的含义来实现知识共享。

本体

统一的术语体系称为本体,可以被理解为一种用于描述特定领域 概念及其关系形式化规范

  • 关于事物分类的词汇表。
  • 分类的组织,e.g subClassOfsubPropertyOf定义继承关系。
  • 一组公理集合,用于限制一些符号的定义以更好反映期望的含义。e.g 一些特性传递的 / 论域值域受限的 / 特性值的数量受限制的。

描述逻辑

描述逻辑语义网络的继承和发展。它是一阶逻辑的子集,可以用于本体建模。目前有多种描述逻辑;每种描述逻辑都有自己的表示语言、表达能力和计算复杂性。

  • 属性语言 AL\cal{AL}:一种基本的语言,可以表示原子的否定、概念交、全称约束、受限的存 在量化。
  • 属性语言ALC\cal{ALC}: 是一种代表性的语言,允许有任意的概念。

基本组成元素

描述逻辑中的三种实体:

  • 个体 - 一阶逻辑的个体常元。个体名称表示一个领域中的单个个体。
  • 概念 - 一阶逻辑的一元谓词。概念表示个体的集合。
  • 角色- 一阶逻辑的二元谓词。

公理

本体由一系列句子组成,这些句子被称为公理

  • 公理必须在所描述的情况下为
  • 公理通常只描述本体所描述的情况的部分知识,可能存在与本体相一致的多种世界状态。即不同于数据库,本体不能完全描述特定的 “情况” 或 “世界的状态”.
  • 从逻辑的角度看,不同类型的公理之间没有主要区别。

断言型(ABox)公理:断言事实

ABox 公理可以刻画关于命名个体的知识:它们所属的概念以及它们相互之间的关系

  • 概念断言

Mother(julia)julia:Mother \begin{align*} \rm Mother(julia)\\ \rm julia:Mother \end{align*}

  • 角色断言

ParentOf(julia,john) \rm ParentOf(julia,john)

术语型 (TBox)公理:表达术语知识

TBox 公理描述概念之间的关系。

  • 概念包含

MotherParent \begin{align*} \rm Mother\sqsubseteq Parent \end{align*}

  • 概念等价 : 两个概念有相同的实例。

PersonHuman \rm Person \equiv Human

关系型(RBox)公理:建模角色间关系

RBox 公理是关于角色的特性的。

  • 角色包含公理

    ParentOfancestorOf\rm ParentOf \sqsubseteq ancestorOf

  • 角色等价公理

概念和角色的构造算子

布尔概念构造算子

布尔概念构造算子提供基本的布尔运算。可类比地理解为集合的交集并集补集运算,或者逻辑表达式的合取析取否定运算。

e.g

MotherFemaleParentParentFatherMotherMissFemale¬Married\begin{align*} \rm Mother &\equiv \rm Female \sqcap Parent\\ \rm Parent &\equiv \rm Father \sqcup Mother\\ \rm Miss &\equiv \rm Female \sqcap \lnot Married \end{align*}

角色限制

通过角色限制 形成将概念角色联系在一起的语句。

e.g 父母是至少一个人的父母:

ParentparentOf.\rm Parent \equiv \exist parentOf.\top

除了女性孩子没有其他孩子的人:

parentOf.Female¬parentOf.¬Female\rm\forall parentOf.Female \equiv \lnot\exist parentOf.\lnot Female

注意,这里包含了根本没有孩子的人。使用

ParentparentOf.FemaleparentOf.parentOf.Female\rm Parent \sqcap \forall parentOf.Female \equiv \exist parentOf.\top\sqcap\forall parentOf.Female

表示至少有一个孩子而且孩子都是女性的人。

ALC\cal{ALC}语法

形式上,每个描述逻辑本体都基于三组有穷的 符号集合:

  • NCN_C - 概念名集合
  • NRN_R - 角色名集合
  • NON_O - 个体名集合

三元组 (NC,NR,NO)(N_C,N_R,N_O) 构成描述逻辑名字表

ALC\cal{ALC} 概念集合

ALC\cal{ALC} 概念集合 是满足如下条件的极小集合

  • \bot\top概念\bot表示领域中所有对象的集合。
  • ANCA \in N_C: 每个原子概念概念
  • 给定概念C,DC,D角色RNRR \in N_R,那么如下是概念:
    • CDC \sqcap D:两个概念的交是一个概念
    • CDC \sqcup D:两个概念的并是一个概念
    • ¬C\lnot C:一个概念的补是一个概念
    • R.C\forall R.C:由一个角色对一个概念的全称约束是一个概念。
    • R.C\exist R.C:由一个角色对一个概念的存在约束是一个概念。

ALC\cal{ALC}公理

  • 术语公理
    给定概念C,DC,D,普通概念包含形如CDC \sqsubseteq D
    概念等价CDC \sqsubseteq DDCD \sqsubseteq C时,记作CDC \equiv D
  • 断言公理
    概念断言是一个形如a:Ca : C 的句子,其中 aNO,Ca \in N_O,C 是一个概念。
    角色断言是一个形如 (a,b):R(a, b) : R的句子,其中 a,bNO,Ra, b ∈ N_O,R是一个角色。

TBox是一组术语公理的有穷集合,ABox 是一组断言公理的有穷集合。

知识库:有序对 (T,A)(T,A),其中TTAA分别是 TBoxABox

扩张

给定一个 TBox T\cal{T} ,可将T\cal{T}中的原子概念分为两个集合:

  • NT\cal{N_T}:出现于公理左侧的名称符号集合;
  • BT\cal{B_T}: 出现于公理右侧的基符号集合。

通常把名称符号称为被定义的概念,而把基符号称为原始概念

  • 有环T\cal{T}中存在一个使用自身的原子概念
  • 无环T\cal{T}中不存在一个使用自身的原子概念

当一个 TBox 中的概念定义是无环的时,可通过一组原子概念定义所有其他概念,即将定义右侧的每个名称替换为该名称所代表的概念,通过一个最终停止的迭代过程得到一个术语 TBox T\cal{T}',称为T的扩张,它只包含形如 ACA \equiv C' 的定义,其中 CC' 包含基符号,不包含名称符号

LEMMA 1

TBoxT\cal{T}与其扩张T\cal{T}' 等价

ALC\cal{ALC}语义

一个解释 I\mathcal{I}由一个集合ΔI\Delta^{\mathcal{I}} 和一个解释函数 I·^{\mathcal{I}} 组成。ΔI\Delta^{\mathcal{I}}被称为I\mathcal{I}I·^{\mathcal{I}}将每个原子概念AA 映射到一个集合AIΔIA^{\mathcal{I}} \sube \Delta^{\mathcal{I}};将每个原子角色RR 映射到二元关系RIΔI×ΔIR^{\mathcal{I}} \sube \Delta^{\mathcal{I}} \times \Delta^{\mathcal{I}};将每个个体名称映射到一个元素 aIΔIa^{\mathcal{I}} \in \Delta^I

在此基础上,非原子概念非原子角色的语义由原子概念原子角色的语义来定义。

给定名字表(NC,NR,NO)(N_C,N_R,N_O),相应的术语解释 I=(ΔI,I){\mathcal{I}} = (\Delta^I, ·^I)

  • 论域:非空集合ΔI\Delta^{\mathcal{I}}

  • 解释函数 I·^{\mathcal{I}} 包括如下映射:

    1. 将每个个体aa映射到一个元素 aIΔIa^{\mathcal{I}} \in \Delta^I
    2. 将每个概念AA 映射到一个集合AIΔIA^{\mathcal{I}} \sube \Delta^{\mathcal{I}}
    3. 将每个角色RR 映射到一个集合RIΔI×ΔIR^{\mathcal{I}} \sube \Delta^{\mathcal{I}} \times \Delta^{\mathcal{I}}

    使得

    • I=ΔI\top^{\mathcal{I}} = \Delta^I
    • I=ϕ\bot^{\mathcal{I}} = \phi
    • (CD)I=CIDI(C\sqcup D)^{\mathcal{I}} = {\it C}^I \cup {\it D}^I
    • (CD)I=CIDI(C\sqcap D)^{\mathcal{I}} = {\it C}^I \cap {\it D}^I
    • (¬C)I=ΔICI(\lnot C)^{\mathcal{I}} = {\Delta}^I - {\it C}^I
    • (R.C)I={xΔIy(x,y)RIyCI}(\forall R.C)^{\cal{I}} = \left\{\it x\in\Delta^{\cal{I}} | \forall y (x,y) \in R^{\cal{I}} \rightarrow y \in C^{\cal{I}}\right\}
    • (R.C)I={xΔIyΔI:(x,y)CI}(\exist R.C)^{\cal{I}} = \left\{ x\in\Delta^{\cal{I}} | \exist y \in \Delta^{\cal{I}}:(x,y) \in C^{\cal{I}}\right\}

请注意角色全称约束的解释定义。(R.C)I={xΔIy(x,y)RIyCI}(\forall R.C)^{\cal{I}} = \left\{\it x\in\Delta^{\cal{I}} | \forall y (x,y) \in R^{\cal{I}} \rightarrow y \in C^{\cal{I}}\right\}意味着对于该集合的任一元素dd,和任一元素yΔIy\in \Delta^{\mathcal{I}},若(d,y)RI(d,y) \in R^{\mathcal{I}},则有yCIy\in C^{\mathcal{I}}。注意(d,y)∉RI(d,y) \not\in R^{\mathcal{I}}时,(x,y)RIyCI(x,y) \in R^{\mathcal{I}} \rightarrow y\in C^{\mathcal{I}} 的真值为真。

ALC\cal{ALC}推理

概念推理

为一个领域建模时,可通过定义新概念来构建一个术语体系如T\cal{T}。 此时需要厘清该新概念是否有意义矛盾

如果存在某个解释满足T\cal{T}公理i.eT\cal{T}模型),使得该概念在该解释中表示一个非空集,那么该概念是有意义的有意义概念被称为关于T\cal{T}可满足的。否则,称为关于T\cal{T}不可满足的。

  • 可满足性

    T\cal{T}是一个TBox概念 CC关于T\cal{T}可满足的,如果存在T\cal{T}的一个解释 I{\mathcal{I}},使得CIC^{\mathcal{I}} 非空。

可满足概念的性质,概念间关系包括:包含、等价和不相交。

  • 概念包含

    T\cal{T}是一个TBox。关于T\cal{T}概念CC被包含于概念DD,如果对于T\cal{T}每个解释I{\mathcal{I}},成立CIDIC^{\mathcal{I}} \sube {\it D}^I。记CC包含于DDTCD{\cal{T}} \models C \sqsubseteq D

  • 概念等价

    T\cal{T}是一个TBox概念CCDD关于T\cal{T}等价,如果对于T\cal{T}每个解释I\cal{I}CI=DIC^{\cal{I}} = D^{\cal{I}}, 记作TCD{\cal{T}} \models C \equiv D

  • 概念不相交
    T\cal{T}是一个TBox概念CCDD关于T\cal{T}不相交,如果对于T\cal{T}每个解释 I\cal{I}CIDI=ϕC^{\mathcal{I}} \cap {\it D}^I = \phi

    上下文清楚时可省去关于T

LEMMA 2

包含等价不相交三种概念可以被规约到可满足问题。给定概念CDCD

  • CDC \sqsubseteq D当且仅当 C¬DC \sqcap\lnot D 不可满足
  • CDC \equiv D当且仅当 C¬DC \sqcap\lnot DD¬CD \sqcap \lnot C不可满足
  • CD=ϕC \sqcap D = \phi当且仅当 CDC \sqcap D 不可满足

简化推理:去除 TBox

依据T\cal{T}T\cal{T}'的等价性,如果T\cal{T}可扩张(无环),则总是可以把关于T\cal{T}的推理问题规约到关于TBox 的推理问题:假设在扩张中C,DC,D扩张为C,DC',D',则

  • CC 关于T\cal{T}可满足当且仅当 CC' 关于T\cal{T}'可满足。
  • TCD{\cal{T}} \models C \sqsubseteq D当且仅当 TCD{\cal{T}'} \models C' \sqsubseteq D'
  • TCD{\cal{T}} \models C \equiv D当且仅当TCD{\cal{T}} \models C \equiv D
  • CCDD关于T\cal{T}不相交 当且仅当 CC'DD'关于T\cal{T}'不相交

填充ABox

在设计一个术语体系并使用描述逻辑系统的推理服务进行所有概念可满足性(以及概念间关系转化的可满足性)的检查后,可向 ABox 填充关于个体断言概念断言角色断言。这些知识的表示必须一致

如果T\cal{T}可扩张(无环),则总是可以把ABox的一致性检查规约为扩张的ABox检查。

ALC\cal{ALC}表算法

表算法实现:

  1. 概念的可满足性检查
  2. ABox 的一致性检查:与基于概念的可满足性检查算法类似。
  3. 涉及普通包含公理的一致性检查:需要引入可以处理普通包含公理的机制。

概念可满足性检查

首先,算法把待判定的公式转化为否定范式,NNF.

否定范式,NNF

K=(T,A){\cal K} = ({\cal T, A}) 为知识库。

  • CDC \equiv D 替换为CDC \sqsubseteq DDCD \sqsubseteq C
  • CDC \sqsubseteq D 替换为 ¬CD\lnot C \sqcup D
  • 使用如下NNFNNF转换:
    • 原子概念CC: NNF(C)=C,NNF(¬C)=¬C{\rm NNF}(C) = C, {\rm NNF}(\lnot C) = \lnot C
    • NNF(¬¬C)=NNF(C){\rm NNF}(\lnot\lnot C) = {\rm NNF}(C)
    • NNF(CD)=NNF(C)NNF(D){\rm NNF}(C \sqcup D) = {\rm NNF}(C) \sqcup {\rm NNF}(D)
    • NNF(CD)=NNF(C)NNF(D){\rm NNF}(C \sqcap D) = {\rm NNF}(C)\sqcap{\rm NNF}(D)
    • NNF(¬(CD))=NNF(¬C)NNF(¬D){\rm NNF}(\lnot(C \sqcup D)) = {\rm NNF}(\lnot C) \sqcap {\rm NNF}(\lnot D)
    • NNF(¬(CD))=NNF(¬C)NNF(¬D){\rm NNF}(\lnot(C\sqcap D)) = {\rm NNF}(\lnot C) \sqcup {\rm NNF}(\lnot D)
    • NNF(R.C)=R.NNF(C){\rm NNF}(\forall R.C) = \forall R.{\rm NNF}(C)
    • NNF(R.C)=R.NNF(C){\rm NNF}(\exist R.C) = \exist R.{\rm NNF}(C)
    • NNF(¬R.C)=R.NNF(¬C){\rm NNF}(\lnot \forall R.C) = \exist R.{\rm NNF}(\lnot C)
    • NNF(¬R.C)=R.NNF(¬C){\rm NNF}(\lnot \exist R.C) = \forall R.{\rm NNF}(\lnot C)

同样的,K\cal KNNF(K)\rm NNF({\cal K}) 在逻辑上是等价的。

表转换规则

A\cal A是一个 ABox表转换规则包括:

  • 与规则 / \sqcap 规则:如果x:(CD)Ax : (C\sqcap D) \in\cal A,且{x:C,x:D}⊈A\{x : C, x : D\} \not\sube\cal A,那么A=A{x:C,x:D}{\cal A}' = {\cal A}∪\left\{x : C, x : D\right\}
  • 或规则 / \sqcup 规则:如果x:(CD)Ax : (C\sqcup D) \in\cal A,且{x:C,x:D}A=ϕ\{x : C, x : D\} \cap {\cal A} = \phi,那么A=A{x:C},A=A{x:D}{\cal A}' = {\cal A}∪\left\{x : C\right\},{\cal A}'' = {\cal A}∪\left\{x : D\right\}
  • 存在 / \exist 规则:如果x:R.CAx:\exist R.C \in \cal A,而且不存在 zzz:CAz : C \in A(x,z):RA(x, z) : R \in\cal A,则对于一个新的个体 yA,A=A{y:C,(x,y):R}y\in{\cal A, A'} = {\cal A} \cup \left\{y : C,(x, y) : R\right\}
  • 全称 / \forall 规则:如果x:R.CAx:\forall R.C \in \cal A(x,y):RA(x,y):R \in \cal A,但,y:C∉Ay : C \not\in A(x,z):RA(x, z) : R \in\cal A,则 A=A{y:C}{\cal A'} = {\cal A} \cup \left\{y : C\right\}
ABox的性质
  • ABox冲突性
    ABoxA\cal A包含冲突 / 冲突的,若存在个体名 aa概念CC使得{a:C,a:¬C}A\{a: C, a : \lnot C\} \sube \cal A, 或者A\bot \sube \cal A。否则称为 无冲突的

算法从ABox A0={x0:C0}{\cal A_0} = \{x_0 : C_0\} 开始,不断应用表转换规则直到没有更多的规则可应用

  • ABox完全性

    A\cal A完全的,如果A\cal A 包含冲突,或没有一个扩张规则可应用的。

  • ABox一致性

    A0\cal A_0一致的,如果不断应用扩张规则得到的完全的A\cal A无冲突的。C0C_0也是可满足的
    否则称为不一致的C0C_0不可满足的。

Exp:应用表转换规则判断可满足性

e.g 判断

(Professor(PersonUniversityEmployee)(Person¬Student))(¬(ProfessorPerson))(\rm Professor \sqsubseteq (Person\sqcap UniversityEmployee)\sqcup(Person\sqcap\lnot Student))\sqcap(\lnot(Professor\sqsubseteq Person))

的可满足性。
PROOF
NNF\rm NNF,令

A0={x:(¬Professor(PersonUniversityEmployee)(Person¬Student))Professor¬Person}A_0 = \{x :(\rm \lnot Professor \sqcup (Person\sqcap UniversityEmployee)\sqcup(Person\sqcap\lnot Student))\sqcap Professor\sqcap\lnot Person\}

证明过程如下:

  1. A0A_0和与规则,x:Professorx : \rm Professor
  2. A0A_0和与规则,x:¬Personx: \rm \lnot Person
  3. A0A_0和与规则,x:¬Professor(PersonUniversityEmployee)(Person¬Student)x:\rm \lnot Professor \sqcup (Person\sqcap UniversityEmployee)\sqcup(Person\sqcap\lnot Student)
    1. 由 3 和或规则,x:¬Professorx : \rm ¬Professor (包含冲突)
    2. 由 3 和或规则,x:(PersonUniversityEmployee)x : \rm (Person\sqcap UniversityEmployee)
      1. 由 3.2 和与规则,x:Personx:\rm Person (包含冲突)
      2. 由 3.2 和与规则,x:UniversityEmployeex : \rm UniversityEmployee
    3. 由 3 和或规则,x:Person¬Student)x : \rm Person\sqcap\lnot Student)
      1. 由 3.3 和与规则,x:Personx : \rm Person (包含冲突)
      2. 由 3.3 和与规则,x:¬Studentx: \rm\lnot Student

所有分支都包含冲突,因此A0A_0 不可满足。

本算法适用于 TBox 为空的情况。当 TBox 非空且无环时,可通过扩张去掉TBox

普通包含ABox 一致性检查

  • 存在多条普通包含公理:

    对于存在多条普通包含公理(C1D1,,CnDn)(C_1 \sqsubseteq D_1, \cdots , C_n \sqsubseteq D_n),只考虑一条公理C^\top\sqsubseteq \hat C(任何个体,包括原有个体和由规则产生的新个体,都必须属于C^\hat C).

    其中

    C^=(¬C1D1)(¬CnDn)\hat{C} = (\lnot C_1 \sqcup D_1)\sqcap \cdots \sqcap( \lnot C_n \sqcup D_n)

    仅应用上述算法或导致算法的不可终止。如,A0={x0:A,x0:(R.A)}A_0 = \{x_0 : A, x_0 : (\exist R.A)\} 的一致性检查。

  • 存在规则的阻止

    存在规则应用于个体 xx 被一个 ABoxA\cal A中个体 yy 阻止,当且仅当 {DD(x)A}{DD(y)A}\{D | D(x) \in {\cal A}\} \sube \{D' | D'(y) \in{\cal A}\}

Exp:在普通包含公理约束下判断可满足性

e.gA0={Bill:Person}{\cal A_0} = \rm\{Bill : Person\},普通包含公理PersonhasParent.Person\rm Person \sqsubseteq\exist hasParent.Person。证明在普通包 含公理的约束下,A0\cal A_0 的不可满足性。

  1. A0,Bill:Person\cal A_0\rm ,Bill : Person
  2. 由包含公理,Bill:(¬PersonhasParent.Person)\rm Bill : (\lnot Person\sqcup \exist hasParent.Person)
  3. 由 2 和或规则,Bill:¬Person\rm Bill : \lnot Person (包含冲突)
  4. 由 2 和或规则,Bill:(hasParent.Person)\rm Bill : (\exist hasParent.Person)
    1. 由 2.2 和存在规则,(Bill,x1):hasParent\rm (Bill, {\it x_1}) : hasParent
    2. 由 2.2 和存在规则,x1:Personx_1 :\rm Person
    3. 由包含公理,x1:(¬PersonhasParent.Person)x_1 :\rm (\lnot Person\sqcup \exist hasParent.Person)
    1. 由 2.2.3 和或规则,x1:¬Personx_1 :\rm ¬Person (包含冲突)
    2. 由 2.2.3 和或规则,x1:(hasParent.Person)x_1 :\rm (\exist hasParent.Person) (阻止)

所有分支都包含冲突,因此A0\cal A_0 不可满足。


AIL C5 知识图谱与描述逻辑
http://example.com/2023/05/05/AIL-5/
Author
Tekhne Chen
Posted on
May 5, 2023
Licensed under