詳解庖丁解牛中文分詞器工具的使用
今天在網上看了一篇關於中文分詞的文章,有一類是關於基於字串匹配的中文分詞,裡面談到了一個“庖丁解牛分詞器”,於是本人就想嘗試跑跑這個分詞工具。下面是具體的使用步驟:
1. 從網上下載了一個庖丁解牛中文分詞工具壓縮包,放入D:\SoftwarePackage中。解壓D:\SoftwarePackage中的paoding-analysis-2.0.4-beta壓縮包到資料夾D:\software\paoding-analysis-2.0.4-beta中。
2. 新建java工程PaodingAnalysisTest,在工程下新建資料夾lib,將解壓後文件裡面的paoding-analysis.jar以及lib目錄下的commons-logging.jar,lucene-analyzer-2.2.0.jar,lucene-core-2.2.0.jar四個檔案拷貝到lib目錄下,在這裡需要修改下paoding-analysis.jar裡面的內容,用解壓工具開啟paoding-analysis.jar,修改paoding-dic-home.properties裡面的內容,將#paoding.dic.home=dic修改成paoding.dic.home=E://WorkSpace//data//dic(此處路徑可根據字典存放的位置進行相應更改),儲存即可。
3. 右鍵單擊工程->Properties->Java Build Path,在右側選中第三個標籤Libraries,點選Add JARs…,匯入上述四個包;再選擇第四個標籤Order and Export,勾選上這四個包,點選OK按鈕。
4. 然後建立一個主類,編寫測試小程式(此程式是從網上copy過來的)
import java.io.*;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;
import net.paoding.analysis.analyzer.PaodingAnalyzer;
public class FenciTest{
/**
* @param args
*/
public static voidmain(String[] args) {
// TODOAuto-generated method stub
Analyzeranalyzer=new PaodingAnalyzer();
StringdocText=null;
Filefile=new File("E:\\WorkSpace\\data\\FenciTest1.txt"
docText=readText(file);
TokenStreamtokenStream=analyzer.tokenStream(docText, newStringReader(docText));
try{
Tokent;
//System.out.println(docText);
while((t=tokenStream.next())!=null){
System.out.println(t);
}
}catch(IOExceptione){
e.printStackTrace();
}
}
private static StringreadText(File file) {
// TODOAuto-generated method stub
String text=null;
try{
InputStreamReaderread1=new InputStreamReader(newFileInputStream(file),"GBK");
BufferedReaderbr1=new BufferedReader(read1);
StringBufferbuff1=new StringBuffer();
while((text=br1.readLine())!=null){
buff1.append(text+"/r/n");
}
br1.close();
text=buff1.toString();
}catch(FileNotFoundExceptione){
System.out.println(e);
}catch(IOExceptione){
System.out.println(e);
}
return text;
}
}
5. 執行後的結果: