神經機器翻譯在資源豐富的語種上取得了良好的翻譯效果,但是由于數據稀缺問題在漢語-越南語這類低資源語種上性能不佳。目前緩解該問題最有效的方法之一是利用現有資源生成偽平行數據。考慮到單語數據的可利用性,在回譯方法的基礎上,首先將利用大量單語數據訓練的語言模型與神經機器翻譯模型進行融合,然后在回譯過程中通過語言模型融入語言特性,以此生成更規范質量更優的偽平行數據,最后將生成的語料添加到原始小規模語料中訓練最終翻譯模型.在漢-越翻譯任務上的實驗結果表明,與普通的回譯方法相比,通過融合語言模型生成的偽平行數據使漢-越神經機器翻譯的性能獲得了 1.41 個 BLEU 值的提升。
計算機應用 發表時間:2021-03-22《計算機應用》雜志,于1981年經國家新聞出版總署批準正式創刊,CN:51-1307/TP,本刊在國內外有廣泛的覆蓋面,題材新穎,信息量大、時效性強的特點,其中主要欄目有:先進計算、網絡與通信、計算機軟件技術等。
關鍵詞: 漢-越神經機器翻譯;數據增強;偽平行數據;單語數據;語言模型
0 引言
神經機器翻譯 (Neural Machine Translation, NMT)是 Sutskever 等[1]提出的端到端的機器翻譯方法,其訓練數據越多模型性能越好,但對于資源稀缺型語言而言,可獲取的雙語數據十分有限,這也是導致翻譯效果不佳的主要原因。
目前改善低資源語言神經機器翻譯系統性能的方法有很多,其中利用現有資源擴充偽平行數據的方法是目前較為有效的方法之一。目前實現數據擴充的方法主要有四類:第一類方法是在可比語料中抽取偽平行句對[2-3],通過將源語言與目標語言映射到同一空間中,根據一定規則挑選出候選平行句對,這種方法能夠有效地抽取偽平行語料,但是不容易捕捉句子特征,并且抽取到的偽平行句對噪聲較大;第二類方法是基于詞的替換[4-5],利用現有小規模平行句對指定的詞進行規則替換得到新的偽平行句對,但是當出現單詞一對多的情況時效果不佳;第三類是基于樞軸語言的方法[6],文獻[7] 將其整理分為系統級、語料級以及短語級三種方法,并提出通過擴大生成訓練數據的規模以及優化詞對齊質量的方式來提高系統的翻譯性能,此方法適用于零資源語言但產生的語料質量不佳,針對此問題文獻[8]將源-樞軸及樞軸-目標語言的稀有詞整理為雙語詞典并融入到樞軸語言方法的翻譯過程中,有效地提升了樞軸語言方法生成偽平行數據的質量;第四類是利用單語數據進行回譯(Back Translation, BT)[9],通過小規模訓練數據訓練目標語言到源語言的翻譯模型,將目標語言單語數據翻譯為源語言數據,以此生成偽平行數據。
漢語-越南語是典型的低資源語言對,可獲取的平行語料較少,通過數據擴充生成偽平行數據可以較好地緩解此類問題。考慮到單語數據易于獲取且資源充足,但大多數現有的方法沒有充分利用單語資源,因此本文針對利用單語數據生成偽平行語料的方法進行了探索研究。由于利用大量單語數據訓練的語言模型可以較好的學習到語言特性,因此本文將單語語言模型與神經機器翻譯模型融合,使得在偽平行數據生成過程中可以通過語言模型融入目標語言的語言特性。實驗表明,相比基準系統本文方法生成的偽平行數據能有效提高漢越神經機器翻譯的性能。
1 相關工作
近年來,國內外相關研究人員對單語言數據如何提升系統翻譯性能進行了廣泛研究,文獻[10]將利用單語數據提升神經機器翻譯性能的方法分為與體系結構相關的方法和與體系結構無關的方法。與體系結構相關的方法是需要神經機器翻譯模型的特定結構特征或需要對體系結構進行更改,與體系結構無關方法是使用單語語料生成偽平行語料,然后將偽平行語料與平行語料混合。
目前,目標語言端的單語數據已經被證實能夠極大的提升模型的翻譯質量,并被廣泛利用,最有效的就是文獻[9]提出的回譯方法,即反向翻譯(Back Translation, BT),使用預先訓練的機器翻譯系統翻譯目標語言的單語數據,從而生成大量的偽雙語數據,并將這些偽雙語數據添加到原始數據中進行源語言到目標語言翻譯模型的訓練,但是其翻譯生成的句子會存在許多錯誤,從而影響源語言到目標語言的翻譯模型訓練。文獻[11]利用不同性能的翻譯模型通過回譯生成質量不同的偽平行數據,研究偽平行數據質量對性能提升的影響,證明了偽平行數據的質量越好對模型性能的提升也會越高,但其只是通過不同模型改變質量,并沒有對如何提升偽平行數據質量進行研究。在Park等[12]和Crego等[13]的研究中表明,通過正向翻譯(Forward Translation, FT)獲得的人工平行語料也可以證明是有利的,但是提升效果相比回譯較差。Stahlberg 等[14]對偽平行數據有效性的上界進行了探索,偽平行數據與原始數據的比例不超過 8:1,就不會降低系統的性能。文獻[15] 提出了一種將源語言單語數據和目標語言單語數據進行聯合訓練的方法,通過同時訓練源到目標和目標到源的翻譯模型,在訓練過程中同時利用正向和反向生成的偽平行數據對兩個模型進行迭代訓練。文獻[16]提出利用源語言和目標語言的大規模單語數據,通過正向翻譯和反向翻譯生成偽平行數據,實驗結果表明只使用源端或目標端的單語數據生成更多的偽平行數據,對模型的提升效果不會隨著數據量的增加而增加。
以上方法均是利用單語數據生成偽平行數據提升神經機器翻譯的性能,但對低資源語言神經機器翻譯性能的提升仍然有限。漢語和越南語都是獨立派系的語言且漢越雙語訓練數據稀缺,考慮到偽平行數據的數量對系統性能的提升有限,而語言模型容易通過訓練得到,因此本文在偽平行數據的生成過程中,將利用大量單語數據訓練得到目標語言語言模型融合到神經機器翻譯模型中,融合目標語言模型的預期效果是通過語言模型在偽平行數據的生成中融入語言特性,幫助生成語法正確的句子,使得到的偽平行數據更加規范,從而提高偽平行數據的質量。由于正向翻譯和反向翻譯生成的數據均可以提升系統的性能,同時為了充分證明融合單語語言模型方法的有效性,本文在正向和反向上都生成了漢越偽平行數據,其中正向翻譯中融合的是越南語越南源語言模型,反向翻譯中融合的是漢語語言模型。由于生成的偽平行語料中包含部分噪聲,因此本文對生成的偽平行語料利用漢語和越南語語言模型對其進行質量篩選,將最后得到的偽平行數據與原始數據一起訓練最終漢-越神經機器翻譯模型。
2 單語數據生成偽平行數據方法
2.1 偽平行數據生成框架
目前已知正向翻譯和回譯生成的偽平行數據對系統性能均有提升,因此在兩個方向上生成偽平行數據,并對其對翻譯系統提升的效果進行了實驗對比。對于語言模型與翻譯模型的融合,本文進行了兩種融合方法的實驗,分別稱為基于獨立訓練的語言模型融合和基于合并訓練的語言模型融合。語言模型的選擇上采用可以處理任意長度輸入序列的循環神經網絡語言模型(Recurrent Neural Network Language Model, RNNLM)[17],整體結構流程如圖 1 所示。
語言模型可以看作是對一個句子存在概率的評估,通過將語言模型融合后對單語數據進行翻譯生成偽平行數據,在偽平行數據生成過程中可以結合目標語言的語言特性。圖 1 中對正向翻譯和反向翻譯生成的偽平行數據進行篩選所用的漢越語言模型是相同的,均是利用相同的單語數據訓練得到的語言模型。以下將從生成偽平行數據的方式、RNNLM 和 NMT 獨立訓練融合、RNNLM 和 NMT 合并訓練融合以及語言模型困惑度語料篩選幾個方面對本文利用單語數據實現語料擴充的方法進行說明。
2.2 融合語言模型的偽平行數據生成方法
反向翻譯方法被證實是一種非常有效并且能較好的提升翻譯系統性能的方法,該方法有效地利用了目標語言的單語數據。具體流程如圖 1 所示,首先使用小規模漢越雙 語 語 料 ( ) ( ) 1 { ( , ) } n n N D x y n ??訓 練 一 個 越 漢 翻 譯 模 型 M y x ?,然后將此翻譯模型與外部語言模型進行融合,同時將 越 南 語 單 語 數 據 ( ) 1 { } t T t Y y ??翻 譯 為 漢 語 數 據 ( ) 1 ' { } t T t X x ??,在翻譯期間通過融合的語言模型對翻譯的數據結合越南語的語言特性使其規范化,以此構成反向翻譯生成的漢越偽平行數據 ~ ( ) ( ) 1 { ' , } t t T y x t D x y ? ? ?,然后將生成的偽平行數據經過語言模型篩選后與原始數據一起訓練漢越神經機器翻譯模型。
正向翻譯方法生成的偽平行數據對系統的提升效果比反向翻譯的略差一些,但對系統的翻譯性能仍有提升。流程如圖 1 所示,使用小規模雙語語料 D ,訓練漢到越的翻譯模型,然后用此模型將漢語單語數據 ( ) 1 { } t T t X x ??翻譯為越南語數據,在翻譯過程中本文將外部單語語言模型融合進來,通過語言模型將越南語語言特性結合進來,生成通過正向翻譯的漢越偽平行數據 ~ ( ) ( ) 1 { ' , } t t T y x D x y t ? ? ?,最后將生成的偽平行數據與原始數據一起訓練漢越神經機器翻譯模型。
2.2.1 基于獨立訓練的語言模型融合
語言模型訓練方便并且可以學習到較好的語言特性,對翻譯性能可以有很好的提升效果,因此本文探索了語言模型獨立于翻譯模型的融合方式,因為模型間相互獨立所以對語言模型的架構沒有限制,本文可以選擇基于 n 元語法(n-gram)的前饋語言模型[18]或是基于循環神經網絡的語言模型,由于循環神經網絡語言模型通過使用詞向量 (Word Embedding)作為輸入能夠在一定程度上緩解數據稀疏問題,并且循環結構的引入,可以對長距離信息進行有效建模,獲得更好的語言模型性能,因此本文方法選用循環神經網絡語言模型進行實驗。
RNNLM 與 NMT 獨立訓練融合,是對 NMT 與 RNNLM 分別進行訓練,最后在模型 softmax 層輸出概率進行拼接融合的方法。首先利用大量越南語單語語料對語言模型進行預訓練,同時利用現有數據訓練一個漢越神經機器翻譯模型,然后在神經機器翻譯模型每一時間步長預測下一個單詞的時候,將 NMT 的概率分布與 RNN 語言模型的概率分 布 進 行 加 權 合 并 , 以 包 含 注 意 力 機 制 (Attention Mechanism)[19]的 RNNsearch 模型[20]為例,模型融合后在 t 時刻下翻譯流程如圖 2 所示。
在神經機器翻譯模型和 RNN 語言模型的每個時間步長,翻譯模型和語言模型都會根據前一時刻預測的單詞對建議下一個可能的單詞進行概率預測,然后將 NMT 預測的概率 N M T ( | ) t P y x 與語言模型預測的概率 LM ( ) t P y 乘以超參數?相加,最后概率最高的單詞被選為序列中的下一個單詞 t y ,式(1)為 NMT 模型在 t 時刻預測的單詞概率,此方法思想便是將 t y 的概率預測從式(1)修改成式(2): N M T lo g a rg m a x lo g ( | ) t y y P y x ? (1) N M T L M lo g a rg m a x lo g ( | ) lo g ( ) t y y P y x P y ? ? ? (2)
其中: x 為源語言詞, y 為目標語言詞, t 1 y ? 為前一時刻預測的目標語言單詞,?為超參數,作為語言模型譯句的概率分布的權重,此方法需要對驗證數據進行額外的微調,以控制語言模型的影響。為了使單詞序列獲得的更加準確,神經機器翻譯模型中解碼器應用集束搜索(Beam Search),選擇 beam size=3,即選擇概率最大的產生 3 個最可能的序列,直到預測結束為止,然后選擇概率最高的序列。
通過此融合后的模型,利用正向翻譯和反向翻譯方法生成偽平行數據,與原始數據混合后再進行漢越神經機器翻譯模型訓練。
2.2.2 基于合并訓練的語言模型融合
在訓練過程中,考慮到更深的融合可以更好的融合語言特性,因此本文對語言建模集成到神經機器翻譯模型體系結構中的方法進行了實驗。合并訓練融合的好處是,考慮到神經網絡體系結構的特征,本文可以更有效地利用循環神經網絡語言模型。合并訓練融合直接將基于循環神經網絡的語言模型的隱狀態和神經機器翻譯模型解碼器的隱狀態合并在一起,然后用此合并的隱狀態預測最終翻譯概率,合并訓練融合方法的結構流程如圖 3 所示。
如圖 3 所示,與原始神經機器翻譯模型不同,最終的隱藏層除了 NMT 的隱藏狀態外,還將循環神經網絡語言模型的隱藏狀態作為輸入。其中 t y 為 t 時刻預測的目標語言單詞, C t 為 t 時刻的上下文向量, LM t s 為語言模型 t 時刻的隱藏層狀態, N M T t s 為神經機器翻譯模型 t 時刻解碼器的隱狀態,在每一時間步長中語言模型和翻譯模型的隱狀態還將嵌入前一時刻預測的單詞序列。因此影響整體性能的因素為上下文向量 C t 、前一時刻的單詞序列 t 1 y ? 以及隱向量狀態 N M T s 和 LM s , t 時刻預測單詞概率如式(3) 所示: lo g a rg m a x lo g ( | , ) t y P y x y t ? ? (3)
為了平衡語言模型對神經機器翻譯模型的影響,用一個控制器網絡 t g 在每一步計算中調整語言模型隱狀態和解碼器隱狀態之間的權重,并根據訓練數據對模型的隱藏輸出和控制器機制參數進行微調,具體過程如式(4)~(5)所示: 1 T L M N M T ( | , ) e x p ( ( ( , , , ) )) t t o t o o t t t P y y t x y f y b ?? ? W s s C ? (4)
其中:W o 是學習得到的權重矩陣, o f 是具有雙向最大非線性輸出的單層前饋神經網絡, o b 為偏差。 T L M ( ) t g t g o g b f ? ? ? v s (5)
其中:?是 logistic 函數, g ? v 和 g b 是學習參數。通過將控制器的輸出與語言模型的隱狀態相乘,使解碼器可以充分利用 NMT 的信號,而控制器則控制語言模型信號的權重。同時為了使語言模型所學到的越南語特性不被覆蓋,在訓練過程中,只對用于參數化輸出的參數進行調整。
在漢到越的情況下,當沒有與中文單詞相對應的越南語單詞時,在這種情況下語言模型可以提供更多信息,同時如果要翻譯單詞為名詞時,則最好忽略來自語言模型隱藏層的信號,因為名詞對后續單詞概率預測的影響較大,這可能會影響解碼器選擇正確的翻譯。
2.3 基于語言模型困惑度的數據篩選
在統計機器翻譯中語料質量評價的方法有很多,路琦等 [21]對其訓練語料質量的篩選方法進行了詳細的研究。對于神經機器翻譯偽平行數據的篩選,由于語言模型計算句子的困惑度(perplexity)實現方便且準確度高,同時語言模型的困惑度評價可以評判句子中單詞序列出現的合理性,可以對句子的流暢度進行評判,因此本文選擇此方式來過濾低質量的偽平行語料。困惑度的評判標準是越小句對的合理性越高,句子的流暢度也越好。基于語言模型困惑度的漢越偽平行數據篩選流程如圖 4 所示。
利用語言模型篩選數據的特點在于首先對生成的偽平行數據進行排序標號,然后同時利用漢語語言模型和越南語語言模型對偽平行數據中各自語言部分進行困惑度評判,通過過濾得到困惑度小于閾值的句子序號,然后根據句對的序號排列取其交集得到最終符號條件的句對序號,最后在原始偽平行數據中遍歷掃描,得到最終實驗可用的偽平行數據。
3 實驗與分析
3.1 實驗設置
為驗證融合單語語言模型生成的漢越偽平行數據的有效性,本文分別在正向翻譯和反向翻譯上生成偽平行數據,并與原始數據結合訓練漢越神經機器翻譯模型。同時為了驗證融合單語語言模型生成的數據質量要比原始模型生成的偽平行數據質量高,可以使模型獲得更好的性能提升,本文分別對不同的偽平行數據對系統性能提升的影響進行對比分析。考慮到生成偽平行數據所用單語數據與訓練語言模型所用單語數據的相關性對最終模型性能的影響,本文還對來自不同領域的單語數據生成的偽平行語料對系統性能的影響進行了實驗對比。
實驗中所用漢越雙語語料是通過網絡爬取并進行數據清洗后得到的 160K 平行句對,并分為訓練集、驗證集與測試集,其中驗證集、測試集為在 160K 平行句對中隨機抽取的 2K 個句對,本文總共收集漢語單語語料和越南語單語語料各 3200K,其中 3000K 用來訓練語言模型,其中 500K 來自教育 領 域 語 料 庫 QCRI , 2500K 來 自 維 基 百 科 (Wikipedia)20191201 整理的數據集,余下 200K 用來進行偽平行數據生成,其中 QCRI 和 Wikipedia 語料各 100K。對單語數據進行隨機打亂后進行實驗,實驗所用數據如表 1 和表 2 所示。
在進行實驗前需要先對數據進行預處理,首先對訓練數據進行 tokenization 處理,并將句子長度在 50 個詞以上的句對過濾。實驗中使用的神經機器翻譯模型是 RNNsearch 和谷歌(Google)開源模型 Transformer,使用的語言模型是基于循環神經網絡的語言模型(RNNLM)。所有實驗均使用大小為 156K 的雙語平行語料作為訓練集,詞表大小均設置為 30K,實驗均在單卡 GPU 服務器上進行,為防止出現過擬合現象,在多次實驗調整后將損失值 dropout 設置為 0.1,批值(batch size)為64,隱層單元(hidden units)為512,訓練步長(train steps) 為 200K,使用 BLEU4 作為評測指標。
3.2 實驗結果與分析
為了對比了在 RNNsearch 模型和 Transformer 模型與 RNNLM 融合生成的偽平行數據對漢越神經機器翻譯性能的影響,并在實驗中對比了不同語言模型融合方式生成的偽平行數據對漢越神經機器翻譯性能的影響。實驗中 baseline 為僅利用原始數據訓練得到的模型效果,最終模型翻譯方向均為漢到越,生成的偽平行數據通過語言模型篩選在正向和反向翻譯中分別過濾了 5982 和 8073 個句對,通過正向翻譯方法擴展了 194K 偽平行數據,通過反向翻譯方法擴展了 192K 可用偽平行數據。為保證實驗結果的可靠性,每組實驗結果的 BLEU 值都是利用相同測試集進行實驗得到的結果,實驗 結果如表 3 所示。
實驗結果表明,增加偽平行數據后可以提升漢越神經機器翻譯模型的翻譯性能,并且通過基于合并訓練融合生成的偽平行語料對翻譯性能的提升效果要優于基于獨立訓練融合的效果,同時相較于獨立訓練融合方法 BLUE 值約平均提升了 0.45。正向翻譯方法生成的偽平行語料提升效果相比于反向翻譯方法要略低一些,這是因為反向翻譯生成的偽平行數據中越南語部分是真實語句,漢語部分為翻譯生成的語句,而正向翻譯剛好相反,這使得模型在進行訓練時無法較為準確的獲取越南語語言信息,所以反向翻譯比正向翻譯生成的偽平行數據對系統的提升效果要好。最后將正向和反向生成的偽平行數據合并,進一步增加了偽平行數據的數量,在 Transformer 模型中相較于 baseline 最高獲得了 1.41 個 BLEU 值的提升。
在實驗中,RNNsearch 模型的效果較差,這是因為基于 RNN 的翻譯模型在訓練過程中由于線形序列依賴特性很難具備高效的并行計算能力,并且編碼器產生固定長度的源語言上下文向量,這種方式無法充分的利用上下文關系,而 Transformer 模型的編碼器層是由 6 個 encoder 堆疊而成,解碼器也一樣,每個 encoder 包含兩層,一個 self-attention 層和一個前饋神經網絡,self-attention 能幫助當前節點不僅僅只關注當前的詞,同時能更好的獲取上下文的語義信息, decoder 也包含這兩層網絡,并在這兩層中間還有一個 attention 層,幫助當前節點獲取到當前需要關注的重點內容,所以 Transformer 可以更好地利用上下文信息并且充分的利用數據訓練翻譯模型。
為了驗證融合單語語言模型方法生成的偽平行數據質量相對較好,在此對不同的偽平行數據對系統性能提升的影響進行對比分析,下面將在 RNNsearch 和 Transformer 模型下對比無語言模型融合與融合語言模型生成的偽平行數據,對最終翻譯模型性能提升的效果進行實驗,其中偽平行語料規模均固定為 200K,結果如表 4 所示。
實驗結果表明,基于獨立訓練融合生成的偽平行數據與無語言模型生成的偽平行數據對系統性能的提升相近,影響不大,而通過基于合并訓練融合生成的偽平行數據相對無語言模型生成的偽平行數據對系統性能提升較高,這是因為偽平行數據的質量得到了提高,可以進一步提升模型的翻譯效果。
為了驗證使用與訓練語言模型來自不同領域的單語語料生成的偽平行語料對模型性能提升的影響,本文在漢語-越南語翻譯方向上,利用基于合并訓練的語言模型融合方式,通過反向翻譯方法利用越南語單語數據生成偽平行數據。其中訓練語言模型的數據來自維基百科的單語語料,將生成偽平行語料的單語語料分為 4 種不同組成,分別為完全來自 Wikipedia、75%與語言模型的領域相同余下部分為教育領域語料、50%相同和領域完全不同(0%),結果如表 5 所示。
實驗結果表明,當訓練語言模型與翻譯利用的單語數據領域相似越多,偽平行數據對最終翻譯模型 BLEU 值的提升也會越高。
3.3 譯文對比分析
以正向翻譯(漢到越)生成的偽平行數據為例,對比分析融入循環神經網絡語言模型后生成偽平行數據的質量影響,將漢語通過本文方法翻譯為越南語,翻譯對比結果如表 6 所示。
通過對比不同方式生成的偽平行句對可以看出, Transformer 模型生成的偽平行數據質量要高于 RNNsearch 模型,主要原因是 Transformer 模型可以更好地結合上下文信息,并且對于部分詞的翻譯更為準確,如“與藍色混合”譯文為“pha trô?n(混合) v?i(與) màu xanh lam(藍色)”,而 RNNsearch 的譯文為“và(與) xanh(綠色) ???c trô?n(混在一起)”,存在明顯的句法錯誤和詞的翻譯問題。同時可以看出通過基于合并訓練的語言模型融合方式翻譯得到的越南語譯文質量比基于獨立訓練融合得好,如“那些幫助過我的人”的正確譯文為“nh??ng(那些) ng???i(人) t??ng(曾經) giu?p ???(幫助) tôi(我)”,合并融合方式翻譯得到的越南語譯文更加符合越南語語言特性,而獨立訓練融合方式效果相對較弱。
4 結語
本文針對漢越神經機器翻譯數據稀缺問題,充分利用單語數據資源,提出了利用單語數據在正向和反向兩個方向上生成偽平行數據的過程中將循環神經網絡語言模型融合到神經機器翻譯模型中的方法,通過語言模型結合語言特性,從而提升了偽平行數據的質量。實驗結果表明,這種方法與單一的正向翻譯和反向翻譯生成方法相比,可以在漢越神經機器翻譯中通過提升偽平行數據質量從而更好的提升翻譯系統的性能。在未來工作中,本文會探索單語數據的選擇以及偽平行數據與原始數據的權重比對系統翻譯性能的影響。
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >