摘要:由于目前檢索技術效率低下,所以需要一種基于本體的檢索技術來提高效率。語義相似度計算是基于本體的檢索技術的一個關鍵問題。本文對已有語義相似度計算方法進行總結并改進,最后對其進行分析。
關鍵詞:本體;本體檢索;語義相似度計算
1 引言
隨著Internet的日益發展和普及,本體在信息采集、信息檢索及本體集成等方面的應用越來越廣泛。2002年12月18日Berners-Lee在國際XML2000的會議提出Semantic Web(語義網)的構想[1]。在Semantic Web中,語義相似度算法是實現基于本體的檢索、采集等的關鍵問題。因此語義相似度算法的好壞成為信息檢索效率高低的重點,于是改良語義相似度算法是一個迫切的問題。
關于語義的相關性,國內外專家已經做了大量的工作:Resnik根據兩個詞的公共祖先節點的最大信息量來衡量兩個詞的語義相似度。Agirre等在利用WordNet計算詞語的語義相似度時,除了結點間的路徑長度外,還考慮到概念層次樹的深度、概念層次樹的區域密度。魯松研究了如何利用詞語的相關性來計算詞語的相似度。Li Sujian等提出了一種詞語語義相似度的計算方法,計算過程綜合利用了《知網》和《同義詞詞林》。朱禮軍等引入了計算語言學中的語義距離思想來計算領域本體中概念間的相似度。
本文總結前人的經驗,并將概念的數據類型考慮其中,這樣概念的語義相似度就更加精確。
2 本體與領域本體
本體(Ontology)作為一種能在語義和知識層次上描述信息的概念模型,自被提出以來就引起了國外眾多科研人員的關注,并在計算機的許多領域得到了廣泛的應用,如知識工程、數字圖書館、軟件復用、信息檢索和Web上異構信息的處理、語義Web等。
2.1 本體的概念
目前對本體的定義有很多,專家們認為由Studer等人在1998年提出的“本體是共享概念模型的明確的形式化規范說明。[3]”最為精確。它包含4層含義:概念化(conceptualization)、明確(explicit)、形式化(formal)和共享(share)。
(1)概念化:指通過抽象得出客觀世界中一些現象(Phenomenon)的概念模型。
(2)明確:指所使用的概念及使用這些概念的約束都有明確的定義。
(3)形式化:指本體是計算機可讀的(即能被計算機處理)。
(4)共享:本體中體現的是共同認可的知識,反映的是相關領域中公認的概念集,它所針對的是團體而不是個體。
2.2 本體的分類
Guarino[5]在1997年對本體依照領域依賴程度,分為頂級(top-level)、領域(domain)、任務(task)和應用(application) Ontologies共4類。其中:
(1)頂級Ontologies描述的是最普通的概念及概念之間的關系,與具體的應用無關,其他種類的Ontologies都是該類Ontologies的特例。
(2)領域Ontologies描述的是特定領域中的概念及概念之間的關系。
(3)任務Ontologies描述的是特定任務或行為中的概念及概念之間的關系。
(4)應用Ontologies描述的是依賴于特定領域和任務概念及概念之間的關系。
本文主要就是基于領域Ontology來設計與研究語義相似度計算方法。
3 語義相似度計算
語義相似度是判斷幾個概念之間的語義的相似程度。在信息檢索中,它反映的是用戶查詢關鍵詞的意義上的符合程度。
3.1 語義相似度計算原則
語義相似度的計算原則是為了本體內部概念間相似度計算更加準確而提出的[2],其內容如下:
(1)量化原則:相似度是一個數值,取值范圍應該在[0,1]之間[3],如果兩個概念完全相同,那么他們的相似度為1,完全不同,相似度為0。
(2)簡單性原則:計算相似度的同時應該考慮計算復雜度[4],復雜度應該盡量降低。
(3)充分利用本體的特性。
(4)可調節性:可調節性是指相似度的計算結果可通過某些參數來調節,詞語相似度是一個主觀性比較強的概念,可調節性可以滿足不同的需求,適應不同的情況[2]。
(5)類型性:在計算概念相似度的時候,也應該將概念的數據類型考慮其中,這樣能提高概念相似度的精度。
(6)對稱性:Sim(C1,C2)= Sim(C2,C1),對稱性有利于概念相似度之間的對比與換算。
3.2 相似度計算方法
本文建立了一個簡單的醫療系統的本體,如圖1所示。class:表示的是類,subClassOf:表示的是本體中最主要的關系,即概念之間子類的關系,也就是繼承關系。例如:C0是C1,C2的父類,而C1與C2則是C0的子類。
利于OWL語言構建此本體的代碼片段,如下:
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns="http://www.owl-ontologies.com/Ontology1243997987.owl#"
xml:base="http://www.owl-ontologies.com/Ontology1243997987.owl">
……
<owl:Class rdf:ID="醫生">
<rdfs:subClassOf>
<owl:Class rdf:ID="主刀醫師"/>
<owl:Class rdf:ID="主診醫師">
</rdfs:subClassOf>
</owl:Class>
<owl:ObjectProperty rdf:ID="同事">
<rdfs:range rdf:resource="#主刀醫師"/>
<rdfs:range rdf:resource="#主診醫師"/>
</owl:ObjectProperty>
……
</rdf:RDF>
(1)語義距離:是兩個概念在本體樹中的最短距離,記作Distant(A,B)。①語義距離越大,其語義相似度越低。反之越大。②兩個概念的父節點是同一個,那么Distance=1/n(n表示與該節點有共同父節點的子節點的個數)③同一概念的語義距離為0。例如:圖1中所示的Distance(C5,C5)=0,Distance(C7,C8)=0.5。
(2)DataType(數據類型屬性)的相似度:是兩個概念的數據類型的比較得出來的一個參數值,記作SimDT(A,B)。如果兩個概念的數據類型相同,則SimDT(A,B)=1。如果不同,則SimDT(A,B)=0。
(3)ObjectProperty(對象類型屬性)的相似度[5]:是類與類之間的關系,記做Simobject(A,B)。和分別表示概念和的對象類型屬性的個數。 的對象類型屬性所對應的概念為,的對象類型屬性所對應的概念為,則概念的對象屬性的語義相似度為:
(4)本體概念的深度:是概念在本體樹中的層數,記作Depth(A)。
(5)調節因子:是為了滿足系統的特定需要而設定的特定參數。由于詞語相似度是一個主觀性比較強的概念,所以必須使用調節因數來具體情況具體分析。它通過對本體樹的廣度與深度的控制來調節特定的語義的相似度。本文用k來表示調節因數。
綜合得出語義相似度算法的公式:
式中Sim(C1,C2)表示概念C1、C2的語義相似度,Distance(C1,C2)表示概念C1、C2的語義距離,SimDT(C1,C2)表示概念C1、C2的數據類型的相似度,Simobject(C1,C2)表示概念C1、C2的對象類型的相似度,k表示調節因子,Depth(C1)表示C1的的深度(即本體樹中的層數),分別是數據類型屬性和對象類型屬性在屬性相似度中的權值,,且。
3.3實驗結果
根據本文得出的語義相似度算法,即上述公式計算出表1所示的本體樹的語義相似度。
3.4 基于本體語義相似度的應用
Begin;
Input:查詢表達式 Q={W1,W 2,……,Wn} and 語義相似度的臨界值K;
result = 1,i=0;
while(Q[i]的語義相似度>=K){
result[i]=Q[i]+相關概念集;
i++;
}
Return result;
End;
4 結束語
人與機器之間的有語義的交流近年來成為了人們研究的焦點與瓶頸。本體由于其共享性和明確性以人與機器的語義交流的基礎進入了人們的視野。本文通過建立本體樹,利用其層次之間的關系來設計概念的語義相似度算法。同時將概念的數據類型與對象類型也考慮其中,這大大提高了概念的語義相似度算法的精度。但是由于本文只考慮了基于單個本體的相似度算法,不能滿足多個領域本體間概念的相似度算法。在以后的研究中,會將此算法擴展到多個領域來設計,以便大幅度提高概念的語義相似度的精度,進而優化基于本體的信息檢索及信息采集。
參考文獻
[1]Berners-Lee T,Hendler J,Lassila O.The Semantic Web[J].Scientific American, 2001,284(5):34-43.
[2]李鵬,陶蘭.一個改進的本體語義相似度計算及其應用[J].計算機工程與設計,2007,28(1):226-228.
[3] 劉建,李素建.基于《知網》的詞匯語義似度計算[J].中文計算機語言學, 2002,7(2):59-76.
[4] Andreasen,Henrik Bulskov,Rasmus Knappe.From ontology over similarity to query evaluation[Z].Elsevier Science, 2003.
[5] Guarino N. Semantic Matching: Formal Ontological Distinctions for Information Organization, Extraction, and Integration. In: Pazienza M T, eds. Information Extraction: A Multidisciplinary Approach to an Emerging Information Technology, Springer Verlag, 1997, 139-170.