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加锁并添加一次词库,性能影响较小:

 

原文链接:https://blog.youkuaiyun.com/weixin_40901056/article/details/89349095

 

Ansj中文分词是一个完全开源的、基于Google语义模型+条件随机场模型的中文分词的Java实现,具有使用简单、开箱即用等特点。 Ansj分词速度达到每秒钟大约100万字左右(Mac Air下测试),准确率能达到96%以上。 Ansj 1.41版本的新增功能 •增加了调用文档说明 •调整了关键词抽取 •增加了摘要计算 •关键词标红 •大幅度提高了命名实体识别 •对于词性标注提供了基于概率的快速标注方式.依旧保留给予隐马模型的词性标注. •修复了目前已知的所有bug •大量修正了之前默认用户自定义词典中词性错误 •提供了给予crf++ wapiti等条件随即场工具的调用接口.用户可以及自定义训练model •增加了目前对最新版的Lucene、Solr、Elasticsearch开源第三方搜索框架的分词插件 效果测试——新词发现 引用 1. 未登陆词识别 example:NER:我要碎觉吊丝要小心!城西嘉南公寓 result:命名/v 实体/n ner/en : 我/r 要/v 碎觉/nw 吊丝/n 要/v 小心/v !/w 城西嘉南公寓/nw 2. 中文人名识别 example:NER: 邓颖超生前刘晓辉同学合影, 李民工作了一天 result:邓颖超/nr 生前/t /c 刘晓辉/nr 同学/n 合影/v , 李民/nr 工作/vn 了/ul 一天/m 3. 外国人名识别 example:NER:本赛季德甲球队霍芬海姆的两名年轻球员菲尔米诺福兰德表现出色,但球队主帅吉斯多尔态度强硬。 result:本赛季/n 德甲/n 球队/n 霍芬海姆/nrf 的/uj 两名/m 年轻/a 球员/n 菲尔米诺/nrf /c 福兰德/nr 表现出色/n ,/w 但/c 球队/n 主帅/n 吉斯多尔/nrf 态度强硬/n 。/w
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值