笔记 OPENHPI 语义网技术 Week5

公开课请见:https://openhpi.de/

L5-1 知识表达——描述逻辑ALC

知识表达的两类方式
  1. 基于逻辑的公式化方式
    例如:描述逻辑
  2. 非基于逻辑的公式化方式
    例如:语义网络Semantic Networks、基于框架的表达、基于规则的表达
一阶逻辑不适合做语义网本体语言的种种原因...略,描述逻辑适合做语义网本体语言的种种原因,略。
 
OWL 2 DL这个W3C标准既是基于描述逻辑SHROIQ(D)的本体语言
 
ALC的基础知识见W4笔记
 
ALC角色的量词:
  • Strict Binding严格限定一个类的角色范围
    Examination ⊑ ∀hasSupervisor.Professor
    (∀x)(Examination(x) → (∀y)(hasSupervisor(x,y) → Professor(y)))
    考试必须由一个老师监考
  • Open Binding开放限定一个类的角色范围
    Examination ⊑ ∃hasSupervisor.Person
    (∀x)(Examination(x) → (∃y)(hasSupervisor(x,y) Λ Person(y)))
    考试要由至少一个老师监考
ALC形式语法
  • ALC TBox术语知识层包括复杂类之间构成的推论
  • ALC ABox断言知识层包括复杂类、角色、和实体之间构成的推论
  • ALC 知识库Knowledge Base包括 ABox和TBox     
ALC语义(演绎)
一个演绎I=(ΔI,.I)包含了:
  • 一个实体的领域
  • 一个演绎函数:
    将实体名a 映射到其 领域元素aI∈Δ I
    将类名C映射到 领域元素CI⊆ΔI
    将角色名R映射到 RI⊆ΔI×ΔI

ALC语义演绎

复杂类的扩展
ALC complex classes ext
公理的扩展

ALC Axioms ext

 
ALC知识库
术语知识TBox 描述了建模领域的结构(概念化的模式)
  • Human ⊑ ∃ parentOf.Human
  • Orphan ≡ Human ⊓ ¬∃ hasParent.Alive
推断知识ABox 描述了特定情形(数据)的公理
  • Orphan(harrypotter)
  • hasParent(harrypotter,jamespotter)
描述逻辑

L5-2 知识表达——描述逻辑的推理和推论

开放世界假定(Open World Assumption, OWA)
  • 当我们有一个空白的描述逻辑本体时,一切都是可能的
  • 我们开始不断地对一个本体加以限制,让它变得越来越限定
  • 我们定义什么是不可能的,什么是避免的,什么是排除的
Sheep  Animal ⊓ ∀hasLimbs.Leg 
并没有限定羊不能飞,所以羊是可能能飞的,但是我们无法知道是否能飞
在开放世界假定中,除非我们规定了羊不能飞或者羊能飞,不然的将返回“不知道”
 
在语义网中,我们期望别人能够扩展我们的模型,OWA就比较适合,我们可以有意识地让我们的模型不完整,然后允许它人重用和扩展我们的模型。
 
封闭世界假定(Closed World Assumption, CWA)
在封闭世界假定中,我们陈述所有的可能性,没有陈述的事情就一定是不可能的。
  • OWA额外的个体的存在是可能的,即使本体中没有包括它
  • CWA知识库包含了所有的个体
推理存在的问题:
  • 知识库的全局一致性
    知识库是否有意义?
    KB ⊨ ⊥? 
  • 类的一致性
    类是否为空?
    C ≡  ⊥ ?
  • 类的包含
    构建知识库
    C
      D?
  • 类的等价
    两个类是否一样?
    C ≡ D?
  • 类的不相交
    两个类是否不相交?

    C  D = ⊥ ?
  • 类成员
    个体是否属于一个类?

    C(a)?
描述逻辑的推理的可判定性:不总是可判定
 
还原至不可满足性:
  • 类的一致性

    iff KB {C(a)} unsatisfiable (a new)

    C ≡  ⊥ 

  • 类的包含

    iff KB {(C¬D)(a)} unsatisfiable (a new)

    ⊑ D

  • 类的等价

    iff C  D and D  C

    C ≡ D

  • 类的不相交

    iff KB {(CD)(a)} unsatisfiable (a new)
    ⊓ D = ⊥ 
  • 类成员

    iff KB {¬C(a)} unsatisfiable
    C(a)

L5-3 知识表达——ALC的表格算法

描述逻辑的表格算法,转换至标准否定范式:
 
令W是一个知识库
  • CD和D C替换C≡D
  • ¬CD替换CD
  • 应用标准否定范式的转换规则
结果将是一个知识库NNF(W),NNF(W)与W是逻辑上等价的。
 
NNF转换规则
 nnf transformation
转换示例:
P  (E U) ¬(¬ED)
转换成
¬P  (E U) (E¬D)
 
描述逻辑的表格扩展规则:

 tableaux extension rule for dl
如果结果中的表格是封闭的,则原知识库是不可满足的。
 
描述逻辑的表格算法示例:
 
  • P代表教授
  • E代表人
  • U代表大学员工
  • D代表学生
给定知识库:
  • P  (E U) (E¬D)
试问:

  • P  E是否是一个合理的逻辑推理?
先将知识库转换为标准否定范式:¬P(E U) (E¬D)
将试证明的⊑ E转换成否定范式:¬P ⊔E,对其进行否定,得P  ¬E
 
也就是要证明知识库{¬P⊔ (E⊓ U)⊔ (E⊓ ¬D),(P ¬E)(a)}是否是封闭的
 
表格算法:
(1) (P⊓¬E)(a) (from knowledge base)
(2|α from 1) P(a)
(3|α from 1) ¬E(a)
(4) (¬P⊔ (E⊓ U)⊔ (E⊓ ¬D))(a) (from knowledge base)
(5|β from 4)) ¬P(a) | (6)((E ⊓U) ⊔(E ⊓¬D))(a)
                    (7|β from 6) (E⊓ U)(a) | (8) (E⊓ ¬D)(a)
                    (9| α from 7) E(a)      (10| α from 8) E(a)            
                  (11| α from 7) U(a)      (12| α from 8) ¬D(a)
 
带有Blocking的描述逻辑表格算法,未懂

L5-4 知识表达——网络本体语言OWL 第一部分

OWL本体包括:
  • 属性
  • 个体(类的实例)
OWL采用开放世界假定
OWL不限定唯一的名称假定,A可能和B指的的同样一个个体
OWL是一阶逻辑的一个语义片段
 
OWL是一系列本体:

 owl hierarchies
OWL 1 DL 基于的是SHOIN(D)
 
OWL2 可以用不同的语法表达:
  • 功能语法
  • RDF语法
  • XML语法
  • Manchester语法
  • Turtle 
Turtle是非常简单易编写的,RDF语法的兼容性非常好
一个turtle语法的owl本体示例:
owl turtle

L5-5 知识表达——网络本体语言OWL 第二部分

OWL 类
 
两个预定义的类:
  • owl:Thing 包含了所有个体的类
  • owl:Nothing 空类
OWL类的定义:
  :Wine a owl:Class .
 
OWL个体
  • 通过类成员关系来定义个体:
    :WegelerRheingauRiesling a :Wine .
  • 也可以不用具体的类来定义:
    :HaraldSack a owl:NamedIndividual .
OWL谓词
存在两种变体:
  • 对象属性
  • 数据类型属性
对象属性的定义
  • 对象属性Object properties的定义:
    :isMadeFrom a owl:ObjectProperty .
  • 对象属性的领域和范围定义

    :isMadeOf a owl:ObjectProperty ;
              rdfs:domain :Wine ;
              rdfs:range :Grapes .
描述逻辑中的定义:
Domain: ∃isMadeOf. ⊤ ⊑ Wine
Range: ⊤ ⊑ ∀ isMadeOf.Grapes
 
数据类型属性的定义:
  • 定义:

    :hasVintageYear a owl:DatatypeProperty.
  • 领域和范围定义:

    :hasVintageYear a owl:DatatypeProperty ;
                    rdfs:domain :Wine ;
                    rdfs:range xsd:integer .
很多XML数据类型都是可以使用的。
 
类的层次:
:Wine a owl:Class ;
       rdfs:subClassOf :AlcoholicBeverage .
:AlcoholicBeverage a owl:Class ;
       rdfs:subClassOf :Beverage .
:Beverage a owl:Class .
  • Wine ⊑ AlcoholicBeverage
  • AlcoholicBeverage ⊑ Beverage
类的不相交
:AlcoholicBeverage owl:disjointWith :MainDish .
  • AlcoholicBeverage ⊓ MainDish ⊑ ⊥
便捷地定义一系列不相交的类:
[] a owl:AllDisjointClasses ;
                 owl:members
                     ( :Wine
                       :Beer
                       :SoftDrink
                       :Vegetables
                       :Seafood
                       :Meat ) .
类相等
:AlcoholicBeverage owl:equivalentClass :Liquor .
  • AlcoholicBeverage ≡ Liquor

L5-6 知识表达——网络本体语言OWL 第三部分

个体之间的关系:
  • 相同owl:sameAs
  • 不同owl:differentFrom

    [] a owl:AllDifferent ;
    owl:distinctMembers
    (:......).
  • 包含owl:oneOf  ⊑
  • 相交owl:intersectionOf  ⊓
  • owl:unionOf  ⊔
  • 补充owl:complementOf  ¬
OWL属性限定 
  • 对值的限定

    owl:hasValue 用一个常量来做限定
    owl:allValuesFrom 将一个类中的所有实例作为取值范围
    owl:someValuesFrom 一个类中的有些实例作为取值范围
  • 对基数的限定

    owl:cardinality 限定一个特定值
    owl:minCardinality 最小值
    owl:maxCardinality最大值

L5-7 知识表达——网络本体语言OWL 第四部分

谓词的关系
  • 谓词的层次

    rdfs:subPropertyOf
  • 谓词的inverse

    owl:inverseOf
  • 谓词的相等

    owl:equivalentProperty
  • 谓词的传递性

    owl:TransitiveProperty
  • 对称谓词

    owl:SymmetricProperty、owl:ReflexiveProperty、owl:IrreflexiveProperty
  • 函数谓词

    owl:FunctionalProperty
  • 反函数谓词

    owl:InverseFunctionalProperty
  • 谓词不相交

    owl:propertyDisjointWith

    owl:AllDisjointProperties
    owl:members ( ... ) .
  • 全局和空谓词

    owl:topObjectProperty

    owl:bottomObjectProperty

    owl:topDatatypeProperty

    owl:bottomDatatypeProperty
OWL2的数量限制:

  • owl:maxQualifiedCardinality
  • owl:minQualifiedCardinality
  • owl:qualifiedCardinality
不相关
[] rdf:type owl:negativePropertyAssertion ;
          owl:sourceIndividual :Max ;
          owl:assertionProperty :isBrother ;
          owl:targetIndividual :Moritz .

L5-8 知识表达——网络本体语言OWL 第五部分 OWL 一般角色包含

负责角色/谓词可以通过简单角色/谓词(RBox)创建
 
一般谓词包含:
  • RBox的表达:R 1ºR  R3º.....º R n S
  • 语义:如果(x 0,x 1 ) R1I,(x 1 ,x2 ) ∈R2I... (xn-1 ,x n)  RnI ;则(x 0,x n ) SI
RBox的形式语言定义:
L ::= ab  L ::= aLb
变成:
R a º R ⊑ L  R a º º R⊑ L
 
带有一般谓词包含的OWL是不可决定的。
 
限制成一般RBox
  • 谓词名称遵从严格偏序
简单谓词限制,下面的表达只能对简单谓词使用
  • ≤n R.C and ≥n R.C 数量限制
  • 非自反的谓词
  • 非相交的谓词
  •  R.Self
  • ¬R(a,b)
OWL 允许 谓词链
:hasFriendsFoe a owl:ObjectProperty ;
          owl:PropertyChainAxiom ( :hasFriend :hasFoe ) .

L5-9 知识表达——规则和语义网

什么是规则?
对于规则的理解要看上下文
  • 一般推理
    Premise → Conclusion
  • 假说
    Cause → Effect
  • 产生式
    Condition → Action
规则种类:
  • 逻辑规则(一阶逻辑)
    G is equivalent with ¬F ∨ G
  • 程序性规则(例如产生式)
    If X then Y else Z
  • 逻辑编程规则(例如Prolog,F-Logic)
    "woman(X) <- person(X) AND NOT man(X)"
一阶逻辑作为一个规则语言(Horn Clause)霍恩子句
 
A 1 ∧ A ∧ . . . ∧ A  H
与以上等价于
¬A 1 ∨ ¬A ∨ . . . ∨ ¬A∨ H
 
非相交规则:多个非否定形式的原子的相交
A 1 ∧ A 2 ∧ . . . ∧ A → H ∨ H ∨ . . . ∨ H m
 
  • 子句clause
    原子公式或者非否原子公式的相交
  • 霍恩子句 horn clause
    有最多一个非否定原子的子句
  • 确定子句definite clause
    有且只有一个非否原子的子句
  • 事实fact
    由一个单独的非否原子构成的子句
DATALOG 是一个逻辑规则语言
DATALOG包括:
  • 不带函数符号的霍恩子句
  • 相与、常数、全局量化变量、谓词符号
DATALOG不包括:
  • 相交、否定、存在量词、函数符号
DATALOG 语法:
  • 术语
    常量c 变量v
  • 原子
    带有谓词p的术语p(t1,...,tn)
  • 规则
    ∀x1...∀xn (B1⋀...⋀Bn -> H)
  • 程序
DATALOG和OWL的组合:SWRL 语言 语义网规则语言
 
RIF 规则交互格式
组成:
  • RIF BLD(basic logic dialect) 语言标准
  • RIF-RDF/RIF-OWL 与已有的知识表达语言之间的互操作
  • RIF-PRD(Production Rules Dialect)产生式规则的标准
  • RIF-DTB(Data Type和 Builtins)
  • RIF-FLD(Framework of Logic Dialect)
 
 
 
 
 

Leave a Reply

Your email address will not be published. Required fields are marked *