孙 涛 徐永杰 石晨光 盖 强
(海军大连舰艇学院舰炮系 大连 116018)
本体(Ontology)的概念来自哲学领域,人工智能领域引入本体用来解决知识表示和知识组织的有关问题。1998年,Studer在前人的基础上给出了一个本体较为明确的解释,即“本体是共享概念模型的形式化规范说明”。此外,在其他不同的研究中,本体也被赋予了不同的数学形式定义,如Guarino形式化定义和德国Karlsruhe大学AIFB学院的KAON形式化定义[1]。
按照表示和描述的形式化程度的不同,可以分为完全非形式化本体、半非形式化本体、半形式化本体和严格形式化本体[2],形式化程度越高,越有利于计算机的处理。根据概念粒度的相对大小,可以将本体分为:顶级本体、领域本体、任务本体和应用本体[1]。通常,人们在定义下一层本体的时候,从上层本体中选择合适的概念予以特化或者补充。也就是说,概念复用是人们创建本体的普遍做法。这样得到的本体可以保证较高的标准性和质量,而且有利于信息系统之间基于本体的互操作。
目前的本体构建方法都是针对具体的项目提出的,国外主要的构建方法有IDEF5法、骨架法、TOVE法、METHONLOGY法、KACTUS法、七步法和SENSUS法等,其成熟度依次为七步法>METHONLOGY法>IDEF5法>TOVE法>骨架法>SENSUS法>KACTUS法[3]。我国研究学者目前都是在借鉴国外本体构建方法的基础上,根据中文汉语本体构建的实际情况,提出一些具有影响的本体构建方法。
舰炮作战环境恶劣,故障发生概率高。其故障具有层次性、传递性、相关性、不确定性、可修复性、故障模式难以规范表述等特点[4]。依照舰炮功能单元结构相对独立完整、功能明确的原则,将现代舰炮的结构组成表示如图1所示。
图1 舰炮结构组成框图
1)确定知识本体的专业领域和范畴
该本体的领域范围是舰炮故障领域,构建的目的是为舰炮故障辅助诊断提供应用工具,可以完成的任务是利用顶级故障事件描述辅助故障诊断人员得出故障的原因事件。该本体的使用者是故障诊断人员,本体的维护人员是舰炮故障专家和本体工程人员。
2)考查复用现有知识本体的可能性
通过查找资料,并未发现有舰炮领域的本体,无法被本研究复用,因此,参考OpenCyc、SUMO、HowNet等顶级本体,在领域专家的帮助下,共同完成舰炮故障本体的构建。
3)列出本体中的重要术语
舰炮故障本体的重要术语主要有[5]:
(1)舰炮组成:包括舰炮、自动机、炮架、扬供弹系统、监控系统、炮身、炮闩等。
(2)舰炮故障模式:舰炮及其组成部件发生的、能被观察或测量到的故障现象的规范描述。如,“磨损”、“变形”、“断裂”等。
(3)舰炮故障:指舰炮或者舰炮的某个组成部分对应故障事件的规范描述。故障事件可以描述为“舰炮结构+故障模式”的形式,如“炮身后座过长”就是由“炮身”这个舰炮组成部分和“后座过长”这个故障模式结合来描述的。
4)定义类和类的等级(层次)体系
舰炮结构类及其子类构成等级层次,其结构类与类层次关系依据图1建立,部分舰炮结构类与类层次如表1所列。
表1 舰炮结构类与类层次(部分内容)
5)定义类的属性(Slot)
(1)舰炮结构类和舰炮故障模式类的属性
Name:该属性描述舰炮结构和舰炮故障模式的名称。舰炮结构类的子类之间还存在着部分整体关系,部分整体关系有两种表示形式:“Part-Of”关系(如炮身和自动机之间的关系),“Has-Part”关系(如自动机与炮身之间的关系),显然,上述的两种关系之间存在着互逆性(Invert-Slot)。
(2)舰炮故障描述类主要有两个属性:Fail-Location描述故障发生的部位;Fail-Mode描述故障发生的模式。
6)属性的分面(Facets)
属性的分面(Facets)即是类的属性(Slot)的属性,主要描述Slot的取值类型、数量、取值范围等。上述定义的三个属性分面的属性取值类型分别为“String”型、实例(instance)、实例(instance),取值数量都为(Cardinality)为“required 1”。
7)实例
首先需要创建舰炮结构类的各子类的实例,然后命名实例,接着需要建立故障模式类的实例并命名,最后建立舰炮故障类的实例,同时通过给实例的Fail-Location和Fail-Mode属性进行赋值,从而完成舰炮故障类实例的创建。
图2 舰炮故障本体在TGVizTab插件中显示的类及结构层次图
论文采用Protégé3.4.4版(发布于2010年7月22日)[6~7]进行本体开发,得到舰炮故障本体如图2和图3所示。
图3 舰炮故障本体在JambalayaTab插件中示意图
运用OntoClean评价方法[8~10]对构建的舰炮故障本体进行评价,其实现过程如下:
1)将OntoClean导入到所建的本体工程项目之中。从菜单project/manage included projects下,选择添加工程项目,将OntoClean本体评价工具导入其中,打开instancesTab下的PAL-CONSTRAINT类,就会发现其中的几个实例,这些实例就是OntoClean本体评价工具的具体算法实例,如图4所示。
图4 本体评价工具算法实例图
2)打开PAL Constraints标签,将PAL-CONSTRAINT评价算法实例添加到PAL Constraints限制中,运行这些限制算法实例,完成对本体工程的评价。评价的结果参见图5。
图5中评估的状态栏(Status)中全部显示“√”表示通过了本体评估。本体的质量得到保证。如果本体评估没有通过,就需要针对评估未通过的项目进行修改,以保证本体的质量要求。
图5 舰炮故障本体评价结果图
随着舰炮的发展,舰炮领域概念必将具备新时代的特征,新的概念也将出现,针对具体的应用,需要对本体中的概念和明确的规范化说明进行修改,以满足应用的需要,这就是舰炮故障本体的进化过程。因此,舰炮故障本体也是有生命周期的,这是是一个持续的过程。
[1]冯志勇,李文杰,李晓红.本体论工程及其应用[M].北京:清华大学出版社,2007:214-215.
[2]何克清,何扬帆,梁鹏,等.本体元建模理论与方法及其应用[M].北京:科学出版社,2008:15-16.
[3]刘琳娜,薛建武,汪小梅.领域本体构建方法的研究[J].情报杂志,2007,4.
[4]张建新,孙文生,孙卫国.79(A)式双100毫米舰炮一般故障排除手册[M].大连:北海舰队训练基地,2009.
[5]石晨光.舰炮武器原理[M].北京:中国人民解放军海军,2012.
[6]http://Protégé.stanford.edu[EB].Accessed:2011,8.
[7]Mathieu d'Aquin,Natalya F.Noy.Where to Publish and Find Ontologies?A Survey of Ontology Libraries,2010,3.
[8]孙玮鸿.基于知识链的本体构建方法的研究[D].哈尔滨:哈尔滨工程大学硕士学位论文,2009.
[9]徐国虎,许芳.本体构建工具的分析与比较[J].图书情报工作,2009,29(9):44-48.
[10]Nicola Guarino,Christopher Welty.Evaluating Ontologycal Decisions with ONTOCLEN[J].Communication of teach.,2002,2.