Unsupervised Pivot Translation for Distant Languages


這是2019年ACL的一篇文章,是一個微軟的實習生寫的。文章主要解決遠距離語言的翻譯問題,是先將源語言先翻譯爲中間語言,然後再由中間語言翻譯到目標語言,中間語言可以有多個。其實這種思想在其他文章中就有用到,但本文的創新之處在於用LSTM來預測翻譯路徑(翻譯路徑衆多,必須選一條最優的),並取得了不錯的效果。

論文點

  1. 遠距離語言的翻譯問題,先將源語言先翻譯爲中間語言,然後再由中間語言翻譯到目標語言,中間語言可以有多個。
  2. 用LSTM來預測最佳翻譯路徑。

摘要

無監督神經機器翻譯(NMT)最近引起了很多關注。儘管最新的無監督翻譯方法通常在相似的語言(例如英語-德語翻譯)之間表現良好,但它們在遙遠的語言之間卻表現不佳,因爲無監督的對齊方式對於遙遠的語言並不適用。在這項工作中,我們介紹了無監督的樞軸平移語言,可通過多跳將一種語言翻譯成遠距離語言,並且每跳上的無監督翻譯比原始直接翻譯相對容易。我們提出了一種LTR( learning to route)的方法來選擇源語言和目標語言之間的翻譯路徑。LTR在其最佳翻譯路徑可用的語言對上進行培訓,並應用於看不見的語言對以進行路徑選擇。在20種語言和294種遠距離語言對上進行的實驗證明了無監督的遠距離語言樞軸翻譯的優勢,以及所提出的LTR在路徑選擇方面的有效性。具體而言,在最佳情況下,LTR與常規直接的無監督方法相比提高了5.58 BLEU點。

引言

我們觀察到兩種遙遠的語言可以通過多箇中間躍點鏈接,其中,考慮到每個中間躍點上的兩種語言更相似,或者說單語訓練數據更大,在每種躍點上兩種語言的無監督翻譯比兩種遙距語言的直接翻譯更容易。 因此,我們建議通過多個躍點來實現遠程語言的無監督中樞翻譯,其中每個躍點由相對簡單的語言對的無監督翻譯組成。例如,丹麥-加利西亞語這對遙遠的語言可以由三種更簡單的語言來翻譯:丹麥-英語、英國-西班牙語和西班牙-加利西亞語。這樣,在我們的實驗中,與從丹麥語到加利西亞語的直接無監督翻譯(6.56 BLEU評分)相比,無監督的樞軸翻譯的準確性更高(12.14 BLEU評分)。

無監督樞軸翻譯的挑戰是如何選擇良好的翻譯路徑。在給定較遠的語言對X-Y的情況下,存在大量可以從X轉換爲Y的路徑,並且不同的路徑可能會產生非常不同的翻譯精度。因此,如果選擇了一條較差的路徑,那麼無監督樞軸翻譯可能會比直接無監督翻譯的精度低。如何選擇具有良好翻譯精度的路徑對於確保無監督樞軸翻譯的性能很重要。

一種簡單的方法是計算驗證集上所有可能路徑的轉換精度,並選擇最準確的路徑。但是,由於存在大量可能的路徑,因此在計算上難以承受。我們提出了一種 LTR 方法,該方法採用一個路徑精度預測器(一個多層LSTM)來爲一個遠程語言對選擇一個好的路徑。給定翻譯路徑和路徑上每一跳的翻譯精度,路徑精度預測器可以預測沿該路徑的整體翻譯精度。這種預測器首先在已知總體精度的路徑訓練集上進行訓練,然後用於預測未知路徑的精度。我們在一個包含20種語言和總共294種遙遠語言對的大型數據集上進行了實驗,以驗證該方法的有效性。
我們提出的LTR在某些語言對上實現了超過5個BLEU點的改進。

本文的貢獻如下:

  1. 我們將樞軸翻譯引入無人監督的NMT中,以提高遠距離語言的準確性。
  2. 我們提出了LTR方法來自動選擇良好的翻譯路徑。
  3. 在20多種語言和294種遙遠的語言對上進行的大規模實驗證明了我們方法的有效性。

相關工作

大部分工作已經在前面講過了,文中提到了MASS模型,該模型在無監督機器翻譯中取得了很好的效果,有時間建議時間看一下。

文章鏈接:

MASS: Masked Sequence to Sequence Pre-training for Language Generation

Unsupervised Pivot Translation

文中大部分使用的是3跳。

Learning to Route(LTR)

在本節中,我們首先對問題進行描述,然後介紹用於LTR的訓練數據、特徵和模型。

Problem Formulation

我們將路徑選擇公式轉化爲翻譯精度預測問題。LTR模型會根據給定的路徑中每個躍點的翻譯準確度來學習預測從語言X到Y的每條路徑的翻譯準確度,並在所有可能的路徑中選擇具有最高預測翻譯精度的路徑作爲輸出。

Training Data

我們按照以下步驟構建LTR模型的訓練數據:

  1. 從M語言中,選擇源語言和目標語言不在同一語言分支中的遠距離語言對。
    然後,我們選擇遠程語言對的一小部分分別作爲LTR的開發/測試集,並將其餘部分作爲LTR的訓練集。
  2. 爲了獲得遙遠語言對的不同翻譯路徑的準確性,以及獲得LTR的輸入特徵,
    我們爲任何語言之間的翻譯訓練了無監督模型,並獲得了每對語言的BLEU分數。
    對於M種語言,總共有M(M − 1)種語言對和BLEU分數,這需要M(M − 1)/ 2個無監督模型,因爲一個模型可以按照無監督NMT的常規做法處理兩個翻譯方向
  3. 然後,根據之前步驟中訓練的模型,測試開發和測試集中語言對的每種可能翻譯路徑的BLEU分數。這些BLEU分數被視爲評估無監督樞軸翻譯性能的真實數據。
  4. 我們僅獲得可能路徑中一小部分的BLEU分數,在訓練集中用作LTR模型的訓練數據。

我們將在下一段中描述訓練數據的特徵。

Features

我們從訓練數據的路徑中提取了幾個特徵,以進行更好的模型訓練。通常,我們採用三跳路徑,以X \rightarrow Z1\rightarrow Z2\rightarrowY爲例,並將其視爲由語言和一跳組成的標記序列: X, X \rightarrow Z1, Z1, Z1 \rightarrow Z2, Z2, Z2 \rightarrowY and Y。對於token序列,我們考慮兩種特徵:

  1. token ID

    上面顯示的路徑中總共有7個token。每個tokenID都會轉換爲可訓練的嵌入。對於像Z1\rightarrow Z2這樣的單跳token,其嵌入只是Z1和Z2兩嵌入的平均值。

  2. 每種語言和一跳的BLEU得分

    我們通過來 自於這種語言和到這種語言 的 單跳平均準確率 來獲得每一種語言的BLEU得分。例如X \rightarrowZ1中目標語言Z1的BLEU得分,是 單跳翻譯中 所有從其他語言到Z1的BLEU得分的 平均值。而Z1 \rightarrowZ2中源語言Z1的BLEU得分,是 單跳翻譯中 所有從Z1到其他語言的BLEU得分的 平均值。對於每種語言和單跳token,我們將上述兩個特徵組合在一個向量中,併爲每種路徑獲得一系列特徵。路徑的BLEU分數將用作LTR模型的標籤。

Model

我們使用多層LSTM模型來預測翻譯路徑的BLEU得分。
LSTM模型的輸入是上一段中描述的功能序列。
LSTM的最後隱藏部分與一維向量相乘以預測路徑的BLEU分數。

對比方法

  1. Random Routing:隨機選取一條路徑。
  2. Prior Pivoting:根據語種優先度自己設置軸樞語言,本文選取單語數據最多的語言作爲軸樞語言。
  3. Hop Average:路徑中每一個單跳的平均BLEU得分作爲這條路徑的預測BLEU得分,我們選擇BLEU得分最高的路徑。LTR中用的這種方法。

Experiments Design

我們的實驗通常包括兩個階段。

  1. 在第一階段,我們需要在任何兩種語言之間訓練無監督的NMT模型,以獲得每個單跳路徑的BLEU分數。通過樞軸,我們還獲得了部分多跳路徑的BLEU分數,這些分數被用作第二階段的訓練和評估數據。
  2. 在第二階段,我們根據第一階段生成的訓練數據訓練LTR模型。

在本節中,我們將簡要介紹無監督NMT模型訓練(第一階段)以及LTR模型訓練和路徑路由(第二階段)的實驗設置。

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