本体作为一种能在语义和知识层次上描述领域概念的建模工具,其目标是捕获相关领域的知识,确 定该领域内共同认可的词汇,通过概念之间的关系来描述概念的语义,提供对该领域知识的共同理解。语义Web(the Semantic Web)是在本体理论基础之上对现有Web所进行的扩展[15],其目标是使Web上的信息具有计算机可以理解的语义,在本体的支持下实现信息系统间语义 上的互操作性,以及对Web资源所进行的智能访问和检索[16]。充分实现语义Web的潜力,需要大规模采用基于本体的方法来共享信息和资源,本体是语义 Web得以实现的基础和关键。
本章主要介绍论文工作涉及的本体、语义Web、语义Web服务等基本概念。
1.1 Ontology
Ontology 的概念最早源于亚里士多德(公元前384-322年)对事物存在本质的研究,在哲学上的定义为“对世界上客观存在物的系统地描述,即存在论”,是客观存在 的一个系统的解释或说明,关心客观现实的抽象本质[17]。近几年,Ontology作为信息抽象和知识描述的工具,被计算机领域所采用。
计 算机领域的Ontology是否应该叫做“本体”,存在一定的争议。目前,Ontology主要有“本体”和“本体论”两种中文译法。大连海事大学智能信 息处理学科梯队的黄映辉教授从人工智能引入Ontology时候Ontology的定义开始,分析了Ontology的哲学意义和Ontology被引入 到计算机领域后的实质内容,认为计算机领域的Ontology不应该译作“本体”或者“本体论”。Ontology作为从哲学领域借用的术语,其实质是 “概念模型”,应该被翻译为“本体论模型”[19]。
将Ontology翻译成“本体”已经是计算机领域一个约定俗成的做法。本文在讨论Ontology的时候,为了行文方便并符合业界习惯,仍然使用“本体”的说法。这里讨论的本体的相关知识,均限于计算机领域的本体。
1.1.1 本体的定义
本 体在计算机领域的定义经历了一个演化过程。在人工智能界,最早给出本体定义的是Neches等人,他们将本体定义为“给出构成相关领域词汇的基本术语和关 系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义[19]”。1993年,Gruber给出了本体的一个最为流行的定义,即“本体是概念模 型的明确的规范说明[20]”。后来,Borst在此基础上,给出了本体的另外一种定义:“本体是共享概念模型的形式化规范说明[21]”。
Studer 等人在对本体做了深入研究后,扩展了Gruber的定义,认为“本体是共享概念模型的明确的形式化规范说明(An ontology is a formal, explicit specification of a shared conceptualisation.)[22]”。该定义包含四层含义:
1)概念模型(Conceptualization),即本体是通过抽象客观世界的概念而得到的模型,它表示的含义独立于具体的环境状态;
2)明确性(Explicit),即本体所使用的概念及在这些概念之上的约束都有明确的定义,没有二义性;
3)形式化(Formal),即本体是计算机可处理的,而不是自然语言;
4)共享(Shared),即本体体现的是共同认可的知识,反映的是相关领域中公认的概念集合,它所针对的是团体而不是个体。
本体的目标是捕获相关的领域的知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇和词汇之间相互关系的明确定义[23]。
1.1.2 本体建模元语
本体中的知识是通过类、关系、函数、公理和实例来形式化地表示的[20]。Perez等人用分类法组织了本体,归纳出5个基本的建模元语[24]:
1) 类(Classes)或概念(Concepts)
指任何事务,如工作描述、功能、行为、策略和推理过程。从语义上讲,它表示的是对象的集合,其定义包括概念的名称,与其他概念之间的关系的集合,以及用自然语言对概念的描述。
2) 关系(Relations)
在领域中概念之间的交互作用,形式上定义为n维笛卡儿积的子集。如子类关系(subClassOf)。在语义上关系对应于对象元组的集合。
3) 函数(Functions)
一类特殊的关系。该关系的前n-1个元素可以唯一决定第n个元素。形式化的定义为F: C1×C2×…×Cn-1→Cn。如motherOf就是一个函数,motherOf(x, y)表示y是x的母亲。
4) 公理(Axioms)
代表永真断言,如概念乙属于概念甲的范围。
5) 实例(Instances)
代表元素。从语义上讲实例表示的就是对象。
本 体与面向对象的理论非常类似,但这两者本质是不同的。本体是对某个领域静态概念模型的描述。面向对象是一种软件开发方法,主要思想是使用对象、类、继承、 封装、消息和多态等基本概念来构造系统。在面向对象的理论中,对象或类不仅包括描述对象静态特征的属性,也包括描述对象动态特征(行为)的方法。对象的属 性和方法结合在一起形成一个独立的系统单位,尽可能对外隐蔽对象的内部细节,对外提供统一的接口。
1.1.3 本体描述语言
本 体描述语言起源于人工智能(Artificial Intelligence, AI)领域对知识表示的研究,这方面的本体描述语言主要有:KIF(Knowledge Interchange Format)[25]、Ontolingua[4]、OKBC(Open Knowledge Base Connectivity)[26]、OCML(Operational Conceptual Modeling Language)[27]、Frame logic[28]、Loom[29]等。近年来,随着Web技术的发展,Web与本体理论的结合成为必然趋势,诞生了一些Web本体描述语言,主要有 RDF(Resource Description Framework)[30]、RDF Schema[31]和SHOE(Simple HTML Ontology Extension)[32]等。
描述逻辑(Description Logics, DLs)[33]是人工智能领域研究的一种重要的知识表示语言,目前正被积极应用于本体的描述。以描述逻辑为基础的本体描述语言主要有OIL[34]、DAML+OIL[35]和OWL[1]。
Web 本体语言OWL(Web Ontology Language, OWL)[1]是W3C2004年推荐的本体描述语言的标准,是在WWW上发布和共享本体的语义标记语言。OWL作为RDF/RDF(S)的扩展,是在 DAML+OIL的基础上发展起来的,目的是提供更多的原语以支持更加丰富的语义表达并支持推理。OWL 有三个子语言:OWL Lite、OWL DL和OWL Full。其中,OWL Lite用于提供给那些只需要一个分类层次和简单属性约束的用户。推理系统能够保证计算完备性(即所有的结论都能被计算出来)和可判定性(即所有计算都在 有限时间完成)。OWL Full支持那些需要在语法自由的RDF上进行最大程度表达的用户,它允许一个本体在预定义的(RDF或OWL)词汇表上增加词汇。
1.1.4 本体构建的准则
目前已有的本体很多,出于对各自问题域和具体工程的考虑,构造本体的过程也是各不相同的。由于没有一个标准的本体构造方法,不少研究人员出于指导开发本体的目的,从实践出发,提出了不少有益于构造本体的标准。下面列举一些在实践中被证明比较有用的本体构建准则。
1) 清晰性和客观性(Clarity and Objectivity)[20]:本体应该通过客观定义和自然语言文档对所定义的术语给出明确的、客观的语义定义。
2) 完全性(Completeness)[20]:本体所给出的术语定义是完整的,完全能表达所描述术语的含义。
3) 一致性(Coherence)[20]:由术语得出的推论与术语本身的含义是相容的,即支持与其定义相一致的推理,不会产生矛盾;所定义的公理以及用自然语言进行说明的文档也应该具有一致性。
4) 最大单调可扩展性(Maximum Monotonic Extendibility)[20]:向本体中添加通用或专用的术语时,不需要修改其已有的概念定义和内容,支持在已有的概念基础上定义新术语。
5) 最小本体承诺(Minimal Ontological Commitments)[20]:本体约定应该最小,对待建模对象应给出尽可能少的约束。而所谓的承诺,在本体中指的是对怎样以一致的、相容的方式使用 共享词汇所达成的共识。一般地,本体约定只要能够满足特定的知识共享需求即可,这可以通过定义约束最弱的公理以及只定义交流所需的词汇来保证。
6) 本体描述原则(Ontological Distinction Principle)[36]:本体中的类应该是互不相交的。
7) 概念层次多样化(Diversification of hierarchies)增强多继承机制的能力[37]。
8) 模块化设计(Modularity)以最小化模块化之间的耦合度[38]。
9) 语义距离最小化(Minimization of the semantic distance)[37]:兄弟概念之间的语义距离最小化,尽可能把含义相似的概念抽象出来,用相同的元语来表示。
10) 命名标准化(Standardization of names)[37]:尽可能使用标准的名字。
在 这十条准则中,Gruber在1995年所给出的五条原则(上述十条原则的前五条)最具有影响力。这十条构建准则给出了构造本体的基本思路和框架,然而, 明显的不足之处就是它们所反映的内容非常模糊且难于把握。目前人们普遍认为,在构造特定领域的本体的过程中,需要领域专家的参与。
1.1.5 本体的应用
本体的应用主要涉及两个方面:第一,本体作为一种能在知识层提供知识共享和重用的工具在语义Web中的应用;第二,在信息系统中的应用,主要包括处理信息组织、信息检索和异构信息系统互操作问题[23]。
常 规的基于关键词的信息检索技术已不能满足用户在语义上和知识上的需求,寻找新的检索方法也就成为目前研究的热点。本体具有良好的概念层次结构和对逻辑推理 的支持,因而在信息检索,特别是在基于知识的检索中得到了广泛的应用。由于本体具有能通过概念之间的关系来表达概念语义的能力,所以能够提高检索的查全率 (Recall)和查准率(Precision)。
传统的信息集成技术很难解决 信息源之间的结构和语义的异构,要解决这些问题,根本的方法就是要减少、甚至消除在概念和用词上的混乱,达成对事物相互一致的共同认识,并将其作为一种统 一的框架和基础。因此,将本体技术引入到信息集成中来,对异构信息进行形式化和规范化表示,以期解决传统信息集成中存在的语法和语义异构问题。在信息集成 中使用本体具有以下优势:首先,本体提供了一个共享词汇库,可作为与数据源的稳定的概念接口,并且独立于数据源模式;其次,本的描述能力可以解决同名异义 及异名同义,描述概念间的相互关系,显示的描述数据的语义,支持相关信息源之间的信息交换,提高应用的互操作性,促进领域知识共享和重用;第三,由于本体 的描述能力,配合推理机可以进行一些推理查询,发掘一些蕴涵的数据关系。
【转自】http://imarine.blog.163.com/blog/static/51380183200861373316920/