本体论[本体论]
本体论(ontology)是哲学概念,它是研究存在的本质的哲学问题。近几十年里,这个词被应用到计算机界,并在人工智能、计算机语言以及数据库理论中起到越来越重要的作用。
然而,到目前为止,对于本体论,还没有统一的定义和固定的应用领域。斯坦福大学的Gruber给出的定义得到了许多同行的认可,即本体论是对概念化的精确描述(Gruber,1995),本体论用于描述事物的本质。
在实现上,本体论是概念化的详细说明,一个ontology往往就是一个正式的词汇表,其核心作用就在于定义某一领域或领域内的专业词汇以及他们之间的关系。这一系列的基本概念如同工程一座大厦的基石,为交流各方提供了一个统一的认识。在这一系列概念的支持下,知识的搜索、积累和共享的效率将大大提高,真正意义上的知识重用和共享也成为可能。就此意义而言,Web语言XML(Extensible Markup Language,可扩展标识语言)就是本体理论的一项典型应用;.xml文档就是一个标签化的词汇表。
本体论可以分为四种类型:领域、通用、应用和表示。领域本体包含着特定类型领域(如电子、机械、医药、教学)等的相关知识,或者是某个学科、某门课程中的相关知识;通用本体则覆盖了若干个领域,通常也称为核心本体;应用本体包含特定领域建模所需的全部知识;表示本体不只局限于某个特定的领域,还提供了用于描述事物的实体,如“框架本体”,其中定义了框架、槽的概念。
可见,本体论的建立具有一定的层次性,在教学领域而言,如果说某门课程中的概念、术语及其关系看成是特定的应用本体,那么所有课程中的共同的概念和特征则具有一定的通用性。
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推荐的标准。
Gene Ontology
为了查找某个研究领域的相关信息,生物学家往往要花费大量的时间,更糟糕的是,不同的生物学数据库可能会使用不同的术语,好比是一些方言一样,这让信息查找更加麻烦,尤其是使得机器查找无章可循。Gene Ontology(GO)就是为了解决这种问题而发起的一个项目。
Gene Ontology中最基本的概念是 term。GO里面的每一个entry都有一个唯一的数字标记,形如 GO: nnnnnnn,还有一个term名,比如 'cell','fibroblast growth factor receptor binding',或者 'signal transduction'。每个term都属于一个ontology,总共有三个ontology,它们分别是molecular function, cellular component和biological process。
一个基因product可能会出现在不止一个cellular component里面,也可能会在很多biological process里面起作用,并且在其中发挥不同的molecular function。比如,基因product 'cytochrome c' 用molecular function term 描述是'oxidoreductase activity',而用biological process term 描述就是'oxidative phosphorylation' 和'induction of cell death',最后,它的celluar component term是 'mitochondrial matrix' 和 'mitochondrial inner membrane'。
Gene Ontology中的term有两种相互关系,它们分别是is_a关系和part_of关系。is_a关系是一种简单的包含关系,比如A is_a B 表示A是B的一个子集。比如 nuclear chromosome is_a chromosome。part_of关系要稍微复杂一点,C part_of_D意味着如果C出现,那么它就肯定是D的一部分,但C不一定总会出现。比如nucleus part_of cell,核肯定是细胞的一部分,但有的细胞没有核。
Gene Ontology的结构是一个有向无环图,有点类似于分类树,不同点在于Gene Ontology 的结构中一个 term可以有不止一个parent。比如biological process term 'hexose biosynthesis' 有两个parents,它们分别是 'hexose metabolism'和'monosaccharide biosynthesis',这是因为生物合成是代谢的一种,而己糖又是单糖的一种。
Gene Ontology使用Oxford Dictionary of Molecular Biology(1997)中的定义,在分选时还要参考SWISS-PROT, PIR, NCBI CGAP, EC…中的注释。建立起来的标准不是唯一的标准(这是GOC所一直强调的),自然也不规定每个研究者必须遵循这套控制字集系统。所采用的动态结构(dynamic structure)使用DAGs(Directed Acyclic Graphs)方式的network,将每一个ontology串连起来,形成树状结构(hierarchical tree),也就是由前面所说的“is a”和“part of”两种关系。
由于 GO 是一种整合性的分类系统,其下的三类主ontology我们前面说是独立的,但是无论是GOC原初的设计还是我们的使用中其实都还是存在一定的流程关系。一个基因/蛋白质或者一个ontology在注解的过程中,首先是考虑涉及在构成细胞内的组分和元件(cellular component),其次就是此组分/元件在分子水平上所行使的功能(molecular function),最后能够呈现出该分子功能所直接参与的生物过程(biological process)。由于这是一种存在反馈机制的注释过程,并且整个系统是动态开放实时更新的,因此在某种程度上说它具有纠错的能力。
TAMBIS计划是目前唯一实现了在概念和联系层次上集成信息源的系统。但是还有其他一些相关计划正在研究之中。
比如BioKleisli(宾夕法尼亚大学计算机系),采用Mediator(调节器)技术实现了若干数据源的集成,其后的K2/Kleisli系统还利用数据仓库实现了OLAP(联机分析处理)。
DiscoveryLink(IBM研究院),基于Wrapper/Mediator(包装器/调节器)实现了信息源集成,提出了查询的分解和基于代价的优化策略。
TAMBIS(曼彻斯特大学计算机系)基于Wrapper/Mediator实现了信息源集成,借助BioKleisli中的CPL语言作为查询语言并给出了查询优化的方法。通过TaO(TAMBIS Ontology)本体定义为用户浏览和查询处理提供领域知识。
TINet(GSK公司和IBM研究院),基于多数据库中间件OPM(Object-Protocol Model,对象协议模型)定义数据源的对象视图,其CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)服务器使各数据源Wrapper(包装器)更易于扩充。
但是他们都存在一定的缺陷。BioKleisli系统查询能力相对较弱,而且并未给出查询优化策略;TAMBIS系统和 DiscoveryLink系统集成的数据源数量相对还很少,后者在查询处理中并未运用领域知识,因而查询分解也未从语义角度考虑;TINet系统中的查询处理能力不强。

本体论
现在面临的突出问题是在数据库查询中尤其是当多个数据库存在信息重叠时,缺乏从中选择最佳检索成员,动态生成优化检索方案的能力。而且现有的工作主要面向数据集成,而对服务集成考虑不多。支持数据与服务综合性集成的体系仍欠完备。因此这也将是GO未来发展和提升的一个重要方向。
赞 (0)