Skip to content

zongwu's blog

HanLP vs LTP 对比

两个NLP库对比

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

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

功能HanLPLTP说明
编程语言javaC++
客户端语言支持java/pythonC++/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测试集:

训练迭代次数RECALLPRECISIONF1
HanLP50.8700.8480.859
LTP50.8860.8540.870
HanLP500.8810.8550.868
LTP500.8880.8590.873

PKU测试集:

训练迭代次数RECALLPRECISIONF1
HanLP50.8940.9150.905
LTP50.9280.9390.934
HanLP500.9080.9220.915
LTP500.9310.9460.939

测试步骤详情见 HanLP vs LTP

处理速度对比

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

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

总耗时速度
HanLP15.68 s1375k/s
LTP53.68 s389k/s