(浙江工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,浙江 杭州 310023)
傳統(tǒng)的產(chǎn)品信息交換與共享一直以來側(cè)重于幾何數(shù)據(jù)的交換與共享,由于幾何數(shù)據(jù)中不包含設(shè)計者的設(shè)計歷史、設(shè)計約束和特征等高層語義信息,無法實現(xiàn)高層語義信息的交換與共享,因此在參數(shù)化特征建模已經(jīng)成為CAD標準建模方法的今天,無法對原設(shè)計進行設(shè)計意圖的定位和重用[1-3]。STEP本體化方法[4-7]仍受限于傳統(tǒng)的語法轉(zhuǎn)換層次,語義推理依靠大量的本體規(guī)則定義,沒有充分挖掘STEP信息中隱藏的語義知識。STEP AP242不僅僅是將原有的三維幾何模型、產(chǎn)品制造信息PMI(Product manufacturing information)和自適應(yīng)制造生產(chǎn)集成在一起,而且將這三部分有關(guān)特征設(shè)計語義知識描述具體應(yīng)用到了該應(yīng)用協(xié)議中,為基于特征的設(shè)計語義信息(包括特征、參數(shù)、約束和構(gòu)造歷史)的表達和交換打下基礎(chǔ)[8-9]。當(dāng)前主流的CAD系統(tǒng)主要通過特征、參數(shù)、約束和構(gòu)造歷史四個方面來推測表達產(chǎn)品設(shè)計語義信息。設(shè)計語義信息是產(chǎn)品信息交換與共享中一個重要的部分,但設(shè)計意圖信息往往隱藏在STEP文件中,因此需要合適的技術(shù)從STEP文件中推理出設(shè)計意圖信息。知識圖譜是一種能表示實體之間關(guān)系的知識表示方式,它能夠形式化地描述現(xiàn)實世界事物之間的相互關(guān)系。將知識圖譜的形式化描述和眾多的知識推理方法結(jié)合,可以挖掘出STEP文件中更多隱含的產(chǎn)品語義信息。
知識推理的方法主要包括基于邏輯規(guī)則的推理方法和基于圖的關(guān)系推理方法?;谶壿嬕?guī)則推理包含基于SWRL的規(guī)則推理、描述邏輯推理和一階謂詞邏輯推理等,該方法一般由邏輯規(guī)則集合和具體事實集合兩部分組成,存在推理步驟繁瑣且推理效率不高的問題[10-11]?;趫D的實體關(guān)系推理包括張量分解和路徑排序算法推理兩個方面,張量分解用于知識圖譜學(xué)習(xí)和推理過程中時,只考慮知識圖譜中實體與實體間的直接關(guān)系,忽略知識圖譜圖形結(jié)構(gòu)的特點[12],而路徑排序算法通過圖中兩個實體間的多跳路徑結(jié)合關(guān)系路徑中蘊藏的信息,實現(xiàn)預(yù)測兩個實體間的語義關(guān)系。筆者針對邏輯規(guī)則推理和張量分解算法的不足,以基于模型定義的STEP AP242應(yīng)用協(xié)議為設(shè)計語義知識交換的研究對象,引入知識圖譜[13-15]的理論基礎(chǔ),提出將規(guī)則推理和路徑排序算法相結(jié)合的知識推理方法。首先,將STEP產(chǎn)品數(shù)據(jù)實例本體化為三元組語義元實例,構(gòu)建產(chǎn)品三維幾何信息與非幾何信息語義關(guān)聯(lián)的STEP知識圖譜;其次,在知識圖譜的基礎(chǔ)上提出基于路徑排序算法的STEP特征知識推理技術(shù);最后,結(jié)合基于三維產(chǎn)品信息可視的知識圖譜平臺實例進行論證。
STEP知識圖譜結(jié)構(gòu)分兩大類關(guān)系:一類是應(yīng)用協(xié)議層語義關(guān)系,另一類是STEP實例層關(guān)系。知識圖譜的基本結(jié)構(gòu)由應(yīng)用協(xié)議層語義關(guān)系圖GM和STEP實例層關(guān)系圖GE組成,即KG=(GM,GE)。其中,應(yīng)用協(xié)議層語義關(guān)系圖表示應(yīng)用協(xié)議概念層級結(jié)構(gòu);STEP實例層關(guān)系圖表示STEP實例及其之間的關(guān)系。應(yīng)用協(xié)議層語義關(guān)系圖GM=(CM,RM),其中CM表示圖中概念節(jié)點,RM表示由多條邊連接的兩個概念之間的關(guān)系邊。STEP實例層關(guān)系圖表GE=(EE,RE),其中EE表示圖中實體節(jié)點,RE表示由多條邊連接的兩個實體之間的關(guān)系邊。
STEP知識圖譜是通過實體及其語義關(guān)系來表達產(chǎn)品幾何信息和設(shè)計語義信息知識的圖。圖結(jié)構(gòu)由語義元節(jié)點集合和邊集合構(gòu)成KG={
STEP知識圖譜體系結(jié)構(gòu)如圖1所示,主要由知識庫、規(guī)則庫和實例庫三部分構(gòu)成。實例庫中存放了大量由STEP242實例文件轉(zhuǎn)化的以語義元節(jié)點為基礎(chǔ)的OWL文件,另外語義信息標注可以補充轉(zhuǎn)化過程中丟失的語義信息;知識庫中存放了大量的事實三元組,分為基本知識庫和擴展知識庫兩部分,其中基本知識庫由STEP AP242應(yīng)用協(xié)議庫生成,擴展知識庫通過對實例庫的知識抽取動態(tài)生成;規(guī)則庫中包含了大量的規(guī)則信息用于設(shè)計意圖信息的推理。知識圖譜主要通過自頂而下和自底向上兩種方式來構(gòu)建:自頂向下指的是根據(jù)應(yīng)用協(xié)議庫定義好產(chǎn)品語義信息元結(jié)構(gòu)和幾何關(guān)系,再添加到基本知識庫;自底向上指的是基于設(shè)計語義知識表述提出的設(shè)計語義實體信息的層次結(jié)構(gòu),構(gòu)建STEP AP242應(yīng)用協(xié)議庫不包含的設(shè)計意圖語義元及語義元間的連接關(guān)系,并加入到知識庫從而實現(xiàn)知識庫的動態(tài)擴展。通過兩種構(gòu)建方式的結(jié)合,可以更有效地構(gòu)建知識圖譜中的知識庫。實例庫、知識庫和規(guī)則庫三者互相關(guān)聯(lián),共同組成了面向設(shè)計語義的知識圖譜的體系結(jié)構(gòu),實例庫作為知識庫的基礎(chǔ),提供了知識庫的事實依據(jù),而知識庫中的大量事實提取出通用性的語義規(guī)則,結(jié)合外部添加的語義規(guī)則標注,這些語義規(guī)則反作用于實例庫,推理出新導(dǎo)入實例的語義信息。
圖1 知識圖譜體系結(jié)構(gòu)
作為知識圖譜的基本單位,產(chǎn)品信息語義元及其之間的關(guān)系構(gòu)成了知識圖譜網(wǎng)絡(luò)的節(jié)點和連線,這些節(jié)點和連線構(gòu)成了大量的實體路徑,從而通過計算不同實體路徑的權(quán)重來對設(shè)計語義信息進行知識推理操作。路徑排序算法提供了一種定量計算兩者之間存在關(guān)系概率有多大的方法。算法的具體定義如下:
為了表述圖結(jié)構(gòu),定義R為二元關(guān)系,R(e,e′)表示e和e′具有關(guān)系R,滿足等式R(e)≡{e′,R(e,e′)},關(guān)系路徑P由一系列的關(guān)系R1R2…Rn組成,且對任意的整數(shù)i(1
(1)
式(1)主要用于在算法初始化時,計算第一步連接出發(fā)點與第二個節(jié)點的概率。假定分析一個STEP零件的設(shè)計過程,具體問題可表示為圖2,該零件的特征可能包括基于孔特征以及凸臺特征,首先查詢起點零件Part實體,考慮關(guān)系hasFeature,假設(shè)相關(guān)的Eq={Extrude,Rotate},對于任意的e∈Eq,此時會以相同的概率隨機游走到路徑a1,a2上來,對于零件組成面,則對應(yīng)的為0,即不會游走到c1路徑上來。
圖2 零件通孔特征路徑選擇
若P=R1R2…Rn非空,則令P′=R1R2…Rn-1,則
(2)
假定R1為hasHoleFeature關(guān)系,R2為hasThrough
HoleFeature關(guān)系。假設(shè)上一步操作選擇了a1路徑,此時會進行第二步概率隨機游走,引入新的查詢實體range(R2)={ThroughHoleFeature},如果此時有ThroughHoleFeature,BlindHoleFeature兩個新實體e′與P相連接,首先根據(jù)式(2)判定e′與e是否存在關(guān)系,即這樣兩個三元組(HoleFeature,hasThroughHoleFeature,ThroughHoleFeature)與(HoleFeature,hasBlindHole
HoleFeature的h值明顯大于P1。
至此就可以根據(jù)所需的結(jié)果進行排序,整條關(guān)系路徑的權(quán)重值和計算公式為
θ1hEq,P1(e)+θ2hEq,P2(e)+…+θnhEq,Pn(e)
(3)
式中θi(i=1,…,n)表示路徑的模糊權(quán)重參數(shù),其基本公式為
(4)
式中:μ為學(xué)習(xí)率參數(shù),在迭代過程中保證權(quán)重參數(shù)值改變的速度;g(i)是外部改變函數(shù),根據(jù)外部標注及規(guī)則來確定θi的值增加或減少的幅度;ε是一個固定的極小值,用以保證分母不為0。在每條路徑中,θi和不同結(jié)點之間的權(quán)重值的變化使得整條關(guān)系路徑的權(quán)重值和發(fā)生動態(tài)變化,隨著外部標注及特征識別信息的不斷補充,權(quán)重值和變化也越明顯,使得路徑推理中不同路徑的權(quán)重值差距也越明顯,結(jié)果也更趨向于準確。
為了彌補知識圖譜實體路徑繁雜、效率低等不足,引入了基于SWRL表達方法的STEP語義規(guī)則,在知識推理過程中,根據(jù)語義規(guī)則不斷迭代改變實體路徑的模糊權(quán)重參數(shù),實現(xiàn)基于STEP語義規(guī)則的知識推理。本體是SWRL規(guī)則推理的操作對象,領(lǐng)域本體的構(gòu)建支撐SWRL規(guī)則推理。產(chǎn)品信息語義元是知識層面操作的最基本單元,可以通過SWRL規(guī)則邏輯語句來表達產(chǎn)品數(shù)據(jù)語義元之間的關(guān)聯(lián)關(guān)系。SWRL主要包括表1所列的限制式。其中:C是基于實體類概念描述;Q是實體對象的屬性;P表示它們之間的聯(lián)系關(guān)系;x和y是變量、實例對象或者數(shù)據(jù)值;Q(x,y),P(x,y),SameAs(x,y),C(x)∧D(x),Not(C(x))分別表示概念C之間的各種邏輯關(guān)系。
表1 SWRL主要的限制式
語義規(guī)則的建立依賴于知識提取技術(shù),SWRL規(guī)則包含類似Horn規(guī)則的高級抽象語言可以表達用戶自定義的OWL概念規(guī)則,由此提供較單獨網(wǎng)絡(luò)本體語言O(shè)WL更強的語義推理能力。一條SWRL規(guī)則包含一個前提條件和一個推理結(jié)果,如果前提條件中所有原子都成立,那么規(guī)則中的推理結(jié)果也必須成立,以判斷圓柱凸臺特征的語義規(guī)則為例,其推理前提由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)組成,當(dāng)以上前提成立時,可推理出結(jié)果:face_geometry_has_convex_feature(?g,?cf)。
結(jié)果顯示零件具有圓柱凸臺特征?;诼窂脚判蛩惴ú⒔Y(jié)合SWRL語義規(guī)則的知識推理算法步驟為
Step1提取STEP AP242文件中相關(guān)知識存入OWL文件。
Step2依據(jù)OWL文件創(chuàng)建相應(yīng)產(chǎn)品信息語義元并存入知識圖譜中。
Step3對語義元間的連接權(quán)重進行初始化。
Step4依據(jù)推理目標的設(shè)計語義信息創(chuàng)建語義節(jié)點并設(shè)置其和實例節(jié)點連接權(quán)重為零。
Step5依據(jù)SWRL規(guī)則中的推理前提和實例庫進行匹配。
Step6依據(jù)路徑排序算法計算所有實例節(jié)點至語義節(jié)點權(quán)重。
Step7對路徑權(quán)重進行排序,輸出可能性最大的推理結(jié)果。
基于路徑排序算法的知識推理技術(shù),一方面結(jié)合SWRL規(guī)則解決了傳統(tǒng)路徑排序算法多跳路徑的推理能力一般,且并未考慮路徑的可靠性和語義組合問題;另一方面使用圖推理方法,彌補傳統(tǒng)邏輯推理效率低的問題,且相比得出確定結(jié)果的傳統(tǒng)推理方法,路徑排序算法能用定量的概率來描述可能的推理結(jié)果?;诼窂脚判蛩惴ǖ闹R推理技術(shù)能有效地將SWRL規(guī)則推理和基于路徑排序算法的圖推理相結(jié)合,推理出STEP文件中隱藏的設(shè)計語義信息。
圖3為可視化平臺的體系架構(gòu)圖,STEPAP242產(chǎn)品實例文件分別轉(zhuǎn)化為由語義元描述的OWL文件和三角面片描述的XML文件。根據(jù)OWL文件構(gòu)建二維的語義元網(wǎng)絡(luò),初始網(wǎng)絡(luò)中的語義元節(jié)點為基礎(chǔ)語義元節(jié)點,結(jié)合STEP的知識圖譜,添加設(shè)計意圖語義元節(jié)點并和基礎(chǔ)語義元節(jié)點建立語義連接,最終形成完整的二維語義元網(wǎng)絡(luò)。另外,利用轉(zhuǎn)化的XML文件中的三角面片描述可以實現(xiàn)產(chǎn)品實例的三維模型展示。二維語義元網(wǎng)絡(luò)和三維模型依據(jù)相應(yīng)的ID編號相互關(guān)聯(lián),二維語義元網(wǎng)絡(luò)的交互操作會使得產(chǎn)品實例三維模型發(fā)生相應(yīng)的變化。通過可視化平臺系統(tǒng),Web環(huán)境中的不同用戶可以隨時隨地通過Internet訪問產(chǎn)品實例如圖4所示,在添加適當(dāng)標注的基礎(chǔ)上,實現(xiàn)知識推理操作,并在二維語義元網(wǎng)絡(luò)和三維模型中顯示出推理結(jié)果。
圖3 可視化平臺總體結(jié)構(gòu)
圖4 三維可視平臺主界面
針對產(chǎn)品零件復(fù)雜特征問題,筆者選取了車床機座三維簡易模型,圖5為其語義元節(jié)點組成的知識圖譜的部分節(jié)點展示,其中實線表示從STEP文件中提取具有層次關(guān)系的語義元,并依據(jù)路徑排序算法將其路徑權(quán)重初始化為1,而需要推理的復(fù)雜特征語義元與其相關(guān)實例語義元之間的連線為虛線,且初始化權(quán)重為0,但使用基于路徑排序算法的知識推理方法推理后,其路徑權(quán)重發(fā)生變化,最終依據(jù)權(quán)重和規(guī)則推理出復(fù)雜特征。機座中包含了大量的單一特征和組合特征,包括臺階特征、槽特征以及由多臺階特征組成的陣列特征等。通過幾何特征的知識提取技術(shù)可以識別出簡單的幾何特征,然而由多臺階特征組成的臺階陣列特征則需要結(jié)合PMI尺寸信息和知識推理技術(shù)推理出來。
圖5 機座實例部分知識圖譜展示
具體推理過程為
1)載入產(chǎn)品零件的Step文件,將其轉(zhuǎn)化為以產(chǎn)品信息語義元為基本單位的OWL文件,圖6(a)為車床機座三維模型,圖6(b)為根據(jù)OWL文件生成的幾何節(jié)點圖,圖7為生成的設(shè)計意圖語義節(jié)點圖。在知識抽取和知識推理前,基礎(chǔ)語義元節(jié)點和設(shè)計意圖語義元節(jié)點之間不存在連線關(guān)系,即表明初始狀態(tài)下基礎(chǔ)語義元和設(shè)計意圖語義元之間互相獨立。
圖6 三維模型及其幾何節(jié)點圖
圖7 語義節(jié)點圖
2)結(jié)合基于幾何特征的知識提取技術(shù),提取出產(chǎn)品零件中基本幾何特征信息,見表2。
表2 基本幾何特征信息
3)結(jié)合基于產(chǎn)品尺寸的知識提取技術(shù),提取出產(chǎn)品零件中的具體的尺寸信息,見表3。
表3 PMI尺寸信息
4)結(jié)合鄰接圖和提取的PMI尺寸信息得到的具體推理結(jié)果展示如圖8所示。圖8(a)中的二維節(jié)點圖展示了具體的推理結(jié)果,可以看到產(chǎn)品模型的基礎(chǔ)集合語義元節(jié)點和設(shè)計意圖語義元節(jié)點形成了新的連線,基礎(chǔ)語義元節(jié)點以特征語義元節(jié)點為中心擴散分布,從節(jié)點圖中,可以清晰地看到基礎(chǔ)語義元節(jié)點和設(shè)計意圖語義元節(jié)點的關(guān)聯(lián)關(guān)系,如圖中面集合(#262,#263)構(gòu)成了盲孔特征%blind_hole_feature。圖8(b)中的三維模型同樣展示了相關(guān)聯(lián)的推理結(jié)果,組成各特征的面以白色分于其他面。通過Alt+左鍵點擊左側(cè)二維圖中特征語義元節(jié)點%array_feature,右側(cè)三維模型中展示了由面集合(#232,#233,#234,#245)和面集合(#229,#230,#231,#240)組成的三臺階陣列特征。結(jié)果表明了基于三維產(chǎn)品可視的知識圖譜平臺構(gòu)建和可視推理的可行性。
圖8 三維模型的推理結(jié)果圖
以STEP AP242協(xié)議為基礎(chǔ),引入了知識圖譜體系結(jié)構(gòu),構(gòu)建了STEP產(chǎn)品信息知識圖譜;然后在路徑排序算法的基礎(chǔ)上,嵌入STEP語義元規(guī)則,提出了基于STEP語義元規(guī)則的路徑排序算法以實現(xiàn)隱藏的語義信息的知識推理;最后結(jié)合基于Web環(huán)境的三維產(chǎn)品可視平臺實現(xiàn)STEP知識推理。