(浙江工業大學 計算機科學與技術學院,浙江 杭州 310023)
傳統的產品信息交換與共享一直以來側重于幾何數據的交換與共享,由于幾何數據中不包含設計者的設計歷史、設計約束和特征等高層語義信息,無法實現高層語義信息的交換與共享,因此在參數化特征建模已經成為CAD標準建模方法的今天,無法對原設計進行設計意圖的定位和重用[1-3]。STEP本體化方法[4-7]仍受限于傳統的語法轉換層次,語義推理依靠大量的本體規則定義,沒有充分挖掘STEP信息中隱藏的語義知識。STEP AP242不僅僅是將原有的三維幾何模型、產品制造信息PMI(Product manufacturing information)和自適應制造生產集成在一起,而且將這三部分有關特征設計語義知識描述具體應用到了該應用協議中,為基于特征的設計語義信息(包括特征、參數、約束和構造歷史)的表達和交換打下基礎[8-9]。當前主流的CAD系統主要通過特征、參數、約束和構造歷史四個方面來推測表達產品設計語義信息。設計語義信息是產品信息交換與共享中一個重要的部分,但設計意圖信息往往隱藏在STEP文件中,因此需要合適的技術從STEP文件中推理出設計意圖信息。知識圖譜是一種能表示實體之間關系的知識表示方式,它能夠形式化地描述現實世界事物之間的相互關系。將知識圖譜的形式化描述和眾多的知識推理方法結合,可以挖掘出STEP文件中更多隱含的產品語義信息。
知識推理的方法主要包括基于邏輯規則的推理方法和基于圖的關系推理方法。基于邏輯規則推理包含基于SWRL的規則推理、描述邏輯推理和一階謂詞邏輯推理等,該方法一般由邏輯規則集合和具體事實集合兩部分組成,存在推理步驟繁瑣且推理效率不高的問題[10-11]。基于圖的實體關系推理包括張量分解和路徑排序算法推理兩個方面,張量分解用于知識圖譜學習和推理過程中時,只考慮知識圖譜中實體與實體間的直接關系,忽略知識圖譜圖形結構的特點[12],而路徑排序算法通過圖中兩個實體間的多跳路徑結合關系路徑中蘊藏的信息,實現預測兩個實體間的語義關系。筆者針對邏輯規則推理和張量分解算法的不足,以基于模型定義的STEP AP242應用協議為設計語義知識交換的研究對象,引入知識圖譜[13-15]的理論基礎,提出將規則推理和路徑排序算法相結合的知識推理方法。首先,將STEP產品數據實例本體化為三元組語義元實例,構建產品三維幾何信息與非幾何信息語義關聯的STEP知識圖譜;其次,在知識圖譜的基礎上提出基于路徑排序算法的STEP特征知識推理技術;最后,結合基于三維產品信息可視的知識圖譜平臺實例進行論證。
STEP知識圖譜結構分兩大類關系:一類是應用協議層語義關系,另一類是STEP實例層關系。知識圖譜的基本結構由應用協議層語義關系圖GM和STEP實例層關系圖GE組成,即KG=(GM,GE)。其中,應用協議層語義關系圖表示應用協議概念層級結構;STEP實例層關系圖表示STEP實例及其之間的關系。應用協議層語義關系圖GM=(CM,RM),其中CM表示圖中概念節點,RM表示由多條邊連接的兩個概念之間的關系邊。STEP實例層關系圖表GE=(EE,RE),其中EE表示圖中實體節點,RE表示由多條邊連接的兩個實體之間的關系邊。
STEP知識圖譜是通過實體及其語義關系來表達產品幾何信息和設計語義信息知識的圖。圖結構由語義元節點集合和邊集合構成KG={
STEP知識圖譜體系結構如圖1所示,主要由知識庫、規則庫和實例庫三部分構成。實例庫中存放了大量由STEP242實例文件轉化的以語義元節點為基礎的OWL文件,另外語義信息標注可以補充轉化過程中丟失的語義信息;知識庫中存放了大量的事實三元組,分為基本知識庫和擴展知識庫兩部分,其中基本知識庫由STEP AP242應用協議庫生成,擴展知識庫通過對實例庫的知識抽取動態生成;規則庫中包含了大量的規則信息用于設計意圖信息的推理。知識圖譜主要通過自頂而下和自底向上兩種方式來構建:自頂向下指的是根據應用協議庫定義好產品語義信息元結構和幾何關系,再添加到基本知識庫;自底向上指的是基于設計語義知識表述提出的設計語義實體信息的層次結構,構建STEP AP242應用協議庫不包含的設計意圖語義元及語義元間的連接關系,并加入到知識庫從而實現知識庫的動態擴展。通過兩種構建方式的結合,可以更有效地構建知識圖譜中的知識庫。實例庫、知識庫和規則庫三者互相關聯,共同組成了面向設計語義的知識圖譜的體系結構,實例庫作為知識庫的基礎,提供了知識庫的事實依據,而知識庫中的大量事實提取出通用性的語義規則,結合外部添加的語義規則標注,這些語義規則反作用于實例庫,推理出新導入實例的語義信息。

圖1 知識圖譜體系結構
作為知識圖譜的基本單位,產品信息語義元及其之間的關系構成了知識圖譜網絡的節點和連線,這些節點和連線構成了大量的實體路徑,從而通過計算不同實體路徑的權重來對設計語義信息進行知識推理操作。路徑排序算法提供了一種定量計算兩者之間存在關系概率有多大的方法。算法的具體定義如下:
為了表述圖結構,定義R為二元關系,R(e,e′)表示e和e′具有關系R,滿足等式R(e)≡{e′,R(e,e′)},關系路徑P由一系列的關系R1R2…Rn組成,且對任意的整數i(1

(1)
式(1)主要用于在算法初始化時,計算第一步連接出發點與第二個節點的概率。假定分析一個STEP零件的設計過程,具體問題可表示為圖2,該零件的特征可能包括基于孔特征以及凸臺特征,首先查詢起點零件Part實體,考慮關系hasFeature,假設相關的Eq={Extrude,Rotate},對于任意的e∈Eq,此時會以相同的概率隨機游走到路徑a1,a2上來,對于零件組成面,則對應的為0,即不會游走到c1路徑上來。

圖2 零件通孔特征路徑選擇
若P=R1R2…Rn非空,則令P′=R1R2…Rn-1,則

(2)

假定R1為hasHoleFeature關系,R2為hasThrough
HoleFeature關系。假設上一步操作選擇了a1路徑,此時會進行第二步概率隨機游走,引入新的查詢實體range(R2)={ThroughHoleFeature},如果此時有ThroughHoleFeature,BlindHoleFeature兩個新實體e′與P相連接,首先根據式(2)判定e′與e是否存在關系,即這樣兩個三元組(HoleFeature,hasThroughHoleFeature,ThroughHoleFeature)與(HoleFeature,hasBlindHole


HoleFeature的h值明顯大于P1。
至此就可以根據所需的結果進行排序,整條關系路徑的權重值和計算公式為
θ1hEq,P1(e)+θ2hEq,P2(e)+…+θnhEq,Pn(e)
(3)
式中θi(i=1,…,n)表示路徑的模糊權重參數,其基本公式為
(4)
式中:μ為學習率參數,在迭代過程中保證權重參數值改變的速度;g(i)是外部改變函數,根據外部標注及規則來確定θi的值增加或減少的幅度;ε是一個固定的極小值,用以保證分母不為0。在每條路徑中,θi和不同結點之間的權重值的變化使得整條關系路徑的權重值和發生動態變化,隨著外部標注及特征識別信息的不斷補充,權重值和變化也越明顯,使得路徑推理中不同路徑的權重值差距也越明顯,結果也更趨向于準確。
為了彌補知識圖譜實體路徑繁雜、效率低等不足,引入了基于SWRL表達方法的STEP語義規則,在知識推理過程中,根據語義規則不斷迭代改變實體路徑的模糊權重參數,實現基于STEP語義規則的知識推理。本體是SWRL規則推理的操作對象,領域本體的構建支撐SWRL規則推理。產品信息語義元是知識層面操作的最基本單元,可以通過SWRL規則邏輯語句來表達產品數據語義元之間的關聯關系。SWRL主要包括表1所列的限制式。其中:C是基于實體類概念描述;Q是實體對象的屬性;P表示它們之間的聯系關系;x和y是變量、實例對象或者數據值;Q(x,y),P(x,y),SameAs(x,y),C(x)∧D(x),Not(C(x))分別表示概念C之間的各種邏輯關系。

表1 SWRL主要的限制式
語義規則的建立依賴于知識提取技術,SWRL規則包含類似Horn規則的高級抽象語言可以表達用戶自定義的OWL概念規則,由此提供較單獨網絡本體語言OWL更強的語義推理能力。一條SWRL規則包含一個前提條件和一個推理結果,如果前提條件中所有原子都成立,那么規則中的推理結果也必須成立,以判斷圓柱凸臺特征的語義規則為例,其推理前提由face_geometry_contains_advanced_face(?g,?f1);face_geometry_contains_advanece_face(?g,?f2);face_geometry_contains_advanced_face(?g,?f3);plane(?f1);plane(?f2);cylindrical_surface(?f3);advanced_face_has_DIcircle(?f2,?dc);advanced_face_has_vector(?f2,?n1);advanced_face_has_vector(?f3,?n2);vector_has_angle(?n1,?a);angle_has_more(?a,π/2)組成,當以上前提成立時,可推理出結果:face_geometry_has_convex_feature(?g,?cf)。
結果顯示零件具有圓柱凸臺特征。基于路徑排序算法并結合SWRL語義規則的知識推理算法步驟為
Step1提取STEP AP242文件中相關知識存入OWL文件。
Step2依據OWL文件創建相應產品信息語義元并存入知識圖譜中。
Step3對語義元間的連接權重進行初始化。
Step4依據推理目標的設計語義信息創建語義節點并設置其和實例節點連接權重為零。
Step5依據SWRL規則中的推理前提和實例庫進行匹配。
Step6依據路徑排序算法計算所有實例節點至語義節點權重。
Step7對路徑權重進行排序,輸出可能性最大的推理結果。
基于路徑排序算法的知識推理技術,一方面結合SWRL規則解決了傳統路徑排序算法多跳路徑的推理能力一般,且并未考慮路徑的可靠性和語義組合問題;另一方面使用圖推理方法,彌補傳統邏輯推理效率低的問題,且相比得出確定結果的傳統推理方法,路徑排序算法能用定量的概率來描述可能的推理結果。基于路徑排序算法的知識推理技術能有效地將SWRL規則推理和基于路徑排序算法的圖推理相結合,推理出STEP文件中隱藏的設計語義信息。
圖3為可視化平臺的體系架構圖,STEPAP242產品實例文件分別轉化為由語義元描述的OWL文件和三角面片描述的XML文件。根據OWL文件構建二維的語義元網絡,初始網絡中的語義元節點為基礎語義元節點,結合STEP的知識圖譜,添加設計意圖語義元節點并和基礎語義元節點建立語義連接,最終形成完整的二維語義元網絡。另外,利用轉化的XML文件中的三角面片描述可以實現產品實例的三維模型展示。二維語義元網絡和三維模型依據相應的ID編號相互關聯,二維語義元網絡的交互操作會使得產品實例三維模型發生相應的變化。通過可視化平臺系統,Web環境中的不同用戶可以隨時隨地通過Internet訪問產品實例如圖4所示,在添加適當標注的基礎上,實現知識推理操作,并在二維語義元網絡和三維模型中顯示出推理結果。

圖3 可視化平臺總體結構

圖4 三維可視平臺主界面
針對產品零件復雜特征問題,筆者選取了車床機座三維簡易模型,圖5為其語義元節點組成的知識圖譜的部分節點展示,其中實線表示從STEP文件中提取具有層次關系的語義元,并依據路徑排序算法將其路徑權重初始化為1,而需要推理的復雜特征語義元與其相關實例語義元之間的連線為虛線,且初始化權重為0,但使用基于路徑排序算法的知識推理方法推理后,其路徑權重發生變化,最終依據權重和規則推理出復雜特征。機座中包含了大量的單一特征和組合特征,包括臺階特征、槽特征以及由多臺階特征組成的陣列特征等。通過幾何特征的知識提取技術可以識別出簡單的幾何特征,然而由多臺階特征組成的臺階陣列特征則需要結合PMI尺寸信息和知識推理技術推理出來。

圖5 機座實例部分知識圖譜展示
具體推理過程為
1)載入產品零件的Step文件,將其轉化為以產品信息語義元為基本單位的OWL文件,圖6(a)為車床機座三維模型,圖6(b)為根據OWL文件生成的幾何節點圖,圖7為生成的設計意圖語義節點圖。在知識抽取和知識推理前,基礎語義元節點和設計意圖語義元節點之間不存在連線關系,即表明初始狀態下基礎語義元和設計意圖語義元之間互相獨立。

圖6 三維模型及其幾何節點圖

圖7 語義節點圖
2)結合基于幾何特征的知識提取技術,提取出產品零件中基本幾何特征信息,見表2。

表2 基本幾何特征信息
3)結合基于產品尺寸的知識提取技術,提取出產品零件中的具體的尺寸信息,見表3。

表3 PMI尺寸信息
4)結合鄰接圖和提取的PMI尺寸信息得到的具體推理結果展示如圖8所示。圖8(a)中的二維節點圖展示了具體的推理結果,可以看到產品模型的基礎集合語義元節點和設計意圖語義元節點形成了新的連線,基礎語義元節點以特征語義元節點為中心擴散分布,從節點圖中,可以清晰地看到基礎語義元節點和設計意圖語義元節點的關聯關系,如圖中面集合(#262,#263)構成了盲孔特征%blind_hole_feature。圖8(b)中的三維模型同樣展示了相關聯的推理結果,組成各特征的面以白色分于其他面。通過Alt+左鍵點擊左側二維圖中特征語義元節點%array_feature,右側三維模型中展示了由面集合(#232,#233,#234,#245)和面集合(#229,#230,#231,#240)組成的三臺階陣列特征。結果表明了基于三維產品可視的知識圖譜平臺構建和可視推理的可行性。

圖8 三維模型的推理結果圖
以STEP AP242協議為基礎,引入了知識圖譜體系結構,構建了STEP產品信息知識圖譜;然后在路徑排序算法的基礎上,嵌入STEP語義元規則,提出了基于STEP語義元規則的路徑排序算法以實現隱藏的語義信息的知識推理;最后結合基于Web環境的三維產品可視平臺實現STEP知識推理。