转载于码农场
本文旨在介绍CoNLL格式的中文依存语料库(汉语依存树库)、CoNLL格式相关工具,以及提供两个公开的中文依存语料库下载。
最近做完了分词、词性标注、命名实体识别、关键词提取、自动摘要、拼音、简繁转换、文本推荐,感觉HanLP初具雏形。现在希望拿下依存句法分析,这样我就做出了史上第一个个人开发的功能最全面的自然语言处理基础工具库了。
谈到依存语料库,还是少不了介绍一下树库的类型。根据所描述结构的不同 , 树库大体上可以分为两类 : 短语结构树库和依存结构树库 。
短语结构树库一般采用句子的结构成分描述句子的结构。在照抄定义之前,我更乐意给你看一张图作为例子:
上图左边是可嵌套的语言规则与实例,右侧是它们的树状结构,更多理论。短语结构树包含了规则与依存双重信息,硬要说的话,叶子节点的词性也可算作第三种信息。
短语结构树顾名思义,可以同来提取短语,比如NP-名词短语等等。
短语结构树库的目的是分析句子的产生过程,这是特别深刻的命题。
依存结构树库是根据句子的依存结构而建立的树库。依存结构描述的是句子中词与词之间直接的句法关系,相应的树结构也称为依存树。比如哈尔滨工业大学汉语依存树库中的一个例子:
这棵树看起来有些凌乱了,事实上,它可以投射(projective)为正常的线性句子“与上年同期相比,海上油田的年产能力增加了五十万吨”。又比如:
更多理论请阅读宗成庆:《自然语言理解》讲义,第 9 章。
依存结构树库的目的并不是探讨“句子如何产生”这样宏伟的命题,而是研究“已产生的句子”内部的依存关系。
我认为依存结构树库最大的好处就是简单,从语料库的制作到解析,再到句法器的构建及性能都更容易把握。下文也仅介绍依存结构树库语料的下载以及编辑工具(好吧,事实上,我一介草民也只能弄到一点依存结构树库语料而已)。
第二届自然语言处理与中文计算会议(NLP&CC 2013)的技术评测样例中提供了一部分中文树库语料下载——
下载地址:http://tcci.ccf.org.cn/conference/2013/dldoc/evsam05.zip
主页:http://tcci.ccf.org.cn/conference/2013/pages/page04_sam.html
内部包含了清华和哈工大提供的训练集和开发集,该会议到了第三届就不提供树库语料了,只有一些新闻分类和情感极性的语料,真遗憾。
这些树库语料都是CoNLL格式的,CoNLL格式的语料以.conll结尾。
CONLL标注格式包含10列,分别为:
———————————————————————————
ID FORM LEMMA CPOSTAG POSTAG FEATS HEAD DEPREL PHEAD PDEPREL
———————————————————————————
本次评测只用到前8列,其含义分别为:
1 ID 当前词在句子中的序号,1开始.
2 FORM 当前词语或标点
3 LEMMA 当前词语(或标点)的原型或词干,在中文中,此列与FORM相同
4 CPOSTAG 当前词语的词性(粗粒度)
5 POSTAG 当前词语的词性(细粒度)
6 FEATS 句法特征,在本次评测中,此列未被使用,全部以下划线代替。
7 HEAD 当前词语的中心词
8 DEPREL 当前词语与中心词的依存关系
在CONLL格式中,每个词语占一行,无值列用下划线'_'代替,列的分隔符为制表符'\t',行的分隔符为换行符'\n';句子与句子之间用空行分隔。
还是举个例子说明——
序号 | 词语 | 原型(中文词语=原型) | 粗粒度词性 | 细粒度词性 | 句法特征 | 中心词 | 依存关系 | ||
1 | 城建 | 城建 | NN | NN | _ | 2 | relevant | _ | _ |
2 | 成为 | 成为 | VV | VV | _ | 0 | ROOT | _ | _ |
3 | 外商 | 外商 | NN | NN | _ | 4 | agent | _ | _ |
4 | 投资 | 投资 | VV | VV | _ | 7 | d-restrictive | _ | _ |
5 | 青海 | 青海 | NR | NR | _ | 4 | patient | _ | _ |
6 | 新 | 新 | JJ | JJ | _ | 7 | d-attribute | _ | _ |
7 | 热点 | 热点 | NN | NN | _ | 2 | isa | _ | _ |
对应图形
树形图:
序号 | 词语 | 原型(中文词语=原型) | 粗粒度词性 | 细粒度词性 | 句法特征 | 中心词 | 依存关系 |
---|---|---|---|---|---|---|---|
1 | 世界 | 世界 | n | n | _ | 5 | 限定 |
2 | 第 | 第 | m | m | _ | 4 | 限定 |
3 | 八 | 八 | m | m | _ | 2 | 连接依存 |
4 | 大 | 大 | a | a | _ | 5 | 限定 |
5 | 奇迹 | 奇迹 | n | n | _ | 6 | 存现体 |
6 | 出现 | 出现 | v | v | _ | 0 | 核心成分 |
树形图:
哈尔滨工业大学依存语料库使用比较非主流的词性和依存标记,阅读起来稍有困难。
所幸HIT的主页上留了一个说明文档(该文档针对的是最新的树库,并非上述树库,只可作为参考)——
(1)词性标注说明:
词性标注采用863的标注体系,以下是其符号的解释,
a 形容词
b 区别词
c 连词
d 副词
e 叹词
g 语素字
h 前接成分
i 习用语
j 简称
k 后接成分
m 数词
n 名词
nd 方位名词
nh 人名
ni 团体、机构、组织的专名
nl 处所名词
ns 地名
nt 时间名词
nz 其它专名
o 拟声词
p 介词
q 量词
r 代词
u 助词
v 动词
wp 标点
ws 字符串
x 非语素字
(2)依存关系标注说明:
本标注规范共有依存关系类型24种:
定中关系ATT(attribute)
数量关系QUN(quantity)
并列关系COO(coordinate)
同位关系APP(appositive)
前附加关系LAD(left adjunct)
后附加关系RAD(right adjunct)
动宾关系VOB(verb-object)
介宾关系POB(preposition-object)
主谓关系SBV(subject-verb)
比拟关系SIM(similarity)
核心HED(head)
连谓结构VV(verb-verb)
关联结构CNJ(conjunctive)
语态结构MT(mood-tense)
独立结构IS(independent structure)
状中结构ADV(adverbial)
动补结构CMP(complement)
“的”字结构DE
“地”字结构DI
“得”字结构DEI
“把”字结构BA
“被”字结构BEI
独立分句IC(independent clause)
依存分句DC(dependent clause)
清华大学语义依存网络语料采用全中文描述,且词性我都认识。
Statistic for file: 依存分析训练数据\THU\train.conll.fixed.txt
Sentence count: 20001
Word count: 165541
PosTag count: 22
a 5867
b 2923
c 4590
d 8995
f 2676
h 10
k 205
m 8556
M 1
n 43817
o 17
p 8274
q 2118
r 5837
R 2
s 666
t 3600
u 13973
v 33263
x 36
y 5
z 109
Dependency label count: 69
..是..的依存 441
“的”字依存 11091
伴随 56
比较量 37
比较内容 8
并列 97
部分 110
材料 22
参照体 262
程度 3616
除了 2
处所 2036
触及部件 6
存现体 589
代价 28
递进 7
动量 245
范围 757
方式 3205
方位词依存 2284
方向 150
根据 102
工具 66
关联词依存 1855
关系主体 2184
核心成分 15354
后延时段 50
接续 182
结果 287
结果事件 738
介词依存 7788
进程时段 351
经验者 2028
来源 102
类指 719
连接依存 8531
领有者 1
描述 3368
描写体 1188
目标 1337
目的 425
内容 3746
频率 288
评论 4477
起始时间 186
趋向动词依存 535
让步 7
施事 7430
时间 2401
时距 133
时态依存 3283
时态语态依存 199
事件过程 12
手段 78
受事 6153
数量 5627
条件 114
通过处所 38
同位语 942
限定 36014
相伴体 775
语气依存 91
原处所 198
原因 284
原状态 96
整体 180
终处所 388
终止时间 76
终状态 84
Average sentence length: 8.2766
Average dependency length: 2.0258
清华的树库量非常足,足足有2万句,哈工大的才8千。于是我愉快地决定使用清华的树库做了HanLP的训练语料。
你一定很好奇我上面的图是从哪里来的,南京大学开发了一个叫Dependency Viewer的工具,非常好用。
下一步准备实现一些常见的句法分析算法。