第二届国际中文分词评测(Second International Chinese Word Segmentation Bakeoff,简称 SIGHAN05)于 2005 年夏天在韩国济州岛举行。SIGHAN05 提供AS
、CITYU
、MSR
和PKU
四个语料库,这些完整的训练集、测试集以及测试集的(黄金)标准切分以及评分脚本可免费用于研究目的。下面就是 SIGHAN05 的主页地址:
http://sighan.cs.uchicago.edu/bakeoff2005/
SIGHAN05 提供了可供下载的三个不同的icwb2-data
压缩文件。
- icwb2-data.rar [40 MB, md5]
- icwb2-data.zip [50 MB, md5]
- icwb2-data.tar.bz2 [37MB, md5](不再提供下载)
由于我使用的是 Linux 系统,为了方便选择icwb2-data.zip
,下载到本地并使用unzip
指令对 zip 文件进行解压。
chenkc@chenkc:~$ cd Downloads/
chenkc@chenkc:~/Downloads$ unzip -d /home/chenkc/my_data/ icwb2-data.zip
Archive: icwb2-data.zip
creating: /home/chenkc/my_data/icwb2-data/
creating: /home/chenkc/my_data/icwb2-data/doc/
...
chenkc@chenkc:~/Downloads$
unzip
指令的-d
选项可以指定解压的路径,此时将解压后的icwb2-data
文件存放到/home/chenkc/my_data
路径下。接下来可以使用tree
指令将icwb2-data
目录中的所有文件以树的形式列出来。
chenkc@chenkc:~/my_data/icwb2-data$ tree
.
├── doc
│ ├── instructions.txt
│ └── result_instructions.txt
├── gold
│ ├── as_testing_gold.txt
│ ├── as_testing_gold.utf8
│ ├── as_training_words.txt
│ ├── as_training_words.utf8
│ ├── cityu_test_gold.txt
│ ├── cityu_test_gold.utf8
│ ├── cityu_training_words.txt
│ ├── cityu_training_words.utf8
│ ├── msr_test_gold.txt
│ ├── msr_test_gold.utf8
│ ├── msr_training_words.txt
│ ├── msr_training_words.utf8
│ ├── pku_test_gold.txt
│ ├── pku_test_gold.utf8
│ ├── pku_training_words.txt
│ └── pku_training_words.utf8
├── README
├── scripts
│ ├── mwseg.pl
│ └── score
├── testing
│ ├── as_test.txt
│ ├── as_test.utf8
│ ├── cityu_test.txt
│ ├── cityu_test.utf8
│ ├── msr_test.txt
│ ├── msr_test.utf8
│ ├── pku_test.txt
│ └── pku_test.utf8
└── training
├── as_training.b5
├── as_training.utf8
├── cityu_training.txt
├── cityu_training.utf8
├── msr_training.txt
├── msr_training.utf8
├── pku_training.txt
└── pku_training.utf8
5 directories, 37 files
下面就来详细的介绍这 5 个目录中 36 个文件的具体含义。(不包括 README 文件)
doc
doc 目录中包括了 SIGHAN05 分词竞赛一些说明:
instructions.txt
文件为 SIGHAN05 分词竞赛的详细说明;result_instructions.txt
文件为关于经过提交的说明;
gold
gold 目录中包括了测试集的(黄金)标准分词以及从训练集中抽取的词表,其中 gold 目录中所有文件的文件名包含四种前缀,分别是 as、cityu、msr 和 pku。
- as 代表的是中国台湾中央研究院提供的语料,此语料为繁体中文语料;
- cityu 代表的是中国香港城市大学提供的语料,此语料为繁体中文语料;
- msr 代表的是微软兖州研究院提供的语料,此语料为简体中文语料;
- pku 代表的是北京大学和富士通提供的语料,此语料为来源自《人民日报》,为简体中文语料;
gold 目录中所有文件包含两种扩展名.utf8
和.txt
,其中文件扩展名为.utf8
表示文件编码为 UTF-8,但是如果文件的扩展名为.txt
其编码由其前缀所决定:
- 前缀为 as,编码为
Big Five Plus
; - 前缀为 cityu,编码为
HKSCS Big Five
; - 前缀为 msr,编码为
CP936
; - 前缀为 pku,编码为
CP936
;
所以当打开以.txt
为扩展名的文件时需要看其前缀所对应的编码,然后使用对应的编码打开文件,否则文件打开后会出现乱码。实验时推荐使用以.utf8
为扩展名的文件。
文件中剩下的*_testing_gold.
、*_test_gold.
和*_training_word.
,其中*
可以为 as、cityu、msr 或 pku,
为可以为.utf8
或.txt
两个文件扩展名。
*_testing_gold.
、*_test_gold.
都是测试集的(黄金)标准分词,as_testing_gold.
中的 testing 可能是制作者的失误;*_training_word.
为从训练集中抽取的词表;
testing
testing 目录中包括了未切分的测试数据集。其中的文件以*_test.
命名,其中*
为前缀as
,cityu, msr, pku,
为扩展名.text
或者.utf8
,这些名称的具体含义和在 gold 目录中所表示的含义是一样的,因此不再赘述。
training
training 目录中包括了已经切分好的标准训练数据集,其中的文件以*_test.
命名,其中*
可以为 as、cityu、msr 或 pku,
为扩展名.text
,.utf8
或.b5
,.b5
本质上和.txt
一样的,我们可以将.b5
改成.txt
,这些文件名的具体含义和在 gold 目录中所表示的含义是一样的,因此不再赘述。
scripts
scripts 目录中包括了中文分词器和脚本文件。
mwseg.pl
文件为一个基于最大匹配的中文分词器;
mwseg.pl
的使用格式:
./mwseg.pl 词表文件 < 待分词文件 > 分词后的输出文件
下面举一个简单的小例子,mwseg.pl
为可执行文件,在使用之前应当为其添加可执行的权限。
chenkc@chenkc:~/my_data/icwb2-data/scripts$ chmod 777 mwseg.pl
chenkc@chenkc:~/my_data/icwb2-data/scripts$ ./mwseg.pl ../gold/msr_training_words.utf8 < ../testing/msr_test.utf8 > msr_test_seg.utf8
Oops: shouldn't be here: 3673
Use of uninitialized value $1 in concatenation (.) or string at ./mwseg.pl line 84, <> line 3674.
chenkc@chenkc:~/my_data/icwb2-data/scripts$ ls
msr_test_seg.utf8 mwseg.pl score
chenkc@chenkc:~/my_data/icwb2-data/scripts$
词表文件:gold/msr_training_words.utf8
,待分词文件:testing/msr_test.utf8
,分词后的输出文件:msr_test_seg.utf8
。
score
文件为评价中文分词的脚本文件;
score
文件的使用格式:
./score 词表文件 测试集的标准分词文件 分词器在测试集上的切分文件
下面以刚刚通过mwseg.pl
分词器分词的msr_test_seg,utf8
为例举一个简单的小例子。
chenkc@chenkc:~/my_data/icwb2-data/scripts$ ./score ../gold/msr_training_words.utf8 ../gold/msr_test_gold.utf8 msr_test_seg.utf8
...
### msr_test_seg.utf8 5389 385 4466 10240 106873 111877 0.955 0.912 0.9330.026 0.000 0.981
词表文件:gold/msr_training_words.utf8
,测试集的标准分词文件:gold/msr_test_gold.utf8
,分词器在测试集上的切分文件:msr_test_seg.utf8
。(此时的切分文件使用的mwseg.pl
分词器进行分词的结果)