汉语树库的构建*
周强 张伟 俞士汶
【摘要】本文讨论了汉语树库构建的若干基础问题,包括一个适合于自动分析和人工标注的汉语句法标记集、汉语树库加工处理规范和人机互助的树库加工模型,介绍了一个已经实现的汉语自动句法标注系统,和在此基础上进行的一些树库构建实验,最后提出了构建大规模汉语树库的设想。
关键词: 树库 句法标记集 树库加工规范 语料加工模型 语料库语言学
1. 引言
语料库的句法标注是语料库语言学研究的前沿课题,它的处理目标是对语料文本进行句法分析和标注,形成树库(treebank)语料。在这方面,英语语料库的研究已经做了许多工作,两个比较大的工程项目是:英国的Lancaster-Leeds 树库项目[LG91]和美国的 Penn 树库项目[MSM93]。其树库规模都达到了二百万词以上。在这些工作中提出的骨架(skeleton)分析方法、机器自动分析和人工校对相结合的处理思路,为后续的相关研究积累了丰富的经验。
近几年来,中文信息处理技术发展很快,进行汉语语料库句法自动标注研究的条件已基本成熟了。这是因为:
① 经过十几年的研究,汉语自动切分和词性标注的处理技术已达到成熟,为进一步进行句法分析研究打下了很好的基础。
② 近几年来,对汉语句法分析方法、依存关系标注、基本句型分析等方面的探索,为进行比较系统全面的短语分析积累了丰富的经验。
对汉语来说,短语分析研究本身有其重要的意义。短语作为汉语语法研究中的一个单位,正好处在联系词与句子的桥梁位置上。它具有与汉语句子基本一致的构造方法,这和英语的短语有很大差别。朱德熙先生认为,“如果我们把各类词组的结构和功能都足够详细地描写清楚了,那么句子的结构实际上也就描写清楚了,因为句子不过是独立的词组而已。”([Zhu85],P74)从这个意义上看,现代汉语短语结构研究的重要性是不言而喻的。目前在这方面进行的规模较大的系统研究却很少。
考虑到以上种种因素,我们对汉语树库的构建技术进行了比较深入的研究,提出了适合于自动分析和人工标注的汉语句法标记集和汉语树库加工处理规范,以及一个人机互助的语料加工模型,在此基础上,构造了一个效率很高的汉语自动句法标注系统,可以对经过正确切分和词性标注的汉语句子进行自动分析,得到准确度较高的句法标注结果。
下面几节中,第2节介绍汉语句法标记集,第3节分析树库加工处理规范的主要内容,第4节提出一个人机互助的语料加工模型,第5节对目前的自动句法标注系统作一简单介绍,第6节给出一些实验结果,第7节是结语,对大规模的汉语树库构建方法提出一些设想。
2. 汉语句法标记集
构建汉语树库的一项基础性工作是确定合适的句法标记集。参照英语树库的处理经验[LG91], [MSM93]),并结合汉语分析的特点,我们初步确定了由19个标记组成的句法标记集,详见表1。关于各个标记的句法功能和结构的详细描述可参阅[ZY96]。
标记代码 | 标记名称及其实例 |
1). Np | 名词性短语,如:我们买的 漂亮的帽子 |
2). Nbar | 名词性准短语,如:工人们 资本主义 |
3). Vbar | 动词性准短语,如:看了一看 学过 |
4). Vp | 动词性短语, 如:给他一本书 去看电影 |
5). Abar | 形容词性准短语,如:高兴高兴 红了 |
6). Ap | 形容词性短语,如:特别安静 更舒服 |
7). Dp | 副词性短语,如:虚心地 非常非常 |
8). Pp | 介词短语,如:在北京 被他的老师 |
9). Bp | 区别词性短语,如:大型中型小型 |
10). Tp | 时间词性短语,如:战争初期 周末晚上 |
11). Sp | 处所词性短语,如:村子里 中国内地 |
12). Mbar | 数词准短语,如:一千三百 |
13). Mp | 数量短语,如:两三天 这群 |
14). Dj | 单句句型,如:她态度和蔼 那时候,天气还很冷 |
15). Fj | 复句句型,如:如果他愿意,我就陪他去看看 |
16). Zj | 整句,如:你去不去? 火又盛,烟又大。 |
17). Jq | 句群,如:救命啊!救命啊! |
18). Dlc | 独立成分 |
19). Yj | 直接引语 |
在现代汉语中,对短语进行分类一般采用下面两大标准:① 内部结构,② 外部功能。按照内部结构,可分为联合短语、偏正短语、述宾短语、述补短语、主谓短语、连动短语、兼语短语、复指短语等几类;而按照外部功能,则一般可分为名词短语、动词短语、形容词短语和副词短语等几类。一些比较系统地描述汉语短语的著作,如:范晓(1991),李子云(1991) 大多采用了结构分类的方法。而我们的句法标记集对汉语短语的描述则主要采用了功能分类的方法,它具有以下几个特点:
1). 较好地体现了汉语语法单位之间的层次变化关系
语言中的基本语法单位是语素、词、短语和句子。汉语的特点是这些语法单位之间没有很明显的界限,存在着一种连续变化的层次关系。这就要求我们在进行汉语句法分析时,不能“一刀切”,而应该提供尽可能灵活的机制可以对不同语法单位变化的中间阶段进行描述。
在我们的句法标记集中,标记组 {mbar,vbar,abar,nbar} 就较好地描述了从语素到词和从词到短语的组合变化趋势:
首先,由于分词规范[GB92]的规定,在切分处理时可能把一部分我们认为是词的汉字组合切开了,一个典型的例子是多个基本数词组合成复杂数词描述的情况,对此,我们提供了标记 mbar,可以描述由基本数词组合成的复杂数词。
另外,通过把 vbar,nbar,abar 标记作为词与短语之间的桥梁,可以方便地对那些在汉语语言学上不能确定是词还是短语的成分组合进行标注,如:“名词+们”组成的结构(学生们)标为nbar,双音节动词和形容词的重叠式(运动 运动,高兴 高兴)标为vbar,abar等。
而标记组 {dj,fj,zj,jq} 则较好地体现了汉语短语到句子的实现关系和句子之间的组合关系:
dj 和 fj 作为特殊的短语--句型标记,一方面可以灵活地充当句子成分,体现了汉语独特的成分套叠现象[LJM93],另一方面又可以通过在句尾加上语调标点(句号、叹号、问号)实现为一个完整的句子(zj)。相反,zj 则一般不充当句子中的句法成分,这反映了 zj 与 dj 和 fj 在语法层次和具体使用上的差别,但多个 zj 仍可以进一步组合为更大的语法单位—句群(jq)。
2). 建立了词与短语之间的功能对应关系
北大的汉语词语分类体系主要采用了朱德熙先生的“按照词的语法功能”进行分类的思想,文献[YSW94]给出了各个词类的功能分布特点。依据类似的思想,我们对汉语短语进行了比较细致的功能分类,形成了短语句法功能标记组 {np,vp,ap,bp,tp,sp,mp,pp,dp},它们与各个词类标记建立了比较好的功能对应关系。
3). 具有较强的适应性和可扩展性
在我们的标记集中,一些标记,如:dlc,yj,vbar,abar 等,对汉语中的许多特殊语言现象,如:独立成分(包括插入语,称呼语等)、直接引语、离合词组合、重叠形式等,都可以很好地进行描述,从而使得此标记集具有较强的适应性,可以比较方便地加工处理大量真实文本语料。另外,根据不同的加工需要,此标记集还可以进一步扩充,如:一种顺理成章的扩充方法是进一步描述短语内部的结构组成,形成功能--结构标记集,从而可以对汉语短语有更深入的认识。
3. 汉语树库加工处理规范
为构建汉语树库,另一项重要的基础工作是建立完善的汉语树库加工处理规范。从内容上看,句法标记集描述了句法的静态结构规律,即不同的成分结构能组合成什么样的句法标记,而树库加工处理规范则给出了句法的动态组合规律,即句法层次结构如何由线形词语串中组合产生。但两者又互为补充,相互促进。它们一起构成了进行语料库自动句法标注的重要基础。
面对着带有词类标记的汉语词语串,如何把不同的句法成分正确地划分出来,确定不同的层次关系和句法标记,是汉语树库加工的主要目标。它涉及到同形结构的处理、多切分问题、结构分析的方向性等方面。对此,语言学家进行了深入的研究和探索,提出了许多有效的方法和处理原则,如:[WH82]和[WL92]对汉语层次分析中的许多问题所进行的深入研究,[GGS81]对长句分析的探索等,其中的许多处理思想是很有借鉴意义的。
但我们目前的主要工作是要对大规模的真实语料进行短语划分和句法标注处理,需要兼顾到机器自动标注和人工校对的不同特点,一方面要在最大程度上保持处理结果的一致性,另一方面,又要使划分出来的句法成分符合语言学上的规定。为此,我们从工程实践的角度,确定了汉语树库加工的一些原则,主要包括:
1). 句法结构宜'平'不宜'深':
句法成分的划分并不局限于层次分析法中严格的二分处理,允许有多分结构(即具有多于两个的子成分的结构)存在。一个简单的例子是下面的定中结构:<定> “的” <中心成分>,我们并不把它分析为:[[ <定> “的”] <中心成分> ],而是直接划分为 [ <定>“的”<中心成分> ]。另外一些类似的结构包括带“得”的述补结构,动词的兼语式、双宾式等。这样的处理可以降低机器自动标注和人工处理的复杂度。
2). 短语划分应着重考虑表层句法结构,而不是深层意义关系
由于我们现在的处理基本上是一种句法分析的过程,工作的重点应集中在确定不同词语组合的句法结构关系上。对于某些存在内容和形式相矛盾的词语组合,则基本的处理原则应是:根据表层的句法结构和功能,确定一种句法结构组合方式,再寻找合适的深层语义解释。从而在另一种意义上达到切分三原则(即结构、功能和意义)的统一。例如:“饿过整天整夜的肚皮”,从形式上看,“整天整夜”和“肚皮”通过“的”发生联系,构成结构。但从意义上看,“整天整夜的肚皮”讲不通。在语料标注中,我们还是把它处理为:[ap 饿过[np 整天整夜的肚皮 ]]。
3). 对多分组合,应尽量选择一种统一的划分方法
汉语中短语的多分问题,是指同一词语组合在意义相同的情况下可以作多种层次切分,例如:“认真地学习英语”,既可划分为“[[认真地] [学习英语]]”,又可划分为“[[认真地学习] 英语]”,对于这个组合,两种划分在意义上没有什么差别。这样,我们在进行语料库短语标注时,就可以对类似的多分组合规定一种固定的划分方法,以保持处理语料的一致性,更有利于机器的自动处理。
4). 对同形结构,应给出详细的歧义分化条件和规则
在汉语的句法分析和标注过程中碰到的歧义主要有以下两种:
i). 标记歧义:指同样的词类组合,在不同的语境下可以标为不同性质的短语,如:
v n -> vp : 写文章
-> np : 工作方法
ii). 结构歧义:指同样的词类组合,可以划分为不同层次的短语,如:“咬死了猎人的狗”,就可能有以下两种划分结构:
a). [vp [vbar 咬死了] [np 猎人的狗 ]]
b). [np [vp [vbar 咬死了] 猎人] 的狗 ]
对于类似的同形结构,人工标注可能比较容易处理。但对于机器自动分析,给出详细的歧义分化条件就显得很重要了。这是处理规范描述的重点所在。
[ZQd96]的附录2 给出了对一些具体情况的处理规范描述,它们是在对真实语料的加工处理中不断总结出来的。因此,随着加工语料规模的不断扩大,此规范可望得到不断补充和完善。
4. 人机互助的语料加工模型
在语料库的加工处理过程中,随着人力物力的不断投入,经过校对的正确标注语料的数量也在不断增加。这是一笔巨大的财富,因为其中包含了丰富的语言学知识,并隐含了人进行排歧处理所用的各种知识。如何最大限度地发挥这个语言知识库的作用,是提高语料库处理系统整体性能的关键。基于这种认识,我们构造了图1 所示的语料加工模型。它在目前的树库加工实验中发挥了重要作用。
图1 人机互助的语料加工模型
此模型具有以下几个特点:
①. 普遍性知识和特殊性知识相结合
当正确标注的语料达到一定规模以后,从中统计得到的分布数据近似地反映了语言中的一些普遍规律,将这些数据运用于自动标注处理,可以期望获得较高的处理正确率。但语言是千变万化的,具有许多特例。因此系统配备了一个由错误驱动的规则学习程序,通过将自动处理结果和人工校对结果相比较,发现错误所在,从中可以总结归纳出若干特殊情况的处理规则。这样,将统计得到的普遍性知识和学习得到的特殊性知识相结合,可以大大提高自动标注处理的性能。
②. 人机处理相结合
机器处理的优势在于它有强大的计算能力,可以大规模地处理语料。而人工标注的优势则在于它的精确性,因为人能利用上下文信息和知识来排歧。这两方面的优势在图1 所示的模型中都得到了充分的发挥:一是利用统计数据,构造适当的统计模型进行自动标注处理;二是通过人工校对,保证最终处理语料的正确性。而对于错误校正规则的学习,则要经历一个由手工到半自动再到全自动的发展过程。最初是人工总结,随着研究的深入,可以逐步利用一些统计工具降低人工处理的工作量,当技术成熟时,就可以利用机器学习技术自动习得有用的规则。
③. 具有整体性能的增量提高性
随着正确标注语料规模的不断扩大,将使统计数据反映的信息更加全面,错误校正规则的条件约束更为精确,从而提高了自动标注处理的正确率,降低了人工校对的工作量,使系统的整体性能得到增强。
5. 汉语自动句法标注系统简介
图2 给出了我们进行汉语自动句法分析的总体结构图。对于一句经过正确切分和词性标注的汉语句子,需要经过以下几个主要处理步骤,才能得到比较准确的句法标注结果:
首先,进行短语界定自动预测,确定句子中每个词语所处的短语边界位置,即它是处于短语的左边界,右边界还是中间位置。这是进行括号匹配并分析产生不同句法成分的基础([ZQ96a],[ZZ96])。
统计信息库 |
短语界定 |
自动预测 |
括号匹配 |
区间限制 |
句 法 |
分 析器 |
人工 |
校对 |
电子词典 |
规 则 库 |
输入 句子 |
分析树 表示 |
图2 句法分析总体结构图
然后,利用句子中的一些特殊短语组合和标点符号信息,确定进行括号匹配的区间限制条件,利用它们可以限制那些不必要的或不合语法的句法成分的产生。这主要包括:
i). 自动识别句子中的并列结构,确定并列成分的边界位置。
ii). 发现句子中的某些固定搭配短语,设置有关短语成分的匹配区间。
iii). 利用标点的分界性质,设置不同层次的匹配限制区间。
经过以上两个阶段的预处理,已经为句法分析器提供了足够的分析信息,再经过以下步骤的处理,可以得到句子的句法分析和标注结果。
i). 利用界定预测信息,进行左右括号的匹配处理,并通过多层次的短语标记确定方法为匹配所得的短语赋以合适的短语标记,又可以通过运用匹配区间限制机制,进一步提高对复杂句子的处理效率,形成一个句子所有可能的分析树。
ii). 构造概率评分模型,利用Viterbi算法在分析树生成过程中进行动态剪枝和排歧处理,并通过规则和统计相结合的归约标记排歧方法和基于优先的短语结构排歧处理加强对某些特殊的局部结构的排歧能力,最终可以从多个分析树中选择一棵最佳的分析树。
最后经过人工校对,发现并改正自动处理中的各种错误,包括标记错误、结构组合错误等,可以得到新的正确的树库语料。
在这些过程中,需要用到从树库中得到的各种统计信息,语法电子词典中描述的词语的详细句法特征信息以及经过人工总结和错误驱动自动习得的排歧规则,因此此系统可以看成是图1所示的语料加工模型的一个很好的应用实例。文献[ZQd96]对不同阶段的算法进行了详细的介绍。
6. 汉语树库构建实验
我们目前选择了三部分语料进行树库构建实验,它们包括:
1). 汉英机器翻译研究的测试题库(语料A)。它们句型多样,不同短语组合的分布也很广,而且句子较短,便于进行自动分析处理。
2). 新加坡小学语文课本语料[1](语料B),总共12个语料文件。语料内容的组织很好地反映了小学教育由易到难的发展原则:从简单的单句,到一般复句,再到比较复杂的复句,直至结构层次很复杂的超长句的例子。其中包含的丰富的汉语语言现象和句型描述,可以为系统开发和调试提供了一个很好的实验样本。
3). 开放测试语料(语料C)。从我们目前所掌握的原始文本中选取了各种体裁和不同内容的语料,其中包括自然科学和社会科学的研究论文、新闻报道、现当代的文学作品等,形成了一个覆盖面较广的测试语料,可以对系统的各种性能指标给出比较客观的评价。
表2列出了这些语料的基本统计数据,其中的简单句子和复杂句子是根据句子中所含的词项数(包括词语和标点符号)的多少加以区分的,即简单句子的词项数< 20,复杂句子的词项数≥20。通过对这两类句子的分析结果进行比较,特别是对复杂句子的性能指标进行准确的评估,可以对分析器的性能有一个比较全面的认识。
表 2 实验语料的基本统计数据
| 总 | 总 | 总 | 平均 | 简单句子 | 复杂句子 | ||
| 句数 | 词数 | 字数 | 句长 | 百分比 | 平均句长 | 百分比 | 平均句长 |
语料A | 1434 | 11821 | 17058 | 8.243 | 97.768 | 7.869 | 2.232 | 24.656 |
语料B | 4139 | 52606 | 72434 | 12.71 | 83.523 | 9.927 | 16.477 | 26.818 |
语料C | 1017 | 13527 | 20799 | 13.3 | 81.023 | 8.581 | 18.977 | 33.451 |
对这三部分语料进行自动句法标注,再辅之以人工校对,可以形成准确度较高的树库语料,从中就能得到许多有用的统计数据。而这一加工过程实际上又是系统开发和不断完善的过程的一个缩影。
首先通过对语料A进行人工划分和标注,得到了一个较小的树库。在这一过程中,逐步形成了一个基本句法标记集,并总结产生了一个初步的树库加工处理规范。然后利用从此树库语料中得到的统计数据,我们开发了一个汉语自动句法标注程序,它在对语料A的实际测试中取得了较好的效果[ZQ96b]。但当进一步将它应用于语料B的自动加工处理时,系统暴露出了许多缺陷。这促使我们对处理算法进行了进一步的改进,提出了许多新的处理思想,增加了一些有效的排歧控制机制,形成了目前的系统。同时对句法标记集和树库加工处理规范进行了进一步的补充和完善。
表3给出了对目前的自动句法分析器的处理性能的实验结果,其中封闭测试选择了语料A和B中约90%的句子,开放测试则利用了语料C。有关的技术指标简单说明如下:① 括号召回率(recall):反映了那些被自动分析出来的正确括号对在所有的树库语料的正确括号对中所占的比例。② 括号正确率(precision):反映了那些正确的(即在树库语料中出现的)括号对在所有自动分析器得到的括号对中所占的比率。③ 交叉括号数:记录了那些交叉括号对(即自动分析结果与正确划分结果发生部分重叠的括号对)在每个句子中平均出现的数目。④ 标记正确率:反映了那些在树库和自动分析结果中具有相同边界的短语被标以同样的短语标记的现象,也即正确的自动短语标注情况所占的比率。
表 3 句法自动分析器的处理性能
|
| 封闭测试 | 开放测试 | |||||||
| 简单句子 | 复杂句子 | 整体情况 | 简单句子 | 复杂句子 | 整体情况 |
| |||
括号召回率(%) | 89.45 | 82.51 | 87.43 | 77.28 | 70.68 | 74.13 |
| |||
括号正确率(%) | 89.42 | 82.40 | 87.38 | 77.33 | 70.33 | 73.98 |
| |||
交叉括号数 | 0.72 | 3.44 | 1.06 | 1.46 | 7.27 | 2.57 |
| |||
标记正确率(%) | 95.79 | 93.88 | 95.26 | 88.54 | 89.12 | 88.80 |
| |||
7. 结语
本文简要地介绍了我们目前在汉语树库构建方面所做的一些工作,包括提出了一个覆盖面较广的汉语句法标记集,总结了一个适合于自动分析和人工标注的树库加工规范,提出了一个人机互助的语料加工模型,并构造了一个功能较强的汉语自动句法标注系统,从目前的实验结果来看,此系统已经达到了较好的自动标注效果。
通过这些工作,我们在汉语树库的自动加工和人工标注方面积累了一定的经验。但目前的实验语料规模毕竟还很小,因此要在此基础上进一步构建大规模的汉语树库,还需解决以下几个问题:
1). 提高对大规模真实文本处理的适应性和鲁棒性
一方面,通过对大量真实文本的分析处理,发现新的语言现象,据此补充和完善句法标记集和树库加工规范,以便能较好地保持真实文本的自动加工和人工标注结果的一致性;另一方面,通过采用新的技术,提高自动句法分析器的排歧能力,使之对真实文本的处理达到很高的鲁棒性。
2). 协调语言工程的组织
构建大规模的汉语树库是一个很大的语言工程项目,需要投入大量的人力、物力和财力,这就要求对各方面因素进行很好的协调。首先是语料的选择和管理问题。我们设想这样一个树库应至少达到二百万到五百万词的规模,并且其语料的内容应覆盖尽可能多的领域。目前国家语委正在进行的7000万字的“国家级通用语料库”建设项目,可以提供一个很好的树库加工语料样本。其次是自动加工和人工标注的相互配合和促进问题。需要开发功能强大、操作灵活的人工校对辅助工具,提高人工校对的工作效率及其处理结果的一致性。另外,通过采用“滚雪球”的处理方法,可以在正确标注的树库语料不断增加的同时,逐步提高自动句法分析器的处理能力,从而降低人工校对的工作量。
参考文献
[FX91] 范晓 (1991). 《汉语的短语》,商务印书馆
[GB92]“信息处理用现代汉语分词规范”,中国国家标准GB13715,1992
[GGS81] 高更生 (1981). 《长句分析》,中国社会科学出版社
[LG91] Leech, G.; and Garside, R. (1991). "Running a grammar factory: The production of syntactically analysed corpora or 'treebanks' ". In Stig Johansson and Anna-Brita Stenstrom (eds.) English Computer Corpora : Selected papers and Research Guide. 1991. 15-32
[LJM93] 陆俭明 (1993). “汉语句法成分特有的套叠现象”,《陆俭明自选集》,河南教育出版社,174-192
[LZY91] 李子云 (1992). 《汉语句法规则》, 安徽教育出版社
[MSM93] Mitchell P.Marcus, Mary Ann Marcinkiewicz, and Beatrice Santorini (1993). "Building a Large Annotated Corpus of English: The Penn Treebank", Computational Linguistics, 19(2), 313-330
[WH82] 吴竞存,侯学超 (1982). 《现代汉语句法分析》,北京大学出版社
[WL92] 吴竞存, 梁伯枢 (1992). 《现代汉语句法结构与分析》, 语文出版社
[YSW94] 俞士汶 (1994)“信息处理用现代汉语词语分类体系”,北大计算语言所内部资料,其摘要刊登于《中国计算机报》1994.5.31. 第81版
[Zhu85] 朱德熙 (1985). 《语法答问》. 商务印书馆
[ZQ96a] 周强(1996).“一个汉语短语自动界定模型”,《软件学报》第7卷,增刊,315-322
[ZQ96b] 周强(1996). “汉语短语的自动划分和标注”,已被《中文信息学报》录用
[ZQd96] 周强(1996). “汉语语料库的短语自动划分和标注研究”,博士学位论文,北京大学计算机系,1996.6
[ZY96] 周强,俞士汶(1996).“汉语短语标注标记集的确定”,《中文信息学报》, 10(4), 1-11
[ZZ96] 周强,张伟(1996).“一个汉语改进的短语自动界定模型”,In Proc. of ICCC’96, Singapore, June 4-7, 75-81
(此文发表于《中文信息学报》,1997年第4期,P42-51)