举例说明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 秒)

 

 

 

 

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