文章摘自github,本次测试选用 HanLP 1.6.0 , LTP 3.4.0
测试思路
使用同一份语料训练两个分词库,同一份测试数据测试两个分词库的性能。
语料库选取1998年01月的人民日报语料库。199801人民日报语料
该词库带有词性标注,为了遵循LTP的训练数据集格式,需要处理掉词性标注。
测试数据选择SIGHan2005提供的开放测试集。
SIGHan2005的使用可以参见其附带的readme。
HanLP
java -cp libs/hanlp-1.6.0.jar com.hankcs.hanlp.model.perceptron.Main -task CWS -train -reference ../OpenCorpus/pku98/199801.txt -model cws.bin
mkdir -p data/model/perceptron/pku199801
mv -f cws.bin data/model/perceptron/pku199801/cws.bin
默认情况下,训练的迭代次数为5。
修改 src/main/resouces 文件:
root=../test-hanlp-ltp
打包命令:
gradle clean build
SIGHan2005的MSR测试集
执行命令:
java -cp build/libs/test-hanlp-ltp-1.0-SNAPSHOT.jar com.zongwu33.test.TestForSIGHan2005 ../NLP/icwb2-data/testing/msr_test.utf8 segment-msr-result.txt
将分词的结果生成到segment-msr-result.txt文件里。 利用SIGHan2005的脚本生成分数:
perl ../NLP/icwb2-data/scripts/score ../NLP/icwb2-data/gold/msr_training_words.utf8 \
../NLP/icwb2-data/gold/msr_test_gold.utf8 segment-msr-result.txt > score-msr.ut8
可以得到 HanLP在MSR数据集上的测试结果:
=== TOTAL TRUE WORDS RECALL:0.870
=== TOTAL TEST WORDS PRECISION:0.848
=== F MEASURE:0.859
SIGHan2005的PKU测试集
java -cp build/libs/test-hanlp-ltp-1.0-SNAPSHOT.jar com.zongwu33.test.TestForSIGHan2005 ../NLP/icwb2-data/testing/pku_test.utf8 segment-pku-result.txt
perl ../NLP/icwb2-data/scripts/score ../NLP/icwb2-data/gold/pku_training_words.utf8 ../NLP/icwb2-data/gold/pku_test_gold.utf8 segment-pku-result.txt > score-pku.utf8
结果:
=== TOTAL TRUE WORDS RECALL:0.894
=== TOTAL TEST WORDS PRECISION:0.915
=== F MEASURE:0.905
Docker安装 LTP
LTP
生成符合LTP训练格式的训练集文件:
java -cp build/libs/test-hanlp-ltp-1.0-SNAPSHOT.jar com.zongwu33.test.CreateSimpleCorpus ../OpenCorpus/pku98/199801.txt simple-199801.txt
simple-199801.txt 即为结果。 训练集 和开发集都指定为这个文件:
../LTP/ltp-3.4.0/tools/train/otcws learn --model model-test --reference simple-199801.txt --development simple-199801.txt --max-iter 5
SIGHan2005的MSR测试集
测试:
../LTP/ltp-3.4.0/tools/train/otcws test --model model-test --input /data/testLTP/icwb2-data/testing/msr_test.utf8 > msr_result.txt
利用SIGHan2005的脚本生成分数:
perl icwb2-data/scripts/score icwb2-data/gold/msr_training_words.utf8 \
icwb2-data/gold/msr_test_gold.utf8 msr_result.txt > ltp-msr-score.utf8
查看ltp-msr-score.utf8 :
=== TOTAL TRUE WORDS RECALL:0.886
=== TOTAL TEST WORDS PRECISION:0.854
=== F MEASURE:0.870
SIGHan2005的PKU测试集
../LTP/ltp-3.4.0/tools/train/otcws test --model model-test --input /data/testLTP/icwb2-data/testing/pku_test.utf8 > pku_result.txt
perl icwb2-data/scripts/score icwb2-data/gold/pku_training_words.utf8 \
icwb2-data/gold/pku_test_gold.utf8 pku_result.txt > ltp-pku-score.ut8
=== TOTAL TRUE WORDS RECALL:0.928
=== TOTAL TEST WORDS PRECISION:0.939
=== F MEASURE:0.934
对比
MSR测试集:
图1
性能测试
阿里云ECS机器配置:
机器配置:Intel Xeon CPU *4 2.50GHz,内存16G
测试数据集 20M的网络小说,约140315句(不含空行)。
HanLP
java -cp test-hanlp-ltp-1.0-SNAPSHOT.jar com.zongwu33.test.PerformanceTest ../NLP/strict-utf8-booken.txt
init model: 313 ms
total time:15677 ms
total num:140315
需要15.677 s,可以计算得到处理速度 1375k/s 。
LTP
../LTP/ltp-3.4.0/tools/train/otcws test --model model-test --input strict-utf8-booken.txt > /dev/null
[INFO] 2018-03-26 17:04:19 ||| ltp segmentor, testing ...
[INFO] 2018-03-26 17:04:19 report: input file = strict-utf8-booken.txt
[INFO] 2018-03-26 17:04:19 report: model file = model-test
[INFO] 2018-03-26 17:04:19 report: evaluate = false
[INFO] 2018-03-26 17:04:19 report: sequence probability = false
[INFO] 2018-03-26 17:04:19 report: marginal probability = false
[INFO] 2018-03-26 17:04:19 report: number of labels = 4
[INFO] 2018-03-26 17:04:19 report: number of features = 491820
[INFO] 2018-03-26 17:04:19 report: number of dimension = 1967296
[INFO] 2018-03-26 17:05:13 Elapsed time 53.680000
需要53s。处理速度389k/s。
对比
图2
开源协议
Apache License Version 2.0
相关推荐
ltp3.4.0 python 版本的分词模型,百度网盘下载太慢,我同时还找到了 windows 版本,具体详见: nlp demo 系列博文 https://blog.csdn.net/wangyaninglm/article/details/83479837 本下载资源免费,如有需要,请参照...
LTP分词器python版本,用于全文检索引擎中分词器部分,对于全文检索来说,建立索引时指定的分词器决定了后续检索和匹配的准确度 具体用法可以参考文章 ...
为了方便用户使用分词功能,我们把分词模块独立出来开发了LTP分词版(LTP-CWS)。#安装LTP分词版##获得LTP分词版作为安装的第一步,你需要获得LTP-CWS。LTP-CWS包括两部分,分别是项目源码和编译好的模型文件。你可以...
里面包括ltp分词模型、pos模型、ner模型、解析模型等。
测试Linux 内核的稳定性,熟悉ltp的用法,和具体的测试用例。
LTP性能测试相关资料 1 测试选择 2 评价系统资源利用率 3 分析内核代码覆盖率 4 评价最终压力测试
LTP并口测试工具,能够方便快速测试LTP并口好坏,使用简单的并口接头即可
linux压力测试LTP
解决windows下无法运行哈工大的分词数据,相比较于其他的分词工具,如jieba和中科院等等,做出一个比较,以便更好的优化分词质量
linux下LTP测试环境使用说明
很好啊,适合错Linux测试的人看看,当初我下载这个东西的时候可是要付钱的啊!
这份文档是关于Linux Test Project(LTP)测试工具的使用说明: 1. LTP简介: 2. 源目录结构: 3. LTP安装: 4. LTP测试套件结构说明: 5. LTP测试套件测试内容: 详细介绍了LTP测试套件的测试内容,包括commands、...
论文《基于LTP的LINUX内核测试方法研究》
使用哈工大的ltp,少不了分词模型,由于ltp_data全量模型包太大,经常遇到下载不下来的问题,可以通过下载cws.model直接解决。该文件需要放置到全英文名的路径下才能用: import pyltp from pyltp import Segment...
关于中文分词的算法实现
ltp-linux稳定性测试文档,详细介绍ltp安装、测试过程。
ltp哈工大NLP源码含(c# c++ ,java python ruby等)
ltp最新源码包。LTP套件是由 Linux Test Project 所开发的一套系统测试套件。它基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。通过压力测试来判断系统的稳定性和可靠性。
LTP测试套件.pdf