馮 鈞,許 瀟,唐志賢,卞一路
(河海大學(xué)計算機與信息學(xué)院,江蘇 南京 211100)
水利信息共享是我國信息資源共享建設(shè)的重要組成部分。信息資源的發(fā)現(xiàn)是共享的基礎(chǔ),對于采用元數(shù)據(jù)描述資源的目錄服務(wù)而言,元數(shù)據(jù)的發(fā)現(xiàn)機制是目錄服務(wù)的關(guān)鍵技術(shù)之一。傳統(tǒng)搜索引擎對查詢請求的處理局限于詞的表面形式,存在“忠實表達(dá)”、“表達(dá)差異”、“詞匯孤島”等問題,限制了資源發(fā)現(xiàn)過程中的查全率和查準(zhǔn)率。水利信息不是孤立存在的,相互之間在語義上存在復(fù)雜聯(lián)系,例如降雪和降雨都屬于降水,下雨與降雨等價等。對于以數(shù)據(jù)共享為目的的水利信息資源目錄服務(wù)系統(tǒng)的目標(biāo)用戶來說,往往希望通過目錄系統(tǒng)的發(fā)現(xiàn)服務(wù)來找到滿足行業(yè)語義的所有相關(guān)數(shù)據(jù)資源,例如通過“降雨”來搜索信息資源,希望獲取“降水”、“降雪”等水利信息元數(shù)據(jù)信息,而傳統(tǒng)的檢索方法無法應(yīng)對這種應(yīng)用需求。此外,水利信息的應(yīng)用范圍廣泛,用戶對數(shù)據(jù)的理解參差不齊,非專業(yè)用戶往往希望通過輸入非水利專業(yè)檢索詞以發(fā)現(xiàn)水利信息資源,例如通過關(guān)鍵詞“下雨”甚至“雨天”檢索出“降雨”、“降水”等相關(guān)信息資源,更是傳統(tǒng)全文檢索方法望塵莫及的。必須要從查詢語句所表達(dá)的語義層次來認(rèn)識和處理用戶的檢索請求,進行相應(yīng)的語義擴展才能使檢索結(jié)果更加準(zhǔn)確和全面。隨著水利信息資源整合和共享的深入推進,現(xiàn)有的集中式信息資源檢索模式已經(jīng)無法滿足業(yè)務(wù)應(yīng)用的實時性和并發(fā)性需求,迫切需要對檢索處理進行并行化改造。
本文提出一種面向水利信息資源目錄服務(wù)的分布式語義檢索方法(Distributed Semantic Retrieval Method for Water Information Resources Directory Service,DSRM)。DSRM 將利用基于水利公文詞表構(gòu)建的水利領(lǐng)域本體,通過構(gòu)建語義推理機實現(xiàn)對查詢關(guān)鍵詞的語義擴展,并根據(jù)語義相關(guān)度進行結(jié)果排序,解決水利信息資源目錄服務(wù)發(fā)現(xiàn)過程中語義缺乏的問題;同時定義語義相似度閾值和選擇方法防止“語義飄移”以保證檢索的查準(zhǔn)率;基于MapReduce 對索引創(chuàng)建和查詢處理進行并化改造提高檢索的處理效率。
隨著語義網(wǎng)技術(shù)和云計算技術(shù)的不斷成熟和廣泛應(yīng)用,語義檢索和分布式檢索領(lǐng)域已經(jīng)形成大量研究成果。針對信息資源的語義檢索研究,Yu 等人從非語義相關(guān)詞匯擴展和語義相關(guān)詞2 個方面進行關(guān)鍵字?jǐn)U展保障信息檢索過程的查全率[1];文獻[2-4]利用領(lǐng)域元數(shù)據(jù)的數(shù)據(jù)關(guān)系構(gòu)建領(lǐng)域本體,通過引入本體技術(shù)提高解決空間信息檢索效率;在應(yīng)用項目方面,面向生物學(xué)領(lǐng)域的語義檢索系統(tǒng)TextPresso[5]和對HTML 網(wǎng)頁進行語義標(biāo)注的實現(xiàn)語義檢索的SHOE[6]最為經(jīng)典。在分布式檢索方面,文獻[7]主要研究解決海量異構(gòu)、多來源數(shù)據(jù)的處理效率和共享程度低的問題,其中通過Hadoop 存儲空間數(shù)據(jù)原始文件以及索引文件。文獻[8]主要是針對特定的多媒體收藏展開研究,提出一個高性能的高維索引以及使用Hadoop 集群來搜索海量數(shù)據(jù)的SIFT 描述符。文獻[9-10]將Lucene 和HBase 相結(jié)合構(gòu)建分布式全文搜索引擎。文獻[11]基于MapReduce 計算模型構(gòu)建了圖片的分布式搜索引擎。從國內(nèi)外的文獻來看,水利領(lǐng)域還沒有成熟的分布式語義檢索技術(shù),限制了水利信息檢索效率和業(yè)務(wù)化應(yīng)用。
《水利公文主題詞表》是水利行業(yè)各部門在計算機網(wǎng)絡(luò)環(huán)境下處理政務(wù)信息的規(guī)范性主題標(biāo)引工具和檢索工具。水利部辦公廳于1994 年組織編制并使用,2000 年和2006 年2 次修訂。詞表自面世以來,在水利行業(yè)辦公自動化過程中發(fā)揮了重要的作用,是水利公文主題標(biāo)引和計算機檢索的必備工具,其中詞匯之間具有明確的上下位、兄弟、使用、代替、注釋等關(guān)系,如表1 所示,其中權(quán)重是根據(jù)水利信息資源目錄建設(shè)需求和行業(yè)經(jīng)驗進行設(shè)置的,在實際的使用過程中還可以根據(jù)需要調(diào)整,故本文將《水利公文主題詞表》作為水利領(lǐng)域本體的基礎(chǔ)資源,在抽取其中基本詞匯的同時進行擴展以構(gòu)建本體。
表1 水利領(lǐng)域本體的語義關(guān)系
本文基于領(lǐng)域本體概念相似度進行查詢擴展,基本思想是:通過查找與檢索詞相似度大于閾值的詞,把相似度作為該擴展詞的權(quán)重和擴展詞一并提交給搜索引擎,進行關(guān)鍵詞查詢。為了能夠支持對非水利專業(yè)用戶的語義擴展,本文還引入了知網(wǎng)語義進行通用詞匯的擴展,進一步提高檢索語義擴展能力。
圖1 語義查詢擴展流程
如圖1 所示,為語義擴展流程。對于用戶提交的檢索關(guān)鍵詞,首先判斷該關(guān)鍵詞是否為水利專業(yè)詞匯,若是則進行水利專業(yè)領(lǐng)域擴展,若不是則利用知網(wǎng)語義進行擴展。在進行語義擴展時需要計算詞匯間的語義相關(guān)度,本體詞匯間關(guān)系的基本相關(guān)度權(quán)值定義如表1 所示(其中β 為可調(diào)節(jié)的整體相似度)。在計算相關(guān)度的基礎(chǔ)之上,通過設(shè)定語義相似閾值來過濾掉一些低相關(guān)的詞匯,使擴展查詢時擴展詞盡量與原檢索詞相似。但是,由于詞匯間可能會存在多條擴展路徑,相應(yīng)也會存在多個相似度值,在這種情況下本文采用相似度的較小值以減少擴展查詢的語義漂移,保證查詢的查準(zhǔn)率。
在進行語義擴展的過程中,需要利用語義推理機推斷出與檢索關(guān)鍵詞相關(guān)的本體詞匯,形成領(lǐng)域語義詞匯集并計算詞匯間的相似度。為了表達(dá)詞匯及其關(guān)系的模糊性,借鑒模糊本體[8]的概念在每個本體的概念上加入隸屬度集,用以表達(dá)詞匯之間的相關(guān)性。同時,對水利信息資源進行文本分詞,采用模糊資源描述框架FRDF[8]用三元組(主體、(謂詞、權(quán)值)、客體)來描述分詞后水利信息資源及其關(guān)系。在完成對資源及其關(guān)系進行規(guī)范化描述的基礎(chǔ)上,本文借助Jena 構(gòu)建語義推理機,定義相關(guān)推理規(guī)則實現(xiàn)語義推理,推理過程中先讀取解析后的本體,然后對推理規(guī)則進行解析并綁定到模型中,最后使用Jena三元組對其進行查詢。
圖2 推理規(guī)則
推理規(guī)則如圖2 所示,其中推理規(guī)則1 表示具有“subClassOf”傳遞關(guān)系,推理規(guī)則2 用以推理出“sameType”關(guān)系,推理規(guī)則3 用以推理出“brother”關(guān)系。通過圖2 所示推理規(guī)則,結(jié)合水利領(lǐng)域本體的語義關(guān)系即可實現(xiàn)基于水利的語義擴展。
在進行語義擴展的基礎(chǔ)上,結(jié)合分詞算法對水利數(shù)據(jù)目錄服務(wù)的元數(shù)據(jù)進行全文檢索,本文根據(jù)《水利公文主題詞表》的結(jié)構(gòu)和水利信息實踐的經(jīng)驗對向量空間模型進行改進,元數(shù)據(jù)資源與檢索詞的文本相關(guān)度計算方法如公式(1)所示:
其中norm(T)為元數(shù)據(jù)資源文本內(nèi)容T 進行最大匹配算法分詞后詞匯(wordi)集合的大小;hash(wordi)=(1-0.3)/n 為根據(jù)詞匯的主題相關(guān)值,n 為《水利公文主題詞表中》中主題詞的等級,若wordi不在索引中,則hash 值為0。對采用知網(wǎng)語義進行擴展的詞匯則按向量空間模型計算元數(shù)據(jù)資源與檢索詞的文本相關(guān)度。
在完成文本相關(guān)度計算的基礎(chǔ)之上,結(jié)合檢索詞匯間的語義相關(guān)度即可計算出元數(shù)據(jù)資源與用戶輸入檢索詞間的相似度,按相似度降序?qū)⒔Y(jié)果返回給用戶。
為了提高檢索效率,本文將云計算技術(shù)引入水利信息資源目錄服務(wù)的資源發(fā)現(xiàn)處理過程中,利用Hadoop 構(gòu)建基于云的檢索模塊,基于MapReduce 并行處理模型對基于Lucene 的全文檢索算法進行并行化改造,以提高大規(guī)模查詢請求條件下的查詢處理效率。圖3 為本文并行檢索算法的處理流程,算法首先對檢索請求進行劃分,形成若干查詢請求子集,每個查詢請求子集交由一個Map 節(jié)點處理,Map 節(jié)點讀取索引文件進行查詢,并將查詢結(jié)果交由Reduce 進行合并,實現(xiàn)查詢的任務(wù)并行。對查詢子集中的每一個查詢請求,同樣將其發(fā)送到多個Map 節(jié)點,由每個Map 節(jié)點對該節(jié)點存儲的索引分片進行檢索,最終再由Reduce 進行檢索結(jié)果合并,實現(xiàn)查詢的算法并行,處理流程與任務(wù)并行相似。
圖3 基于MapReduce 的并行檢索流程
圖4 所示為基于DSRM 的原型系統(tǒng)架構(gòu),包含語義本體模塊和語義查詢處理模塊。語義本體模塊用于存儲水利領(lǐng)域本體和知網(wǎng)語義本體,并完成領(lǐng)域詞匯相似度的計算,包括水利本體庫、知網(wǎng)本體庫和語義詞匯相似度計算單元(計算語義詞匯相似度);其中水利本體庫用于存儲水利領(lǐng)域本體(采用模糊本體的形式描述)及其詞匯的相似度;知網(wǎng)本體庫用于存儲知網(wǎng)本體詞匯及子網(wǎng)詞匯相似度。語義查詢處理模塊,利用查詢請求處理單元獲取用戶的查詢請求,并進行分詞處理形成查詢詞集合;模糊語義推理單元進行推理形成語義擴展查詢詞集合,Lucene 分布式檢索單元從水利信息資源目錄服務(wù)元數(shù)據(jù)庫中檢索滿足查詢詞集合和語義擴展查詢詞集合的元數(shù)據(jù),形成語義檢索結(jié)果集合;最后由檢索結(jié)果排序單元按照相關(guān)度對查詢結(jié)果進行排序,并按降序?qū)⒉樵兘Y(jié)果返回用戶。
圖4 DSRM 原型系統(tǒng)架構(gòu)
表2 所示為本實驗的一個水利詞匯語義擴展示例,其中可調(diào)節(jié)的整體相似度β 取值為0.9,語義相似度閾值為0.8。圖5 為本語義檢索的一個示例(左側(cè)為語義檢索結(jié)果,右側(cè)為傳統(tǒng)關(guān)鍵詞匹配檢索結(jié)果),分析圖5 可以發(fā)現(xiàn),由于元數(shù)據(jù)庫中無任何包含“四荒”關(guān)鍵詞的元數(shù)據(jù)資源,傳統(tǒng)的檢索方法沒有檢索結(jié)果,而本文提出的DSRM 方法在閾值為0.8時,找到4 個有關(guān)“四荒”的結(jié)果(與表2 中的擴展吻合),可以看出DSRM 檢索方法能夠有效地進行查詢擴展,從而提高檢索的查全率。
為了分析并行效率,本文對1000 萬條元數(shù)據(jù)建立索引,在此基礎(chǔ)上分別模擬了100、1000、10000、20000 直到100000 個查詢請求,進行查詢時間的統(tǒng)計。實驗平臺由1 臺名稱節(jié)點和3 臺數(shù)據(jù)節(jié)點組成,所有計算機的配置相同(CPU:Intel Pentium4 2 GHZ,內(nèi)存:DDR2 2 GB,硬盤:80 GB,7200 r/min,2 MB 緩存,操作系統(tǒng):Ubuntu Linux);Hadoop 集群版本為0.20.2,Hbase 版本為0.90.4。為了讓數(shù)據(jù)更能反映實際,每組數(shù)據(jù)都作了若干次測試,最后取多次實驗的平均值作為最終實驗結(jié)果。實驗結(jié)果如圖6 所示,當(dāng)查詢請求較少時,并行模式的效率并未體現(xiàn)(啟動Hadoop 需要一定的時間開銷);當(dāng)查詢請求量逐步增大時,并行查詢效率的優(yōu)勢就逐步體現(xiàn)出來了;當(dāng)查詢量達(dá)到10 萬時,查詢效率提高近3 倍,并且增長趨勢比單機模式低,體現(xiàn)了并行查詢的優(yōu)勢。
表2 查詢詞匯語義擴展示例
圖5 語義檢索結(jié)果示例
圖6 并行查詢效率分析
水利信息共享系統(tǒng)的建設(shè)是解決水利數(shù)據(jù)為科學(xué)研究、為社會提供信息服務(wù)的重要手段。水利數(shù)據(jù)目錄服務(wù)利用元數(shù)據(jù)對分布存儲的水利數(shù)據(jù)進行規(guī)范化的描述,通過構(gòu)建元數(shù)據(jù)信息的發(fā)布、發(fā)現(xiàn)服務(wù)以支撐對水利實體數(shù)據(jù)的發(fā)現(xiàn);不僅是數(shù)據(jù)發(fā)現(xiàn)的窗口,更是共享服務(wù)的起點。本文針對水利數(shù)據(jù)目錄服務(wù)中元數(shù)據(jù)檢索的查全率和查準(zhǔn)率要求,結(jié)合推理機制提出了基于水利領(lǐng)域本體和知網(wǎng)語義的查詢擴展方法,解決了查詢過程中的“機械匹配”問題;基于MapReduce 的檢索算法并行改造,有效提高了查詢效率。在后續(xù)的研究中,可以考慮定義更多的推理規(guī)則實現(xiàn)更加完善的語義擴展。
[1]朱星明,耿慶.略論水利技術(shù)標(biāo)準(zhǔn)中信息共享類標(biāo)準(zhǔn)存在之問題[J].水利技術(shù)監(jiān)督,2006(3):6-9.
[2]王歡,孫瑞志.基于領(lǐng)域本體和Lucene 的語義檢索系統(tǒng)研究[J].計算機應(yīng)用,2010,30(6):1655-1660.
[3]虞為,曹加恒,陳俊鵬.基于本體的地理信息查詢和排序[J].計算機工程,2007,33(21):27-32.
[4]Yu Xuejun,Lv Jing.Keywords semantic extension in semantic search model[C]// International Conference on Computer,Networks and Communication Engineering.2013.
[5]段磊,李琦,毛曦.基于本體的空間搜索引擎研究[J].計算機科學(xué),2009,36(2):172-174.
[6]Janowicz K,Raubal M,Kuhn W.The semantics of similarity in geographic information retrieval[J].Journal of Spatial Information Science,2013(2):29-57.
[7]Ahlers D.Towards a development process for geospatial in-formation retrieval and search[C]// Proceedings of the 22nd International Conference on World Wide Web Companion.International World Wide Web Conferences Steering Committee.2013:143-144.
[8]California Institute of Technology.Textpresso[EB/OL].http://www.textpresso.org,2014-10-31.
[9]SHOE Team.SHOE[EB/OL].http://www.cs.umd.edu/projects/plus/SHOE/,2014-10-31.
[10]Shestakov D,Moise D,Gudmundsson G,et al.Scalable high-dimensional indexing with Hadoop[C]// IEEE 2013 the 11th International Workshop on Content-Based Multimedia Indexing (CBMI).2013:207-212.
[11]Liu Tianyuan,Song Meina,Zhang Xiaoqi.Research of massive heterogeneous data integration based on Lucene and XQuery[C]// IEEE the 2nd Symposium on Web Society (SWS).2010:648-652.
[12]Gao X,Nachankar V,Qiu J.Experimenting lucene index on HBase in an HPC environment[C]// Proceedings of the first Annual Workshop on High Performance Computing Meets Databases.ACM,2011:25-28.
[13]Gu Chunhao,Gao Yang.A content-based image retrieval system based on Hadoop and Lucene[C]// IEEE 2012 the Second International Conference on Cloud and Green Computing(CGC).2012:684-687.
[14]王俊生,施運梅,張仰森.基于Hadoop 的分布式搜索引擎關(guān)鍵技術(shù)[J].北京信息科技大學(xué)學(xué)報(自然科學(xué)版),2011,26(4):53-56.
[15]黃果,周竹榮,周亭.基于領(lǐng)域本體的語義相似度計算研究[J].計算機工程與科學(xué),2007,29(5):112-116.
[16]張承立,陳劍波,奇開悅.基于語義網(wǎng)的語義相似度算法改進[J].計算機工程與應(yīng)用,2006,42(17):165-166.
[17]李鵬,陶蘭,王弼佐.一種改進的本體語義相似度計算及其應(yīng)用[J].計算機工程與設(shè)計,2007,28(1):227-229.