python 分词工具对比_Ansj与hanlp分词工具对比

一、Ansj

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

2、但是自定义词库存在局限性,导致有些情况无效:

比如:“不好用“的正常分词结果:“不好,用”。

(1)当自定义词库”好用“时,词库无效,分词结果不变。

(2)当自定义词库

“不好用”时,分词结果为:“不好用”,即此时自定义词库有效。

3、由于版本问题,可能DicAnalysis, ToAnalysis等类没有序列化,导致读取hdfs数据出错

此时需要继承序列化接口

1|case class myAnalysis() extends DicAnalysis with Serializable

2|val seg = new myAnalysis()

二、HanLP

同样可以通过CustomDictionary自定义词库:

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

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

并发问题:

CustomDictionary是全局变量,不能在各节点中更改,否则会出现并发错误。

但是HanLP.segment(sentence),只有一个参数,不能指定CustomDictionary,导致在各个excutors计算的时候全局CustomDictionary无效。

由于CustomDictionary是全局变量,因此我采用一个方式:每个分区都对CustomDictionary加锁并添加一次词库,性能影响较小:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值