分词程序的测试一般用backoff2005的脚本,但是backoff2005脚本是运行在linux系统上的。如果在windows系统中时,怎么使用该脚本呢?假设用户已经有了icwb2-data压缩包了。

首先得安装perl开发环境。下载地址:

https://dwimperl.googlecode.com/files/dwimperl-5.14.2.1-v7-32bit.exe
接下来,需要安装diff工具,下载地址:

http://superb-dca3.dl.sourceforge.net/project/gnuwin32/diffutils/2.8.7-1/diffutils-2.8.7-1-bin.zip

diff工具解压到E:\diffutils目录下即可,然后把E:\diffutils\bin目录添加到系统的环境变量中。

 

接下来,就需要对icwb2-data/script/score脚本进行修改:

46行的代码修改成:

$diff = "E:/diffutils/bin/diff";

52,53行的代码修改成:(注意d:/tmp目录要存在)

$tmp1 = "d:/tmp/comp01$$";

$tmp2 = "d:/tmp/comp02$$";

 

接下来,就可以执行测试命令了:

E:\icwb2-data目录中打开命令行工具并执行命令,如下:

E:\icwb2-data>perl scripts/score gold/pku_training_words.utf8 gold/pku_test_gold

.utf8 gold/pku_test_gold.utf8 > pku_maxent.score

wKiom1St-WLBkmCvAADUwi-33pY308.jpg

                             

命令的执行需要一段时间,等待即可。

测试命令完成后,会在E:\icwb2-data目录下生成pku_maxent.score文件,最终结果如下:

INSERTIONS: 0

DELETIONS: 0

SUBSTITUTIONS: 0

NCHANGE: 0

NTRUTH: 27

NTEST: 27

TRUE WORDS RECALL: 1.000

TEST WORDS PRECISION: 1.000

=== SUMMARY:

=== TOTAL INSERTIONS: 0

=== TOTAL DELETIONS: 0

=== TOTAL SUBSTITUTIONS: 0

=== TOTAL NCHANGE: 0

=== TOTAL TRUE WORD COUNT: 104372

=== TOTAL TEST WORD COUNT: 104372

=== TOTAL TRUE WORDS RECALL: 1.000

=== TOTAL TEST WORDS PRECISION: 1.000

=== F MEASURE: 1.000

=== OOV Rate: 0.058

=== OOV Recall Rate: 1.000

=== IV Recall Rate: 1.000

### gold/pku_test_gold.utf8 0 0 0 0 104372 104372 1.000 1.000 1.000 0.058 1.000 1.000

因为我们用的测试集和分词结果集是同一个文件,所以正确率、召回率什么的都是100%