放牧代码和思想
专注自然语言处理、机器学习算法

汉语树库

目录

本文旨在介绍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结尾。

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 核心成分

树形图:

两个树库的比较

哈尔滨工业大学依存语料库使用比较非主流的词性和依存标记,阅读起来稍有困难。

Statistic for file: 依存分析训练数据\HIT\train.conll

Sentence count: 8301
Word count: 250311
PosTag count: 35
	AD	21636
	AS	1919
	BA	450
	CC	2928
	CD	7219
	CS	566
	DEC	6768
	DEG	6471
	DER	195
	DEV	385
	DT	2615
	ETC	589
	FW	26
	IJ	10
	JJ	5882
	LB	150
	LC	4043
	M	6222
	MSP	759
	NN	63913
	NN-SHORT	1
	NR	12420
	NT	3242
	NT-SHORT	19
	OD	725
	P	8223
	PN	4029
	PU	33162
	SB	267
	SP	324
	VA	4486
	VC	3178
	VE	1885
	VV	37297
	X	6
Dependency label count: 122
	accompaniment	249
	agent	9375
	angle	119
	aspect	2040
	aux-depend	29256
	basis	150
	beneficiary	82
	c-agent	118
	cause	230
	causer	232
	c-basis	2
	c-content	24
	comment	435
	concerning	14
	content	11519
	contrast	614
	cost	27
	c-patient	16
	d-attribute	5086
	d-category	1391
	d-content	1087
	d-deno	2842
	d-deno-p	979
	d-domain	1168
	degree	3917
	d-genetive	8249
	d-host	1261
	direction	286
	distance	4
	d-LocPhrase	312
	d-material	58
	d-member	1469
	d-quantity	6692
	d-quantity-p	3457
	d-restrictive	14089
	d-sequence	195
	d-sequence-p	241
	d-TimePhrase	600
	duration	1365
	emphasis	2381
	existent	627
	experiencer	5181
	frequency	608
	instrument	118
	isa	3727
	j-agent	335
	j-content	249
	j-existent	15
	j-experiencer	253
	j-instrument	3
	j-isa	1
	j-location	16
	j-means	3
	j-partner	1
	j-patient	528
	j-possession	26
	j-possessor	12
	j-relevant	24
	location	2783
	LocationFin	779
	LocationIni	216
	LocationThru	79
	manner	5406
	material	50
	means	293
	modal	3009
	negation	2315
	OfPart	217
	partner	634
	patient	7374
	possession	1993
	possessor	1772
	prep-depend	9045
	PU	33159
	qp-mod	17
	r-agent	1090
	r-basis	10
	r-causer	9
	r-content	628
	relevant	3638
	r-existent	100
	r-experiencer	460
	r-instrument	29
	r-location	81
	r-means	8
	ROOT	7917
	r-partner	1
	r-patient	660
	r-possession	80
	r-possessor	139
	r-relevant	161
	r-state	1
	r-whole	24
	s-abandonment	38
	s-besides	184
	s-cause	745
	s-concerning	8
	s-concession	735
	s-condition	426
	s-coordinate	12087
	scope	2093
	sequence	673
	sequence-p	111
	s-measure	152
	s-or	201
	s-preference	35
	s-progression	218
	s-purpose	248
	s-recount	53
	s-result	1
	s-succession	6383
	s-summary	195
	state	1245
	StateFin	192
	StateIni	245
	succeeding	1827
	time	3043
	TimeAdv	2618
	TimeFin	136
	TimeIni	319
	times	22
	whole	242
Average sentence length: 30.1543
Average dependency length: 4.8009

所幸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的工具,非常好用。

下一步准备实现一些常见的句法分析算法。

知识共享许可协议 知识共享署名-非商业性使用-相同方式共享码农场 » 汉语树库

分享到:更多 ()

评论 14

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #7

    能否提供一份dependency viewer 软件

    nnn7个月前 (05-09)回复
  2. #6

    您好,方便的话给个清华大学树库链接,谢谢

    刘志刚9个月前 (02-20)回复
  3. #5

    请问您在抽取实体的时候使用的是什么语料库?

    余欢HH1年前 (2016-08-06)回复
  4. #4

    楼主您好,我也觉得你这篇文章写得非常细致,对我做依存句式分析很有帮助,不过我想问问为什么我用Dependency Viewer分析清华大学语义依存网络语料库时,会出现错误提示框:Error parse dependendy sentence in file at line 1.Index was outside the bounds of the array?希望楼主能够帮我解答一下,应该如何使用Dependency Viewer处理清华大学语料库呢?

    xiao2年前 (2016-03-12)回复
    • 必须满足http://www.hankcs.com/nlp/corpus/chinese-treebank.html#h2-4

      hankcs2年前 (2016-03-13)回复
      • 问题已经解决,谢谢楼主的耐心解答

        xiao2年前 (2016-03-13)回复
        • 请问你是怎么解决的?

          毛毛2年前 (2016-05-15)回复
    • 您好,请问您找的清华大学语义依存网络预料库可以下载吗,可以的话给个链接

      刘志刚9个月前 (02-20)回复
  5. #3

    楼主你好,这篇文章非常好,对我很有启发性,我有个疑惑请赐教,请问清华大学语义依存网络语料库中,依存关系的定义在哪可以找到?如果您有可以发我一份吗(luckyinfinite@163.com),谢谢

    贾圣宾2年前 (2016-02-14)回复
  6. #2

    我是Dependency Viewer的作者,感谢楼主的推广,希望能帮助到更多人![呵呵]

    tanggc2年前 (2016-01-06)回复
    • 不客气,也感谢你提供这么好用的工具[good]

      hankcs2年前 (2016-01-14)回复
  7. #1

    楼主,您好刚看到您分享的汉语树库的帖子,很不错的资料。赞一个,我想问下哈工大依存树库的标注体系,有木有标注手册呢?此外,请问绿色框里面的树库统计数据(见下方)您是从哪儿找到的呢?谢谢
    Sentence count: 8301
    Word count: 250311
    PosTag count: 35
    AD 21636
    AS 1919
    BA 450
    CC 2928
    CD 7219

    神释3年前 (2014-12-29)回复
    • 文中提到的哈工大树库的官方说明一直没有找到,我觉得该树库价值打了折扣,HIT的主页上留的说明文档是针对最新的树库的,统计数据是Dependency Viewer统计出来的。

      hankcs3年前 (2014-12-30)回复

我的开源项目

HanLP自然语言处理包基于DoubleArrayTrie的Aho Corasick自动机