基于本体的CAPP知识库管理系统研究
工艺设计作为产品设计与制造的中间环节,在企业生产制造过程中起着及其重要的作用。最开始人们对CAPP的研究侧重于工艺设计的自动化,后来又侧重于计算机对工艺设计的辅助作用,现在人们越来越认识到工艺知识在工艺设计中的重要性。何利用现有、成熟的工艺知识,保证工艺方法的稳定可靠是每个工艺工作者和软件设计人员面临的主要问题。
为了充分利用工艺知识,实现知识的共享与重用,本文将本体的理念引人到CAPP 领域中,讨论了工艺知识的获取、分类以及表示方法,并给出了一个基于本体的知识库框架和基于本体的语义扩展算法,最后讨论了CAPP 知识库的维护以及应用效果分析。
1 本体概述
1. 1 本体定义
本体的定义很多,其中比较有影响的是Grober对本体的定义:"本体是对概念化的明确表示和描述"。后来,Borst 将本体的定义修改为"本体是对共享化概念的明确表示和描述",强调了本体的"共享"作用。
1. 2 本体的构建方法
目前,得到知识界认可的本体构建方法主要有以下5 种: Bernaras 方法、Sensus 方法、Uschold 和King 的骨架法、Groninger 和Fox 的评价法以及Methontology 方法。它们都有着不同的开发背景和应用目的。笔者在对现有本体开发方法的基础上,结合CAPP 领域的特点,给出了一个分层次、分步骤的领域本体构建方法"分层次"体现了本体的抽象程度(本体元语层、上层本体层、领域于本体层) ;"分步骤"体现了某个层次本体的构建过程(收集领域词汇、词汇的初步分类、创建领域词典、定义概念的属性及约束、定义概念间关系、定义公理等)。限于篇幅,本文在此不再详述,其详细的创建过程将在笔者的毕业论文中做出阐述。
1. 3 本体的评价标准
到目前为止,还没有形成一套公认的、统一的本体评价体系。本体的评价并不是单方面的,需要进行多方面的考察,主要有以下5 个评价指标:清晰性、一致性、可扩展性、编码偏好度最小、本体承诺最小。
2 工艺知识的获取
建立知识库系统的先决条件就是要进行知识的获取,工艺知识库也不例外,其获取途径主要体现在以下几个方面:
(1)从工艺设计手册提取参数性知识。
(2) 从企业实际的生产环境提取资源性知识。
(3) 从工艺设计师或者工艺专家以及特定的工艺数据中获取经验性知识和规则性知识。
(4) 从企业的工艺文档中提取实例性工艺知识。
(5) 从企业标准、企业规定中提取约束性知识。
工艺知识的存在形式多种多样,包含显性知识和隐性知识,前者一般以文本格式(如Word 、Excel)、数据库等形式存在;而后者主要存储在工艺设计人员的大脑(或笔记)中,该类知识难于提取,由于工艺设计经验是存在于工艺设计师大脑中的,很难进行显性进行编码,但通过CAPP 领域本体可将领域中的隐性知识进行显性化。隐性知识的获取可以通过非正式交流、会议、个人交流、设计总结等形式显性化。
3 工艺知识的分类
要建立一个良好的知识库,其知识分类是很必要的,它直接影响到知识库的效率和维护。过去很多人对工艺知识分类进行了广泛的研究,例如:文献[7] 将工艺知识分为选择性知识、决策性知识和控制性知识3 类;文献[8] 将工艺知识划分为工艺资源知识和工艺规则知识;文献[9] 将工艺知识分为手册数据、资源数据、决策知识和模型数据4 类;文献[5] 面向加工过程,将工艺知识分为加工特征与加工方法选择的知识、加工方法与机床选择的知识、机床与刀具的选择知识,以及同类实体之间的知识;还有人将工艺知识分为基础知识和专业知识等等。本文在详细分析以上知识分类的基础上,将领域本体作为元知识,在广义上将工艺知识分为:参数性知识、规则性知识、资源性知识和实例性知识(如图1) 。其中,元知识是根据CAPP 领域本体在概念层次上对知识的宏观描述,它用于引导知识的分类和对知识的规范化和语义化,还可以为工艺的设计提供辅助性知识;参数性知识主要指一些手册数据、文本知识等,如切削参数、工艺参数E 规则性知识则是通过经验总结或者其它方式(如数据挖掘)获取的可用于以后工艺设计的知识,包括加工余量、工艺尺寸、工时定额等计算性规则以及加工方法、加工顺序等决策性规则;资源知识则包括完成整个工艺设计所涉及到的毛坯种类、材料牌号、工艺装备、加工设备等以及其参数和状态;实例知识包括实例工艺规程,主要指的是以前编制成功的比较典型的零件工艺,也可以是一些常用的工序序列;约束性知识则描述的是一些国家标准和企业的标准。

4 基于本体的工艺知识表示
知识的表示方法很多,如1 阶谓词、产生式、框架、语义网络、脚本、过程、Petri 网、面向对象等表示方法。由于工艺知识的复杂性、经验性以及与具体环境的依赖性,通常采用某种单一的知识表示方法并不能胜任工艺知识的表示,后来,有人提出采用框架和产生式规则结合的方法,还有人采用XML 语言进行知识的表示。其中大部分表示方法在一定程度上难以把握知识的整体形象,从而导致知识的管理和维护困难,与此同时,也不能从一个概念层(语义层)的高度对领域知识进行明确的、形式化的描述,不能很好地实现知识的共享与重用。为此,本文将本体的思想引人到CAPP 领域知识的表示过程中。文献[11 ]研究了基于本体的冲压工艺知识的表示,把冲压工艺知识看作冲压工艺领域本体,并将其描述为模念、关系、属性、规则和实例,但从其数据结构图中可以看出,它并没有将概念关系看成是一种概念。笔者认为,关系应该也是概念的一种,这样才有利于领域知识的标准化。在本文中,将本体作为工艺知识的元知识,建立概念层与具体知识层的联系。
CAPP 领域知识的本体结构可以表示为一个三元组: CAPPOntology:: = <C,R,Attr >。
(1) C 表示概念集合,主要指CAPP 领域中的对象、类,如机床类、刀具类、加工方法类等,可形式化表示为:
C:: = < CID , Name , Syn , Abbr , ParentC , ChildC ,Domain ,Description>
分别表示概念标识符、概念名称、同义词、缩略词、父概念、子概念、领域以及概念的描述。
(2) R 表示概念间的关系,包括常用的关系(如is-a、part-of、kind-of 等)以及CAPP 领域中自定义的关系(如加工特征与机床的关系、机床与刀具的关系等) ,形式化描述为
R:: = < RID , Name , FirstCID , SecondCID , Description>
分别表示关系标识符、关系名称、第一个概念标识符,第二个概念关系表示符、关系描述。需要说明的是,一些基本关系具有传递性,例如:如果存在c1∈ C , c2 ∈C ,c3∈C ,且c1 is-a c2, c2 is-a c3,则c1 is-a c3 。
(3) Attr 表示概念的属性集合,如机床类的属性有:加工精度、最高转速等,通常对象类的属性很多,在此只考虑与零件加工相关的属性,形式化表示为:
Attr:: = < AttrID , Name, CID ,