劉昱甫
(清華大學,北京100084)
大數據技術迅速發展,已經在醫療保健、用戶生成數據、互聯網和金融公司、供應鏈系統等行業領域得到深入應用[1],也已經在人們的日常生活中展示出不可替代的作用[2]。另一方面,不同類型數據量的迅猛增加,增加了信息檢索的難度,降低了信息檢索的效率,為信息查詢帶來了極大挑戰[3]。本文介紹了一種基于知識圖譜的信息查詢系統的新方案。
傳統的信息查詢系統主要根據用戶輸入的關鍵詞進行索引匹配,完成信息的檢索與調取。這種信息查詢與檢索方式在理解用戶查詢需求,展示檢索結果等方面擴展性不強。為了滿足用戶對于信息查詢快速性、準確性、智能性的不斷增長的需求,本文介紹了一種基于知識圖譜的信息查詢系統的新方案[4]。
知識圖譜是一種語義網絡。知識圖譜的構建是一個系統性的工程[5],它包括本體構造、知識抽取和關系抽取、知識推理和關系推理等[6-7]。此外,還需對知識抽取的監督算法進行樣本標注,或對自動標注的樣本進行效果確認。在知識抽取的過程中需要完成實體抽取、關系抽取和屬性抽取。
信息檢索技術主要指信息按一定的方式組織起來,并根據信息用戶的需要找出有關的信息的過程和技術[8]。常用的信息檢索方式包括手工檢索和機械檢索(計算機檢索、網絡信息檢索)。本文介紹的基于知識圖譜的信息查詢系統,選用網絡信息檢索的方式,即依托特定的網絡檢索工具或瀏覽方式,讓用戶在網絡終端完成所需信息的查找與獲取。
基于知識圖譜的信息查詢系統的邏輯機構包括查詢應用層、數據存儲層、數據預處理層、網絡數據獲取層。其中,查詢應用層主要包含信息檢索、知識圖譜展示、智能問答。它為用戶提供信息檢索服務,滿足用戶信息查詢與獲取需求。數據存儲層主要包括基于數據庫的知識存儲,它能夠把CSV文件格式存儲的實體及其關系文件傳遞至Neo4j圖數據庫中管理,實現知識信息的存儲。
數據預處理層主要包括結構化知識庫、中文分詞、詞性標注、相似度計算、文本分類、實體抽取、實體對齊、資源庫等功能模塊。該層在解析器的支持下,完成對原始數據的抽取,并實現多樣化的數據信息預處理。網絡數據獲取層主要面向各類網站數據源主動獲取數據,主要包括網頁文本資源的提取。
3.2.1 數據獲取功能模塊設計
該功能模塊需要針對不同的數據源網站所包含的知識,比如“豆瓣讀書”網站包含的書籍、作者、出版社等,應用爬蟲技術獲取網頁文本資源,提取和組織知識信息。
3.2.2 數據預處理功能模塊設計
該模塊需要實現中文分詞和詞性標注、相似度計算和文本分類三個主要功能。可以應用用戶詞典功能等實現中文分詞和詞性標注,基于余弦定理等完成字符串相似度計算,應用KNN鄰近算法等完成文本分類。
3.2.3 知識存儲功能模塊設計
可以采用Neo4j圖數據庫完成實體節點及其關聯關系的長效性存儲[9],進而基于實體屬性或者關聯關系實現知識檢索。
3.2.4 圖譜構建功能模塊設計
圖譜構建功能可以細化為六個功能單元,具體包括知識獲取、知識融合、知識存儲、查詢語義理解、知識檢索、可視化展現[10]。它們共同完成自然語言查詢的語義分析處理、知識信息匹配、查詢結果反饋及其可視化展現的完整過程,幫助用戶迅速、準確、全面地獲取信息。
為了確定本系統的應用效果,展示系統設計方案的可行性,以中文小說圖書為知識對象,搭建了實驗環境。其中試驗數據設置如下:Dbpedia的實體穩定在0.4億,類別設置為250,事實設置為5億條,屬性控制在6 000種;Freebase的實體穩定在2億,主題設置為2 000,事實設置為1億條,屬性控制在4 000種;NELL的實體穩定在300萬,類別設置為300,學習規則控制在1 500萬條;谷歌知識圖譜的實體穩定在5億,事實設置為35億條。
試驗步驟如下:①完成系統開發技術的設定。在基于知識圖譜的信息查詢系統實現中,使用的技術主要包括Java語言(編程語言)、Neo4j圖數據庫(數據庫),使用的開發工具為Eclipse開發平臺,使用的Web服務器為Tomcat。②構建圖譜。在“豆瓣讀書”網站中展開實體的抽選,并在CSV實體文件中保存。實踐中,主要根據固定的格式,在CSV實體關系文件中保存實體之間的關系。隨后,將CSV實體文件、CSV實體關系文件均轉移至數據庫中保存,達到構建圖譜的效果。③系統開發。出于對基于知識圖譜的信息查詢系統開發效率的考量,將開發架構設定為MVC中的“JSP+Servlet+JavaBean”模式。
該系統可以迅速地響應用戶的查詢需求。和之前基于關鍵詞的書籍和作者信息檢索系統相比,該系統能夠對查詢需求的語義信息進行深入分析,為用戶提供更為全面、準確的信息查詢結果。比如,針對用戶輸入的查詢詞為“活著”,系統能夠判斷出其為余華的代表作之一,除了展示本書的相關信息,還能同時展示作者余華的生平簡歷、其他相關的著作信息、網站購書鏈接等。由此可以看出,基于知識圖譜的信息查詢系統能夠為用戶提供更為詳細、全面、精準的查詢信息,突破了傳統的基于關鍵詞的檢索能力,有著非常高的應用價值。
傳統的信息查詢系統往往依賴關鍵詞匹配。為了滿足用戶對于信息查詢的快速性、準確性、智能性不斷增長的需求,本文展示了基于知識圖譜的信息檢索架構,通過數據獲取、數據預處理、知識存儲、圖譜構建和可視化展示等功能模塊的緊密集成,實現了基于知識圖譜的信息查詢系統的構建。以中文小說圖書為知識對象的應用案例表明,這種基于知識圖譜的信息查詢能夠為用戶提供更為詳細、全面、精準的信息查詢能力,突破了傳統的基于關鍵詞的檢索能力,有著非常高的應用價值。