详解 SIGHAN05 的目录结构
第二届国际中文分词评测(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
分词器进行分词的结果)
- 移除WordPress 顶部管理菜单左侧的logo 图标
- [C#3] 1-扩展方法
- 无插件仅代码实现 WordPress 分页导航(2)
- [C#3] 4-匿名类型
- jquery操作DOM 元素(3)
- 腾讯汤道生对话牛津大学互联网研究院Luciano:大数据将如何改变世界
- 分享本站右侧 “类Metro风格侧边栏” 的实现方法
- [C#1] 1-Hello World
- 代码审查工具StyleCop
- 实用工具特别推荐 Robocopy GUI
- 七牛镜像存储 WordPress 插件 的代码化
- WordPress 会自动压缩JPEG 格式的图像?
- jquery操作DOM 元素(2)
- WordPress 中部署真正的懒加载(Lazy Load)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 60分钟看懂HMM的基本原理
- R语言确实会蛮耗费磁盘空间哦
- 很多时候你就是不知道如何提问
- seurat标准流程实例之2个10x样本的项目(GSE135927数据集)
- 使用 Jenkins 和 Ansible 实现 CI/CD
- 太刺激了,面试官让我手写跳表,而我用两种实现方式吊打了TA!
- 被 Google 选择的下一代数据面 Cilium 是什么 - 上手实践
- K8S 生态周报| 是时候从 k8s v1.16 升级了
- ESP8266(一)| 基于OneNet的温度采集显示系统
- 隐秘的 MySQL 类型转换
- 对Jenkinsfile语法说不,开源项目Jenkins Json Build挺你
- Volatile概述
- SparkStreaming和Kafka基于Direct Approach如何管理offset
- Spark在处理数据的时候,会将数据都加载到内存再做处理吗?
- 美团点评2020年测试工程师笔试题