Ansj与hanlp分词工具对比

简介: 一、Ansj1、利用DicAnalysis可以自定义词库:2、但是自定义词库存在局限性,导致有些情况无效:比如:“不好用“的正常分词结果:“不好,用”。(1)当自定义词库”好用“时,词库无效,分词结果不变。

一、Ansj
1、利用DicAnalysis可以自定义词库:
_1

2、但是自定义词库存在局限性,导致有些情况无效:
比如:“不好用“的正常分词结果:“不好,用”。

(1)当自定义词库”好用“时,词库无效,分词结果不变。
(2)当自定义词库
“不好用”时,分词结果为:“不好用”,即此时自定义词库有效。

3、由于版本问题,可能DicAnalysis, ToAnalysis等类没有序列化,导致读取hdfs数据出错
此时需要继承序列化接口

1|case class myAnalysis() extends DicAnalysis with Serializable
2|val seg = new myAnalysis()

二、HanLP
同样可以通过CustomDictionary自定义词库:
_2

但是在统计分词中,并不保证自定义词典中的词一定被切分出来,因此用户可在理解后果的情况下通过

1|StandardTokenizer.SEGMENT.enableCustomDictionaryForcing(true)强制生效

并发问题:
CustomDictionary是全局变量,不能在各节点中更改,否则会出现并发错误。
但是HanLP.segment(sentence),只有一个参数,不能指定CustomDictionary,导致在各个excutors计算的时候全局CustomDictionary无效。
由于CustomDictionary是全局变量,因此我采用一个方式:每个分区都对CustomDictionary加锁并添加一次词库,性能影响较小:
_3

相关文章
|
4月前
|
自然语言处理 Rust 搜索推荐
jieba分词-Python中文分词领域的佼佼者
jieba分词-Python中文分词领域的佼佼者
|
7月前
|
自然语言处理 Python
python实现分词器
python实现分词器
|
自然语言处理 搜索推荐 算法
中文分词利器-jieba
中文分词利器-jieba
|
自然语言处理 Java Python
自然语言处理hanlp------10HanLP的词典分词实现
自然语言处理hanlp------10HanLP的词典分词实现
自然语言处理hanlp------10HanLP的词典分词实现
|
自然语言处理 搜索推荐 Java
Hanlp等七种优秀的开源中文分词库推荐
中文分词是中文文本处理的基础步骤,也是中文人机自然语言交互的基础模块。由于中文句子中没有词的界限,因此在进行中文自然语言处理时,通常需要先进行分词。
3886 0
Hanlp等七种优秀的开源中文分词库推荐
|
自然语言处理 搜索推荐 索引
基于hanlp的es分词插件
摘要:elasticsearch是使用比较广泛的分布式搜索引擎,es提供了一个的单字分词工具,还有一个分词插件ik使用比较广泛,hanlp是一个自然语言处理包,能更好的根据上下文的语义,人名,地名,组织机构名等来切分词Elasticsearch默认分词 输出: IK分词 输出: hanlp...
1531 0
HanLP-分类模块的分词器介绍
最近发现一个很勤快的大神在分享他的一些实操经验,看了一些他自己关于hanlp方面的文章,写的挺好的!转载过来分享给大家!以下为分享原文(无意义的内容已经做了删除)如下图所示,HanLP的分类模块中单独封装了适用分类的分词器,当然这些分词器都是对HanLP提供的分词器的封装。
5985 0
|
自然语言处理 算法 测试技术
分词工具Hanlp基于感知机的中文分词框架
结构化感知机标注框架是一套利用感知机做序列标注任务,并且应用到中文分词、词性标注与命名实体识别这三个问题的完整在线学习框架,该框架利用
2087 0
|
自然语言处理
如何在hanlp词典中手动添加未登录词
我们在使用hanlp词典进行分词的时候,难免会出现分词不准确的情况,原因是由于内置词典中并没有收录当前的这个词,也就是我们所说的未登录词,只要把这个词加入到内置词典中就可以解决类似问题,如何操作,下面我们就看一下具体的步骤
2668 0
|
自然语言处理 Java C++
Hanlp分词之CRF中文词法分析详解
这是另一套基于CRF的词法分析系统,类似感知机词法分析器,提供了完善的训练与分析接口。   CRF的效果比感知机稍好一些,然而训练速度较慢,也不支持在线学习。 默认模型训练自OpenCorpus/pku98/199801.txt,随hanlp 1.6.2以上版本发布。
3561 0