`
lcf11824
  • 浏览: 87983 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

owl本体语言学习笔记(一)

阅读更多

 

一、关于本体

 

1. 本体论语义学的特点:  

     本体论语义学与其他人工智能理论、自然语言加工系统相比有自己的一些鲜明特点。其一,它强调对意义的处理无需通过句法分析,至少主要不是通过句法分析。在它看来,机器对意义的接受、表征、加工、生成和输出,或者说,让机器的句法加工具有语义性或意向性,靠的主要不是原先的关键词匹配,句法转换,而依赖的是对人类智能的全方位模拟。其二,本体论语义学认识到了人类心理状态具有意向性、自然语言具有语义性依赖于复杂的因素,并在这种认识的基础上形成了研究意义的一种综合性方案。在具体的工程学实践中,它关注到了意义处理中的多方面因素,即不仅仅注意到了知识性因素,而且还重视潜藏在人类智能中的非知识因素,并通过特定的方式将它们“内化”到他们所建构的人工智能系统之中。第三,本体语义学非常重视本体论图式在人类心理状态意向性、自然语言语义性中的作用,并在将这一认识成果向工程技术领域转化,进而让自然语言加工系统获得这一语义生成的重要枢纽、机制方面做了大胆探索,取得了富有启发意义的初步成果。第四,本体论语义学的确有重要的实践意义和广阔的应用前景,最重要的应用价值是它能产生文本意义表征。因为它的语义处理系统可以借助静态知识资源对输入文本作出分析,借助加工器的动态能力将所储存的知识动态地提取出来,并运用于知识表征, 然后借助这些知识资源产生文本意义表征,并由特定输出设备完成在意义交流层次的人机对话。


2. 本体

     本体是用来描述某个领域的知识的。描述了该领域内各个概念和概念间的关系。(使用本体是为了用它进行关于个体的推理)


3. 操作 :与或非


4. 概念

     人们通过对客观世界中存在的对象进行观察和思考,经过思维的抽象,在思想中产生了“概念”。 概念是思维的产物,用来反映思维对象特有属性或本质属性。概念属于思维领域,为了交流,人们使用语词表达概念。语词只是概念的语言形式,同一个概念可以用不同的语词表达,同一个语词在不同的语境中表达不同的概念。因此,概念、语词和对象的关系是:概念是认知主体的认知结果,属于思想层面。语词是认识主体创造的用于表达概念。对象是客观存在。认知主体用概念来指代对象,并用语词来指称对象。

 

二、OWL学习

 

1. OWL介绍

      OWL(Ontology Web Language)是一种本体语言,是W3C(World Wide Web Consortium),OWL让描述各种概念成为可能,还提供了很多功能。


2. 三类OWL

(1)OWL-lite: 从语法上来说,OWL-Lite是三个之中最简单的一个,当你的本体中类的层次结构很简单,并且只有简单的约束(constraint)时适合使用它来描述本体。例如,在需要把一个已存在的辞典(thesauri)移植到另一个差不多简单的概念层次时,OWL-Lite可以做得又快又好。

(2)OWL-DL: 和OWL-Lite相比,OWL-DL的表达能力要丰富许多,它的基础是描述逻辑(Description Logics,即DL的由来)。描述逻辑是一阶逻辑(First Order Logic)的一个可判定的变种(译注:不一定准确,原文decidable fragment),因此可以用来进行自动推理,计算机从而可以知道本体中的分类层次,以及本体中的各种概念是否一致。

(3)OWL-full: OWL-Full是OWL的三种子语言中表达能力最强的一个,适合在那些需要非常强的表达能力,而不用太关心可判定性(decidability)或是计算完全性的场合下使用。不过也正是由于表达能力太强这个原因,用OWL-Full表示的本体是不能进行自动推理的。


3.OWL本体的组成

(1)个体(individual) :个体代表领域中我们感兴趣的对象,OWL不使用唯一命名假设,即两个不同的名称可以对应一个个体(例如:“伊丽莎白女王”和“伊丽莎白温莎”是指同一个人)。在OWL中,必须明确表示个体之间是否相同,否则它们的关系是不明确的。

注:个体(individual)有时也被称作实例(Instance)。

(2)属性(Property) :属性是个体之间的二元关系。在描述逻辑中,它们就是角色(Role)的概念。

         函数属性(Functional Property)——通过这个属性只能连接一个个体。hasBirthMother

反函数属性(Inverse Functional Property)——即这个属性的反属性是函数属性,也就是对于一个给定的个体,只有最多一个个体能通过该属性连接那个个体。isBirthMotherOf

传递属性(Transitive Property)——hasAncestor

对称属性(Symmetric Property)——hasSibling,如果一个属性是对称的那么它就不能是函数属性。

还可以将属性分为:

对象属性(Object Property)——连接两个个体。

数据类型属性(Datatype Property)——连接个体和XML Schema数据类型值或rdf literal,该属性不能为传递的,对称的,反函数的。

标注属性 (Annotation Property)——用来对类,属性,个体和本体添加信息(元数据)。OWL-DL对标注属性作出了如下限制:(1)标注属性的filler只能为,literal或URI或个体。(2)标注属性没有子属性,也不能为其它属性的子属性,而且不能使用domain和range。

(3)类(class) :表示一些个体的集合,它使用数学的方法描述出该类中成员必须具有的条件。

注:概念(concept)这个词有时被用来代替类,实际上,类是概念的一个具体表现。



4.OWL中本体的结构

(1)命名空间

在使用一组术语之前,需要精确地指出哪些具体的词汇表将会用到。一个典型的OWL本体以命名空间声明开始,这些命名空间写到<rdf:RDF 标签中。

属性值是不具有命名空间的,在OWL里可以写出它们的完整URI。完整的URI中可以利用实体定义来简略。

如:<!DOCTYPE rdf:RDF [

     <!ENTITY vin  "http://www.w3.org/TR/2004/REC-owl-guide-20040210/wine#" >

     <!ENTITY food "http://www.w3.org/TR/2004/REC-owl-guide-20040210/food#" > ]>

在声明这些实体后,我们可以将“&vin;merlot”作为“http://www.w3.org/TR/2004/REC -owl-guide-20040210/wine#merlot”的简写。


(2)本体头部

在owl:Ontology标签中给出本体的声明。这些标签支持一些重要的常务工作比如注释、版本控制以及其他本体的嵌入等。

owl:Ontology元素是用来收集关于当前文档的OWL元数据的。

rdf:about属性为本体提供一个名称或引用。

rdfs:comment提供了显然必须的为本体添加注解的能力。

owl:priorVersion是一个为用于本体的版本控制系统提供相关信息(hook)的标准标签。本体的版本控制将在后面作进一步讨论。

owl:imports提供了一种嵌入机制。owl:imports接受一个用rdf:resource属性标识的参数。

(3)数据集成与隐私

不同的个体成员可能表示同一个体,owl:sameAs表达等价的能力。


5. 基本元素

 

5.1简单的个体和类

外延:我们称由属于某个类的个体所构成的集合为该类的外延(extension)。

本体:为了进行相关个体的推理。

 

5.1.1 简单的具名类

一个领域中最基本的概念对应各个分类层次树的根。

。。。。国际化资源标识符(IRI)。。。。。统一资源标识符(URI)。。。。

rdf:ID="Region" 被用于引入一个名称(作为定义的一部分)

在这一文档中,我们现在可以用#Region来引用Region类,例如 rdf:resource="#Region"

rdfs:subClassOf是用于类的基本分类构造符,次关系是可传递的

一个类的定义由两部分组成:引入或引用一个名称,以及一个限制表。

 

5.1.2 个体

<owl:Thing rdf:ID="CentralCoastRegion" /> 

<owl:Thing rdf:about="#CentralCoastRegion"> 

<rdf:type rdf:resource="#Region"/> 

/*表示个体,type是一个rdf属性,用于关联一个个体和它所属的类*/

  </owl:Thing>

或者使用

<Region rdf:ID="CentralCoastRegion" /> 语句来表示个体

** Web本体被设计成为分布式的,我们可以通过导入和补充已有的本体来创建衍生的本体。

 

5.1.3 使用方面的考虑

一个类仅是一个名称和一些描述某集合内个体的属性;而个体是该集合的成员。因此,类应自然地对应于与某论域中的事物的出现集合,而个体应对应于可被归入这些类的实际的实体。

子类:类的子集合

实例:表示一个单一的个体

一个本体的开发应坚定地由它的预定用途所驱动。这些问题也存在于OWL Full和OWL DL之间的一个重要区别。OWL Full允许将类(class)用作实例(instance),而OWL DL不允许。

 

5.2 简单属性

一个属性是一个二元关系,有两种类型的属性

数据类型属性(datatype properties):类实例与RDF文字或XML Schema数据类型间的关系。

对象属性(object properties):两个类的实例间的关系。

 

5.2.1 定义属性

<owl:ObjectProperty rdf:ID="madeFromGrape"> 

    <rdfs:domain rdf:resource="#Wine"/> /*表示定义域*/

   <rdfs:range rdf:resource="#WineGrape"/> /*表示值域*/

</owl:ObjectProperty>

在OWL中,一个值域可被用来推断一个类型

<owl:Thing rdf:ID="LindemansBin65Chardonnay">

   <madeFromGrape rdf:resource="#ChardonnayGrape" />

 </owl:Thing>

可以推断出,LindemansBin65Chardonnay为一种葡萄酒,因为其定义域为wine

可以定义子属性,属性是传递的,例如X为Y的子属性,如果具有属性X,则必然同时具有属性Y。

 

5.2.2 属性和数据类型

数据类型属性:将个体关联到数据(值域为:RDF文字或XML Schema数据类型)

<owl:Class rdf:ID="VintageYear" />

<owl:DatatypeProperty rdf:ID="yearValue">

<rdfs:domain rdf:resource="#VintageYear" />    

    <rdfs:range  rdf:resource="&xsd;positiveInteger"/>

</owl:DatatypeProperty> 

yearValue属性将VintageYears与一个整数值相关联。

 

5.2.3 个体的属性

<Region rdf:ID="SantaCruzMountainsRegion">

   <locatedIn rdf:resource="#CaliforniaRegion" />

 </Region>

 <Winery rdf:ID="SantaCruzMountainVineyard" />

<CabernetSauvignon   rdf:ID="SantaCruzMountainVineyardCabernetSauvignon" >

   <locatedIn   rdf:resource="#SantaCruzMountainsRegion"/>  

   <hasMaker    rdf:resource="#SantaCruzMountainVineyard" />   

 </CabernetSauvignon>  

 

5.3属性特性

5.3.1 传递属性: P(x,y),P(y,z)  P(x,z)

5.3.2 对称属性: p(x,y)当且仅当P(y, x)【注意是同一个关系】

5.3.3 函数属性: P(x,y) 与P(x,z) 蕴含 y = z,即对应值的唯一性

5.3.4 逆属性 (inverseOf):P1(x,y) 当且仅当P2(y,x)【注意是不同关系】

5.3.5反函数属性 (InverseFunctional):P(y,x) 与 P(z,x) 蕴含 y = z;

InverseFunctional意味着属性的值域中的元素为定义域中的每个元素提供了一个唯一的标识。

 

5.4 属性限制

5.4.1 两个属性限制机制 ,allValuesFrom与 someValuesFrom是局部的(local),它们仅仅在包含它们的类的定义中起作用。

owl:allValuesFrom属性限制要求:对于每一个有指定属性实例的类实例,该属性的值必须是由owl:allValuesFrom从句指定的类的成员。

Wine的制造商必须是Winery。allValuesFrom限制仅仅应用在Wine的hasMaker 属性上。Cheese的制造商并不受这一局部限制的约束。(代码如下)

 

owl:someValuesFrom限制与之相似。

关系                   含意

allValuesFrom 对于所有的葡萄酒,如果它们有制造商,那么所有的制造商都是酿酒厂。

someValuesFrom 对于所有的葡萄酒,它们中至少有一个的制造商是酿酒厂。

      前者并不要求一种葡萄酒一定要有一个制造商。如果它确实有一个或多个制造商,那么这些制造商必须全部都是酿酒厂。后者要求至少有一个制造商是酿酒厂,但是可以存在不是酿酒厂的制造商。

 

5.4.2 基数限制

owl:cardinality:这一约束允许对一个关系中的元素数目作出精确的限制。

例如,我们可以将Vintage标识为恰好含有一个VintageYear的类。

 

值域限制在0和1的基数表达式(Cardinality expressions)是OWL Lite的一部分。这使得用户能够表示“至少一个”,“不超过一个”,和“恰好一个”这几种意思。OWL DL中还允许使用除0与1以外的正整数值。owl:maxCardinality能够用来指定一个上界。owl:minCardinality能够用来指定一个下界。使用二者的组合就能够将一个属性的基数限制为一个数值区间。

 

5.4.3 hasValue

       hasValue 使得我们能够根据“特定的”属性值的存在来标识类。因此,一个个体只要至少有“一个”属性值等于hasValue的资源,这一个体就是该类的成员。

 

如果是Burgundy酒,那就都是干(dry)的酒。也即,它们的hasSugar属性必须至少有一个是值等于Dry(干的)。

【我的理解是,每个Burgundy都要有一个干的(Dry)属性,以此来标识该酒是干酒】




1
0
分享到:
评论

相关推荐

    Web本体语言(OWL)学习笔记

    - **owl base.txt**:这个文本文件可能是学习笔记的一部分,包含关于OWL基础概念的详细说明或示例代码。 通过深入学习和理解OWL,开发者可以构建更加智能的应用,使得数据不仅仅是数据,而是富含意义的信息,为AI...

    Protege构建本体笔记

    OWL本体主要由个体、关联和类三个核心组成部分构成。 ##### 1. 个体(Individuals) - **定义**:指领域中的具体对象。 - **特点**: - 在OWL中,两个不同的名字可以指向同一个个体。 - 个体是类的实例。 - 是...

    protege初学者资料集

    通过学习这些材料,初学者不仅可以掌握Protege的使用,还能深入理解OWL本体语言,从而在实际项目中构建出高质量的本体模型。同时,对本体推理的理解将有助于提升数据的智能分析和知识发现能力。在学习过程中,理论与...

    基于Jena学习笔记,新手使用更方便

    - **OWL**:一种更强大的本体语言,用于表达更复杂的逻辑和推理规则。 - **Ontology**:本体,定义概念、属性和关系的结构,用于描述特定领域的知识。 **2. 学习方法** Jena的学习过程通常包括理论与实践两部分。...

    protege-owl

    【Protege-OWL 教程笔记】 Protege-OWL 是一个强大的本体编辑器,主要用于构建和编辑使用Web本体语言(OWL)的...Protege-OWL 提供了用户友好的界面,便于创建、编辑和管理OWL本体,是学习和实践本体工程的重要工具。

    protege学习笔记(中级)(附实例)

    - 创建项目:启动Protege,新建一个项目,并选择合适的本体语言,如OWL(Web Ontology Language)。 - 设计词汇表:定义领域内的核心类和属性,如“人”、“年龄”等。 - 关系建立:设定类之间的关系,如“人”...

    semantic web学习笔记

    **OWL(Web Ontology Language)** 是一种强大的本体语言,用于构建更为复杂和精确的语义模型。相比于RDFS,OWL提供了更多的逻辑词汇和更严谨的推理规则,允许用户定义类、属性、个体之间的复杂关系,如类的相容性、...

    Protege新手入门(入门篇+进阶篇+推理篇+使用笔记)

    在Protege中创建本体,首先需要选择适当的本体语言,如OWL DL或OWL Full。然后,通过“文件”-&gt;“新建本体”开始创建新项目。为本体命名并指定存储位置。接着,开始构建类层次结构,通过右键点击类列表,选择“新建...

    protege使用笔记

    Protege 使用笔记 Protege 是一个功能强大且流行的本体编辑器,能够帮助用户快速构建本体模型。本文将介绍 Protege 的基本使用方法,并讲解如何使用 Protege 来构建一个简单的本体模型。 安装和配置 首先,需要...

    protege学习资料(入门、进阶、推理)

    Protege支持OWL(Web Ontology Language)和OWL DL等本体语言,这些语言是构建和表达领域知识的基础,尤其在生物医学、信息集成和智能系统等领域有着广泛应用。 **二、版本差异:Protege 4.2与3.2** 尽管Protege ...

    protege教程

    OWLAPI插件则提供了对OWL语言更深入的操作。 3. **版本控制**:Protege支持版本管理,便于团队协作和历史追踪。 4. **导入与导出**:Protege可以导入其他格式的本体(如RDF、OWL),也可以导出为不同格式,方便与...

    1.Protege新手入门(基础篇).doc

    **Protege新手入门(基础篇)** **1. Protege简介** ...通过以上步骤,初学者可以基本掌握Protege中构建OWL本体的基本操作,进一步深入学习可以涉及更复杂的逻辑约束、个体实例的添加、导入导出本体等高级功能。

    Protege新手入门(推理篇)笔记

    ### Protege新手入门(推理篇)笔记 #### 一、引言 Protege是一款广泛应用于语义网和本体工程领域的开源工具,它...希望这篇笔记能够帮助新手用户快速掌握Protege的基本使用方法,并激发更多关于本体工程的学习兴趣。

    知识图谱笔记+代码

    本笔记集合包含了对知识图谱的深入理解和实践代码,旨在帮助学习者快速掌握这一技术。 知识图谱的核心概念包括实体(Entities)、关系(Relationships)和属性(Attributes)。实体代表现实世界中的对象,如人、...

    本体论学

    同时,你还能学习如何使用工具(如Protégé或OWLAPI)来编辑和管理本体,以及如何利用SPARQL查询语言来提问和提取知识。此外,你可能还会接触到如何将本体应用于自然语言处理、推荐系统、智能问答等实际应用场景。 ...

    awesome-knowledge-graph-master.zip

    笔记和论文可能涵盖了知识增强的机器学习模型,如基于知识图谱的半监督学习、迁移学习等,以及如何将知识图谱应用于自然语言处理、图像识别等领域,提高模型的解释性和泛化能力。 总之,"awesome-knowledge-graph-...

    知识图谱技术体系

    - **Extractor**:借助自然语言处理技术和机器学习算法,用于处理文本类数据。 ##### 知识融合 - **合并外部知识库**:包括数据层的融合和模式层的融合,确保知识的一致性和完整性。 - **开放数据集成框架**:如...

Global site tag (gtag.js) - Google Analytics