周建慧,張旭龍,高 云,郭艷萍,彭 煒
(山西大同大學 計算機與網(wǎng)絡工程學院,大同 037009)
復雜產(chǎn)品的設計涵蓋多個學科領域的工程知識,面向具體的設計任務實例,在各學科領域本體存在的基礎上,構建融合多個學科領域的集成化本體能夠為設計任務提供相關的工程知識[1]。不同學科領域的本體,無論是在結(jié)構層面還是在內(nèi)容層面,均存在較大的差異,導致多領域本體之間的規(guī)模差異較大。
本體集成是指以不同領域或相同領域下的多個本體,采用信息集成的手段,求同存異地建立一個集成化的本體。本體集成能夠為異構系統(tǒng)之間互通信和互操作提供有效的支撐[2],其過程是對本體中存在的異構信息的集成處理過程,本體集成中所能利用的異構信息包括詞法信息、結(jié)構信息、語義信息、外部信息、個體信息等[3~6],充分利用上述信息,能夠計算本體中節(jié)點之間的相似度,進而為本體集成提供依據(jù)。
目前常見的本體集成工具包括GLUE[7~9]、ASMOV[10~12]、Falcon[13]、DSSim[14]、Lily[15]等。這些工具也利用不同類型的信息進行相似度的計算。它們存在一個共同的特點:通常情況下,多本體的集成策略采用兩兩依次集成,即有本體O1,O2,O3,…,On,將O1與O2集成獲得O12,再將O12與O3集成獲得O123,依次進行最終獲得O123…n。兩兩依次集成更加適用于相同領域下多本體的集成,因為在相同領域條件下,領域本體的論域相同,其大多數(shù)概念和結(jié)構相似或者說領域本體的交集較大,兩兩依次集成獲得的中間本體的規(guī)模與原有領域本體的規(guī)模差距較小。
然而多領域本體之間的論域不同,大多數(shù)概念和結(jié)構不相似或者說領域本體的交集較小,所以兩兩依次集成獲得的中建本體的規(guī)模將不斷增大,例如O12與O3的規(guī)模差距較大,在O12與O3的集成過程中,將因為規(guī)模差距較大帶來信息不對稱的現(xiàn)象,導致集成效果降低,本體之間信息不對稱現(xiàn)象越嚴重,本體集成效果越不理想[16]。
基于上述原因,本文針對性地提出了一種新的本體集成方法,如圖1所示,該策略避免了領域不同帶來的影響,首先通過相似度計算獲得多個領域本體兩兩之間的映射結(jié)果,然后對映射結(jié)果進行聯(lián)結(jié)獲得全局映射結(jié)果,最后以全局映射結(jié)果為載體將領域本體中的節(jié)點依次按照規(guī)則合并至其中,最終獲得本體集成結(jié)果,總體流程的算法偽代碼如表1所示。
表1 算法總體流程偽代碼
圖1 基于映射聯(lián)結(jié)的本體集成總流程圖
元素級相似度是指領域本體中節(jié)點之間在字符串或語義層面的相似度。字符串相似度以領域本體節(jié)點的名稱作為計算條件求取相似度;語義相似度以領域本體節(jié)點的解釋性文本作為計算條件求取相似度。由于專業(yè)領域術語較為規(guī)范,且有明確定義,即解釋性文本,因此在求得兩類相似度之后,取二者中較大的相似度作為最終的元素級相似度。
1)字符串相似度
字符串相似度采用QRST方法進行計算。設字符串x和字符串y,采用中文分詞方法獲得x和y的分詞結(jié)果分別為{x1,x2,…,xn}和{y1,y2,…,ym},由式(1)計算字符串x和字符串y的相似度,式中相似度量值simstring(x,y)與Q值成正比,與R、S、T值成反比。
QRST方法中關鍵要素的含義如下:
Q代表字符串x和字符串y中均存在的詞匯總數(shù);
R代表字符串x中存在、字符串y中不存在的詞匯總數(shù);
S代表字符串x中不存在、字符串y中存在的詞匯總數(shù);
T代表字符串x和字符串y中詞匯的總數(shù);
λ為調(diào)節(jié)系數(shù),其含義是如果字符串x和字符串y中出現(xiàn)了相同的詞匯,認為字符串x和字符串y的相似度較大,則將λ值調(diào)增;反之則調(diào)減。
2)語義相似度
語義相似度的計算依賴于領域概念解釋性文本,解釋性文本通常以自然語言的形式存在,是對領域概念的說明,大多數(shù)情況下解釋性文本由若干語句組成。在文本相似度計算的研究中,基于特征向量空間模型的文本相似度計算方法是一種最為普遍并被廣泛應用的方法,該方法通過分詞獲得文本的關鍵詞,依據(jù)關鍵詞的詞頻確定特征詞,通常以詞頻較高的詞匯作為文本的特征詞,在事先構建的向量空間中生成文本對應的特征向量,根據(jù)向量之間的夾角最終計算文本之間的相似度,夾角越小,相似度越高。
對于領域本體之間的節(jié)點對,通過判斷其所屬本體中附近節(jié)點的映射關系,計算節(jié)點對之間的相似度。尋找附近節(jié)點主要依賴于領域本體中的分類關系,即父子/兄弟關系。依據(jù)領域本體構建的原理和本體論的原理,結(jié)構級相似度計算的啟發(fā)性規(guī)則分為三類:
1)父類規(guī)則:對于節(jié)點C1和C2,如果C1的父節(jié)點與C2的父節(jié)點存在元素級映射關系,則認為C1和C2在結(jié)構級上具有一定相似度。
設C1的父節(jié)點為SC1,C2的父節(jié)點為SC2,則C1與C2的結(jié)構級相似度計算方法如式(2)所示。
其中μP是父類規(guī)則中相似度衰減系數(shù);
2)子類規(guī)則:對于節(jié)點C1和C2,如果C1子節(jié)點集合中大部分節(jié)點與C2子節(jié)點集合中的節(jié)點存在元素級映射關系,則認為C1和C2在結(jié)構級上具有一定相似度。
設C1的子節(jié)點集合為BC1,C2的子節(jié)點集合為BC2,則C1與C2的結(jié)構級相似度計算方法如式(3)所示。
其中μB是相似度子類規(guī)則中相似度衰減系數(shù);設BC1包含m個節(jié)點,BC2包含n個節(jié)點,若BC1中存在k個節(jié)點與BC2中的k個節(jié)點具有元素級映射關系,則BC1與BC2的相似度計算方法如式(4)所示。
其中:ei1∈BC1,ei2∈BC2。
3)兄弟規(guī)則:對于節(jié)點C1和C2,如果C1兄弟節(jié)點集合中大部分節(jié)點與C2兄弟節(jié)點集合中的節(jié)點存在元素級映射關系,則認為C1和C2在結(jié)構級上具有一定相似度。
設C1的兄弟節(jié)點集合為RC1,C2的兄弟節(jié)點集合為RC2,則C1與C2的結(jié)構級相似度計算方法如式(5)所示。
其中μR是相似度兄弟類規(guī)則中相似度衰減系數(shù);設RC1包含m個節(jié)點,RC2包含n個節(jié)點,若RC1中存在k個節(jié)點與RC2中的k個節(jié)點具有元素級映射關系,則RC1與RC2的相似度計算方法如式(6)所示。
其中:ei1∈RC1,ei2∈RC2。
上述三歸類規(guī)則的結(jié)構級相似度求得后,通過加權求和的方式對三類結(jié)構級相似度進行融合,進而獲得領域本體節(jié)點之間最終的結(jié)構級相似度,如式(7)所示。
其中α、β、γ分別為父類規(guī)則結(jié)構級相似度、子類規(guī)則結(jié)構級相似度、兄弟規(guī)則結(jié)構級相似度所占的絕對權重,并且根據(jù)領域本體分類關系構建的原理,可以得出啟發(fā)性的規(guī)律:父子關系比兄弟關系更重要,父類比子類更重要,即α>β>γ。
每兩個本體之間包含若干條映射關系,每條映射關系包含兩個本體中的節(jié)點、映射類型和相似度。在進行映射結(jié)果聯(lián)結(jié)之前,需要對映射關系按照某種規(guī)范進行形式化表達以滿足計算機語言的執(zhí)行要求。本文將采用范疇論原理對映射結(jié)果進行形式化表達。
考慮如圖2所示的映射結(jié)果示意,其中包含兩部分信息:映射關系信息和領域本體的信息。依據(jù)范疇論原理,對兩部分信息分別進行形式化表達。
圖2 本體映射結(jié)果示意圖
1)領域本體的形式化表達
依據(jù)范疇論原理,領域子本體可以看作一個范疇,即領域子本體O1可以表示為范疇C1,領域子本體O2可以表示為范疇C2。則范疇C1和C2可以表示為:
其中eij為領域本體中存在映射關系的節(jié)點,ri和si為存在映射關系的節(jié)點在領域本體中的關系。
2)映射關系的形式化表達
依據(jù)范疇論原理,領域本體之間的映射關系可以看作態(tài)射,即圖中所示的三條映射關系可以表示為:
除此之外,圖中隱含了兩條關系之間的映射關系,可以表示為:
領域本體的映射關系可以表示為:
有上述范疇論的表示,依據(jù)范疇論中的原理,可以獲得如下結(jié)果:
其中態(tài)射f的取值為二元組,可以表示為:
L為映射關系類型,w為映射關系相似度。
對映射關系進行形式化表達后,針對映射關系的不同類型和權重對其進行聯(lián)結(jié)以獲得全局映射結(jié)果。映射結(jié)果中映射關系的類型包括相等、包含和不相交三種類型。相等關系表示兩個節(jié)點完全等價;包含關系表示兩個節(jié)點具有父子關系,不相交關系表示兩個節(jié)點的子節(jié)點交集為空。相等關系主要用于映射結(jié)果中節(jié)點的聯(lián)結(jié),包含關系主要用于判斷相等關系是否正確,不相交關系主要用于判斷獲得的全局映射結(jié)果中是否存在冗余或錯誤。
1)相等關系
當f滿足f.L=“=”;f.w>δ條件時,即為相等關系。此時,依次判斷態(tài)射f的定義域和值域,即映射關系連接的兩個節(jié)點在其領域本體中與其他包含在映射結(jié)果中的節(jié)點的關系是否存在矛盾,若存在矛盾,則依據(jù)f的權重進行矛盾消解,消解規(guī)則將在下文詳細闡述,此處重點闡述映射結(jié)果聯(lián)結(jié)的規(guī)則。若不存在矛盾或矛盾消解后,隨機選擇一個態(tài)射f的定義域節(jié)點或值域節(jié)點添加至全局映射結(jié)果中。
2)包含關系
當f滿足f.L=“?”or f.L=“?”;f.w>δ條件時,即為包含關系。包含關系用于判斷具有相等關系的領域本體節(jié)點之間是否存在矛盾,以圖2所示的本體映射結(jié)果為例,f1(e11)=e21,f2(e12)=e22。若f1.L=“=”并且f2.L=“?”,由于e11和e12在領域子本體O1中的關系r1為父子關系,同理s1也為父子關系,因此判定f1與f2存在矛盾,矛盾發(fā)生后,比較f1.w和f2.w的值的大小關系,保留權重較大的關系,即:若f1.w>f2.w,則忽視f2,反之則忽視f1并刪除相等關系做出的操作。
3)不相交關系
當f滿足f.L=“⊥”;f.w>δ條件時,即為不相交關系。與包含關系類似,當不相交關系連接的節(jié)點在全局映射結(jié)果中存在一級關系時,則判定該關系與一級關系存在矛盾,所謂一級關系,是指直接父子/兄弟關系,通俗地說,當A的上一級父節(jié)點或下一級子節(jié)點為B,則A與B存在直接父子關系;當A的上一級父節(jié)點C的下一級子節(jié)點為B,則A與B存在直接兄弟關系。矛盾發(fā)生時,同理,依據(jù)權重進行矛盾消解,保留權重較大的關系。
獲得全局映射結(jié)果后,依次對每個本體中的節(jié)點與全局映射結(jié)果合并。如圖3所示,首先需要基于全局映射結(jié)果對領域本體進行標定,將其中包含的節(jié)點進行標記;然后以標定節(jié)點為起點按照分類和約束關系查找其附近節(jié)點,并對查找獲得的節(jié)點進行判斷,判斷其是否存在復合關系,復合關系是指領域本體中通過查找獲得的節(jié)點可能與全局映射結(jié)果中多個節(jié)點均具有分類關系,對復合關系進行處理后,處理過程在下文詳細闡述,將查找獲得的節(jié)點與全局映射結(jié)果通過新增的方式進行合并;隨后更新全局映射結(jié)果重復上述步驟直至領域子本體中所有節(jié)點均被標記,迭代結(jié)束。
圖3 節(jié)點合并流程圖
1)標定領域本體
標定領域本體是遍歷全局映射結(jié)果中所有的節(jié)點,若存在該節(jié)點則將其標記。
2)查找附近節(jié)點
標定領域本體后,以被標記的節(jié)點為起點,在領域本體中依次查詢其父節(jié)點和子節(jié)點,并將其加入節(jié)點合并候選集中。
3)復合關系判斷與分解
復合關系判斷是領域概念合并過程中的關鍵問題,復合關系是指如果領域本體中被標記的節(jié)點x存在父節(jié)點y,而y與除x外的其他某被標記的節(jié)點z存在分類關系,則稱y在具有復合關系。例如圖4所示的領域子體和全局映射結(jié)果中,右側(cè)領域本體中,節(jié)點“仿人機器人”與被標記的節(jié)點“導航系統(tǒng)”和“機器人”同時存在分類關系,則稱節(jié)點“仿人機器人”在全局映射結(jié)果中具有復合關系。
圖4 節(jié)點復合關系示例圖
當出現(xiàn)復合關系時,則需要對全局映射結(jié)果中的分類關系進行分解,即將分類關系{導航,subClassOf,機器人}分解為{導航,subClassOf,仿人機器人}和{仿人機器人,subClassOf,機器人}。分解的依據(jù)來自于領域本體中被標記的節(jié)點之間的分類關系。
4)節(jié)點與全局映射結(jié)果合并
所有復合關系通過分解處理后,將領域本體中的節(jié)點添加至全局映射結(jié)果模型中。添加完成后,以更新后的全局映射結(jié)果為基礎,重新標定領域本體,重復上述步驟,當領域本體中所有領域概念均被標記時,則認為該領域本體的節(jié)點已全部合并至全局映射結(jié)果中,算法結(jié)束。
本文將以工業(yè)機器人機構領域本體、控制領域本體、力學領域本體的集成為例進行詳細說明。首先,分別通過本體映射獲得兩兩之間的本體映射結(jié)果,計算結(jié)果如表2所示,映射過程的參數(shù)如前文所述,根據(jù)經(jīng)驗,λ取2.2;參照GLUE中的參數(shù)取值,μP和μB取0.8,μR取0.7(GLUE中μR取值也為0.8,本文認為兄弟關系的重要程度低于父子關系的重要程度,因此取0.7);參照Falcon中的參數(shù)取值,α、β、γ分別取0.5、0.3、0.2;然后將映射結(jié)果進行形式化表達后,分別對映射結(jié)果之間存在的相等關系、包含關系和不相交關系按照上文給定的規(guī)則進行合并,獲得合并后的全局映射結(jié)果,如圖5所示;最后,將領域本體中的節(jié)點依次與全局映射結(jié)果合獲得最終集成結(jié)果,如圖6所示。
圖5 全局映射結(jié)果片段實例
圖6 集成化本體片段實例
表2 工業(yè)機器人多領域本體映射結(jié)果
本文以本體集成的準確率、召回率以及冗余度作為評價指標,與常見的本體集成系統(tǒng)DSSim、GLUE、Falcon、Lily進行對比,對比結(jié)果如圖7所示??梢钥闯觯疚姆椒ǔ郎蚀_率不及GLUE,召回率和冗余度都優(yōu)于其他方法。
圖7 實驗結(jié)果對比圖
本文根據(jù)多學科領域本體規(guī)模差異性明顯的特點,針對兩兩依次集成在多領域本體集成中存在的問題,提出一種面向多領域知識融合的本體集成方法。該方法依據(jù)映射結(jié)果一次性生成全局映射結(jié)果,隨后依次將每個領域本體與全局映射結(jié)果合并,規(guī)避了因規(guī)模和復雜度依次遞增而產(chǎn)生信息不對稱現(xiàn)象最終影響其集成結(jié)果的問題。通過實例驗證和對比,說明本文提出的方法更加適用于多領域本體的集成,在召回率和冗余度方面表現(xiàn)的效果較優(yōu)。能夠應用于復雜產(chǎn)品的設計與制造系統(tǒng)中,為不同專業(yè)學科系統(tǒng)之間的互通信和互操作提供一種解決方案。