機器翻譯中的參數調整---MERT方法

機器翻譯的大牛Och在2003提出的方法,用於統計機器翻譯中對數線性模型參數的調整,這幾天讀了這篇論文,也算是有了點了解。寫篇文章,要不然就忘了,哈哈。

Och在文章中提出在之前的參數調整方法中,參數的確定和最終的翻譯質量並沒有什麼緊密的聯繫,比如在統計機器翻譯的對數線性模型中feature的權重需要調整,使用的

準則就是如下的公式:

                                                                      %7NB6JCR9{RI}I$SODJG()J 

這個公式的意思是如果一個參數λ使得對於訓練集中的所有據對取得最大值,那就是最好的參數。

 

         但是大神覺得這沒什麼道理,需要一種方法來講最終的評價結果和調參結合起來。於是最小錯誤率訓練法就呼之欲出了。不同於上述的使用feature值來調整參數,MERT方使用的是

假設中存在的一個函數E,來統計一個翻譯的結果和標準翻譯相比所存在的錯誤的個數,E(e,r)的意思就是對一個句子f的翻譯e和標準翻譯r相比存在的錯誤的個數。對一個句子集合F,統

計每個句子f的翻譯錯誤,使得翻譯錯誤總數最小的參數纔是最好的參數,於是有了下面的準則函數:

                                                                                    V4TEWGY89W~T2$T0WFSP56K

假設我們有一個待翻譯的外文集合,這個集合中共有S個待翻譯的句子f1f2f3fs, 每個句子fi都有一個set of K candidate translation Ci,Ci={ei,1 , ei,2 ,…, ei,k },計算錯誤個數的時

候並不是對Ci中的每個句子都統計翻譯錯誤,而是對其中可能性最大的翻譯統計翻譯錯誤,這個就是公式(6)的解釋:在一個參數λ的作用下,得分最高的翻譯e作爲Ci中的代表,去統計

e和標準翻譯r的錯誤率。公式(5)就是對這個集合S中的每一個外文句子f進行這樣的統計得到中的錯誤率,使得總的錯誤個數最小的參數就是最好的參數。但是這個公式是不平滑的,下

面還有一個平滑的版本:

                                                                                                  )A4[VXO7(ED($}MVQJIPIEU

相對於沒有平滑的版本來說,改進的地方在於局部極小值減少了,如果使用未經平滑的版本,那麼存在太多的局部最小值,使得尋找全局最小值存在極大的困難。

       可以看到這個準則將直接將錯誤用於參數的調整之中,根據實驗這種做法提高了系統的翻譯質量,同時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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章