ontology
认识本体
本体(Ontology)的概念源自于哲学领域,在哲学中的定义为“对世界上客观事物的系统描述,即存在论”。哲学中的本体关心的是客观现实的抽象本质。而在计算机领域,本体可以在语义层次上描述知识,可以看成描述某个学科领域知识的一个通用概念模型。德国学者Studer在1998年给出了本体的相关定义“本体是共享概念模型的形式化规范说明”。这个定义包含了四层含义:即共享(share)、概念化(Conceptualization)、明确性(explicit)和形式化(Formal)。
(1)共享:指本体中体现的知识是共同认可的,反映在领域中公认的术语集合。
(2)概念化:指本体对于事物的描述表示成一组概念。
(3)明确性:指本体中全部的术语、属性及公理都有明确的定义。
(4)形式化:指本体能够被计算机所处理,是计算机可读的。
本体通常用来描述领域知识。我们可以这样理解它:本体是从客观世界中抽象出来的一个概念模型,这个模型包含了某个学科领域内的基本术语和术语之间的关系(或者称为概念以及概念之间的关系)。本体不等同于个体,它是团体的共识,是相应领域内公认的概念集合。
领域本体示例
本体分类
关于本体的研究非常广泛,最为常用的分类方法是根据本体应用主题,将这些为数众多的本体划分为五种类型:领域本体、通用或常识本体、知识本体、语言学本体和任务本体。而依据本体的层次和领域依赖度,Guarino等人将其分为四类:顶层本体、领域本体、任务本体和应用本体。
(1)顶层本体:研究通用的概念以及概念之间的关系,如空间、时间、事件、行为等,与具体的应用无关,完全独立于限定的领域,因此可以在较大范围内进行共享。
(2)领域本体:研究的是特定领域内概念及概念之间的关系。
(3)任务本体:定义一些通用任务或者相关的推理活动,用来表达具体任务内的概念及概念之间关系。
(4)应用本体:用来描述一些特定的应用,既可以引用领域本体中特定的概念,又可以引用任务本体中出现的概念。
本体分类
本体中的建模元语言
一个本体可以由类(class)、关系(relations)、函数(function)、公理(axioms)和实例(instances)五种元素组成。其中类也称之为概念。
(1)类:描述领域内的实际概念,既可以是实际存在的事物,也可以是抽象的概念,如大学、电影、人等;
(2)关系:用于描述类(概念)之间的关系,如part-of、kind-of等;
(3)函数:函数是一类特殊的关系,在这种关系中前n-1个元素可以唯一决定第n个元素,如mother-of关系就是一个函数,mother-of(x,y)表示y是x的母亲,x可以唯一确定它的母亲y;
(4)公理:公理代表本体内存在的事实,可以对本体内类或者关系进行约束,如概念甲属于概念乙的范围;
(5)实例:表示具体某个类的实际存在,如云财是大学的一个实例;
本体类(概念)之间的关系有四种基本关系。
关系 | 关系描述 |
part-of | 局部与整体的关系 |
kind-of | 父类与子类之间的关系 |
Instance-of | 在类中填充实例,类与实例之间的关系 |
Attribute-of | 类的属性,有对象属性和数据属性 |
本体的构建方法
本体的构建方法多种多样,常见的有如下几种。
1、TOVE法:TOVE是指多伦多虚拟企业(Toronto virtual Enterprise)专门用于构建TOVE本体(关于企业建模过程的本体)。
2、METHONTOLOGY法:专用于构建化学本体(有关化学元素周期表的本体)。
3、骨架法:专门用于构建企业本体,建立在企业本体基础之上,是相关商业企业间术语和定义的集合。
4、KACTUS工程法:是基于KACTUS项目而产生的,KACTUS是指关于多用途复杂技术系统的知识建模工程。
5、七步法:斯坦福大学医学院开发的七步法,用于领域本体构建。七步骤为:确定领域本体的范畴;复用现有的本体;列出领域内的术语;定义类和类的等级关系;定义类的属性;定义属性的分面;填充实例。
6、基于叙词表的领域本体构建:叙词表又称为主题词表,是一种语义词典,由术语及术语之间的关系组成,能够反映某学科领域的语义相关概念。由于叙词表包含丰富的领域概念和一定的语义关系,在表达和知识结构上与本体有着天然联系,包含了本学科比较完整的术语,因此,国内外很多学者都在尝试将叙词表转换为本体。国内目前基于叙词表已经转化成型的本体原型有《国防科学技术叙词表》和《中国农业科学叙词表》。
本体的描述语言
本体的描述语言众多,而W3C推荐的本体描述语言主要有RDF、RDFS和OWL。
1、RDF(Resource Description Framework,资源描述框架)
客观世界中任何一种关系都可以用一个三元组(主体/主语、谓语、客体/宾语)来进行表达。RDF用于描述web上的资源,是使用XML语言编写、计算机可读的,不是为了向用户展示。RDF使用web标识符(主体/主语)来标记资源,使用属性(谓语)和属性值(客体/宾语)来描述资源。这里的资源、属性和属性值就构成了一个陈述(或者被称为陈述中的主体、谓语和客体)。
比如一个陈述:The author of book is fengxianhe.
这里,陈述的主体是book,谓语是author,客体是fengxianhe。
本体中的类(概念)就是RDF三元组中的主体/客体,类的属性就是RDF三元组中的谓语。RDF数据也可以被表示为一个带有标记的有向图,图上的节点对应三元组中的主体和客体,边对应谓语。
2、RDFS(RDF Schem,RDF词汇描述语言)
RDFS是在RDF基础上对其进行扩展而形成的本体语言,解决了RDF模型原有的缺点,定义了类、属性、属性值来描述客观世界,并且通过定义域和值域来约束资源,更加形象化表达了知识。
3、OWL(Web Ontology Language,Web本体语言)
OWL是由W3C开发的网络本体语言,用来对本体进行语义描述。OWL保持了原有RDF、RDFS的兼容性,有保证率较好的语义表达能力,根据表达能力的增强顺序OWL分为三种子语言:OWL-Lite、OWL-DL和OWL-Full。OWL本体中有3中基本元素:类、属性和实例。
本体的开发工具
大规模领域本体的构建比较复杂,耗时耗力,而且需要具备领域背景知识的专家参与。手工构建一个规模化的领域本体是不可能的,为了方便领域本体的构建,国外研究机构提出了半自动化构建领域本体的方法,借助流行的本体编辑工具protege。protege是斯坦福大学医学院基于java语言编写的,本体构建工具,它提供了一个图形化和交互式的知识本体开发环境。支持RDF、RDFS、OWL等本体语言在系统外对本体进行编辑和修改。
protege开发界面