摘要:針對P2P網絡檢索質量差的問題,提出了一種基于領域本體的P2P網絡檢索算法。該算法設計了一個共享的節點本體,用RDF工具對節點進行語義抽取和知識表示,同時給出相應的查詢表示及語義相似性計算方法。實驗結果表明,該算法能夠有效地提高檢索質量。
關鍵詞:P2P網絡 檢索質量 領域本體 相似性計算
0 引言
隨著越來越多的資源出現在P2P網絡中,一個漸增的需求是找出一種有效的方法來檢索這些資源。本文提出一種基于領域本體的P2P網絡搜索算法,通過采用領域本體來封裝節點知識,實現基于領域本體的知識查詢,以提高檢索質量。
1 基于領域本體的P2P節點模型
基于文獻應用領域的一個P2P網絡,其節點包含節點本體(領域內的概念化模型)、本地數據(描述具體文獻屬性的元數據)、本地知識庫(共享的知識)以及本地知識(對知識庫的一個抽象的、語義上的描述)等。每個節點用一種能被其它節點理解的方式將本地節點數據進行結構化和形式化,即提取節點知識。例如,某個節點上存儲了人工智能(AI)方面的書(Book)這種文獻。其知識可抽象為文獻集合{Book}和主題集合{AI}。
2 基于領域本體的P2P網絡檢索算法
2.1 節點本體設計與知識抽取 文獻檢索應用涉及兩個主要概念,即文獻和主題。因此,可將P2P節點本體細分為文獻本體和主題分類本體加以設計。由于已存在有ACMCSS這樣的主題分類本體,因此只需對文獻本體加以設計。
根據領域本體的思想,本文采用W3C的RDF知識表示工具設計文獻領域中的概念、屬性和關系及與主題本體的聯系等。
概念也稱類,包括文獻(Document)、書(Book)、會議論文(Paper)等;屬性包括標題(Title)、作者(Author)和主題(Topic)等;關系包括父類關系(superClassOf)、子類關系(subClassOf)、實例和類的關系(type)等,例如學位論文(Paper)和文獻(Document)的關系為subClassOf。屬性例如Author和Topic,可通過rdf:domain語句定義它們的定義域,為類Document;rdf:range定義了它們的值域分別為類People和ACMTopic的實例。節點本地數據為XML等語法描述文獻實例及其屬性的元數據。
在知識抽取過程中,借助RDF/XML語句構建RDF知識庫,實現節點知識和數據存儲。例如節點本體也通過實例的rdf:type關系和它的Topic屬性抽取本地數據中每個文獻的類型和主題,即節點知識(一個文獻類型集合和一個主題集合)。
3.2 查詢表示及語義相似度計算 采用類似RQL查詢語言接口來設計一個用戶查詢。例如:SELECT X FROM Thesis{X}.Topic{Y} WHERE Y=“Information Retrieval”表示搜索主題為信息檢索(Information Retrieval)的學位論文(Thesis)。查詢中的主題在提交后被轉化為相近的ACM主題層主題。
P2P節點收到這樣的一個查詢后,通過一個語義相似性函數計算查詢主題和節點知識中主題集合中的主題,當計算結果高于某一個閥值時則認為這兩個主題匹配。式(3-1)作為相似性計算函數,對于層次結構化語義網絡(例如ACM主題層)中概念的相似性,計算結果最佳。
其中,l是在由subTopicOf關系生成的圖中,主題t1和主題t2之間最短的路徑長度。h是從t1到t2的直接公共包含類的樹的高度。α(≥0)和β(≥0)是縮放因子,最佳取值分別是:α=0.2,β=0.6。
3 實驗與分析
3.1 實驗方法 實驗平臺為P4 3.0G處理器、512M內存、Windows XP操作系統的一臺PC機。P2P網絡拓撲為BRITE產生的10000個節點的隨機網絡拓撲,平均節點度數為6。
文檔分布采用1000個主題,分為10個領域,每個領域100個主題,主題層次按1:9:10組織。對于每一個主題,隨機帶1~10個文檔。每個節點存儲1個或多個領域主題的文檔。其中,60%的節點覆蓋一個領域;10%的節點覆蓋兩個以上領域,其它節點不含數據。對于查詢分布,隨機選擇10%的網絡節點(約1000個左右)進行查詢。每個查詢節點針對其中一個領域內的主題隨機產生一組查詢。
用PeerSim模擬Gnutella網絡,用JAVA語言實現基于關鍵字查詢的Gnutella搜索算法和本文設計的基于本體搜索算法(簡稱OS算法)并進行實驗比較。
3.2 實驗結果及分析 表4-1給出了兩個算法的搜索結果。可以看出,同本文設計的OS算法相比,盡管Gnutella算法采用關鍵字匹配方法能夠返回大量的結果,但真正相關的即屬于用戶想要的結果數卻是非常少量的。例如,當搜索完整個網絡(TTL=8)時,采用關鍵字方法能夠返回20602個結果,OS算法顯示只有52個結果是相關的。這說明了Gnutella算法不適合于文檔搜索。
4 小結
P2P技術的不斷發展,導致P2P網絡中出現越來越多異構的資源。如何從眾多的資源中檢索出相關的信息一直是P2P研究領域待解決的一個問題。本文提出一種基于領域本體的P2P網絡檢索算法來提高檢索質量。該算法以文獻檢索為應用基礎,借助RDF工具,用領域本體封裝節點知識及數據,并給出了查詢表示及語義相似性計算方法。實驗表明,該算法較之傳統的Gnutella搜索算法更能滿足用戶的查詢需求。
參考文獻:
[1]馮明星.基于本體論和聚類的P2P網絡搜索方法研究[D].工學碩士. 廣西大學.2007.
[2]The ACM Computing Classification System.http://www.acm.org/class/1998.
[3]Karvounarakis G,et al.RQL:A Declarative Query Language for RDF.Proceedings of WWW2002,USA,2002,127-146.
[4]Li Y,Bandar ZA,McLean D.An approach for measuring sematic similarity between words using multiple information sources.Transactions on Knowledge and Data Engineering.2003.15(4):871-882.
[5]BRITE:Boston university Representative Internet Topology gEnerator.http://www.cs.bu.edu /brite/.
[6]PeerSim P2P Simulator.http://peersim.sourceforge.net/.