天天看點

Unsupervised Pivot Translation for Distant Languages

Unsupervised Pivot Translation for Distant Languages

    • 論文點
    • 摘要
    • 引言
    • 相關工作
    • Unsupervised Pivot Translation
      • Learning to Route(LTR)
      • 對比方法
    • Experiments Design

這是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 → \rightarrow →Y為例,并将其視為由語言和一跳組成的标記序列: X, X → \rightarrow → Z1, Z1, Z1 → \rightarrow → Z2, Z2, Z2 → \rightarrow →Y and Y。對于token序列,我們考慮兩種特征:

  1. token ID

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

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

    我們通過來 自于這種語言和到這種語言 的 單跳平均準确率 來獲得每一種語言的BLEU得分。例如X → \rightarrow →Z1中目智語言Z1的BLEU得分,是 單跳翻譯中 所有從其他語言到Z1的BLEU得分的 平均值。而Z1 → \rightarrow →Z2中源語言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模型訓練和路徑路由(第二階段)的實驗設定。

繼續閱讀