王歡


摘要:信息時代來臨,智能搜索已成為大勢所趨。本文運用組件技術構建一種實現智能知識庫的工程模型。通過用戶接口、轉換查詢,數據存儲等組件實現英語語言模型的初步查詢檢索。最后對本模型相關組件功能擴展進行了展望。
關鍵詞:智能知識庫;散列表;信息搜索
中圖分類號:TP182? ?文獻標識碼:A? ? ?文章編號:1007-9416(2018)10-0000-00
信息時代的到來,人們獲取知識的途徑多種多樣。但獲取結果并不完全盡如人意。搜索引擎搜到的結果往往是重復的價值較低的內容,甚至有很多完全不相關的東西。絕大多數論壇又不夠專業,一個問題往往不是沒有解答就是有很多不夠滿意的答復版本。求助于電子數據庫,往往又遇到付費的尷尬。智能知識庫[2]應運而生。
本文用現有的技術手段描述出了一種實現智能知識庫的工程模型。該模型總體上分為三個組件[4](即三個agent):用戶接口組件,轉換查詢組件和數據存儲組件。信息查詢時,用戶接口組件接受不同形式的用戶查詢指令,并轉化為統一的內部查詢方式傳遞給轉換查詢組件;轉換查詢組件將傳遞來的內部查詢方式轉換為具體的存儲查詢方式,并傳遞給數據存儲組件;數據存儲組件按查詢條件查詢出所需的信息,并回傳給用戶接口組件。評價反饋時,用戶通過用戶接口組件給所查得的信息一個評價,并由用戶接口組件直接傳給數據存儲組件。信息錄入時,與查詢時相同,只是查詢到已有此信息則可以繼續編輯,沒有就可以創建。本知識庫工程模型結構如圖1所示。
1 用戶接口組件
用戶接口組件是最復雜的組件,其主要作用就是一個詞法分析器。將用戶用于查詢的自然語言轉化為內部表示的查詢語言符號。由于自然語言過于龐大和復雜,因此本知識庫所使用的查詢語言只是自然語言[3]的一個很有限的正則子集,只有英語的一般疑問句形式,即“疑問詞+助動詞+主語”的形式。將查詢語言的形式規定為什么是、何時、何地、如何、為何等幾種固定的問句形式。也就是語法是確定的,因此就不必再做語法分析[1],語義也隨之確定。這樣便大大簡化了系統模型,易于實現、擴展和維護。
要保證正確理解用戶的查詢意圖是最困難的,尤其是漢語這種語義豐富的語言,因此分詞技術就顯得很重要。然而考慮到每個人的語法習慣不同,無論是經典的正向或者反向匹配,還是改進的加窗的最大匹配,抑或是現在流行的基于統計的方法,通用的分詞方法都是很難實現的。由于本知識庫查詢語言模型只是英語[7]的一般疑問句形式,分詞方面只要簡單的正向匹配即可。
本模型使用散列函數法將多樣的用戶查詢語言符號(如:什么時候、何時、哪一天、幾點)轉化成單一確定的內部表示的查詢語言符號。由于散列表[5]幾乎是確定的并且是線性對應的,這樣大大避免了語言符號沖突問題。符號轉換散列表如圖2所示。對于散列表還可以改進為從配置文件讀入關鍵字,這樣對關鍵字的增刪修改都將是很方便靈活的。
2 轉換查詢組件
轉換查詢組件的主要作用就相當于一個代碼生成器。相對來說比較簡單,只是將用戶接口組件轉化生成的內部表示的查詢語言:正則確定的英語一般疑問句,轉化為具體的存儲查詢方式。可使用數據庫做存儲(如標準SQL語言),也可以使用一般的Web頁面做存儲,或使用某種基于字符串查找的自定義查詢語言。
3 數據存儲組件
數據存儲組件則主要是對不同數據進行分類存儲,比如具體的分為:自然科學、工科、計算機科學、編譯技術、詞法分析,使得存儲和查詢都有規律,提高存儲和查詢的效率,查詢時還可預先選擇分類以更加精確快速的查找。同一個信息屬于不同的分類可以建立鏈接,以減小不必要的數據冗余。數據庫中的信息可以被實時修改和更新。
為了保證檢索質量同時又可以直接獲得全文,存儲中用了一個獨立的技術來確保信息的質量。該技術就是取自生物學中的“用進廢退”學說[5],形式是一個評價函數,該評價函數由用戶操作實現。具體實現方法是,將那些用戶索取次數多、給出評價高的信息累計給出一個較高的計數值。例如:賦予某方面的專家對他所熟悉的領域中的信息有較高評價權值,這樣既民主又公平。
4 結語
本智能知識庫模型的三個組件都尚有很大的改進和擴展空間。比如用戶接口組件可以改進的識別更多的自然語言語法;轉換查詢組件可擴展支持更多更豐富的查詢方式;數據存儲組件可以支持更多更好的存儲形式,提供更好的匹配模式和評價機制。由于三個組件是相互獨立的,中間僅以接口來傳遞信息,還可以把數據存儲組件換成一個搜索組件,做成一個更加智能的搜索引擎,而不必像現在的搜索引擎那樣,搜“GRE滿分”搜到一大堆重復的“GRE滿分作文”“GRE滿分閱讀”之類的話題。此外還可以加入其他組件來實現更多的功能,只要沿用現有組件間通信方式既可。
參考文獻
[1]Allen J, Natural Language Understanding, 2nd ed. , The Benjamin/Cummings Publishing Company, Inc. ,1994:101-136.
[2][美] Alexander M. Meystel, James S. Albus 著,馮祖仁,李人厚,等譯.智能系統——結構、設計與控制[M].電子工業出版社,2005.
[3]王小捷,常寶寶.自然語言處理技術基礎[M].北京郵電大學出版社,2002.
[4]Donald E. Knuth, The Art of Computer Programming,Vol. 3 Sorting and Searching, 2nd ed., Addison Wesley Longman, 1998:65-75.
[5]Robert Sedgewick, Algorithms in C, 3th ed., Addison Wesley, 1998:98-116.
[6]Steven S. Muchnick, Advanced Compiler Design and Implementation,? Elsevier Science, 1997:210-244.
[7][美]Betty Schrampfer Azar著,宋云峰 譯,西蒙高級英語語法[M].外語教學與研究出版社,1998.
Analysis of Intelligent Knowledge Base Engineering Model
WANG Huan
(Tangshan College, Tangshan Hebei? 063016)
Abstract: With the advent of the information age, intelligent search has become the trend of the times. In this paper, we use component technology to construct an engineering knowledge base. Through user interface, conversion query, data storage and other components, the preliminary query and retrieval of English language model is realized. Finally, the functional expansion of the related components of the model is prospected.
Key word: Intelligent knowledge base;Hash table;Information search