知识表示的艺术:Ontology【深度】

文/汪鹏  东南大学《计算机教育》

Ontology是近年信息科学界最热门的词汇之一,国内一般将其译为“本体”。在各种信息交互与集成、知识表示与获取的应用中,全球众多研究者都热衷于这个词汇的使用。与此同时,也使得更多对Ontology不甚了解的研究者对此倍感兴趣。Ontology究竟为何方神圣?它研究什么内容?能解决何种问题?本文带着这样的思考来逐步阐述Ontology的概念、方法、研究和应用现状。

Ontology之哲学本源

Ontology的概念最初起源于哲学领域,并在很长一段时期都是哲学研究的一个分支。古希腊哲学家亚里士多德(Aristotle)定义Ontology为“对世界客观存在物的系统的描述,即存在论”,也就是说Ontology是客观存在的一个系统的解释或说明,它关心的是客观现实的抽象本质。为研究客观世界的存在问题,亚卫士多德、莱布尼茨(Leibniz)、康德(Kant)、皮尔斯(Peirce)、怀特海德(Whitehead)等哲学家广泛讨论了用Ontology如何对现实世界进行分类、怎么描述其中的物理实体、如何定义客观世界的抽象,以及空间与时间的关系等问题。

虽然历史上对Ontology的思考主要是从哲学和逻辑学角度进行的,但前人的研究成果蕴涵了很多如何组织现实世界知识的方法,这为Ontology被信息科学所借用打下了基础。逻辑在信息科学中占有重要地位,但人们认识到逻辑没有表示具体现实世界的能力,逻辑中的存在量词符号仅仅能声明有某物存在,但逻辑本身却没有词汇来描述到底存在的是什么,Ontology由此被引入信息科学中,用来弥补逻辑表达能力的不足。Ontology包含了观察与推理两个范畴。观察提供了现实世界的知识,描述了知识的组织形式;推理通过虚拟框架来澄清观察的意义,描述了知识的语义。

20世纪90年代,信息科学的发展面临着种种新难题,主要包括诸如知识表示、信息组织、软件复用等。特别是由于因特网的快速发展,如何组织、管理和维护海量信息并为用户提供有效的服务也就成为一项重要而迫切的研究内容。为适应这些要求,Ontology作为一种能在语义和知识层次上描述信息系统的概念模型建模工具,从一产生就引起了国外众多科研人员的关注,并在计算机的许多领域得到了广泛应用,如知识工程、数字图书馆、软件复用、信息检索和Web上异构信息的处理、语义Web等。

掀开Ontology的面纱

1
何谓Ontology

Ontology这个哲学范畴,被人工智能界赋予了新的定义,从而被引入信息科学中。然而信息科学界对Ontology的理解也是逐步发展才走向成熟的。1991年Neches等人最早给出Ontology在信息科学中的定义:“给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延规则的定义。”后来在信息系统、知识系统等领域,随着越来越多的人研究Ontology,产生了不同的定义。1993年Gruber定义Ontology为“概念模型的明确的规范说明”。1997年Borst进一步完善为“共享概念模型的形式化规范说明”。Studer等人对上述两个定义进行了深入研究,认为Ontology是共享概念模型的明确的形式化规范说明,这也是目前对Ontology概念的统一看法。

Studer等人的Ontology定义包含四层含义:概念模型(Conceptualization)、明确(Explicit)、形式化(Formal)和共享(Share)。“概念模型”是指通过抽象出客观世界中一些现象(Phenomenon)的相关概念而得到的模型,其表示的含义独立于具体的环境状态;“明确”是指所使用的概念及使用这些概念的约束都有明确的定义;“形式化”是指Ontology是计算机可读的,也就是计算机可处理的“共享”是指Ontology中体现的是共同认可的知识,反映的是相关领域中公认的概念集,它所针对的是团体而非个体。Ontology的目标是捕获相关领域的知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇(术语)和词汇之间相互关系的明确定义。

尽管定义有很多不同的方式,但是从内涵上来看,不同研究者对于Ontology的认识是统一的,都把它当作是领域(领域的范围可以是特定应用中,也可以是更广的范围)内部不同主体(人、机器、软件系统等)之间进行交流(对话、互操作、共享等)的一种语义基础,即由Ontology提供一种共识。而且Ontology提供的这种共识更主要的是为机器服务,机器并不能像人类一样理解自然语言中表达的语义,目前的计算机也只能把文本看成字符串进行处理。因此,在计算机领域讨论Ontology,就要讨论如何表达共识,也就是概念的形式化问题。

2
Ontology的建模

Ontology是一种组织知识的艺术。为研究如何用Ontology 来组织知识,Perez等人采用了分类法,并归纳出5个基本建模元语:类(Classes)或概念(Concepts)、关系(Relations)、函数(Functions)。  公理  (Axioms)和实例(Instances)。

类或概念表示对象的集合:关系表示领域中概念之间的交互作用;函数是一类特殊的关系,该关系的前n—1个元素可以惟一决定第n个元素;公理代表永真断言;实例代表元素,从语义上讲它表示的就是对象。关系在Ontology中非常重要,从语义上讲,基本的关系共有4种:part-of、kind-of、instance-of和attribute-of。part-of表达概念之间部分与整体的关系;kind-of表达概念之间的继承关系,类似于面向对象中的父子类之间的关系instance-of表达概念的实例与概念之间的关系,类似于面向对象中的对象和类之间的关系;attribute-of表达某个概念是另一个概念的属性。在实际建模过程中,概念之间的关系不限于上面列出的4种基本关系,可以根据领域的具体情兄定义相应的关系。Ontology正是通过这些建模元语,来组织现实世界的知识。

3
已有Ontology及其分类

目前广泛使用的Ontology有:Wordnet、Framenet、GUM和SENSUS等。Wordnet基于心理语言规则的英文词典,以在特定的上下文环境中可互换的同义词的集合为单位组织信息;Framenet英文词典,采用称为Frame Semantics的描述框架,提供很强的语义分析能力,目前发展为Framenet II; GUM面向自然语言处理,支持多语种处理,包括基本概念及独立于各种具体语言的概念组织方式SENSUS面向自然语言处理,为机器翻译提供概念结构,包括7万多个概念。

对于Ontology的分类则有着不同的标准。详细程度和领域依赖度是两个常用的对Ontology进行划分的准则。详细程度是为了描述或刻画建模对象的程度,高的称作参考(Reference)Ontology,低的称作共享(Share)Ontology。而根据依赖程度则可以分为4类:顶级(Top-level)Ontology描述的是最普遍的概念及概念之间的关系,如空间、时间、事件、行为等,与具体应用无关,其他Ontology均为其特例:领域(Domain)Ontology描系;任务(Task)Ontology描述的是特定任务或行为中的概念及概念之间的关系;应用(Application) Ontology描述的是依赖于特定领域和任务的概念和概念之间的关系。

Ontology关注的内容

1
Ontology理论

Ontology需要在理论上研究怎么合理地表示现实世界中的客观和抽象知识,包括概念和概念分类、确定概念之间的关系类型以及Ontology上的代数等。最有代表性的是Guarino等人所做的工作,他们对概念分类做了深入细致的研究,从一般意义上分析了概念的定义、概念的特性、概念之间的关系以及概念的分类,提出了一套用于指导概念分类的可行理论。基于这个理论,他们又提出了Ontology驱动的建模方法,在理论上为建模提供了一个通用的模式。

按照Guarino的观点,概念之间的差别不仅体现在概念的定义上,同时也体现在概念的某些特性上。从这些特性出发,归纳出概念的元特性(最基本的特性),从而用公式给出元特性的严格的形式定义。在此基础上,他们又讨论了元特性之间的关系和约束,最终把研究结果作为概念分类的基本理论工具,并提出一套完整的概念分类体系结构。Guarino的理论可以归纳为:“概念分类理论的基础是概念的元特性。以概念的元特性为出发点,按照一定的规则,把具有相同元特性组合的概念归为一类,进而给出一般意义上的概念分类体系。概念的基本元特性包括:持久特性、非持久特性、反持久特性、半持久特性、载体标识特性、支持标识特性、外部依赖特性等。”

2
Ontology工程

Ontology作为通信、互操作和系统工程的基础,必须经过精心的设计。实际上,Ontology的创建过程是一个非常费时费力的过程,需要一套完善的工程化的系统方法来支持,特定的专用Ontology还需要专家进行参与。通用的大规模Ontology很少,大多Ontology只是针对某个具体领域或应用而创建的。在实际应用中,不同Ontology之间常常需要进行映射、扩充与合并处理,以及根据特定的需要由一个大的Ontology提取满足要求的小Ontology等操作,此外,当现实的知识体系发生变化时,先前创建的Ontology也必须做出相应的演化以保持Ontology与现实的一致性,这都是Ontology工程所需研究的问题。

如何构造Ontology是Ontology工程中的最基本问题。Gruber提出了指导Ontology构造的五个准则。

1
清晰(Clarity):

Ontology必须有效地说明所定义术语的意思,定义应该是客观的,与背景独立的,当定义可以用逻辑公理表达时,它应该是形式化的,定义应该尽可能地完整,所有定义应该用自然语言加以说明。

2
一致(Coherence):

Ontology应该是一致的,也就是说,它应该支持与其定义相一致的推理,它所定义的公理以及用自然语言进行说明的文档都应该具有一致性。

3
可扩展性(Extendibility):

Ontology应该为可预料到的任务提供概念基础,它应该可以支持在已有的概念基础上定义新的术语,以满足特殊的需求,而无须修改已有的概念定义。

4
编码偏好程度最小(Minimal encoding bias):

概念的描述不应该依赖于某一种特殊的符号层表示方法,因为实际系统可能采用不同的知识表示方法。

5
约定最小(Minimal ontological commitment):

Ontology约定应该最小,只要能够满足特定的知识共享需求即可,这可以通过定义约束最弱的公理以及只定义通信所需的词汇来保证。

对于Ontology构造方法,大多数研究者都倾向于采用一种近似软件工程的方法。方法一般分为若干个步骤,这是一个不断迭代、逐步精炼的过程。通常的步骤有下面五个。

1
Ontology的目的和使用范围。

2
Ontology捕获:

即确定关键的概念和关系,给出精确定义,并确定其他相关的术语。

3
Ontology编码:

选择合适的语言表达概念和术语。

4
已有Ontology的集成:

尽可能重用和修改已有Ontology。

5
评估:

根据需求描述、能力询问(Competency question)等对Ontology以及软件环境、相关文档进行评价。

Ontology在信息技术中的广泛应用

    Ontology提供通信双方的公共理解,能解决信息交互与共享方面的众多问题。Ontology可以广泛用于诸如电子工程、化学、远程教育、电子商务等具体领域。对于如下的研究领域,Ontology也有着巨大的应用价值。

(1)多Agent系统中的信息交互:为了保持Agent的独立性,Agent之间不发生直接的数据交换和共享,那么多Agent系统若要有效地完成复杂任务,就需要一组中介代理,Ontology则可以完成Agent之间或Agent与环境之间的信息沟通任务。

(2)电子商务:不同的企业使用的开发平台和软件系统不一定完全相同,那么他们之间的通信需要中介,Ontology则是充当此工作的理想技术。

(3)CSCW(计算机支持协同工作):多个参与者通过用户界面,如因特网浏览器访问到协同层的对象层,通过活动层完成各自的活动,如果没有Ontology模型的翻译则会认为对方的活动是未知的而导致协同工作失败。

(4)数据挖掘:由于Ontology由高层次的抽象概念组成,基于Ontology的数据挖掘可在高层次上进行,产生高层次或多层次的规则,甚至在具有语义的规则上产生挖掘结果。

由于Ontology具有良好的概念层次结构和对逻辑推理的支持,因此在基于Ontology的知识检索中它成为广泛研究的热点。对于传统的全文检索方式,虽然可以保证查全率,但是查准率却大大降低,而这也是当前Web上搜索引擎急需解决的一个重要问题。至于数据库的检索方法,其性能取决于所使用的字段标识方法和用户对方法的理解,具有很大的局限性,支持语义匹配的能力较差。基于Ontology的方法是基于知识的、语义上的匹配,在查准率和查全率上有更好的保证,是信息检索的热点,对于面向Web信息的知识检索必将起到关键性的作用。

与下一代互联网的紧密结合 

Web从出现以来,经过短短十多年已经发展成为一个巨大的全球化信息资源库。Web上的信息量以几何级数的速度增长,使得用户发现查找所需要的信息变得异常困难。在此情况下,如何有效地检索Web信息也就成为一项重要的研究课题。提高Web信息检索的质量包括两方面内容:一方面是如何在现有的资源上设计更好的检索技术,另一方面是如何为Web上的资源附加上计算机可以理解的内容,便于计算机更好地处理,也就是给出一种计算机能理解的表示资源的手段。

针对后一种情况,Berners-Lee提出了语义Web。语义Web的目标是使Web上的信息具有计算机可以理解的语义,满足智能软件代理Agent对WWW上异构和分布信息的有效访问和搜索。在语义Web的体系结构中,Ontology具有核心的地位,能够解决传统方法难以解决的问题,如同一个概念有多种词汇表示和同一个词有多种含义一样。Ontology通过对概念的严格定义和概念与概念之间的关系来确定概念的精确含义。表示共同认可的、可共享的知识,成为语义Web中语义层次上信息共享和交换的基础。

语义Web是一个新兴的研究方向,Ontology在其中的应用也仅仅是刚刚开始,还有诸多的问题亟需研究和解决。目前有许多著名的大学和科研机构在从事这方面的研究,语义Web的研究与Ontology的研究是相互促进的。

结束语   

Ontology自20世纪90年代初提出以来,在国外就引起了众多科研人员的关注,并在计算机及相关领域得到了广泛的应用,而国内相关的研究和应用却是近几年才开展起来的,起步较晚。Ontology在信息共享、系统集成、基于知识的软件开发等方面具有重要的作用和广阔的应用前景。

阅读材料:

@关注中国知识管理中心公众号:KMCenter 

发送“1”可以获取大量高效学习、企业知识管理、个人成长文档、PPT

发表评论

电子邮件地址不会被公开。 必填项已用*标注