蘇勁松,劉 群,呂雅娟
(1. 中國(guó)科學(xué)院 計(jì)算技術(shù)研究所 智能信息處理重點(diǎn)實(shí)驗(yàn)室,北京 100190;2. 中國(guó)科學(xué)院 研究生院,北京 100190)
統(tǒng)計(jì)機(jī)器翻譯近年來(lái)取得了巨大的發(fā)展,陸續(xù)出現(xiàn)了多種翻譯模型[1]。從翻譯基本單元來(lái)區(qū)分,模型主要可以分為下面三種: 基于“詞”的翻譯模型[2],基于“短語(yǔ)”的翻譯模型[3-4]和基于“句法”的翻譯模型[5-10]。后面兩種模型可以說(shuō)是當(dāng)前統(tǒng)計(jì)機(jī)器翻譯的主流模型,它們都采用了對(duì)數(shù)線性模型來(lái)融入多種特征。使用的特征主要包括翻譯概率特征,語(yǔ)言模型分?jǐn)?shù)特征,規(guī)則個(gè)數(shù)特征以及其他和具體模型相關(guān)的特征。在這些特征當(dāng)中,短語(yǔ)*這里的短語(yǔ)即翻譯規(guī)則,在層次短語(yǔ)中,即包括詞匯化規(guī)則,也包括泛化規(guī)則。翻譯概率特征衡量了在已知源短語(yǔ)f(目標(biāo)短語(yǔ)e)的情況下翻譯成目標(biāo)短語(yǔ)e(源短語(yǔ)f)的概率,該特征對(duì)機(jī)器翻譯的最終結(jié)果有著巨大影響。
傳統(tǒng)的短語(yǔ)翻譯概率估計(jì)采用了最大似然估計(jì)的方法。已知源短語(yǔ)f和目標(biāo)短語(yǔ)e,短語(yǔ)翻譯概率計(jì)算公式如下:
從上面公式,我們可以清楚地看到,公式(1)和(2)只統(tǒng)計(jì)了源短語(yǔ)f和目標(biāo)短語(yǔ)e滿足對(duì)齊一致性的情況。然而,在語(yǔ)料庫(kù)中,短語(yǔ)的分布情況卻并非如此。對(duì)于某個(gè)源短語(yǔ)f,并不一定存在滿足對(duì)齊一致性的目標(biāo)譯文;同樣,對(duì)于某個(gè)目標(biāo)短語(yǔ)e,也不一定存在滿足對(duì)齊一致性的源譯文。如圖1所示,我們列舉了兩個(gè)例子來(lái)闡述傳統(tǒng)估計(jì)方法的缺陷。
圖1 短語(yǔ)模型短語(yǔ)概率估計(jì)樣例圖
假設(shè)語(yǔ)料庫(kù)中只含有以上兩個(gè)句對(duì)(圖1)。在句對(duì)1中,我們可以抽取出雙語(yǔ)短語(yǔ)(“中國(guó)”,“China”),而在句對(duì)2中,源短語(yǔ)“中國(guó)”不存在滿足對(duì)齊一致性的譯文,因而不能抽取出合適的雙語(yǔ)短語(yǔ)。根據(jù)傳統(tǒng)的短語(yǔ)概率估計(jì)方法,我們可以得到p(“China”|“中國(guó)”)=1。這里需要注意的是,在句對(duì)2中,“中國(guó)”并不是沒(méi)有翻譯,它和“的”合并在一起,翻譯成目標(biāo)短語(yǔ)“Chinese”。傳統(tǒng)的短語(yǔ)概率估計(jì)方法并沒(méi)有考慮這種情況,因而會(huì)過(guò)高地估計(jì)源短語(yǔ)“中國(guó)”翻譯成目標(biāo)短語(yǔ)“China”的概率。在翻譯含有“中國(guó) 的”的新句子時(shí),翻譯模型會(huì)傾向于把所有出現(xiàn)的“中國(guó)”都翻譯成“China”,而不選擇由“中國(guó) 的”來(lái)翻譯成“Chinese”。因而,我們需要對(duì)“源短語(yǔ)不滿足對(duì)齊一致性譯文”的情況賦予一定的概率,以使得翻譯模型能夠做出更好的源短語(yǔ)選擇。
圖2 層次短語(yǔ)模型泛化規(guī)則概率估計(jì)樣例圖
再來(lái)看第二個(gè)例子。假設(shè)語(yǔ)料庫(kù)中同樣含有兩個(gè)句對(duì)(圖2),在層次短語(yǔ)模型中,根據(jù)傳統(tǒng)的短語(yǔ)概率估計(jì)方法,我們可以得到p(“the invention of X1”|“X1的 發(fā)明”)=1/3。在此,我們先考慮句對(duì)1。在窗口“上個(gè)世紀(jì) 的 發(fā)明”中,我們可以抽取出泛化規(guī)則“X1的 發(fā)明||| the invention of X1”;而在窗口“是 上個(gè)世紀(jì) 的 發(fā)明”中,源泛化規(guī)則“X1的 發(fā)明”不存在滿足對(duì)齊一致性的目標(biāo)譯文。與例1的道理相同,傳統(tǒng)方法也會(huì)過(guò)高地估計(jì)了源泛化規(guī)則“X1的 發(fā)明”翻譯成目標(biāo)泛化規(guī)則“the invention of X1”的概率。
基于以上分析,我們可以清楚地看到傳統(tǒng)估計(jì)方法存在一定的缺陷。對(duì)此,本文對(duì)傳統(tǒng)估計(jì)方法進(jìn)行了改進(jìn),使得計(jì)算時(shí)能夠充分考慮訓(xùn)練語(yǔ)料庫(kù)中短語(yǔ)的各種情況。實(shí)驗(yàn)結(jié)果證明,我們的方法可以獲得更為準(zhǔn)確的短語(yǔ)概率估計(jì),有效地提升了系統(tǒng)的翻譯性能。
文章的組織結(jié)構(gòu)如下: 第2節(jié)詳細(xì)介紹了我們的短語(yǔ)翻譯概率估計(jì)改進(jìn)方法。針對(duì)不同翻譯模型,我們進(jìn)行不同處理。特別地,針對(duì)層次短語(yǔ)模型的泛化規(guī)則,我們嘗試了兩種不同的翻譯概率估計(jì)方法;第3節(jié)描述了實(shí)驗(yàn)設(shè)置和結(jié)果;第4節(jié)是文章的總結(jié)和展望。
根據(jù)前文分析,我們可以得知,傳統(tǒng)的短語(yǔ)翻譯概率p(e|f),可以看成是在已知源短語(yǔ)f存在滿足對(duì)齊一致性的目標(biāo)譯文的情況下翻譯為目標(biāo)短語(yǔ)e的概率,同樣p(f|e)可以理解為在已知目標(biāo)短語(yǔ)e存在滿足對(duì)齊一致性的源譯文的情況下翻譯為源短語(yǔ)f的概率。在此,我們引入隱變量bve(bvf)來(lái)表示給定源短語(yǔ)(目標(biāo)短語(yǔ))是否存在滿足對(duì)齊一致性的目標(biāo)短語(yǔ)(源短語(yǔ))。傳統(tǒng)估計(jì)方法可以表示為:
在翻譯過(guò)程中,對(duì)于源短語(yǔ)f(目標(biāo)短語(yǔ)e),我們并不能確定它是否一定存在滿足對(duì)齊一致性的目標(biāo)譯文(源譯文)。因此可以說(shuō),傳統(tǒng)方法估計(jì)的短語(yǔ)翻譯概率和翻譯過(guò)程并不對(duì)應(yīng)?;谝陨戏治?,我們對(duì)以上公式進(jìn)行修改,修改后的公式如下:
根據(jù)以上公式,在計(jì)算短語(yǔ)翻譯概率的過(guò)程中,我們將考慮源短語(yǔ)f(目標(biāo)短語(yǔ)e)的各種出現(xiàn)情況,然后進(jìn)行頻次累加,最后再進(jìn)行歸一化,以此來(lái)獲得更為準(zhǔn)確的概率估計(jì)。
然而,在不同模型中,頻次累加的計(jì)算方式并不相同。對(duì)此,我們根據(jù)不同模型進(jìn)行了不同處理。
在短語(yǔ)模型中,頻次累加的計(jì)算方式較為簡(jiǎn)單。根據(jù)文獻(xiàn)[4-5]所描述的方法,若源短語(yǔ)f(目標(biāo)短語(yǔ)e)存在滿足對(duì)齊一致性的譯文,它的頻次累加值是1。而在我們的方法中,我們需要對(duì)不存在滿足對(duì)齊一致性的譯文的短語(yǔ)進(jìn)行頻次累加。在此,我們?cè)O(shè)置所有情況下短語(yǔ)的頻次累加值都是1。對(duì)于公式(5)和(6),我們不需要做特殊處理,直接統(tǒng)計(jì)每個(gè)句對(duì)中雙語(yǔ)短語(yǔ)(f,e),源短語(yǔ)f和目標(biāo)短語(yǔ)e的出現(xiàn)次數(shù)。
考察圖1中的例子,源短語(yǔ)“中國(guó)”總的出現(xiàn)次數(shù)為2,其中存在滿足對(duì)齊一致性的次數(shù)為1次。根據(jù)公式(5),我們可以得到p(“China”|“中國(guó)”)=1/2。
在層次短語(yǔ)中,翻譯規(guī)則主要包括詞匯化規(guī)則和泛化規(guī)則。詞匯化規(guī)則的頻次估計(jì)方法和短語(yǔ)模型中短語(yǔ)的估計(jì)方法是一樣的。在此,我們也采用上述方法進(jìn)行統(tǒng)計(jì)。而泛化規(guī)則的頻次估計(jì)方法則稍微復(fù)雜一些,根據(jù)文獻(xiàn)[5]描述的方法,在抽取泛化規(guī)則的過(guò)程中,當(dāng)規(guī)則存在滿足對(duì)齊一致性限制的譯文時(shí),它的頻次累加值等于選定窗口可以抽取的泛化規(guī)則數(shù)目的倒數(shù)。例如: 在圖2的句對(duì)1中,從窗口“上個(gè)世紀(jì) 的 發(fā)明”,我們可以得到count(X1的 發(fā)明 ‖| the invention of X1)=1/6;在圖2的句對(duì)2,從窗口“你 的 發(fā)明”,我們可以得到count(X1的 發(fā)明 ‖| X1invention)=1/3。然而,當(dāng)不存在滿足對(duì)齊一致性的譯文時(shí),我們并沒(méi)有辦法正確計(jì)算對(duì)應(yīng)的頻次累加值。
下面我們采用兩種方法來(lái)進(jìn)行計(jì)算泛化規(guī)則的翻譯概率:
方法1,我們采用與短語(yǔ)模型相類(lèi)似的方法: 對(duì)于源規(guī)則f(目標(biāo)規(guī)則e),無(wú)論它是否存在滿足對(duì)齊一致性的譯文,我們都假設(shè)它的頻次累加值是1。
考察圖2中的例子,源泛化規(guī)則“X1的 發(fā)明”在句對(duì)1的出現(xiàn)次數(shù)為3(分別在“電腦 是 上個(gè)世紀(jì) 的 發(fā)明”,“是 上個(gè)世紀(jì) 的 發(fā)明”和“上個(gè)世紀(jì) 的 發(fā)明”三個(gè)窗口中),在句對(duì)2中的出現(xiàn)次數(shù)為1(在“你 的 發(fā)明”窗口中)。根據(jù)公式(5),我們可以得到p(“the invention of X1”|“X1的 發(fā)明”)=1/(3+1)=1/4。
方法2,首先,我們假設(shè)“源規(guī)則f的譯文是目標(biāo)規(guī)則e”和“源規(guī)則f存在滿足對(duì)齊一致性的目標(biāo)譯文”是不相關(guān)的。然后,我們把概率p(e,bve=true|f)分解成為兩個(gè)條件概率p(e|bve=true,f)和p(bve=true|f)的乘積。同理,我們也可以做類(lèi)似假設(shè),把p(f,bvf=true|e)進(jìn)行分解。分解后的公式如下:
對(duì)于p(bve=true|f)和p(bvf=true|e),我們?cè)O(shè)定源短語(yǔ)f(目標(biāo)短語(yǔ)e)的頻次累加值都是1;而對(duì)于p(e|bve=true,f)和p(f|bve=true,e),我們則仍然采用傳統(tǒng)方法進(jìn)行估計(jì)。
仍然考察圖2中的例子。根據(jù)傳統(tǒng)方法計(jì)算可得p(“the invention of X1”|bve=true,“X1的 發(fā)明”)=1/6/(1/6+1/3)=1/3;而源泛化規(guī)則“X1的 發(fā)明”總的出現(xiàn)次數(shù)為3+1=4次,其中存在滿足對(duì)齊一致性譯文的次數(shù)為1+1=2次,可得p(bve=true|“X1的 發(fā)明”)=1/2。根據(jù)公式(5),我們可以最終得到p(“the invention of X1”,bve=true|“X1的 發(fā)明”)=1/3×1/2=1/6。
通過(guò)以上方法,我們可以獲得兩個(gè)新的短語(yǔ)翻譯概率。在實(shí)際翻譯過(guò)程中,我們把這兩個(gè)新的翻譯概率當(dāng)作新的特征加入到翻譯模型中,以此來(lái)提高翻譯模型的性能。
我們的實(shí)驗(yàn)設(shè)置如下:
1) 訓(xùn)練語(yǔ)料: 共含有來(lái)自LDC*LDC語(yǔ)料: http://www.ldc.upenn.edu的1 548 447個(gè)平行句對(duì)。該語(yǔ)料庫(kù)一共含有中文詞42 334 463個(gè),英文詞48 152 996個(gè);
2) 語(yǔ)言模型: 采用SRLIM*SRILM工具: http://www.speech.sri.com/projects/srilm/download.html訓(xùn)練的四元GIGA XINHUA語(yǔ)言模型;
3) 開(kāi)發(fā)集: NIST*NIST數(shù)據(jù)集: http://www.nist.gov/speech/tests/mt02評(píng)測(cè)集;測(cè)試集: NIST03,NIST05評(píng)測(cè)集
4) 解碼器: Moses*Moses解碼器: http://www.statmt.org/moses/,Bruin,Chiero;
5) 譯文評(píng)價(jià): 采用的評(píng)測(cè)指標(biāo)是大小寫(xiě)不敏感的BLEU-4[11],使用的評(píng)測(cè)工具是mteval-v11b.pl*BLEU評(píng)測(cè)工具: http://www.nist.gov/speech/tests/mt/resources/scoring.hml。
對(duì)于解碼器,我們采用最小錯(cuò)誤率訓(xùn)練MERT[12]進(jìn)行特征權(quán)重訓(xùn)練。解碼中,我們?cè)O(shè)置候選翻譯個(gè)數(shù)為50,最終翻譯N-best個(gè)數(shù)為100。下面我們對(duì)所用解碼器進(jìn)行簡(jiǎn)單介紹。
Moses[3-4]是著名的短語(yǔ)模型解碼器,由Philipp Koehn開(kāi)發(fā)。解碼器基于對(duì)數(shù)線性模型,采用從左到右的方式進(jìn)行解碼。解碼器提供多種了調(diào)序模型,實(shí)驗(yàn)中我們選用了msd-fe調(diào)序模型。
Bruin是基于BTG[6]的短語(yǔ)模型解碼器。該解碼器基于對(duì)數(shù)線性模型,采用CKY方式進(jìn)行解碼。為了加快解碼速度,解碼器采用Cube-Pruning方法[13]來(lái)減少搜索空間。
Chiero是著名層次短語(yǔ)解碼器Hiero[5]的C++重實(shí)現(xiàn)版本。同樣,該解碼器也是基于對(duì)數(shù)線性模型,采用CKY方式進(jìn)行解碼,并采用Cube-Pruning方法來(lái)減少搜索空間。
采取以上的實(shí)驗(yàn)設(shè)置,實(shí)驗(yàn)結(jié)果見(jiàn)表1,表2。
表1 短語(yǔ)模型 實(shí)驗(yàn)結(jié)果
表2 層次短語(yǔ)模型 實(shí)驗(yàn)結(jié)果
表1和表2分別列出在兩類(lèi)模型(短語(yǔ)模型和層次短語(yǔ)模型)上的實(shí)驗(yàn)結(jié)果。從上面的數(shù)據(jù),我們可以清楚地看到,在不同的模型和測(cè)試集上,我們的方法都在一定程度上改進(jìn)了翻譯質(zhì)量(在NIST03測(cè)試集上取得了0.33~0.67的提高,而在NIST05測(cè)試集上取得了0.35~0.51的提高)。因此,可以說(shuō)我們的方法是有效的,獲得了更為準(zhǔn)確的短語(yǔ)概率估計(jì)。
本文對(duì)統(tǒng)計(jì)機(jī)器翻譯中短語(yǔ)翻譯概率的傳統(tǒng)估計(jì)方法進(jìn)行了分析,闡述了導(dǎo)致短語(yǔ)翻譯概率估計(jì)不準(zhǔn)確的主要原因就是傳統(tǒng)方法只考慮了短語(yǔ)存在滿足對(duì)齊一致性的譯文的情況。對(duì)此,本文修改了傳統(tǒng)計(jì)算公式,并針對(duì)不同翻譯模型進(jìn)行了不同處理。實(shí)驗(yàn)結(jié)果表明,我們的方法是有效的,在NIST03和NIST05測(cè)試集上,BLEU值都有所提高。顯然,我們的方法仍然存在繼續(xù)改進(jìn)的余地:
1) 引入上下文來(lái)估計(jì)p(bve=true|f,context)和p(bvf=true|e,context)。
2) 在我們的方法中,在估計(jì)p(bve=true|f)和p(bvf=true|e)時(shí),短語(yǔ)的頻次累加值簡(jiǎn)單設(shè)置成1。在以后工作中,我們將引入調(diào)序圖[14]來(lái)獲得更準(zhǔn)確的頻次累加值估計(jì)。
3) 在層次短語(yǔ)模型中,我們采用了兩種方法來(lái)計(jì)算翻譯規(guī)則的頻次累加值,效果一般。
今后我們將進(jìn)行更為深入的研究,尋找更為合理的層次短語(yǔ)概率估計(jì)的方法。
[1] 劉群. 統(tǒng)計(jì)機(jī)器翻譯綜述[J]. 中文信息學(xué)報(bào),2003,17(4): 1-12.
[2] Peter F. Brown, John Cocke, Stephen A. Della Pietra, Vincent J. Della Pietra, Robert L.Mercer. 1993. The mathematics of Statistical Machine Translation: Parameter Estimation[J]. Computational Linguistics.1993,19:263-311.
[3] Philipp Koehn, Franz Joseph Och, and Daniel Marcu. 2003. Statistical Phrase-Based Translation[C]//Proc. of NAACL 2003:48-54.
[4] Philipp Koehn, Hieu Hoang, Alexandra Birch, Chris Callison-Burch, Marcello Federico, Nicola Bertoldi, Brooke Cowan, Wade Shen, Christine Moran, Richard Zens, Chris Dyer, Ondrej Bojar, Alexandra Constantin, Evan Herbst. Moses: Open Source Toolkit for Statistical Machine Translation[C]//Proc. of ACL 2007, demonstration session.2007: 177-180.
[5] David chiang. Hierarchical Phrase-Based Translation[J]. Computational Linguistics, 2007,33:201-288.
[6] Deyi Xiong, Qun Liu and Shouxun Lin. Maximum Entropy Based on Phrase Reordering Model for Statistical Machine Translation[C]//Proc. of ACL 2006:521-528.
[7] Michel Galley, Jonathan Graehl, Kevin Knight, Daniel Marcu, Steve DeNeefe, Wei Wang, and Ignacio Thayer. Scalable Inference and Training of Context-Rich Syntactic Translation Models[C]//Proc. of ACL 2006:961-968.
[8] Yang Liu, Qun Liu and Shouxun Lin. 2006. Tree-to-String Alignment Template for Statistical Machine Translation[C]//Proc. of ACL 2006, 2006:609-616.
[9] Haitao Mi, Liang Huang and Qun Liu. Forest-Based Translation[C]//Proc. of ACL 2008, 2008:192-199.
[10] Min Zhang, Hongfei Jiang, Aiti Aw, Haizhou Li, Chew Lim Tan and Sheng Li. 2008. A Tree Sequence Alignment-based Tree-to-Tree Translation Model[C]//Proc. of ACL 2008, 2008:559-567.
[11] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. Bleu: a method for automatic evaluation of machine translation[C]//Proc. of ACL 2002, 2002:311-318.
[12] Franz Joseph Och. Minimum error rate training in statistical machine translation[C]//Proc. of ACL 2003, 2003:160-167.
[13] Liang Huang and David Chiang. Better k-best Parsing[C]//Proc. of IWPT 2005, 2005:53-64.
[14] Jinsong Su, Yang Liu, Yajuan Lv, Haitao Mi and Qun Liu. Learning Lexicalized Reordering Models from Reordering Graphs[C]//Proc. of ACL 2010:12-16. short paper.