摘要:為了解決CAPP系統中工藝知識獲取的難題,提出了基于對象模型驅動的工藝知識挖掘技術和方法。采用面向對象的方法建立了CAPP系統中工藝知識/數據的對象模型,并基于對象模型研究建立了工藝知識挖掘技術體系,設計了工藝知識挖掘腳本,并以典型工序總結為應用對象進行了應用研究。該技術可在CAPP系統應用數據積累的基礎上有效支持顯性工藝知識的自動挖掘與獲取。
關鍵詞:計算機輔助工藝過程設計; 對象模型驅動; 工藝知識; 工藝知識挖掘; 典型工序
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2008)05-1437-03
制造企業的工藝知識是指工藝過程設計中所運用的各種基礎數據、工藝規范和專家經驗等的集合。工藝知識的來源主要有四個方面,即書本、工藝領域專家、制造環境和工藝實例。其中,工藝實例就是工藝設計過程中積累的工藝數據,它是以實例的形式顯示說明了工藝過程設計的顯性知識,也蘊涵了人類專家所特有的部分隱形知識。目前,從存在于紙面工藝文件的工藝實例中進行工藝知識獲取需要知識工程師的全程參與,并且數據整理和分析工作很難進行,導致工藝知識的獲取困難。隨著計算機輔助工藝過程設計系統(CAPP)在企業的深入應用,可以在不斷積累的數字化、結構化工藝數據中應用先進的軟件技術,通過對工藝實例數據的自動分析和挖掘,發現新的顯性知識,豐富工藝知識庫,為工藝設計與管理提供有效的支持。這就是本文提出的CAPP系統工藝知識挖掘技術,它對于CAPP系統的深入應用有著非常重要的意義。雖然數據挖掘技術在商業領域,如銀行、證劵、通信、零售等行業已得到實際廣泛的應用,但在制造業技術領域的應用還是一個全新的課題。目前,國內外的研究成果,包括面向對象建模、基于知識的系統、人工智能、知識表達、知識管理、數據挖掘、數據庫、數據倉庫技術等均為進行工藝知識挖掘奠定了技術基礎[1,2]。
1CAPP系統的對象模型機制
1.1基于對象模型驅動的制造工藝數據管理
CAPP系統應用的關鍵是以工藝數據庫和工藝知識庫為核心。目前,基于商品化CAPP平臺開發的CAPP應用系統,其核心技術是以對象建模工具實現系統的對象模型驅動機制為基礎的。在CAPP應用系統的開發過程中,需要不斷對所建立的應用對象模型進行分析與優化,從而支持CAPP應用系統的逐步實施與開發。在CAPP應用系統中,建立對象模型驅動機制是系統的基礎和運行核心,它采用的是面向對象方法進行分析、描述系統的應用模型,是以對象類為基礎、對象類與產生式規則相結合的面向對象模型表示方式。對象類描述工藝信息實體的信息結構,對象實例描述典型的工藝信息,對象方法和產生式規則形式描述、組織工藝決策知識和系統配置,以過程控制知識控制系統的決策及配置過程,形成能夠正確反映工藝設計與管理過程的對象模型體系(圖1)[3~7]。
1.2基于對象模型驅動的制造工藝數據管理
在CAPP應用系統實施與應用開發過程中,CAPP系統相關工藝知識是根據企業的具體情況進行分析與定義,并基于CAPP系統的對象模型驅動機制以對象類、對象實例的方式分別存儲在工藝知識庫和工藝數據庫中。工藝知識庫對類、類實例、類方法、類規則等工藝知識進行管理。工藝數據庫是基于工藝知識庫對象模型對以對象實例形式存在的工藝數據進行管理。工藝知識庫與工藝數據庫之間存在著基于對象模型的映射關系[4,7],如圖2所示。
從CAPP應用系統的應用角度來看,工藝知識庫的維護面向的是系統開發和維護人員;而工藝數據庫面向的是工藝設計人員,其數據庫結構與關系模型來源于工藝知識庫的映射,并且在工藝設計過程中的工藝知識支持也來源于工藝知識庫。
2基于對象模型的工藝數據挖掘技術
2.1工藝數據挖掘
基于對CAPP系統的對象模型驅動機制的研究,本文提出工藝知識挖掘的概念,將人工智能技術(包括知識庫、知識規則、邏輯推理等)與基于對象模型驅動的工藝數據庫分析結合在一起,實現工藝知識的計算機輔助分析與獲取,為工藝的標準化和規范化提供支持。基于對象模型的工藝數據挖掘,其應用基礎在于工藝知識庫的建立、應用、維護以及對象模型的組織[6]。基于工藝數據庫和工藝知識庫的工藝數據挖掘如圖3所示。
2.2工藝數據挖掘腳本
在工藝數據挖掘中,需要進行工藝數據挖掘模式的定義,使數據挖掘在用戶感興趣的模式上進行。基于CAPP系統的對象模型驅動機制,本文建立了工藝數據挖掘腳本(process planning knowledge mining script,PPKMS),用戶可使用PPKMS定義數據挖掘模式和與工藝數據庫、工藝知識庫的通信,支持有效的工藝知識發現過程。PPKMS的實現將有助于工藝數據挖掘應用的標準化[6]。
以CAPP應用系統的工藝知識庫和工藝數據庫為基礎,PPKMS可以在關系數據庫的基礎上進行多種挖掘。PPKMS采用類似于SQL的語法,易于向結構化查詢語言(structured query language,SQL)映射。PPKMS的語法采用擴充的BNF文法定義如下:
PPKML::=〈[PPKML_Statement],[[PPKML_Statement]……]〉
PPKML_Statement::=〈[Data_Mining_Statement]|[Concept_Hierarchy_Definition_Statement]|[Visualization_and_Presentation]〉
..Data_Mining_Statement::=〈use PPDB[process_database_name],use PPKB [knowledge_database_name],use hierarchy[hierarchy_name]for[attribute],[Mine_Knowledge_Specification],in relevance to [class_attribute_list],from[[class(s)],[where[condition〉],order by[order_list],group by [grouping_list],having[condition]],with [interest_measure_name] threshold[[threshold_value],for[attribute(s)]]〉
…Mine_Knowledge_Specification::=〈[Mine_Char]|[Mine_Discr]|[Mine_Class]〉
……Mine_Char::=〈mine characteristics[as[pattern_name],analyze[measure(s)]〉
……Mine_Disc::=〈mine comparison[as[pattern_name],for[[target_class],where[target_condition],versus[[contrast_class_i],where[contrast_condition_i],analyze[measure(s)]〉
……Mine_Class::=〈mine classification[as [pattern_name],matching[measure(s)]]〉
..Concept_Hierarchy_Definition_Statement〉::=〈define hierarchy[[hierarchy_name],for[attribute]],on[class],as[[hierearchy_description],where[condition]]〉
..Visualization_and_Presentation::=〈display as [result_form]〉
其中:黑色字體表示命令字。
3基于對象模型的典型工序挖掘研究
通過對CAPP系統基于對象模型驅動機制和工藝知識挖掘技術的研究,在CAPPFramework(國家“863/CIMS”資助,西北工業大學開發CAPP應用框架與開發平臺)的開發中,建立了基于對象模型驅動機制的工藝知識挖掘技術體系,實現了以PPKMS為核心的工藝知識挖掘過程。CAPPFramework工藝知識挖掘典型應用界面如圖4~7所示。CAPPFramework對工藝數據庫的挖掘以工藝知識庫定義的對象模型為基礎,對相關對象類的對象實例的挖掘,這實際上是一個聚類分析的過程,不同的對象類實例進行的數據挖掘過程和方法其實是一致的。下面以某企業的機加工序類對象模型為例,說明典型機加工序的數據挖掘過程。在工藝知識庫中定義的機加工序類的對象模型如表1所示。
1)挖掘對象類指定在工藝知識庫定義進行挖掘的對象類。典型機加工序挖掘的對象類為機加工序類。CAPPFramework的工藝數據挖掘引擎將根據指定的對象類自動指向工藝數據庫中對應的數據庫表。
2)關鍵屬性設定典型機加工序的數據挖掘是聚類分析的過程,需要指定工藝數據庫中機加工序實例間的聚類規則,對對象類屬性進行分析,確定數據挖掘的關鍵屬性和聚類的優先級層次。對表1中的機加工序類,關鍵屬性可設定如下,車間(優先級:1)、工段(優先級:2)、工序名稱(優先級:3)。
3)數據挖掘輸出屬性設定對象類模型中可能包含一些與典型對象實例分析無關的屬性,通過數據挖掘輸出屬性設定可指定需要獲得的屬性,而對數據挖掘無關屬性不進行處理。這樣可提高數據挖掘的效率及結果的可理解性。對于表1中的機加工序類,指定輸出所有屬性。
4)數據挖掘規則指定典型對象實例挖掘過程相關的數據集獲取規則。本文定義了以下兩種規則:
a)DataAcquisition(數據獲取)規則。可指定all和increment方式。其中:all方式將對工藝規程庫中的所有對象實例進行挖掘;increment方式則針對上一次挖掘后新增的對象實例進行挖掘,它是基于工藝數據挖掘引擎對挖掘實例的標記而實現的。
b)RelaObj(關聯對象)挖掘規則。可設定yes和no方式。Yes方式對當前挖掘的對象類實例和與它關聯的對象實例進行挖掘;no方式則只對當前指定的對象類實例進行挖掘。
5)數據挖掘結果清洗根據以上設定的數據挖掘準則,工藝數據挖掘引擎可對工藝數據進行挖掘,得到數據挖掘的結果。由于工藝數據本身的復雜性與不確定性,這個結果可能包含無效的或與工藝知識庫中重復的工藝知識,因此必須進行清洗。這有以下兩種方式:
a)工藝知識庫對比。對數據挖掘出來的典型對象實例與工藝知識庫中已有的工藝知識進行比較。若發生重復,則將其從結果集中去除,這當中允許系統與用戶進行交互式的操作。
b)人工清洗。系統將數據挖掘結果以樹型分類及列表形式的界面顯示處理,由工藝知識庫管理人員審查、整理。
6)數據挖掘知識輸出對于清洗后的數據挖掘結果,可從計算機內存中直接將其以對象實例的方式添加工藝知識庫,也可以以外部文件(XML格式)的方式進行輸出,供進一步審查和以后將其導入工藝知識庫。
對于表1中的機加工序類,PPDMS描述的典型機加工序挖掘腳本如下:
use PPDB xac_ppdb;
use PPKB xac_ppkb;
use hierarchy SHOP, WORK_SEC,OP_NAME for 機加工序;
in relevance to SHOP,WORK_SEC,OP_NAME,EQUIP,OP_CONT,FIXTURE;
from機加工序;
mine classification DataAcquisition all,RelaObj.yes;
analyze OP_CONT;
display as tree;
該挖掘腳本可以存儲在工藝知識庫中,以便今后調出再次進行挖掘。
4結束語
工藝的標準化、規范化是制造企業工藝技術管理的重要基礎工作。它包括工藝業務流程標準化、工藝數據的標準化和工藝文件格式標準化等。其中工藝實例的標準化是工作量最大并且最難實施的部分,包括概念、術語、典型工序、典型工步、典型工藝和制造資源等數據的標準化問題。通過對基于對象模型驅動的工藝知識挖掘技術研究及在CAPPFramework系統的開發與應用驗證,在CAPP應用中不斷積累的大量工藝實例數據的基礎上,可以利用工藝知識挖掘技術進行工藝數據的自動分析,實現特定工藝知識的自動獲取,在一定程度上可有效解決企業工藝知識獲取的瓶頸問題。
參考文獻:
[1]CHANG Ping-teng, CHANG Chia-hua. An integrated artificial intelligent computer aided process planning system[J]. International Journal of Computer Integrated Manufacturing, 2000,13(6):483-497.
[2]RODGERS P A,CALDWELL N H M,CLARKSON P J, et al. Ma-naging knowledge in dispersed design companies: facilitating context-driven design support through multiple perspectives[C]//Proc of the 6th International Conference on AID’00. Massachusetts:[s.n.], 2000.
[3]VLADIMIR N.ODAMIL:object-oriented data mining query language[C]//Proc of JCKBSE’98. Smolenice:[s.n.], 1998.
[4]邵維忠,楊芙清.面向對象的系統分析[M].北京:清華大學出版社,1998.
[5]張振明,許建新,賈曉亮.CAPP的應用與發展[J].計算機輔助設計與制造,2002,6:3-5.
[6]因曼 W H.數據倉庫[M].北京:機械工業出版社,2000.
[7]HAN Jia-wei, KAMBER M.數據挖掘:概念與技術[M].范明,孟小峰,譯.北京:機械工業出版社,2001.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”