原型进化法:领域本体建设方法研究,本文主要内容关键词为:本体论文,原型论文,领域论文,方法论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
由于领域本体(Domain Ontologies)在知识组织和语义网的体系中占有核心地位,所以引起人们高度的重视。所谓本体,一种通行的描述是:本体是对概念模型的明确规范的描述[1]。因此可以认为,本体就是概念模型的一种描述形态。ER模型也是概念模型的一种图示化的描述形态,但是,与ER模型不同的是,本体主要是面向计算机的,因此,在描述手段上更加强调明确而无歧义。
目前,领域本体的建设尚处于初始阶段,本体开发中存在着诸多问题。主要有:
(1)需求难确定
本体的普遍概念和积极作用已经为广大研究者所共识,但是,领域本体的具体需求究竟是什么?目前还很难描述清楚。原因之一,本体是一个领域的概念模型,是为不同应用之间的交互提供共同的语义基础,领域本体虽然要为一定的应用服务,但它并不依赖于某个具体的应用。正是由于本体的这种基本特性,使得本体的需求难以确定,从而直接导致本体边界的模糊和建设过程的无计划性。
(2)过程无规范
同任何科学研究活动一样,领域本体建设需要科学方法的指导,需要遵循一定的规范和程序。然而,目前领域本体建设尚无形成合适的科学方法,也没有一套规范的操作程序,使得当前的本体建设只能依赖于领域专家来完成。这种状况难以满足飞速发展的应用需要。领域本体的建设也是一种开发过程,应该借鉴软件开发的经验,注重开发过程的规范性和有序性。
(3)共享无保证
本体建设也是人类知识机器化积累的一个过程,需要考虑本体的共享和复用。领域本体作为领域的概念模型,应能解释数据库中的数据对象(实例),如同数据库的模式能够解释数据库中的数据。但是,本体和实例之间的联系是最难以建立和维护的。
(4)评价无标准
目前对本体的评价尚无公认的标准,无法对形成的本体进行科学合理的评价。没有合适的评价,将直接导致本体的进化没有依据。
上述问题直接影响到本体的开发利用,因而有必要深入研究本体建设的过程和方法。本文第2节讨论领域本体建设的基本活动,第3节提出领域本体建设的原型进化法,第4节和其他本体开发方法进行比较。
2 领域本体建设过程的基本活动分析
领域知识无穷无尽,数据也难以计数。如何才能从浩繁的资料中抽取、整理出领域本体?参照信息系统中概念模型设计的过程,领域本体建设的基本活动包括:
(1)需求分析。确定领域本体应用的目的、范围、表示方法和用途等。领域本体建设要以应用需求为牵引,要对人类在认识世界的过程中所形成的不同“本体”(知识体系)进行认真的分析。
(2)概念化。通过各种渠道获得领域本体的主要概念,确立概念间的等级关系,并用精确无歧义的术语加以描述,生成该领域本体的核心语义内容。
(3)编码。利用形式化描述语言对“概念化”的领域本体进行编码,使得机器易于处理。尽量将相关领域内已经存在的本体集成到自己的领域本体中,一方面避免重复建设,一方面可通过交流合作形成领域内共享的本体。
(4)确认与评价。对领域本体需要按照一定的标准进行确认和评价,包括本体的清晰性、一致性、可扩展性等方面。
(5)维护与进化。随着领域知识的增加,本体需要不断更新,不断进化,增加本体概念,完善本体概念间的语义关系。
3 原型进化法
本体开发作为一种新型的软件活动,应该遵循软件工程的思想,借鉴软件工程的经验。软件工程思想的核心有两点,即标准化的表达方式和规范化的工作步骤。与一般的软件开发相比,本体的构建更强调共享和复用,因此本体的标准化更为重要,工程性也更为明显。
一种比较流行的看法是,本体建设应由领域专家来完成(类似于大百科全书的编纂),才能保证本体语义的正确性和完整性。但是,相对于大百科全书的编纂,本体建设的工程更加浩大,计算机需要知识的形式化的精确定义,需要更多的关联来进行推理。因此,更需要让对信息技术有所了解又非领域专家的知识工程师来参与本体建设。从另一个角度讲,一个完善的本体不是一次性就能完成的,因此,本体建设更强调进化性。需要先确定领域本体中的核心概念和关系,构成一个可用的本体原型,然后按照原型进化的方法,逐步地对本体进行扩展与完善。
本体原型没有必要从零开始,因为各个领域都有相应的知识组织体系,如分类/主题词表就是一种可利用的本体原型。本体原型的进化可以从这里开始。
一个本体原型的构建大致包括需求分析、制定计划、实施领域本体建设、确认与评价、进化五个过程:
3.1 需求分析
这一阶段需要明确领域本体建设的目的、范围、用途和使用者。尽管本体不依赖于具体应用,但是,本体原型却可以从具体应用的需求中获得,这样可以减少本体边界模糊性所带来的建设困难。其应用需求主要包括:所构建的本体将覆盖哪个学科领域?本体的建设目的是什么?利用本体的用户有哪些?本体将提供什么样的服务?等等。更为重要的,还要调查目前的本体原型在哪些方面不能满足应用的需要?
为了指导本体建设的后续工作,应该编写一份领域本体建设的“需求分析说明书”,以文档的形式明确需求分析的结果,作为该阶段的成果。
3.2 制定计划
针对需求说明书中的各项要求,制定出本体建设的“项目计划书”。主要包括:建设目标、方式方法、任务要求、工作分配、时间要求、工作指标等。
制定计划是本体建设过程中必不可少的重要步骤,目的是用一套程序和标准来规范开发过程,让研究者和建设者了解其目标和所要做的工作,将偏离目标的损失减至最小,使本体建设置于一种规范化、可视化、可控制的管理之中,提高本体研究与建设的效率。本体建设计划的关键是计划的合理编制和有效执行。
3.3 实施领域本体建设
这个阶段是按照“需求分析说明书”和“项目计划书”的要求开始工作。实施阶段可以细分为以下步骤:
(1)获取领域信息
获取领域信息是本体建设的基础和前提。通过收集领域信息,可以充分了解领域知识的现状,有利于领域本体的构建。为本体建设奠定基础。获取领域信息大体有两条路径,一是复用并改造现有本体。通常的方法也最行之有效的方法是复用已经广泛使用于各个学科领域的主题词表(也称叙词表)和分类表。二是利用相关方法与途径获取。例如可以组织领域专家承建,领域专家通晓本领域学科体系和知识,能够较为准确的描述与提供领域本体的基本信息;或者利用知识获取工具从数据库中提取,学科领域现有的不同类型的数据库可以看作是领域的知识源,通过一些知识获取技术从现有的数据库中提取专业术语,挖掘、发现学科的基本知识。如果将上述两种方式结合起来,可以使领域本体信息的获得更为完整和精确。
(2)确定重点概念和关系
在获取领域信息之后,提出该领域中的重点概念和概念之间的关系,并用精准的术语表达出来,经过领域专家的确认,作为领域本体的核心概念集。由于领域专家的参与程度不同,知识工程师的领域知识背景也参差不齐,所以这个过程并不强求得到能反映领域知识的最关键、最全面的概念及关系。但应该满足以下两点基本要求:
第一,确定的重点概念及关系一定是与领域相关的。领域的边界往往是模糊的,其相关程度并不容易确定,这里只要求对相关程度可以解释。如:目的是创建数据库学科领域的本体,“国际贸易”这个概念就是不相关的,而“关系代数”这个概念则是相关的,因为可以解释为“关系代数是关系数据库的数学基础”。
第二,能够采用精确的术语表达重点概念及关系。领域本体的目的是为领域知识的交换提供共同的语义标准,术语要经过精心选择,既不能口语化,又不能生涩艰深。基本的要求是,术语应该是无二义性的。
确定重点概念及关系的过程,可以参考骨架法中提出的middle-out方法,不要求概念的选择是自底向上或自顶向下。因为在领域知识中要确定哪些是顶部概念、哪些是底部概念是非常困难的。在识别概念时,可不必受这种约束,尽量发现最基本、最常见的概念及关系就可以了。
在这个阶段,应编制一份“术语集”,把选择术语的过程加以描述,罗列出最终选定的术语,并对每个术语赋予相应的自然语言描述。
(3)形式化编码
即用精准的术语描述领域中的重点概念及关系。目前多采用的是基于逻辑的描述方法,如描述逻辑(Description Logic)[7]即是其中的重要方法。描述逻辑是一种知识表示语言,它吸取了KL-ONE的主要思想,是一阶谓词逻辑的一个可判定子集。与一阶谓词逻辑不同的是,描述逻辑系统能提供可判定的推理服务。在众多知识表示的形式化方法中,描述逻辑一直受到人们的特别关注,其主要原因在于:描述逻辑虽然不如一阶逻辑的表达能力强(因为只是一阶逻辑的一个子集),但是,它能满足本体知识表达的需要,更为重要的是,描述逻辑的推理过程总是能够在有限时间内结束并返回正确的推理结果。而且,描述逻辑的语法容易转换成XML/RDF形式,因此基于描述逻辑的本体模型更适合Web环境下概念建模与知识共享。目前流行的几种本体描述语言都是以描述逻辑为基础的。
本体的形式化编码阶段就是用选定的本体描述语言来编写本体,为了提高本体编码效率,可以使用一些辅助工具来完成。但重要的是,应将选择的术语和本体描述语言中的元本体准确的对应起来。这里建议采用标准的本体描述语言,是为了更好的实现本体的共享和复用。编码过程结束之后,应该把编码过程和编码结果以文档的形式保存下来,为本体共享提供规范的文档。
(4)集成相关本体
共享和复用是本体的重要特点。本体的构建还应该通过调研获取该领域的现有本体,加以复用。复用现有本体中已经构建好的定义时,需要注意:查看元本体,选择适合自己概念模型的;选择和自己概念模型中语义一致的术语定义。其中涉及的关键技术是“本体的映射”。
该阶段对应的文档是“集成说明书”。针对每个集成的本体,该文档应描述其元本体、术语集、形式化的本体描述、以及集成在自己本体中的位置等信息。
3.4 确认与评价
经过上述阶段,已经建立了一个初步的核心本体。对应于软件开发过程的测试阶段,本体也需要确认与评价。[2]中总结本体的设计标准包括:清楚(Clarity)、一致(Coherence)、可扩展性(Extensibility)、最小本体的承诺(Minimal ontological commitment),只不过在其设计标准中并没有指出具体的评价方法。目前也没有通用的本体确认和评价的标准方法,更谈不上标准测试集。如同软件工程,一般需要对本体的正确性和有效性进行评价。评价的内容主要包括最小的编码偏差(Minimal encoding bias)、建设好的本体库和建设过程中的文档。
3.5 进化
经过确认和评价的本体是进化模型中的阶段性成果,整个模型是螺旋上升的,这非常符合本体进化的属性。领域知识几乎是无穷尽的,领域之间总是存在交叉,其边界是模糊不确定的。对于一般的研究机构和应用单位而言,一次性建成大而全的本体,既费时费力,也是不现实的。只有通过原型法,先构建出可用的核心本体,再在使用过程中不断扩展。
本体进化方式有多种,可以是在计算机系统的辅助下集成新的本体;由专家/知识工程师手工定义新的概念和关系;或者通过机器学习和知识发现等方法发现新的知识(概念和关系)。
在本体进化中,最困难的是如何处理那些已经按照原有本体建设的资源,这需要一些自动化或者半自动化的工具的支撑。正如用原型法开发软件一样,需要强有力系统的支撑。
同时,在语义网的建设中,了解领域本体建设情况的专业人员在标注过程中会不断发现新的概念和关系,如果能把标注过程和本体建设过程结合起来,就可以非常容易的实现本体进化。这种进化过程比专家定义容易操作,比机器学习准确规范。但它需要合适工具的支持。这部分内容将另文讨论。
4 本体建设方法的比较
本体建设的方法已经成为一个新的研究热点,在本体建设项目的实践中产生了一些方法。由于学科领域不同,具体的应用也不同,其建设过程也各不相同。本节将简要介绍现有的本体建设方法,并将这些方法和原型进化法进行比较。
4.1 几种常见的本体建设方法
(1)IDEF-5法
“IDEF”概念于70年代提出。作为一种方法,“IDEF”是在结构化分析方法的基础上发展起来的。在1981年美国空军公布的ICAM(integrated comp“IDEF”uter aided manufacturing)工程中,首次使用了名为“IDEF”的方法。IDEF是ICAM DEFinition method的缩写,到目前为止,它已经发展成了一个家族。
IDEF5[6]是通过图表语言和说明语言的方式来获取某个领域的本体。IDEF5的图表语言表达能力有限,但是直观而容易被理解;IDEF5的说明语言是一种具有很强表达能力的文本语言,可以描述图表语言内深层次的信息,从而弥补图表语言的不足。IDEF家族中的其他方法还提供了对一些特殊语义的描述,例如IDEF3可以对事件(过程)语义进行准确描述,并提供过程流图和对象状态转移网图(OSTN)这两种图表来获取、管理和显示过程。
IDEF-5提出的本体建设方法包括以下五个步骤[6]:
·组织和范围:确定本体建设项目的目标、观点和语境,并为组员分配角色。
·数据收集:收集本体建设需要的原始数据。
·数据分析:分析数据,为抽取本体作准备。
·本体的初始化:在数据分析的基础上建立一个初步的本体。
·本体的精炼与确认:完成本体建设过程。
(2)骨架法
骨架法(Skeletal Methodology)[2]是建立在企业本体基础之上,是一个相关商业企业间术语和定义的集合。该方法只提供开发本体的指导方针。包括如下步骤:
·确定目的和范围:该阶段需要确定建立本体的目的和范围。
·建设本体:本体建设的实施,包括本体捕获、本体编码和本体集成。
·评价:认为评价应是整个方法的一个环节。但没有提出相应评价方法。
·文档化:将本体中定义的主要概念、元本体等形成文档。
·每阶段的指导方针。提出本体开发的指导方针,主要包括:清楚、一致可扩展性、最小本体的承诺、最小的编码偏差。
(3)企业建模法
企业建模法[3]是多伦多大学EIL(Enterprise Integration Laboratory)实验室的研究人员在TOVE项目中提出来的,其目标是建立一套为商业和公共企业建模的集成本体。作为该项目的一部分,他们设计了一套创建和评价本体的方法。主要分为以下步骤:
·激发场景:给出一个应用领域的场景,以助于理解本体的建设动机。
·非形式化的能力问题:提出本体回答的各种问题,作为需求。通过指明能力问题和场景之间的关系,来判断是否需要扩展本体,或者现有本体是不是可以涵盖所提出的非形式化问题。
·术语的规范化:从非形式化能力问题中提取非形式化的术语,然后用Ontology形式化语言进行定义。
·形式化的能力问题:把非形式化的能力问题用形式化的术语定义出来。
·形式化公理:将本体中的公理用一阶谓词逻辑表示出来。
·完备性定理:当能力问题被形式化表述之后,定义在什么条件下这些问题的解决方案是完备的。
(4)METHONTOLOGY
METHONTOLOGY方法[4]是马德里大学在开发人工智能图书馆时使用的方法。该方法是在骨架法的基础上提出的一种更为通用的本体建设方法。基本流程如下:
·规格说明书:该阶段要产生一份以自然语言编写的非形式化的、半形式化的或者形式化的本体规格说明书。至少包括以下信息:本体的目的(预期的用途、场景和最终用户等)、实现本体的形式化程度、本体的范围(包括要表达的术语集、它们的特性和粒度)等。
·知识获取:通过专家、书籍、手册、数字、表格乃至其他本体获取知识信息。其获取方法包括头脑风暴法、访谈、文本的形式化或非形式化的分析和一些知识获取工具。
·概念化:将领域知识组织成概念模型,用规格说明书中识别的领域词汇来描述问题。
·集成:复用其他本体,复用时需要选择适合自己概念模型的元本体,选择和自己概念模型中语义一致的术语定义。
·实现:用形式化的语言对本体编码。本体的实现需要一套开发环境的支持,至少包括:词法和语法分析器、翻译器、编辑器、浏览器、搜索器、评价器、自动维护工具。
·评价:在本体生命周期的每个阶段和阶段之间,利用某种参考框架对本体、软件环境、文档进行技术判断。评价指标包括正确性(verification)和有效性(validation)。
·文档化:在本体建设的每个阶段都应该有对应的文档。
(5)循环获取法
循环获取法(Cyclic Acquisition Process)[5]的基本流程如下:
·选择数据源:选择一个通用的基础本体,并确定用于抽取领域相关实体的文本。这是环形的起点。
·概念学习:从选择的文本中获取领域相关的概念,并建立概念之间的分类关系。
·领域聚焦:除去领域无关的概念,只留下与领域相关的概念,建立起目标本体的概念结构。
·关系学习:除了从基础本体中继承的一些关系,需要通过学习的方法从文本中抽取其他的关系。
·评价:对领域相关的本体进行评价。可以进一步重复上述过程,进入一个新的循环。
4.2 分析与比较
与现有的本体建设方法相比,本文提出的原型进化法具有如下特色:
(1)突出本体边界的模糊属性,采用middle-out的建设过程。
本体建设不求大而全。在本体建设的初始阶段,不需强调概念的完整性以及他们在本体中的位置,可优先选用核心概念,只求满足基本需要,尽可能降低领域专家的参与程度,但要同时考虑本体在使用过程中的不断进化。
(2)突出本体的应用属性,强调需求分析阶段的重要性。
本文的方法强调本体建设需求分析的重要性。在本体实施之前,经过需求分析和制定计划,以确保本体建设的针对性和效用性,保证本体建设过程的规范性和可控性,并有利于本体建设工作的可持续性发展。
(3)突出本体的进化属性。
本文的方法强调领域本体是在不断满足应用需求的过程中进化的。本体的构建是一个不断完善的、螺旋上升的、有序而系统的发展过程。进化是本体的生命所在。
(4)突出本体建设过程的规范化,文档化工作贯穿于领域本体建设的各个阶段。
软件工程的实践已经证明,文档和程序同样重要。现有的本体建设方法也很重视文档,将其作为一个独立的阶段。本文认为,文档不只是事后的总结,它应该贯穿于本体建设的始终,发挥规范、控制、指导、总结等各方面的作用。软件开发的经验也表明,规范的文档集能更好的支持本体的共享和复用。
5 结束语
本体是面向领域的通用概念模型,为不同应用之间的交互提供共同的语义基础。领域本体虽然要为一定的应用服务,但它并不依赖于某个具体的应用。正是由于本体的这种基本特性,使得本体的需求难以确定,从而直接导致本体边界的模糊和建设过程的无计划性。为了解决这一问题,本文提出了原型进化法,从现有的本体(原型)出发,根据某些确定的应用需求来扩展本体,进化本体。这种原型进化法使得本体建设过程变得具体、可控。同时,作为一个新型的软件活动,进化过程的规范和文档也应高度重视。当然,进化过程需要强有力工具的支撑,这是我们需要重点研究讨论的课题。