趙濤,張太紅(新疆農業大學 計算機與信息工程學院,烏魯木齊 830052)
?
農業搜索引擎中文分詞工具對比①
趙濤,張太紅
(新疆農業大學 計算機與信息工程學院,烏魯木齊 830052)
摘 要:中文分詞是中文語言處理技術中最關鍵的部分,被作為其中最重要的預處理手段廣泛應用.本文主要分析和比較了ASPSeek、ICTCLAS、Paoding、MMseg、IK與JE六種分詞工具對農業搜索引擎的影響.結果表明: 在農業搜索引擎的應用效果中,分詞準確性最優的是ICTCLAS分詞工具,而F1測度最高的是JE分詞工具.
關鍵詞:中文分詞; 分詞工具; 農業搜索引擎
信息化建設的飛速發展,使得互聯網上的信息迅速增長.為了能夠及時準確的獲取網頁上的信息,搜索引擎便成為人們快速查找信息和資源的重要手段.但目前的搜索引擎主要采用基于關鍵字的查詢,而關鍵字的簡單組合不能明確表述用戶的查詢意圖,這一問題已成為制約搜索引擎性能提高的瓶頸之一.由于漢語本身的特點,必須引入對于中文語言的處理技術,而中文分詞技術就是其中很關鍵的部分.目前為止,還沒有完全正確的分詞技術,網絡是由無數張網頁組成,其內容無比龐大,對分詞方法的要求就更高.那么,這一影響究竟有多大,中文分詞是不是提高搜索引擎性能的關鍵呢? 這正是本文研究的重點[1].
通過近些年的發展,互聯網時刻伴隨在我們身邊.網上的信息量也在急劇膨脹,在這海量的信息中,各類信息混雜在一起,要想充分利用這些信息資源就要對它們進行整理,如果由人純粹的來做這項工作,已經是不可能的.在自然語言處理技術中,英文是以詞為單位的,詞與詞之間上靠空格隔開,而中文是以字為單位,句子中所有的字連起來才能描述一個意思.因此,中文處理技術比西文處理技術相對較難或發展的較晚,許多西文的處理方法中文不能直接采用,就是因為中文必需有分詞這道工序.中文分詞是其他中文信息處理的基礎.因此,對于搜索引擎來說,最重要的并不是找到所有結果,而是在上百億的網頁中把最相關的結果找到,并排在最前面,這也稱為相關度排序.中文分詞的準確與否,常常直接影響到對搜索結果的相關度排序.分詞準確性對搜索引擎來說就十分重要,但如果分詞速度太慢,即使準確性再高,對于搜索引擎來說也是不可用的,因為搜索引擎需要處理數以億計的網頁,如果分詞耗用的時間過長,會嚴重影響搜索引擎內容更新的速度.因此對于搜索引擎來說,分詞的準確性和速度,二者都需要達到很高的要求[2].由此可見,中文分詞的性能對搜索引擎結果的相關性和準確性有相當大的關系.
隨著社會的發展,人們對信息的要求越來越高,只是百度、Google、搜狐等綜合性搜索引擎不能滿足人們各方面的需求,便出現了垂直搜索引擎,垂直搜索引擎就是向更加專業化、領域化的方向發展,隨即農業搜索引擎也得到了一系列的發展.農業搜索引擎屬于垂直搜索引擎,主要為搜索農業信息而開發的檢索工具,專門提供農業信息,比綜合性搜索引擎在解決實際問題時更有效.
2.1農業搜索引擎的基本原理
農業搜索引擎的基本原理同一般的搜索引擎基本相似,包括信息的采集、信息的預處理及信息的檢索[4].唯獨不同之處在于農業搜索引擎建立的數據庫是跟農業有關的.信息的采集是通過網絡蜘蛛爬蟲對互聯網上的相關站點進行訪問,然后對抓回的網頁進行分析、過濾、和存儲,并對這些信息建立索引.最后根據用戶的要求,對索引數據庫進行訪問,并把檢索的結果返回給用戶[6].
2.2農業搜索引擎的發展
2.2.1國外農業搜索引擎的發展
20世紀50年代到60年代,農業信息化建設開始發展,80年代到90年代得到了快速發展.目前農業搜索引擎朝著多元化發展,如美國農業網絡信息中心是由美國國家農業圖書館與一些大學、研究機構及政府機構資源組合而成的,農業信息服務都是由他們中的每一個成員負責其中的一個部分,各成員之間也相互提供信息及享受信息.還有法國的WEB.AGRISEARCH,它提供了三種服務: 農業搜索引擎、農業期刊導航和農業站點導航.Agrisurf Search是由美國一家農業搜索引擎服務的公司從綜合搜索引擎中解脫出來的專門提供農業信息的網站,另外,此網站還提供農業新聞類與政策類測信息[3].國外農業搜索引擎的出現與發展,為我國農業搜索引擎的發展奠定了良好的基礎.
2.2.2國內農業搜索引擎的發展
目前國內的農業搜索引擎也得到了快速發展,如“農搜”是全世界數據量最大的漢語農業搜索引擎.搜農,是面向農民大戶、農業企業、農業科技人員及專業技術協會的農業搜索引擎.它更加與農業用戶的需求相符合.還有很多如華農在線、中國農業科技信息網農業網站搜索引擎等.這些網站都為農業信息檢索提供了便利條件[5].
3.1什么是中文分詞
中文分詞就是將連續的字序列按照一定的規范重新組合成詞序列的過程.是文本挖掘的基礎.
3.2中文分詞的原理
中文分詞的基本原理是針對輸入文字串(包含中英文數字標點等)進行分詞、過濾處理(包括停用詞的處理與標點符號的處理),輸出中文單詞、英文單詞和數字串等一系列分割好的字符串[7].中文分詞的輸入輸出如圖1所示.
3.3一般分詞方法
目前采用的分詞方法主要有以下幾種: 最大匹配法、反向最大匹配法、逐詞遍歷法、設立切分標志法、最佳匹配法、有窮多層次列舉法、二次掃描法、鄰接約束方法、鄰接知識約束方法、專家系統方法、最少分詞詞頻選擇方法、神經網絡方法等等.但歸納起來不外乎三類: 一類是基于字符串匹配的分詞法,一般以分詞詞典為依據.通過文檔中的漢字串和詞表中的詞逐一匹配來完成詞的切分.一類是理解式切詞法,即利用漢語的語法知識和語義知識以及心理學知識進行分詞,需要建立囫分詞數據庫、知識庫和推理機; 還有一類是基于統計的分詞法[8],它的基礎是利用漢字同時出現來組成有意義詞的概率,可以降低統計對語料庫的依賴性,充分利用已有的詞法信息,同時彌補字符串方法的不足.
3.4中文分詞的難點

圖1 中文分詞的輸入輸出圖
中文是一門復雜而又靈活的語言,可以組成很多詞匯,這讓計算機理解中文語言便非常困難.因此,在實際應用中,為了切分出更精確的詞,我們還有兩大難題需要解決,就是歧義處理和未登錄詞的識別.
3.4.1歧義處理
分詞歧義處理之所以是中文分詞的困難之一,原因在于歧義分為多種類型.目前主要分為交集性歧義、組合型歧義和真歧義三種.交集型歧義字段數量龐大,處理方法多樣; 組合型歧義字段數量較少,處理起來相對較難; 而真歧義字段數量更為稀少,且很難處理.針對不同的歧義類型應采取不同的解決方法.除了需要依靠上、下文語義信息、增加語義、語用知識等外部條件外,還存在難以消解的真歧義,增加了歧義切分的難度[7].同時未登錄詞中也存在著歧義切分的問題,這也增加了歧義切分的難度.所以歧義處理是影響分詞系統切分精度的重要因素.
3.4.2未登錄詞識別
新詞,專業術語稱為未登錄詞.也就是那些在字典中都沒有收錄過的詞.未登錄詞可以分為專名和非專名兩大類.其中專名包括中國人名、外國譯名、地名等.而非專名包括新詞、簡稱、方言詞語、文言詞語、行業用詞等.無論是專名還是非專名的未登錄詞都很難處理,因為其數量龐大,又沒有相應的規范.而且隨著社會生活的變遷,使未登錄詞的數量大大增加,這又為未登錄詞的識別增加了難度[7].因此,未登錄詞識別是中文分詞的另一大難點.
3.5中文分詞技術的進展
中文分詞算法已經被廣泛研究,分詞算法多種多樣.目前,中文分詞效果比較好的并且支持Java語言的中文分詞軟件主要包括ICTCLAS(中科院中文分詞軟件)、IK、Paoding(庖丁解牛)、MMSEG4J等中文分詞軟件,基于C++語言的分詞方法也有很多,如ASPSeek.在本次設計中,我分別使用ASPSeek、ICTCLAS、Paoding、MMSEG4J、IK以及JE分詞工具,并且對它們的分詞效果以及農業搜索引擎分詞工具的性能予以評測.
3.5.1ASPSeek分詞工具
ASPSeek是由Swsoft公司(2007年12月,SWsoft更名為Parallels)使用C++編寫的免費開源互聯網搜索引擎,使用了STL庫,ASPSeek單節點可以處理上百萬個Web頁面并提供檢索服務,可以按短語和單詞(允許使用通配符)進行布爾搜索.搜索結果可以限定在特定的時間域的站點、站點空間,并按照相關性或者時間進行排序.
ASPSeek支持多語言編碼(包括多字節語言如中文).它為抓取多個站點進行了優化(實現多線程檢索,同步DNS查詢,按站點將結果分組,Web集合等),同時它也可以用于單個站點的搜索.其他特性包括支持停詞排除和拼寫檢查,字符集和語言的預測,搜索結果的HTML模板,引用和查詢詞高亮度顯示等[18].但是由于ASPSeek在抓取網頁時對抓好的網頁進行了自動分詞、建倒排索引,所以ASPSeek也可以用作對中文的分詞.ASPSeek是完全基于詞典庫的分詞方法,并且擁有裝載了25萬詞的詞典庫.
3.5.2ICTCLAS分詞工具
ICTClAS分詞系統是由中科院計算所的張華平、劉群所開發的一套分詞系統,這是最早的中文開源分詞項目之一,中科院計算機所的ICTCLAS分詞系統在2002年7月舉行的“973”項目“圖像、語音、自然語言理解與知識挖掘”專家組的評測中,分詞正確率高達97.58%[9];主要功能包括中文分詞、詞性標注、命名實體識別、新詞識別等,同時支持用戶詞典[10],包含的詞典是通過統計方法建立的,對其進行了封裝[7].該分詞系統的主要是思想是先通過CHMM(層疊形隱馬爾可夫模型)進行分詞[11],通過分層,既增加了分詞的準確性,又保證了分詞的效率.共分五層,基本思路: 先進行原子切分,然后在此基礎上進行N-最短路徑粗切分,找出前N個最符合的切分結果,生成二元分詞表,然后生成分詞結果,接著進行詞性標注并完成主要分詞步驟.
3.5.3庖丁解牛分詞工具
庖丁(Paoding)系統是個完全基于lucene的中文分詞系統.庖丁解牛分詞模塊是將輸入的字符串中首先識別和切分出帶有明顯特征的確定詞匯,以這些詞匯為間隔點,把原輸入字符串分割成較小的串再進行詞典分詞.為了庖丁解牛分詞模塊采取了最大減小單純的匹配錯誤,匹配方法和最大切分相結合的方式來分詞[12].另外庖丁解牛分詞系統支持純文本格式,一行一詞,使用后臺線程檢測詞庫的更新,自動編譯更新過的詞庫到二進制版本并加載,具有極高效率和高擴展性.
3.5.4MMseg分詞工具
MMSEG是用 Chih-Hao Tsai 的MMseg 算法實現的中文分詞器.MMSEG是一種基于詞典的分詞算法,以正向最大匹配為主,多種消除歧義的規則為輔.MMSEG 算法主要分為兩種: simple和complex.simple算法就是前面提到的最簡單的正向最大匹配算法[17].為了解決simple算法的不足,MMSEG又提供了另一種選擇: complex算法.該算法使用了Chen K.J.和Liu S.H.于1992年提出的一種最大匹配算法的變種.這種算法的基本思想是: 找到所有從當前位置開始的三個連續詞語的塊,總長度最大的塊是最優解.
3.5.5IK分詞工具
IK Analyzer是一個開源的,基于java語言開發的輕量級的中文分詞工具包.從2006年12月推出1.0版開始,IK已經推出了3個大版本.最初,它是以開源項目Luence為應用主體的,結合詞典分詞和文法分析算法的中文分詞組件,實現了以詞典分詞為基礎的正反向全切分算法,是LuceneAnalyzer接口的實現.該算法適合與互聯網用戶的搜索習慣和企業知識庫檢索,用戶可以用句子中涵蓋的中文詞匯搜索.
3.5.6JE分詞工具
JE分詞是一套由Java寫的分詞軟件,提供了很多功能,比如提供了設定分詞粒度的參數,即可以設定正向最大匹配的字數、提供了API增加了詞典的動態擴展能力、整理優化了詞庫、全面支持lucene3.0以下的版本[13].
本文利用ASPSeek搜索引擎抓取了新疆興農網上10245張網頁,它的體系結構包含抓取模塊、檢索模塊,結果顯示模塊等部分.ASPseek首先利用抓取的網頁,建立倒排索引,并將倒排索引存儲到特定的數據庫中.在網頁抓取的過程中,Index程序瀏覽所有的種子站點,將種子站點的網頁存儲到臨時文件和數據庫中.當抓取程序完畢后,用戶運行相應的命令(index-D)將存儲的數據歸并到數據庫中.本實驗主要使用ASPSeek、ICTCLAS、Paoding、MMseg、IK以及JE分詞工具對這些網頁進行了測試.
4.1實驗流程
4.1.1分詞特性比較
本實驗首先通過ASPSeek搜索引擎抓取10245張網頁,由于ASPSeek搜索引擎在抓取網頁后,已經對抓好的網頁給出了分詞結果,并且對抓好的網頁建了倒排索引,所以在本實驗過程中,ASPSeek都是自行完成的,不用人工的對文檔進行分詞和建立倒排索引,只需對其結果查看.本實驗流程圖2主要適用于其余五種分詞方法.對這些抓取好的網頁進行預處理,其中預處理包括html一些tag標記、標點符號的去除等,然后用各種分詞方法結合lucene對處理好的文檔分詞和建立倒排索引.
4.1.2分詞工具性能評估
此實驗是在上一個實驗抓取網頁的基礎上隨機抽取了30篇文檔,分別對這30篇文檔進行人工分詞和分詞方法分詞.由于ASPSeek、Paoding、MMseg三種分詞工具都是完全基于詞典的方法,所以本文中對這三種分詞工具統一使用ASPSeek龐大的25萬多詞匯的詞庫為標準,對文檔進行分詞.假設人工標定分出的詞是正確的,并且對分出的詞去除停用詞,取出分詞方法與人工分詞分出相同的詞,并且計算每種分詞方法的分出詞的準確率、召回率和F1測度.
本實驗的ICTCLAS、Paoding、MMSEG、IK以及JE這五種分詞方法都是結合lucene在Eclipse軟件下運行的.
本實驗中主要使用了Lucene 3.0版本以及Lucene 2.0版本,由于JE分詞軟件只能應用于Lucene 3.0以下版本.其余4種分詞均和Lucene 3.0結合.
實驗第一部分根據各種分詞工具分出的詞以及索引建立時間和索引建立大小進行了比較.第二部分根據人工和分詞工具對文檔分詞,并且比較了各種分詞工具的性能.

圖2 實驗流程圖1

圖3 實驗流程圖2
5.1詞匯量、建立索引大小及建立索引時間的比較

表1 詞匯量、建立索引大小及建立索引時間的比較
從表1中可知在對相同的文檔分詞時,各種分詞方法分出的詞的數量是不一樣的,其中使用JE分詞工具分出的詞匯最多,其次是Paoding分詞,分詞數量最少的是中科院的ICTCLAS分詞工具.
在使用ASPSeek和中科院的ICTCLAS建立索引大小差不多的情況下,即索引的存儲空間相當的時候,它們的索引時間相差1/3.
在Paoding、MMseg、IK、JE四種分詞方法的索引存儲空間差不多的情況下,JE分詞方法所建索引的速度比其它分詞方法節省約40%.
在ASPSeek和JE分詞工具建立索引時間相當的情況下,JE分詞工具卻需要比ASPSeek所占存儲空間大25%.
在ICTCLAS、Paoding、MMseg、IK、分詞工具建立索引時間差不多的情況下,而ICTCLAS分詞工具卻比其它三種分詞工具節約25%的空間.
另外,只有ASPSeek和Paoding分詞結果中有字符符號和數字符號,在ASPSeek中有8750個字符符號和數字符號,有1個停用詞; 在Paoding分詞中有307個數字符號.其它的分詞工具都在分詞過程調用各自的分詞原理已將字符符號和數字符號過濾,沒有顯示.同時在使用各種分詞工具得出的結果中仍有一些垃圾詞匯,但人為的干預會導致分詞結果的不確定性,所以在此實驗中沒有對分詞的結果進行處理.
5.2分詞準確率、召回率及F1測度比較測試文檔的召回率、精度以及F1測度分別定義為:準確率(P)= 識別出來的正確詞條數目/文檔中分詞的總數目
召回率(R)= 識別出來的正確詞條數目/人工判別的詞條總數
F1測度=2RP/(R+P)

表2 分詞準確率、召回率及F1測度比較
從表1不能直接的判斷每種分詞方法的準確性.因此,實驗的最后又對其中的30篇文檔進行了人工標定分詞,經統計,人工分出的詞匯共有3054個.然后又使用了本文中提到的六種分詞方法分別對這30篇文檔進行了分詞,分詞結果如表2所示.
從表2可以看出,分詞準確率比較高的有中科院的ICTCLAS和JE分詞工具,準確率最低的是IK分詞工具,ASPSeek和Paoding分詞由于完全基于詞典庫的分詞,還分出了數字字符.從分詞的召回率可以看出,比較高的有IK和Paoding分詞方法.F1測度是一個綜合測評的方法,從結果中可以看出JE分詞和MMseg分詞的F1測度較高.因此,根據實驗得出ICTCLAS分詞工具的準確率最優,而JE分詞工具的F1測度最高.
在此次實驗中,主要實現了農業搜索引擎中文分詞工具的對比.在農業搜索引擎中加入中文分詞算法后,不僅提高了搜索結果的準確率,還為農民老百姓等人員帶來了方便快捷的服務.由于不同分詞工具分詞的原理不同,基于的詞典庫不同,分詞的結果及索引建立的時間和存儲空間不同,導致對搜索引擎性能的影響.本實驗中的難點是在實驗最后一部分中抓取的網頁需要人工標定分詞,專業人士也只能憑借經驗和記憶對文檔分詞,不可能實現百分之百的分詞,只能降低錯誤率.而且基于時間的限制及人員的不足,不能對所有的文檔進行人工標定,只能隨機的對其中一小部分做測試,這樣不僅增加了詞識別的難度還增加了工作量并且耗費時間與精力.望后期可以對這方面有進一步的研究.
參考文獻
1曹桂宏,何丕廉,吳光遠,聶頌.中文分詞對中文信息檢索系統性能的影響.計算機工程與應用,2003.
2金澎,劉毅.漢語分詞對中文搜索引擎檢索性能的影響.情報學報,2006,25(1):21–24.
3章成敏,章成志.國外農業搜索引擎評析.農業網絡信息,2004,(11).
4劉輝林,郭來德,劉蘭哲,王光興.中文農業主題搜索引擎的設計與實現.鄭州大學學報,2007,39(2):74–77.
5彭玉容,楊捧,高媛.農業搜索引擎的發展現狀及關鍵技術研究.安徽農業科學,2010,38(20):10971–10973.
6楊鴻雁,尚俊平,徐延華,王萌,張宇.農業專業搜索引擎建設探討.農業圖書情報學刊,2005,17(4):83–84.
7劉件,魏程.中文分詞算法研究.微計算機應用,2008,29(8): 12–16.
8劉遷,賈惠波.中文信息處理中自動分詞技術的研究與展望.計算機工程與應用,2006.
9張博,姜建國,萬平國.對互聯網環境下中文分詞系統的一種架構改進.計算機應用研究,2006,(11):176–178.
10蔡小艷,寇應展,沈巍,鄭偉.漢語詞法分析系統ICTCLAS 在Nutch-0.9中的應用與實現.軍械工程學院學報,2008,20(5):63–67.
11夏天,樊孝忠,劉林.利用JNI實現ICTCLAS系統的Java調用.計算機應用,2004,24:177–182.
12孫殿哲,魏海平,陳巖.Nutch 中庖丁解牛中文分詞的實現與評測.計算機與現代化,2010,6:187–189.
13蔡小艷,寇應展,沈巍,鄭偉.Nutch-0.9中JE中文分詞的實現.科學技術與工程,2008,8(17):4881–4884.
14向暉,郭一平,王亮.基于Lucene的中文字典分詞模塊的設計與實現.信息檢索技術,2006,(9).
15王志嘉,薛質.一種基于Lucene的中文分詞的設計與測試.信息技術,2010,(12):49–53.
16費洪曉,康松林,朱小娟,謝文彪.基于詞頻統計的中文分詞的研究.計算機工程與應用,2005.
17mmseg4j.http://www.oschina.com/project/mmseg4j.
18ASPSeek中文網站.http://aspseek.xjau.edu.cn.
19Foo S,Li H.Chinese word segmentation and its effect on information retrieval.Information Processing and Management,2004.
20Liu KY,Zheng JH.Research of automatic chinese word segmentation.Proc.of the First International Conference on Machine Learning and Cybernetics.Beiing.2002.
Compare about Chinese Word Segmentation Tools to Agricultural Search Engine
ZHAO Tao,ZHANG Tai-Hong
(College of Computer & Information Engineering,Xinjiang Agricultural University,Urumqi 890052,China)
Abstract:Chinese word segmentation technology is the most critical part of Chinese word processing technology,and it is widely used as one of the most important part in pre-processing methods.This paper mainly analyses and compares the influence of ASPSeek,ICTCLAS,Paoding,MMseg,IK and JE six segmentation tools on agricultural search engine.The results showed that ICTCLAS word segmentation has the most optimization in accuracy,while JE word segmentation has the highest measure of F1 in the application effect of agricultural search engine.
Key words:Chinese word segmentation; word segmentation tools; agricultural search engine
基金項目:①新疆自治區高校科研技術項目(XJEDU2013S13)
收稿時間:2015-07-01;收到修改稿時間:2015-11-25