Wednesday, June 18, 2008

Ontology

Ontology近来太忙,心无旁鹜,很久不涂鸦。这几天,Ontology一词总在脑子里晃荡,东顾西盼中,突然又想画几笔。缤纷世界,势态万千,看似繁复,其实却来于寥寥黑白二色和一则简单心法。世上事,可以表现得很复杂,也可以解析得很简单。有无趣味,就看个人兴致了。。。

以下是在百度百科得到的:



Ontology是近年信息科学界最热门的词汇之一,国内一般将其译为“本体”。

Ontology之哲学本源

Ontology的概念最初起源于哲学领域,并在很长一段时期都是哲学研究的一个分支。古希腊哲学家亚里士多德(Aristotle)定义Ontology为“对世界客观存在物的系统的描述,即存在论”,也就是说Ontology是客观存在的一个系统的解释或说明,它关心的是客观现实的抽象本质。为研究客观世界的存在问题,亚里士多德、莱布尼茨(Leibniz)、康德(Kant)、皮尔斯(Peirce)、怀特海德(Whitehead)等哲学家广泛讨论了用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,就要讨论如何表达共识,也就是概念的形式化问题。

Semantic Web中的Ontology

Ontology研究热点的出现还与Semantic Web的提出和发展直接相关。

Semantic Web是Tim Berners-Lee提出的又一个概念。Tim Berners-Lee认为,当前的Web是供人阅读和理解的,它作为一个越来越大的文件媒体,并不利于实现数据和信息的自动化处理。新一代的Semantic Web将不仅仅为人类而且能为计算机(信息代理)带来语义内容,使计算机(或信息代理)能够“理解”Web内容,进而实现信息处理的自动化。他认为Semantic Web不是与当前Web隔离的另一个Web,而是对当前Web的扩充,在Semantic Web中,信息的语义经过完好的定义,能够更好地促进计算机和人之间的相互合作。

为了实现Semantic Web的功能,需要提供一种计算机能够理解的、结构化的语义描述机制,以及一系列的推理规则以实现自动化推理。Semantic Web的挑战在于提供一种语言,
它能够表述数据和在数据中进行推理的规则,而且需要这种语言能够将目前存在于知识表述系统之中的规则能够被应用到Web上。

在Tim Berners-Lee的Semantic Web框架中,有几个关键的组成元素。它们分别是XML,RDF(S)和Ontology。

XML允许用户定义自己的文件类型,允许用户定义任意复杂的信息结构,但是XML只具有语法性,它不能说明所定义的结构的语义。XML之所以在Semantic Web中处于重要的地位与XML是一种载体语言、XML命名机制等有很大的关系。

在Tim Berners-Lee看来,语义的描述是通过RDF进行的。RDF的两个特性对此有着特殊的贡献:

(1)RDF是一种由资源、属性、属性值组成的三元结构。这种三元结构形似句子中的主语、谓语、宾语之间的关系。一个描述资源的RDF语句,就如同“某件事具有什么样的属性”这样的句子一样有效。它能够表明一种对事物存在状态的断言,可以表述大多数情况下计算机需要处理的知识。

(2)RDF的另一个重要特点就是组成RDF的资源、属性、属性值这三个元素都必须是被URI(统一资源标识)所标识的。由于RDF利用URI来对信息进行编码,它意味着被RDF所引用的任何资源、属性和属性值都是经过预先定义的、不具二意性的概念。

由于RDF能够表示陈述句,并且主语、谓语和宾语的三个组成元素都是通过URI所标识的,所以它具有语义表述的特性。但Semantic Web的要求还远不止于此,Semantic Web还需要加入逻辑功能:Semantic Web需要能够利用规则进行推理、选择行动路线和回答相关问题。Ontology是Semantic Web实现逻辑推理的基础。

Semantic Web研究者也认为,Ontology是一个形式化定义语词关系的规范化文件。对于Semantic Web而言,最典型的Ontology具有一个分类体系和一系列的推理原则。其中,分类体系定义对象的类别和类目之间的关系。实体之间的类/子类关系对于Web应用具有重要的价值。在Ontology中,还可以为某个类添加属性来定义更多的类目关系。这些类目关系提供了的推理的基础。

借助Ontology中的推理规则,Semantic Web应用系统可以提供更强的推理能力,例如可以在一个地理Ontology中加入这样一条规则,“如果一个城市代码与一个省代码相关,并且一个地址利用了城市代码,那么这个地址与就与相应的省代码相关”。通过这一规则,程序可以推理出中国科学院文献情报中心,在中关村,应当在北京市。

为了Semantic Web研究者为了实现对Ontology的描述,在RDF的基础之上,发展了RDFS。RDFS借助几个预先义的语词(如rdfs:Resource, rdfs:Class, rdf:Property, rdfs:subClassOf, rdfs:subPropertyOf,rdfs:domain, rdfs:range)能够对概念之间的关系进行有限的描述。为了更方便全面地实现Ontology的描述,W3C在RDFS的基础之上,借助了DAML和OIL的相关研究,正在积极推进OWL(Web Ontology Language)的应用。自2004年2月10日,OWL已经成为了一个W3C推荐的标准。