本体论查看源代码讨论查看历史
本体论(Ontology) ,是探究世界的本原或基质的哲学理论。“本体论”一词是由17世纪的德国经院学者P·戈科列尼乌斯首先使用的。
哲学概念
对本体论这个词的定义虽有各种不同,但一般对它还是有一定的理解。大体上说,马克思主义以前的哲学所用的本体论有广义和狭义之别,马克思主义之后哲学融入实践。 从广义说,它指一切实在的最终本性,这种本性需要通过认识论而得到认识,因而研究一切实在最终本性为本体论,研究如何认识则为认识论,这是以本体论与认识论相对称。 从狭义说,则在广义的本体论中又有宇宙的起源与结构的研究和宇宙本性的研究之分,前者为宇宙论,后者为本体论,这是以本体论与宇宙论相对称。
马克思主义哲学不采取本体论与认识论相对立、或本体论与宇宙论相对立的方法,而以辩证唯物主义说明哲学的整个问题。 (来源于冯契主编《外国哲学大辞典》)
研究历程
“本体”的研究,在希腊哲学史上有其渊源。从米利都学派开始,希腊早期哲学家就致力于探索组成万物的最基本元素——“本原”(希腊文arche,旧译为“始基”)。对此“本原”的研究即成为本体论的先声,而且逐步逼近于对being 的探讨。之后的巴门尼德深刻地提出,“是以外便无非是,存在之为存在者必一,这就不会有不存在者存在”。并且认为存在永存不变,仅有思维与之同一,亦仅有思维可以获致此真理;而从感觉得来者仅为意见,从意见的观点看,则有存在和非存在,存在既非一从而有变灭。 巴门尼德对being(是,存在)的探讨, 建立了本体论研究的基本方向:对于被“是者”所分有的“是”,仅只能由思维向超验之域探寻,而不能由感觉从经验之中获取;此在超验之域中寻得之“是”,因其绝对的普遍性和本原性,必然只能是一。不过,这一点只有苏格拉底和柏拉图才能真有领会,与他同时的希腊哲人或多或少地有所忽略。因而,如原子论者虽然也区分了真理认识和暗昧认识,认识到思维与感觉的不同,但是其探寻的“本原”可否由经验获致却极模糊,因而实际上并未能区分超验和经验。而在苏格拉底那些没有最终结论的对话中,已破除了经验归纳方法获取真理的可能性;在柏拉图的理念论中,则鲜明地以超验世界的“理念”为真理之根本。[1]
在古希腊罗马哲学中,本体论的研究主要是探究世界的本原或基质。各派哲学家力图把世界的存在归结为某种物质的、精神的实体或某个抽象原则。巴门尼德提出了唯一不变的本原“存在”,使关于存在的研究成为这一时期的主题。亚里士多德认为哲学研究的主要对象是实体,而实体或本体的问题是关于本质、共相和个体事物的问题。他认为研究实体或本体的哲学是高于其他一切科学的第一哲学。从此,本体论的研究转入探讨本质与现象、共相与殊相、一般与个别等的关系。在西方近代哲学中,笛卡尔首先把研究实体或本体的第一哲学叫做“形而上学的本体论”。
17~18世纪,莱布尼茨及其继承者沃尔夫试图通过纯粹抽象的途径建立一套完整的、关于一般存在和世界本质的形而上学,即独立的本体论体系。沃尔夫把一般、普遍看作是脱离个别、单一而独立存在的本质和原因。康德一方面认为建立抽象本体论的形而上学不可能,本体论要强研究的只能是事物的普遍性质及物质的存在与精神存在之间的区别;另一方面又用与认识论相割裂的、先验的哲学体系来代替本体论。黑格尔在唯心主义基础上提出了本体论、认识论和逻辑学统一原则,并从纯存在的概念出发构造了存在自身辩证发展的逻辑体系。
在现代西方哲学中,一些流派(实证主义、分析哲学、科学哲学等)反对任何形而上学和本体论,也有些人试图重新建立关于存在学说的本体论,如胡塞尔的“先验的本体论”、海德格尔的“基本本体论”、哈特曼的“批判本体论”等,他们往往借助于超感觉和超理性的直觉去建立概念体系,其观点带有唯心主义或不可知论,且往往同错误的社会观点相联系,为宗教哲学所支持。
在中国古代哲学中,本体论叫做“本根论”,它指探究天地万物产生、存在、发展变化根本原因和根本依据的学说。中国古代哲学家一般都把天地万物的本根归结为无形无象的与天地万物根本不同的东西,这种东西大体可分为三类: (1)没有固定形体的物质,如“气”; (2)抽象的概念或原则,如“无”、“理”; (3)主观精神,如“心”。这三种观点分别归属于朴素唯物主义、客观唯心主义和主观唯心主义。在中国哲学史的研究中,有些学者用“本体论”一词专指那种在物质世界之外寻找物质世界存在依据的唯心主义学说,如魏晋时期王弼的贵无论。
其他领域
本体论(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。go [2] 一个基因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未来发展和提升的一个重要方向。
构建本体
简介
在实际的应用中,本体论学者、知识管理、人工智能、情报学(图书馆学)甚至任何一个具有大量需要归类和划分信息的部门及领域都可以成为本体论的应用对象。本体论的基本元素是词汇(term)/概念(concept),转而构成同质化的类(class)和子类(sub-class),然后各个类和概念之间加入了适合的关系(relation)后,形成了一个简单的本体。概念和类皆用来表达词汇本身,而关系则为词汇提供连接(mapping),并加入限制条件(constraint),使之与现实情况相符合。 构建本体最为常用的软件是由斯坦福大学开发的Protege,最初是应用在医学领域,后来被逐渐的扩展至其它领域,该软件本身也是一个开源软件。
步骤
构建本体的简单步骤: 1. 列出研究课题所涉及到的词条(terms) 2. 按照词条的固有属性和专属特征进行归纳和修改,对词条建立类(class)以及层级化的分类模型(taxonomy) 3. 加入关系(relation)连系terms和taxonomies 4. 按照需要,添加实例(instance)作为概念的具象 最后在Protege中,还可以利用其附带的功能和插件对本体进行文字和图形化的导出,格式也可以自由选择。
基本问题
概况 ontology的根本问题是:“存在的最初分类是什么?”不同流派的哲学家对这个问题有不同的解释。 这个问题使得在神学、图书馆学和人工智能的研究方面都需要运用本体论的知识,而且反映到宇宙学、道德和审美观念上。另外存在论提出的问题还包括: 什么是存在? 什么是物质物体? 什么是物体的基本属性 用什么区别确定一个物体? “物质物体存在”的基本定义是什么? 物体的特性是什么? 存在的特性是什么? 什么时候物体不再存在?并不仅仅是变化。 为什么物体可以相对于虚无存在?
存在论历史
存在论最早可推朔到古希腊的柏拉图和亚里士多德,亚里士多德曾经定义存在论为“研究物体的存在的科学”。具体地说是研究物体的分类,也就是说:在什么情况下,一个物体可以被定义为“存在”。比论包括“普遍”的问题和“具体”的问题 观念,物体,联系 关于存在可以提出许多问题:“什么是存在?”“什么在存在?”“我是什么?”等,对于本体论来说,最基本的是找出什么是物体、什么是观念以及它们之间的联系。启蒙时代笛卡儿提出的“我思故我在”开启了本体论基本问题的先例,笛卡儿并没有深入研究,也认为没有深入研究的必要,他认为“我思故我在”证明了上帝的存在,后来的神学家们也认为:“究竟是谁可以将这句话普遍应用到一切事物中?”当然只有“上帝”。到了20世纪,当数理哲学,科学哲学和基本粒子物理学的新发现,将以前许多物质的所谓界限都打破了,人们不再满足于神学的说法。
实体和环境 在20世纪各个不同时期存在着形而上学的主观主义学派,客观主义学派,相对论学派等不同流派,后现代主义的实体哲学家们力图通过在不同环境下的哲学行动来重新定义上述的各个问题,主要依赖于生物学、生态学和认知科学的最新研究成果,了解动物在自然和人工提供的环境中的认知情况。 命题相对于不同环境的变化,使得存在更难定义。如果人们说:“A是B”“A必定是B”或“A曾经是B”究竟有什么含义?有的哲学家主张去掉英语中的“是”一词,改用以免造成容易混淆的抽象含义;另一些哲学家力图了解词汇中的深层含义和使用方式;马丁·海德格尔想区分开“存在”和“物体”的意义。
存在 存在主义者认为“存在”是最基本的概念,好多事物都可以说“是”,动词“是”有许多种用法,因此是易于混淆的,所以有许多种存在。简单的说,本体论就是探讨这个世界上存在的一切是不是在背后都有一个抽象的、不依赖于现实世界的基础。精神的或是物质的,是不是都有自己的抽象的根据。简单的说,形而下就是指的现实的我们可感的世界,而形而上指的是可感的世界背后的原因,是抽象的,是不可感的,并且是作为可感世界的根据存在的。本体论就是探讨形而下的世界的形而上根据的。