知识图谱初步学习(一)——本体+Protege新手学习

文章目录

  • 前言(本体详解)
    • 1.本体概念
    • 2.本体分类
    • 3.本体组成
    • 4.本体构建方法
    • 5.本体构建的原则
    • 6.本体应用
  • 一、protege简介
  • 二、软件使用步骤
    • 1.安装
    • 2.使用
    • 3.案例
  • 三、问题解决方案汇总

前言(本体详解)

在开始学习知识图谱的过程中,首先就是要了解什么是本体(ontology)。

1.本体概念

本体的概念最初源自于哲学领域,在哲学中的定义为“对世界上客观事物的系统描述,即存在论”。哲学中的本体关心的是客观现实的抽象本质。而在计算机领域,本体是可以在语义的层次上来对知识进行描述,可以看做是某一个领域知识的通用模型。
在人工智能界,最早给出本体定义的是Neches等人,他们将本体定义为“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义”。
本体是从客观世界中抽象出来的一个概念模型,这个模型包含了某个学科领域内的基本术语和术语之间的关系(或者称为概念以及概念之间的关系)。

简而言之,本体是共享概念模型的形式化、规范、明确的说明。这个定义包含了四个方面:共享(share)、概念化(Conceptualization)、形式化(Formal)、明确(Explicit),下面对这4个分别介绍:

  • 共享:所体现的知识是被大家都认可的,是这个领域公认的术语组成的集合。
  • 概念化:指本体对事物的描述所形成了一组组的概念。
  • 明确性:指本体中的术语、属性和定理都是有明确的定义,不是模棱两可的。
  • 形式化:指本体能够被计算机可读,能够被计算机所处理。

2.本体分类

本体最常见的分类是根据本体的应用主题来进行分类,通常分为以下5类:领域本体、通用/常识本体、语言学本体、任务本体和知识本体。依据本体的层次和领域依赖度,Guarino等人将其分为4类:顶层本体、领域本体、任务本体和应用本体。

  • 顶层本体:研究通用的概念以及概念之间的关系,如空间、时间、事件、行为等,与具体的应用无关,完全独立于限定的领域,因此可以在较大范围内进行共享。
  • 领域本体:研究的是特定领域内概念及概念之间的关系。
  • 任务本体:定义一些通用任务或者相关的推理活动,用来表达具体任务内的概念及概念之间关系。
  • 函数(function):在声明语句当中,可用来代替具体术语的特定关系所构成的复杂结构。函数是一类特殊的关系,在这种关系中前n-1个元素可以唯一决定第n个元素,如father-of关系就是一个函数,father-of(x,y)表示y是x的父亲,x可以唯一确定它的父亲y;
  • 公理(axioms):公理代表本体内存在的事实,可以对本体内类或者关系进行约束,如概念甲属于概念乙的范围。采取特定逻辑形式的断言(包括规则在内)所共同构成的就是其本体在相应应用领域当中所描述的整个理论。这种定义有别于产生式语法和形式逻辑当中所说的“公理”。在这些学科当中,公理之中仅仅包括那些被断言为先验知识的声明。就这里的用法而言,“公理”之中还包括依据公理型声明所推导得出的理论。
  • 实例(个体):基础的或者说“底层的”对象。
    除此之外还包括以下几个部分:
  • 约束(限制):采取形式化方式所声明的,关于接受某项断言作为输入而必须成立的情况的描述。
  • 规则:用于描述可以依据特定形式的某项断言所能够得出的逻辑推论的,if-then(前因-后果)式语句形式的声明。
  • 属性:对象(和类)所可能具有的属性、特征、特性、特点和参数。
  • 事件(哲学):属性或关系的变化。

4.本体构建方法

W3C推荐的本体描述语言主要有RDF(资源描述框架 Resource Description Framework)、RDFS(RDF词汇描述语言RDF Schem)和OWL(Web本体语言Web Ontology Language)三种语言。

  • RDF:
    客观世界中任何一种关系都可以用一个三元组(主体/主语、谓语、客体/宾语)来进行表达。RDF用于描述web上的资源,是使用XML语言编写、计算机可读的,不是为了向用户展示。RDF使用web标识符(主体/主语)来标记资源,使用属性(谓语)和属性值(客体/宾语)来描述资源。这里的资源、属性和属性值就构成了一个陈述(或者被称为陈述中的主体、谓语和客体)。
    RDF是1997年10月W3C 发布的草案。RDF 的设计目的是通过对一般意义上的语义、语法和结构的支持,提供在各种不同的元数据体系之间的互操作性。RDF本身只有很少的语义定义元素,而是只提供一种框架体系,使不同的用户或团体能够在这一框架下应用他们自己的元数据元素。
    RDF基本的数据模型由三种对象类型组成:
    (1)资源(resource): RDF 表述的所有事物都被称为资源。
    (2)属性(properties): 描述资源的具体方面。特性或相互关系等。
    (3)声明(statement): 一个有属性及其值的特定资源称为RDF声明。
  • RDFS:
    RDFS是在RDF基础上对其进行扩展而形成的本体语言,解决了RDF模型原有的缺点,定义了类、属性、属性值来描述客观世界,并且通过定义域和值域来约束资源,更加形象化表达了知识
  • OWL:
    用来对本体进行语义描述。 细粒度的中文领域本体建议采用OWL进行描述了 络本体语言OWL (Web Ontology Language) 是实现语义Web的核心语言工具,它为 络本体的构建提供了丰富的建模原语。
    其保持了原有RDF、RDFS的兼容性,有保证率较好的语义表达能力,OWL本体中有3种基本元素:类、属性和实例。根据表达能力的递增顺序OWL分为三种子语言:
  • OWL-Lite:用于提供给那些只需要一个分类层次和简单约束的用户。表达能力最弱。
  • OWL-DL:(Description Logic,描述逻辑) 支持那些需要最强表达能力的推理系统的用户, OWL-DL旨在支持已有的描述逻辑商业处理和具有良好计算性质的推理系统。
  • 2.使用

    各tab的含义及作用如下:

    • Activeontology是显示当前的实体名称,以URI的形式显示,前面是www.semanticweb.org后面跟着主机名(我的主机名称为dell),再后面是默认的根据时间命名实体。
    • Entities,可以看作是实体的总览,能够看到我们创建实体的一些主要信息,是对实体信息的汇总。
    • Annotation Properties,标注属性,是w3c定义的一些常用的属性,根据URI可以看到这些属性的具体说明。
    • OntoGraf,本体关系图,用来展示我们创建的本体里面各个实体之间的层次关系。
    • SPARQL Query,SPARQL查询,使用SPARQL语言,对创建的本体进行查询,获取查询结果。

    (1)创建模型层数据

    本体分为模型层和数据层,模型层主要定义类和类之间的关系。Thing是所有类型的根节点,也就是基类,所有的类型都是从Thing派生出来的。
    在父类下面创建子类需要先选中父类,再按住快捷键ctrl+E创建新的子类,先创建内容、载体、语言、形式这是个大类,接着再创建各自的小类。如下图:

    (5)创建实例
    创建本体的实例,在Individuals by class这个tab页面。这里我的案例没有用到这个,下次换一个案例试试。

    (6)本体展示
    最后可以点击OntoGraf来展示我们的本体啦,点击上方按钮会用不同方式来显示关系图。

    三、问题解决方案汇总

    暂时刚入门,后续遇到问题再进行汇总。

      部分内容参考博客:1.https://blog.csdn.net/cooldream2009/article/details/97657836
      2.https://blog.csdn.net/baijinswpu/article/details/81113314

      声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年5月12日
下一篇 2021年5月12日

相关推荐