給你的數據加上槓杆:文本增強技術的研究進展及應用實踐

轉載來源:https://www.zhihu.com/question/59282269/answer/641009083
作者:飛槳PaddlePaddle

漏譯

alt
第一個挑戰就是漏譯,很多時候,原語言句子有些詞沒有被翻譯出來,比如說在這個句子裏面,『假』和『惡』沒有被翻譯出來。甚至有的時候輸入一個長句子有逗號分隔,有幾個子句都沒有翻譯出來。這確實是神經網絡翻譯面臨的一個問題。通過剛纔的講解知道,翻譯模型把原文句子整體讀進去以後形成了一個向量,然後再對這個向量進行解碼。翻譯模型認爲有些詞不應該產生,從而漏掉了譯文。

漏譯的原因是什麼,如何解決這個問題?這方面有很多工作,下面我就從幾個方面去講一下。我們今年有一篇論文從數據方面去分析。我們發現漏譯與詞語的熵成正相關關係,這個詞的熵越大,漏譯的可能性越大。它所對應的目標語言詞越多,概率越分散(熵越大),越有可能被漏譯。
alt
左邊的例子,S1對應3種不同的翻譯,(s1,t1) (s1,t2) (s1, t3 t4),它的熵就比較大。我們把所有對應的翻譯統一替換爲一個特殊詞『stoken4s1』,以降低詞語翻譯的熵值。右邊呢是我們提出來的三種方法,去改善翻譯結果,包括pre-training, multitask learning, two-pass decoding。大家有興趣的話,可以去看論文。
alt
從實驗結果來看,相比Transformer,在中英翻譯質量上有顯著提高,高熵值詞語的漏譯比例顯著下降。

數據稀疏

alt
第二個挑戰就是數據稀疏。相比於統計機器翻譯,這個問題對神經網絡翻譯而言,更嚴重。實驗表明,神經網絡對於數據量更敏感。
alt
針對數據稀疏問題,我們提出了一個多任務學習的多語言翻譯模型。在進行多語言翻譯的時候,源語言共享編碼器,在解碼端,不同的語言,使用不同的解碼器。這樣在源語言端就會共享編碼器的信息,從而緩解數據稀疏問題。後來,加拿大蒙特利爾大學、Google等在此方向上陸續開展了多個工作。
alt
實驗表明,我們的方法收斂更快,翻譯質量也明顯提高。更多細節,請閱讀論文。
alt
這篇論文是2018年EMNLP上的best paper,提出了一個統一的框架。A)裏面藍色的點和紅色的點分別代表兩種不同的語言句子。如何通過兩種語言的單語數據構建翻譯系統呢?

首先我要做一個初始化,B)是初始化。首先構建一個詞典,把這兩種語言之間的詞做一下對齊。C)是語言模型,基於單語數據,可以訓練語言模型,用來衡量這個語言的流利度。那麼D)是什麼? D)是一個稱作Back Translation的技術,是目前大家常用的一個用於增強數據的方法。

用B)初始化後構建的一個詞典,就可以從一種語言翻譯爲另外一種語言,哪怕是先基於詞的翻譯。然後,用另外一種語言的語言模型去對譯文進行衡量。然後把得分高的句子挑出來,再翻譯回去,這一過程稱作Back Translation,然後再用原來那種語言的語言模型去衡量這個句子好還是不好。這樣一輪一輪的迭代,數據就會變得越來越好,系統翻譯質量也會越來越好。

引入知識

第三個挑戰就是引入知識,如何將更多豐富的知識引入翻譯模型是機器翻譯長期面臨的挑戰。這個例子中,中文句子中『橫流』對應到目標語言端是沒有翻譯出來的,用一個特殊的記號叫UNK(Unknown Word)來標記。
alt

那麼我們做一個什麼樣的工作呢?我們引入了幾種知識,第一種就是叫短語表或者叫詞表。如果發現『橫流』這個詞沒有被翻譯出來,我們就去查這個詞典,這個詞典就作爲一個外部知識被引入進來了。同時,那我們還引入了一個語言模型,語言模型去衡量目標語言的這個句子是不是流暢。同時,我們引入一個長度獎勵特徵去獎勵長句子。因爲句子越長,可能漏掉的信息就越少。這個工作首次將統計機器翻譯中的特徵引入神經網絡翻譯,可以作爲引入知識的一個框架。
alt

但是目前來說,引入知識還是比較表層的。知識的引入,還需要更多更深入的工作。比如說這個例子, 這個句子是存在歧義的。『中巴』 在沒有給上下文的時候,是無法判斷『巴』是哪個國家的簡稱。

但是下面的句子,有一個限定,“金磚框架”。這個時候,人們就知道該如何翻譯了。但是,機器能不能知道?大家可以去翻譯引擎上去驗證。因爲人是知道中國跟哪些國家是金磚國家,但是機器沒有這個知識。怎麼把這個知識交給機器去做,這是一個非常挑戰的問題。

還有一個挑戰,是可解釋性:神經網絡翻譯到底是神還是神經?雖然人們可以設計和調整網絡結構,去優化系統,提高質量。但是對於該方法還缺乏深入的理解。

也有很多工作去試圖研究網絡內部工作機理。清華大學有一篇文章從注意力的角度去進行研究。

比如左邊的例子,出現了一個UNK,那個UNK是怎麼產生的,它雖然沒有被翻譯出來,但是出現在正確的位置,佔了一個位置。通過Attention對應關係,可以看到這個UNK對應到『債務國』。右邊例子是一個重複翻譯的現象。神經網絡機器翻譯除了經常漏翻譯之外,還會經常重複翻譯。比如說出現了兩個“history”。那麼通過這個對應關係我們就可以看到,第6個位置上的“history”是重複出現的,它的出現不僅跟第一個位置“美國人”和第二個位置“歷史”相關,還跟第5個位置“the”相關。因爲產生了一個定冠詞“the”,模型認爲這個地方應該出現一個“history”,這篇文章對這樣的例子進行了大量的分析,並且給出了一些分析結果和解決方案。如需進一步瞭解,可以看原始論文。還有第五個挑戰 ,是機器翻譯長期以來面臨的挑戰,語篇翻譯。大部分的翻譯系統現在所使用的翻譯方法都是基於句子,以句子作爲單位,一個句子一個句子的進行翻譯。單看這三個句子翻譯還可以接受。但是連起來看就覺得生硬不連貫。

語篇翻譯

還有第五個挑戰 ,是機器翻譯長期以來面臨的挑戰,語篇翻譯。大部分的翻譯系統現在所使用的翻譯方法都是基於句子,以句子作爲單位,一個句子一個句子的進行翻譯。單看這三個句子翻譯還可以接受。但是連起來看就覺得生硬不連貫。
alt
我們的方法輸出的結果。可以看到,定冠詞、代詞的加入提升了句子間的連貫性。
alt
alt
我們提出了一個兩步解碼的方法。在第一輪解碼中單獨生成每個句子的初步翻譯結果,在第二輪解碼中利用第一輪翻譯的結果進行翻譯內容潤色,並且提出使用增強式學習模型來獎勵模型產生更流暢的譯文。這是我們系統輸出的一個結果,整體上,流暢度提高了。

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