當前位置:成語大全網 - 漢語詞典 - Java編寫中文分詞程序

Java編寫中文分詞程序

進口?Java . io . reader;

進口?Java . io . string reader;

進口?org . Apache . Lucene . analysis . *;

進口?org . Apache . Lucene . analysis . cjk . cjkanalyzer;

進口?org.apache.lucene.analysis.cn.ChineseAnalyzer;

進口?org . Apache . Lucene . analysis . standard . standard analyzer;

進口?org . Mira . Lucene . analysis . mik _ CAnalyzer;

公共?班級?jean analyzer?{

公共?靜電?作廢?testStandard(字符串?testString)?{

試試?{

分析儀?分析儀?=?新的?標準分析器();

讀者?r?=?新的?string reader(test string);

StopFilter?sf?=?(StopFilter)?analyzer.tokenStream(",?r);

system . err . println(" = = = = = standard?分析器= = = = ";

Token?t;

什麽時候?((t?=?sf.next())?!=?null)?{

system . out . println(t . term text());

}

}?接住?(例外?e)?{

e . printstacktrace();

}

}

公共?靜電?作廢?testCJK(字符串?testString)?{

試試?{

分析儀?分析儀?=?新的?CJKAnalyzer();

讀者?r?=?新的?string reader(test string);

StopFilter?sf?=?(StopFilter)?analyzer.tokenStream(",?r);

System.err.println("=====cjk?分析器= = = = ";

Token?t;

什麽時候?((t?=?sf.next())?!=?null)?{

system . out . println(t . term text());

}

}?接住?(例外?e)?{

e . printstacktrace();

}

}

公共?靜電?作廢?testChiniese(字符串?testString)?{

試試?{

分析儀?分析儀?=?新的?Chinese analyzer();

讀者?r?=?新的?string reader(test string);

TokenFilter?tf?=?(TokenFilter)?analyzer.tokenStream(",?r);

system . err . println(" = = = = =中文?分析器= = = = ";

Token?t;

什麽時候?((t?=?tf.next())?!=?null)?{

system . out . println(t . term text());

}

}?接住?(例外?e)?{

e . printstacktrace();

}

}

公共?靜電?字符串?transJe(字符串?testString,?字符串?c1,?字符串?c2)?{

字符串?結果?=?"";

試試?{

分析儀?分析儀?=?新的?MIK _卡納萊澤();

讀者?r?=?新的?string reader(test string);

TokenStream?ts?=?(TokenStream)?analyzer.tokenStream(",?r);

Token?t;

什麽時候?((t?=?ts.next())?!=?null)?{

結果?+=?t.termText()?+?",";

}

}?接住?(例外?e)?{

e . printstacktrace();

}

回歸?結果;

}

公共?靜電?作廢?main(String[]?args)?{

試試?{

字符串?testString?=?“中文分詞方法並不局限於中文應用,還可以應用於英文處理,比如手寫識別,這裏單詞之間的空格非常清晰,中文分詞方法可以幫助區分英文單詞的邊界”;

System.out.println("測試語句"+test string);

字符串?sResult[]?=?transJe(testString,“gb2312”,?“utf-8”)。拆分(“,”);

為了什麽?(int?我?=?0;?我?& lt?sResult.length?i++)?{

system . out . println(s result[I]);

}

}?接住?(例外?e)?{

e . printstacktrace();

}

}

}

Jar包?

Lucene-analyzer-2 . 4 . 1 . jar

lucene-core-2.4.1.jar

IKAnalyzer2.0.2OBF.jar