王巖巖 張春燕 張勝文 陳世輝
(江蘇科技大學機械工程學院,江蘇 鎮(zhèn)江 212003)
信息完備性檢查是一項輔助性的技術,是自動標注技術發(fā)展過程中的一個過渡技術。主要檢查產(chǎn)品制造信息(product manufacturing information,PMI)的正確性、完整性及清晰性。正確性是指信息是否符合工藝標準;完整性是指信息是否完整,包括冗余和缺失兩方面;清晰性是指信息空間布局是否符合要求。PMI作為產(chǎn)品基于模型定義(model based definition,MBD)三維模型的重要組成部分,由傳統(tǒng)的二維標注不斷向三維標注發(fā)展。但MBD模型中的PMI往往較為復雜且分散,容易造成可讀性差,用戶交互性差等問題。為了充分發(fā)揮MBD模型的優(yōu)勢,減少信息傳遞過程中的差錯,需要對MBD模型中的PMI進行完備性檢查。
目前的三維自動標注技術尚不成熟,PMI標注過程主要仍需依賴于人工操作,因此容易導致模型中的PMI標注出現(xiàn)冗余、缺失和不合理等問題。在這樣的背景下,研究PMI的完備性檢查技術對于計算機輔助設計(computer aided design,CAD)與計算機輔助工藝規(guī)劃(computer aided process planning,CAPP)的發(fā)展都具有重要的現(xiàn)實意義。
為提高工作效率和PMI標注準確率,國內外學者進行了大量研究,并獲得階段性的成果。譚禎[1]建立空間標注模型,將二維坐標轉化為三維空間坐標,實現(xiàn)了多視圖的尺寸完備性檢查,但是該方法只適用于二維工程圖。程亞龍[2]等借助于幾何約束圖,針對順序標注的三維尺寸標注實現(xiàn)了完備性檢查。Luisa Martínez M[3]提出根據(jù)幾何約束來求解幾何元素的過約束問題,但并沒有有效解決尺寸缺失問題。張菲菲[4]針對航天薄壁件制造特點,構建了基于MBD的信息模型,并以三維模型為主體,進行知識圖譜的融合,最終實現(xiàn)信息集成。
在前人研究的基礎上,本文結合知識圖譜技術,采用自頂向下的方法構造了PMI領域知識圖譜,通過標注的冗余關系、標注的取代關系和標注的矛盾性3個方面構建SWRL規(guī)則,在此基礎上,實現(xiàn)對PMI的完備性檢查。
知識圖譜(knowledge graph,KG)是具有有向圖結構的一個知識庫,近年來在人工智能領域應用廣泛,它以圖的形式表現(xiàn)事物間的關系。從本質上看,知識圖譜是一種關系網(wǎng)絡[5],以一種通用的語義知識形式化的方法對事物進行描述,其基本單位為三元組。主要采用(實體,屬性,關系)和(實體,屬性,屬性值)兩種三元組形式[6]。知識圖譜的邏輯層次,可表達為
式中:KG表示知識圖譜;TBox表示模式層,即本體;ABox為數(shù)據(jù)層即具體的信息。
領域知識圖譜是知識圖譜在特定領域中的應用。本文采用自頂向下的方法構建PMI領域知識圖譜,即先構建本體并定義好數(shù)據(jù)形式,再提取實體進行填充。在知識圖譜構造的工具方面,Protégé是一種常用的可視化本體構造軟件[7],相比于其他同類軟件,Protégé的優(yōu)勢在于可以進行模塊化的設計,并能夠實現(xiàn)部分功能對中文的支持,可以實現(xiàn)本體的構造、推理及可視化顯示。Neo4j是目前最流行的知識圖譜構造軟件,它是一款基于Java語言開發(fā)的事務型數(shù)據(jù)庫,可以實現(xiàn)圖形數(shù)據(jù)的處理和存儲[8]。
PMI表示產(chǎn)品MBD模型的非幾何信息,包含產(chǎn)品的尺寸標注、形位公差、工藝基準、表面粗糙度、零件屬性和技術要求等產(chǎn)品制造信息[9]。它是傳統(tǒng)二維圖紙中的尺寸、公差和技術要求等標注信息在MBD模型中的可視化集成化的表達[10],可以將PMI直觀地顯示在三維模型的表面或剖面中,以此提高使用效率,保證產(chǎn)品質量。圖1展示了機架MBD模型中某一模型視圖的PMI實例。

圖1 機架MBD模型中某一視圖的PMI實例
PMI標注對象間存在著復雜的聯(lián)系。要完成模式層的構建,不僅需要對相關術語進行梳理,還需要整理機械工藝手冊、工藝卡片和相關標準文件(如GB/T 1958-2017)等資料對PMI相關的知識術語進行抽取。在對各術語進行梳理之后,提煉出的PMI相關知識術語間的邏輯關系如圖2所示。

圖2 PMI知識術語關系圖
PMI領域本體是一個復雜的模型,不僅具有較多的概念,而且概念間的彼此關系也錯綜復雜。本文從局部開始采用七步法來構建PMI本體,最后將各局部本體按照相互關系合并為PMI的領域本體。本體構建流程如圖3所示。

圖3 本體構建流程
這里以形位公差的局部本體為例來說明本體的構造過程。其步驟如下:
步驟1 確定本體所在的領域為PMI標注的形位公差部分;
步驟2 確定相關領域的概念術語。根據(jù)形位公差的相關概念在Protégé中建立形位公差類;
步驟3 定義概念層次結構,對應于Protégé中的Class。頂層概念為“形位公差”,中間層概念為“形狀公差”和“位置公差”,底層概念為“直線度”、“線輪廓度”、“同軸度”等;
步驟4 定義概念屬性,概念屬性包括對象屬性和數(shù)據(jù)屬性兩部分。在Protégé中,對象屬性對應于Object Properties,數(shù)據(jù)屬性對應于Data Properties。對象屬性用于連接兩個實體,表示類與類之間的關系;數(shù)據(jù)屬性用于連接個體和具體的數(shù)據(jù)類型值,表示某個類特有的數(shù)據(jù)值,值域是某種數(shù)據(jù)類型;通過設置定義域(domain)和值域(range)對屬性進行定義。部分屬性及約束列于表1所示。

表1 部分屬性及約束
步驟5 本體評價。結合Protégé自帶的Pellet推理機功能,完成一致性檢查;
步驟6 本體實例化。對應于Protégé中的Individuals。為給類及子類添加相應的實例;
步驟7 本體的可視化顯示及存儲。檢驗無誤后,保存局部本體。
以同樣的方法建立其他局部本體。最后,將這些局部本體按照邏輯關系進行合并,形成最終的PMI領域本體。在Protégé中構造的PMI領域知識圖譜的本體如圖4所示。

圖4 PMI領域知識圖譜的本體
本體構造完成后,使用Pellet推理機對最終的本體進行一致性檢查,經(jīng)檢驗,所構建的PMI領域本體符合要求。
數(shù)據(jù)層的構建涉及兩個方面問題,即數(shù)據(jù)的收集和存儲。領域知識圖譜的主要特點就是“小樣本”,有著較小的數(shù)據(jù)量和對專業(yè)知識庫較高的依賴度。因此,在數(shù)據(jù)收集方面,為了更好地反映船用柴油機關鍵件的特性,以PMI知識庫為基礎,結合對船用柴油機典型零件庫進行信息提取進行整理歸納。在數(shù)據(jù)存儲方面,運用圖數(shù)據(jù)庫的形式存儲生成的知識圖譜實現(xiàn)。
由于MBD模型中的PMI數(shù)量繁多,種類較為分散,難以進行統(tǒng)一管理,所以需要根據(jù)不同類型,對PMI進行集中分類提取。首先,讀取MBD模型中的所有PMI標注,記錄PMI數(shù)目為N,分別對每一個PMI標注進行處理,判斷其具體類型提取信息。最后,進行集中存儲。
本文以C語言的編程思想為指導,通過偽代碼表達MBD模型中的PMI提取過程。將PMI類型(PMI_type)分為尺寸標注類(Dimension)、形位公差類(GeometricTol)、表面粗糙度類(SurfaceRou)、工藝基準類(Datum)、技術要求類(TechnicalReq)進行提取。PMI分類提取的偽代碼如表2所示。

表2 PMI分類提取的偽代碼
知識融合過程分為實體鏈接和知識合并兩個部分[11]。實體鏈接是指將數(shù)據(jù)對象鏈接到知識圖譜中,知識合并是指將有歧義的實體信息進行處理。知識融合流程如圖5所示。

圖5 知識融合流程
模式層具有較高的統(tǒng)一性和準確性,因此只需要對數(shù)據(jù)層進行融合。數(shù)據(jù)層構造采用了不同來源的數(shù)據(jù),需要對知識進行實體鏈接和實體合并。先對各實體屬性信息進行相似度計算[12],當相似度超過設定的閾值時,則進行實體鏈接消除冗余。對于從數(shù)據(jù)庫中的實體信息IA和從零件中抽取的信息IB,由于數(shù)據(jù)庫實體信息具有更高的置信度,應優(yōu)先選用IA中的信息進行替換。通過D2RQ映射將數(shù)據(jù)轉化為RDF格式的三元組格式完成知識融合。最后,利用Neo4j對PMI領域知識圖譜進行儲存,將融合后的數(shù)據(jù)導入Neo4j,得到PMI領域知識圖譜的部分可視化顯示。
語義網(wǎng)絡規(guī)則語言(semantic web rule lan-guage,SWRL)是一種專門描述規(guī)則的語言,使用規(guī)則與OWL(web ontology language)知識庫的結合。通過對本體的實例進行規(guī)則推理,實現(xiàn)本體與SWRL的結合,有效地彌補了本體推理能力不足的缺陷。
PMI領域知識圖譜中的存在著大量隱含規(guī)則,需要通過對已有知識進行知識推理和關系的挖掘。PMI標注對信息完備性的影響主要體現(xiàn)在3個方面:(1)冗余的標注會影響信息的完整性。(2)矛盾的標注會影響信息的準確性。(3)冗余和矛盾的標注間接影響著信息顯示的清晰性。
本文以各標注的關聯(lián)對象要素作為聯(lián)系的樞紐,建立具體的完備性檢查規(guī)則。
(1)標注的冗余關系
建立標注冗余性相關規(guī)則如表3所示。

表3 標注冗余性相關的SWRL規(guī)則
(2)標注的取代關系
建立的標注取代性相關規(guī)則如表4所示。

表4 標注取代性相關的SWRL規(guī)則
(3)標注的矛盾關系
建立的標注矛盾性相關規(guī)則如表5所示。

表5 標注矛盾性相關的SWRL規(guī)則
將PMI完備性檢查的規(guī)則按照3種類型編寫完成后,在Protégé的SWRLTab中進行整理,Protégé中的PMI完備性檢查規(guī)則庫如圖6所示。規(guī)則創(chuàng)建完成,在Protégé的“Individual by class”模塊中創(chuàng)建對應類的實例。通過Protégé自帶的Drools引擎完成規(guī)則推理,將OWL與SWRL合并生成Drools規(guī)則語言。經(jīng)OWL+SWRL->、Run Drools、Drools->OWL等操作進行推理和OWL文件更新。與本體中的類相對應,在前文所創(chuàng)建的實體基礎上進行擴充,并為新創(chuàng)建的實體設置屬性。PMI領域的實體通過關聯(lián)對象產(chǎn)生聯(lián)系,每個關聯(lián)對象依據(jù)其xsd:int類型的tag值進行區(qū)分,經(jīng)過推理后生成推理結果。

圖6 PMI完備性檢查規(guī)則庫
本文中的知識推理功能的實現(xiàn)是基于Web網(wǎng)頁開發(fā)技術,并通過網(wǎng)頁的形式實現(xiàn)與NX系統(tǒng)的集成。采用Java編程語言解決Web問題的技術稱為Java Web[13],它是Spring框架的常用技術。這里知識推理部分將利用Java Web進行功能頁面的開發(fā)。
開發(fā)過程中運用的Java Web是基于MVC分層模式進行設計的,采用了Spring Boot框架進行業(yè)務邏輯控制。通過Spring Boot對Spring體系框架進行了整合優(yōu)化,能夠利用更簡易的配置快速實現(xiàn)Java Web的啟動。通過采用MySQL數(shù)據(jù)庫進行數(shù)據(jù)存儲,結合Mybatis框架進行數(shù)據(jù)庫訪問[14],借助提供從數(shù)據(jù)表到Java類的映射實現(xiàn)降低數(shù)據(jù)傳輸?shù)膹碗s性的需求。MVC分層模式的原理如圖7所示。

圖7 MVC分層模式原理
Jena提供的API接口[15]支持OWL、RDFS及DAML+OIL,可以實現(xiàn)對本體文件數(shù)據(jù)進行處理,通過讀取OWL文件,對本體進行拓展應用。
本文以船用柴油機某型號的機架為實例對系統(tǒng)進行驗證。首先需要輸入機架的MBD模型,以機架的MBD模型為信息源,所集成的信息包括視圖信息、標注信息、特征信息(對應加工工序信息)、幾何信息等。點擊“數(shù)據(jù)預處理”,系統(tǒng)對MBD模型PMI信息進行自動遍歷和分類;點擊“PMI信息提取”按鈕后,會彈出如圖8的界面,PMI的詳細信息會以樹列表的形式顯示,點擊“確定”按鈕后,后臺自動保存。MBD信息提取的內容,包括尺寸標注、形位公差及表面粗糙度。提取后的信息通過界面顯示,同時后臺以文件形式進行保存。機架MBD模型如圖9所示。

圖8 PMI信息提取界面

圖9 導入MBD模型
PMI完備性檢查部分是結合Web編程技術,在Web網(wǎng)頁上實現(xiàn)的。點擊“PMI完備性檢查”按鈕,會自動通過瀏覽器進入PMI完備性檢查平臺。PMI完備性檢查包含“關系查詢”和“知識推理”兩個模塊。“關系查詢”模塊可以通過輸入實體名或關系名進行搜索。“知識推理”模塊通過讀取所提取的模型PMI信息,根據(jù)SWRL規(guī)則庫對PMI標注進行知識推理。PMI信息包括標注的編號、類型、公差值和關聯(lián)對象編號。點擊“開始推理”按鈕,自動在所導入的PMI信息基礎上進行推理。推理完成后,會在界面右側按照冗余性標注、取代性標注、矛盾性標注3種類型自動對推理結果進行歸類。詳細信息包括尺寸類型及其對應的tag值。如圖10所示。

圖10 PMI完備性檢查結果
由推理結果可知,機架MBD模型中出現(xiàn)3個冗余性標注,2個取代性標注,3個矛盾性標注。導出PMI完備性檢查結果,部分PMI完備性檢查報告如圖11所示。在第1個平面的第2個角度和第3個角度存在2個取代性標注,分別是Tag值為53 620和64 606的形狀公差,這兩個形狀公差可以相互取代。同理可以通過Tag值的不同找到機架MBD模型中的冗余性標注和矛盾性標注。經(jīng)檢驗,關于尺寸標注、形狀公差和表面粗糙度的錯誤標注均能根據(jù)該方法進行檢查。

圖11 部分PMI完備性檢查報告
本文針對MBD模型的PMI完備性檢查問題展開了研究,結合NX平臺的相關開發(fā)技術,開發(fā)了船用柴油機關鍵件MBD模型的PMI完備性檢查系統(tǒng)。通過船用柴油機典型零件實例,驗證了系統(tǒng)方案的良好性能。針對當前信息標注過度依賴人工、PMI信息提取及完備性檢查困難以及工序模型存儲成本較高等問題,提出了以MBD模型為唯一數(shù)據(jù)源的PMI完備性檢查技術研究方案。將知識圖譜技術與完備性檢查技術相結合,自頂向下地構建了PMI領域知識圖譜,并通過Neo4j技術實現(xiàn)了信息的可視化及存儲。在此基礎上結合SWRL規(guī)則推理建立PMI完備性檢查的相關規(guī)則,實現(xiàn)了PMI完備性檢查。在完成了系統(tǒng)方案設計及系統(tǒng)關鍵技術理論研究的基礎上,利用NX二次開發(fā)工具,結合Visual Studio2012等編程開發(fā)工具,以C++等編程語言進行了系統(tǒng)的開發(fā)。最后通過船用柴油機典型零件實例對系統(tǒng)進行了驗證。