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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值