文档详情

让Nutch支援中文分词方法教学Nutch+IKAnalyzer中文分词库.doc

发布:2017-04-03约4.77千字共6页下载文档
文本预览下载声明
讓 Nutch 支援中文分詞 方法教學 Nutch 1.0 + IK-Analyzer 3.1.6 中文分詞庫 前言 何謂中文分詞 方法 修改程式碼 重編 nutch 開始使用 完成 選項:加入字典檔 資訊不正確或麻煩 前言 Nutch 1.0 + IK-Analyzer 3.1.6 中文分詞庫 的詳細方法 本篇參考 nutch-1.0中文分詞(原文連結),並且修正與補充 何謂中文分詞 中文自動分詞指的是使用計算機自動對中文文本進行詞語的切分,即像英文那樣使得中文句子中的詞之間有空格以標識。中文自動分詞被認為是中文自然語言處理中的一個最基本的環節。 簡單來說,以今天天氣真好這段字而言,若搜尋氣真 沒有中文分詞的結果為:1筆 = 今天天氣真好 有中文分詞:0筆 (因為詞庫為今天、天天、天氣、真、真好、好) 下面的例子即為,透過完成括充中文分詞(ik-analyzer)之後的nutch搜尋引擎,對國家高速網路中心的首頁(.tw/tw/) 作資料爬取,並以此為搜尋資料庫。 搜尋中心兩字 有74筆資料,但搜尋單一一個心字只有 4筆資料;反觀若是沒有經過中文分詞,則單搜尋心必定比搜尋中心的資料更多 1. 搜尋 中心 這個字串 2. 單搜尋 心 這個字 3. 搜尋 冀此 或單獨 冀 都沒有資料 ps : 搜尋希冀才會有資料 方法 nutch 1.0 的下載位置 $nutch-1.0/ 你下載nutch-1.0 並解壓縮的資料夾目錄位址,也是用來重編nutch的資料夾 如:/home/user/nutch-1.0/ $my_nutch_dir 原有的nutch資料夾,接著會被擴充ika中文詞庫 /opt/nutchez/nutch/ $my_tomcat_dir 原本被用來放nutch網頁(在tomcat內)的資料夾 /opt/nutchez/tomcat 修改程式碼 安裝必要工具(java 已經安裝) sudo apt-get install javacc unrar ant 修改NutchAnalysis.jj 約130行左右的程式碼 (原本為:| SIGRAM: CJK ) cd $nutch-1.0/ vim src/java/org/apache/nutch/analysis/NutchAnalysis.jj | SIGRAM: (CJK)+ 用編譯器 javacc 編譯出七個java檔 CharStream.java NutchAnalysisTokenManager.java TokenMgrError.java NutchAnalysisConstants.java ParseException.java NutchAnalysis.java Token.java cd $nutch-1.0/src/java/org/apache/nutch/analysis javacc -OUTPUT_DIRECTORY=./ika/ NutchAnalysis.jj mv ./ika/* ./ ; rm -rf ./ika/ 編譯剛編出來的 NutchAnalysis?.java vim $nutch-1.0/src/java/org/apache/nutch/analysis/NutchAnalysis.java 在第48行加入ParseException: public static Query parseQuery(String queryString, Configuration conf) throws IOException,ParseException 在第54行加入ParseException: throws IOException,ParseException { 下載 IKAnalyzer3.1.6GA.jar 解壓縮 nutch 1.0 用的是 lucene 2.4.0 hadoop 0.19 因此ik分詞器最新僅能用 3.1.6ga (3.2.0GA 以上版本只支援lucene 2.9以上版本) cd $nutch-1.0/ wget /files/IKAnalyzer3.1.6GA_AllInOne.rar mkdir ika unrar x ./IKAnalyzer3.1.6GA_AllInOne.rar ika/ 分別放到以下三個資料夾 $nutch-1.0/lib/ 用來重新編譯nutch $my_nutch_dir/lib/ 用來給 nutch 進行 crawl時所匯入函式庫 $my_tomcat_dir/webapps/ROOT/WE
显示全部
相似文档