基于语法功能匹配的自动句法分析研究
2015-01-07徐艳华
□徐艳华
基于语法功能匹配的自动句法分析研究
□徐艳华
词类体系的构建,对自动句法分析具有重要的作用。现有的词类体系主要是面向人的,面对计算机这个新的交际伙伴,其研究结果还显得有些粗糙。鉴于此,本文在详细描述3500个高频词的语法功能的基础上,按照“句法功能完全相同即为一类”的原则,构建真正适合自动句法分析的汉语词类体系。
语法功能 词类体系 句法分析
一、引言
在过去的语法研究中,有关现代汉语词类问题一直是语言学界关注的焦点。诸多语言学家曾投入大量精力进行深入研究,形成了现代汉语词类体系,但其主要是面向人的,面对计算机这个新的交际伙伴,其研究成果还显得有些粗糙。尤其是随着信息社会对信息自动化处理要求的不断提高,越来越需要计算机能对自然语言进行深层分析,比如文本校对、机器翻译、自动文摘等,而这些深层分析的实现大都离不开句法分析。一般来说,自动句法分析的操作对象是句子或短语的词类标记序列,“客观的句法分析只能根据词类的标记序列来推知句法结构,如果词类问题没有解决好,或者词类和句法分析脱钩,那就无法根据词类序列去分析句法结构,这样就会影响整个语法体系的科学性和实用价值。”①由此看来,要进行自动句法分析,除了要为计算机提供必要的语义知识、词语搭配知识以及关于客观世界的知识外,更重要的是要为其提供比较完备的语法知识,尤其是语法基础的词类知识。从20世纪80年代中后期开始直到现在,研究人员已经在汉语词语的语法功能分类和属性特征描述方面开展了卓有成效的工作,希望为计算机分析汉语句子结构打下很好的基础。但实际上,这个“基础”并不能真正满足计算机进行自动句法分析的需要。因为其分类并不是在详细考察每个词的语法功能的基础上进行的,所以,目前迫切需要解决的问题是对汉语实词的句法功能进行全面系统的考察。在这个考察的过程中得到的结果,不仅可以检验以往对词的语法知识的概括是否合适,从而进行相应的调整;而且可以根据统计分析的结果为自动句法分析构建比较合理的实词词类体系,这样的知识对于没有任何隐含知识的计算机来说是进行句法分析必不可少的。只有尽可能地把每类词的句法功能描述清楚,为计算机提供更加精细和完备的词类体系,才能指导它分析出正确的句子结构,给出正确的语义解释。从发展趋势来看,越来越多的高级自然语言处理应用系统的研究与开发,诸如信息提取、机器翻译等,也都离不开这样的语法知识的支持。因此,必须加大汉语语法研究的力度,加细语法刻画的颗粒度,构建真正适合自动句法分析的汉语词类体系。
二、现有词类体系对自动句法分析的局限性
从历史上看,汉语的词类体系是以印欧语语法的词类体系为蓝本的。尽管经过几代语言学家的研究,根据汉语的实际情况作了一些局部调整,比如增加了量词、助词和语气词,从形容词中分出区别词等等,这些局部调整的确不乏闪光之处,但是基本格局没有改变,依然无法摆脱模仿的痕迹。由于始终摆脱不掉印欧语词类体系的羁绊,所以最终导致汉语词类划分并不是严格地按照词的语法功能来进行的。特别是实词分类,似乎名词、动词、形容词是生来就有的、不必加以验证的词类。尽管说语言学界对词类问题进行过几次大讨论之后逐步达成共识,认识到语法功能是词类划分的唯一标准,但在实际操作中,这一标准并没有被真正彻底地贯彻。就现有的词类体系看,“不管哪种类型,也不管是哪个版本,无一不带有先验性。它们都不是对客观存在的词进行全面分析和全面归纳的产物,而是先由语法学家所构拟然后又由语法学家加以解说的框架,这样的框架必然带有语法学家的成见和缺陷。”②具体说来有这样几个方面:
1.每个词类到底有哪些语法功能,这一点很不明确,一般的语法书上仅列出几条“语法特征”。例如,说名词可以受数量结构修饰;不能受副词修饰;可以作主语、宾语等等,但即便是这几条特征也往往缺乏普遍性。
2.属于同一词类的词,其语法功能可能有很大差异。例如,“领导”可以作主语、宾语、定语、体词性偏正结构的中心语等,而名词“期间”只具备上述功能的最后一项。
3.不同词类的词,其语法功能也许反而相似。例如,形容词“富裕”跟动词“信任”,形容词“虚假”跟名词“实物”等等。
4.一些词的语法功能没有得到充分的描写。例如,“期间”用在体词性偏正结构中,另一直接成分通常是动词或动词性结构,把“期间”看作名词或现有词类体系中的其他词类都不太合适。
5.缺乏对词的各种语法功能的定量描写。例如,一个词能作主宾语的概率是多少,作谓语的概率是多少,这种数据对于自动句法分析很有用处。③
目前还只有对词类语法功能频率的一些小规模调查。这样粗糙的词类体系在句法分析中能起到多大作用呢?我们不妨举个例子来进行说明。例如“接待/v两/m位/q领导/n期间/n”这个短语,计算机在进行自动句法分析时,处理的是这样一个词类标记序列:
VT M Q N N
我们希望给计算机提供一套形如“NP+VP→S”的句法规则后,能够得到正确的句法分析结果,实际上这样的句法分析难度很大。任何一位读者,如果仅仅知道VT、M、Q、N分别代表及物动词、数词、量词、名词,不看具体的词语序列,都很难确定标记序列所对应的是哪一种句法结构,更何况是机器。对于这样的情况,计算机只能给出所有可能的句法结构。对于上述例子,在人看来是没有句法歧义的,因为人看到词语序列中的每个词语时都能激活头脑中跟具体词语相联系的许多知识,而在计算机看来却是充满歧义的。怎样才能使计算机在分析的过程中自动选择正确的结构分析,那就只能尽量为计算机所面对的每一个词类标记提供尽可能详细的信息。就现有的词类体系看,“领导”和“期间”的语法功能差别很大却给以相同的标记,这样粗糙的词类知识,难以有效地支持自动句法分析。诚然,自动句法分析中的歧义现象并非都是由语法方面的因素造成的,还有语义等其他方面的因素。所以我们构建的实词词类体系,并不奢望能解决自动句法分析中碰到的由于复杂语义和篇章层面等因素造成的诸多问题,只是期望对因句法关系的不同而产生的歧义能起到一定的作用。
三、基于语法功能统计的词类体系构建
对于计算机来说,面向人的词类体系还是比较粗糙和不完备的。为了解决自动句法分析过程中的一些问题,学者们也采取了一些补救措施,主要有两种:一是词类细化,进一步分出小类;二是建立语法词典,详细描写每个词的语法功能。但不管是传统语言学还是计算语言学,在研究汉语的词类问题上都存在一个不容忽视的缺陷,即没有对具体的词进行实际考察,而更多的依赖研究者所具备的语言知识。“大家都只举些典型例子,而一直没有人真正面对现代汉语千千万万个词一个一个地实际考察一下他们的使用情况,这样,大家都只能是纸上谈兵”④。所以,为了建立真正服务于自动句法分析的汉语词类体系, 我们对2000年《人民日报》中的前3500个高频词进行了句法分析。从2000年《人民日报》中为每个词随机抽取100个例句进行分析,详细统计每个词的语法功能,计算每个词各个功能的概率,按照“语法功能完全相同即为一类”的原则,对这3500个词进行了分类。按照“句法功能完全相同即为一类”的原则对3500个词进行分类,最终得到676类,其中一词一类的共有364类,两词一类的共有107类,三词以上同类的共有205类。
不同的词类之间,除了具有相互区别的特征外,彼此并不是毫无共性的。从语法功能的角度看,不同词类的共性体现在:异类之间具有相同的语法功能,比如,“庄严”属于类595、“继续”属于类58,尽管归属不同的类,但两者都可以作状语1,如“他庄严宣誓”“继续学习”。正因如此,我们在研究中才有可能根据需要,把某些个词合并为更大的类。
词类的个性,主要是指不同的类之间所具有的区别性特征,比如“方面”属于类88,只能作中心语1;“规模”能作中心语1,但它还能作“主语”等,所以它归属于类476。正因为如此,大类之下还可以继续细分小类。正如上例,我们可以根据“能否作主语”将都能作“中心语1”的类88和类476再细分两个小类。
本文是利用词类的共性和个性对所有的类别进行层级分类的。从表面看,分出的676类似乎在一个平面上,而实际上,既然可以根据某一标准将大类细分为小类、将小类归并成大类,也正说明分类系统具有层级性。
采用二分法对这676类进行了层级分类,“二分”的标准就是寻找能使大类基本上均衡地分为两个(或者更多)小类的某种功能,然后运用递归法,依次在每一小类中寻找能满足“二分”的功能,直到不能再细分为止。采用这种分层方法,最终可以自顶向下构建一棵形如图1的树形结构。
图1:
该图是我们所构建的树形图的前三层,由于叶子结点太多,不便一一列入图中,只能以点代面,来反映词类层级体系的整体面貌。图中的“+”表示具有该项功能,“-”表示不具有该项功能,每一层除了叶子结点外,每一个结点都是具有相似句法功能的类的集合。比如说第一层的左结点,就是一些能作谓语的类别。通过这样一个树形图,便于观察词类间的关系以及词类的系统性。
四、基于语法功能统计的词类体系对句法分析的作用
在根据语料统计的各个词的语法功能的基础上构建的词类体系对句法分析究竟能发挥哪些作用?从考察的结果看,它的优势主要表现在以下几个方面:
(一)能够客观反映汉语中词的多功能现象,降低句法分析的复杂度
为了将我们构建的词类体系跟现有的汉语词类体系加以区别,暂且将现有的词类体系称为旧语法体系,笔者构建的词类体系称为新语法体系。用新体系中每个词的句法功能总数除以旧体系中每个词的句法功能总数,就可以得出新旧体系句法功能的复杂对比度。对于新体系中每个词的句法功能总数,可以从句法功能表中统计得到,它包括从真实语料中统计到的功能数和研究者根据自己的知识储备内省出来的功能两个部分。对于旧体系中每个词的句法功能总数,我们是根据语料中某词所被赋予的词性标记来统计的。比如“幸福”在语料中被标注为“a”,在上文中已经汇总过,旧体系中形容词的句法功能有8种,那么就认为幸福有8种句法功能。尽管事实上“幸福”可能不具备形容词所具有的全部8种功能,但一旦给以标记“a”,计算机在进行分析时就可能要逐一检查这8种功能,用这8种功能分别与其后的某个词的所有功能进行匹配,直到分析成功。另外,其他一些词如“发展”在语料中被标注为“v”和“vn”,也就是认为动词具有名词的功能,这样的词在旧体系中的功能总数为动词和名词的功能总和。而在我们的统计过程中,“发展”不管标注为“v”还是“vn”,都是一个概括词,其所有的功能都看作是“发展”作为动词的使用情况。
我们对句法功能信息库中的3514个词的句法功能总数逐个进行了统计,两种体系的句法功能复杂度的对比结果如下表:
表1:新旧体系句法功能复杂度对比
从上表中可以看到,只有10.1%的词在新旧体系中的句法功能复杂度是相同的,而有84.1%的词在旧体系中的句法功能复杂度高于新体系。究其原因,主要是因为旧体系中,某类词内部的各成员,不管是具有1种句法功能还是具有8种句法功能,都会给以相同的标记,这样就夸大了词的多功能现象,增加了计算机进行句法分析时的负担。
(二)有利于句法分析中歧义结构消解
我们从清华大学100万字的汉语句法树库中提取了11,206个“v+v”序列和10,081个“v+n”序列进行了考察。前一种序列匹配后只有一种句法关系的有2679种组合模式,共10,296个实例,正确率分别为82.9%和91.9%;后一种序列匹配后只有一种句法关系的有1462种组合模式,共7189个实例,正确率分别为70.7%和71.3%。其他有两种以上句法关系的模板,尽管不能确定具体实例中究竟是哪种关系,但相对于旧体系来说,其歧义的数量大大减少了。统计结果表明,新体系在外显式歧义结构的消解和基本名词短语的识别方面都起到了很好的作用。
五、结语
自动句法分析中,计算机所需要的知识很多,句法信息再详细,也不能保证句法分析都能顺利进行,对于句法分析中的歧义问题更不会是“过关斩将”,一路通畅,它只能对某一类句法歧义起作用。所以,后期的工作要适当加入语义信息。
(本文得到教育部人文社科基金项目“基于语法功能匹配的自动句法分析研究”[编号:11YJC740118]的资助。)
注释:
①胡明扬《词类问题考察》,北京语言文化大学出版社,1996:1.
②邢福义《汉语语法学》,东北师范大学出版社,1996:294.
③陈小荷《从自动句法分析角度看现代汉语词类问题》,语言教学与研究,1999,(3):63.
④陆俭明《现代汉语语法研究教程》,北京大学出版社,2004:29.
[1]郭锐.现代汉语词类研究[M].北京:商务印书馆,2003.
[2]胡明扬.词类问题考察[M].北京:北京语言学院出版社,1996.
[3]胡明扬.语言学论文集[M].北京:商务印书馆,2003.
[4]刘顺.现代汉语名词的多视角研究[M].上海:学林出版社,2003.
[5]罗振声、袁毓林.计算机时代的汉语和汉字研究[M].北京:清华大学出版社,1996.
[6]莫彭龄、单青.三大类实词句法功能的统计分析[J].南京师大学报(社会科学版),1985,(3).
[7]彭睿.名词和名词的再分类[A].词类问题考察[C].北京:北京语言学院出版社,1996.
[8]史存直.句本位语法论集[M].上海:上海教育出版社,1996.
[9]张斌.汉语语法学[M].上海:上海教育出版社,2003.
[10]朱德熙.语法讲义[M].北京:商务印书馆,1982.
(徐艳华 山东烟台 鲁东大学文学院 264025)