汉语句子的组块分析体系*周强孙茂松黄昌宁智能技术与系统国家重点实验室清华大学计算机科学与技术系,北京100084摘要:本文介绍了一种介于线性词序列和完整句法树表示之间的浅层句法知识描述体系:组块分析体系,并详细讨论了其中两大部分:词界块和成分组的基本内容及其自动识别算法。
在此基础上进行的一系列句法分析和知识获取实验证明了这种知识描述体系的实用性和有效性。
关键词:词界块,成分组,部分分析,句法分析。
1 引言句法分析是自然语言处理研究中的重点和难点。
针对完整的句法分析方法在分析大规模真实文本中遇到的困难,许多研究人员开始尝试着把一个完整的句法分析问题分解为几个易于处理的子问题,以逐步降低完整句法分析的难度,提高分析效率。
这其中一个很成功的例子是将词性标注(Part-Of-Speech Tagging)从句法分析中分离出来。
通过利用局部语境信息进行基于规则或基于统计的词类排歧,目前的大部分词性标注工具对真实文本的标注正确率都达到了96%以上,为在此基础上进一步进行句法分析打下了很好的基础。
依据同样的研究思路,Steven Abney提出了块分析(chunk parsing)的策略[Abn91],通过引进句法块(chunk)概念,他将句法分析问题分为三个阶段:1) 块识别:利用基于有限状态分析机制的块识别器(chunker)快速识别出句子中所有的块。
2) 块内结构分析:对每个块内部的成分赋予合适的句法结构。
3) 块间关系分析:利用块连接器(attacker)将各个不同的块组合成完整的句法结构树。
这样,一方面由于对不同的子问题的准确功能定位,可以独立地选用不同的语言模型和搜索策略加以分析处理;另一方面,通过在块层次上进行自底向上的块间关系分析和自顶向下的块内结构分析,可以大大提高整体分析效率,达到降低句子分析难度的目的。
块分析策略的精髓在于寻找到合适的切入点,将完整的句法分析问题分解为句法拓朴结构分析和句法关系分析两个子问题。
Steven Abney在研究英语分析过程中发现了这样一个现象:本来可以很自然地期望短语结构(phrase structure)在音律结构(prosodic structure)边界预测中发挥重要作用,但事实上,传统的短语结构描述与音律结构以及一些心理语言学家提出的语言应用结构(performance structure)之间存在着许多不一致现象[Abn92]。
为解决这个问题,他提出可以将标准的短语结构描述分解成两大部分:1) 一组直接成分块,即chunk,2) 成分块之间的句法依存(dependance)关系,从而在直接成分块和音律结构的φ-短语之间建立了很好的一一对应关系[Abn95]。
将这一思想不断发展和完善,逐渐形成了他独特的块分析体系。
汉语的句法体系是在大量吸收和借鉴英语句法描述体系的有关内容和知识的基础上建立起来的。
几十年来,尽管许多汉语语言学家进行了艰苦的努力,提出了一些有效的汉语句法分析方法,如:中心成分分析法、层次分析法等,但究竟其中哪种方法更适合于汉语还存在着许多争论。
另外,对于汉语句法体系中的一些基本问题,如:汉语词类的确定,句法描述体系的建立等,还有许多值得商榷之处。
汉语句法研究的这种现状,给进行汉语信息处理*国家自然科学基金资助项目(编号:69705005),中国博士后科学基金资助项目。
研究的人员带来了许多不便。
在这种条件下,进行与Abney的研究相类似的汉语浅层句法知识描述体系的探索,就显得很有现实意义了。
本文针对汉语分析的特点,提出了一种汉语句子的组块分析体系。
它通过引入词界块和成分组概念,将成分边界辨识问题从完整的句法分析任务中分离出来,形成具有不同层次的成分边界限制信息的组块描述体系。
作为一种基本上独立于各种句法描述形式的句子拓朴结构,在此基础上可以方便地采用不同的句法分析方法产生句子的不同分析结果,如:分析结构树、依存关系树等。
在下面的几节中,第2节详细介绍了组块分析体系的基本内容,包括词界块定义和成分组描述,第3节介绍组块分析体系的一个重要应用:分层次地构建汉语树库,第4节介绍了组块分析体系的其他重要应用,最后的第5节是结束语。
2 组块分析体系针对汉语句子的句法分布特点,我们提出了这样的组块分析体系。
它在经过正确切词和词性标注处理的输入句子中,分析产生以下两部分信息:1) 词界块:通过为句子中的每个词赋予合适的成分边界信息,形成一个连续的词界块序列。
2) 成分组:通过识别和标注句子中一些特殊的成分组合区域,形成一组分立的成分组描述。
在下面的几节中,我们将对有关的内容进行详细的说明。
2.1 词界块定义自然语言的句子是由词组成的。
词在组句过程中体现出一定的层次性。
而句法分析的主要任务就是要寻找适当的方法把这些层次关系很好地描述出来。
例如:对于(1)中给出的汉语句子:我的弟弟给了他一本书。
(1) 利用语言分析中常用的直接成分分析法进行分析,可以得到这样的分析结果:[ [ [ 我的弟弟 ] [ [ 给了 ] 他 [ [ 一本 ] 书 ]]] 。
] (2)如果将(2)中的句法层次描述进行简化,只保留标识各个词在不同成分中的句法位置信息,即它是处于某个句法成分的左边界(标识为‘[’),还是右边界(标识为‘]’),还是中间位置(不标识),就形成(3)的结果:[我的弟弟] [给了] 他[一本] 书] 。
] (3)显然,如果输入句子没有句法歧义,即存在一棵唯一的分析树,则句中每个词所处的边界位置应是唯一确定的。
但当输入句子存在句法歧义时,句中某些词所处的成分边界位置则包含多种可能性。
例如,对于(4)中所示的句子片段,由于存在着两种合理的分析结果:(5a)和(5b),从而使名词“猎人”具有两种可能的成分边界位置:左边界(在(5a)中)和右边界(在(5b)中)。
咬死了猎人的狗(4) [ [ 咬死了 ] [ 猎人的狗] ] (5a) [ [ [ 咬死了 ] 猎人 ] 的狗] (5b)从这个意义上看,成分边界信息反映了句子中每个词所具有的最低程度的句法层次信息,将它们的分析描述从完整的句法分析树中分离出来,使之与句子中的各个词组合成一个统一的整体,就形成了我们下面所要介绍的词界块。
定义1:直接成分(IC)是由直接成分分析法(即层次分析法)从句子中分析出来的各个合法词串。
所有的直接成分组成一个直接成分集,简记为ICS。
需要注意的是,为减少汉语句子的分析层次,我们对传统的直接成分分析法进行了一些一些简化,允许出现以下的三分结构:1) 带助词“的”的定中结构,如:[我的弟弟]2) 带助词“得”的状中结构,如:[打扫得[很干净] ]3) 双宾结构,如:[ [给了] 他[一本书]]4) 兼语结构,如:[请领导讲话]定义2:若句子中的某个IC = [w i, ... , w j],则词位置i 称为成分左边界位置,词位置j 称为成分右边界位置。
句子中所有的成分左边界位置组成一个左边界位置表,简记为LPL;所有的成分右边界位置组成一个右边界位置表,简记为RPL。
定义3:词界块(word boundary stem, WB)是由句子中的词与它的成分边界位置标记组成的结合体,简记为wb i= <w i, b i>,其中b i可取值0,1,2,3,分别定义为:1) 若i∈LPL且i∉RPL,则b i= 1,表示w i处于成分左边界。
2) 若i∈RPL且i∉LPL,则b i= 2,表示w i处于成分右边界。
3) 若i∈LPL且i∈RPL,则b i= 3,表示w i既可处于成分左边界,又可处于成分右边界,即存在歧义现象。
4) 若i∉LPL且i∉RPL,则b i= 0,表示w i处于成分中间位置。
从句法描述能力看,这里定义的词界块,与Abney的chunk,以及通常意义上的短语(phrase)具有以下关系:词界块< chunk < 短语例如,对于例句(1),我们可以分析出6个短语(如(6)所示,但不包括最后的整句成分),它们自底向上形成了句子的完整分析树;chunk有5个(如(7)所示),它们组成了句子的基本框架;而词界块则有10个(=句子长度),它们描述了句子中各词所处的成分边界位置(如(8)所示)。
[ [P6 [P1我的弟弟 ] [P5 [P2给了 ] 他[P4 [P3一本 ] 书 ]]] 。
] (6) [C1我的弟弟 ] [C2给了 ] [C3 他 ] [C4一本书 ] [C5 。
] (7) <我,1> <的,0> <弟弟,2> <给,1> <了,2> <他,0> <一,1> <本,2> <书,2> <。
,2> (8)事实上,词界块中的成分边界信息可以在一定程度上反映出不同词在句子中的句法组合关系。
考虑句子中两个相邻的词界块WB i= <w i, b i>和WB i+1= <w i+1, b i+1>,根据不同的成分边界标记组合,可以把它们的句法组合情况分为以下几类:1) 可以直接组合:b i= 1,b i+1= 2,即形成一个chunk2) 可以部分组合:b i= 1,b i+1= 0 或b i= 0,b i+1= 23) 不能组合:b i= 2,b i+1= 14) 可以间接组合:其他情况通过构造如下的统计模型,可以对词界块的成分边界进行自动预测:考虑词序列W ij= w i, w i+1, ..., w j,选择合适的成分边界标记序列B ij= b i, b i+1, ..., b j,使得P(B ij|W ij) 达到最大。
文献[ZQ96]给出了具体的预测算法。
2.2 成分组描述对真实文本中的汉语句子的句法结构树进行深入的分析,可以发现其中存在着一些特殊的成分区域。
它们具有这样的分布特点:1) 区域中的词界块只能与区域中的其他词界块发生句法作用,2) 整个区域作为一个整体与句子中的其他成分发生句法作用。
对这些特殊成分区域的共同特点进行归纳总结,我们形成了如下的成分组描述。
定义4:句子中的成分组(Constituent Group, CG) {L, R}是满足以下条件的一个区域:1) 1≤L <R ≤N, N 为句子中的词总数。
2) L ∈ LPL ,R ∈ RPL 。
3) 不存在IC=[i,j] ∈ ICS ,i ∈(L, R)且j ∉[L, R] 或者 i ∉[L, R]且j ∈(L, R)。
4) 存在IC=[k,m] ∈ ICS ,使得k = L, m=R 。
这里定义的成分组实际上就是句法分析树中一些特殊的直接成分。
由于它们一般具有很明显的词汇特征和结构特征,便于进行自动识别和人工标注,因此把对它们的辨识从完整的句法分析中分离了出来。