機器翻譯的大牛och在2003提出的方法,用於統計機器翻譯中對數線性模型引數的調整,這幾天讀了這篇**,也算是有了點了解。寫篇文章,要不然就忘了,哈哈。och在文章中提出在之前的引數調整方法中,引數的確定和最終的翻譯質量並沒有什麼緊密的聯絡,比如在統計機器翻譯的對數線性模型中feature的權重需要調整,使用的
準則就是如下的公式:
這個公式的意思是如果乙個引數λ使得對於訓練集中的所有據對取得最大值,那就是最好的引數。
但是大神覺得這沒什麼道理,需要一種方法來講最終的評價結果和調參結合起來。於是最小錯誤率訓練法就呼之欲出了。不同於上述的使用feature值來調整引數,mert方使用的是
假設中存在的乙個函式e,來統計乙個翻譯的結果和標準翻譯相比所存在的錯誤的個數,e(e,r)的意思就是對乙個句子f的翻譯e和標準翻譯r相比存在的錯誤的個數。對乙個句子集合f,統
計每個句子f的翻譯錯誤,使得翻譯錯誤總數最小的引數才是最好的引數,於是有了下面的準則函式:
假設我們有乙個待翻譯的外文集合,這個集合中共有s個待翻譯的句子f
1,f2,f
3…fs, 每個句子f
i都有乙個set of k candidate translation ci,ci=,計算錯誤個數的時
候並不是對ci中的每個句子都統計翻譯錯誤,而是對其中可能性最大的翻譯統計翻譯錯誤,這個就是公式(6)的解釋:在乙個引數λ的作用下,得分最高的翻譯e作為ci中的代表,去統計
e和標準翻譯r的錯誤率。公式(5)就是對這個集合s中的每乙個外文句子f進行這樣的統計得到中的錯誤率,使得總的錯誤個數最小的引數就是最好的引數。但是這個公式是不平滑的,下
面還有乙個平滑的版本:
相對於沒有平滑的版本來說,改進的地方在於區域性極小值減少了,如果使用未經平滑的版本,那麼存在太多的區域性最小值,使得尋找全域性最小值存在極大的困難。
可以看到這個準則將直接將錯誤用於引數的調整之中,根據實驗這種做法提高了系統的翻譯質量,同時och大牛針對未經平滑的最小錯誤準則函式提出了乙個優化的方法,用於尋找較
優的引數。這種優化方法是基於powell search的方法。
powell search方法來尋找有n維的引數向量時,一次只能夠優化一維向量,優化n維引數則需要n次迭代來完成。och提出的方法也是基於同樣的原理,優化時只能針對某一維向量進
行,其餘維數的向量必須固定,具體的方法如下:
假如整個n維引數向量中只有一維能夠變化,其餘維數固定,乙個待選翻譯(candidate translation)的得分在對數線性模型下成為kx+b的形式,x就是可以變化的那一維引數,其餘
引數固定,其相應的得分直接退化成了常數b,對於有k個待選翻譯的外文f,就有對應的k條直線。根據eqn(6),需要從k個翻譯中挑選出得分最高的句子,然後統計錯誤個數。當我們將
得分表示成線性函式時,被挑中的翻譯就是對應於同乙個x,得分最高的那個翻譯,選出這個翻譯後,然後再去統計錯誤個數。其實我們也可以這樣做:當將翻譯得分轉化成線性函式時直
接使用函式e來統計錯誤的個數,這個時候線性函式的形式轉化為t(e,f)+r*m(e,f),t(e,f)和m(e,f)相對於r來說都是引數,這個函式的結果就是此時取值的錯誤個數,那麼挑選最優的翻譯就
非常明顯:值最小的。挑選函式的形式就是f=argmin(t(e,f)+r*m(e,f)),e是k個翻譯之一,這個函式明顯是分段的,所以存在一系列的間斷點r1,r2 ,r3 ,…,rk 。對於具有n個
句子的外文語料庫,存在n個這樣的分段函式,每個函式都有一系列的間斷點。為了取得整個語料庫上表現的得分的最優,將所有這些n個函式疊加,當在某個區間內取值為最小的時候,
這個時候對應的引數就是最優的引數。對n維的每一維都必須進行這樣的過程以確定引數。不同於powell 搜尋,這個演算法可以確保獲得最優值,原理我就不知道了…
以上所述就是och在03年發表的**minimum error rate training in statistical machine translation
NLP 機器翻譯中的Attention
encoder decoder模型雖然非常經典,但是侷限性也非常大。最大的侷限性就在於編碼和解碼之間的唯一聯 系就是乙個固定長度的語義向量c。也就是說,編碼器要將整個序列的資訊壓縮進乙個固定長度的向量中。但是這樣做有兩個弊端,一是語義向量無法完全表示整個序列的資訊,二是先輸入的內容攜帶的資訊會被後輸...
機器翻譯的資料預處理
主要分為三大塊 去重 重複的資料會使訓練過程有偏。可以簡單地去除完全相同的句對,也可以計算每兩個句子之間的區域性雜湊值,把相似度小於某個閾值的句對都去除 去空行 空行不能提供任何資訊,而且可能會引起bug 特殊符號處理 這個就需要通過肉眼來觀察,然後確定乙個特殊符號列表了。常見的,包含控制字元 轉義...
機器翻譯的前世今生(2)
在 機器翻譯的前世今生 1 中我們提到,基於例項的機器翻譯 embt 給機器翻譯界帶來了新的希望 我們將不再需要自己構建規則,我們只需要將已有的翻譯交給機器。然而,在革命的第一步邁出短短5年後,統計機器翻譯 smt 出現了。90年代早期,ibm研究中心研發出一種機器翻譯系統,它在大量雙語平行語料基礎...