統計機器翻譯

統計機器翻譯是機器翻譯的一種，也是目前非限定領域機器翻譯中效能較佳的一種方法。統計機器翻譯的基本思想是透過對大量的平行語料進行統計分析，構建統計翻譯模型，進而使用此模型進行翻譯。從早期基於詞的機器翻譯已經過渡到基於短語的翻譯，並正在融合句法資訊，以進一步提高翻譯的精確性。2016年前Google翻譯的大部分語言對採用的都是統計機器翻譯的方法。而Google亦在此本領域保持領先地位，在美國國家標準局組織的機器翻譯評測中遙遙領先。但Google翻譯在2016年11月開始使用神經機器翻譯作為主要翻譯系統，並開發了Google神經機器翻譯系統。此外，常用的基於統計法機器翻譯的系統還包括Bing翻譯和百度翻譯等。統計機器翻譯的首要任務是為語言的產生構造某種合理的統計模型，並在此統計模型基礎上，定義要估計的模型引數，並設計引數估計算法。早期的基於詞的統計機器翻譯採用的是噪聲通道模型，採用最大似然準則進行無監督訓練，而近年來常用的基於短語的統計機器翻譯則採用區分性訓練方法，一般來說需要參考語料進行有監督訓練。歷史.早在1949年，瓦倫·韋弗就基於夏農的資訊理論提出了統計機器翻譯的基本思想。而最早提出可行的統計機器翻譯模型的是IBM研究院的研究人員。他們在著名的文章《統計機器翻譯的數學理論：引數估計》中提出了由簡及繁的五種詞到詞的統計模型，分別被稱為IBM Model 1到IBM Model 5。這五種模型均為噪聲通道模型，而其中所提出的引數估計算法均基於最大似然估計。然而由於計算條件的限制和平行語料庫的缺乏，尚無法實現基於大規模資料的計算。其後，由Stephan Vogel提出了基於隱馬爾科夫模型的統計模型也受到重視，被認為可以較好的替代IBM Model 2.在此文發表後6年，即1999年，約翰·霍普金斯大學夏季討論班集中了一批研究人員實現了GIZA軟體包，實現了IBM Model 1到IBM Model 5。Franz-Joseph Och在隨後對GIZA進行了最佳化，加快了訓練速度，特別是IBM Model 3到5的訓練。同時他還提出了更加複雜的Model 6。Och釋出的軟體包被命名為GIZA++，直到現在，該軟體包還是絕大部分機器翻譯系統的基石。目前，針對大規模語料的訓練，已有GIZA++的若干並行化版本存在。基於詞的統計機器翻譯雖然開闢了統計機器翻譯這條道路，其效能卻由於建模單元過小而受到極大限制。同時，產生性。另一件促進統計機器翻譯進一步發展的重要發明是翻譯結果自動評價方法的出現，這些方法為翻譯結果提供了客觀的評價標準，從而避免了人工評價的繁瑣與昂貴。這其中最為重要的評價是BLEU評價指標。雖然許多研究者抱怨BLEU與人工評價相差甚遠，並且對於一些小的錯誤極其敏感，絕大部分研究者仍然使用BLEU作為評價其研究結果的首要的標準。於2012年提出的LEPOR評價指標在權威的計算語言學會統計機器翻譯Workshop的八個語言對語料上的實驗得到了比BLEU與人的評價更高相關性的分數。是目前維護較好的開源機器翻譯軟體，由愛丁堡大學研究人員組織開發。其釋出使得以往繁瑣複雜的處理簡單化。模型.噪聲通道模型.噪聲通道模型假定，源語言中的句子formula_1經過含有噪聲的通道編碼後得到的。那麼，如果已知了信宿formula_1和通道的性質，我們可以得到信源產生信宿的機率，即formula_4。而尋找最佳的翻譯結果formula_5也就等同於尋找：formula_6利用貝葉斯公式，並考慮對給定formula_1，formula_8為常量，上式即等同於formula_9由此，我們得到了兩部分機率：可以這樣理解翻譯模型與語言模型，翻譯模型是一種語言到另一種語言的詞彙間的對應關係，而語言模型則體現了某種語言本身的性質。翻譯模型保證翻譯的意義，而語言模型保證翻譯的流暢。從中國對翻譯的傳統要求“信達雅”三點上看，翻譯模型體現了信與達，而雅則在語言模型中得到反映。原則上任何語言模型均可以應用到上述公式中，因此以下討論集中於翻譯模型。在IBM提出的模型中，翻譯機率被定義為：formula_12其中的formula_13被定義為隱含變數——詞對齊，所謂詞對齊，簡而言之就是知道源語言句子中某個詞是由目標語言中哪個詞翻譯而來的。例如右圖中，一個詞可以被翻譯為一個或多個詞，甚至不被翻譯。於是，獲取翻譯機率的問題轉化為詞對齊問題。IBM系列模型及HMM, Model 6都是詞對齊的引數化模型。它們之間的區別在於模型引數的數量，型別各不相同。例如IBM Model 1，唯一的引數是詞翻譯機率，與詞在句子中的位置無關。也就是說：formula_14其中formula_15是詞對齊中的一條連線，表示源語言中的第formula_16個詞翻譯到目標語言中的第formula_17個詞。注意這裡的翻譯機率是詞之間而非位置之間的。IBM Model 2的引數中增加了詞在句子中的位置，公式為：formula_18其中formula_19分別為源、目標語言的句子長度。HMM模型將IBM Model 2中的絕對位置更改為相對位置，即相對上一個詞連線的位置，而IBM Model 3,4,5及Model 6引入了“Fertility Model”，代表一個詞翻譯為若干詞的機率。在引數估計方面，一般採用最大似然準則進行無監督訓練，對於大量的“平行語料”，亦即一些互為翻譯的句子formula_20formula_21由於並沒有直接的符號化最優解，實踐中採用EM演算法。首先，透過現有模型，對每對句子估計formula_20全部可能的詞對齊的機率，統計所有引數值發生的加權頻次，最後進行歸一化。對於IBM Model 1,2，由於不需要Fertility Model，有簡化公式可獲得全部可能詞對齊的統計量，而對於其他模型，遍歷所有詞對齊是NP難的。因此，只能採取折衷的辦法。首先，定義Viterbi對齊為當前模型引數formula_23下，機率最大的詞對齊：formula_24在獲取了Viterbi對齊後，可以只統計該對齊結果的相關統計量，亦可以根據該對齊，做少許修改後後再計算統計量。IBM 3,4,5及Model 6都是採用這種方法。目前直接採用噪聲通道模型進行完整機器翻譯的系統並不多見，然而其副產品——詞對齊卻成為了各種統計機器翻譯系統的基石。時至今日，大部分系統仍然首先使用GIZA++對大量的平行語料進行詞對齊。由於所面對的平行語料越來越多，對速度的關注使得MGIZA++，PGIZA++等並行化實現得到應用。噪聲通道模型和詞對齊仍然是研究的熱點，雖然對於印歐語系諸語言，GIZA++的對齊錯誤率已經很低，在阿拉伯語，中文等語言與印歐語系語言的對齊中錯誤率仍然很高。特別是中文，錯誤率常常達到30%以上。所謂九層之臺，起於累土，缺乏精確的詞對齊是中文機器翻譯遠遠落後於其他語言的原因。雖然目前出現了一些區分性詞對齊技術，無監督對齊仍然是其中的重要組成部分。判別式模型.判別式模型噪聲通道模型不同，它不應用貝葉斯公式，而是直接對條件機率formula_4建模。特徵函式.在這個框架下，formula_26個特徵函式formula_27透過引數化公式formula_28其中formula_29是每個特徵函式的權重，也是模型所要估計的引數集，記為formula_30。基於這個模型，獲取給定源語言句子formula_1，最佳翻譯formula_5的決策準則為：formula_33簡而言之，就是找到使得特徵函式最大的解。原則上，任何特徵函式都可以被置於此框架下，噪聲通道模型中的翻譯模型、語言模型都可以作為特徵函式。並且，在產生式模型中無法使用的“反向翻譯模型”，即formula_34也可以很容易的被引入這個框架中。目前基於短語的翻譯系統中，最常用的特徵函式包括而一些基於句法的特徵也在被加入。最佳化準則.最佳化準則指的是給定訓練語料，如何估計模型引數formula_30。一般來說，訓練模型引數需要一系列已翻譯的文字，每個源語言句子formula_36擁有formula_37個參考翻譯formula_38。早期，區分性訓練被置於最大熵準則下，即：formula_39這一準則簡單快速且由於最佳化目標是凸的，收斂速度快。然而，一個極大的問題是，“資訊熵”本身和翻譯質量並無聯絡，最佳化資訊熵以期獲得較好的翻譯結果在邏輯上較難說明。藉助客觀評價準則如BLEU，希望直接針對這些客觀準則進行最佳化能夠提升翻譯效能。由此而產生最小化錯誤率訓練演算法。透過最佳化系統引數，使得翻譯系統在客觀評價準則上的得分越來越高，同時，不斷改進客觀評價準則，使得客觀評價準則與主觀評價準則越來越接近是目前統計機器翻譯的兩條主線。使用這些客觀評價準則作為最佳化目標，即：formula_40的一個主要問題是，無法保證收斂性。並且由於無法得到誤差函式formula_41的導數，限制了可使用的最佳化方法。目前常用的方法多為改進的Powell法，一般來說訓練時間頗長且無法針對大量資料進行訓練。調序模型.許多語言對的語序是有很大差別的。在前述詞對齊模型中，包含有詞調序模型，在區分性訓練中也需要較好的調序模型。調序模型可以是基於位置，也就是描述兩種語言每個句子不同位置的短語的調序機率，也可以是基於短語本身，例如Moses中的調序模型即是基於短語本身，描述在給定當前短語對條件下，其前後短語對是否互換位置。由於現實中的調序模型遠非“互換位置”這麼簡單，而是牽涉句法知識，調序的效果仍然不佳。目前重定位問題還是機器翻譯中亟待解決的問題。解碼.無論採用哪種模型，在進行實際翻譯過程中，都需要進行解碼。所謂解碼，即是指給定模型引數和待翻譯句子，搜尋使機率最大，而後在此網路上搜索最優路徑。基本流程.統計機器翻譯同大多數的機器學習方法相類似，有訓練及解碼兩個階段，其中訓練階段的目標是獲得模型引數，而解碼階段的目標則是利用所估計的引數和給定的最佳化目標，獲取待翻譯語句的最佳翻譯結果。對於基於短語的統計機器翻譯來說，“訓練”階段較難界定，嚴格來說，只有最小錯誤率訓練一個階段可稱為訓練。但是一般來說，詞對齊和短語抽取階段也被歸為訓練階段。語料獲取及預處理.語料預處理階段，需要蒐集或下載平行語料，所謂平行語料，指的是語料中每一行的兩個句子互為翻譯。目前網路上有大量可供下載的平行語料。搜尋適合目標領域的語料是提高特定領域統計機器翻譯系統性能的重要方法。在獲取語料後，需要進行一定得文字規範化處理，例如對英語進行詞素切分，例如將's獨立為一個詞，將與詞相連的符號隔離開等。而對中文則需要進行分詞。同是，儘可能過濾一些包含錯誤編碼的句子，過長的句子或長度不匹配的句子。獲取的語料可分為三部分，第一部分用於詞對齊及短語抽取，第二部分用於最小錯誤率訓練，第三部分則用於系統評價。第二第三部分的資料中，每個源語言句子最好能有多條參考翻譯。詞對齊.首先，使用GIZA++對平行語料進行對齊。由於GIZA++是“單向”的詞對齊，故而對齊應當進行兩次，一次從源到目標，第二次從目標到源。一般來說，GIZA++需要依次進行IBM Model 1, HMM及IBM Model 3,4的對齊，因IBM Model 2對齊效果不佳，而IBM Model 5耗時過長且對效能沒有較大貢獻。根據平行語料的大小不同及所設定的迭代次數多少，訓練時間可能很長。一個，1千萬句中文-英文平行語料。其後，對兩個方向的GIZA++對齊結果進行合併，供短語抽取之用。短語抽取.短語抽取的基本準則為，兩個短語之間有至少一個詞對有連線，且沒有任何詞連線於短語外的詞。Moses軟體包包含短語抽取程式，抽取結果將佔有大量的磁碟空間。建議若平行語料大小達到1千萬句，短語最大長度大於等於7，至少應準備500GB的儲存空間。短語特徵準備.在短語抽取完畢後，可進行短語特徵提取，即計算短語翻譯機率及短語的詞翻譯機率。該需要對抽取的所有短語進行兩次排序，一般來說，中等規模的系統亦需要進行外部排序，磁碟讀寫速度對處理時間影響極大。建議在高速磁碟上執行。參考執行時間及磁碟空間消耗：前述千萬句語料庫，限制短語長度7，外部排序運行於SCSI Raid 0+1磁碟陣列，執行時間3日11小時，峰值磁碟空間消耗813GB。語言模型訓練.語言模型訓練請參考語言模型。在區分性訓練框架下，允許使用多個語言模型，因此，使用由大語料訓練得到的無限領域語言模型配合領域相關的語言模型能夠得到最好的效果。最小化錯誤率訓練.最小化錯誤率訓練透過在所準備的第二部分資料——最佳化集上最佳化特徵權重formula_30，使得給定的最佳化準則最最佳化。一般常見的最佳化準則包括資訊熵、BLEU、TER等。這一階段需要使用解碼器對最佳化集進行多次解碼，每次解碼產生N個得分最高的結果，並調整特徵權重。當權重被調整時，N個結果的排序也會發生變化，而得分最高者，即解碼結果，將被用於計算BLEU得分或TER。當得到一組新的權重，使得整個最佳化集的得分得到改進後，將重新進行下一輪解碼。如此往復直至不能觀察到新的改進。根據選取的N值的不同，最佳化集的大小，模型大小及解碼器速度，訓練時間可能需要數小時或數日。解碼及系統評價.使用經最小化錯誤率訓練得到的權重，即可進行解碼。一般此時即可在測試集上進行系統性能評價。在客觀評價基礎上，有一些有條件的機構還常常進行主觀評價。難點及研究方向.統計機器翻譯的難點主要在於模型中所包含句法、語義成分較低，因而在處理句法差別較大的語言對，例如中文-英文時將遇到問題。有時翻譯結果雖然“詞詞都對”卻無法被人閱讀。可以說目前主流統計機器翻譯仍然處於機器翻譯金字塔的底層。目前大量的研究集中於將句法知識引入框架中，例如使用依存文法限制翻譯路徑，等。同時，統計機器翻譯依賴巨大的語料庫，隨著語料庫資源越來越豐富和演算法的日趨複雜，處理這些語料需要越來越強大的計算能力。長期以來，Google在機器翻譯領域的領先地位就得益於其強大的分散式計算能力。隨著分散式計算的普及，將機器翻譯相關技術並行化將是另一研究熱點。最後，機器翻譯依賴客觀評價準則，而客觀評價準則最終要與主觀評價準則掛鉤。每年各類機器翻譯相關的會議上都會有若干關於客觀評價準則的研究發表，總的來說，評價翻譯的優劣本身就是一個人工智慧問題，其難度絕不在機器翻譯之下。