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