mmseg4j 中文分词 1.6 版发布

mmseg4j 1.6版本现已发布,新增多分词功能,支持将长词拆分为多个短词,并改进了词库文件支持。此外,还引入了单字单位文件用于更精准的分词。
经过几天的开发与调试,mmseg4j 1.6 版可以发布了。1.6 版主要实现与下功能:

[list]
[*]实现多分词,在complex基础上,把长的词(大于2)拆出多个词。按二元分词,且把不存在的词去了,如:“西伯利亚” -> "西|伯利|利亚","西伯" 不存在词库中;“中国人民银行”-> "中国|国人|人民|银行"
[*]支持多个词库文件,在词库目录中放"words"前缀且".dic"后缀的文件。如:data/words-my.dic
[*]单字的单位独立一个文件(data/units.dic, 已经放入jar包里),也可以自定义覆盖它。加单字的单位处理分词比较好点,如:“年”在units.dic文件中,“2008年中有很多事情” -> “2008|年|中有|很多|事情”,否则,就分成了“2008|年中|有|很多|事情”。这功能是试行,如果不喜欢它,可以空的units.dic文件覆盖它。
[/list]

MMSegAnalyzer 和 MMSegTokenizerFactory 默认的分词方式改为max-word。当然你可以单独地使用SimpleAnalyzer、ComplexAnalyzer、MaxWordAnalyzer。

多分词的效果:
public void testEffect() throws IOException {   
String words = segW.segWords("共和国", "|");
assertEquals("共和|国", words);
}

public void testEffect1() throws IOException {
String words = segW.segWords("中国人民银行", "|");
assertEquals("中国|国人|人民|银行", words);
}

public void testEffect2() throws IOException {
String words = segW.segWords("西伯利亚", "|");
assertEquals("西|伯利|利亚", words);
}

public void testEffect3() throws IOException {
String words = segW.segWords("中华人民共和国", "|");
assertEquals("中华|华人|人民|共和|国", words);
}

public void testEffect4() throws IOException {
String words = segW.segWords("羽毛球拍", "|");
assertEquals("羽毛|球拍", words);
}

public void testEffect6() throws IOException {
String words = segW.segWords("为什么", "|");
assertEquals("为|什么", words);
}

public void testEffect7() throws IOException {
String words = segW.segWords("很好听", "|");
assertEquals("很好|好听", words);
}

public void testEffect8() throws IOException {
String words = segW.segWords("强冷空气", "|");
assertEquals("强|冷|空气", words);
}
public void testEffect10() throws IOException {
String words = segW.segWords("清华大学", "|");
assertEquals("清华|大学", words);
}

public void testEffect11() throws IOException {
String words = segW.segWords("华南理工大学", "|");
assertEquals("华南|理工|工大|大学", words);
}

public void testEffect12() throws IOException {
String words = segW.segWords("广东工业大学", "|");
assertEquals("广东|工业|大学", words);
}


solr 中使用
<fieldType name="textMaxWord" class="solr.TextField" >  
<analyzer>
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>
</analyzer>
</fieldType>


[url=http://code.google.com/p/mmseg4j/]google code[/url] 已经提供下载。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值