0
本文作者: 我在思考中 | 2021-11-25 17:54 |
然而,上面提到的場景往往有一個(gè)共同點(diǎn),那就是被翻譯的文本往往是不規(guī)范的。無論是聊天時(shí)手誤導(dǎo)致的錯(cuò)別字,還是視頻語音原文識別的錯(cuò)誤,都會極大地影響譯文質(zhì)量。因此,實(shí)際應(yīng)用場景下的機(jī)器翻譯對翻譯模型的魯棒性有很高的要求。
今天就為大家介紹一篇由字節(jié)跳動人工智能實(shí)驗(yàn)室火山翻譯團(tuán)隊(duì)發(fā)表在 EMNLP 2021 Findings 的短文 - Secoco: Self-Correcting Encoding for Neural Machine Translation。這篇論文讓翻譯模型在學(xué)習(xí)翻譯任務(wù)的同時(shí),學(xué)習(xí)如何對輸入的帶噪文本進(jìn)行糾錯(cuò),從而改善翻譯質(zhì)量。
神經(jīng)機(jī)器翻譯在近些年取得了很大進(jìn)展,但是大部分工作都是基于干凈的數(shù)據(jù)集。在現(xiàn)實(shí)生活中,神經(jīng)機(jī)器翻譯系統(tǒng)面對的輸入往往都是包含噪聲的,這對翻譯模型的魯棒性提出了很大挑戰(zhàn)。
之前的翻譯魯棒性工作主要分為三類:
第一類是針對模型生成對抗樣例,這些生成的對抗樣例被用于一起重新訓(xùn)練模型。
第二類是針對訓(xùn)練數(shù)據(jù),通過過濾訓(xùn)練數(shù)據(jù)中的噪聲來提升模型質(zhì)量。
第三類則是專注于處理輸入中包含的天然噪聲,他們使用規(guī)則,回翻等方法來合成噪聲,并混合到原始數(shù)據(jù)中一起訓(xùn)練。
可以看到,大部分的工作都專注于如何生成噪聲,很少探究如何進(jìn)一步使用它們;本文則想要通過建模從噪聲數(shù)據(jù)到干凈數(shù)據(jù)的修正過程,從而增強(qiáng)模型的魯棒性。
作者針對神經(jīng)機(jī)器翻譯提出了具有魯棒性的自修正框架Secoco (Self-correcting Encoding)。
圖2 整體模型架構(gòu)
雖然這種迭代編輯的過程每一步都需要前面的操作,但是為了簡化訓(xùn)練過程,插入預(yù)測器和刪除預(yù)測器都是相互獨(dú)立的,并與普通的翻譯任務(wù)同時(shí)進(jìn)行訓(xùn)練。
一個(gè)關(guān)鍵的問題是如何生成這些訓(xùn)練數(shù)據(jù)?關(guān)鍵點(diǎn)在于獲取從帶噪數(shù)據(jù)轉(zhuǎn)化為干凈數(shù)據(jù)的編輯操作。作者提供了兩種方式。一種是針對有帶噪數(shù)據(jù)和對應(yīng)干凈 reference 數(shù)據(jù)的情況,一種是沒有帶噪數(shù)據(jù)的情況。
對于有reference的數(shù)據(jù),可以使用類似計(jì)算最短編輯距離的方法,獲取從帶噪數(shù)據(jù)轉(zhuǎn)化為干凈數(shù)據(jù)的最短編輯過程,然后將替換操作轉(zhuǎn)化為刪除-插入操作。
對于沒有reference的數(shù)據(jù),可以使用基于規(guī)則的方法生成偽數(shù)據(jù)。針對不同的場景,可以設(shè)計(jì)對應(yīng)的規(guī)則,然后從干凈的數(shù)據(jù)中生成帶噪數(shù)據(jù),最后反向這個(gè)過程就可以得到編輯過程。
訓(xùn)練完成后,便可以進(jìn)行解碼。正如圖2右側(cè)展示的,Secoco 有兩種解碼方式。第一種是僅使用編碼器-解碼器結(jié)構(gòu)直接進(jìn)行翻譯 (Secoco-E2E),另一種則是對輸入進(jìn)行迭代編輯后再進(jìn)行翻譯 (Secoco-Edit)。
作者在三個(gè)測試集進(jìn)行了實(shí)驗(yàn),包括一個(gè)基于電視劇的中英對話測試集,一個(gè)內(nèi)部的中英語音翻譯測試集,以及加入人工噪聲的英德WMT14測試集。
表1 測試集統(tǒng)計(jì)
如表1所示,對話測試集包含主語省略,標(biāo)點(diǎn)省略,錯(cuò)別字等問題;語音測試集包含口語詞,錯(cuò)別字等 ASR 引起的問題;WMT14 則包含由規(guī)則構(gòu)造的隨機(jī)插入,隨機(jī)刪除,重復(fù)等問題。
實(shí)驗(yàn)結(jié)果如表2所示。除了 Secoco 之外,作者還和3種方法進(jìn)行了對比,分別是將合成的噪聲數(shù)據(jù)加入原始數(shù)據(jù)中一起訓(xùn)練 (BASE+synthetic);使用修復(fù)模型加上翻譯模型的 pipeline 級聯(lián)結(jié)構(gòu) (REPAIR);以及多編碼器-單解碼器的結(jié)構(gòu) [1] (RECONSTRUCTION)。可以看出,所有的方法相較于基線模型都有所提升。Secoco 在三個(gè)測試集上都獲得了最好的效果。
表2 實(shí)驗(yàn)結(jié)果
此外,在這三個(gè)測試集中,對話測試集明顯包含更多的噪聲,Secoco 最多可以帶來3個(gè) BLEU 的提升。語音測試集由于是由 ASR 導(dǎo)出的,因此最好的結(jié)果也僅有12.4。
表3 迭代編輯樣例
表格3中給出了一些迭代編輯的具體例子。針對每一句輸入,模型對其進(jìn)行迭代刪除和插入操作,直到文本不再發(fā)生變化。從例子中可以看到,一次編輯操作可以同時(shí)刪除或者插入多個(gè)詞。此外,對于上述的測試集,平均每個(gè)句子需要2-3次編輯操作。
針對互聯(lián)網(wǎng)中非規(guī)范輸入帶來的魯棒性問題,本文主要介紹了一個(gè)具有自我修正能力的神經(jīng)機(jī)器翻譯框架 Secoco,該框架通過兩個(gè)獨(dú)立的編輯操作預(yù)測器建模修正帶噪輸入的過程。實(shí)驗(yàn)表明,Secoco 在多個(gè)測試集上都優(yōu)于基線模型,增強(qiáng)了翻譯模型的魯棒性,并提供了一定的可解釋性。
雷峰網(wǎng)(公眾號:雷峰網(wǎng))
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。