自然語言交流系統 phxnet團隊 創新實訓 項目博客 (十)
庖丁中文分詞庫是一個使用Java開發的,可結合到Lucene應用中的,為互聯網、企業內部網使用的中文搜索引擎分詞組件。Paoding填補了國內中文分詞方面開源組件的空白,致力於此並希翼成為互聯網網站首選的中文分詞開源組件。 Paoding中文分詞追求分詞的高效率和用戶良好體驗。
Paoding‘s Knives 中文分詞具有極 高效率 和 高擴展性 。引入隱喻,采用完全的面向對象設計,構思先進。
高效率:在PIII 1G內存個人機器上,1秒 可準確分詞 100萬 漢字。
采用基於 不限制個數 的詞典文件對文章進行有效切分,使能夠將對詞匯分類定義。
能夠對未知的詞匯進行合理解析
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;
}
}
如果您願意花幾塊錢請我喝杯茶的話,可以用手機掃描下方的二維碼,通過 支付寶 捐贈。我會努力寫出更好的文章。
(捐贈不顯示捐贈者的個人信息,如需要,請註明您的聯系方式)
Thank you for your kindly donation!!
自然語言交流系統 phxnet團隊 創新實訓 項目博客 (十)