统计机器翻译

統計機器翻譯（英語：Statistical Machine Translation，簡寫為SMT）是機器翻譯的一種，也是目前非限定領域機器翻譯中效能較佳的一種方法。統計機器翻譯的基本思想是通過對大量的平行語料進行統計分析，構建統計翻譯模型，進而使用此模型進行翻譯。從早期基於詞的機器翻譯已經過渡到基於短語的翻譯，並正在融合句法資訊，以進一步提高翻譯的精確性。
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++的若干並列化版本存在。
基於詞的統計機器翻譯雖然開闢了統計機器翻譯這條道路，其效能卻由於建模單元過小而受到極大限制。同時，產生性（generative）模型使得模型適應性較差。因此，許多研究者開始轉向基於短語的翻譯方法。Franz-Josef Och再次憑藉其出色的研究，推動了統計機器翻譯技術的發展，他提出的基於最大熵模型的區分性訓練方法使得統計機器翻譯的效能極大提高並在此後數年間遠遠超過其他方法。更進一步的，Och又提出修改最大熵方法的最佳化準則，直接針對客觀評價標準進行最佳化，從而產生了今天廣泛採用的最小錯誤訓練方法（Minimum Error Rate Training）。
另一件促進統計機器翻譯進一步發展的重要發明是翻譯結果自動評價方法的出現，這些方法為翻譯結果提供了客觀的評價標準，從而避免了人工評價的繁瑣與昂貴。這其中最為重要的評價是BLEU評價指標。雖然許多研究者抱怨BLEU與人工評價相差甚遠，並且對於一些小的錯誤極其敏感，絕大部分研究者仍然使用BLEU作為評價其研究結果的首要（如果不是唯一）的標準。 於2012年提出的LEPOR評價指標在權威的計算語言學會統計機器翻譯Workshop（ACL-WMT）的八個語言對語料上的實驗得到了比BLEU與人的評價更高相關性的分數。
Moses是目前維護較好的開源機器翻譯軟體，由愛丁堡大學研究人員組織開發。其發布使得以往繁瑣複雜的處理簡單化。

判別式模型

判別式模型噪聲信道模型（產生式模型）不同，它不應用貝葉斯公式，而是直接對條件機率建模。

調序模型

許多語言對的語序是有很大差別的。在前述詞對齊模型中，包含有詞調序模型，在區分性訓練中也需要較好的調序模型。調序模型可以是基於位置，也就是描述兩種語言每個句子不同位置的短語的調序機率，也可以是基於短語本身，例如Moses中的調序模型即是基於短語本身，描述在給定當前短語對條件下，其前後短語對是否互換位置。由於現實中的調序模型遠非「互換位置」這麼簡單，而是牽涉句法知識，調序的效果仍然不佳。目前重定位問題還是機器翻譯中亟待解決的問題。

解碼

無論採用哪種模型，在進行實際翻譯過程中，都需要進行解碼。所謂解碼，即是指給定模型參數和待翻譯句子，搜尋使機率最大（或代價最小）的翻譯結果的過程。同許多序列標註問題，例如中文分詞問題類似，解碼搜尋可以採用分支定界或啟發式深度優先搜尋（A*）方法。一般來說，搜尋演算法首先構造搜尋網路，也就是將待翻譯句子與可能的翻譯結果融合為一個加權有限狀態轉換機（Weighted Finite State Transducer），而後在此網路上搜尋最優路徑。

基本流程

統計機器翻譯同大多數的機器學習方法相類似，有訓練及解碼兩個階段，其中訓練階段的目標是獲得模型參數，而解碼階段的目標則是利用所估計的參數和給定的最佳化目標，取得待翻譯語句的最佳翻譯結果。對於基於短語的統計機器翻譯來說，「訓練」階段較難界定，嚴格來說，只有最小錯誤率訓練一個階段可稱為訓練。但是一般來說，詞對齊和短語抽取階段也被歸為訓練階段。

語料取得及預處理

語料預處理階段，需要搜集或下載平行語料，所謂平行語料，指的是語料中每一行的兩個句子互為翻譯。目前網路上有大量可供下載的平行語料。搜尋適合目標領域（如醫療、新聞等）的語料是提高特定領域統計機器翻譯系統效能的重要方法。
在取得語料後，需要進行一定得文字規範化處理，例如對英語進行詞素切分，例如將's獨立為一個詞，將與詞相連的符號隔離開等。而對中文則需要進行分詞。同是，儘可能過濾一些包含錯誤編碼的句子，過長的句子或長度不符合（相差過大）的句子。
取得的語料可分為三部分，第一部分用於詞對齊及短語抽取，第二部分用於最小錯誤率訓練，第三部分則用於系統評價。第二第三部分的資料中，每個源語言句子最好能有多條參考翻譯。

詞對齊

首先，使用GIZA++對平行語料進行對齊。由於GIZA++是「單向」的詞對齊，故而對齊應當進行兩次，一次從源到目標，第二次從目標到源。一般來說，GIZA++需要依次進行IBM Model 1, HMM及IBM Model 3,4的對齊，因IBM Model 2對齊效果不佳，而IBM Model 5耗時過長且對效能沒有較大貢獻。根據平行語料的大小不同及所設定的疊代次數多少，訓練時間可能很長。一個參考資料為，1千萬句中文-英文平行語料（約3億詞）在Intel Xeon 2.4GHz伺服器上執行時間約為6天。如果耗時過長可考慮使用MGIZA++和PGIZA++進行並列對齊（PGIZA++支援分散式對齊）。
其後，對兩個方向的GIZA++對齊結果進行合併，供短語抽取之用。

短語抽取

短語抽取的基本準則為，兩個短語之間有至少一個詞對有連線，且沒有任何詞連線於短語外的詞。Moses軟體包包含短語抽取程式，抽取結果將占有大量的磁碟空間。建議若平行語料大小達到1千萬句，短語最大長度大於等於7，至少應準備500GB的儲存空間。

短語特徵準備

在短語抽取完畢後，可進行短語特徵提取，即計算短語翻譯機率及短語的詞翻譯機率。該需要對抽取的所有短語進行兩次排序，一般來說，中等規模（百萬句語料）的系統亦需要進行外部排序，磁碟讀寫速度對處理時間影響極大。建議在高速磁碟上執行。參考執行時間及磁碟空間消耗：前述千萬句語料庫，限制短語長度7，外部排序執行於SCSI Raid 0+1磁碟陣列，執行時間3日11小時，峰值磁碟空間消耗813GB。

語言模型訓練

語言模型訓練請參考語言模型。在區分性訓練框架下，允許使用多個語言模型，因此，使用由大語料訓練得到的無限領域語言模型配合領域相關的語言模型能夠得到最好的效果。

最小化錯誤率訓練

最小化錯誤率訓練通過在所準備的第二部分資料——最佳化集（Tuning Set）上最佳化特徵權重，使得給定的最佳化準則最最佳化。一般常見的最佳化準則包括資訊熵、BLEU、TER等。這一階段需要使用解碼器對最佳化集進行多次解碼，每次解碼產生N個得分最高的結果，並調整特徵權重。當權重被調整時，N個結果的排序也會發生變化，而得分最高者，即解碼結果，將被用於計算BLEU得分或TER。當得到一組新的權重，使得整個最佳化集的得分得到改進後，將重新進行下一輪解碼。如此往復直至不能觀察到新的改進。
根據選取的N值的不同，最佳化集的大小，模型大小及解碼器速度，訓練時間可能需要數小時或數日。

解碼及系統評價

使用經最小化錯誤率訓練得到的權重，即可進行解碼。一般此時即可在測試集上進行系統效能評價。在客觀評價基礎上，有一些有條件的機構還常常進行主觀評價。

難點及研究方向

統計機器翻譯的難點主要在於模型中所包含句法、語意成分較低，因而在處理句法差別較大的語言對，例如中文-英文時將遇到問題。有時翻譯結果雖然「詞詞都對」卻無法被人閱讀。可以說目前主流（如Moses）統計機器翻譯仍然處於機器翻譯金字塔的底層。目前大量的研究集中於將句法知識引入框架中，例如使用依存文法限制翻譯路徑，等。
同時，統計機器翻譯依賴巨大的語料庫，隨著語料庫資源越來越豐富和演算法的日趨複雜，處理這些語料需要越來越強大的計算能力。長期以來，Google在機器翻譯領域的領先地位就得益於其強大的分散式計算能力。隨著分散式計算的普及，將機器翻譯相關技術並列化將是另一研究熱點。
最後，機器翻譯依賴客觀評價準則，而客觀評價準則最終要與主觀評價準則掛鈎。每年各類機器翻譯相關的會議上都會有若干關於客觀評價準則的研究發表，總的來說，評價翻譯的優劣本身就是一個人工智慧問題，其難度絕不在機器翻譯之下。