殷美
摘要:介绍了国外一些著名的领域本体构建方法及本体构建中存在的问题;介绍了软件工程中螺旋开发模型。通过借鉴其它领域本体的构建方法及螺旋开发模型,提出了一种新的工程化的领域本体构建方法并通过构建高校教务管理领域本体检验其有效性。
关键词:本体;构建方法;螺旋模型
中图分类号:TP391文献标识码:A文章编号:1009-3044(2012)24-5913-04
Research on Domain Ontology Building Method
YIN Mei
( Institute of Information Engineering, Lianyungang Technical College, Lianyungang 222000, China)
Abstract: This paper introduces the basic concept of the domain ontology, domain ontology construction method and some problems in Constructing Ontology; introduced the software engineering spiral development model. Through drawing lessons from the other domain ontology construction method and a spiral development model, put forward a kind of new project of domain ontology construction meth od.
Key words: ontology; construction method; spiral model
1本体构建方法
本体原本是哲学上的一个概念,主要探讨现实世界的基本特征。近年来,人工智能、语义web相关领域的学者也开始将本体论的观念用在知识表达上,使其成为一种能在语义和知识层次上描述信息系统的概念模型的建模工具。目前Ontology已经被广泛应用到包括计算机科学、电子商务、数据挖掘、智能检索等在内的诸多领域。特别是做为语义Web的关键技术之一,本体及其相关技术已成为研究热点。领域本体描述的是特定领域(医学、地理、生物等)中的概念及概念之间的关系。
本体的构建主要有三种模式:一是人工模式,由领域专家借助工具完成本体构建;二是半自动模式,基于大量领域数据,在领域专家的协助下完成本体构建;三是自动模式,运用数据挖掘、人工智能等方法,基于大量的领域数据完成本体构建。上述三种模式各有优劣,人工模式代价较大,所构建的本体灵活性不足;自动模式构建的本体实施难度较大、准确性不高;而半自动模式可行性较好,已有不少专家提出不同的构建方法。目前业界公认的,为大家所熟知的本体构建方法[1]有:
1)IDEF-5方法
1980年美国空军公布ICAM工程中首次使用IDEF名称,是在结构化分析和设计方法为基础上发展的一套系统分析和设计方法。IDEF-5是其中一个版本,它通过图表语言和细化说明语言两种语言形式来获取某个领域的本体,通过过程流图和对象状态移动网图两种图表来获取、管理和显示过程[2]。基本流程如下:组织并确定范围;数据收集;数据分析;初始化本体建立;本体的精炼与确认。
2)Skeletal Methodolody骨架法(Uschold方法)
Mike Uschold & Micheal Gruninger的骨架法(Skeletal Methodology),专门用来创建企业本体,是相关商业企业间术语和定义的集合。基本流程如下:确定本体应用目的和范围;建设本体;评价;文档化。
3)Methontology方法
Methontology方法是Mariano Fernandez & GOMEZ-PEREZ等的人在开发马德里大学人工智能图书馆时提出的一种更为通用的本体建设方法。它结合了骨架法和GOMEZ-PEREZ方法,更接近软件工程开发方法。基本流程如下:规格说明书;知识获取;概念化;集成;实现;评价;文档化。
4)循环获取法
Alexander Maedche等的循环获取法是一种类似环状的结构。基本流程如下:资源选取;概念学习;领域集中;关系学习;评价;如此循环。
5)七步法
该方法由斯坦福大学医学院开发的主要用于领域本体的构建。基本流程(七个步骤)如下:确定本体的专业领域和范畴;是否可以复用现有本体;列出本体中的重要术语;定义类和类的等级关系;定义类的属性;定义属性的分面;创建实例[3]。
不管是哪种构建方法,领域专家在构建本体时都应遵循以下原则[4]:术语清晰、推理一致、可扩展性、最小编码、本体约定最小。
2目前本体构建中存在的问题
目前的领域本体构建还处于探索性研究阶段,在这个过程中还存在许多问题,主要问题有:
1)手工构建,自动化程度不高。
目前本体的构建方法主要依赖领域专家与本体研究小组的手工构建,多数起源于某一具体的开发项目,如Methontology方法、七步法等。开发代价较大,所构建本体只适用于特定项目范围,灵活性及自动化程度不高。
2)无统一构建标准,本体难以重用和共享。
目前每个本体开发团队都有自己的本体建模标准、开发指导原则、设计标准,难以实现本体的共享和重用。知识工程界定义统一本体构建标准,已成为研究重点。
3)无统一评价标准。
目前尚无统一的评价方法和工具,国内外专门对于本体评价的理论研究也相当少。而在本体构建的每个生命周期都应进行合理的评价,有助于本体在下一周期的进化。
3螺旋开发模型
螺旋模型[5]是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。它的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。采用螺旋模型的软件过程如图1所示。
图1采用螺旋模型的软件过程
螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:
1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
3)实施工程:实施软件开发和验证;
4)客户评估:评价开发工作,提出修正建议,制定下一步计划。
螺旋模型支持用户需求的动态变化,为用户参与软件开发的所有关键决策提供了方便,有助于提高目标软件的适应能力。其生命周期的不断进化和本体的构建过程是非常相似的。
4工程化的领域本体构建方法
我们详细研究了上述几种本体构建方法,发现骨架法主要提供了本体开发的指导思想,对细节描述较少,七步法更多描述的是怎样形式化表示知识,对前期知识的收集、分析以及开发人员与领域专家怎样合作表述不够详细[6]。而在实际工作中,如果得不到领域专家的指导,开发人员往往不能按计划完成任务。因此该文结合上述本体构建方法及参照软件工程的螺旋开发模型的迭代特点,得出适合工程化的领域本体的构建方法所图2所示,在得不到领域专家的指导的情况下,由开发人员先快速开发出原型本体,在通过后续的进化工作进化本体,同时在构建的过程中考虑该领域本体库中是否有现有本体可以共享和重用[7]。我们以构建高校教务管理领域本体为例,通过它来具体实现工程化的领域本体构建方法。
图2本体开发过程
第一步本体领域设定。主要包括确定本体将覆盖的专业领域、应用目标、作用范围、系统维护者与应用对象。在此过程中要注意把握领域范围的大小,一味扩大本体范围会增加开发成本及工程开发难度;本体范围太小无法满足实际需求,所以应尽量使本体在较小范围内最大满足实际需求。高校教务管理领域本体主要是把现实世界中有关教务管理的活动(课程、学生、教师、教学资源等之间的关系)抽象为一组概念及概念之间的关系。构建该本体的作用是方便教务管理者统一、合理的分配教学资源并为优化教学资源提供决策。本体的系统维护者是教务处的工作人员,应用对象是最终用户,即广大教职工和在校学生。
第二步确定概念、关系等。这一步主要包括列出本体中的重要术语、概念;定义领域中概念及概念之间的关系;定义类的属性;定义本体的层次结构。在此过程中重点是确定领域本体的核心概念,要保证核心概念及其关系一定是该领域相关的并且可以用精确的术语表达出来。下面列出教务管理领域本体的重要术语、概念、概念之间的关系、类的属性、层次结构。
1)重要术语、概念。概念所代表的客观事物可以是具体的,也可以是抽象的。在教务管理领域本体中包括的重要术语、概念有:课程;教师;学生;所选课程;成绩;教学日历;教学考核;教师培训;教学设备;教材等。
2)概念及概念之间的关系。概念及概念之间的关系主要有四种:part-of;kind-of;instance-of;attribute-of。我们通过分析,在教务管理领域概念及概念之间的关系主要有:
<1>part-of:表达概念之间部分与整体的关系。例如:教学资源是整体概念,教学设备,教材,教室是教学资源的一部分。
<2>kind-of:表达概念之间的继承关系。例如:教学日历与教学材料是继承关系;教学考核,教师培训与教务过程是继承关系。
<3>instance-of:表达概念的实例与概念之间的关系。例如:20020206019是学号的一个实例;陈芳是教师姓名的一个实例。
<4>attribute-of:表达某个概念是另一个概念的属性。例如:课程代号是课程的一个属性;教工号是教师的一个属性。
3)类的属性。类的属性主要有数据属性和对象属性。数据属性主要描述类实例与RDF文字或XMLschema[7]数据类型间的关系;对象属性描述两个类的实例间的关系。例如:学号,姓名是学生的数据属性;教室,教材是教学资源的对象属性。
4)类的层次结构。通过层次结构,形成了一个领域知识的框架体系。类是本体中最主要的知识单元,用以对概念明确的、格式化描述[8]。类具有继承性并有一定的层次结构。层次结构的设计一般有自顶向下法、自底向上法或综合法三种方法。我们采用的是自顶向下的方法。先定义顶级类,而后通过添加子类将这些概念细化。
第三步建立本体模型,这一步主要包括选择合适的构建本体的开发工具。目前开体开发工具有数十种,其中较著名的有:Protégé、Ontolingua、OilEd等。该文选用的是Protégé工具(Protégé3.4.4版本),构建的本体模型(部分)[9]如图3所示。
第四步对领域本体进行编码、形式化。通过适当的本体描述语言对领域本体进行形式化编码。这是非常重要的一环,为了让机器可理解,需要用形式化定义的方式对本体的术语进行编码。编码的方法主要有:OWL、RDF、XML等等。在这一步中,要检查是否符合形式化、便于机器处理的要求。在建模过程中,如果出现类缺失、矛盾等情况,使其不能明确的表示,无法组成严格的逻辑关系,需要返回上一步,重新定义概念或进行求证。
第五步进行本体的测试和评价。在很多本体的构建方法中,经过上面几个步骤,已经意味着本体构建的完成。事实上在成熟的软件工程的开发方法中,系统测试是非常重要的一步,因此本体也需要测试和评价。本体测试的内容主要包括:是否满足用户的需求;是否遵守本体的构建原则;是否清晰地定义了本体中的概念或术语;概念是否全面,概念之间的关系是否完整等。
第六步本体建立。建立的本体原型在使用的过程中不断进化,可以通过集成新的本体、由专家定义新的概念和关系、通过机器学习等方法进化。
共享和重用是本体的一个主要特点,进化的本体也可以存入本体库,加以重用。重用已建好的本体时,重点是选择和自己概念模型中语义和实现一致的术语定义。
5结束语
目前领域本体构建尚无一个统一、完善的标准,该文通过对当前几种常用的本体构建技术的分析比较,结合螺旋开发模型,初步提出一种在无领域专家参与情况下的工程化的本体构建方法,并通过构建简单的教务管理领域本体模型(部分)对其进行有效性检验。
参考文献:
[1]张囡囡.面向语义网的领域本体半自动构建方法的研究[D].大连:大连海事大学,2008.
[2]鞠可一.基于本体的企业状态数据模型研究[D].镇江:江苏科技大学,2007.
[3] Uschold M,Gruninger M.Ontologies:Principles,Methods and Applications[J]. Knowledge Engineering Review,1996,11(2):93-155.
[4] Suryanto H.Discovery of Ontologies from knowledge bases[C].British Columbia:Proceedings of the 1st Internationl Conference on Knowl? edge Capture,2001:171-178.
[5]维基百科[EB/OL].http://zh.wikipedia.org.
[6]韩韧,黄永忠,刘振林,等.OWL本体构建方法的研究[J].计算机工程与设计,2008,29(6):1397-1399
[7]李勇,张志刚.领域本体构建方法研究[J].计算机工程与科学,2008,30(5):129-131.
[8]官冰,党德鹏.财务管理领域本体的构建[J].计算机应用与软件,2011,28(2):10-13
[9]朱红霞.本体技术决策树算法的研究及在高校教务管理中的应用[D].天津:天津师范大学,2010.