文档介绍:该【形式本体论与信息系统 】是由【史湘云】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【形式本体论与信息系统 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:.
形式本体论与信息系统
摘要:
关于本体论的研究正在计算机科学团体中扩展开来,它的重要性被多个研究领域
和应用领域所认识,包括知识工程、数据库设计和集成、信息恢复和抽取。我们
将使用一般术语“信息系统”的最广泛的含义,来指代这些应用观点的全体。我
们在这篇论文中讨论了所谓的本体论有它们自己的方法论的和结构上的特性:在
方法论一面,它们的主要特性是采用高度交叉学科的途径,而在结构方面最有趣
的方面是它们在信息系统中能够处于中心角色,这导致了本体论驱动的信息系
统。
关于本体论的研究正在计算机科学团体中扩展开来。然而过去这个术语被限制在
哲学领域,现在它在人工智能、计算语言学、和数据库理论中取得了独特的地位。
特别是,它的重要性被众多研究领域所承认,包括:知识工程[20,45,15,18],
知识表达[23,2,42],定性建模[19,9,13],语言工程[31,5],数据库设计[11,
47],信息建模[3,53],信息集成[55,7,35],面向对象分析[51,39],信息恢
复和抽取[24,6,34,54],知识管理和组织[40],基于agent的系统的设计。当
前的应用领域也完全不同,包括企业集成[22,46],自然语言翻译[30,33],医
药[16],机械工程[10],产品知识标准化[8,4,26],电子商务[32],地理信息系
统[12],合法信息系统,生物信息系统。我将用一般术语“信息系统”,在它最
广泛的意义上,来指代这些研究和应用领域的整体。
某些情况下,术语“本体论”只是一个奇妙的术语,用来表示一些熟悉活动例如
概念分析和领域建模的结果,这些活动是由标准的方法论指导的。然而在许多情
况下,所谓的本体论有它们自己的方法学和结构上的特性。在方法论一面,主要
的特性是采用高度交叉学科的途径,这里哲学和语言学在一个高层次的一般性上
分析给定的现实的结构和形式化一个清晰和严格的词汇表上扮演了非常基础的角色。在结构方面,最令人感兴趣的方面是本体论能够在信息系统中扮演中心角:.
色,从而导致一种本体论驱动的信息系统的观点。
我在其他地方[23,24]强调了在本体论工程实践中交叉学科的基本方法的重要
性,特别重要的是形式本体论所扮演的角色。因为这个话题将在这一卷[41,50]
中进行更详细的陈述,我这里就不多做评述了。
首先,我将推荐最近初始记载于[27]的关于术语“本体论”在计算机科学中被使
用的方式的澄清工作的努力。尽管取得了一些进展,我相信仍然有许多术语和概
念上的混乱,因此我将试着做进一步澄清——根据过去的工作——这些概念:本
体论、本体论义务,和概念化。然后我将介绍本体论驱动的信息系统的观点,展
示本体论如何通过影响信息系统的主要组件来扮演一个中心角色,这些组件包
括:信息源、用户界面、和应用程序。
(Ontology)和本体论们(ontologies)
这篇论文是面向多学科的听众,因此我们最好首先注意一下对术语的澄清,特别
是一些重要的术语看来在不同的团体中具有不同的含义。首先让我们考虑“本体
论(Ontology)”,例如称述“本体论是一个迷人的学科”,和“本体论(ontology)”,
例如陈述“亚里斯多德的本体论”或“CYC的本体论”。同样的术语在前者是不
可数名词,而在后者是可数名词。前者看起来比较清楚一些(指特定的哲学科学),
而后者则在哲学团体和人工智能团体(以及一般意义上在整个计算机科学团体)
间具有两种不同的含义。
在哲学意义上,本体论指说明一种特定观点的世界的一种特殊的分类体系,这个
体系并不依赖于某个特别的语言:亚里斯多德的本体论也是,独立于用来描述它
的语言。另一方面,在人工智能中,比较普遍的含义是指一个工程创造物,由一
组特定的用来描述一种特定的现实的词汇表,加上一组关于这些词汇所希望的含
义的明确假设所组成。这组假设通常具有先序逻辑理论的形式,这里词汇表现为
一元或二元谓词名称,分别称为概念和关系。在最简单的情况下,一个本体论描
述了通过包含关系联系起来的概念的层次结构;在复杂情况下,需要加入合适的
公理来表达概念间的其他关系并限制对它们的解释。
上面所说的本体论的两种语义实际上彼此联系,但为了解决术语上的僵持我们需:.
要从中选择一个,为另一个创造一个新名词:我们将采用人工智能的语义,而用
概念化这个词来表示哲学含义。因此我们在交流和共享同一概念时能够给这两种
语义上的本体论赋予不同的词汇。
然而上面介绍的概念化这个词需要一个合适的形式,因为也可能产生一些混淆。
实际上,在著名的人工智能书籍[17]中一个概念化被定义为一个结构<D,R>,这
里D是一个域而R是一个集合或D上的相关关系。TomGruber接受了这个定义,
他将本体论定义为“一个概念化的说明”[21]。同PierdanieleGiaretta一道,我
在[27]中讨论了这样的定义,并论述到,为了让它有意义,一个不同的、内涵的
关于概念化的含义的说明必须被提供。这里我试图进一步澄清这些概念,弄清楚
本体论、它所希望的模型、和一个概念化之间的关系。
Genesereth和Nilsson的关于概念化的含义的问题在于它指D上的一般数学意义
上的关系,即外延关系。这种关系反映了事务的特殊状态:例如,在块的世界中,
我们可用它来反映桌上块的一种特殊的排列。作为替代,我们需要集中于这些关
系的内涵上,而同事物的状态无关:例如,“上”关系的含义存在于根据空间安
排的特定一对块的方式。因此我们需要说明内涵关系:我将称它们“概念关系”,
而将术语“关系”保留为普通的数学关系。
表达内涵(和概念关系)的标准途径是将它们看作从可能世界到集合的函数。这
有一些不好的地方,但对我们的目的来说够了。尽管普通的关系定义在一个特定
的域上,概念关系定义在域空间上。我们把域空间定义为一个结构<D,W>,这里
D是一个域而W是这样的域的事务的最大状态(也称为可能世界)的集合。例
如,D可能是桌上的一些方块而W这些块所有可能的空间排列的集合。给定一
个域空间<D,W>,我们可以定义概念关系ρn为一个全函数:
nDn
ρ:W→2
即从W到所有D上的n元关系的集合的一个全函数。对于一个一般的概念关系
ρ,集合Eρ={ρ(w)|w∊W}将包含所允许的ρ的外延。D的一个概念化能够被
定义为有序三元组C=<D,W,ℜ>,这里ℜ是域空间<D,W>上的概念关系的集合。
因此我们可以说一个概念化是一个域空间上的一组概念关系的集合。
现在考虑[17]中提出的结构<D,R>,因为它指向一个特定的世界(或事务状态),:.
我们应称之为世界结构。很容易看出一个概念化包含很多个这种世界结构,每个
可能世界对应一个:这些世界结构被称为根据这个概念化所希望的世界结构。
令C=<D,W,ℜ>是一个概念化。每个可能世界w∊W,w根据C导向的结构
是结构SwC=<D,RwC>,这里RwC={ρ(w)|ρ∊ℜ}是ℜ的元素相对于w的外延的
集合。我们定义SC是集合{SwC|w∊W},它是C所希望的所有世界结构。
让我们现在考虑一个逻辑语言L,具有词汇表V。通过重新安排标准定义,我们
定义一个L的模型为一个结构<S,I>,这里S=<D,R>是一个世界结构并且I:
V→D∪R是一个解释函数,它将论域D上的元素赋给V中的常量符号,并将R
中的元素赋给V的谓词符号。我们已经知道,一个模型因此决定了语言一个特
定的外延解释。类似的,我们通过一个结构<C,ℑ>来决定一个内涵解释,这里C
=<D,W,ℜ>是一个概念化并且ℑ:V→D∪ℜ是一个函数,它将D中的元素赋给V
的常量符号,ℜ的元素赋给V的谓词符号。我们称这个内涵解释是L的一个本
体论义务。如果K=<C,ℑ>是一个L的本体论义务,我们称L通过K向C负责,
同时C是K的基础概念化。
给定一个语言L及词汇表V,并有一个L的本体论义务K=<C,ℑ>,一个模型
<S,I>将是同K一致的如果:(i)S∊SC;(ii)对每个常量c,I(c)=ℑ(c);(iii)
存在一个这样的世界w,对每个谓词符号p,I将这个谓词映射到一个允许的ℑ(p)
的外延,即存在一个概念关系ρ满足ℑ(p)=ρ∧ρ(w)=I(p)。L的所有和K一致的
模型的集合IK(L)将被称为L根据K的所希望的模型的集合。
通常,没有一种从一组所希望的模型重建语言的本体论义务的途径,因为一个模
型不必反映一个特别的世界:实际上,因为所考虑的相关关系不一定足够用来描
述事务的一个状态,一个模型可能实际上描述许多事务状态公共的情况。这意味
着不可能重建世界和基础概念化所建立的外延关系之间的联系。一组希望的模型
因此仅是一个概念化的一个弱描述:它只排除了一些荒唐的解释,没有真正描述
词汇表的含义。
我们现在能够澄清一个本体论的角色,即一组逻辑公理用来解释一个词汇表所希
望的含义。给定一个语言L具有本体论义务K,L的一个本体论是一组公理,它
们被定义来使它的模型的集合尽可能地接近L根据K所期望的模型集合(图1)。:.
一般来说,不容易(也不方便)来找到正确的公理集合,因此一个本体论将容许
在所期望的模型之外的其他模型。因此,一个本体论将只能以非常间接的方式来
“说明”一个概念化,因为(i)它只能近似地指明所期望的模型;(ii)这样一
个所期望的模型的集合只是一个概念化的弱描述。我们将称一个语言L的一个
本体论O近似于一个概念化C,当存在一个本体论义务K=<C,ℑ>使得L根据
K所期望的模型被包含在O的模型中。一个本体论对C负责如果(i)它设计的
目的是描述C,并且(ii)它近似于C。一个语言L对一个本体论O负责如果它
对某个概念化C负责,而O与C一致。通过这些澄清,我们得到以下定义,它
通过弄清楚一个本体论和一个概念化间的区别精炼了Gruber的定义:
一个本体论是一个解释一个形式词汇表的期望含义的逻辑理论,即它对
世界的一个特定概念化的本体论义务。使用这样一个词汇表的逻辑语言
期望的模型被它的本体论义务所约束。一个本体论通过近似这些期望的
模型不直接地反映这种义务(以及基础概念化)。
词汇表、概念化、本体论义务和本体论间的关系见图1。特别要强调的是一个本
体论是语言依赖的,而一个概念化是语言独立的。就其在人工智能实际上的使用
而言,术语“本体论”瓦解了这两方面,但这两者间一个清晰的区分对表达与本
体论共享、融合和翻译相关的问题是很重要的,它们通常隐含了多个词汇表和多
个概念化。:.
概念化C
义务K=<C,ℑℑℑℑ>
语言L
模型M(L)
本体论
期望的模型IK(L)
、概念化、本体论义务和本体论之间的关系
当一个本体论仅不直接说明一个概念化时,我们可能想知道它能有多接近。实际
上,我们能根据它刻画它所负责的概念化的精确度来对本体论进行分类。本体论
想要接近一个概念化有两种可能的途径:通过开发更丰富的公理,以及通过采用
更丰富的域和/或更丰富的相关概念关系的集合。在第一种情况下,本体论模型
集合和所期望的模型集合间的距离被缩小了。在第二种情况下,有可能——至少
在原则上——来在相关概念关系集合中包含进(一些)刻画世界状态的关系,同
时扩展论域以便包含和这些关系相关的实体:例如,在块世界的情况下,我们能
将块的空间位置看作一个相关概念关系,因此在论域中包含位置,并将一个关系
例如x在y上看作能够完全从x和y的位置推导出来。既然在这种情况下每个模
型带有和它描述的世界的状态相关的信息,基础概念化就能被从它所期望的模型
集合重构。这种情况下,如果一个本体论被以这种方式公理化并具有同样的模型,:.
那么它可被称为一个“完美”的本体论。
另一个增加本体论精确度的可能在于或者采用一个模态逻辑,它允许人们表达世
界中的约束,或者只是将世界具体化为域中的简单对象。当然,在对同一个概念
化负责的粗糙的和精炼的本体论间存在一个权衡:后者更接近说明词汇表所期望
的含义(因此可以用来建立关于共享该词汇表的一致含义,以及使用该词汇表的
知识库),但它难以开发和进行推理,都因为公理的数量和采用语言的具体表达
方式。另一方面,一个粗糙的本体论可能只包含由最小表达性语言书写的公理的
最小集合,仅用来支持一组受限的特定服务,以在已经就基础概念化取得一致的
用户间共享。我们因此可以区别详细参考的本体论和粗略可共享的本体论,或者
是离线和在线本体论:前者仅用来有时作参考用,而后者支持核心系统的功能。
正如我们已经介绍的那样,信息集成是本体论的一个主要的应用领域。众所周知
的是,即使两个系统采用统一的词汇表,也不保证它们能在某个特定信息上取得
一致,除非它们对同样的概念化负责。假设每个系统具有它自己的概念化,一个
使得取得一致称为可能的必要条件是原始概念化所期望的模型能够重叠(图2)。
图2.
现在假设这两组期望的模型被不同本体论近似,也可能产生两个本体论交叠而期
望的模型却不的情况(图3)。这意味着基于多个本地本体论集成的自底向上的
系统集成的途径可能无法工作,特别是如果本地本体论仅关注和一个特定的背景
相关的概念关系,这将导致它们仅是期望模型的一个专门的弱近似。因此,看起
来应该在一个单一的高层本体论上取得一致,而不是依赖于基于不同本体论交集:.
的一致。
图3
上面的考虑表达了这样一种机会,即应根据不同一般性的层次来开发不同类型的
本体论,如图4所示(更详细的讨论参见[25])。
高层本体论
领域本体论任务本体论
应用本体论
图4
高层本体论描述非常一般的概念,例如空间、时间、物质、对象、事件、活动等
等。这些都是同特定领域或问题无关的:这看起来很合理的是,至少在理论上,
可以为大团体的用户构建一致的高层本体论。
领域本体论和任务本体论分别描述了同一个一般领域(例如医药、或汽车)或者
一个一般任务或活动(例如诊断或销售)相联系的词汇表,通过特化一些在高层
本体论中定义的词汇。
应用本体论描述既依赖于特殊领域也依赖于特殊任务的概念,它们通常是上述两:.
种相关本体论的特化。这些概念通常同域实体在执行一个特定活动时扮演的角色
相联系,例如可替换的单元或备用组件。
每个(符号的)信息系统(IS)有它自己的本体论,因为它将所使用的符号的含
义归结到世界的一个特定视图。我这里将讨论并说明,一个明确说明的本体论能
够在一个信息系统中扮演的特殊角色,这个角色以结构的观点看来应是一个中心
角色,而且本体论有益地“驱动”信息系统的所有方面和所有组件,因此,我们
可以说本体论驱动的信息系统。
一个信息系统包含三种不同类型的组件:应用程序、信息资源例如数据库和/或
知识库、以及用户界面。这些组件是为了达到一个具体(业务)的目的而集成起
来。当讨论一个本体论能够对信息系统产生的影响时,我们有两个正交的维:一
个时间维,关心本体论是用在开发时间还是在运行时间(即,为一个信息系统还
是在信息系统之中),以及结构维,关心本体论影响主要信息系统组件的特定方
式。我将首先讨论一些关于第一维的一般方面,然后详细分析本体论对信息系统
组件的具体影响,既分析开发时间也分析运行时间。
时间维时间维时间维
在关注特定信息系统组件之前,让我们首先在一般意义上讨论本体论在开发时和
运行时所扮演的角色。注意这两个概念是和信息系统而不是本体论相关的,这里
我们假定本体论是已经完成的产品:但是,在开发时间,我们必须采用一个“完
成”的本体论来处理对信息系统的具体需求。当本体论被应用在信息系统的运行
时的时候,我们称之为“本体论驱动的信息系统”;当它被应用在开发时,我们
称之为“本体论驱动的信息系统开发”。
在这个背景下,我们区分两种不同的场景。在第一种背景下,我们有一组可复用
的本体论,组织在既包括领域本体论也包括任务本体论的本体论库中[49]。在第:.
二种场景下,复用的程度是非常有限的,例如我们仅有一个非常一般的本体论,
包括世界的基本实体的粗略的域级别的差异和类和关系的类型的元级别的差异。
在第一种情景下,选定的本体论所表达的语义内容被转移和翻译到信息系统组件
中,降低了概念分析和确认本体论对信息系统的充分性的成本——假定选择了正
确的本体论。如果要建造的信息系统是传统类型的,这样的内容将只会被嵌入到
标准组件中;如果它是本体论驱动的信息系统,这个开发阶段的结果将是一个单
独的组件,也就是一个如图4中所示的应用本体论,它可以被看成一个领域本体
论和一个任务本体论的特化。请参考[25,48]来了解对于一个应用本体论和一个
本体论库的关系的讨论。在开发阶段使用本体论的重要收益是它允许开发者实践
一个高层次的重用,而不是通常在软件工程中的情况(即知识重用取代软件重
用)。而且,它允许开发者通过使用跨越多个异构软件平台的通用词汇表来重用
和共享应用领域知识。它也允许开发者集中于领域的结构和手边的工作并不受太
多的实现细节的干扰。不幸的是,能以这种方式使用的现成的本体论在今天是非
常难以获得的(请参看[44],作为一个在物理测量上的本体论的重用)。从我的
观点来看,主要的原因是这些本体论还不够足够通用以有效描述多个应用。而且,
当必须要集成几个现存本体论的时候,。
因此上面描述的第二种情况看来更现实。可获得的本体论知识的数量也许是合适
的,但它具有自己的性质,即某种基础的本体论的差异的本性,它只能帮助设计
者进行概念分析。实践中,这种情况下本体论的角色不是被采用和重用的建造块,
而是某种有力的工具——类似于其他CASE(计算机辅助软件工程)工具——它
能够提高设计过程的质量。换句话说,我们能在一个(相对小)高层本体论的帮
助下开发一个应用本体论,而不必在手边有一个已经开发好的领域本体论。
在本体论驱动的信息系统的开发中需要注意的重要的一点是一个本体论不仅能被用来建造一个新的信息系统(信息系统工程),而且也能同样有益地被用在信
息系统的再工程中,以便增加重用性和可维护性。以这种方式过去所做的大量软
件投资能够得到保护和利用。请参考[38]作为一个使用本体论原则进行系统再工
程的好例子。
这里我们必须区分一个本体论感知的系统和一个本体论驱动的系统;在前一种情:.
况下,一个信息系统的组件只是一个本体论的存在的感知并利用它(例如,查询
它)来为任何需要的特定的应用目的服务。第二种情况下,本体论是信息系统的
一个组件,并在运行时协作完成高层的全局的信息系统的目标。
运行时使用本体论的重要理由是使软件代理间的通讯变得可能。软件代理通过包
含了根据本体论表达的表达式来彼此进行通讯(本体论驱动的通讯)。为了让一
个软件代理理解这些表达式中的意义,该代理需要访问它们向其负责的本体论。
:本体论对信息系统组件的影响
信息系统的每个组件——应用程序、数据库、用户界面等——能用不同的方式利
用本体论。下面,我们以此考虑这些组件的情况,研究一个本体论能扮演的特别
角色,并分析开发和运行时的区别。
本体论最明显的应用是数据库组件。实际上,一个本体论能够和数据库的计划组
件相比较。
在开发时,一个本体论能够在需求分析和概念建模阶段扮演重要角色,特别是如
果和词汇资源例如WordNet[36]集成起来以支持对自然语言的非形式化的说明的
分析[29,1,11,47]。结果概念模型能够被表达为计算机可处理的本体论并映
射到实际的目标平台上。这些方面已经在ESPRITIDEA项目[14]中进行了广泛
的讨论,特别是要考虑将“知识说明”(本体论)映射到许多不同类型数据库(关
系型,面向对象型,演绎型,主动型)的计划的系统。开发时应用本体论的另一
个例子是信息集成:在数据仓库应用中可以通过一个公共的高层本体论(参看[7]
查找这个方向的初步步骤)从异构概念计划映射到(半自动化)一个通用概念计
划。
在运行时,有许多本体论和数据库协作的途径。关于信息资源的显式本体论(即,
运行时可访问的数据库计划)的可获得性是基于仲裁的信息集成[55]的核心。本
体论可以支持关于一个特定数据库的内容的“内涵查询”,或者动态管理涉及多
个数据库的查询。
也许不是如此明显,但却很重要的是本体论在用户界面中的应用。因为本体论具
体化了关于影响用来对一个给定的领域和任务建模的类和关系的限制的语义信:.
息,它们已经成功地在Protégé项目中用来产生基于表单的检查约束冲突的界面。
在运行时,本体论在用户界面中能够扮演的第一个角色是允许它自己被用户查询
和浏览。这种情况下,用户能够意识到本体论,并使用(即查询)它,作为对信
息系统的通常应用。以这种方式,用户能够更好理解信息系统使用的词汇,因此
能够在喜欢的特征层次上表达查询。如果本体论是足够大,即一个高层语言本体
论(例如WordNet,Mikrokosmos[33]或者Pangloss[43]),那么在用户界面中另
一个有用的任务是词汇分离:用户可以自由采用它自己的自然语言术语,它们能
够在本体论的帮助下映射到信息系统的词汇(经过必要的消除模糊性的步骤)。
参看[28]作为示例。
应用程序仍是许多信息系统的重要组件。它们通常包含许多领域知识,这些知识
出于各种原因没有明显地保存在数据库中。这些知识的一些部分以类型或类声明
的形式被硬编码进程序的部件,其他部分(例如业务规则)隐含在程序的处理过
程部分。
在开发时,一个信息系统开发者能够——原则上——在本体论的帮助下产生一个
程序的静态部分。而且,同语言资源集成的本体论能够用来支持面向对象软件的
开发,正如我们在数据库的例子中看到的那样,但我还没有看到这个领域中的任
何贡献(尽管已经有一些在面向对象设计中应用本体论原则的建议[52,39])。
在运行时,我们可以选择显式表达所有那些被隐含地硬编码进应用程序的领域知
识,将程序转化为一个基于知识的系统。众所周知的是,这从易于维护、可扩展
性和灵活性的角度看来具有非常大的益处。这种情况下,知识库可以由一个核心
知识库加一个本体论组成。有人也许会反对说有很好的理由来保持核心战略知识
为非显式形式,既为了安全的考虑,也因为兼容问题:然而此时至少应用程序的
本体论义务应该是显式的,以便促进它的可访问姓,可维护性和可继承性。本体
论因此可以帮助增进应用程序的透明度。
结论
当许多论文论述了本体论开发的哲学基础之后,这里我集中于应用一面,力图提:.
供一个关于在未来信息系统中本体论可能扮演的中心角色的系统化说明。对于进
来流行的关于本体论概念的定义的修订没有预先计划,但我在写这篇论文想到多
学科的听众时才意识到在此问题上需要有进一步的工作。再一次地,交叉学科的
观点取得了成功。
上面第3节提出的材料已经在最近开始的关于本体论驱动的信息系统的研究项
目ODIS的框架中得到了实现。