业精于勤

导航

Ontology研究综述

Ontology研究综述
 
北京大学计算语言学研究所
2003.10.7
主要内容
l    关于Ontology的译名和定义
l    为什么需要Ontology
l    作为工程学人工产物的Ontology
l    Ontology 的建模元语
l    Ontology 与语义网络
l    Ontology 的描述语言
l    已有的Ontology 及其分类
主要内容(续)
l    构建Ontology
l    Ontology 的理论研究
l    Ontology 在信息系统中的应用
l    Ontology 与语义Web
关于Ontology的译名和定义
l     哲学界
     ontology论述关于Being(ö)及其作为一、善这样抽象的、完全普遍的哲学范畴,在这种抽象的形而上学里,进一步产生出偶性、实体、因果、现象等范畴
     被黑格尔所引述的由沃尔夫第一次表达出来的这个定义表明,ontology是运用以Being为核心的各种范畴,通过逻辑的方法去构造哲学原理的学问。它是在概念王国里的纯粹的思辨哲学。
     本体论  存在论  是论
关于Ontology的译名和定义
l    人工智能界
    1991/Neches 等:给出构成相关领域词汇的基本术语和关系,以及利用这些术语和关系构成的规定这些词汇外延的规则的定义;  
    1993/Gruber :概念模型的明确的规范说明;  
    1997/Borst :共享概念模型的形式化规范说明;  
    1998/Studer :共享概念模型的明确的形式化规范说明
1998/Studer:共享概念模型的明确的形式化规范说明
l     1.概念模型(conceptualization
     通过抽象出客观世界中一些现象(Phenomenon)的相关概念而得到的模型,其表示的含义独立于具体的环境状态
l     2.明确(explicit
     所使用的概念及使用这些概念的约束都有明确的定义
l     3.形式化(formal
     Ontology是计算机可读的。
l     4.共享(share
     Ontology中体现的是共同认可的知识,反映的是相关领域中公认的概念集,它所针对的是团体而不是个体。
Ontology的目标
l    Ontology的目标是捕获相关的领域的知识,提供对该领域知识的共同理解,确定该领域内共同认可的词汇,并从不同层次的形式化模式上给出这些词汇(术语)和词汇之间相互关系的明确定义。
为什么需要Ontology?
l     由于对跨系统的知识重用和分享的兴趣的增大,导致对Ontology的兴趣大增。
l     知识分享的问题:不同的系统描述领域的时候使用不同的概念和术语。所以很难从一个系统中提取知识运用到另一个系统中。
l     开发可重用的Ontology以推进共享和重用是Ontology研究的一个重要目标。
l     开发支持构建、合并和翻译Ontology的工具是研究的另一个目标。
明确的Ontology能够支持
l     在人们之间共享理解
l     工具间的互操作性
l     系统工程
l     可重用性
l     定义主题词表和概念
l     扮演数学在物理中所扮演的角色(内容理论)
l     定义必要的充足的概念和方法
l     共同的知识理论
作为工程学人工产物的Ontology
l     现在,Ontology已经超越了哲学范畴,而是和信息技术(例如:面向对象系统)及人工智能有着密切的关系。
l     这样,在人工智能和信息系统领域对Ontology的研究就必须为如何构建和维护Ontology提出实际可行的有用的建议。
l     一种很实际的观点:Ontology就是一种必须要构建的人工产物。
l     很多人工产品都有很强的Ontology的味道,比如:术语表、术语学、字典、百科全书、知识库、数据库模式。
Ontology与知识库的比较
l    一些基本的问题:
     知识的表达形成共识了吗?  
     所使用的术语被明确定义了吗?  
     所使用的术语易于表达吗?  
     知识的重用方便吗?  
     它稳定吗?  
     它是新项目的起点吗?  
 Ontology与知识库的区别
l    Ontology为知识库的建立提供一个基本的结构;
l    Ontology提供一套概念和术语来描述某一领域,并且获取该领域的本质的概念结构;
l    这些都是通过Ontology分析完成的;
l    然后,知识库就可以运用这些术语去表达现实或者虚拟世界中的正确知识。
Ontology分析
l    Ontology分析就是明确知识的结构。对于给定领域,它的Ontology构成了该领域的任何知识表示系统的核心。如果没有支撑知识的Ontology或者概念体系,那么就不会有表示知识的词汇存在。因此,设计一个有效的知识表示系统和词汇表的第一步就是对该领域进行有效的Ontology分析,Ontology分析没做好,会导致知识库的不一致。
知识表示语言和知识库都是基于Ontology分析而创建的:
l    把术语和Ontology中的概念及关联连接起来;然后
l    设计语法,使用这些概念和关系来对知识进行编码。
类比
l    数据库系统的设计,软件系统的设计,都需要在实际的系统实施之前进行系统分析和设计,同样,对于基于知识的系统也需要这些步骤。
Ontology面向对象OO)方法的比较
l    设计Ontology的过程和创建面向对象的软件的过程相似。对象、对象属性以及它们的处理流程映射了应用软件相关的领域的各个方面。面向对象系统包含了对领域的有用分析,常常被不同的应用程序重复使用。
基本差异
l     程序中的类(Class)和目标(Object)是关于数据结构的,因此,面向对象编程方法(OOP)可能会破坏Ontology的基本原则。
l     Ontology中的类和对象必须反映出实际世界的结构。
l     对象、关系、状态、事件和过程构成了一套表示系统,但它本身并没有说明现实生活中存在哪些类型的上述实体,这是领域建模人员的任务。
Ontology分析的好处
l    我们可以与那些对该领域的知识表示有类似需求的人分享这种知识代表语言,因此避免了重复知识分析流程。共享的Ontology形成了领域专门知识表示语言的基础。
Ontology 的建模元语
l    Perez 等人认为Ontology 可以按分类法来组织,他归纳出Ontology 包含5 个基本的建模元语(Modeling Primitive) 。这些元语分别为:类(classes) ,关系(relations) ,函数(functions) ,公理(axioms) 和实例(instances) 。通常也把classes 写成concepts。
概念
l    概念的含义很广泛,可以指任何事物,如工作描述、功能、行为、策略和推理过程等等。
关系
l    关系代表了在领域中概念之间的交互作用。形式上定义为n 维笛卡儿乘积的子集: R : C1 ×C2×⋯×Cn 。
l    如:子类关系( subclass-of) 。
函数
l    函数是一类特殊的关系。在这种关系中前n - 1 个元素可以惟一决定第n 个元素。形式化的定义如下: F : C1 ×C2 ×⋯×Cn-1 →Cn 。
l    例如Mother-of 关系就是一个函数,其中Mother-of ( x , y) 表示y 是x 的母亲,显然x 可以惟一确定他的母亲y 。
公理
l    公理代表永真断言,比如概念乙属于概念甲的范围。
实例
l    实例代表元素。
 
l    从语义上分析,实例表示的就是对象,而概念表示的则是对象的集合,关系对应于对象元组的集合。概念的定义一般采用框架(frame) 结构,包括概念的名称,与其他概念之间关系的集合,以及用自然语言对该概念的描述。
l    基本的关系有4 种:part-of ,kind-of ,instance-of 和attribute-of 。
 
l    在实际的应用中,不一定要严格地按照上述5 类元语来构造Ontology。同时概念之间的关系也不仅限于上面列出的4 种基本关系,可以根据特定领域的具体情况定义相应的关系,以满足应用的需要。
Ontology 与语义网络
l    作为知识表示工具,Ontology 与语义网络非常相似。
l    它们都是表示知识的形式,并且均可以通过带标记的有向图来表示,适合用于逻辑推理。
Ontology 与语义网络
l      但从描述的对象或范围而言,Ontology 与语义网络有所区别。
     Ontology 是对共享概念模型的规范说明,这里所说的共享概念模型指该模型中的概念是公认的,至少在某个特定的领域是公认的。一般情况下,Ontology 是面向特定领域,用于描述特定领域的概念模型。语义网络从数学上说,是一种带有标记的有向图。它最初用于表示命题信息,现广泛应用于专家系统表示知识。语义网络中节点表示物理实体、概念或状态,连接节点的边用于表示关系。语义网络中对节点和边没有其他特殊的规定,因此语义网络描述的对象或范围比Ontology 广。
     在表示的深度上,语义网络不如Ontology。语义网络对建模没有特殊的要求,但是Ontology 却有5 个要素:类、关系、函数、公理和实例,其中公理可以看作是Ontology 中的约束。Ontology 通过这5 个要素来严格、正确地刻画所描述的对象。
     语义网络的建立可以不要求有相关领域的专业知识,因此比较容易建立。而Ontology 的建立必须要有专家的参与,相对而言更加的严格和困难。
Ontology 的描述语言
l    在具体的应用中,Ontology 的表示方式可以多种多样,主要可分为4 大类:非形式化、半非形式化、半形式化、形式化语言。可以用自然语言来描述Ontology ,也可以用框架、语义网络或逻辑语言等来描述Ontology。虽然具体描述Ontology 的方法很多,但是目前使用最普遍的方法是Ontolingua 、CycL 和Loom 等。
Ontolingua
l      Ontolingua 是一种基于KIF (knowledge interchange format) 的,提供统一的规范格式来构建Ontology 的语言。Ontolingua 为构造和维护Ontology 提供了统一的、计算机可读(可处理) 的方式。由Ontolingua 构造的Ontology 可以很方便地转换到各种知识表示和推理系统,使得对Ontology 的维护与具体使用它的目标表示系统分离开来。可以把Ontolingua 转换成PrologCORBAIDL CLIPSLOOMEpikit Algernon 和标准的KIF
l      目前,Ontolingua 主要是作为Ontology 服务器上提供的,用于创建Ontology 的语言。另外有不少项目使用Ontolingua 作为实现Ontology 的语言。
Cycl
l    Cycl 是Cyc 系统的描述语言,它是一种体系庞大而非常灵活的知识描述语言。
l    该语言在一阶谓词演算的基础上,扩充了等价推理、缺省推理等功能,而且具备一些二阶谓词演算的能力。
l    在该语言的环境中配有功能很强的可进行逻辑推理的推理机。
Loom
l     Loom Ontosaurus 的描述语言,是一种基于一阶谓词逻辑的高级编程语言,属于描述逻辑(Description Logic) 体系。
l     它具有以下的特点:
     (1) 提供表达能力强、声明性的规范说明语言;
     (2) 提供强大的演绎推理能力;
     (3) 提供多种编程风格和知识库服务。该语言后来发展成为PowerLoom语言。
l     PowerLoomKIF 的变体,它是基于逻辑的,具备很强表达能力的描述语言,采用前后链规则(backward and forward chainer) 作为其推理机制。
已有的Ontology 及其分类
l    目前被广泛使用的Ontology 有如下5 个:
l    Wordnet
l    Framenet
l    GUM
l    ENSUS
l    Mikrokmos
Wordnet
l    Wordnet 是基于心理语言规则的英文词典,它以synsets 为单位组织信息。所谓synsets 是在特定的上下文环境中可互换的同义词的集合。
Framenet
l    Framenet 也是英文词典,采用称为Frame Semantics 的描述框架, 提供很强的语义分析能力, 目前发展为FramenetII。
GUM
l    支持多语种处理,包含基本的概念及独立于各种具体语言的概念组织方式。
SENSUS
l    为机器翻译提供概念结构,包括7 万多个概念。
Mikromos
l    Mikromos也支持多语种处理,采用一种语言中立的中间语言TMR 来表示知识。
Ontology 的分类
l     为了对Ontology 进行有效的分类,Guarino 在文献[15 ]中提出以详细程度和领域依赖度两维度作为对Ontology 划分的基础。详细程度是相对的、较模糊的一个概念,指描述或刻画建模对象的程度。详细程度高的称作参考(reference) Ontologies ,详细程度低的称为共享( share) Ontologies
l     依照领域依赖程度,可以细分为顶级(top-level) 、领域(domain) 、任务(task) 和应用(application) Ontologies 4 类。
Ontology 的分类
l     顶级Ontologies 描述的是最普通的概念及概念之间的关系,如空间、时间、事件、行为等等,与具体的应用无关,其他种类的Ontologies 都是该类Ontologies 的特例。
l     领域Ontologies 描述的是特定领域(医药、汽车等) 中的概念及概念之间的关系。
l     任务Ontologies 描述的是特定任务或行为中的概念及概念之间的关系。
l     应用Ontologies 描述的是依赖于特定领域和任务的概念及概念之间的关系。
Ontology 的分类
l     1999 年,Perez Benjamins 在分析和研究了各种Ontologies 分类法的基础上,归纳出10 Ontologies[16 ] :知识表示Ontologies、普通Ontologies、顶级Ontologies、元(核心) Ontologies、领域Ontologies、语言Ontologies、任务Ontologies、领域-任务Ontologies、方法Ontologies 和应用Ontologies。这种分类法是对Guarino 提出的分类方法的扩充和细化,但是这10 Ontology 之间有交叉,层次不够清晰。
构建Ontology
l    构建Ontology是一项持续的研究。
l    Ontology在抽象程度上变动,从构成所有领域知识表示基础的最普通的术语到特定领域专用的术语。例如:空间、时间、部门以及分部门等术语可以应用到所有领域中;而机能失灵应用于工程和生物领域;而晶体管则只是应用到电子电路领域。
Ontology的层次
l      一项任务即便看起来是局限于某一领域的,知识表示一般也要求在更高概括程度上描述知识的Ontology。例如:解决涡轮领域的问题可能需要一些使用更加概括性术语(如流程和因果关系)表达的知识。这种更通用的描述性术语被称为更高层次的Ontology或者最高层次的Ontology
l      层次一:定义概念和层级。例如:YahooOntology
l      层次二:清楚的定义概念的含义,增加对关联的定义——大部分的Ontology都在这一层次。
l      层次三:任务Ontology
      当我们从Ontology的顶端转到较低的分类水平时,与特定领域及现象相关的关联就出现了。
      为了对地球上的对象进行建模,我们可以确定特定关联。例如:动物、矿物和植物是对象的子类;有生命(x)和含碳的(x)是对象的性质;而可以吃(x,y)是两种对象之间的可能关系。这些关联是与该领域的特定对象和现象相关的。
最顶层的Ontology问题
 
l      不同的系统使用不同的表示法
l      尽管存在差异,但是还是有一些共识:
     世界上存在着对象
     对象拥有属性,可以取值
     各种对象之间可能存在着各种关联
     属性和关联会随着时间改变
     在不同的时间会有不同的事件发生
     存在着对象参与的流程,而且不断地发生
     世界和对象会有不同的状态
     事件会成为其他事件和状态的起因
     对象是有其组成部分的
领域相关性
l    领域独立的Ontology和领域相关的Ontology之间并没有明显的界线。例如:对象、物理对象、设备、发动机和柴油发动机都是描述对象的术语,但是其领域相关性逐渐增强。同样,表述对象间关系的术语也在领域相关性上有所不同,如连接、电力连接、焊接。
任务相关性
l     Ontology的任务相关性如何?直观地看,各种事物的存在并不取决于我们的目标。从这种感觉上来说,Ontology并不依赖于任务。从另一方面来看,选择现实的哪些方面编码至Ontology中,这确实取决于任务。
l     例如:在水果领域,如果我们要开发的Ontology是用来挑选杀虫剂,那么我们的焦点可能会集中在某些方面;如果我们要开发的Ontology是用来帮助厨师挑选做菜用的水果,那么我们的注意力又会集中在其它的方面。
构造Ontology 的规则
l      目前已有的Ontologies 很多,出于对各自问题域和具体工程的考虑,构造Ontologies 的过程也是各不相同的。由于没有一个标准的Ontology 构造方法,不少研究人员出于指导人们构造Ontologies 的目的,从实践出发,提出了不少有益于构造Ontology 的标准,其中最有影响的是Gruber 1995 年在文献[17 ]中提出的5 条规则:
     明确性和客观性:即Ontology 应该用自然语言对所定义术语给出明确的、客观的语义定义。
     完全性:即所给出的定义是完整的,完全能表达所描述术语的含义。
     一致性:即由术语得出的推论与术语本身的含义是相容的,不会产生矛盾。
     最大单调可扩展性:即向Ontology 中添加通用或专用的术语时,不需要修改其已有的内容。
     最小承诺:即对待建模对象给出尽可能少的约束。
Ontology 的理论研究
l     Ontology 的理论研究包括概念及概念分类、Ontology 上的代数等,其中最有代表性的是Guarino 等人对概念及其分类进行的研究工作。
l     Guarino 等人在文献[ 15 18 ]对概念的分类做了深入细致的研究,从一般的意义上来分析什么是概念、概念的特性、概念之间的关系及概念的分类,提出了一套用于指导概念分类的可行理论。在该理论的基础上,他进一步提出了Ontology 驱动的建模方法,从而在理论上为建模提供了一个通用的模式。
Ontology 在信息系统中的应用
l    目前,信息检索技术可分为3 类[19 ] :
l    全文检索(Text retrieval)
l    数据检索(Data retrieval)
l    知识检索(Knowledge retrieval) 
各种信息检索技术的特点
l      全文检索的特点是把用户的查询请求和全文中的每一个词进行比较,不考虑查询请求与文件语义上的匹配,这种方式虽然可以保证查全率,但是查准率却大大地降低了。
l      数据检索的特点是查询要求和信息系统中的数据都遵循一定的格式,具有一定的结构,允许对特定的字段检索(例如:作者=“王刚) 。数据检索需要有标识字段的方法。数据检索的性能取决于所使用的标识字段的方法和用户对这种方法的理解,因此具有很大的局限性。数据检索支持语义匹配的能力也较差。
l      知识检索强调的是基于知识的、语义上的匹配,因此在查准率和查全率上有更好的保证。目前知识检索是信息检索研究的重点,特别是面向Web 信息的知识检索。
 
l    Ontology 具有的良好的概念层次结构和对逻辑推理的支持,因而在信息检索,特别是在基于知识的检索中得到了广泛的应用[19 ,20 ] 。
基于Ontology 的信息检索的基本设计思想
l     (1) 在领域专家的帮助下,建立相关领域的Ontology
l     (2) 收集信息源中的数据,并参照已建立的Ontology ,把收集来的数据按规定的格式存储在元数据库(关系数据库、知识库等) 中。
l     (3) 对用户检索界面获取的查询请求,查询转换器按照Ontology 把查询请求转换成规定的格式,在Ontology 的帮助下从元数据库中匹配出符合条件的数据集合。
l     (4) 检索的结果经过定制处理后,返回给用户。
Ontology 应用在信息检索中的著名项目
l      目前Ontology 应用在信息检索中的著名项目包括(Onto) 2 Agent[21 ] Ontobroker[22 ] SKC[23 ] 。这3 个项目也分别代表了3 个方向。
l      (Onto) 2 Agent 的目的是为了帮助用户检索到所需要的WWW上已有的Ontology ,主要采用了参照Ontology。参照Ontology 是以WWW上已有的Ontology 为对象建立起来的Ontology ,它保存有各类Ontology 的元数据。
l      Ontobroker 面向的是WWW上的网页资源,目的是为用户检索到所需要的网页,这些网页含有用户所关心的内容。
l      SKC 是一个正在进行的项目,其目标是解决信息系统语义异构的问题,实现异构的自治系统之间的互操作。该项目希望通过在Ontology 上建立一个代数系统,用这个代数系统来实现各Ontology 之间的互操作,从而实现异构系统之间的互操作。
Ontology 与语义Web
l     Berners-Lee 2000-12-18 XML2000 的会议上正式提出了语义Web[24 ]
l     语义Web 的目标是使得Web 上的信息具有计算机可以理解的语义,满足智能软件代理(Agent) WWW 上异构和分布信息的有效访问和搜索。
l     Berners-Lee 为未来的Web 发展提出了基于语义的体系结构-语义Web 体系结构。该体系中从底层到高层分别为[25 ] UNICODE URIXML RDFOntologyLogic Proof Trust
XML
l    XML 作为一种资源描述语言,由于其良好的可扩展性和灵活性,适合于表示各种信息,因而被广泛接受,已被认为是未来Web 上数据交换的标准。XML 不仅提供对资源内容的表示,同时也提供资源所具有的结构信息。但是,从方便信息搜索的角度看来,仅有XML 是不够的。
RDF
l    是W3C 推荐的用于描述和处理元数据的一个草案,能为Web 上的应用程序之间交互提供机器能理解(处理) 的信息。它独立于任何语言,适用于任何领域,是处理元数据的基础。
问题
l    XML 和RDF 在处理语义上存在两个问题:
l     (1) 同一概念有多种词汇表示;
l     (2) 同一个词有多种含义(概念) 。
解决方法
l     为了解决上述两个问题,很自然地需要引入Ontology
l     Ontology 通过对概念的严格定义和概念与概念之间的关系来确定概念精确含义,表示共同认可的、可共享的知识。
l     对于Ontology来说,Author Creator Writer 是同一个概念,而Doctor 在大学和医院分别表示的是两个概念。因此在语义Web 中,Ontology 具有非常重要的地位,是解决语义层次上Web 信息共享和交换的基础。
Ontology的一些描述语言
l     Ontology 的具体表示需要用描述语言来实现。目前有多种基于一阶逻辑的Ontology 描述语言,如Ontolingua Loom 等。对于Web 上的应用程序而言,需要一个通用的标准语言来表示Ontology ,以避免在各种描述语言之间的转换。
l     由于XML 已被认为是Web 上数据交换的标准语言,因此,一些研究人员开发了基于XML 语法的描述语言。这些语言包括[26 ] SHOEOML XOL RibowebRDFS OIL
  谢 !

posted on 2007-03-21 16:50  言午  阅读(555)  评论(0)    收藏  举报