HanLP[1]是基于词典+Viterbi解码中文分词程序,跟IK一样,支持自定义词典,默认词典有85584个词。利用hanlp的elasticsearch插件elasticsearch-analysis-hanlp[2],进行ICWS2005PKU测试评价,并于IK和JIEBA的效果进行对比,HanLP的效果如图1:
相比IK的评价,如图2:
两者相比,Hanlp的词典要优于IK的默认词典。
对比hanlp的elasticsearch-analysis-hanlp插件配置了自定义字典[3],修改hanlp.properties文件中ROOT配置,则评价有所下降,留作日后有空研究。模型的核心字典词增加,有153091个词,elasticsearch启动后占用内存同样增加,但在ICWS2005-PKU测试下评价却下降,见图3:
总结,对于词典+Viterbi算法的中文分词而言,词典的词项增加会有一个最佳值,超过最佳值在某些领域(人民日报)效果会下降;即字典数由85584增加到153091,PKU测试的f1值由0.8976降至0.8753。
[1]HanLP中文工具包. https://github.com/hankcs/HanLP/tree/portable.
[2]elasticsearch-analysis-hanlp. https://github.com/AnyListen/elasticsearch-analysis-hanlp.
[3]HanLP的字典文件. http://nlp.hankcs.com/download.php?file=data