舉例說明IKAanlyzer分詞

我用的是NetBeans編程軟件來實現中文分詞的。首先建立一個java項目IKAnalyzerTest.java,需要引入四個jar包:lucene-analyzers-3.6.1.jar、lucene-highlighter-3.6.1.jar、lucene-core-3.6.1.jar、IKAnalyzer2012_u6.jar  (剛開始我用的luence的jar包是2.4.1版本的,也試過2.8版本的,但是都不行,至於爲什麼不行,留給主主讀者思考,答案就在下面的程序中哦!)。

項目配置如下圖所示:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

其中有關Luence中的jar包及IKAnalyzer中的jar包和文件是在這裏下載的Java開源中文分詞類庫分類列庫

 

代碼如下:

package ikanalyzertest;

import java.io.IOException;
import java.io.StringReader;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.wltea.analyzer.core.IKSegmenter;
import org.wltea.analyzer.core.Lexeme;
import org.wltea.analyzer.lucene.IKAnalyzer;

/**
 *
 * @author Administrator
 */
public class IKAnalyzerTest {

    /**
     * @param args the command line arguments
     */
   
    public static String str="IK Analyzer是一個開源的,基於java語言" +
"開發的輕量級的中文分詞工具包。從2006年12月推出1.0版開始, " +
"IKAnalyzer已經推出了4個大版本。最初,它是以開源項目Luence爲" +
"應用主體的,結合詞典分詞和文法分析算法的中文分詞組件。從3.0版" +
"本開始,IK發展爲面向Java的公用分詞組件,獨立於Lucene項目,同時" +
"提供了對Lucene的默認優化實現。";


    public static String str01="徐懷鈺,中國臺灣著名流行女歌手、演員,華語樂壇平民天后。"
            +"她出道時首張專輯銷量破百萬,第二張專輯依然破百萬,獲白金唱片,1998年20歲的"
            +"她在一年間推出2張專輯銷量破兩百萬張,成爲華語第一人。徐懷鈺出道一年即被封爲"
            +"天后,她也是至今華語歌壇被封爲天后年齡最小的歌手,同年就舉行多場演唱會。她在"
            +"全亞洲樂壇颳起一陣Yuki旋風,成爲無數少男少女心中的超級偶像,是華語樂壇一個裏"
            +"程碑式的人物,被譽爲“平民天后”、“國民天后”,也是華語樂壇唯一一個被封爲"
            +"“平民天后”的超級偶像巨星。此外,徐懷鈺還是華語樂壇第一個專輯全拍MV的歌手,"
            +"臺灣“專輯預購活動”的首創者。";

   
    public static void main(String[] args) throws IOException {
        // TODO code application logic here
        Analyzer analyzer=new IKAnalyzer(true);
        StringReader reader=new StringReader(str);
        TokenStream ts=analyzer.tokenStream("", reader);
        CharTermAttribute term=ts.getAttribute(CharTermAttribute.class);
       
        while(ts.incrementToken() ){
            System.out.print(term.toString()+"|");
        }
        reader.close();
        System.out.println();
       
        StringReader re=new StringReader(str01);
        IKSegmenter ik=new IKSegmenter(re,true);
        Lexeme lex=null;
        while((lex=ik.next())!=null){
            System.out.print(lex.getLexemeText()+"|");
        }
    }
}

 

 

運行結果如下:

 

run:
ik|analyzer|是|一個|開源|的|基於|java|語言|開發|的|輕量級|的|中文|分詞|工具包|從|2006年|12月|推出|1.0版|開始|ikanalyzer|已經|推|出了|4個|大|版本|最初|它|是以|開源|項目|luence|爲|應用|主體|的|結合|詞典|分詞|和|文法|分析|算法|的|中文|分詞|組件|從|3.0|版本|開始|ik|發展爲|面向|java|的|公用|分詞|組件|獨|立於|lucene|項目|同時|提供|了|對|lucene|的|默認|優化|實現|
徐懷鈺|中國臺灣|著名|流行|女歌手|演員|華語|樂壇|平民|天后|她|出道時|首|張|專輯|銷量|破|百萬|第二|張|專輯|依然|破|百萬|獲|白金|唱片|1998年|20歲|的|她在|一|年間|推出|2張|專輯|銷量|破|兩百萬|張|成爲|華語|第一人|徐懷鈺|出道|一年|即被|封爲|天后|她|也是|至今|華語|歌壇|被|封爲|天后|年齡|最小|的|歌手|同年|就|舉行|多|場|演唱會|她在|全|亞洲|樂壇|颳起|一陣|yuki|旋風|成爲|無數|少男少女|心中|的|超級|偶像|是|華語|樂壇|一個|里程碑式|的|人物|被譽爲|平民|天后|國民|天后|也是|華語|樂壇|唯一|一個|被|封爲|平民|天后|的|超級|偶像|巨星|此外|徐懷鈺|還是|華語|樂壇|第一個|專輯|全|拍|mv|的|歌手|臺灣|專輯|預購|活動|的|首創者|成功生成(總時間:2 秒)

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章