IKAnalyzer分词单独使用例子

 

IKAnalyzer分词单独使用例子

最近用了一下中文分词工具,网上说中科院研究的盘古分词比较好,找了一下没有java版本的,只有.net版本的,所以选用的IKAnalyzer分词工具.
IKAnalyzer官方说有以下特点(我没有做过测试,不知是真是假):
采用了特有的“正向迭代最细粒度切分算法“,具有60万字/秒的高速处理能力。
采用了多子处理器分析模式,支持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。

言归正传开始看代码:
使用版本3.2.8 地址 http://code.google.com/p/ik-analyzer/downloads/list
目录结构:
/ext_stopword.dic (停词列表)
/IKAnalyzer.cfg.xml (配置文件)
/IKAnalyzer3.2.8.jar
/doc3.2.8
把/ext_stopword.dic /IKAnalyzer.cfg.xml两个文件放到classpath下,引入/IKAnalyzer3.2.8.jar

/IKAnalyzer.cfg.xml内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> 
<properties> 
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">/mydict.dic</entry>

<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">/ext_stopword.dic</entry>

</properties>
/mydict.dic内容:
不是坏人
不是好人
ext_stopword.dic内容:





使


























实例代码:
package IKAnalyzerTest;

import java.io.IOException;
import java.io.StringReader;

import org.wltea.analyzer.IKSegmentation;
import org.wltea.analyzer.Lexeme;

/**
* Hello world!
*
*/
public class App
{
    public static void main( String[] args ) throws IOException{
    String str = "从那时起,我就不是坏人了";
    StringReader reader = new StringReader(str);
    IKSegmentation ik = new IKSegmentation(reader,true);//当为true时,分词器进行最大词长切分
    Lexeme lexeme = null;
    while((lexeme = ik.next())!=null)
    System.out.println(lexeme.getLexemeText());
    }
}


去掉/mydict.dic和/ext_stopword.dic运行结果:
从那时起

就不是
坏人

只去掉/mydict.dic运行结果:
从那时起

就不是
坏人
全加上运行结果:
从那时起

就不是
不是坏人

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值