鄭昕欣+劉明銘
摘 要: 本文通過對不同用戶的需求、信息獲取途徑的深入了解以及對智能化信息檢索進行了可行性分析后,對其作了需求分析、功能模塊劃分、數(shù)據(jù)庫的設計、算法設計以及界面設計,選定在校大學生作為適用群體,完成了校園信息智能化檢索系統(tǒng)的開發(fā)。它可以應用于校園、企業(yè)、網(wǎng)站等諸多實體,因此具有一定的使用價值。
關鍵詞:智能化 信息檢索 校園 檢索系統(tǒng)
中圖分類號:TP3 文獻標識碼:A 文章編號:1003-9082(2016)10-0016-01
一、引言
本文以在校大學生為服務對象,針對上述信息服務系統(tǒng)的不足,設計研發(fā)了針對大學生的智能化信息檢索系統(tǒng),實現(xiàn)了根據(jù)對用戶自身特性、用戶需求和漢語言自身特點等多方面的綜合考量進行有針對性地信息推送這一功能。通過使用本系統(tǒng),可以提高在校大學生獲取信息的便利度和快捷度,同時也方便了大學生之間的交流和溝通。
二、系統(tǒng)分析
1.系統(tǒng)總體目標
在用戶方面,本系統(tǒng)致力于帶來便捷的用戶體驗、簡潔大方的用戶接口;在管理員方面,本系統(tǒng)致力于實現(xiàn)簡便的后期維護,如要對功能模塊方面作修改,則無需進行整個系統(tǒng)的重新架構。
2.技術可行性分析
本系統(tǒng)是一個典型的數(shù)據(jù)庫應用程序?,F(xiàn)有的數(shù)據(jù)庫應用程序開發(fā)技術已非常成熟,利用現(xiàn)有技術完全可以實現(xiàn)預定的功能。Java語言簡單、功能強大并容易掌握。而MySQL是一個非常優(yōu)秀的中型數(shù)據(jù)庫管理軟件,使用方便,性能穩(wěn)定。故采用Java+MySQL技術完全能夠實現(xiàn)本系統(tǒng)的開發(fā)。
三、系統(tǒng)設計
1.功能模塊描述
1.1登錄模塊
將用戶輸入的用戶名和密碼帶入數(shù)據(jù)庫,在數(shù)據(jù)庫中進行匹配,驗證賬號和密碼,
1.2主頁面模塊
在此模塊中列舉本系統(tǒng)所包含的所有子功能模塊以及一些推薦信息。
1.3近期活動模塊
發(fā)布內容來自學校社團等活動主辦方,并根據(jù)實時情況更改發(fā)布內容。
1.4生活服務模塊
學生成功登錄后,可以自行發(fā)布信息,該信息經(jīng)過排版發(fā)布于子功能模塊中,并可被其他登陸用戶看到。
1.5自助查詢模塊
用戶成功登錄后,可以根據(jù)需要發(fā)起搜索,后臺服務器根據(jù)搜索記錄進行智能匹配,并在子功能模塊中反饋給用戶。
四、信息檢索關鍵技術及系統(tǒng)實現(xiàn)
1.基于網(wǎng)絡爬蟲的網(wǎng)頁信息提取
本系統(tǒng)采用Java和MySQL數(shù)據(jù)庫聯(lián)動的方式,在每一次抽取新的URL時,通過Jsoup類庫解析出document實例對象,在此實例對象中抽取需要的元素(如文章內容等),同時將URL和該網(wǎng)頁的標題加入數(shù)據(jù)庫,形成標題與URL一一對應的表結構。
由于互聯(lián)網(wǎng)上的信息總是實時更新的,存儲在數(shù)據(jù)庫中作為信息儲備的所有信息也必須配合互聯(lián)網(wǎng)得到時效性,實現(xiàn)實時更新。本系統(tǒng)通過調用Mycrawler類中的refresh方法來實現(xiàn)定時更新,利用多線程來監(jiān)督更新并計時。
2.提取信息的分詞實現(xiàn)
在分詞部分,核心要點是 1.詞典樹的構建 2.中文詞匯的匹配,即對一句話中詞語切割的位置。為此,本系統(tǒng)采用了IKAnalyzer分詞技術。IKAnalyzer是一個開源的,基于java語言開發(fā)的輕量級的中文分詞工具包。
在詞語的匹配過程當中,IK中默認用到三個子分詞器,分別是LetterSegmenter(字母分詞器),CN_QuantifierSegment(量詞分詞器),CJKSegmenter(中日韓分詞器)。分詞會先后經(jīng)過這三個分詞器,首先要對輸入的字符串進行處理,將字符串轉換為char型進行匹配輸入字符串以char的形式進行匹配,一個char如果能取到hitList,那么會鎖定hitList,循環(huán)到第二個char,如果能在hitList里與上一個char匹配成詞,則保存當前的newLexeme,并加入到輸出結果集。isEnd()判斷是否結束,如果是,則context.currCursor偏移1位,繼續(xù)取詞。以此類推,直到整個字符串遍歷完畢。
3.智能化方法及實現(xiàn)
隨著計算機技術的不斷發(fā)展,智能化以其良好的用戶體驗一躍成為今后軟件設計的一個必然趨勢。本系統(tǒng)的智能化主要體現(xiàn)在:根據(jù)同義詞、近義詞詞庫,實現(xiàn)同義詞匹配搜索。即,根據(jù)用戶輸入的關鍵字,通過同義詞匹配,將與用戶搜索內容詞義相近的搜索結果按照其不同的匹配度降序排列,同樣也反饋給用戶。
在獲取了用戶的搜索指令之后,本系統(tǒng)對關鍵詞進行同義詞查詢,使用戶搜索內容得到一定擴充。同義詞部分在Lucene4.6中通過SynonymFilterFactory實現(xiàn)查詢。
Lucene是Apache軟件基金會Jakarta項目組的一個子項目,是一個開放源代碼的全文搜索引擎工具包,但它不是一個完整的全文搜索引擎,而是一個全文搜索引擎架構,提供了完整的查詢引擎和索引引擎,部分文本分析引擎。
本系統(tǒng)首先通過新建Hashmap儲存相關版本信息和同義詞詞典信息,并載入相關內容。而后將已提取到的多個關鍵詞進行stream化以供索引。最后借助SynonymFilterFactory類,根據(jù)同義詞詞庫,以自然語言中的意群作為標準,實現(xiàn)同義詞查詢。
五、總結與展望
本系統(tǒng)從用戶的角度出發(fā),發(fā)現(xiàn)了現(xiàn)代信息社會特定群體獲取信息時存在的一些弊端,并根據(jù)這些弊端提出了一種更優(yōu)的實現(xiàn)方法,該方法不同于當今較通用的智能匹配,同時兼顧了用戶群體和自然語言特征兩個方面,將用戶需求進一步細分,仿真方法證明了該方法在數(shù)據(jù)量很大的情況下依然有效。
參考文獻
[1](美)西爾伯沙茨(Silberschatz.A.)等著.數(shù)據(jù)庫系統(tǒng)概念:Database System Concepts[M].楊冬青,李紅燕,唐世渭等譯.原書第六版.北京:機械工業(yè)出版社,2012年:41-42.
[2]李剛.瘋狂Java講義(精粹)[M].第二版.北京:電子工業(yè)出版社,2014,236-242.