详解 SIGHAN05 的目录结构

时间:2022-07-22
本文章向大家介绍详解 SIGHAN05 的目录结构,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

第二届国际中文分词评测(Second International Chinese Word Segmentation Bakeoff,简称 SIGHAN05)于 2005 年夏天在韩国济州岛举行。SIGHAN05 提供ASCITYUMSRPKU四个语料库,这些完整的训练集、测试集以及测试集的(黄金)标准切分以及评分脚本可免费用于研究目的。下面就是 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分词器进行分词的结果)