來自:AI科技評論
近期,字節(jié)跳動人工智能實(shí)驗(yàn)室在 EMNLP 2021 上發(fā)表了一篇關(guān)于在線更新機(jī)器翻譯系統(tǒng)的論文。
機(jī)器翻譯系統(tǒng)在線更新指的是使用單個翻譯樣本更新機(jī)器翻譯系統(tǒng)。工業(yè)應(yīng)用中對機(jī)器翻譯系統(tǒng)在線更新的需求主要來自于兩類場景:
在線修復(fù) bad case。機(jī)器翻譯系統(tǒng)不是完美無缺的,有時系統(tǒng)對某些輸入會生成錯誤的譯文,這樣的輸入我們稱之為 bad case。快速修復(fù) bad case 是機(jī)器翻譯系統(tǒng)實(shí)際應(yīng)用中的硬需求。而使用 bad case 及其對應(yīng)的正確譯文更新機(jī)器翻譯系統(tǒng)為快速修復(fù) bad case 提供了一種巧妙的思路。
使用流式生成的翻譯數(shù)據(jù)增量更新機(jī)器翻譯系統(tǒng)。機(jī)器翻譯的訓(xùn)練數(shù)據(jù)不總是固定的,在一些場景中語言專家每天都會標(biāo)注出新的機(jī)器翻譯數(shù)據(jù)。使用這種流式生成的數(shù)據(jù)對機(jī)器翻譯系統(tǒng)做全量的更新是成本很高的,而借助在線更新機(jī)器翻譯系統(tǒng)的方法,對翻譯系統(tǒng)做增量的更新不僅可以提升翻譯性能,更新成本也大大降低。
當(dāng)前主流的機(jī)器翻譯系統(tǒng)都是基于神經(jīng)網(wǎng)絡(luò)搭建的,而參數(shù)眾多結(jié)構(gòu)復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型難以做到在線更新?;跇颖镜臋C(jī)器翻譯系統(tǒng)卻很容易做到在線更新。在基于樣本的機(jī)器翻譯系統(tǒng)中,通常存在一個大規(guī)模的翻譯語料庫。給定一條源語言句子,生成對應(yīng)翻譯結(jié)果的過程中,需要從翻譯語料庫中檢索出若干相似的翻譯樣本,并利用檢索到的樣本生成最終的譯文。更新基于樣本的機(jī)器翻譯系統(tǒng)只需要更新翻譯語料庫就可以了,無需更新機(jī)器翻譯模型的參數(shù)。
但是基于樣本的機(jī)器翻譯系統(tǒng)泛化性較差,在檢索不到相似樣本的情況下,很難生成高質(zhì)量的譯文。因此,最近一些工作將樣本檢索與神經(jīng)機(jī)器翻譯結(jié)合,在神經(jīng)機(jī)器翻譯模型解碼的過程中檢索相似的翻譯樣本輔助譯文生成。這種樣本檢索機(jī)制賦予了機(jī)器翻譯系統(tǒng)在線更新的能力。
在這個方向上,一個經(jīng)典的工作是發(fā)表在 ICLR 2021 上的 kNN-MT[2]。kNN-MT 為神經(jīng)機(jī)器翻譯引入了詞級別的樣本檢索機(jī)制,使得翻譯系統(tǒng)在無需額外訓(xùn)練的情況下,顯著提升多領(lǐng)域機(jī)器翻譯和領(lǐng)域適應(yīng)機(jī)器翻譯的能力,同時具有了在線更新的能力。
但是 kNN-MT 仍然存在一些問題,使用固定的將神經(jīng)機(jī)器翻譯輸出和樣本檢索進(jìn)行組合的策略使得它難以適應(yīng)多變的輸入樣本。如圖1所示,帶有領(lǐng)域內(nèi)翻譯語料庫的 kNN-MT 領(lǐng)域內(nèi)的翻譯質(zhì)量取得了明顯提升,而通用領(lǐng)域翻譯質(zhì)量卻劇烈下滑。造成這種現(xiàn)象的原因是,kNN-MT 過度依賴了檢索到的樣本,在檢索到的樣本與測試樣本不相似時,檢索到的樣本對于機(jī)器翻譯而言反而是噪聲,從而降低了翻譯質(zhì)量。
這篇工作主要針對該問題[3],提出了一種動態(tài)結(jié)合樣本檢索和神經(jīng)機(jī)器翻譯的方法 KSTER (Kernel-Smoothed Translation with Example Retrieval),使得翻譯系統(tǒng)在檢索到相似樣本的情況下能夠提升翻譯效果,在檢索不到相似樣本時,也能保持原有的翻譯質(zhì)量,同時保持在線更新的能力。
圖1 帶有領(lǐng)域內(nèi)數(shù)據(jù)庫的kNN-MT,在領(lǐng)域內(nèi)數(shù)據(jù)和通用領(lǐng)域數(shù)據(jù)上的翻譯效果。
在這篇工作的模型結(jié)構(gòu)中,翻譯系統(tǒng)由兩個部分組成,分別是一個通用領(lǐng)域的神經(jīng)機(jī)器翻譯模型——采用經(jīng)典的 Transformer 結(jié)構(gòu)[1],和一個樣本檢索模塊——用于執(zhí)行相似樣本檢索、相似度計(jì)算和概率估計(jì)。自回歸的機(jī)器翻譯模型生成譯文是按相似的方式逐詞生成,因此只需考慮單步的解碼過程。在解碼生成譯文的每一步中,翻譯系統(tǒng)的兩個部分都會產(chǎn)生一個下一個詞對應(yīng)的概率分布。這兩個分布會根據(jù)一個混合系數(shù)進(jìn)行線性插值,估計(jì)出一個混合的概率分布。下一個詞將由這個混合的分布預(yù)測出。
為了在解碼過程中進(jìn)行樣本檢索,作者構(gòu)建了一些詞級別的翻譯數(shù)據(jù)庫。數(shù)據(jù)庫中存儲的是詞級別的翻譯樣本,每一個樣本是一個鍵值對 。這個鍵指的是目標(biāo)端語言的句子中一個詞出現(xiàn)的上下文的向量表示 ,值指的是對應(yīng)的目標(biāo)端語言的詞 。使用一個通用領(lǐng)域上訓(xùn)練好的 Transformer 模型,對每一條訓(xùn)練數(shù)據(jù)做強(qiáng)制解碼,即可計(jì)算出目標(biāo)語言每個詞的上下文相關(guān)向量表示,構(gòu)造出一組詞級別翻譯樣本以供檢索。
樣本檢索
在解碼的每一步中,NMT 模型會計(jì)算出一個基于模型的下一個詞分布 。另外,NMT 模型會計(jì)算當(dāng)前上下文的向量表示作為查詢 ,從翻譯數(shù)據(jù)庫中檢索Top- k 個 L2 距離最小的樣本。
可學(xué)習(xí)的核函數(shù)
然后利用核密度估計(jì)根據(jù)檢索到的樣本估計(jì)出一個基于樣本的分布 ,其中核函數(shù)是一個具有可學(xué)習(xí)帶寬參數(shù)的高斯核或拉普拉斯核。帶寬參數(shù)基于當(dāng)前上下文和檢索到的樣本動態(tài)估計(jì)得出,主要是為了調(diào)整 的銳度。當(dāng)檢索出的 k 個樣本只有幾個頭部樣本與當(dāng)前上下文相似時,低帶寬的核密度估計(jì)會生成一個尖銳的分布,將絕大多數(shù)概率質(zhì)量分配給頭部樣本,忽略尾部樣本引入的噪聲。
圖3 核函數(shù)的帶寬參數(shù)越小,估計(jì)出的分布越尖銳。
基于模型的分布 將和基于樣本的分布 按一定權(quán)重 進(jìn)行線性插值,得到一個混合分布 ,并由混合分布預(yù)測出下一個詞?;旌蠙?quán)重 決定了翻譯系統(tǒng)預(yù)測下一個詞是更多地依賴 NMT 模型的輸出還是檢索到的樣本。如圖4 所示,在解碼的每一步中,混合權(quán)重都是不同的,根據(jù)當(dāng)前上下文和檢索到的樣本估計(jì)出。翻譯系統(tǒng)自適應(yīng)地決定更多地依賴哪個部分。
圖4 動態(tài)的混合權(quán)重。Memory 表示基于樣本的分布權(quán)重 ,Translation 表示基于模型的分布權(quán)重 。
模型訓(xùn)練策略
在 KSTER 訓(xùn)練過程中,NMT模型參數(shù)是固定不變的,需要訓(xùn)練的部分只有一個帶寬參數(shù)估計(jì)器和一個混合權(quán)重估計(jì)器。作者使用交叉熵?fù)p失函數(shù)對翻譯系統(tǒng)整體進(jìn)行優(yōu)化,但只更新帶寬參數(shù)估計(jì)器和混合權(quán)重估計(jì)器的參數(shù)。
由于訓(xùn)練翻譯系統(tǒng)的數(shù)據(jù)與構(gòu)建翻譯數(shù)據(jù)庫的數(shù)據(jù)是相同的,在訓(xùn)練時總能檢索到 top 1 相似的翻譯樣本就是查詢自身。而測試數(shù)據(jù)通常在翻譯數(shù)據(jù)庫中沒有出現(xiàn)過。這種訓(xùn)練和測試的不一致性,導(dǎo)致翻譯系統(tǒng)容易過度依賴檢索到的樣本,產(chǎn)生過擬合的現(xiàn)象。為了緩解訓(xùn)練和測試的不一致性,作者在訓(xùn)練時檢索最相似的 k + 1 個樣本,并把第 1 相似的樣本丟棄,保留剩下的 k 個樣本用于后續(xù)的計(jì)算。這種訓(xùn)練策略被稱為檢索丟棄,在測試時并不使用這種策略。
這篇工作在機(jī)器翻譯領(lǐng)域適應(yīng)和多領(lǐng)域機(jī)器翻譯兩種任務(wù)上進(jìn)行了實(shí)驗(yàn),KSTER 相比 kNN-MT 在兩種任務(wù)上均有提升。
圖6 多領(lǐng)域機(jī)器翻譯任務(wù)上的實(shí)驗(yàn)結(jié)果
圖7 不同領(lǐng)域的核函數(shù)帶寬和混合權(quán)重分布
圖8 檢索不同數(shù)量樣本 k 時,kNN-MT 和 KSTER 的翻譯效果
圖9 驗(yàn)證了檢索丟棄這種訓(xùn)練策略的必要性。在不使用檢索丟棄策略時,KSTER模型產(chǎn)生了嚴(yán)重的過擬合。而使用檢索丟棄策略后,過擬合的現(xiàn)象得到明顯緩解。
圖9 檢索丟棄訓(xùn)練策略有助于緩解過擬合
作者基于 KSTER 開發(fā)了一個基于在線干預(yù)機(jī)器翻譯系統(tǒng),用于展示翻譯系統(tǒng)在線修復(fù)bad case的能力。圖10 - 14 展示了一些具體的樣例。
如 圖10 所示,由于訓(xùn)練數(shù)據(jù)中沒有出現(xiàn)過“字節(jié)跳動”這種新興實(shí)體,以及“C位”這類新詞,翻譯系統(tǒng)對它們的翻譯效果是不好的。
圖10 Base 模型翻譯結(jié)果
圖11 KSTER 翻譯結(jié)果
圖12 向 KSTER 翻譯數(shù)據(jù)庫中添加以上樣本
圖13 添加樣本之后KSTER的翻譯結(jié)果
圖14 KSTER 在相關(guān)樣本上的翻譯結(jié)果
本文主要介紹了 KSTER,一種有效的機(jī)器翻譯系統(tǒng)在線更新方法。其在機(jī)器翻譯領(lǐng)域適應(yīng)和多領(lǐng)域機(jī)器翻譯上均表現(xiàn)出優(yōu)異的效果。同時展示了它的在線修復(fù) bad case的能力。
參考文獻(xiàn)
[1] Vaswani et al. 'Attention is All You Need'. Proceedings of the 31st International Conference on Neural Information Processing Systems.
[2] Khandelwal et al. 'Nearest Neighbor Machine Translation'. ICLR 2021: The Ninth International Conference on Learning Representations.
[3] Jiang et al. 'Learning Kernel-Smoothed Machine Translation with Retrieved Examples'. Proceedings of the 2021 Conference on Empirical Methods in Natural Language Processing.
歡迎關(guān)注我們,看通俗干貨!
聯(lián)系客服