吳 楠,唐雪明
(1.南寧師范大學 計算機與信息工程學院,廣西 南寧 530199;2.南寧師范大學 物理與電子學院,廣西 南寧 530199)
本體(Ontology)通常由該領域內的專家、學者定義,由于構建準則的多樣性及研究者們對于知識理解的程度不同,導致本體異構(Ontology Heterogeneity)現象[1]。為建立具有語義相關概念之間的對應關系,解決不同本體間的知識共享問題,提出了本體匹配(Ontology Matching,OM)方法,本體匹配也稱為本體對齊(Ontology Alignment,OA)[2]。
研究表明,兩個概念間單一的相似度方法無法準確判斷兩個概念是否匹配,綜合衡量多種相似性策略可以有效提升匹配效率[3]。近年來,研究者們圍繞如何更高效地整合多種相似度計算結果,提出基于機器學習的本體匹配方法[4]。該方法的基本思想是將匹配問題轉化為分類問題,采用分類模型判斷兩個概念是否匹配。例如,Bulygin等人[5]提出一種將基于字符、語言和結構的相似性結果與機器學習技術相結合的方法。該方法未考慮不同相似性結果之間的相關性,導致匹配結果不理想。因此,吳子儀等人[6]提出一種基于自注意力模型融合多維相似度的方法。實驗結果表明,與傳統的機器學習方法相比,該方法能夠自主學習不同相似度方法之間的權重,從而高效地融合匹配結果,得到了更佳的匹配效果。此外,Rudwan等人[7]提出一種將模糊字符匹配算法和雙向編碼器模型與三個回歸分類器相結合的方法。首先,考慮了本體的詞匯和語義特征,以解決模糊字符匹配算法的局限性。然后,使用機器學習方法改善匹配的結果。該方法忽略了概念間的結構特征,導致匹配結果的準確率不高。
綜上所述,本文提出一種基于多頭自注意力模型的本體匹配方法(Ontology Matching Method Based on the Multi-Head Self-Attention Model,OM-MHSA)。主要有三個貢獻:① 同時考慮類和屬性的多種相似度。② 采用OWL2Vec*方法[8]獲取本體的語義嵌入表示,高效提取本體中包含的圖結構、詞匯信息以及邏輯構造函數等語義信息,以挖掘本體間隱藏的語義關系。③ 使用Multi-Head Self-Attention Model融合三種不同相似性度量結果并判斷實體是否匹配。
因本體的結構較為復雜,通常采用Web本體語言(Web Ontology Language,OWL)進行描述。當前,對本體沒有標準的定義,將采用最常見的形式化定義。
定義1本體[9]按照分類法由5個基本元素構成。通常也將本體寫為如下三元組形式:
O=
(1)
式中:C代表類集合,P代表屬性集合,H代表類的層次關系。類和屬性統稱為概念,而概念的實例也稱為實體[10]。因此,本文將同時考慮本體中類和屬性的相似度。
定義2本體匹配[11]方法的思想是找到具有相似或相同含義的概念之間的語義關聯,其中每一對關聯概念被稱為一個匹配對(或映射對)。
為方便理解,本文的匹配任務僅考慮兩個概念等價的情況。對于兩個待匹配的本體O1和O2,可寫成如下形式:
R=
(2)
式中:R代表兩個本體的匹配結果,e1∈O1代表本體O1中的實體,e2∈O2代表本體O2中的實體,f(e1,e2)代表實體e1與e2關系的置信度,且f的取值區間為[0,1]。f值越大,說明實體e1與e2表示相同事物的概率越高。
本體匹配方法一般是研究不同本體間實體的相似性,從而實現本體間的互操性。為全面、精確地衡量本體中類和屬性的相似性,可以從字符級、語義級和結構級等不同角度出發。
1.2.1 基于字符的相似性計算方法
該方法的基本思想是:對于待匹配的兩個實體,將字符的共現和重復程度作為匹配對的相似值[12]。常規的計算方法有N-gram、編輯距離(Edit Distance)、最長公共子串(Longest Common Sub-string)等。基于N-gram計算實體的相似度公式如下:
(3)
式中:N代表滑動窗口的大小,通常取值為1、2、3、4;m代表實體e1與e2同時出現N個相同排序的字符個數;max(length(e1),length(e2))代表取實體e1與e2長度的最大值。
利用式(3)以N=3為例,計算e1=“significant”和e2=“signature”的相似度值如下:e1與e2具有兩個相同排序的字符“sig”“ign”,故相似度為sim(e1,e2)=2×(3/11)=0.545。“significant”譯為顯著的,“signature”譯為簽名,二者在語義上并無關聯。因此,不能只考慮該方法,需結合其他相似度計算方法。
1.2.2 基于語義的相似性計算方法
顧名思義,該方法可挖掘實體間語義層面的相似性[13]。常用的方法有同義詞典WordNet[14]、詞嵌入Word2vec[15]。與典型的知識圖相比,OWL不僅包含圖結構、詞匯信息,還包括邏輯構造函數(Logical Constructors)。而OWL2Vec*方法可以較好地對這些信息進行語義編碼,所以本文將選擇OWL2Vec*方法獲取匹配本體的語義表示,再使用式(4)計算相似度:
(4)
式中:v1代表實體e1的語義嵌入表示,v2代表實體e2的語義嵌入表示,sim(v1,v2)的取值范圍為[-1,1],-1表示實體e1與e2完全不相似,1表示完全相似。
1.2.3 基于結構的相似性計算方法
本體除文本信息外,還可利用subclassof、is-a和part-of等語義關系獲取本體的結構信息。匹配的類或屬性往往具有相似的結構[16]。因此,本文將考慮實體的父類及類路徑之間的相似度。例如,使用Protégé軟件查看ekaw本體概念層次的部分結果如圖1所示,可以看出,對于類“Conference_Trip”,其父類為“Social_Event”,類的完整路徑為“Thing/Event/Social_Event/Conference_Trip”。

圖1 父類及其路徑信息Fig.1 Parent class and its path information
圖2為本文提出的匹配模型,處理過程主要分為4步。首先處理輸入的OWL,接著計算相似度值,然后利用Multi-Head Self-Attention模型學習特征的權重,最后輸出匹配的結果。

圖2 本體匹配模型圖Fig.2 Ontology matching model diagram
(1) 提取文本信息
本體包含豐富的信息,但有些信息利用描述邏輯(Description Logic,DL)隱式表示。因此,需利用特定工具解析待匹配本體。本文選擇OWLReady2包中可操作OWL的函數,抽取待匹配本體的類、屬性、類的父類及類的完整路徑等信息。
(2) 獲取語義嵌入表示
首先,從本體的圖結構、邏輯構造函數和詞匯中提取信息,構建相應的結構和詞法語料庫。然后,從結構語料庫和實體注釋中進一步提取出組合文檔,以保留詞匯信息中實體和單詞間的相關性。最后,將結構、語法和組合語料庫融合為一個語料庫,利用Skip-gram模型訓練詞嵌入,以獲得本體的語義嵌入表示。
① 從本體O1和O2中取出兩個待匹配的類和屬性,記為實體e1與e2,將實體的父類記為parent1和parent2,將類的完整路徑記為Path1和Path2。
② 利用式(3)~(4)依次計算實體e1與e2的字符、語義和結構相似度,分別記為simstring(e1,e2),simsemantic(e1,e2),simstructure(e1,e2);同理,計算實體父類及類路徑的字符、語義以及結構相似度。
假設本體O1和O2共有N個實體對待匹配,其中每個實體對記為i。對于待匹配的實體對i分別使用字符級、語義級和結構級的相似度方法計算其相似度值。其相似度特征向量可寫為如下形式:
Xi=[simstringi,simsemantici,simstructurei],
(5)
式中:i代表實體對,取值范圍為[1,N];Xi表示實體對的相似度特征向量;simstringi、simsemantici和simstructurei分別表示實體對的字符、語義和結構相似度特征向量。經過上述步驟,可得本體O1和O2間的相似度特征矩陣。
為高效融合實體對的字符、語義和結構相似度特征,引入Multi-Head Self-Attention模型[17]自主學習每種相似度方法的權重,以Head=3為例,其模型如圖3所示。

圖3 Multi-Head Self-Attention模型圖Fig.3 Multi-Head Self-Attention model diagram
① 對每組輸入特征X=[x1,x2,…,xn]都與三個權重矩陣相乘,取得查詢向量(Query)、鍵向量(Key)和值向量(Value)。計算如式(6)~(8)所示:
(6)
(7)
(8)
式中:i的取值為1、2、3,WQ、WK、WV分別代表三個權重矩陣,X代表相似度特征矩陣。
② 使用縮放點積注意力(Scaled Dot-Product Attention)計算注意力得分,并利用softmax函數將注意力分數映射到[0,1]。計算如下:
(9)
式中:Attention(Q,K,V)表示多頭注意力層的輸出向量,KTQ表示注意力權重的計算過程,Dk表示查詢和鍵的長度。
③ 利用式(10)~(11)合并三個頭的結果:
Headi=Attention(Qi,Ki,Vi),i=1,2,3,
(10)
MultiHead(Q,K,V)=Concat(Head1,Head2,Head3)。
(11)
④ 最后連接一個全連接層判斷本體是否匹配。
實驗運行環境為Intel(R) Core(TM) i7-6700CPU @3.4 GHz,內存為8 GB的計算機,采用Python語言編寫。本次實驗采用本體對齊評測組織(Ontology Alignment Evaluation Initiative,OAEI)競賽在2023年提供的Conference數據集,該數據集是描述組織會議領域的本體集合,由16個本體組成,提供7個具有基本事實的對齊,從而產生21個本體對。各本體包含的類和屬性數(數據屬性和對象屬性)及標準等價匹配數如表1和表2所示。

表1 各本體的具體信息Tab.1 Specific information for each ontology

續表

表2 匹配本體及對應的匹配數Tab.2 Matching ontology and corresponding number of matches
OAEI為本體匹配結果提供了參考標準,其評價指標使用準確率(Precision),召回率(Recall),F1值(F1-measure),其計算公式如(12)~(14)所示:
(12)
(13)
(14)
式中:M代表使用本文匹配方法得到的匹配結果,R代表由OAEI提供的可參考的匹配結果。
3.3.1 基于機器學習方法的分類結果及分析
為研究類和屬性相似度及利用OWL2Vec*方法獲取本體語義嵌入表示的有效性,本文利用邏輯回歸(Logistic Regression,LR)[18]、隨機森林(Random Forest,RF)[19]和極致梯度提升(EXtreme Gradient Boosting,XGBoost)[18]這三種機器學習方法對匹配結果進行分類。
實驗參數的設置:① LR:正則化參數(Penalty)采用“l2”,損失函數優化器(Solver)選擇“lbfgs”,分類方式(multi_class)選擇“auto”,最大迭代次數(max_iter)為100。② RF:設置子樹數量(n_estimators)為100,樹的最大生長深度(max_depth)為2,葉子的最小樣本數量(min_samples_leaf)為1。③ XGBoost:葉節點分支時所需損失減少的最小值(gamma)為0.8,樹的最大深度(max_depth)為5,孩子節點最小的樣本權重和(min_child_weight)為1。
本文選擇conference、edas、cmt、sigkdd、confOf、ekaw、iasted七個本體作為測試集,其余14個本體作為訓練集。分類結果的最佳F1值如表3所示。

表3 各分類模型的F1值Tab.3 F1-measure for each classification model
與未使用OWL2Vec*方法獲取語義表示時,使用LR、RF和XGBoost方法分類的F1值對比結果如圖4所示。

圖4 F1值前后對比圖Fig.4 F1-measure original and present comparison
由圖4可知,同時探求類和屬性的相似度,并利用OWL2Vec*方法獲取本體語義表示,在LR和XGBoost的分類效果上F1值都提升了2%。主要有兩方面的原因:第一,OWL2Vec*方法可以充分利用本體OWL中所包含的圖結構、詞匯信息以及邏輯構造函數等信息,高效地進行語義編碼,以便挖掘出匹配對之間隱含的語義關系,從而提升匹配結果的效率。第二,Conference數據集中本體的類和屬性的數據量相對來說較小。因此,在使用LR和XGBoost方法分類時,計算量不大且速度較快。而在使用RF方法分類時,由于特征較少,容易出現分類不平衡問題,導致其F1值不高。
3.3.2 基于Multi-Head Self-Attention模型的匹配結果及分析
為充分融合字符級,語義級和結構級的相似度值,本文引入Multi-Head Self-Attention模型自主學習三種相似性方法之間的權重。在匹配結果的對比實驗中,選擇與近幾年的14種匹配方法[20]展開比較。結果如表4所示。

表4 各方法的匹配結果Tab.4 Matching results of each method
由表4可得,OM-MHSA方法在準確率上達到89%,相對于LSMatch和KGMatcher+方法提升了6%,即取得最優的結果。在召回率方面,OM-MHSA方法也高于Matcha和ALIOn方法。在F1值方面,OM-MHSA方法超過了ALIOn、TOMATO和Matcha等方法。主要有以下原因:① LSMatch方法只考慮了字符相似度和同義詞匹配,沒有考慮本體間的結構關系;② KGMatcher+方法主要考慮了基于字符和實例的匹配,沒有考慮本體間的語義關系;③ LSMatch、KGMatcher+以及ALIOn等方法都未匹配概念間的屬性。另外,導致TOMATO方法準確率不高的原因是該方法會為同一實體對輸出多個匹配結果,并將置信度值指定為1.0。綜上,本文利用OWL2Vec*方法可以獲取匹配對之間更深層次對應的語義關系,然后充分考慮類和屬性的字符、語義和結構等多種相似性度量方法,并引入Multi-Head Self-Attention模型自主學習每種相似度方法對匹配結果的貢獻值,從而提升了匹配的效果。
本文同時考慮類和屬性的多種相似度,并使用OWL2Vec*方法獲取本體的語義表示,并引入Multi-Head Self-Attention模型融合兩個概念間的多種相似度。實驗結果表明,相對于LSMatch和KGMatcher+方法,OM-MHSA方法準確率提升了6%,證明該方法可以有效地提升匹配結果的效率。
該方法也有不足之處,未來的相關研究,將從以下方向探索:① 加入外部資源是提升匹配質量的一種方式。因此,可以考慮加入外部知識。② 本文選擇的字符相似度方法相對單一,可探究多種不同的字符相似度計算方法。③ 在計算結構相似度時,主要研究概念的父類及其路徑之間的相似度,可探討概念子類間的相似度。