浅层句法分析方法概述孙宏林俞士汶一、引言浅层句法分析(shallowparsing),也叫部分句法分析(partialparsing)或语块分析(chunkparsing),是近年来自然语言处理领域出现的一种新的语言处理策略。它是与完全句法分析相对的,完全句法分析要求通过一系列分析过程,最终得到句子的完整的句法树。而浅层句法分析则不要求得到完全的句法分析树,它只要求识别其中的某些结构相对简单的成分,如非递归的名词短语、动词短语等。这些识别出来的结构通常被称作语块(chunk),语块和短语这两个概念通常可以换用。浅层句法分析的结果并不是一棵完整的句法树,但各个语块是完整句法树的一个子图(subgraph),只要加上语块之间的依附关系(attachment),就可以构成完整的句法树。所以浅层句法分析将句法分析分解为两个子任务:(1)语块的识别和分析;(2)语块之间的依附关系分析。浅层句法分析的主要任务是语块的识别和分析。这样就使句法分析的任务在某种程度上得到简化,同时也利于句法分析技术在大规模真实文本处理系统中迅速得到利用。90年代以来,国外在英语的浅层句法方面做了不少工作,国内也有一些学者采用英语中的方法探索汉语的浅层句法分析。本文主要就在英语浅层句法分析中所应用的一些技术进行简要的介绍,并简单介绍汉语的有关研究。其中有些方法虽然是面向完全句法分析的,但由于其对完全句法分析的任务进行了分解,所以其技术也可以归入浅层分析的范畴。概括起来,句法分析的方法基本上可以分成两类:基于统计的方法和基于规则的方法。当然也可以采用规则和统计相结合的混合方法。下面第2节介绍基于统计的方法,第3节介绍基于规则的方法,第4节简要介绍汉语的有关研究,最后是结束语。二、基于统计的方法随着语料库技术的发展,近10年来许多统计方法被用在短语识别和分析方面。这些方法的理论主要来自概率统计和信息论。以下将介绍其中具有代表性的几种方法:(1)基于隐马尔科夫模型的方法;(2)互信息方法;(3)2统计方法;(4)基于中心词依存概率的方法。2.1基于隐马尔科夫模型(HMM)的方法隐马尔科夫模型(HiddenMarkovModels,HMMs)是从语音识别中发展出来的一种统计技术(Rabiner,1989),它提供了一种基于训练数据提供的概率自动构造识别系统的技术。一个隐马尔科夫模型包含两层:一个可观察层和一个隐藏层,这个隐藏层是一个马尔科夫过程,即是一个有限状态机,其中每个状态转移都带有转移概率。在语音识别中,可观察层是声音片段的序列,隐藏层是用音素序列表示的词的发音的有限状态模型。用口语录音片段及其转写(transcription)作为训练数据训练HMM,它就可以用作识别器,用于识别未训练过的声音片段,从而生成口语的转写形式。计算语言学家最早把HMM技术应用于英语的词性标注并取得了极大的成功,仅依靠简单的统计方法就可以达到95%左右的正确率。在词性标注中,可观察层是词的序列,隐藏层是词类标记的序列,训练数据是标注好词性的文本语料,经过训练的HMM就成为自动标注器,它可以给只包含词序列的文本中的每个词标注上词类标记。Church(1988)进一步把HMM用于识别英语中简单的非递归的名词短语,他把短语边界识别化为一个在词类标记对之间插入NP的左边界([)和NP的右边界(])的问题。如果不考虑空短语(即[])和短语的嵌套(如[[,]],][[等),那么在一对词类标记之间只有四种情况:(1)[;(2)];(3)][;(4)空(即无NP边界)。进一步可以把最后一种分为两种情况:(a)无NP边界但在NP之内(I);(b)无NP边界但在NP之外(O)。这样任意一对词类标记之间就只存在5种可能的状态:(1)[;(2)];(3)][;(4)I;(5)O。Church的方法是:首先,在标注词性的语料中人工或半自动标注NP边界,以此作为训练数据,然后统计出任意一对词类标记之间出现以上5种状态的概率。统计得到的概率就成为短语边界标注的根据。这实际上把短语边界的识别变成了一个与词性标注类似的问题。如:输入:$theprocecutorsaidinclosingthat(词序列)DTNNVBINNNCS(词性序列)输出:$,DTDT,NNNN,VBVB,ININ,NNNN,CS(词性标记对)||||||[I]O[](NP边界)2.2互信息方法互信息(mutualinformation)是信息论中的一个概念(Fano,1961),它用来度量一个消息中两个信号之间的相互依赖程度。二元互信息是两个事件的概率的函数:(1)我们可以把词类序列看成随机事件,这样就可以计算一对词类标记之间的互信息。如果X和Y在一起出现的机会多于它们随机出现的机会,则P(X,Y)P(X)×P(Y),即MI(X,Y)0;如果X和Y是随机分布的,则P(X,Y)≈P(X)×P(Y),即MI(X,Y)≈0;如果X和Y是互补分布的,则P(X,Y)P(X)×P(Y),即MI(X,Y)0。互信息值越高,X和Y组成短语的可能性越大,互信息值越低,X和Y之间存在短语边界的可能性越大。为了确定句子中短语的边界,不能局限于bigram(两个符号的组合)内部的互信息,需要看更多的上下文,即把二元互信息扩展为n-gram(n个符号的组合)内部的互信息。Magerman&Marcus(1990)提出了广义互信息(generalizedmutualinformation)的概念,它根据两个相邻的词类标记的上下文(在一个观察窗口内)来决定它们之间是否是一个短语边界所在。在下面的公式中,MI表示二元互信息,MIn是一个向量,它表示n-gram(x1…xn)中任意两个部分之间的互信息,表示这个向量中的第k个分量(1≤kn),它表示x1…xk和xk+1…xn之间的二元互信息。一个n-gram(x1…xn)内部有n-1个二分切分点,每一个切分点的二元互信息为:(x1…xn)=MI(x1…xk,xk+1…xn)(2)(3)在公式(3)中,对于每个(k=1,2,…,n-1),分子都相同,当分母最大时,互信息值最小。基于互信息的短语边界划分的理论基础是:在n-gram中,局部广义互信息值最小的一对标记之间就是短语边界所在的位置。理论推导参见Mamerman&Marcus(1990)。在n-gram(x1…xi,y1…yj)(1≤in,1jn,i+j=n)内部,以两个相邻的词类标记xi和y1之间为界,共有i×j个二元组合(bigram),要计算其间的互信息,应当综合考虑每一个bigram之间的二元互信息,因此产生了广义互信息的概念。广义互信息的计算公式是:(4)这里,GMIn(i+j)(x1…xi,y1…yj)表示在一个n-gram中两个相邻的元素xi和y1之间的广义互信息,X表示n-gram中以xi结束的词类标记串,Y表示n-gram中以y1开始的词类标记串。XY是XY中(|XY|=i+j,0ki+j)的标准差。2.32统计方法Gale&Church(1991)用2统计方法来度量两个词之间的关联度。Chen&Lee(1995)用这种方法来确定短语的边界。对于两个词w1和w2,可以建立如下的联立表(contingencytable):W2!W2ΣW1aba+b!W1cdc+dΣa+cb+da+b+c+d在上表中,a表示串w1w2出现的次数,b表示不在w1w2中的w1的出现次数,c表示不在w1w2中的w2的出现次数,d表示既不是w1又不是w2的词的次数。a+b是w1的出现次数,a+c是w2的出现次数,c+d是非w1的总词次,b+d是非w2的总词次,N=a+b+c+d表示语料库中的总词次。根据上面的联立表,2统计量定义如下:(5)当a=0时,2近于0,即当w1和w2从不共现时,2取极小值。当b=c=0时,2=1,即当w1和w2总是共现时,2取极大值。2值越大,说明w1和w2共现的机会越多,相反,2值越小,则说明w1和w2共现的机会越少。如果把上面的两个词换成两个词类标记,则可以进行标记对之间的2统计。进一步推广则可以在一个词类序列的两个子序列之间进行2统计。2.4基于中心词依存概率的方法Collins(1996)提出了一种基于分析树中中心词之间依存概率的统计分析算法,该方法的要点是:把分析树归结为一个非递归的基本名词短语(basenounphrase,简称baseNP)集合及依存关系的集合。在这些依存关系中,baseNP中除了中心词其他词都被忽略,所以依存关系就是baseNP的中心词和其他词之间的依存关系,依存概率可以通过树库中的统计得到。分析算法是一个自底向上的线图分析器,利用动态规划来查找训练数据中所有的依存关系空间。例如,由(a)中句子的分析树(b)可以得到baseNP的集合B及中心词之间的依存关系集合D(c)。(a)John/NNPSmith/NNP,the/DTpresident/NNof/INIBM/NNP,announced/VBDhis/PRP$resignation/NNyesterday/NN.(b)(S(NP(NPJohn/NNPSmith/NNP),(NP(NPthe/DTpresident/NN)(PPof/INIBM/NNP)),)(VPannounced/VBD(NPhis/PRP$resignation/NN)yesterday/NN).)(c)NPSVPVBDVPNPNPNPNPNPPPNPINPPNPVBDVPNP[JohnSmith][thepresident]of[IBM]announced[hisresignation][yesterday]B={[JohnSmith],[thepresident],[IBM],[hisresignation],[yesterday]}NPSVPNPNPNPNPNPPPINPPNPD={Smithannounced,Smithpresident,presidentof,ofIBM,VBDVPNPVBDVPNPannouncedresignation,announceyesterday}基于以上模型的分析器的分析过程可以描述如下:对于一个输入句,首先分析出其中的baseNP,然后根据训练数据中得到的依存概率计算各个依存关系集合的可能性,可能性最大的依存关系集合就成为句子成分结构的最佳估计。由于依存关系表示为一个三元组,因此依存关系集合和baseNP集合就可以映射为句子的短语结构树。Collins的算法是以大规模树库为基础的,而且以完全句法分析为目标。但这种方法以基本名词短语识别为前提,而且其利用具体词之间依存概率的思想和把短语归结为其中心词的思想对于部分句法分析也是很有借鉴意义的。三、基于规则的方法规则方法就是根据人工书写的或(半)自动获取的语法规则标注出短语的边界和短语的类型。根据标注策略的不同可以把规则方法分为两种:(1)增加句法标记法(incremental/constructiveapproach),即在词串中插入短语边界和短语类型等句法标记。(2)删除句法标记法(reductionistapproach),即从多个候选的句法标记中删除不合法的标记。3.1增加句法标记法增加句法标记的句法分析包括一个状态转换器(transducers)序列,转换器由正则式(regularexpression)构成,即语法规则是有限状态语法的形式。大部分的规则系统都采用这种方法,如Abney的语块分析系统CASS(Abney,1991,1996b),Mokhtar&Chanod(1997)等。下面以Abney的有限状态层叠(finite-statecascades)方法为例对此加以说明。有限状态层叠包括多个层级,分析逐层进行。每一级上短语的建立都只能在前一级的基础之上进行,没有递归,即任何一个短语都不包含同一级的短语或高一级的短语。分析过程包括一系列状态转换,用Ti表示。通常的状态转换操作的结果是在词串中插入句法标记,而有