鄭燕娥,鄭志明
(1.仰恩大學(xué) 工程技術(shù)學(xué)院, 福建 泉州 362014; 2. 湄洲灣職業(yè)技術(shù)學(xué)院, 福建 莆田 351254)
?
基于GLR算法的英語長難句句法分析的探討
鄭燕娥1,鄭志明2
(1.仰恩大學(xué) 工程技術(shù)學(xué)院, 福建 泉州 362014; 2. 湄洲灣職業(yè)技術(shù)學(xué)院, 福建 莆田 351254)
[摘要]英語長難句是英漢翻譯的一大障礙點,其復(fù)雜結(jié)構(gòu)的有效識別和分析直接關(guān)系到英漢翻譯質(zhì)量?;诖?,對英語長難句的句法分析技術(shù)進行研究,提出基于GLR算法的長難句拆分策略。將長難句拆分為不同層次的片斷,利用GLR算法識別與分析各片斷中的簡單短語,提煉出句子的主干結(jié)構(gòu),為生成譯文做好鋪墊;同時對錯誤拆分的情形進行糾正,從而有效提高了句法分析的合理性。 實驗結(jié)果表明,該拆分策略在長難句的句子結(jié)果拆分上具有較好的合理性。
[關(guān)鍵詞]長難句拆分策略;GLR算法;句法分析
引言
當前兩大主流的句法分析技術(shù)為短語句法分析和依存句法分析。前者以短語結(jié)構(gòu)分析為主,后者側(cè)重于分析句子成分構(gòu)成以及各句子成分之間的依存關(guān)系。歸結(jié)起來,句法分析的重點在于詞法、結(jié)構(gòu)消歧和分析句子成分構(gòu)成、上下文關(guān)系等。英語長難句分析的難點是如何確定句子主干結(jié)構(gòu)以及各修飾成分間的關(guān)系,而解決問題的最佳方法是對長難句進行拆分,拆分后的片斷長度變短且各片斷結(jié)構(gòu)相對簡單,為長難句句法分析提供了有利條件。
本文采用基于GLR算法的長難句拆分策略進行句法分析,其基本思想為:(1)對句子進行詞性標注。(2)依據(jù)語言學(xué)知識,確定并列連詞、從句引導(dǎo)詞以及相應(yīng)的標點符號為拆分點,精簡句子成分,將包含了拆分點但不應(yīng)該被拆分的句子成分進行合并,然后對合并后的句子成分進行詞性重新標注。(3)依據(jù)剩余的拆分點將長難句拆分為不同層次的片斷,多片斷并行操作有利于提高英漢翻譯的執(zhí)行效率。(4)利用GLR算法對各片斷中的簡單短語進行識別與分析,確定短語的中心詞,提煉出句子的主干結(jié)構(gòu),為生成譯文做好鋪墊。(5)用正則表達式匹配已歸類的錯誤情形,對錯誤拆分進行糾正,有效提高了句法分析的合理性。
1詞性標注
詞性也稱為詞類,在很大程度上能夠反映句子的結(jié)構(gòu)。詞性標注就是判定句子中每個詞的語法范疇、確定其詞性并進行恰當標記的行為[1]。詞性標注對長難句拆分時準確把握句子的結(jié)構(gòu)發(fā)揮了重要作用。下面是利用斯坦福大學(xué)研發(fā)的詞性標注工具對一個長句(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._.
其中單詞后面緊跟以“_”起始的大寫字母組合便是對應(yīng)單詞的詞性,詞性標注前預(yù)先進行詞性編碼,詞性編碼如下所示。
介詞——IN 連詞——CC 引導(dǎo)詞——WDT 定冠詞——DE
名詞——NN、NNS(名詞單復(fù)數(shù))、NNR、NNRS(專有名詞單復(fù)數(shù))
形容詞——JJ、JJR(比較級)、JJS(最高級)
副詞——RB、RBR(比較級)、RBS(最高級)
動詞——VB、VBD(過去式)、VBN(過去分詞)、VBG(現(xiàn)在分詞)、
VBZ(一般現(xiàn)在時第三人稱)、VBP(一般現(xiàn)在時非第三人稱)
代詞——PRP(人稱代詞)、PRP$(物主代詞)
2合并不應(yīng)該被拆分的句子成分
根據(jù)語言學(xué)知識,將拆分點大致分為三大類:標點符號、并列連詞和從句引導(dǎo)詞。標點符號主要包含逗號、冒號、分號,但句號、括號、引號、問號、感嘆號除外;并列連詞指的是表示并列、轉(zhuǎn)折、選擇、因果等關(guān)系的單連詞或復(fù)合連詞,如but、or、so that等;從句引導(dǎo)詞如which、in which、that等。對包含拆分點但不應(yīng)該被拆分的固定搭配詞組以及簡單短語(比如名詞性短語、形容性短語、動副短語等),采用正則表達式與相應(yīng)的模式庫進行模式匹配,如果匹配,則將相應(yīng)成分合并為僅帶一個詞性的“詞”,實現(xiàn)簡化句子結(jié)構(gòu)和減少誤拆。下面是某個句子的部分成分合并后的形式:
such|as_COM milk,|bread,|card|and|flower_NN
其中as可作連詞,屬于拆分點,那么such as之間有可能被拆分,milk,bread,card and flower 也包含了拆分點(逗號和連詞and),也有可能被拆分,由于such as是固定搭配、用逗號和and連接的幾個名詞是名詞性短語不應(yīng)該被拆分,所以將他們分別合并為一個詞,COM和NN為他們合并后的詞性。
3句子拆分
經(jīng)過初步處理影響拆分合理性的一些因素,依據(jù)剩余的拆分點將長難句拆分為不同層次的片斷。表示邏輯關(guān)系的并列連詞拆分得到的片斷的層次級別比從句引導(dǎo)詞高,對于從句中包含子從句,則依據(jù)句子邏輯順序劃分相應(yīng)的子層,多片斷并行操作有利于提高英漢翻譯的執(zhí)行效率,然而拆分后的片斷不能保證都滿足合理性要求。例如,Eg1例子經(jīng)初步合并成分后按剩余拆分點可劃分為6個片斷,其中片斷④是誤拆,因為and可連接兩個并列句子或并列詞組,如果連接的是兩個并列詞組,則不應(yīng)當被拆分。句子拆分的層次結(jié)構(gòu)圖如圖1所示。
4短語識別與分析——GLR算法
GLR算法是一種擴充的LR分析算法,引入圖棧和分析森林有效解決了LR算法無法處理的歧義問題,而且其分析速度較快,在簡單句法分析上具有很大的優(yōu)勢。
本文利用GLR算法對各片斷中的簡單短語進行識別與分析,簡單短語一般是以名詞相關(guān)的短語或動詞性短語為主,因而構(gòu)造兩個多出口的分析表分別用于分析這兩大類短語,通過引入符號映射實現(xiàn)短語邊界的自動識別,確定短語的中心詞,提煉出句子的主干結(jié)構(gòu),為生成譯文做好鋪墊。
GLR算法基于擴充的上下文無關(guān)文法[2],是一個五元式 G= (VT,VN,VF,P,S),其中VT為非空有限終結(jié)符集;VN為非空有限非終結(jié)符集,且VT與VN的交集為空;VF為約束函數(shù)集,是一個非空有限集,只有當條件滿足時才能用產(chǎn)生式進行規(guī)約;P為產(chǎn)生式集,且P→
GLR算法分析的步驟[3]如下:
(1)初始化。狀態(tài)O入棧,分析指針指向待分析的輸入符號,清除終止標志。
(2)符號映射。如果沒有終止標志,利用映射函數(shù)將當前輸入符號映射為分析表終止符。
(3)查ACTION表判定下一個動作將執(zhí)行哪種操作:
①如果是移進,則將當前狀態(tài)及當前符號入棧,分析指針下移;
②如果是規(guī)約,則調(diào)用約束函數(shù)檢查是否滿足規(guī)約條件,若條件滿足,則構(gòu)造從符號棧彈出的節(jié)點所組成的句法樹,并將其壓入符號棧,然后將狀態(tài)棧中的各中間狀態(tài)彈出,通過查看GOTO表,將新狀態(tài)壓入狀態(tài)棧,同時將中心詞指針指向相應(yīng)的中心詞,若條件不滿足,則設(shè)置終止標志;
③如果是終止,指的是指針對分析表終結(jié)符的“報錯”,不屬于分析失敗,把當前輸入字符重新映射到分析表終止符后繼續(xù)分析,然后設(shè)置終止標志;
④如果是接受,則可識別的短語完成分析,將符號棧頂句法樹彈出,返回;⑤如果是出錯,指的是指針對分析表終止符的“報錯“,屬于分析失敗,恢復(fù)初始狀態(tài),返回;
(4)依次繼續(xù)執(zhí)行下一個動作,直到分析結(jié)束。
5糾正錯誤拆分
長難句的錯誤拆分主要歸因于片斷邊界的錯誤識別,通常出現(xiàn)在標點符號處、and或or處、連接詞處、從句右邊界處。本文通過對錯誤情形的分析和歸類,選定6個語言學(xué)特征作為判定的依據(jù),它們分別為:句子的長短、是否以標點結(jié)尾、是否以 and 或 or 起始、是否含有謂語動詞、是否以連詞起始、是否以引導(dǎo)詞起始。如果符合錯誤拆分的情形,則將相應(yīng)的片斷進行合并,實現(xiàn)了錯誤拆分的糾正,進而提高句法分析的合理性。 錯誤拆分部分情形如表1所示。
表1錯誤拆分部分情形及糾正方法
6實驗結(jié)果分析
為驗證拆分策略的有效性,本文利用Java語言編寫測試代碼,建立詞庫,該詞庫中包含了5張表,分別用于存儲四六級單詞、固定搭配、拆分點、名詞性相關(guān)短語、動詞性短語。從新視野大學(xué)英語讀寫教程第一冊課本中挑選100個長難句進行測試,分別將成分合并、拆分得到的片斷、錯誤拆分糾正、句子主干結(jié)構(gòu)等信息輸出。通過分析與統(tǒng)計,得到實驗結(jié)果如表2所示。
其中識別總數(shù)為利用正則表達式進行詞庫匹配得到的全部的句子成分的數(shù)量,實際存在數(shù)為長難句中實際存在的句子成分的數(shù)量,正確識別數(shù)為程序正確識別出的句子成分的數(shù)量;正確率=正確識別數(shù)/識別總數(shù)*100%,召回率=正確識別數(shù)/實際存在數(shù)*100%。實驗結(jié)果表明,基于GLR的拆分策略在長難句的句子結(jié)構(gòu)拆分上具有較好的合理性。
表2 實驗結(jié)果
7結(jié)語
本文主要針對長難句復(fù)雜結(jié)構(gòu)進行簡化分析,利用GLR算法對片斷中的短語進行識別和分析,確定其中心詞,為生成譯文做好鋪墊,同時對錯誤拆分的情形進行糾正,能夠提高句法分析的合理性,為譯文生成合理框架提供借鑒。英漢句式結(jié)構(gòu)存在差異[4],因而規(guī)定符合漢語表達習(xí)慣的譯文規(guī)則極其關(guān)鍵,今后會將對長難句生成譯文規(guī)則進行深入研究,進一步完善句法分析的形式化理論體系。
[參考文獻]
[1]左軍軍.英漢機器翻譯中長句分析技術(shù)的研究[D].遼寧:沈陽航空航天大學(xué),2013.
[2]朱敬國,吐爾根-依布拉音,張路等.基于GLR算法的維吾爾語句法分析研究[J].現(xiàn)代計算機,2011(4):19-22.
[3]郭永輝,吳保民,王炳錫.一個基于GLR算法的英漢機器翻譯淺層句法分析器[J].計算機工程與應(yīng)用,2004(34):124-129.
[4]支風寧.英漢句式結(jié)構(gòu)對比[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—),女,福建仙游人,講師,主要從事數(shù)據(jù)庫與數(shù)據(jù)挖掘、智能算法研究。
[基金項目]2013年度仰恩大學(xué)科研培育計劃項目課題(KJ20143009)
[收稿日期]2015-02-25