使用ChunkLinkCTB生成汉语组块语料库

组块(chunk)简介

组块这一概念最早由Steven Abney在Parsing by chunks一文中提出。

CoNLL-2000正式把组块分析作为共享任务,把组块定义为:句子是由一些短语构成,而每一个短语内是由句法相关的词构成,这些短语彼此不重叠、无交集,不含嵌套关系。


国内组块分析现状

荷兰蒂尔堡大学的Sabine Buchholz开发了机器自动程序Chunklink,对宾州大学英文句法分析树库(Upenn English Treebank)进行组块数据自动抽取,生成出一个大规模的英语组块语料库,为英语组块分析方法提供了一个统一的训练和测试语料库。

国内学者仿照英文组块的概念,提出对汉语进行组块分析。目前,对于汉语组块的研究并不完备,还没有一个对汉语组块的标准定义,也没有统一的训练和测试语料库。研究者根据自己的研究目的提出了各自的组块定义,并各自生成了自己的汉语组块语料库。这些语料库大多不公开,无法获取。


获取汉语组块语料库

我的毕业设计题目是《基于深度学习的汉语组块分析研究》。为此我查阅资料,发现了一种获取汉语组块语料库的方法。

1、CTB(宾州中文树库)简介及获取方法

首先需要获取CTB(宾州中文树库)。

CTB建设开始于1998年,目的是为了建立一个具有句法标记的中文句法语料库。该树库是经过自动分词、词性标注和句法标注的精加工文本,为从中抽取组块提供了方便。对于该语料的切分、词性标注和句法标注都形成了一个完整的规范。语料库中每一个语句都形成了一个以词语为叶子节点,以整句为根的树状图。

CTB是收费的,并且在不断更新。几个老版本的获取地址:

CTB2.0:Chinese Treebank 2.0 - Linguistic Data Consortium

CTB4.0:Chinese Treebank 4.0 - Linguistic Data Consortium

CTB5.0:Chinese Treebank 5.0 - Linguistic Data Consortium

CTB6.0:Chinese Treebank 6.0 - Linguistic Data Consortium

我使用的是CTB7.0,是从研究组学长那里要到的。

data中包括bracketed(句法标注)、postagged(POS词性标注)、segmented(分词)、raw四个文件夹。

CTB7.0_data

bracketed包含文件:

chtb_0001.nw~chtb_0325.nw(.nw代表来源于newswire)

chtb_0400.nw~chtb_0454.nw

chtb_0500.nw~chtb_0554.nw

chtb_0590.nw~chtb_0596.nw

chtb_0600.nw~chtb_0885.nw

chtb_0900.nw~chtb_0931.nw

chtb_1001.mz~chtb_1078.mz(.mz代表来源于magazine articles)

chtb_1100.mz~chtb_1151.mz

chtb_2000.bn~chtb_3145.bn(.bn代表来源于broadcast news)

chtb_4000.nw~chtb_4050.nw

chtb_4051.bn~chtb_4111.bn

chtb_4112.bc~chtb_4197.bc(.bc代表来源于broadcast conversations)

chtb_4198.wb~chtb_4411.wb(.wb代表来源于weblogs)

2、使用ChunkLinkCTB处理CTB

ChunkLinkCTB是从CTB中抽取汉语组块的工具,运行在Perl环境下,由Wenliang Chen, Yujie Zhang, Hitoshi Isahara开发。他们定义了12种组块类型,具体见文献An Empirical Study of Chinese Chunking。他们使用该工具构建汉语组块语料库,并进行了汉语组块识别研究。

ChunkLinkCTB下载地址:GitHub - rainarch/ChunkLinkCTB: A tool for extracting chunks from Penn Chinese Treebank

安装Perl环境

ChunkLinkCTB运行在Perl环境下,所以我们需要先安装Perl。

Perl下载地址:Perl Download - www.perl.org

我选择的是Windows10环境下StrawBerry版本,按照安装程序步骤直接下一步即可(可以改变安装路径,但貌似只能安装在每个盘的根目录下。我选择D:\Program\StrawBerry报错,直接选择D:\StrawBerry就可以了......我也不知道为什么)。

安装完成后在cmd中输入perl -v,产生如图输出则安装成功。

使用ChunkLinkCTB

首先打开cmd,进入需要提取的CTB文件所在的路径(我将chtb_0001.nw直接放到了E:/,所以下面截图中的路径都是E:/)。

输入perl chunklinkctb.pl,会提示操作命令:

操作命令

随意输入一个命令,会报错:Can't locate getopts.pl in @INC


错误提示

这是由于perl从5.16开始,移除了getopts.pl。我们需要做的是安装Perl4::CoreLibs这个模块。

可以使用cpan来安装。在cmd输入cpan,进入cpan环境:

进入cpan环境

输入install Perl4::CoreLibs,cpan就会开始自动安装Perl4::CoreLibs这个模块了。

安装Perl4::CoreLibs

安装完成后,输入exit退出cpan。

退出cpan

输入perl chunklinkctb.pl -fhHct chtb_0001.nw > tree.chunk,意思是将句法树文件chtb_0001.nw提取为组块文件tree.chunk。

将句法树文件chtb_0001.nw提取为组块文件tree.chunk

得到组块语料的内容:

tree.chunk

每一列分别是:文章id    句子id    词id    IOB组块标注    POS词性标注    词

你可能感兴趣的:(使用ChunkLinkCTB生成汉语组块语料库)