999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Lucene全文檢索引擎技術(shù)的研究

2011-09-18 08:55:22徐春鳳王艷春葉青
關(guān)鍵詞:搜索引擎文本

徐春鳳,王艷春,葉青

(長(zhǎng)春理工大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長(zhǎng)春 130022)

隨著計(jì)算機(jī)技術(shù)的發(fā)展以及社會(huì)信息化程度大大提高,信息化建設(shè)方面有了比較深入的發(fā)展,抽取出對(duì)其有價(jià)值的、潛在的信息,使之能有效地被應(yīng)用在管理和決策中給予了越來(lái)越多的關(guān)注。信息檢索技術(shù)幫助用戶從海量的信息中提取出他們所需要的有用信息,節(jié)省了用戶的時(shí)間,提高了用戶的工作效率。搜索引擎正是這些技術(shù)的基礎(chǔ)和平臺(tái),它決定著這些技術(shù)的開(kāi)發(fā)和應(yīng)用。

本文是基于對(duì)全文搜索引擎模型的基本原理、核心技術(shù)和流程的研究,應(yīng)用Apache軟件基金會(huì)提供的全文檢索引擎工具包Lucene,建立一個(gè)能對(duì)常見(jiàn)文檔進(jìn)行全文檢索的電子文檔全文檢索系統(tǒng),并在此系統(tǒng)的基礎(chǔ)上研究如何提高全文搜索引擎的精度、性能和用戶體驗(yàn),尤其是對(duì)中文分詞等方面進(jìn)行深入的研究并做適當(dāng)?shù)母倪M(jìn)。

1 全文搜索引擎

通常將全文搜索引擎模型分成兩大功能模塊:索引處理(Indexing Process)和查詢處理(Query Process)。索引處理的主要任務(wù)是針對(duì)指定資源,如互聯(lián)網(wǎng)上的網(wǎng)頁(yè)或其他類型的文檔,根據(jù)這些資源的具體內(nèi)容建立一個(gè)可進(jìn)行后期查詢的數(shù)據(jù)庫(kù)。這個(gè)庫(kù)并不是我們通常所說(shuō)的能用結(jié)構(gòu)化查詢語(yǔ)言(SQL)進(jìn)行查詢的數(shù)據(jù)庫(kù),這種數(shù)據(jù)庫(kù)就是索引庫(kù),尤其是指倒排索引庫(kù)。而查詢處理則是在建立好索引庫(kù)的前提下,根據(jù)用戶的查詢條件進(jìn)行檢索并生成一個(gè)具有優(yōu)先級(jí)的文檔列表以合理的布局顯示給用戶。

索引處理的核心主要包括文本采集、文本轉(zhuǎn)換和索引創(chuàng)建等模塊。文本采集負(fù)責(zé)從指定位置如互聯(lián)網(wǎng)中發(fā)現(xiàn)并獲取可進(jìn)行索引處理的資源,如網(wǎng)頁(yè)、電子郵件、新聞等文檔,這部分功能通常由爬網(wǎng)程序完成。之后將結(jié)果交由文本轉(zhuǎn)換器處理。文本轉(zhuǎn)換模塊負(fù)責(zé)從原始文件中提取有用的純文本內(nèi)容,進(jìn)行內(nèi)容的分詞并過(guò)濾掉常見(jiàn)的無(wú)意義的停用詞,有必要時(shí)還要進(jìn)行詞干提取,并最終返回字符串流(Token Stream)。最后由索引創(chuàng)建模塊負(fù)責(zé)對(duì)返回的字符串流中的每一個(gè)字符串進(jìn)行倒排處理后添加到索引庫(kù)中,此外還包括文檔的統(tǒng)計(jì)、權(quán)值計(jì)算、索引優(yōu)化等。有的時(shí)侯,需要將被抓回的文檔存儲(chǔ)到本地,那么這時(shí)候就需要?jiǎng)?chuàng)建一個(gè)文檔數(shù)據(jù)庫(kù)將這些文檔存儲(chǔ)起來(lái)。索引處理的流程如圖1所示。

圖1 全文搜索引擎的索引處理流程Fig.1 The process of full-text search

從圖2不難看出,查詢處理涉及用戶交互、索引查詢和結(jié)果排序等模塊。首先用戶通過(guò)用戶交互模塊提交查詢關(guān)鍵字,檢索查詢模塊根據(jù)關(guān)鍵字建立查詢語(yǔ)句,然后利用該查詢語(yǔ)句到索引庫(kù)中查詢并返回相關(guān)的文檔記錄,在進(jìn)行文檔相關(guān)度排序后又通過(guò)用戶交互將結(jié)果顯示給用戶。整體查詢類似于數(shù)據(jù)庫(kù)的查詢。此外,還可以增加一些系統(tǒng)評(píng)價(jià)功能以幫助進(jìn)一步優(yōu)化系統(tǒng)。

圖2 全文搜索引擎的查詢處理流程Fig.2 The query flow of full-text search

2 中文分詞技術(shù)研究

2.1 中文分詞算法的分類

經(jīng)過(guò)這十幾年的發(fā)展,中文分詞算法越來(lái)越多,而且分詞的效果也在不斷改善。一般情況下,將現(xiàn)有的分詞算法分為主要的三大類,即基于字符串匹配、基于理解和基于統(tǒng)計(jì)的分詞方法[8]。

(1)基于字符串匹配的分詞方法

現(xiàn)在較為常用的幾種基于字符串匹配的方法主要有正向最大匹配法(MM)、逆向最大匹配法(RMM)和雙向最大匹配法(DMM)。

基于字符串匹配的分詞方法相對(duì)簡(jiǎn)單,易于實(shí)現(xiàn);但匹配速度比較慢,并且存在交集型和組合型歧義切分問(wèn)題,沒(méi)有統(tǒng)一標(biāo)準(zhǔn)的詞集,缺乏智能學(xué)習(xí)的特性。

(2)基于理解的分詞方法

基于理解的分詞方法模擬人在理解句子的基礎(chǔ)上進(jìn)行分詞。這種方法在分詞的同時(shí)還進(jìn)行句法、語(yǔ)義分析,并利用句法信息和語(yǔ)義信息來(lái)處理歧義現(xiàn)象。常用的基于理解的分詞方法有專家系統(tǒng)方法和神經(jīng)元網(wǎng)絡(luò)方法[10]。

(3)基于統(tǒng)計(jì)的分詞方法

從形式上看,詞是穩(wěn)定的字的組合,因此在上下文中,相鄰的字同時(shí)出現(xiàn)的次數(shù)越多,就越有可能構(gòu)成一個(gè)詞。因此字與字相鄰共現(xiàn)的頻率或概率能夠較好的反映成詞的可信度。可以對(duì)語(yǔ)料中相鄰共現(xiàn)的各個(gè)字的組合的頻度進(jìn)行統(tǒng)計(jì),計(jì)算它們的互現(xiàn)信息。但這種方法也有一定的局限性,會(huì)經(jīng)常抽出一些共現(xiàn)頻度高、但并不是詞的常用字組,例如“這一”、“之一”、“有的”、“我的”、“許多的”等,并且對(duì)常用詞的識(shí)別精度差,時(shí)空開(kāi)銷大。

2.2 中文分詞的算法實(shí)現(xiàn)

在中文分詞基本算法中,基于字符串匹配的分詞算法是最簡(jiǎn)單的。通常情況下,基于字符串匹配可以最大化匹配,也可以最小化匹配。但最小化匹配可能識(shí)別不了一些常見(jiàn)的如“馬到成功”、“懸崖勒馬”之類的成語(yǔ),導(dǎo)致在檢索的時(shí)候準(zhǔn)確率會(huì)有所下降。本小節(jié)將實(shí)現(xiàn)基于正向最大匹配和基于逆向最大匹配的分詞算法。

正向最大匹配法的基本思想如下:

假設(shè)詞典中最長(zhǎng)詞條長(zhǎng)度為N,則首先取出被處理漢字序列中的前N個(gè)作為一個(gè)單位,到詞典中查找是否存在與之相等的詞條。

若存在則匹配成功,并將這個(gè)單位從原漢字序列中切分出去;否則去掉這個(gè)單位的最后一個(gè)字,剩下的部分作為一個(gè)新的單位重新進(jìn)行詞典查找,直到匹配成功或者是只剩下一個(gè)漢字。如此進(jìn)行下去,直到整個(gè)漢字序列全部匹配完成。算法流程如圖3所示。

逆向最大匹配法的基本思想與之類似,只是每次都是從漢字序列的末尾取詞,每次刪詞時(shí)都是去除單位最前面一個(gè)漢字。

圖3 正向最大匹配法流程圖Fig.3 The flow of positive matching method

3 全文文檔檢索系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

傳統(tǒng)的文件查找一般只對(duì)文件名進(jìn)行匹配查詢,而文件名對(duì)文件內(nèi)容的概括能力是有限的,而且查找返回的文件列表之間缺乏優(yōu)先級(jí)。尤其是在互聯(lián)網(wǎng)的時(shí)代,文檔的共享變得越來(lái)越受歡迎,這一點(diǎn)顯得更加重要。如百度文庫(kù)、新浪愛(ài)問(wèn)等就是利用全文檢索技術(shù)開(kāi)發(fā)的應(yīng)用。本章將講述建立一個(gè)自己的全文文檔檢索系統(tǒng)。整個(gè)系統(tǒng)由文本提取、中文分詞器、索引器、查詢器、用戶界面和文件下載6大模塊組成。其中中文分詞器、索引器、查詢器是系統(tǒng)的核心部分。文檔排序功能由查詢器完成。各個(gè)模塊之間的工作流程如圖4所示。

圖4 各模塊之間工作流程Fig.4 The flow of each module

3.1 文本提取

為了實(shí)現(xiàn)對(duì)常見(jiàn)文件文本內(nèi)容的提取,在文本提取模塊中設(shè)計(jì)了幾個(gè)獨(dú)立的類負(fù)責(zé)對(duì)相應(yīng)類型文件的內(nèi)容提取,依次是PDF類、Word類、PPT類、XLS類和TXT類。在每一個(gè)類中,都有一個(gè)構(gòu)造函數(shù)和一個(gè)文本提取方法。前者負(fù)責(zé)構(gòu)造一個(gè)文件實(shí)例,后者完成文本的真正提取。

3.2 中文分詞器的選擇

在Lucene內(nèi)部提供了幾個(gè)分詞工具,如按字符間空格進(jìn)行分詞的WhitespaceAnalyzer、進(jìn)行簡(jiǎn)單分詞的SimpleAnalyzer、按停用詞進(jìn)行劃分的StopA-nalyzer和更智能的StandardAnalyzer等分析器。但這些分析器中除了StandardAnalyzer提供了部分中文分詞功能外,其他幾個(gè)版本基本是針對(duì)西方文字而開(kāi)發(fā)的。

常用的應(yīng)用于Lucene的中文分詞器有IK分詞器、庖丁解牛分詞器和CJK分詞器。CJK分詞器是Apache下一個(gè)基于java語(yǔ)言的開(kāi)源子項(xiàng)目,針對(duì)中日韓語(yǔ)系的分詞工具包。該工具包提供了三種分詞方法,ChineseAnalyzer、CJKAnalyzer和 SmartChineseAnalyzer。ChineseAnalyzer采用一元分詞法,即一個(gè)漢字分為一個(gè)詞。CJKAnalyzer則采用二元分詞法,將任意相鄰的兩個(gè)漢字識(shí)別為一個(gè)詞。而正如其名,SmartChineseAnalyzer采用了更智能的方法實(shí)現(xiàn)分詞,效果更佳。CJK分詞效果如圖5所示。

圖5 CJK分詞效果Fig.5 The effect of cjk segmentation

鑒于SmartChineseAnalyzer的分詞效果比較理想,而且其本身在Lucene工具包下的lucene-smartcn-3.1.0.jar中已經(jīng)實(shí)現(xiàn),本系統(tǒng)就直接利用該分詞器進(jìn)行文本的分詞。

3.3 建立索引庫(kù)

實(shí)現(xiàn)了文本提取和中文分詞器,便可以進(jìn)入另一個(gè)核心模塊,即索引器模塊。在使用Lucene所提供的類庫(kù)和API中,在建立索引庫(kù)時(shí):首先至少創(chuàng)建一個(gè)文件對(duì)象File用于指定索引庫(kù)的存儲(chǔ)位置,接著根據(jù)這個(gè)File對(duì)象和所要使用的分詞器創(chuàng)建一個(gè)寫索引對(duì)象IndexWriter,依次針對(duì)每個(gè)文件創(chuàng)建一個(gè)文檔對(duì)象Document,并為每個(gè)文檔創(chuàng)建至少一個(gè)域?qū)ο驠ield,將這些Field依次添加到Document中,將這些Document添加到IndexWriter中,最后優(yōu)化索引并關(guān)閉IndexWriter。在此應(yīng)用中,Indexer類對(duì)指定文件夾下的所有文件進(jìn)行索引,整個(gè)算法流程如圖6所示。

圖6 索引處理流程圖Fig.6 The flow of index process

3.4 實(shí)現(xiàn)查詢

用戶界面主要的工作是獲取查詢條件和檢索結(jié)果顯示,實(shí)現(xiàn)查詢的關(guān)鍵還是在索引器的實(shí)現(xiàn)。在本系統(tǒng)中,將查詢器封裝成Searcher類。關(guān)鍵字的查詢主要涉及到Directory、Analyzer、IndexSearcher、Query和TopDocs類。為了創(chuàng)建查索引器Index-Searcher對(duì)象,首先得創(chuàng)建索引庫(kù)所在的目錄Directory和處理查詢關(guān)鍵字的索引器Analyzer,在生成好Lucene內(nèi)部查詢語(yǔ)句Query后就可以對(duì)索引庫(kù)進(jìn)行檢索。檢索結(jié)果最終存儲(chǔ)在TopDocs對(duì)象中以便后續(xù)處理使用。整個(gè)流程如圖7所示。

獲取查詢結(jié)果TopDocs后,就可進(jìn)行后續(xù)處理,如文檔過(guò)濾和文檔排序等操作,并將最終結(jié)果傳給用戶界面進(jìn)行顯示。

4 結(jié)束語(yǔ)

本文介紹了中文分詞的一些基本算法,并對(duì)中文分詞的基于字符串匹配的算法進(jìn)行實(shí)現(xiàn),及如何利用Lucene建立全文文檔檢索系統(tǒng)和系統(tǒng)優(yōu)化。在此實(shí)現(xiàn)了中文分詞以及索引的建立,并且可以根據(jù)用戶提供的關(guān)鍵字進(jìn)行查詢,將最終結(jié)果在用戶界面上顯示。雖然本系統(tǒng)取得了一定的進(jìn)展,但還有一些問(wèn)題有待進(jìn)一步的研究,例如還需對(duì)文檔相關(guān)度排序算法的學(xué)習(xí),基于Lucene的全文文檔檢索系統(tǒng)功能上有待完善。

圖7 查詢處理流程圖Fig.7 The flow of query process

[1]桌面搜索引擎[EB/OL].http://baike.baidu.com/view/678550.htm.

[2]搜索引擎[EB/OL].http://baike.baidu.com/view/1154.htm.

[3]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2009.

[4]吳眾欣,沈家立.Lucene分析與應(yīng)用[M].北京:機(jī)械工業(yè)出版社,2008.

[5]W.BRUCE CROFT,DONALD METZLER,TREVVOR STROHMAN[M].Search Engines Information Retrieval in Practice,2009.

[6]Michael McCandless,Erik Hatcher,Otis Gospodnetic[M].Lucene in Action 2nd Edition,2010.

[7]劉挺,秦兵,張宇等,譯.搜索引擎信息檢索實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2010.

[8]中文搜索引擎技術(shù)揭密(三)[EB/OL].http://blog.csdn.net/kangsheng/archive/2005/03/19/323627.aspx,2005-03-19.

[10]中文分詞的研究現(xiàn)狀及未來(lái)發(fā)展[EB/OL].http://hi.baidu.com/08%B5%BD%B1%B1%BE%A9/blog/item/37bccc730ca586148701b0a8.html.

[11]中文搜索引擎技術(shù)揭密:中文分詞(四)[EB/OL].http://blog.csdn.net/kangsheng/archive/2005/03/19/323626.aspx,2005-03-19.

[12]Search Ranking Factors[EB/OL].http://www.seomoz.org/article/search-ranking-factors#overview.

猜你喜歡
搜索引擎文本
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識(shí)別
電子制作(2018年18期)2018-11-14 01:48:06
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學(xué)隱喻
論《柳毅傳》對(duì)前代文本的繼承與轉(zhuǎn)化
人間(2015年20期)2016-01-04 12:47:10
網(wǎng)絡(luò)搜索引擎亟待規(guī)范
Nutch搜索引擎在網(wǎng)絡(luò)輿情管控中的應(yīng)用
基于Nutch的醫(yī)療搜索引擎的研究與開(kāi)發(fā)
廣告主與搜索引擎的雙向博弈分析
如何快速走進(jìn)文本
主站蜘蛛池模板: 国产人碰人摸人爱免费视频| 国产小视频在线高清播放| 一级做a爰片久久毛片毛片| 日韩在线1| 国产欧美日韩免费| 深夜福利视频一区二区| 毛片a级毛片免费观看免下载| 999在线免费视频| 精品伊人久久久香线蕉 | 57pao国产成视频免费播放| 手机精品视频在线观看免费| 亚洲成A人V欧美综合| 永久免费无码日韩视频| 国产成人综合久久精品下载| 免费无码在线观看| 日韩不卡高清视频| 亚洲精品无码av中文字幕| 无码精品国产VA在线观看DVD| 男女性色大片免费网站| 国产欧美视频一区二区三区| 五月天综合婷婷| 欧美、日韩、国产综合一区| 亚洲成综合人影院在院播放| 91香蕉国产亚洲一二三区| 亚洲无码久久久久| 精品无码人妻一区二区| 亚洲国产一区在线观看| 国产a v无码专区亚洲av| 亚洲天堂久久新| www亚洲天堂| 无码日韩人妻精品久久蜜桃| 欧美综合中文字幕久久| 77777亚洲午夜久久多人| 欧美不卡在线视频| 992tv国产人成在线观看| 亚洲欧美成人影院| 亚洲毛片网站| 久久中文字幕不卡一二区| 精品视频免费在线| 国产黄在线免费观看| 欧美成人一区午夜福利在线| 曰韩人妻一区二区三区| 国产成人无码久久久久毛片| 欧美成一级| 成人福利在线观看| 全部免费毛片免费播放| 亚洲Av激情网五月天| 四虎成人免费毛片| 亚洲综合片| 精品综合久久久久久97超人该| 高清国产va日韩亚洲免费午夜电影| 欧美区日韩区| 久久中文字幕av不卡一区二区| 在线a视频免费观看| 国产精品手机在线观看你懂的 | 日韩精品少妇无码受不了| 爽爽影院十八禁在线观看| 亚洲精品你懂的| 亚洲动漫h| 精品91自产拍在线| 欧美午夜在线播放| 午夜天堂视频| 丝袜高跟美脚国产1区| 国产成人精品日本亚洲| 99热国产这里只有精品无卡顿"| 国产午夜看片| 亚洲视频在线网| 亚洲天堂777| 无码人中文字幕| 欧美五月婷婷| 欧洲熟妇精品视频| 国产尤物视频网址导航| 特级毛片8级毛片免费观看| 在线观看免费国产| 色屁屁一区二区三区视频国产| 97视频精品全国在线观看| 一级看片免费视频| 国产精品视频久| 国产美女一级毛片| 国产情侣一区二区三区| 久久国产精品麻豆系列| 波多野吉衣一区二区三区av|