肖欣延,劉 洋,劉 群,林守勛
(1.中國科學院 計算技術研究所 智能信息處理重點實驗室,北京100190;2.中國科學院 研究生院,北京100190)
層次短語模型[1-2]是目前統(tǒng)計機器翻譯最好的模型之一。它簡潔有效,在統(tǒng)計機器翻譯中得到了廣泛的應用。這種模型使用同步上下文無關文法(SCFG)形式的規(guī)則進行翻譯。SCFG規(guī)則將其左步重寫為右部,其中右部包含對齊的兩個部分:翻譯的源語言端及翻譯的目標語言端。在本文中,我們將用中文端和英文端來表示這兩個部分。SCFG規(guī)則既包含完全詞匯化的規(guī)則,相當于短語模型[3]中所使用的短語;同時也包括含變量的規(guī)則。我們分別稱這兩種規(guī)則為短語規(guī)則及泛化規(guī)則。如表1所示,規(guī)則(1)的中文端和英文端都是詞語,因此是短語規(guī)則;規(guī)則(2)是包含一個變量的泛化規(guī)則;而規(guī)則(3~5)則是包含兩個變量的泛化規(guī)則。
表1 SCFG規(guī)則
層次短語既能捕捉短距離調序,也能捕捉長距離調序。短距離調序主要通過短語規(guī)則來實現,而長距離調序則由泛化規(guī)則來捕捉。比如規(guī)則(4),變量X1在中文端處于“舉行”之前,在英文端它的位置被調整到X2之后。因為變量能夠覆蓋較長的短語塊,使用這樣的規(guī)則就能實現長距離的調序。
然而,由于泛化規(guī)則中的變量能夠匹配任意的短語片段,因此在翻譯過程中引起了較大的歧義。圖1顯示翻譯中文片段“與 沙龍 舉行 會談”時使用的兩種調序選擇。X1泛化了(與 沙龍,with Sharon)的短語對;X2泛化了(會談,a talk)的短語對。雖然規(guī)則(3)、(4)都能夠匹配該中文片段,但翻譯效果迥異。規(guī)則(3)并不改變詞語的中文端和英文端的相對位置關系;而規(guī)則(4)則大幅度調整X1所覆蓋的短語片段在英文端的位置。從語言學的角度來分析,規(guī)則(3)認為X1是名詞性的成分,英文翻譯應位于動詞“held”之前;而規(guī)則(4)則將X1作為補語,因此在英文端應該位于動詞“held”后面。在當前的上下文中顯然使用規(guī)則(4)更為合適。然而規(guī)則(3)在訓練語料中十分常見,導致第一種翻譯被選擇的可能性更高。通過分析可以發(fā)現,調序與變量所覆蓋的短語片段是相關的。事實上,短語調序模型上的工作[4-7]已經表明,詞匯化的信息對調序十分重要。
圖1 兩種調序選擇
為此我們提出面向層次短語模型的詞匯化調序方法。我們在規(guī)則上定義了四種調序關系,并使用變量所泛化的短語片段的邊界詞信息來估計調序關系的概率。在判別式模型[8]的框架下,我們訓練若干詞匯化調序模型并以特征的方式融入到基準系統(tǒng)中,以達到消解調序歧義的目的。在大規(guī)模語料的漢語到英語的翻譯評測任務中,我們的方法在NIST 2003-2005 測試數據上獲得了 0.6~1.2 BLEU[9]值的提高。
文章的組織結構如下:第2節(jié)簡述詞匯化調序模型的相關工作;第3節(jié)詳細介紹面向層次短語模型的詞匯化調序方法。首先定義調序關系;然后介紹詞匯化調序模型;第4節(jié)描述實驗設置和結果;最后是總結和展望。
調序是機器翻譯中非常重要的子問題之一,很多研究者對這個問題進行了深入的研究。常見的詞匯化調序模型主要出現在短語模型[4-7]中,包括基于詞[5-6]、基于短語[4]、基于層次化短語[7]的調序。特別注意的是,這里所說的基于層次化短語的調序,并非指該模型使用了類似層次短語模型的SCFG規(guī)則進行調序,而是該模型解碼時通過移近—規(guī)約的算法以支持任意長度短語的調序。根據當前短語對與前面短語對之間的位置關系,這些模型使用三種調序方向:單調(Monotone);交換(Swap);非連續(xù)(Discontinuous)。
如圖2(a)所示,基于詞的調序模型[5-6]分析位置(s-1,u-1)與(s-1,v+1)的關系。因為(s-1,v+1)沒有詞語對齊,bp的調序方向定義為非連續(xù)?;诙陶Z的調序[4]判斷當前短語對與位于(s-1,v+1)的臨近短語對的關系,并將這里的調序方向定義為交換調序。層次化的短語調序模型[7]不需要限制短語的最大長度。這種方法將圖2(b)定義為交換調序。
圖2 短語模型中的詞匯化調序
基于ITG模型的句法也使用詞匯化信息[10]。該方法考慮正序和逆序兩種調序規(guī)則,并將這兩種調序轉化為分類問題,而分類使用短語的邊界詞作為特征,并在詞語對齊語料上訓練最大熵分類器?;谝?guī)則類型選擇(Rule Pattern Selection)的工作[11-12]將詞匯化信息引入到了層次短語中,文章[11]根據規(guī)則的類型(包括變量數目,是否調序)進行分類,分類時使用詞匯化的信息。直接應用這種方法到層次短語系統(tǒng)中將導致大量的分類器[11],文章[12]將規(guī)則簡化為七種源端類型、17種目標端類型。因此這種方法受限于規(guī)則的種類,難于擴展到規(guī)則類型復雜的翻譯模型上(如句法模型)。本文所使用方法的不同之處在于,本文直接定義變量的調序方向,因而模型更為簡單緊湊,并且不受規(guī)則類型數量的影響。
由于翻譯模型的不同,短語模型的調序方向不能直接用于層次短語翻譯中。這里首先舉例說明本文使用的調序方向。層次短語的調序都是通過規(guī)則完成,我們只需定義規(guī)則的調序就能直接獲得翻譯的調序。本文的調序僅考慮變量與前后詞語的位置關系,因此只需分析泛化規(guī)則。這主要是由于短語規(guī)則本身就是完全詞匯化,其調序并沒有歧義性。同時本文僅區(qū)分單調(Monotone)及交換(Swap)兩種調序方向。單調調序是指詞語在中文端英文端的相對位置并不改變,而交換調序則表示相對位置發(fā)生了變化,如圖3所示。圖3是使用規(guī)則(5)進行翻譯時的調序情況。變量X1與其前面的短語對(布什,Bush)在中文端和英文端的位置關系都是一致,因此是單調調序。而X1相對于短語對(舉行,held)則發(fā)生變化。雖然X1在中文端位于“舉行”之前,然而在英文端X1的位置被調整到了“held”的后面,因此這里的調序是交換調序。同樣的X2與“舉行”則是單調調序。具體的從圖上來看,如果變量的對齊連線與詞語的對齊連線并不交叉,則兩者的調序關系是單調,否則為交換調序。
圖3 使用規(guī)則(5)進行翻譯的調序情況
形式化上,給定一個規(guī)則及其詞語對齊關系a={(i,j)},根據變量與源端鄰接詞語的位置關系,我們定義了四種調序關系。需要注意的是,這里的對齊包含變量的對齊。變量必然是一對一的對齊,而中文端的一個詞語則可以對應多個英文單詞。變量的對齊表示為(ix,jx);源端詞語的對齊為aw={(iw,jw)};源端鄰接單詞用 W 表示。我們考慮兩種情況,前一個詞(-1),后一個詞(+1);調序方向用O表示,共兩種情況單調(M)和交換(S)。根據 W、O的取值情況,我們定義四種調序關系:
我們通過變量所泛化短語的邊界詞估計上述四種調序關系的概率。一個變量在中文端和英文端共有四個邊界詞分別是:中文端左邊界詞(flb);中文端右邊界詞(frb);英文端左邊界詞(elb);英文端右邊界詞(rlb)。如圖3中變量X1四個邊界詞分別是:flb=與;frb=沙龍;elb=with;erb=sharon。我們按照如下方式估計變量X1與前一個詞“布什”的調序的概率:
P(O|W=-1,flb=與,frb=沙龍,elb=with,erb=sharon)
類似的,X1與“舉行”、X2與“舉行”調序的概率則為:
P(O|W=+1,flb=與,frb=沙龍,elb=with,erb=sharon)
P(O|W=-1,flb=會談,frb=會談,elb=a,erb=talk)
給定變量的邊界詞以及變量與鄰接詞語的調序方向。我們估計參數 P(O|W,flb,frb,elb,erb)。這組參數同時考慮中文端和目標端的邊界詞語。到目前為止,我們僅說明了規(guī)則上的調序情況。完整的詞匯化模型是定義在推導上的。所謂的推導就是生成翻譯結果的整個規(guī)則序列。這里的調序模型區(qū)分鄰接詞語的位置,因此共有兩個調序模型。具體定義如下。
· 與左邊鄰接詞語的調序模型:
· 與右邊鄰接詞語的調序模型:
其中D表示推導,r表示規(guī)則,x表示r中的變量。
我們還估計其他兩組類似的參數P(O|W,flb,frb);P(O|W,elb,erb),這兩組參數僅依賴與中文端的邊界詞或者英文端的邊界詞。這兩組參數可以看作對P(O|W,flb,frb,elb,erb)的回退。因為這三組參數十分相似,在下文中我們僅說明第一組參數。
概率估計。我們使用詞語對齊的語料來估計參數。當一個規(guī)則被抽取的時候,同時記錄各種調序實例,以此來估計參數。如圖3所示,當規(guī)則(5)被抽取的時候,記錄如下的實例:
· O=M,W=-1,flb=與,frb=沙龍,elb=with,erb=sharon
· O=S,W=+1,flb=與,frb=沙龍,elb=with,erb=sharon
· O=S,W=-1,flb=會談,frb=會談,elb=a,erb=talk
顯然這些實例能夠直接在規(guī)則抽取過程中同時被抽取。這里不再贅述。當抽取完實例后,就可以直接用這些實例來估計上述的條件概率。我們使用加0.1的平滑來估計參數。
解碼時使用參數。在對數線性模型的框架下,我們將詞匯化調序概率的對數值以特征的方式加入到基準系統(tǒng)中。參考Moses系統(tǒng)[6],我們也把每一種調序情況當作一個特征加入到系統(tǒng)中,即單調調序與交換調序各自作為一個特征,這里舉例說明與左邊鄰接詞語的調序模型中交換調序特征分數的公式:
考慮到有四種調序關系,每種關系有三組估計的方式,因此我們共添加了3×4=12個特征到基準系統(tǒng)中。在抽取規(guī)則的過程中,保留規(guī)則的詞語對齊信息,以便估計這些概率。當一個規(guī)則有多種對齊時,我們選擇最常見的一個。解碼過程中可能出現未發(fā)生事件。當出現這種情況時,我們認為兩種調序方向是等概率的,概率值都為0.5。特別注意的是,解碼過程中還將使用到粘貼規(guī)則(X→ <X1X2,X1X2>)。這個規(guī)則確定性的使用單調調序,因此并不估計這個規(guī)則中變量的調序。
實驗在漢語—英語方向上的翻譯進行。所使用的語料如下。
· 雙語語料。約155萬平行句對。這些句對來自LDC語料的部分子集,包括:LDC2002E18;LDC2003E07; LDC2003E14; LDC2004T07 Hansards部分;LDC2004T08以及 LDC2005T06。雙語語料用于抽取規(guī)則和訓練詞匯化調序模型。我們首先使用GIZAC++[13]工具獲得漢英、英漢兩個方向的詞語對齊,然后使用grow-diag-final-and[3]的啟發(fā)式方法獲得多對多的詞語對齊。規(guī)則抽取[2]及詞匯化模型訓練在多對多的詞語對齊數據上進行。
·單語語料。包含GIGAWORD語料的新華部分,包含約2.38億的英語單詞。我們使用SRILM[14]工具訓練四元的語言模型,使用Kneser-Ney平滑估計參數。
·評測語料。使用NIST2002年的評測語料(NIST02)作為開發(fā)集。2003~2005年的評測語料(NIST03-05)作為測試集。
我們使用最小錯誤率訓練[15]方法來優(yōu)化線性模型的參數。采用的評測指標是大小寫不敏感BLEU-4。所使用的解碼器是層次短語解碼器的C++重實現版本。該解碼器采用CKY方式進行解碼,并使用Cube-Pruning的方法進行減值減少搜索空間。實驗所使用的棧為100。
表2是實驗結果。從最后一行的漲幅中,可以清楚的看到詞匯化調序特征能夠穩(wěn)定的提高翻譯的效果,提高幅度從0.6到1.2個點,平均漲幅約0.9個點,實驗表明本文的方法是有效的。這也說明變量泛化的子短語的詞匯化信息有助于層次短語進行調序。雖然層次短語規(guī)則本身已經帶有一定的詞匯化信息,但是由于沒有考慮子短語的信息,因此歧義比較大。我們的詞匯化調序方法考慮了這一部分信息,因此一定程度上幫助系統(tǒng)在翻譯過程中選擇正確的調序方向。
表2 測試數據上的實驗結果
表3 兩個系統(tǒng)在NIST05測試集合上的結果
表4 不同參數組合對翻譯結果的影響
為了平衡翻譯速度和質量間的關系,層次短語模型對于規(guī)則(僅指從語料中抽取的規(guī)則)所能覆蓋的中文端長度進行了限制,傳統(tǒng)的設置為10。對于超過長度限制的短語都采用順序翻譯。表3比較了不同長度限制下,基準系統(tǒng)及加入詞匯化調序模型的系統(tǒng)在NIST05測試集上的結果。使用更大的長度限制,潛在的調序空間也就更大。使用更大的長度限制,兩個系統(tǒng)的BLEU值都有所增加,同時漲幅也就更大。這說明詞匯化調序特征在更大的調序空間有更好的效果,也進一步驗證了詞匯化信息對調序的重要性。
在文中我們使用了三種類型的參數P(O|W,flb,frb,elb,erb)、P(O|W,flb,frb)、P(O|W,elb,erb),分別記為all、src、trg。src、trg參數分別使用源端和目標端對all進行回退。一個有趣的問題是,哪種回退更為有效。為此我們比較了不同參數組合的翻譯效果。如表4所示,僅使用all參數能夠提高翻譯效果(第2行),但漲幅有限。當繼續(xù)增加src或者trg參數都能進一步提高效果(第3~4行),所以這兩種參數都是有用的。特別注意到在NIST03上,trg未能進一步提高效果,這可能與MERT權重優(yōu)化有關。此外,trg的效果通常比src好些,這說明目標端的信息比源端的信息更有用。最后,同時使用三種參數(第5行)效果最佳,這說明目標端與源端的信息都有用,它們的作用并不重疊。
本文提出了一種面向層次短語的詞匯化調序方法,使用詞匯化的信息幫助層次短語的調序,提高了翻譯的質量。本文的方法并不需要額外的數據集,簡單有效。將來我們希望將這些詞匯化的信息也用到其他模型中,比如基于語言學句法的模型[16-17]。我們也希望使用其他的訓練方法比如最大熵[10-11]來訓練詞匯化調序模型。最后希望將ITG逆序調序規(guī)則加入到層次短語翻譯中,將通過詞匯化模型來指導該規(guī)則的使用。
[1]David Chiang.A hierarchical phrase-based model for statistical machine translation[C]//Proceedings of the 43rd Annual Meeting of the Association for Computational Linguistics.2005:263-270.
[2]David Chiang.Hierarchical phrase-based translation[J].Computational Linguistics.2007,33(2):201-228.
[3]Philipp Koehn,Franz Joseph Och,Daniel Marcu.Statistical Phrase-Based Translation[C]//Proceedings of NAACL 2003.2003.
[4]Christoph Tillman.A unigram orientation model for statistical machine translation [C]//Proceedings of HLT-NAACL 2004:Short Papers.2004:101-104.
[5]Philipp Koehn,Amittai Axelrod,Alexandra Birch Mayne,et al.Edinburgh System Description for the 2005IWSLT Speech Translation Evaluation[C]//Proceedings of IWSLT 2005,2005.
[6]Philipp Koehn,Hieu Hoang,Alexandra Birch,et al.Moses:Open Source Toolkit for Statistical Machine Translation [C ]//Proceeding of ACL 2007,demonstration session.2007.
[7]Michel Galley,Christopher D.Manning.A simple and effective hierarchical phrase reordering model[C]//Proceedings of EMNLP 2008.2008:848-856.
[8]Franz Josef Och, Hermann Ney. Discriminative training and maximum entropy models for statistical machine translation [C ]//Proceedings of the 40thAnnual Meeting of the Association for Computational Linguistics.2002:295-302.
[9]Kishore Papineni,Salim Roukos,Todd Ward,et al.Bleu:a method for automatic evaluation of machine translation[C]//Proceedings of ACL 2002.2002.
[10]Deyi Xiong,Qun Liu and Shouxun Lin.Maximum Entropy Based on Phrase Reordering Model for Statistical Machine Translation [C]//Proceedings of ACL 2006,2006.
[11]Zhongjun He,Qun Liu,Shouxun Lin.Improving statistical machine translation using lexicalized rule selection[C]//Proceedings of EMNLP 2008,2008.
[12]Zhongjun He, Yao Meng, Hao Yu. Maximum Entropy Based Phrase Reordering for Hierarchical Phrase-based Translation [C ]//Proceedings of EMNLP 2010,2010.
[13]Franz Josef Och,Hermann Ney.A systematic comparison of various statistical alignment models[J].Computational Linguistics,2004,29(1):19-51.
[14]Andreas Stolcke.2002.Srilm-an extensible language modeling toolkit [C]//Proceedings of the 7th International Conference on Spoken Language Processing.2002:901-904.
[15]Franz Joseph Och.Minimum error rate training in statistical machine translation [C]//Proceedings of ACL 2003.2003.
[16]Yang Liu,Qun Liu,Shouxun Lin.Tree-to-String Alignment Template for Statistical Machine Translation[C]//Proceedings of ACL 2006.2006.
[17]Michel Galley,Jonathan Graehl,Kevin Knight,et al.Scalable Inference and Training of Context-Rich Syntactic Translation Models [C]//Proceedings of ACL 2006.2006.