統計機器翻譯（，簡寫為）是機器翻譯的一種，也是目前非限定領域機器翻譯中效能較佳的一種方法。統計機器翻譯的基本思想是透過對大量的平行語料進行統計分析，構建統計翻譯模型，進而使用此模型進行翻譯。從早期基於詞的機器翻譯已經過渡到基於短語的翻譯，並正在融合句法資訊，以進一步提高翻譯的精確性。 2016 年前 Google 翻譯的大部分語言對採用的都是統計機器翻譯的方法 Google Translate FAQ httpwwwgooglecomintlenhelpfaq_translationhtml 。而 Google 亦在此本領域保持領先地位，在美國國家標準局組織的機器翻譯評測中遙遙領先。NIST 2006 Machine Translation Evaluation Official Results httpwwwnistgovspeechtestsmt2006docmt06eval_official_resultshtml 但 Google 翻譯在 2016 年 11 月開始使用神經機器翻譯作為主要翻譯系統，並開發了 Google 神經機器翻譯系統。此外，常用的基於統計法機器翻譯的系統還包括 Bing 翻譯 Microsoft Translator Help httpwwwmicrosofttranslatorcomhelpFORMR5FD 和百度翻譯等。 統計機器翻譯的首要任務是為語言的產生構造某種合理的統計模型，並在此統計模型基礎上，定義要估計的模型引數，並設計引數估計算法。早期的基於詞的統計機器翻譯採用的是噪聲通道模型，採用最大似然準則進行無監督訓練，而近年來常用的基於短語的統計機器翻譯則採用區分性訓練方法，一般來說需要參考語料進行有監督訓練。 歷史 早在 1949 年，瓦倫韋弗就基於夏農的資訊理論提出了統計機器翻譯的基本思想 W Weaver 1955 Translation 1949 In Machine Translation of Languages MIT Press Cambridge MA。而最早提出可行的統計機器翻譯模型的是 IBM 研究院的研究人員。他們在著名的文章《統計機器翻譯的數學理論：引數估計》P Brown S Della Pietra V Della Pietra and R Mercer 1993 The mathematics of statistical machine translation parameter estimation Computational Linguistics 19 2 263311 中提出了由簡及繁的五種詞到詞的統計模型，分別被稱為 IBM Model 1 到 IBM Model 5。這五種模型均為噪聲通道模型，而其中所提出的引數估計算法均基於最大似然估計。然而由於計算條件的限制和平行語料庫的缺乏，尚無法實現基於大規模資料的計算。其後，由 Stephan Vogel 提出了基於隱馬爾科夫模型的統計模型也受到重視，被認為可以較好的替代 IBM Model 2S Vogel H Ney and C Tillmann 1996 HMMbased Word Alignment in StatisticalTranslation In COLING96 The 16th International Conference on Computational Linguistics pp 836841 Copenhagen Denmark 在此文發表後 6 年，即 1999 年，約翰霍普金斯大學夏季討論班集中了一批研究人員實現了 GIZA 軟體包 Y AlOnaizan J Curin M Jahr K Knight J D Lafferty I Melamed D Purdy F Och N A Smith and D Yarowsky 1999 Statistical Machine Translation Final Report JHU Workshop Available at httpwwwclspjhueduws99projectsmtfinal_reportmtfinalreportsps，實現了 IBM Model 1 到 IBM Model 5。FranzJoseph Och 在隨後對 GIZA 進行了最佳化，加快了訓練速度，特別是 IBM Model 3 到 5 的訓練。同時他還提出了更加複雜的 Model 6。Och 釋出的軟體包被命名為 GIZAF Och and H Ney 2003 A Systematic Comparison of Various Statistical Alignment Models Computational Linguistics 29 11951，直到現在，該軟體包還是絕大部分機器翻譯系統的基石。目前，針對大規模語料的訓練，已有 GIZA 的若干並行化版本存在。Q Gao S Vogel Parallel Implementations of Word Alignment Tool Software Engineering Testing and Quality Assurance for Natural Language Processing pp 4957 June 2008 基於詞的統計機器翻譯雖然開闢了統計機器翻譯這條道路，其效能卻由於建模單元過小而受到極大限制。同時，產生性（generative）模型使得模型適應性較差。因此，許多研究者開始轉向基於短語的翻譯方法。FranzJosef Och 再次憑藉其出色的研究，推動了統計機器翻譯技術的發展，他提出的基於最大熵模型的區分性訓練方法使得統計機器翻譯的效能極大提高並在此後數年間遠遠超過其他方法 F Och H Ney Discriminative Training and Maximum Entropy Models for Statistical Machine Translation In ACL 2002 Proc of the 40th Annual Meeting of the Association for Computational Linguistics best paper award pp 295302 Philadelphia PA July 2002。更進一步的，Och 又提出修改最大熵方法的最佳化準則，直接針對客觀評價標準進行最佳化，從而產生了今天廣泛採用的最小錯誤訓練方法（Minimum Error Rate Training）F Och Minimum Error Rate Training for Statistical Machine Translation In ACL 2003 Proc of the 41st Annual Meeting of the Association for Computational Linguistics Japan Sapporo July 2003。 另一件促進統計機器翻譯進一步發展的重要發明是翻譯結果自動評價方法的出現，這些方法為翻譯結果提供了客觀的評價標準，從而避免了人工評價的繁瑣與昂貴。這其中最為重要的評價是 BLEU 評價指標 K Papineni S Roukos T Ward and W Zhu 2002 BLEU a Method for Automatic Evaluation of machine translation Proc of the 40th Annual Conf of the Association for Computational Linguistics ACL 02 pp 311318 Philadelphia PA。雖然許多研究者抱怨 BLEU 與人工評價相差甚遠，並且對於一些小的錯誤極其敏感，絕大部分研究者仍然使用 BLEU 作為評價其研究結果的首要（如果不是唯一）的標準。 於 2012 年提出的 LEPOR 評價指標 Aaron LF Han Derek F Wong and Lidia S Chao 2012 LEPOR A Robust Evaluation Metric for Machine Translation with Augmented Factors Proc of the 24th International Conference on Computational Linguistics COLING 2012 Posters pages 441450 Mumbai India 在權威的計算語言學會統計機器翻譯 Workshop（ACLWMT）的八個語言對語料上的實驗得到了比 BLEU 與人的評價更高相關性的分數。 是目前維護較好的開源機器翻譯軟體，由愛丁堡大學研究人員組織開發。其釋出使得以往繁瑣複雜的處理簡單化 P Koehn H Hoang A Birch C CallisonBurch M Federico N Bertoldi B Cowan W Shen C Moran R Zens C Dyer O Bojar A Constantin E Herbst 2007 Moses Open Source Toolkit for Statistical Machine Translation ACL 2007 Demonstration Session Prague Czech Republic。 模型 噪聲通道模型 噪聲通道模型假定，源語言中的句子 f（信宿）是由目標語言中的句子 e（信源）經過含有噪聲的通道編碼後得到的。那麼，如果已知了信宿 f 和通道的性質，我們可以得到信源產生信宿的機率，即 p ef。而尋找最佳的翻譯結果 tilde e 也就等同於尋找： tilde e arg max_e in e p ef 利用貝葉斯公式，並考慮對給定 f，p f 為常量，上式即等同於 tilde e arg max_e in e p ef arg max_ein e frac p fe p ep f arg max_ein e p fe p e 由此，我們得到了兩部分機率： p fe，指給定信源，觀察到訊號的機率。在此稱為翻譯模型。 p e，信源發生的機率。在此稱為語言模型 可以這樣理解翻譯模型與語言模型，翻譯模型是一種語言到另一種語言的詞彙間的對應關係，而語言模型則體現了某種語言本身的性質。翻譯模型保證翻譯的意義，而語言模型保證翻譯的流暢。從中國對翻譯的傳統要求 信達雅 三點上看，翻譯模型體現了信與達，而雅則在語言模型中得到反映。 原則上任何語言模型均可以應用到上述公式中，因此以下討論集中於翻譯模型。在 IBM 提出的模型中，翻譯機率被定義為： p fe p fae 其中的 a 被定義為隱含變數 詞對齊（Word Alignment），所謂詞對齊，簡而言之就是知道源語言句子中某個詞是由目標語言中哪個詞翻譯而來的。例如右圖中，一個詞可以被翻譯為一個或多個詞，甚至不被翻譯。於是，獲取翻譯機率的問題轉化為詞對齊問題。IBM 系列模型及 HMM Model 6 都是詞對齊的引數化模型。它們之間的區別在於模型引數的數量，型別各不相同。例如 IBM Model 1，唯一的引數是詞翻譯機率，與詞在句子中的位置無關。也就是說： p fe prod_ijin a p f_ie_j 其中 ij 是詞對齊中的一條連線，表示源語言中的第 i 個詞翻譯到目標語言中的第 j 個詞。注意這裡的翻譯機率是詞之間而非位置之間的。IBM Model 2 的引數中增加了詞在句子中的位置，公式為： p fe prod_ijin a p f_ie_j p ijIJ 其中 IJ 分別為源、目標語言的句子長度。 HMM 模型將 IBM Model 2 中的絕對位置更改為相對位置，即相對上一個詞連線的位置，而 IBM Model 345 及 Model 6 引入了 Fertility Model，代表一個詞翻譯為若干詞的機率。 在引數估計方面，一般採用最大似然準則進行無監督訓練，對於大量的 平行語料，亦即一些互為翻譯的句子 f_se_s tilde theta arg max_theta prod_s1Ssum_a p_theta f_sae_s 由於並沒有直接的符號化最優解，實踐中採用 EM 演算法。首先，透過現有模型，對每對句子估計 f_se_s 全部可能的（或部分最可能的）詞對齊的機率，統計所有引數值發生的加權頻次，最後進行歸一化。對於 IBM Model 12，由於不需要 Fertility Model，有簡化公式可獲得全部可能詞對齊的統計量，而對於其他模型，遍歷所有詞對齊是 NP 難的。因此，只能採取折衷的辦法。首先，定義 Viterbi 對齊為當前模型引數 theta 下，機率最大的詞對齊： tilde a argmax_a p_thetafae 在獲取了 Viterbi 對齊後，可以只統計該對齊結果的相關統計量，亦可以根據該對齊，做少許修改後（即尋找 臨近 的對齊）後再計算統計量。IBM 345 及 Model 6 都是採用這種方法。 目前直接採用噪聲通道模型進行完整機器翻譯的系統並不多見，然而其副產品 詞對齊卻成為了各種統計機器翻譯系統的基石。時至今日，大部分系統仍然首先使用 GIZA 對大量的平行語料進行詞對齊。由於所面對的平行語料越來越多，對速度的關注使得 MGIZA，PGIZA 等並行化實現得到應用。噪聲通道模型和詞對齊仍然是研究的熱點，雖然對於印歐語系諸語言，GIZA 的對齊錯誤率已經很低，在阿拉伯語，中文等語言與印歐語系語言的對齊中錯誤率仍然很高。特別是中文，錯誤率常常達到 30 以上。所謂九層之臺，起於累土，缺乏精確的詞對齊是中文機器翻譯遠遠落後於其他語言的原因。雖然目前出現了一些區分性詞對齊技術，無監督對齊仍然是其中的重要組成部分。J Niehues 2007 Discriminative Word Alignment Models Diplomarbeit at Universitat Karlsruhe TH 判別式模型 判別式模型噪聲通道模型（產生式模型）不同，它不應用貝葉斯公式，而是直接對條件機率 p ef 建模。 特徵函式 在這個框架下，M 個特徵函式 h_m ef m 1cdotsM 透過引數化公式 P ef frac exp sum_m1Mlambda_m h_m efsum_eexp sum_m1Mlambda_m h_m ef 其中 lambda_m m 1cdotsM 是每個特徵函式的權重，也是模型所要估計的引數集，記為 Lambda。基於這個模型，獲取給定源語言句子 f，最佳翻譯 tilde e 的決策準則為： tilde e arg max_eleftp efright argmax_eleftsum_m1Mlambda_m h_m efright 簡而言之，就是找到使得特徵函式最大的解。 原則上，任何特徵函式都可以被置於此框架下，噪聲通道模型中的翻譯模型、語言模型都可以作為特徵函式。並且，在產生式模型中無法使用的 反向翻譯模型，即 p fe 也可以很容易的被引入這個框架中。目前基於短語的翻譯系統中，最常用的特徵函式包括 短語翻譯機率 詞翻譯機率（短語中每個詞的翻譯機率） 反向短語翻譯機率 反向詞翻譯機率 語言模型 而一些基於句法的特徵也在被加入。 最佳化準則 最佳化準則指的是給定訓練語料，如何估計模型引數 Lambda。一般來說，訓練模型引數需要一系列已翻譯的文字，每個源語言句子 f_s 擁有 R_s 個參考翻譯 e_s_i。 早期，區分性訓練被置於最大熵準則下，即： tilde lambda arg max_lambda leftsum_s frac 1R_ssum_r1R_slog p_lambdae_srf_s right 這一準則簡單快速且由於最佳化目標是凸的，收斂速度快。然而，一個極大的問題是，資訊熵 本身和翻譯質量並無聯絡，最佳化資訊熵以期獲得較好的翻譯結果在邏輯上較難說明。藉助客觀評價準則如 BLEU，希望直接針對這些客觀準則進行最佳化能夠提升翻譯效能。由此而產生最小化錯誤率訓練演算法。透過最佳化系統引數，使得翻譯系統在客觀評價準則上的得分越來越高，同時，不斷改進客觀評價準則，使得客觀評價準則與主觀評價準則越來越接近是目前統計機器翻譯的兩條主線。 使用這些客觀評價準則作為最佳化目標，即： tilde lambda arg max_lambda leftsum_s frac 1R_ssum_r1R_s E e_srf_s right 的一個主要問題是，無法保證收斂性。並且由於無法得到誤差函式（即客觀評價準則）E cdotcdot 的導數，限制了可使用的最佳化方法。目前常用的方法多為改進的 Powell 法，一般來說訓練時間頗長且無法針對大量資料進行訓練。 調序模型 許多語言對的語序是有很大差別的。在前述詞對齊模型中，包含有詞調序模型，在區分性訓練中也需要較好的調序模型。調序模型可以是基於位置，也就是描述兩種語言每個句子不同位置的短語的調序機率，也可以是基於短語本身，例如 Moses 中的調序模型即是基於短語本身，描述在給定當前短語對條件下，其前後短語對是否互換位置。由於現實中的調序模型遠非 互換位置 這麼簡單，而是牽涉句法知識，調序的效果仍然不佳。目前重定位問題還是機器翻譯中亟待解決的問題。 解碼 無論採用哪種模型，在進行實際翻譯過程中，都需要進行解碼。所謂解碼，即是指給定模型引數和待翻譯句子，搜尋使機率最大（或代價最小）的翻譯結果的過程。同許多序列標註問題，例如中文分詞問題類似，解碼搜尋可以採用分支定界或啟發式深度優先搜尋（A）方法。一般來說，搜尋演算法首先構造搜尋網路，也就是將待翻譯句子與可能的翻譯結果融合為一個加權有限狀態轉換機（Weighted Finite State Transducer），而後在此網路上搜索最優路徑。 基本流程 統計機器翻譯同大多數的機器學習方法相類似，有訓練及解碼兩個階段，其中訓練階段的目標是獲得模型引數，而解碼階段的目標則是利用所估計的引數和給定的最佳化目標，獲取待翻譯語句的最佳翻譯結果。對於基於短語的統計機器翻譯來說，訓練 階段較難界定，嚴格來說，只有最小錯誤率訓練一個階段可稱為訓練。但是一般來說，詞對齊和短語抽取階段也被歸為訓練階段。Moses Training Tutorial httpwwwstatmtorgmosesnFactoredTrainingHomePage 語料獲取及預處理 語料預處理階段，需要蒐集或下載平行語料，所謂平行語料，指的是語料中每一行的兩個句子互為翻譯。目前網路上有大量可供下載的平行語料。搜尋適合目標領域（如醫療、新聞等）的語料是提高特定領域統計機器翻譯系統性能的重要方法。 在獲取語料後，需要進行一定得文字規範化處理，例如對英語進行詞素切分，例如將s 獨立為一個詞，將與詞相連的符號隔離開等。而對中文則需要進行分詞。同是，儘可能過濾一些包含錯誤編碼的句子，過長的句子或長度不匹配（相差過大）的句子。 獲取的語料可分為三部分，第一部分用於詞對齊及短語抽取，第二部分用於最小錯誤率訓練，第三部分則用於系統評價。第二第三部分的資料中，每個源語言句子最好能有多條參考翻譯。 詞對齊 首先，使用 GIZA 對平行語料進行對齊。由於 GIZA 是 單向 的詞對齊，故而對齊應當進行兩次，一次從源到目標，第二次從目標到源。一般來說，GIZA 需要依次進行 IBM Model 1 HMM 及 IBM Model 34 的對齊，因 IBM Model 2 對齊效果不佳，而 IBM Model 5 耗時過長且對效能沒有較大貢獻。根據平行語料的大小不同及所設定的迭代次數多少，訓練時間可能很長。一個參考資料為，1 千萬句中文 英文平行語料（約 3 億詞）在 Intel Xeon 24GHz 伺服器上執行時間約為 6 天。如果耗時過長可考慮使用 MGIZA 和 PGIZA 進行並行對齊（PGIZA 支援分散式對齊）。 其後，對兩個方向的 GIZA 對齊結果進行合併，供短語抽取之用。 短語抽取 短語抽取的基本準則為，兩個短語之間有至少一個詞對有連線，且沒有任何詞連線於短語外的詞。Moses 軟體包包含短語抽取程式，抽取結果將佔有大量的磁碟空間。建議若平行語料大小達到 1 千萬句，短語最大長度大於等於 7，至少應準備 500GB 的儲存空間。 短語特徵準備 在短語抽取完畢後，可進行短語特徵提取，即計算短語翻譯機率及短語的詞翻譯機率。該需要對抽取的所有短語進行兩次排序，一般來說，中等規模（百萬句語料）的系統亦需要進行外部排序，磁碟讀寫速度對處理時間影響極大。建議在高速磁碟上執行。參考執行時間及磁碟空間消耗：前述千萬句語料庫，限制短語長度 7，外部排序運行於 SCSI Raid 01 磁碟陣列，執行時間 3 日 11 小時，峰值磁碟空間消耗 813GB。Q Gao 2008 Parallelizing the Training Procedure of Statistical Phrasebased Machine Translation Student Research Symposium Carnegie Mellon University httpwwwlticscmueduSRS2008abstractstalksGaoTalkpdf 語言模型訓練 語言模型訓練請參考語言模型。在區分性訓練框架下，允許使用多個語言模型，因此，使用由大語料訓練得到的無限領域語言模型配合領域相關的語言模型能夠得到最好的效果。 最小化錯誤率訓練 最小化錯誤率訓練透過在所準備的第二部分資料 最佳化集（Tuning Set）上最佳化特徵權重 Lambda，使得給定的最佳化準則最最佳化。一般常見的最佳化準則包括資訊熵、BLEU、TER 等。這一階段需要使用解碼器對最佳化集進行多次解碼，每次解碼產生 N 個得分最高的結果，並調整特徵權重。當權重被調整時，N 個結果的排序也會發生變化，而得分最高者，即解碼結果，將被用於計算 BLEU 得分或 TER。當得到一組新的權重，使得整個最佳化集的得分得到改進後，將重新進行下一輪解碼。如此往復直至不能觀察到新的改進。 根據選取的 N 值的不同，最佳化集的大小，模型大小及解碼器速度，訓練時間可能需要數小時或數日。 解碼及系統評價 使用經最小化錯誤率訓練得到的權重，即可進行解碼。一般此時即可在測試集上進行系統性能評價。在客觀評價基礎上，有一些有條件的機構還常常進行主觀評價。 難點及研究方向 統計機器翻譯的難點主要在於模型中所包含句法、語義成分較低，因而在處理句法差別較大的語言對，例如中文 英文時將遇到問題。有時翻譯結果雖然 詞詞都對 卻無法被人閱讀。可以說目前主流（如 Moses）統計機器翻譯仍然處於機器翻譯金字塔的底層。目前大量的研究集中於將句法知識引入框架中，例如使用依存文法限制翻譯路徑，等。 同時，統計機器翻譯依賴巨大的語料庫，隨著語料庫資源越來越豐富和演算法的日趨複雜，處理這些語料需要越來越強大的計算能力。長期以來，Google 在機器翻譯領域的領先地位就得益於其強大的分散式計算能力。隨著分散式計算的普及，將機器翻譯相關技術並行化將是另一研究熱點。 最後，機器翻譯依賴客觀評價準則，而客觀評價準則最終要與主觀評價準則掛鉤。每年各類機器翻譯相關的會議上都會有若干關於客觀評價準則的研究發表，總的來說，評價翻譯的優劣本身就是一個人工智慧問題，其難度絕不在機器翻譯之下。 參考文獻 外部連結 Statistical Machine Translation 研究介紹、會議、語料及軟體列表 GIZA 開源詞對齊軟體 MGIZAPGIZA GIZA 的並行化版本 Moses 開源機器翻譯軟體 Annotated list of statistical natural language processing resources Category 機器翻譯 Category 統計自然語言處理