基于GLR算法的英语长难句句法分析的探讨

2015-02-20 08:07郑燕娥郑志明
安阳师范学院学报 2015年2期

郑燕娥,郑志明

(1.仰恩大学 工程技术学院, 福建 泉州 362014; 2. 湄洲湾职业技术学院, 福建 莆田 351254)



基于GLR算法的英语长难句句法分析的探讨

郑燕娥1,郑志明2

(1.仰恩大学 工程技术学院, 福建 泉州 362014; 2. 湄洲湾职业技术学院, 福建 莆田 351254)

[摘要]英语长难句是英汉翻译的一大障碍点,其复杂结构的有效识别和分析直接关系到英汉翻译质量。基于此,对英语长难句的句法分析技术进行研究,提出基于GLR算法的长难句拆分策略。将长难句拆分为不同层次的片断,利用GLR算法识别与分析各片断中的简单短语,提炼出句子的主干结构,为生成译文做好铺垫;同时对错误拆分的情形进行纠正,从而有效提高了句法分析的合理性。 实验结果表明,该拆分策略在长难句的句子结果拆分上具有较好的合理性。

[关键词]长难句拆分策略;GLR算法;句法分析

引言

当前两大主流的句法分析技术为短语句法分析和依存句法分析。前者以短语结构分析为主,后者侧重于分析句子成分构成以及各句子成分之间的依存关系。归结起来,句法分析的重点在于词法、结构消歧和分析句子成分构成、上下文关系等。英语长难句分析的难点是如何确定句子主干结构以及各修饰成分间的关系,而解决问题的最佳方法是对长难句进行拆分,拆分后的片断长度变短且各片断结构相对简单,为长难句句法分析提供了有利条件。

本文采用基于GLR算法的长难句拆分策略进行句法分析,其基本思想为:(1)对句子进行词性标注。(2)依据语言学知识,确定并列连词、从句引导词以及相应的标点符号为拆分点,精简句子成分,将包含了拆分点但不应该被拆分的句子成分进行合并,然后对合并后的句子成分进行词性重新标注。(3)依据剩余的拆分点将长难句拆分为不同层次的片断,多片断并行操作有利于提高英汉翻译的执行效率。(4)利用GLR算法对各片断中的简单短语进行识别与分析,确定短语的中心词,提炼出句子的主干结构,为生成译文做好铺垫。(5)用正则表达式匹配已归类的错误情形,对错误拆分进行纠正,有效提高了句法分析的合理性。

1词性标注

词性也称为词类,在很大程度上能够反映句子的结构。词性标注就是判定句子中每个词的语法范畴、确定其词性并进行恰当标记的行为[1]。词性标注对长难句拆分时准确把握句子的结构发挥了重要作用。下面是利用斯坦福大学研发的词性标注工具对一个长句(Eg1)中每个词进行词性标注后得到的形式:

Eg1: In_IN the_DE online_JJ classroom_NN,_, people_NN communicate_VB with_IN each_PRP other_PRP mainly_RB?by_IN writing_VBG and_IN voice_NN chat_NN,_,?but_CC it_RPP$is_VB very_RB important_JJ that_WDT students_NN have_VB no_JJ difficulty_NN using_VBG writing_NN to_IN express_VB their_PRP opinions_NNS._.

其中单词后面紧跟以“_”起始的大写字母组合便是对应单词的词性,词性标注前预先进行词性编码,词性编码如下所示。

介词——IN 连词——CC 引导词——WDT 定冠词——DE

名词——NN、NNS(名词单复数)、NNR、NNRS(专有名词单复数)

形容词——JJ、JJR(比较级)、JJS(最高级)

副词——RB、RBR(比较级)、RBS(最高级)

动词——VB、VBD(过去式)、VBN(过去分词)、VBG(现在分词)、

VBZ(一般现在时第三人称)、VBP(一般现在时非第三人称)

代词——PRP(人称代词)、PRP$(物主代词)

2合并不应该被拆分的句子成分

根据语言学知识,将拆分点大致分为三大类:标点符号、并列连词和从句引导词。标点符号主要包含逗号、冒号、分号,但句号、括号、引号、问号、感叹号除外;并列连词指的是表示并列、转折、选择、因果等关系的单连词或复合连词,如but、or、so that等;从句引导词如which、in which、that等。对包含拆分点但不应该被拆分的固定搭配词组以及简单短语(比如名词性短语、形容性短语、动副短语等),采用正则表达式与相应的模式库进行模式匹配,如果匹配,则将相应成分合并为仅带一个词性的“词”,实现简化句子结构和减少误拆。下面是某个句子的部分成分合并后的形式:

such|as_COM milk,|bread,|card|and|flower_NN

其中as可作连词,属于拆分点,那么such as之间有可能被拆分,milk,bread,card and flower 也包含了拆分点(逗号和连词and),也有可能被拆分,由于such as是固定搭配、用逗号和and连接的几个名词是名词性短语不应该被拆分,所以将他们分别合并为一个词,COM和NN为他们合并后的词性。

3句子拆分

经过初步处理影响拆分合理性的一些因素,依据剩余的拆分点将长难句拆分为不同层次的片断。表示逻辑关系的并列连词拆分得到的片断的层次级别比从句引导词高,对于从句中包含子从句,则依据句子逻辑顺序划分相应的子层,多片断并行操作有利于提高英汉翻译的执行效率,然而拆分后的片断不能保证都满足合理性要求。例如,Eg1例子经初步合并成分后按剩余拆分点可划分为6个片断,其中片断④是误拆,因为and可连接两个并列句子或并列词组,如果连接的是两个并列词组,则不应当被拆分。句子拆分的层次结构图如图1所示。

4短语识别与分析——GLR算法

GLR算法是一种扩充的LR分析算法,引入图栈和分析森林有效解决了LR算法无法处理的歧义问题,而且其分析速度较快,在简单句法分析上具有很大的优势。

本文利用GLR算法对各片断中的简单短语进行识别与分析,简单短语一般是以名词相关的短语或动词性短语为主,因而构造两个多出口的分析表分别用于分析这两大类短语,通过引入符号映射实现短语边界的自动识别,确定短语的中心词,提炼出句子的主干结构,为生成译文做好铺垫。

GLR算法基于扩充的上下文无关文法[2],是一个五元式 G= (VT,VN,VF,P,S),其中VT为非空有限终结符集;VN为非空有限非终结符集,且VT与VN的交集为空;VF为约束函数集,是一个非空有限集,只有当条件满足时才能用产生式进行规约;P为产生式集,且P→,D∈(VT∪VN)+,D为产生式右部符号串,T∈(VT∪VN),T是产生式的中心符号,M∈VF, VF对T进行词性、语义特征进行检测,当栈顶符号串能规约为P时,指定其中心符号为T ;S为起始符号集,S∈VN。

GLR算法分析的步骤[3]如下:

(1)初始化。状态O入栈,分析指针指向待分析的输入符号,清除终止标志。

(2)符号映射。如果没有终止标志,利用映射函数将当前输入符号映射为分析表终止符。

(3)查ACTION表判定下一个动作将执行哪种操作:

①如果是移进,则将当前状态及当前符号入栈,分析指针下移;

②如果是规约,则调用约束函数检查是否满足规约条件,若条件满足,则构造从符号栈弹出的节点所组成的句法树,并将其压入符号栈,然后将状态栈中的各中间状态弹出,通过查看GOTO表,将新状态压入状态栈,同时将中心词指针指向相应的中心词,若条件不满足,则设置终止标志;

③如果是终止,指的是指针对分析表终结符的“报错”,不属于分析失败,把当前输入字符重新映射到分析表终止符后继续分析,然后设置终止标志;

④如果是接受,则可识别的短语完成分析,将符号栈顶句法树弹出,返回;⑤如果是出错,指的是指针对分析表终止符的“报错“,属于分析失败,恢复初始状态,返回;

(4)依次继续执行下一个动作,直到分析结束。

5纠正错误拆分

长难句的错误拆分主要归因于片断边界的错误识别,通常出现在标点符号处、and或or处、连接词处、从句右边界处。本文通过对错误情形的分析和归类,选定6个语言学特征作为判定的依据,它们分别为:句子的长短、是否以标点结尾、是否以 and 或 or 起始、是否含有谓语动词、是否以连词起始、是否以引导词起始。如果符合错误拆分的情形,则将相应的片断进行合并,实现了错误拆分的纠正,进而提高句法分析的合理性。 错误拆分部分情形如表1所示。

表1错误拆分部分情形及纠正方法

6实验结果分析

为验证拆分策略的有效性,本文利用Java语言编写测试代码,建立词库,该词库中包含了5张表,分别用于存储四六级单词、固定搭配、拆分点、名词性相关短语、动词性短语。从新视野大学英语读写教程第一册课本中挑选100个长难句进行测试,分别将成分合并、拆分得到的片断、错误拆分纠正、句子主干结构等信息输出。通过分析与统计,得到实验结果如表2所示。

其中识别总数为利用正则表达式进行词库匹配得到的全部的句子成分的数量,实际存在数为长难句中实际存在的句子成分的数量,正确识别数为程序正确识别出的句子成分的数量;正确率=正确识别数/识别总数*100%,召回率=正确识别数/实际存在数*100%。实验结果表明,基于GLR的拆分策略在长难句的句子结构拆分上具有较好的合理性。

表2 实验结果

7结语

本文主要针对长难句复杂结构进行简化分析,利用GLR算法对片断中的短语进行识别和分析,确定其中心词,为生成译文做好铺垫,同时对错误拆分的情形进行纠正,能够提高句法分析的合理性,为译文生成合理框架提供借鉴。英汉句式结构存在差异[4],因而规定符合汉语表达习惯的译文规则极其关键,今后会将对长难句生成译文规则进行深入研究,进一步完善句法分析的形式化理论体系。

[参考文献]

[1]左军军.英汉机器翻译中长句分析技术的研究[D].辽宁:沈阳航空航天大学,2013.

[2]朱敬国,吐尔根-依布拉音,张路等.基于GLR算法的维吾尔语句法分析研究[J].现代计算机,2011(4):19-22.

[3]郭永辉,吴保民,王炳锡.一个基于GLR算法的英汉机器翻译浅层句法分析器[J].计算机工程与应用,2004(34):124-129.

[4]支风宁.英汉句式结构对比[J].外语研究,2012(2):305-306.

[责任编辑:D]

English Long Sentence Syntactic Analysis based on GLR Algorithm

ZHENG Yan-e1, ZHENG Zhi-ming2

(1.YangEn University, Quanzhou 362014,China;

2.MeiZhouWan Vocational Technology College, Putian 351254,China)

Abstract:English long sentence is a big obstacle point in English Chinese translation,the effective identification and analysis of its complex structure directly related to the quality of English Chinese translation. Based on this,this paper researches on the syntax analysis technology of English long sentence, and proposes long sentence split strategy based on GLR algorithm. Long sentence will be split into different levels of fragments,and it uses GLR algorithm to identify and analyze the simple phrases in each fragment and then extracts the main sentence structure, paves the way for the target language generation;At the same time it corrects the cases of error split, so it effectively improves the rationality of syntactic analysis.The experimental results show that, the split strategy in long sentence structure split has better rationality.

Key words:long sentence splitting strategy;GLR algorithm;syntax analysis

[中图分类号]TP391.1

[文献标识码]A

[文章编号]1671-5330(2015)02-0032-04

[作者简介]郑燕娥(1981—),女,福建仙游人,讲师,主要从事数据库与数据挖掘、智能算法研究。

[基金项目]2013年度仰恩大学科研培育计划项目课题(KJ20143009)

[收稿日期]2015-02-25