摘要:查詢擴展是優化信息檢索的一種有效方法。基于關鍵詞的查詢擴展對語義信息的忽略為結果帶來了不好的影響,因而提出一種基于本體的查詢擴展方法。首先建立本體模型,通過計算本體中的概念語義相似度和實例語義相似度,實現語義查詢擴展。
關鍵詞:查詢擴展;本體;語義相似度
中圖分類號:TP391文獻標識碼:A 文章編號:1009-3044(2010)05-1025-02
The Study of Ontology-Based Query Expansion
HU Zhe1, ZHU Qiang2
(1. School of Sciences of Anhui Agricultural University, Hefei 230036,China; 2.Department of Computer of Hefei Normal University, Hefei 230061,China)
Abstract: Query Expansion is an effective way to optimize information retrieval. Query expansion based on key words results in a bad effect because of losing sight of the semantic information. Therefore a query expansion method based on ontology is proposed. Firstly, an ontology model is built. Then, semantic query expansion is carried out, through computing the concept semantic similarity and entity semantic similarity based on ontology.
Key words: query expansion; ontology; semantic similarity
目前,許多信息檢索系統仍采用傳統的關鍵詞匹配技術,查準率和查全率并不理想。針對這種情況,早在1986年Van Rijsbergen[1-2]提出須先對原有查詢詞進行擴展后再進行檢索,這就是“查詢擴展”。語義查詢擴展是向原有用戶的查詢添加語義相關的新概念,使查詢條件更準確從而達到優化信息檢索的目的。最早在1994年Voorhees就曾提出基于本體的查詢擴展[3],即使用本體中的概念進行查詢擴展。
1 研究背景
查詢擴展的方法有很多[4-5],例如人工查詢擴展:人工挑選與原始查詢詞相關的其他特征詞,手工建立詞表;自動查詢擴展:利用根據某些規則自動化建立的擴展詞表,自動對查詢進行擴展。
查詢擴展其核心問題是如何設計和利用擴展詞的來源[1,6]。目前按照其擴展詞來源的不同主要有以下幾種方法:基于全局分析的查詢擴展、基于局部分析的查詢擴展、基于關聯規則的查詢擴展和基于用戶查詢日志的查詢擴展、基于詞典的查詢擴展方法等。
全局分析法是最早產生的查詢擴展方法[6-7]。它需要對整個文獻集中的詞進行相關分析,計算每對詞之間的關聯程度。接受到用戶檢索詞后,將與檢索詞相關度最高的詞擴展進來。全局分析法的優點是可以最大限度地探求詞間的關系,但是系統計算量很大,只能適用小范圍內的文獻檢索。
局部分析法[8]:利用原始查詢檢索結果來擴展原始查詢。局部分析法認為初次檢索結果是可以作為擴展源的,它實現了自動化過程,但因對初次檢索的依賴性很強,也有局限性。當初次檢索結果與原始查詢相關度不高時,會擴展大量無關的詞,嚴重降低查準率。
基于關聯規則的查詢擴展效果依賴于數據挖掘技術。基于用戶查詢日志的查詢擴展,依賴于大量用戶查詢日志的存在,需要有一個積累的過程。
以上傳統的基于關鍵詞的查詢擴展技術,存在難以克服的缺陷,主要是由于忽略了語義層面上的擴展,不能從根本上實現用戶查詢意圖與檢索資源之間的語義匹配。
基于詞典的查詢擴展是利用現有詞典[7],在詞典中定位原始查詢詞,將與原始查詢詞語義相似度高的詞擴展進來。近年來,基于本體的語義查詢擴展技術成為研究熱點。本體因其可以明確地、形式化地表達概念的含義以及概念之間的語義關系,成為提供語義信息的“語義詞典”。借助于本體的語義信息及語義推理機制可實現對用戶查詢的語義層次擴展,更好地獲得用戶查詢意圖,進而提高檢索質量。
2 本體及語義相似度計算模型
語義相似度計算模型是語義查詢擴展的核心部分。它建立在領域本體之上,一個好的相似度計算模型應當在盡量簡單的基礎上,力圖更細致的衡量概念、實例、屬性之間的語義相似度。在本文提出的查詢擴展模型中,主要用到概念相似度計算模型和實例相似度計算模型。
概念之間的語義相似度計算,我們采用前期工作中提出的算法[9]。算法中,以基于距離的計算模型為基礎,從有向邊類型、強度、方向三個因素衡量有向邊的權重。在相似度計算中,考慮了有向邊權重、兩概念在本體中的深度、密度。在相關度計算中,考慮直接相關度:直接連接兩概念的關系;間接相關度:非直接連接的屬性。通過相似度、相關度綜合衡量兩概念的相似程度。該算法經過試驗驗證能夠細致的衡量概念之間的語義相似度,進行有效擴展。
值得注意的是,在用戶的查詢中不僅包括概念還可能包括實例、屬性等。在大多數的論文中,實例一般轉換為所屬概念,然后參與概念語義擴展。顯然,這是粗糙的。實例轉換為所屬概念是顯然的,但是另一方面,實例應由實例相似度計算模型來進行擴展,本文采用 SSCM:一種實例語義相似度計算方法[10],該方法綜合考慮了實例多重繼承關系、屬性及屬性值的層次關系,根據實例所處本體知識庫中的位置和繼承關系得到實例繼承關系相似度,分別由實例屬性之間的相似關系和實例屬性值之間的相似關系,得到實例屬性相似度和實例屬性值相似度,將三者綜合得到實例相似度值。該方法細致有效,可以利用它對用戶輸入的實例進行擴展。
3 查詢擴展模型
3.1 查詢擴展預處理用戶的輸入
可以有多種情況存在,但大致上遵循幾種主要的方式[6]。
1) 單個關鍵詞:用戶輸入單個關鍵詞作為查詢條件。
2) 多個關鍵詞組合查詢:用戶輸入多個關鍵詞組合作為查詢條件。
以上兩種用戶輸入,可以是本體中所定義的概念、關系、實例或者是其他詞語,對于這些查詢需要先將用戶的輸入映射至領域本體中,在此可以使用《語義查詢擴展中詞語-概念相關度的計算》一文中提出的算法[11],分為兩大步,第一步使用K2CM計算用戶輸入詞語和本體中概念的相關度,第二步再計算用戶查詢整體和概念的相關度。第一步中首先要對文檔進行本體標注,再從詞語-文檔-概念所屬關系和有效窗口的局部共現性兩方面綜合衡量詞語-概念相關度。兩方面分別基于若干直覺假設,給出詞語-概念所屬程度權值和詞語-概念共現程度權值,二者直接相乘得到詞語-概念相關度。第二步中,根據詞語-概念相關度計算查詢整體和概念的語義相關程度,即查詢-概念相關程度。將查詢-概念相關度最高的n個選作為擴展概念。原文中將此方法的結果作為查詢擴展的最后結果,但在將用戶輸入映射至本體概念時,并未利用本體結構中蘊含的語義信息,所以還應該可以利用本體相似度計算進行進一步擴展,故本文將此方法作為預處理階段的算法,用于完成用戶輸入到本體概念的映射。
3) 自然語言查詢模式:對于這種用戶查詢模式,首先使用分詞、切詞技術對用戶查詢進行處理,生成詞組。這樣就可以轉化為上面兩種情況。經過以上處理,用戶輸入可以映射為本體中的概念、實例、屬性,則利用語義連接算法獲得核心概念和實例集合[12]。對核心概念提取方法做如下修改:
1) {s,p,o}:s,o若為概念則選為核心概念;
2) {s,*,o}:s,o若為概念則選為核心概念;
3) {*,*,o}:如果o為概念,則選為核心概念。否則,查找o所屬概念,作為核心概念;
4) {s,p,*}:s若為概念則選為核心概念。如果存在o'使得(s,p,o')屬于本體,則,若o'為實例將它并入用戶輸入的實例集合,否則若o'為概念,則選作核心概念;
5) {*,p,o}:如果o為概念,選擇o為核心概念。如果本體中存在s',使得(s',p,o)屬于本體,則,若s'為實例并入用戶輸入的實例集合,否則若s'為概念選為核心概念。
3.2 查詢擴展算法
基于本體的語義查詢擴展算法,首要是建立一個強大的本體,選用合適算法充分利用本體中的語義信息,從而達到對用戶查詢進行語義層面上的擴展。具體的查詢擴展算法描述如下:
1)如果用戶輸入均可直接映射為本體中的概念、實例、屬性轉3,否則轉2:
2)對于不能直接映射的部分,利用K2CM算法及查詢-概念相關度算法,將用戶輸入映射至本體概念。
3)利用修改的語義連接算法,對概念、實例、屬性進行處理,提取核心概念,實例集合。
4)對核心概念,利用概念語義相似度算法進行擴展,得到帶權的擴展概念集合。
5)利用SSCM算法處理實例集合,得到帶權的擴展實例集合。
擴展概念集合、擴展實例集合,就構成了最終的查詢擴展結果。
4 結論
本文首先著重分析了SSCM、K2CM、查詢-概念相關度算法的特點,根據分析將它們應用至語義查詢的不同階段,依托于前期工作中提出的語義相似度計算模型作為核心,提出了一種基于本體的語義查詢擴展方法。
該方法首先需要建立一個優秀的本體,為本體中概念之間的關系分配相應的權重。權重的分配需考慮具體信息檢索系統的應用目標和專家意見,這些是語義相似度計算的基礎和核心。然后,建立文檔集及用本體對其進行標注為K2CM算法打下基礎。考慮可能的用戶輸入方式,針對不同的情況應用合適的算法,以達到全面而細致的語義擴展。
最后,在提出此查詢擴展方法之后,下一步的工作,是要建立一個實驗系統,對此方法的有效性進行驗證。
參考文獻:
[1] 林國俊,葉飛躍,耿冬,鄭國良.基于語義的概念查詢擴展[J].計算機工程與設計,2009,30(6):1502-1504.
[2] 楊學兵,錢蓉.語義檢索系統中的查詢語句擴展算法改進[J].計算機技術與發展,2008,18(l2):1-7.
[3] E. Voorhees. Query expansion using lexical-semantic relations[C]. Ireland, In Proceedings of the 17th annual international ACM SIGIR conference on Research and development in information retrieval Dublin,1994, page 61-69.
[4] 王秀娟,鄭康鋒.基于文檔空間向量距離的查詢擴展[J].計算機工程,2009,35(l8):54-56.
[5] 熊桂喜,王開鋒.基于語義的查詢擴展研究[J].微計算機信息,2008,24,(10-3):177-178.
[6] 劉愛軍.基于領域本體的語義信息檢索及相關技術研究[D].西安:西北大學,2008.
[7] 任雨.基于本體的信息檢索研究[D].南京:南京理工大學,2009.
[8] 蔣輝,陽小華.基于文檔與搜索結果上下文的查詢擴展方法[J].計算機應用,2009,29(3):852-853
[9] Cheng Zheng, Zhe Hu,Yaping Shen. Concept Similarity Computation Based on Ontology [C].Baoding: Proceedings of the Eighth International Conference on Machine Learning and Cybernetics (IEEE),2009.165-169.
[10] 梅翔, 孟祥武, 陳俊亮, 徐萌SSCM:一種語義相似度計算方法[J].高技術通訊,2007,17(5):458-463.
[11] 田萱,杜小勇,李海華.語義查詢擴展中詞語-概念相關度的計算[J].軟件學報,2008,19(8):2043-2053.
[12] 胡哲,鄭誠,王艷玲.語義檢索關鍵技術研究[J].計算機技術與發展,2008,18(10).