HanLP vs LTP 对比

HanLP vs LTP

两个NLP库对比

HanLP https://github.com/hankcs/HanLP 自然语言处理库。

LTP https://github.com/HIT-SCIR/ltp 哈工大 语言技术平台(Language Technology Platform,LTP)。

功能 HanLP LTP 说明
编程语言 java C++
客户端语言支持 java/python C++/java/python
开源授权 Apache 2.0 未注明
是否收费 个人研究免费,商业用途收费
中文分词 支持 支持
词性标注 支持 支持
词性标注集 148个。 28个。 HanLP兼容《ICTPOS3.0汉语词性标记集》,《现代汉语语料库加工规范——词语切分与词性标注》共148个。LTP采用863词性标注集,共28个。
命名实体识别 支持(支持扩展NER类型) 仅支持人名、地名、机构名,不支持扩展
依存句法分析 支持(移植自LTP) 支持
语义依存分析 不支持 支持
语义角色标注 不支持 支持
模型训练 支持分词、词性标注、命名实体识别模型的训练 支持分词、词性标注、命名实体识别模型的训练
增量训练 支持 不支持
自定义词频词性词典 支持 支持 由于算法原因,向用户自定义词典添加词语未必会生效,HanLP支持调整用户自定义词典的优先级。LTP无优先级概念。
二元文法词典 支持 不支持
命名实体识别词典 支持 不支持扩展
新词发现 支持 不支持
关键词提取 支持 不支持
算法原理与性能 http://www.hankcs.com/nlp/,未发现关于f1的文档 http://ltp.ai/docs/theory.html

性能对比

利用同一份语料训练两个分词库,利用同一份测试数据测试两个分词库的性能。

语料库选取1998年01月的人民日报语料库。

测试数据选择SIGHan2005提供的开放测试集。

MSR测试集:

训练迭代次数 RECALL PRECISION F1
HanLP 5 0.870 0.848 0.859
LTP 5 0.886 0.854 0.870
HanLP 50 0.881 0.855 0.868
LTP 50 0.888 0.859 0.873

PKU测试集:

训练迭代次数 RECALL PRECISION F1
HanLP 5 0.894 0.915 0.905
LTP 5 0.928 0.939 0.934
HanLP 50 0.908 0.922 0.915
LTP 50 0.931 0.946 0.939

测试步骤详情见 HanLP vs LTP

处理速度对比

选取网上20M大小的电子小说,约140315句

机器配置:Intel Xeon CPU 2.50GHz *4 ,内存16G

总耗时 速度
HanLP 15.68 s 1375k/s
LTP 53.68 s 389k/s