读书人

Ansj 透过List方式加入自定义词典

发布时间: 2012-11-15 15:16:15 作者: rapoo

Ansj 通过List方式加入自定义词典

首先灰常感谢@ansjsun

采用Ansj对文本进行切词,并作简单统计,加入自定义词典代码如下:

?

private void loadAnsjDic() {List<String> dic = Utils.getDicList();for (int i = 0; i < dic.size(); i++) {UserDefineLibrary.insertWord(dic.get(i), Utils.USER_DEFINE, 1000);}}}

?然后对文本进行切词,代码如下:

?

List<Term> list = ToAnalysis.paser(content);for (Term term : list) {......................your business}

?通过对ansj和IKAnalyzer进行切词速度对比详情如下:

文本数据量:180w篇新闻

服务器:4个(配置保密)

业务操作:统计分析

其他:自定义词典为4w

耗时对比:

IKAnalyzer 4个小时没有切晚,预估要8个小时

ansj 升级之后2个小时的样子,升级前30分钟

1 楼 ansjsun 2012-11-06 我估计你的旧的是很旧的了...

新的代码增加了人名识别和外国人名识别..所以会慢点..如果你不需要..可以把不需要的功能注释掉就ok了..在ToAnalisy 中... 2 楼 ansjsun 2012-11-06 180w文章用2个小时..是不对的吧..你调整了虚拟机大小了么??如果内存太小频繁gc速度会慢很多..其他调用都没有问题...

读书人网 >开源软件

热点推荐