知识本体方法体系构建的比较研究_语言描述论文

构建知识本体方法体系的比较研究,本文主要内容关键词为:本体论文,体系论文,方法论文,知识论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

【分类号】TP18 G250.76

构建知识本体(Ontology)的方法是当前知识本体研究中的热点问题。由于知识本体的构建多是面向特定领域,如果没有好的方法路线来指导,就难以在不同领域知识本体的构建中保持前后一致,也不利于知识本体的规模化和标准化建设。因此,关于知识本体构建方法的研究对于知识本体的应用具有至关重要的作用。

当前,还没有哪一套现行技术路线可以直接作为构建知识本体方法的标准来使用。M.Uschold(1996)[1]试图制定出一套构建知识本体的方法,但正如他在文章中指出的,他们并不是要给出一套规范性的指南,只是要表示这种方法在他们的研究环境下能很好地发挥作用。K.Mahesh(1996)[2]、Bateman(1993)[3]都给出了各自的知识本体构建原则。这些原则都是研究人员在各自的系统开发经验之上提出的,实际上,几乎每一个系统的开发都会导致一些不同的知识本体构建方案的产生。

出于对各自学科领域和具体工程的不同考虑,构建知识本体的过程各不相同。目前尚没有一套标准的知识本体构建方法。一般认为,Gruber在1995年提出的5条规则[4]是比较有影响的:

(1)明确性和客观性:知识本体应该用自然语言对术语给出明确、客观的语义定义。

(2)完整性:所给出的定义是完整的,能表达特定术语的含义。

(3)一致性:知识推理产生的结论与术语本身的含义不会产生矛盾。

(4)最大单向可扩展性:向知识本体中添加通用或专用的术语时,通常不需要修改已有的内容。

(5)最少约束:对待建模对象应该尽可能少列出限定约束条件。

目前,专家们都公认在构建领域本体(DO-Domain Ontology)的过程中,需要领域专家的参与和协作。以下介绍几种常见的知识本体构建方法路线。

1 7种构建知识本体的方法体系

1.1 TOVE法

TOVE法(http://www.eil.utoronto.ca/enterprise—modelling/tove/),又称Gruninger& Fox“评价法”。TOVE是指多伦多虚拟企业(TOronto Virtual Enterprise),专用于构建TOVE Ontology(是关于企业建模过程的知识本体)(Fox 1995,Gruninger 1996)[5,6],由多伦多大学企业集成实验室(Enterprise Integration Lab.)研制,使用一阶逻辑谓词进行集成。TOVE本体包括企业设计本体、工程本体、计划本体和服务本体。TOVE流程见图1。

图1 TOVE流程图[7]

(1)定义直接可能的应用和所有解决方案。提供潜在的非形式化的对象和关系的语义表示。

(2)将系统“能够回答的”问题作为约束条件,包括系统能解决什么问题和如何解决。这里的问题用术语表示,答案用公理和形式化定义回答,由于是在知识本体没有形式化之前进行的,所以又被称为非形式化的系统能力问题。

(3)术语的形式化:从非形式化系统能力问题中提取非形式化的术语,然后用知识本体形式化语言进行定义。

(4)形式化的系统能力问题:一旦知识本体内的概念得到了定义,系统能力问题就脱离了非形式化,演变为形式化的能力问题。

(5)将规则形式化为公理:术语定义所遵循的公理用谓词逻辑表示,包括定义的语义或解释。

(6)调整问题的解决方案,从而使知识本体趋于完备。

1.2 METHONTOLOGY法

METHONTOLOGY法,(http://delicias.dia.fi.upm.es/proyectos/en—curso/methontology—methodo/methontology—methodo—proyecto—Esp.html),专用于构建化学知识本体(有关化学元素周期表的知识本体)(Fernāndez等1996,Ferāndez等1999)[8-9],该方法已被马德里大学理工分校人工智能图书馆所采用。它的流程包括:

(1)管理阶段:这一阶段的系统规划包括任务的进展情况、需要的资源、如何保证质量等问题。

(2)开发阶段:分为规范说明、概念化、形式化、执行以及维护5个步骤。

(3)维护阶段:包括知识获取、系统集成、评价、文档说明、配置管理5个步骤。

用这种方法开发的知识本体有:

(1)(Onto)2Agent:是基于知识本体的Web代理,是使用参考本体作为知识源,在一定的约束条件下进行新知识获取的工具;

(2)化学本体(Chemical Ontology):是基于知识本体的化学教育代理,允许学生在学习的基础上自测本身在该专业领域内所达到的水平;

(3)Ontogeneration:使用化学领域本体和语言本体来生成西班牙语的描述,并把这些描述作为对学生关于化学领域问题查询的答案。

1.3 骨架法

骨架法(Mike Uscholddede & King,Usc95)[10],又称ENTERPRISE法(http://www.aiai.ed.ac.uk/project/enterprise/),专门用来构建企业本体(ENTERPRISE Ontology,是有关企业建模过程的知识本体)(Uschold等1996)。

建立在企业本体基础之上,是相关商业企业间术语和定义的集合,该方法只提供开发本体的指导方针。目前企业本体项目由爱丁堡大学人工智能研究所(AIAI—the Artificial Intelligence Applications Institute)及合作伙伴—IBM,Lloyd’s Register, Logica UK Limited和Unilever共同承担。骨架法流程见图2。

图2 骨架法流程图[7]

(1)确定知识本体应用的目的和范围:根据所研究的领域或任务,建立相应的领域本体或过程本体,领域越大,所建知识本体越大,因此需要限制知识本体的领域范围。

(2)知识本体分析:定义知识本体所有术语的意义及术语之间的关系,该步骤需学科专家的参与,对该领域越了解,所建知识本体就越完善。

(3)知识本体表示:一般用语义模型表示知识本体。

(4)知识本体的评价:建立知识本体的评价标准是清晰性、一致性、完善性、可扩展性。清晰性就是本体中的术语应被无歧义的定义;一致性是指术语之间关系逻辑上应一致;完整性,本体中的概念及关系应是完整的,应包括该领域内所有概念,但很难达到,但应不断完善;可扩展性,本体应用能够扩展,在该领域发展过程中能加入新的概念。

(5)知识本体的建立:对所有知识本体按以上标准进行检验,符合要求的以文件的形式存放,否则转回步骤(2),如此循环往复,直至对所有步骤的检验结果均达到要求为止。

1.4 KACTUS工程法

KACTUS工程法(KAC96)[11](http://web.swi.psy.uva.nl/projects/NewKACTUS/description/description.html)是基于KACTUS项目而产生的,KACTUS是指“关于多用途复杂技术系统的知识建模”工程(Modelling Knowledge About Complex Technical Systems for Multiple USe),是欧洲ESPRIT(注:欧盟领导下实施的研发计划是典型国际间或会员国内的共同研发计划,其中欧盟官方框架下的欧洲信息科技研究发展策略计划(ESPRIT—European Strategic Programme for Research and Development in Information Technology)具有指导性意义,该计划不但驻预算规模庞大,其创立过程与运作方式亦足以成为后续计划的典范。)框架下的研发项目之一,属于ESPRIT-III所支持的项目。支持EXPRESS和Ontolingua语言。KACTUS的发音与“Cactus(仙人掌)”一致,所以KACTUS项目在非正式场合也可以被称为“仙人掌项目”。KACTUS项目的起始日期是1994年元月份,为期30个月。

KACTUS的目的是要解决技术系统生命周期过程中的知识复用问题,KACTUS Ontology用CML语言描述,CML是“知识辅助机制设计系统”(KADS—Knowledge Aided Mechanical Design System)的工程语言。

(1)应用说明:提供应用的上下文和应用模型所需的组件。

(2)相关知识本体范畴的初步设计:搜索已存在的知识本体,进行提炼、扩充。

(3)知识本体的构造:用最小关联原则来确保模型既相互依赖,又尽可能一致,以达到最大限度的系统同构。

1.5 SENSUS法

SENSUS法(http://www.isi.edu/natural-language/projects/ONTOLOGIES.html)是开发用于自然语言处理的Sensus Ontology的方法路线[12],由美国南加州(USC)信息科学研究所(ISI-Information Sciences Institute)研制开发。ISI自然语言研究小组旨在为机器翻译提供广泛的概念结构。SENSUS为机器翻译提供概念结构,该本体系统用于自然语言程序,目前Sensus Ontology共包括电子科学领域的7万多个概念。为了能在SENSUS基础上构造特定领域的知识本体,必须把不相关的术语从中剪除。构建Sensus Ontology的方法路线如下:

(1)定义“叶子”术语(暂时还不属于Sensus Ontology的术语);

(2)用手工方法把叶子术语和Sensus术语相连;

(3)找出叶子节点到Sensus根节点的“路径”;

(4)增加和Sensus Ontology中的域相关但是还未出现在Sensus Ontology中的概念;

(5)用启发式思维找出全部特定域的术语:某些有两条以上的路经过的节点必是一棵子树的父节点,那么这棵子树上的所有节点都和该域相关,是要增加的术语。对于高层节点则通常有多条路径经过。

Sensus Ontology的术语构造流程见图3。

图3 SENSUS术语构造图

现已存在使用Sensus法构建的用于军事领域的知识本体,包括武器、原油、飞机等。

1.6 IDEF5法

IDEF5(http://www.idef.com/idef5.html)是美国KBSI公司(Knowledge Based Systems Inc.)开发的用于描述和获取企业本体的方法[13],英文叫做“IDEF5 Ontology Description Capture Method”。IDEF是“Integration DEfinition for Function Modelling”的首字母缩写,是指KBSI开发的一系列“面向功能建模的集成定义”项目。该系列项目已经由IDEF发展到了IDEF9。建模技术也已由传统的面向对象技术发展到了如今的知识本体构建技术及形式化语言描述。IDEF5通过使用图表语言(IDEF5 Schematic Ianguage)和细节说明语言(IDEF5 Elaboration Ianguage),获取关于客观存在的概念、属性和关系,并将它们形式化,作为知识本体的主要架构。

IDEF5图表语言是一种图形化的语言,其用途是为了使领域专家可以表达基于知识本体的最为通用的信息。IDEF5细节说明语言是一种结构化的文本语言,用来详细描述知识本体中的元素。

IDEF5构建知识本体的5个主要步骤是:

(1)定义课题、组织队伍;

(2)收集数据;

(3)分析数据;

(4)知识本体初步开发;

(5)本体优化与验证。

在知识本体的构建过程中,研究人员首先对叙词集(Descriptors,类似于数据词典)进行编目并建立了一个领域模型。这一模型是用上述叙词来描述的。为了构建知识本体,必须要做好三件事:

(1)对术语进行编目;

(2)获取用这些术语描述这一领域时的限制条件;

(3)建立一个模型,当在模型中加入一条特定的描述时,就会产生“适当的”附加描述声明。

所谓“‘适当的’附加描述声明”有两层含义:

(1)由于模型中可能会生成大量的声明,所以最先生成的应该是语境中那些“有用的”子集;

(2)这些描述性声明代表了智能代理所支持的最为典型的事实。模型在该领域中应该具有推理功能。因此,知识本体酷似一部数据词典,但是包含了语法和一个控制领域内概念关系的模型。

KBSI的研究人员认为:任何领域的本质特征都可以通过三个元素得到揭示:

(1)包含在特定领域里的特征对象和过程的词表;

(2)词表中基本术语的严格定义;

(3)术语间逻辑联系的特征表示。

知识本体是特定领域的一套拥有完整的精确定义、规则和术语含义约束的词表,这是为了确保知识复用时的一致性。IDEF5的方法提供了一种结构化的技术,利用这种技术,领域专家可以有效地开发和维护领域本体。IDEF5构建知识本体的方法在于获取现实世界客观对象的断言(Assertions,即定义),以及它们的属性和它们之间的内在联系(Interrelationships)。

1.7 七步法

斯坦福大学医学院开发的七步法(http://protege.stanford.edu/),主要用于领域本体的构建[14]。

第一步 确定知识本体的专业领域和范畴

先要明确几个基本问题:

(1)所构建的知识本体将覆盖哪个专业领域;

(2)应用该知识本体的目的?——更好地挖掘本领域的深层信息;

(3)知识本体中的信息能回答哪些类型的问题;

(4)该知识本体的用户与系统维护者是哪些人。

这些问题的答案随着知识本体设计过程的深入是可以随时调整的,但是在任何特定的时间段里,他们对于限制模型的范畴都是有帮助的,所以需要相对稳定。

(5)确定领域本体可以“回答”的专业问题,即系统能力问题(Competency Questions)。

第二步 考查复用现有知识本体的可能性

如果自己的系统需要和其它的应用平台进行互操作,而这个应用平台又与特定的知识本体或受控词表结合在一起,那么复用现有的知识本体就是最行之有效的方法。许多知识本体都有电子版本,而且可以输入到个人使用的知识本体开发系统中。即便一种知识表达系统不能直接以某种特殊的格式来工作,将知识本体由一种格式转换为另一种格式也并不困难。在Web上可以找到很多现成的知识本体文库(Ontology Library)。

第三步 列出知识本体中的重要术语

应该列出一份所有术语的清单,清单中的术语是需要解释给用户的。首先,需要一份最全的术语清单,此时暂不考虑概念间会有属性及表达上的重复。接下来的两个重要步骤是完善等级体系和定义概念属性(Slots),这两个步骤是密不可分、互相交织的。二者必须同时进行。这两个步骤在知识本体的设计进程中最为重要。

第四步 定义类(Class)和类的等级体系(Hierarchy)

完善一个等级体系有几种可行的方法(Uschold and Gruninger 1996):

自顶向下法:由某一领域中最大的概念开始,而后再将这些概念细化。

自底向上法:由底层最小类的定义开始,它们是这个等级体系的细枝末节,然后将这些细化的类组织在更加综合的概念之下。

综合法:综合上两种方法。首先定义大量重要的概念,然后分别将它们进行恰当地归纳和演绎。然后将它们与一些中级概念关联起来。

每位研究者要采取什么方法主要依赖于个人对这一专业领域的理解程度和观点。如果开发人员对某一专业领域具备一套自上而下的系统认识论,那么利用自顶向下的方法就会事半功倍。由于“中层概念”在领域的概念中应该更具代表性,所以综合法对许多知识本体的开发者而言最便捷。如果想要收集到更多更广泛的实例,那么自底向上的方法更加适合。最终,无论选择哪种方法,都要从定义类开始。

第五步 定义类的属性

只有类的体系根本不足以提供系统能力问题所需的答案信息。一旦定义好了一些类,就必须开始描绘概念间的内在结构。首选从来自第三步的术语列表中选择好类。绝大多数剩下的术语可能是这些类的属性(Properties)。通常,有几种对象属性的类型能够成为一个知识本体中的属性:

(1)“内在”属性(“Intrinsic”Properties),例如某种花卉的颜色。

(2)“外在”属性(“Extrinsic”Properties),例如某种花卉的产地。

(3)如果对象是结构化的,那么它的一部分,可以是既具体又抽象的元素。

(4)与其它个体的关系;在此是指类中的个体成员与其它类之间的关系。

任意一个类的所有子类都会继承该类的属性。

第六步 定义属性的分面(Facets)

一个属性可能由多个不同的分面组成。分面用来描述取值的类型(Value Type)、容许的取值(Allowed Values)以及取值的个数(Cardinality集的势,基数)和有关属性取值的其它特征。

第七步 创建实例

定义某个类的一个实例需要:

(1)确定一个类;

(2)创建类的一个实例;

(3)添加属性值。

2 7种方法体系的比较

IEEE 1074—1995标准是软件开发生命周期的标准,并不是知识本体构建方法的标准。但是从广义上讲,知识本体构建方法也属于知识工程领域中的一种软件开发方法。将上述7种方法体系与IEEE 1074-1995标准进行比较,可以发掘现有知识本体构建方案作为软件开发方法的不完善之处,以及它们不同于一般软件开发方法的特别之处。

首先,比较一下上述7种方法体系与IEEE 1074-1995(IEEE-1074)的区别(见表1)。

表1 7种方法体系与IEEE标准的一致性比较

项目 工程管理

开发

需求 设计 执行 开发后期统一阶段

名称 阶段 前期

分析

不全,没有

训练、环境

TOVE法没有

没有

有有有没有学习和配置

管理

不全,没不全,没有 不全,没有

METHONT

有建立 没有

有有有安装、操作、训练、环境

OLOGY法

工程环 支持、维护 学习

境阶段 和训练阶段

不全,没有

训练、环境

骨架法没有 没有 有 没有有 没有 学习和配置

管理

KACTUS法 没有 没有 有 有 有 没有 没有

SENSUS法 没有 没有 有 没有有 没有 没有

IDEF5法

没有 没有 有 有 有 没有 不全

不全,没

有建立

七步法工程环没有 有

有 有 不全 不全

境阶段

通过表1和表2中的比较分析,可以看出:

表2 7种方法体系的相互比较

┌─────┬─────┬──────┬─────┬────┬───┐

│ 项目 │ │ 与IEEE标 │ │知识本体│方法的│

│名称 │ 生命周期│ 准的一致性│相关技术 ││ │

│ │ ││ │的应用 │ 细节│

├─────┼─────┼──────┼─────┼────┼───┤

│ │不是真正的││ ││ │

│ TOVE法

│ │不完全一致 │不确定│一个域 │ 少 │

│ │生命周期 ││ ││ │

├─────┼─────┼──────┼─────┼────┼───┤

│METHONTOL │ ││ ││ │

│ OGY法

│有│ 不完全一致│ 有,不全│ 多个域│ 详细│

├─────┼─────┼──────┼─────┼────┼───┤

│骨架法│没有 │ 不完全一致│ 不确定 │一个域 │ 很少│

├─────┼─────┼──────┼─────┼────┼───┤

│KACTUS法 │没有 │ 不完全一致│ 不确定 │一个域 │ 很少│

├─────┼─────┼──────┼─────┼────┼───┤

│SENSUS法 │没有 │ 不完全一致│ 不确定 │多个域 │ 一般│

├─────┼─────┼──────┼─────┼────┼───┤

│IDEF5法

│没有 │ 不完全一致│ 不确定 │多个域 │ 详细│

├─────┼─────┼──────┼─────┼────┼───┤

│ │不是真正的││ ││ │

│七步法│ │ 不完全一致│有│多个域 │ 详细│

│ │生命周期 ││ ││ │

└─────┴─────┴──────┴─────┴────┴───┘

(1)与IEEE标准相比较,没有一种方法体系是完全成熟的。

(2)7种方法均允许在系统间进行互操作。

(3)任何方法都提供知识共享和复用的机制。

(4)7种方法体系的成熟度依次为:

七步法、METHONTOLOGY法>IDEF5法>TOVE法>骨架法>SENSUS法、KACTUS法。

3 结论

综合上述7种方法体系,知识本体的构建原则可以总结如下:

(1)知识本体的构建要面向特定的应用目的。

(2)知识本体的构建应该基于一定的专业领域、学科背景或研究课题。

(3)知识本体中包含的概念数目应该尽可能的最小化,尽可能地将冗余去除。

(4)知识本体的规模应该是有限增长的。

(5)知识本体中“类”的设计应当秉承独立性原则,即这个类可以独立存在。不依赖于某个课题或者某个学科专业。

(6)类的设计还应当秉承共享性原则,即类一旦被确立,就一定有被复用的可能和必要。

为了在构建知识本体中实现以上原则,可以采用以下的一些相关技术手段:

(1)领域分析:在构建知识本体之前需要进行详细的领域分析。领域分析所得的领域概念应该是涵盖了该领域绝大部分知识重点的一个最少量的概念集合,同时这些概念具有最小化的概念冗余。所谓概念的冗余度是两个概念相似的程度,两个概念的冗余度大则表示这两个概念具有相近的意义。当冗余度达到一定的域值时,就认为这两个概念可以只取其中一个。

对于相似概念,根据概念的特征表来计算概念间的冗余度。在概念的特征表中,概念由一些概念特征来表征。为了计算两个概念的冗余度,首先要用模糊特征矩阵来表征概念,而后利用特征矩阵中特征值的欧氏距离来计算概念间的冗余度,距离越大则冗余度越大。

(2)知识本体的合并:如果若干知识本体的上层类相对一致,那么只需要在层次结构的某一个或几个分支下增加新概念。这样可以分别对不同领域进行知识本体设计,然后组合在各自的分支下面。利用知识本体的可复用性,我们可以面向领域分别开发各自的领域本体。

在合并知识本体时,首先需要考察不同领域间的交叉性,是否能导致部分概念的删除;然后考虑一些相似概念间的冗余是否大到足以排除一部分概念。

(3)概念增加:概念增加是知识本体构建中非常关键的一个方面,知识本体是表示概念的关系“网络化”组织。除了要设计一个好的表示形式之外,最重要的是要决定在这个网络中应该包含哪些概念。由于概念间可能的关联数目十分巨大,每增加一个概念都可能会增加很多新的关联,导致这一网络结构的进一步复杂,因此控制知识本体中概念的数目十分重要。

事实上,对于构建一个真正的知识本体来说,没有一种“唯一”的途径或方法。首先,需要强调几条设计知识本体的基本法则,它们说起来相当教条,但是却很有实用价值:

(1)任何专业领域中,都不存在一种唯一适合的途径或模式——其实可能有好几种方法都可行。最佳的方法依赖于所采用的应用软件以及可以预见的扩展功能。

(2)知识本体的开发和完善是一个反复叠加的过程。

(3)无论从客观世界具体的角度或者是从逻辑抽象的角度出发,知识本体中概念的设计都应该贴近于研究者要研究的专业领域中,客观对象和对象间的关系法则。对应于客观对象的概念,其词性应该是名词;对应于关系法则的概念,其词性应该是动词。

标签:;  

知识本体方法体系构建的比较研究_语言描述论文
下载Doc文档

猜你喜欢