基于本体的CAPP知识库管理系统研究
2007年第26卷7月第7期机械科学与技术
Mechanical Science and Technol ogy for Aer os pace Engineering July Vol . 262007
No . 7
基于本体的C APP 知识库管理系统研究
马 安, 王宁生, 刘建刚
(南京航空航天大学机电学院C I M S 工程研究中心, 南京 210016)
摘 要:为了合理有效地利用工艺知识, 本文研究了工艺知识的获取和分类, 提出了一个基于本体
的工艺知识表示模型, 将本体作为具体知识表示的元知识, 与此同时, 给出了一个基于本体的知识库框架结构, 讨论了基于本体的知识检索和工艺知识库的维护, 最后给出实例进行了验证。关 键 词:CAPP; 本体; 工艺知识表示; 知识管理中图分类号:TP18 文献标识码:A 文章编号:100328728(2007) 0720875205
Study of CAPP Knowledge Base Manage m
Based on Ma An, W ang N (College of Mechanical and Electrical Aer and A str onautics, Nanjing 210016)
Abstract:T o utilize p r ocess we study its acquisiti on and classificati on and then p r opose a p r ocess based on ont ol ogy, which is regarded as the meta 2knowledge of s pecific knowledge Meanwhile, we p resent an ont ol ogy 2based knowledge base fra me work and disscuss the knowledge based on ont ol ogy and the p r ocess knowledge base maintenance . Finally, we p res 2ent an instance t o verify the p r ocess knowledge manage ment .
Key words:CAPP; ont ol ogy; p r ocess knowledge rep resentati on; knowledge manage ment
工艺设计作为产品设计与制造的中间环节, 在企业生产制造过程中起着及其重要的作用。最开始人们对CAPP 的研究侧重于工艺设计的自动化, 后来又侧重于计算机对工艺设计的辅助作用, 现在人们越来越认识到工艺知识在工艺设计中的重要性。如何利用现有、成熟的工艺知识, 保证工艺方法的稳定可靠是每个工艺工作者和软件设计人员面临的主要问题
[1]
本体的定义很多, 其中比较有影响的是Gru 2ber 对本体的定义:“本体是对概念化的明确表示
[3]
和描述”。后来, Borst 将本体的定义修改为“本体是对共享化概念的明确表示和描述”, 强调了本体的“共享”作用。112 本体的构建方法
目前, 得到知识界认可的本体构建方法主要有以下5种:Bernaras 方法、Sensus 方法、U schold 和King 的骨架法、Gruninger 和Fox 的评价法以及Me 2thont ol ogy 方法
[4]
。
[2, 3]
为了充分利用工艺知识, 实现知识的共享与重用, 本文将本体
的理念引入到CAPP 领域中, 讨
论了工艺知识的获取、分类以及表示方法, 并给出了一个基于本体的知识库框架和基于本体的语义扩展算法, 最后讨论了CAPP 知识库的维护以及应用效果分析。1 本体概述111 本体定义
收稿日期:20060616
作者简介:马 安(1978-) , 男(汉) , 四川, 博士, [email protected]
。它们都有着不同的开发背景和
应用目的。笔者在对现有本体开发方法的基础上, 结合CAPP 领域的特点, 给出了一个分层次、分步骤的领域本体构建方法:“分层次”体现了本体的抽象
程度(本体元语层、上层本体层、领域子本体层) ; “分步骤”体现了某个层次本体的构建过程(收集领域词汇、词汇的初步分类、创建领域词典、定义概念的属性及约束、定义概念间关系、定义公理等) 。限
876
机械科学与技术第26卷
于篇幅, 本文在此不再详述, 其详细的创建过程将在笔者的毕业论文中做出阐述。113 本体的评价标准
到目前为止, 还没有形成一套公认的、统一的本体评价体系。本体的评价并不是单方面的, 需要进行多方面的考察, 主要有以下5个评价指标:清晰性、一致性、可扩展性、编码偏好度最小、本体承诺
[5]
最小。
2 工艺知识的获取
次上对知识的宏观描述, 它用于引导知识的分类和
对知识的规范化和语义化, 还可以为工艺的设计提供辅助性知识; 参数性知识主要指一些手册数据、文本知识等, 如切削参数、工艺参数; 规则性知识则是通过经验总结或者其它方式(如数据挖掘) 获取的可用于以后工艺设计的知识, 包括加工余量、工艺尺寸、工时定额等计算性规则以及加工方法、加工顺序等决策性规则; 资源知识则包括完成整个工艺设计所涉及到的毛坯种类、材料牌号、工艺装备、加工设备等以及其参数和状态; 实例知识包括实例工艺规程, 主要指的是以前编制成功的比较典型的零件工艺, 也可以是一些常用的工序序列; 约束性知识则描述的是一些国家标准和企业的标准
。
建立知识库系统的先决条件就是要进行知识的获取, 工艺知识库也不例外, 其获取途径主要体现在以下几个方面:
(1) 从工艺设计手册提取参数性知识。
(2) 从企业实际的生产环境提取资源性知识。(3) 从工艺设计师或者工艺专家以及特定的工艺数据中获取经验性知识和规则性知识。
(4) 从企业的工艺文档中提取实例性工艺知识。
(5) 从企业标准、, 和隐性知识, (如Word 、Ex 2cel ) 、; 计人员的大脑(或笔记) 中, 该类知识难于提取, 由于工艺设计经验是存在于工艺设计师大脑中的, 很难进行显性进行编码, 但通过CAPP 领域本体可将领域中的隐性知识进行显性化。隐性知识的获取可以通过非正式交流、会议、个人交流、设计总结等形
[6]
式显性化。3 工艺知识的分类
图1 基于本体的CAPP 知识分类
4 基于本体的工艺知识表示
知识的表示方法很多, 如1阶谓词、产生式、框
架、语义网络、脚本、过程、Petri 网、面向对象等表示
[10]
方法。由于工艺知识的复杂性、经验性以及与具体环境的依赖性, 通常采用某种单一的知识表示方法并不能胜任工艺知识的表示, 后来, 有人提出采用框架和产生式规则结合的方法, 还有人采用X ML 语言进行知识的表示。其中大部分表示方法在一定程度上难以把握知识的整体形象, 从而导致知识的管理和维护困难, 与此同时, 也不能从一个概念层(语义层) 的高度对领域知识进行明确的、形式化的描述, 不能很好地实现知识的共享与重用。为此, 本文将本体的思想引入到CAPP 领域知识的表示过程中。文献[11]研究了基于本体的冲压工艺知识的表示, 把冲压工艺知识看作冲压工艺领域本体, 并将其描述为概念、关系、属性、规则和实例, 但从其数据结构图中可以看出, 它并没有将概念关系看成是一种概念。笔者认为, 关系应该也是概念的一种, 这样才有利于领域知识的标准化。在本文中, 将本体作为工艺知识的元知识, 建立概念层与具体知识层的联系。
CAPP 领域知识的本体结构可以表示为一个三
要建立一个良好的知识库, 其知识分类是很必要的, 它直接影响到知识库的效率和维护。过去很多人对工艺知识分类进行了广泛的研究, 例如:文献[7]将工艺知识分为选择性知识、决策性知识和控制性知识3类; 文献[8]将工艺知识划分为工艺资源知识和工艺规则知识; 文献[9]将工艺知识分为手册数据、资源数据、决策知识和模型数据4类; 文献[5]面向加工过程, 将工艺知识分为加工特征与加工方法选择的知识、加工方法与机床选择的知识、机床与刀具的选择知识, 以及同类实体之间的知识; 还有人将工艺知识分为基础知识和专业知识等等。本文在详细分析以上知识分类的基础上, 将领域本体作为元知识, 在广义上将工艺知识分为:参数性知识、规则性知识、资源性知识和实例性知识(如图1) 。其中, 元知识是根据CAPP 领域本体在概念层
元组:CAPP Ont ol ogy::=。
(1) C 表示概念集合, 主要指CAPP 领域中的
第7期马 安等:基于本体的C APP 知识库管理系统研究
877
对象、类, 如机床类、刀具类、加工方法类等, 可形式
化表示为:
C::=
分别表示概念标识符、概念名称、同义词、缩略词、父概念、子概念、领域以及概念的描述。
(2) R 表示概念间的关系, 包括常用的关系(如is 2a 、part 2of 、kind 2of 等) 以及CAPP 领域中自定义的关系(如加工特征与机床的关系、机床与刀具的关系等) , 形式化描述为
R::=
在语义上的歧义, 为此, 本文给出的表示模型(如图
2) 一方面通过本体进行知识库的构建, 知识库中的词汇尽量使用本体中的概念术语; 另一方面建立用户词汇与本体之间的联系。这样, 本体就在用户和知识库之间起到一个桥梁的作用
。
分别表示关系标识符、关系名称、第一个概念标识符, 第二个概念关系表示符、关系描述。需要说明的是, 一些基本关系具有传递性, 例如:如果存在c 1∈C, c 2∈C, c 3∈C, 且c 1is 2a c 2, c 2is 2a c 3, 则c 1is 2a c 3。
(3) A ttr 表示概念的属性集合, 如机床类的属性有:加工精度、最高转速等, 多, 在此只考虑与零件加工相关的属性, 示为:
A ttr::=
本体的描述语言和存储形式很多, 诸如OWL 、DAML +O I L 、X ML 等语言可以对本体进行表示, 但本体最终还得转换成数据库的形式进行存储, 为此, 文献[10]直接采用关系数据库的形式把领域知识作为本体的形式进行表示和存储。笔者认为, 具体采用哪种表示和存储形式与企业应用的范围和目的有关, 如果知识共享和重用的范围只限定在某个特定企业的内部, 则可采用关系数据库的形式, 但不便于进行复杂的推理; 对于面向敏捷制造的多个企业可采用网络语言表示本体, 使多个企业能够在语义层次上进行知识的共享, 方便企业之间的合作与交流。对于具体的知识库而言, 知识也可以采用产生式规则或者几种方法相结合的表示方式。以产生式规则为例, 它主要用来描述一些决策方法(如加工方法选择、机床选择等) , 规则一般由规则号、规则前件(条件属性、操作符、条件值) 、规则后件、置信度构成。在工艺的决策过程中, 通常是将用户的输入与规则的前件进行匹配, 提取出匹配成功的规则。由于用户的输入与数据库中规则的前件之间可能存
图2 基于本体的知识表示模型
5 基于本体的CAPP , 。在对, 本文提出一个CAPP 知识库框架(如图3) 。该框架从
横向可以分为知识的获取过程和知识的检索过程; 从纵向可分为用户层、知识处理层和底层的3层知识库结构。从知识处理的过程来看, 首先是将各种知识源(如工艺文档、数据库以及遗留的知识库系统) 进行处理, 根据本体提供的术语和语义进行标准化、形式化, 然后存入到知识库中; 当对知识库进行检索时, 通过本体进行语义扩展, 对查询语句进行重写, 利用搜索引擎检索用户需要的知识。从知识库的体系结构上看, 用户层主要用来进行知识收集、知识浏览、知识检索和知识库的维护(新增知识、修改知识、删除知识等) 操作; 中间的知识处理层针对不同的知识需求(知识获取/知识检索) 分别调用不同的知识处理模块; 底层的知识库层主要存放一些用于进行工艺编制的具体知识, 如规则性知识、实例性知识以及一些资源数据等。6 基于本体的工艺知识检索算法
知识的检索过程其实就是一个对的匹配过程。一般的检索方法采用关键词进行匹配, 如果输入条件与关键词匹配不成功, 即使它们存在语义上的相似性, 也会以失败而告终, 不能检索到用户真正需要的知识。本文把本体引入到CAPP 知识的查询过程中, 规范了工艺知识, 通过语义扩展和联想, 从而改善知识的查准率和查全率, 达到缩短工艺的设计时间、提供工艺设计质量、保证工艺知识的充分共享和重用的目的。其算法可大致描述如下:
878
input 输入查询要求,
机械科学与技术第26卷
step 4 对查询语句进行重写, 检索知识库; 如
out put 输出满足要求的CAPP 知识信息。step 1 输入查询条件f;
step 2 根据CAPP 本体对f 进行标准化, 然后
进行知识检索, 如果结果满足要求, 则转step 7; 否则, 转step 3; step 3 根据标准化后的概念进行同义词扩展, 取出其同义词列表;
果结果满足要求, 则转step 7; 否则, 转step 5;
step 5 根据标准化的概念进行上下位扩展, 取出其上下位概念列表;
step 6 对查询语句进行重写, 检索知识库; 如果结果满足要求, 则转step 7; 否则重新输入查询要求;
step 7 输出结果
。
图3 基于本体的CAPP
知识库框架
图4 基于本体的知识检索
在本文给出的基于本体的CAPP 知识检索算法
中(流程如图4所示) , 主要考虑了同义词和上下位概念的扩展, 然后重写查询语句。而本体中的关系远远不止这些, 可以根据用户的不同需求制定不同的查询模板, 从而实现工艺知识的语义检索。7 基于本体的CAPP 知识库维护
知识库的建立不是一劳永逸的, 需要一个不断维护的过程, 这样才能充分地利用知识库。知识库的维护主要涉及到知识的更新、增加、删除等操作。
在向知识库添加知识或者修改知识的过程中, 可能
会出现知识的不一致性, 如产生矛盾的知识或者冗余的知识, 为此, 本文主要针对工艺规则分析了矛盾/冗余知识产生的原因。规则知识可表示为:R:。其中:R 、A 、B 、r 分别代表规则号, 规则前件、规则结论和置信度。711 知识的矛盾性
工艺规则的矛盾性主要表现为:
(1) 两个规则的前件具有较高的相似性, 而结论矛盾;
(2) 两个规则的结论具有较高的相似性, 而条件矛盾;
(3) 两个规则的前件和结论都具有很高的相似性, 但置信度相差较大。该类知识的取舍要在领域专家的指导下根据企业的生产环境而定。712 知识的冗余性
工艺规则的冗余性主要体现在两个方面:(1) 等价冗余。两个规则的前件、结论、置信度相似性都很高;
(2) 包含冗余。若存在两个规则R 1:, R 2:, 假设B 1和B 2具有较高的相
第7期马 安等:基于本体的C APP 知识库管理系统研究
879
似性, 如果A 1ΒA 2, 且r 1≥r 2, 则规则R 2冗余; 如果
A 1ΑA 2, r 1≤r 2, 则规则R 1冗余。在去除冗余知识的同时, 可在领域本体中建立概念之间的同义词关系和上下位关系, 通过本体建立起与规则之间的映射关系
。
识条数和知识库中满足检索要求的知识条数。
表1 基于本体的知识检索结果检索结果相关知识应有知识查准率建本体前
建本体后
2429
2027
3131
83%93%
查全率
65%87%
从该表可以看出, 在建立本体后对工艺知识的查准率和查全率都有了一个较大的提高。虽然我们只是针对一个企业的工艺知识库的部分知识进行了检验, 试想一下, 如果知识库足够大, 采用一般的方法就会检索出许多不相关的知识项, 从而需要费时费事地从中挑选出有用的知识, 这样, 本体的作用就显得举足轻重了。9图5 知识库与本体之间的关联
8 应用
, 一方面规范和标准化了工艺知识的表示, 有利于知识的共享和重用, 提高了知识检索的查准率和查全率; 另一方面, 由于引入了本体, 会增加系统的开销, 但影响不是太大。
[参考文献]
[1] 黄国青, 李建峰. CAPP 系统中典型工艺知识的应用研究
[J ].机械科学与技术, 2006, 25(4) :455~457
[2] Neches R, et al . Enabling technol ogy f or knowledge sharing[J ].
A IM agaz i n e, 1991, 12(3) :36~56
[3] Gruber T R. A translati on app r oach t o portable ont ol ogy s pecifi 2
cati on[J ].Knowledge Acqu isiti on, 1993, 5(2) :199~220[4] 杨秋芬, 陈跃新. Ont ol ogy 方法学综述[J ].计算机应用研究,
2002, 4:5~7
[5] Gruber T R. Toward p rinci p le for the design of ont ol ogies used f or
knowledge sharing [J ].1995, 43:907~928
[6] 张东民, 廖文和, 胡建等. 基于本体的设计知识建模[J ].华
I n t .
J .
Hu man 2com puter Stud i es ,
产环境和CAPP , 采用关
系数据库进行存储本体(如图5) , 通过概念标识符建立概念与概念属性和概念间关系的联系; 基于本体的知识表示则通过知识项的字段与本体概念发生关联, 这样领域知识就得到了规范化和标准化, 需要指出的是, 我们不是将知识项中的每个字段都与本体发生联系, 而是选择与查询要求相关的字段进行关联(可能不止一个字段, 如图5中虚线所示) ; 用户进行知识检索时, 检索的关键词可能在知识项中不存在, 通过概念的语义关联就能查找到相应的工艺知识(如图5中的双点画线所示) 。这样, 只要通过本体概念建立联系, 而不需要将相似的工艺知识进行重复表示, 一方面降低了知识库的冗余, 节省了系统的开销; 另一方面也提高了知识检索的效率。
笔者做了一个对比研究, 分别对建立本体前和建立本体后的知识库进行了比较。本文主要以该活塞环厂的部分工艺规则库为例, 在建立本体前有287条规则, 在建立本体后, 将该规则库中的规则缩
南理工大学学报, 2005, 33(5) :26~31
[7] 肖伟跃. 一个基于开放式结构的工艺设计知识库系统[J ].
计算机应用与软件, 2001, (1) :10~13
[8] 孙朝阳, 高国安, 高史贵, 佟振博. 基于P DM 的CAPP 系统工
艺知识管理模块实现[J ].哈尔滨工业大学学报, 2004, 36
(9) :1202~1205
[9] 桓永兴, 张振明, 黄乃康等. CAPP 面向对象知识库管理系统
减为243条, 冗余度降低了15%。然后, 又挑选了不同的人员分别对建立本体前后的工艺规则库进行了知识检索, 分别选用5个关键词进行检索, 结果如表1所示。其中, 检索结果、相关知识、应有知识分别代表检索结果的知识条数、与检索要求相关的知
的设计与实现[J ].机械科学与技术, 2001, 20(1) :140~142
[10] 王永庆. 人工智能原理与方法[M].西安:西安交通大学出
版社, 2002
[11] 朱文博, 李爱平, 刘学梅. 基于本体的冲压工艺知识表示方法
研究[J ].中国机械工程, 2006, 17(6) :616~620