一種教學(xué)資源的全文搜索引擎系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息檢索領(lǐng)域,特別涉及一種針對教學(xué)資源的構(gòu)建垂直搜索引擎的方法。
【背景技術(shù)】
[0002]伴隨著因特網(wǎng)的普及,教育系統(tǒng)中可用的網(wǎng)頁信息、課件資源和各種電子信息載體也不斷產(chǎn)生,比之于通用網(wǎng)頁信息檢索的發(fā)展,教育信息化改革和教學(xué)資源建設(shè)的發(fā)展相對緩慢,專門針對教育資源的專業(yè)檢索還尚未出現(xiàn)。以往對教育資源的全文檢索功能可以由以下三種方法實現(xiàn):
[0003](I)使用關(guān)系數(shù)據(jù)庫的Like “keyword”查詢來代替全文檢索系統(tǒng)。這種方法在信息量比較小的情況下,檢索速度比較快,但是由于查詢語句比較繁瑣,在面對海量信息的情況下,檢索速度會急劇降低,其性能也往往達不到要求,甚至影響數(shù)據(jù)庫的其他正常使用。
[0004](2)使用通用的數(shù)據(jù)庫系統(tǒng)提供的全文檢索功能。有些教學(xué)平臺雖稱實現(xiàn)了全文索引庫,但其實質(zhì)是通過先檢索放在關(guān)系數(shù)據(jù)庫里的結(jié)構(gòu)化數(shù)據(jù),如標題、作者、關(guān)鍵詞、文摘等,然后鏈接全文以獲得全文,真正實現(xiàn)全文檢索的不多。
[0005](3)使用網(wǎng)絡(luò)上如google、baidu等搜索引擎提供的站內(nèi)搜索。此方法對于校園網(wǎng)來說,成本昂貴,索引范圍不全,更新周期慢等。
[0006]這三種方法的搜索技術(shù)在教學(xué)資源文檔檢索方面存在諸多不足,導(dǎo)致目前學(xué)校對教學(xué)資源庫中文檔的索引管理效率低下,用戶查找教學(xué)資源不方便。因此,針對網(wǎng)絡(luò)教學(xué)平臺的教育資源研究并定制一個全文檢索系統(tǒng)是必要的。
[0007]當前信息處理研究領(lǐng)域中的信息抽取、信息過濾、信息檢索等研究熱點正好適應(yīng)了這一需要,值得教育信息化改革的學(xué)習(xí)和借鑒。信息抽取的目的是對目前存在的多種格式的文檔資源,如Office文檔、PDF文檔、標記格式文檔(HTML、XML、xSL)等進行分析,提取出文檔中的內(nèi)容。信息檢索一般是指文件信息檢索。其主要目的是針對用戶提出的查詢,快速準確地得到所需要的文件信息。信息檢索的核心技術(shù)是全文檢索技術(shù)。全文檢索技術(shù)不僅是提高教學(xué)資源利用率的保證,更是促進網(wǎng)絡(luò)教學(xué)系統(tǒng)發(fā)展的關(guān)鍵技術(shù)之一。
[0008]Lucene是一套用于全文檢索和搜尋的開源程式庫,由Apache軟件基金會支持和提供。Lucene提供了一個簡單卻強大的應(yīng)用程式接口,其目的是為軟件開發(fā)人員提供一個簡單易用的工具包,以方便的在目標系統(tǒng)中實現(xiàn)全文檢索的功能,或者是以此為基礎(chǔ)建立起完整的全文檢索引擎。Lucene作為一個全文檢索引擎,其具有如下突出的優(yōu)點:
[0009](I)索引文件格式獨立于應(yīng)用平臺。Lucene定義了一套以8位字節(jié)為基礎(chǔ)的索引文件格式,使得兼容系統(tǒng)或者不同平臺的應(yīng)用能夠共享建立的索引文件。
[0010](2)在傳統(tǒng)全文檢索引擎的倒排索引的基礎(chǔ)上,實現(xiàn)了分塊索引,能夠針對新的文件建立小文件索引,提升索引速度。然后通過與原有索引的合并,達到優(yōu)化的目的。
[0011](3)優(yōu)秀的面向?qū)ο蟮南到y(tǒng)架構(gòu),使得對于Lucene擴展的學(xué)習(xí)難度降低,方便擴充新功能。
[0012](4)設(shè)計了獨立于語言和文件格式的文本分析接口,索引器通過接受Token流完成索引文件的創(chuàng)立,用戶擴展新的語言和文件格式,只需要實現(xiàn)文本分析的接口。
[0013](5)已經(jīng)默認實現(xiàn)了一套強大的查詢引擎,用戶無需自己編寫代碼即可使系統(tǒng)可獲得強大的查詢能力,Lucene的查詢實現(xiàn)中默認實現(xiàn)了布爾操作、模糊查詢、分組查詢等等。
[0014]為了克服上述現(xiàn)有技術(shù)的缺陷,針對教育信息化和網(wǎng)絡(luò)化的需求特點,本發(fā)明創(chuàng)新地在網(wǎng)絡(luò)教學(xué)平臺上基于Iucene構(gòu)建一個全文檢索引擎系統(tǒng),可以對系統(tǒng)內(nèi)課件資源庫中各種文檔如PDF文件、Office文檔等進行全文檢索。
【發(fā)明內(nèi)容】
[0015]本發(fā)明提出了一種教學(xué)資源的全文搜索引擎系統(tǒng),包括:用戶交互單元,其為輸入輸出裝置,用于接收用戶輸入的關(guān)鍵詞或語句,以及顯示或輸出查詢到的教學(xué)資源;教學(xué)資源庫,其用于存儲上傳的教學(xué)資源;文本處理單元,分別與所述用戶交互單元和所述教學(xué)資源庫通信,用于對所述教學(xué)資源的文本及所述關(guān)鍵詞或語句進行處理,生成分詞結(jié)果;建立索引單元,其與所述文本處理單元通信,利用基于Iucene的建索引引擎,根據(jù)所述教學(xué)資源的分詞結(jié)果建立索引文件,并存儲所述索引文件;查詢搜索單元,其與所述用戶交互單元、所述文本處理單元及所述建立索引單元,其用于根據(jù)所述關(guān)鍵詞或語句的分詞結(jié)果生成查詢對象,對所述建立索引單元內(nèi)的所述索引文件進行搜索,搜索到的與所述查詢對象最相關(guān)的教學(xué)資源后返回所述用戶交互單元。
[0016]本發(fā)明所述的教學(xué)資源全文搜索引擎系統(tǒng)中,所述文本處理單元包括:文本抽取模塊,從所述教學(xué)資源中抽取出文本;所述文本來源包括:ppt類型、word類型、pdf類型、txt類型的文檔;中文詞語處理模塊,其為ICTCLAS分詞系統(tǒng)用于對從所述文本、用戶輸入的所述關(guān)鍵詞或語句進行詞語切分、詞性標注及詞語過濾,生成分詞結(jié)果。
[0017]本發(fā)明所述的教學(xué)資源全文搜索引擎系統(tǒng)中,所述建立索引單元包括:索引創(chuàng)建模塊,其用于建立索引器IndexWriter,建立文檔對象Document,在所述文檔對象Document中建立字段Field,并將所述文檔對象Document添加到所述索引器IndexWriter中,得到索引文件;索引存儲模塊,其與所述索引創(chuàng)建模塊通信,用于存儲所述索引文件。
[0018]本發(fā)明所述的教學(xué)資源全文搜索引擎系統(tǒng)中,所述查詢搜索單元包括:搜索索引模塊,其基于Iucene的query查詢接口,根據(jù)所述關(guān)鍵詞或語句的分詞結(jié)果生成查詢對象,對所述建立索引單元內(nèi)的所述索引文件進行搜索,得到相關(guān)的教學(xué)資源;相關(guān)性排序模塊,其用于對所述教學(xué)資源與所述查詢對象的相關(guān)程度進行打分,按得分排序得到與所述查詢對象最相關(guān)的教學(xué)資源。
[0019]本發(fā)明所述的教學(xué)資源全文搜索引擎系統(tǒng)中,所述用戶交互單元為web網(wǎng)站。
[0020]本發(fā)明的有益效果在于:
[0021]索引文件格式獨立于應(yīng)用平臺。Lucene定義了一套以8位字節(jié)為基礎(chǔ)的索引文件格式,使得兼容系統(tǒng)或者不同平臺的應(yīng)用能夠共享建立的索引文件。在傳統(tǒng)全文檢索引擎的倒排索引的基礎(chǔ)上,本發(fā)明實現(xiàn)了分塊索引,能夠針對新的文件建立小文件索引,提升索引速度。然后通過與原有索引的合并,達到優(yōu)化的目的。本發(fā)明具有優(yōu)秀的面向?qū)ο蟮南到y(tǒng)架構(gòu),使得對于Lucene擴展的學(xué)習(xí)難度降低,方便擴充新功能。本發(fā)明設(shè)計了獨立于語言和文件格式的文本分析接口,索引器通過接受Token流完成索引文件的創(chuàng)立,用戶擴展新的語言和文件格式,只需要實現(xiàn)文本分析的接口。本系統(tǒng)已經(jīng)默認實現(xiàn)了一套強大的查詢引擎,用戶無需自己編寫代碼即可使系統(tǒng)可獲得強大的查詢能力,Lucene的查詢實現(xiàn)中默認實現(xiàn)了布爾操作、模糊查詢、分組查詢等等。
【附圖說明】
[0022]圖1是全文搜索引擎系統(tǒng)的結(jié)構(gòu)框圖。
[0023]圖2是全文搜索引擎系統(tǒng)的搜索流程圖。
[0024]圖3是Lucene數(shù)據(jù)源組織結(jié)構(gòu)圖。
【具體實施方式】
[0025]結(jié)合以下具體實施例和附圖,對本發(fā)明作進一步的詳細說明。實施本發(fā)明的過程、條件、實驗方法等,除以下專門提及的內(nèi)容之外,均為本領(lǐng)域的普遍知識和公知常識,本發(fā)明沒有特別限制內(nèi)容。
[0026]參見圖1,本發(fā)明教學(xué)資源的全文搜索引擎系統(tǒng)包括:用戶交互單元1,其為輸入輸出裝置,用于接收用戶輸入的關(guān)鍵詞或語句,以及顯示或輸出查詢到的教學(xué)資源;教學(xué)資源庫2,其用于存儲上傳的教學(xué)資源;文本處理單元3,其分別與用戶交互單元I和教學(xué)資源庫2通信,用于對教學(xué)資源的文本及關(guān)鍵詞或語句進行處理,生成分詞結(jié)果;建立索引單元4,其與文本處理單元3通信,利用基于Iucene的建索引引擎,根據(jù)教學(xué)資源的分詞結(jié)果建立索引文件,并存儲索引文件;查詢搜索單元5,其與用戶交互單元1、文本處理單元3及建立索引單元4,其用于根據(jù)關(guān)鍵詞或語句的分詞結(jié)果生成查詢對象,對建立索引單元4內(nèi)的索引文件進行搜索,搜索到的與查詢對象最相關(guān)的教學(xué)資源后返回用戶交互單元I。
[0027]【具體實施方式】中使用的是Lucene 3.6版本,Lucene的工作流程分兩大步:第一步建立索引,第二步查詢。本發(fā)明的目的是對大量office文檔,pdf,txt等文件創(chuàng)建索引,根據(jù)創(chuàng)建好的索引文件,通過關(guān)鍵詞或者語句能夠快速搜索到相應(yīng)的文件。方法流程如圖1所不:1利用Apache POI和Apache I3DFbox的開放源碼函式庫對Microsoft Office格式文檔和pdf格式文檔抽取出文本;2利用中科院分詞系統(tǒng)ICTCLAS對抽取出的文本進行中文分詞;3利用Lucene對切分詞創(chuàng)建索引;4執(zhí)行搜索,應(yīng)用Lucene的打分機制,可以將搜索到的結(jié)果根據(jù)相關(guān)性由高到低返回。
[0028]圖2顯示的是全文搜索引擎系統(tǒng)的搜索流程圖。以下結(jié)合實例,對各單元的功能模塊的功能及其實現(xiàn)方法作詳細闡述。
[0029]1、文本抽取
[0030]文本處理單元3包括文本抽取模塊31和中文詞語處理模塊32。文本抽取模塊31從教學(xué)資