一種基于詞尾預(yù)測的提高英俄翻譯質(zhì)量的方法
原創(chuàng)【51CTO.com原創(chuàng)稿件】神經(jīng)網(wǎng)絡(luò)翻譯模型受限于其可以使用的詞表大小,經(jīng)常會遇到詞表無法覆蓋源端和目標端單詞的情況,特別是當處理形態(tài)豐富的語言(例如俄語、西班牙語等)的時候,詞表對全部語料的覆蓋度往往不夠,這就導(dǎo)致很多“未登錄詞”的產(chǎn)生,嚴重影響翻譯質(zhì)量。
已有的工作主要關(guān)注在如何調(diào)整翻譯粒度以及擴展詞表大小兩個維度上,這些工作可以減少“未登錄詞”的產(chǎn)生,但是語言本身的形態(tài)問題并沒有被真正研究和專門解決過。
我們的工作提出了一種創(chuàng)新的方法,不僅能夠通過控制翻譯粒度來減少數(shù)據(jù)稀疏,進而減少“未登錄詞”,還可以通過一個有效的詞尾預(yù)測機制,大大降低目標端俄語譯文的形態(tài)錯誤,提高英俄翻譯質(zhì)量。通過和多個比較有影響力的已有工作(基于subword和character的方法)對比,在5000萬量級的超大規(guī)模的數(shù)據(jù)集上,我們的方法可以成功的在基于RNN和Transformer兩種主流的神經(jīng)網(wǎng)絡(luò)翻譯模型上得到穩(wěn)定的提升。
研究背景
近年來,神經(jīng)網(wǎng)絡(luò)機器翻譯(Neural Machine Translation, NMT)在很多語種和場景上表現(xiàn)出了明顯優(yōu)于統(tǒng)計機器翻譯(Statistic Machine Translation, SMT)的效果。神經(jīng)網(wǎng)絡(luò)機器翻譯將源語言句子編碼(encode)到一個隱狀態(tài)(hidden state),再從這個隱狀態(tài)開始解碼(decode),逐個生成目標語言的譯文詞。NMT系統(tǒng)會在目標端設(shè)置一個固定大小的詞表,解碼階段的每一步中,會從這個固定大小的詞表中預(yù)測產(chǎn)生一個詞,作為當前步驟的譯文詞。受限于計算機的硬件資源限制,這個詞表往往不會設(shè)的很大(一般是3萬-5萬)。并且,隨著詞表的增大,預(yù)測的難度也會相應(yīng)的增加?;谠~(word)的NMT系統(tǒng)經(jīng)常會遭遇“未登錄詞”(Out of vocabulary, OOV)的問題,特別是目標端是一個形態(tài)豐富(Morphologically Rich)的語言時,這個問題會更加嚴重。以“英-俄”翻譯為例,俄語是一種形態(tài)非常豐富的語言,一個3-5萬的詞表往往不能覆蓋俄語端的所有詞,會有很多OOV產(chǎn)生。OOV的出現(xiàn)對翻譯質(zhì)量的影響是比較大的。
針對這個問題,有很多方法嘗試解決。其中一些方法會從翻譯粒度的角度出發(fā)(translation granularity),另外還有一些方法嘗試有效的擴展目標端詞表大小。這些方法雖然能有效的將少OOV,但是這些方法并沒有對目標端語言的形態(tài)(morphology)進行專門的建模。
對于俄語這種形態(tài)豐富的語言,詞干(stem)的個數(shù)會比詞的個數(shù)少很多,因此很自然的,我們會想到要對詞干和詞尾(suffix)分別進行建模。我們設(shè)計實現(xiàn)了一種方法,在解碼時每一個解碼步驟(decoding step)中,分別預(yù)測詞干和詞尾。訓(xùn)練階段,目標語言端會使用兩個序列,分別是詞干序列和詞尾序列。詞干序列和詞尾序列的生成過程如下圖所示:
(詞干序列和詞尾序列的生成,“N”表示詞干和詞本身相同,即這個詞沒有詞尾)
通過這種方式,數(shù)據(jù)稀疏問題會得到緩解,因為詞干的種類會顯著小于詞的種類,而詞尾的種類只有幾百種。
相關(guān)工作
基于子詞(subword)的和基于字符(character)的這兩種方法,從調(diào)整翻譯粒度的角度出發(fā)來幫助緩解目標端形態(tài)豐富語言的翻譯問題。一種基于子詞的方法利用BPE(Byte Pari Encoding)算法來生成一個詞匯表。語料中經(jīng)常出現(xiàn)的詞會被保留在詞匯表中,其他的不太常見的詞則會被拆分成一些子詞。由于少數(shù)量的子詞就可以拼成全部不常見的詞,因此NMT的詞表中只保留常見詞和這些子詞就可以了。還有一種基于字符的NMT系統(tǒng),源端句子和目標端句子都會表示為字符的序列,這種系統(tǒng)對源端形態(tài)豐富的語言可以處理的比較好,并且通過在源端引入卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN),遠距離的依賴也可以被建模。上述兩種方式雖然可以緩解數(shù)據(jù)稀疏,但是并沒有專門對語言的形態(tài)進行建模,子詞和字符并不是一個完整的語言學(xué)單元(unit)。
還有一些研究工作是從如何有效的擴大目標端詞匯表出發(fā)的,例如在目標端設(shè)置一個很大的詞匯表,但是每次訓(xùn)練的過程中,只在一個子表上進行預(yù)測,這個子表中包含了所有可能出現(xiàn)的譯文詞。這種方法雖然可以解決未登錄詞的問題,但是數(shù)據(jù)稀疏問題仍然存在,因為低頻的詞是未被充分訓(xùn)練的。
神經(jīng)網(wǎng)絡(luò)機器翻譯
本文在兩種主要的神經(jīng)網(wǎng)絡(luò)翻譯系統(tǒng)上驗證了“基于詞尾預(yù)測”的方法的有效性,分別是基于遞歸神經(jīng)網(wǎng)絡(luò)的機器翻譯(Recurrent Neural Network Based, RNN-based)和谷歌在17年提出的***的神經(jīng)網(wǎng)絡(luò)翻譯模型(Transformer),詳細介紹可以查看相應(yīng)論文。RNN-based神經(jīng)網(wǎng)絡(luò)機器翻譯如下圖:
(“Neural Machine Translation by Jointly Learning to Align and Translate”, Bahdanau et al., 2015)
Transformer的結(jié)構(gòu)如下圖:
(“Attention Is All You Need”, Ashish Vaswani et al., 2017)
俄語的詞干和詞尾
俄語是一種形態(tài)豐富的語言,單復(fù)數(shù)(number)、格(case)、陰陽性(gender)都會影響詞的形態(tài)。以名詞“ball”為例,“ball”是一個中性詞,因此不會隨陰陽性的變化而變化,但當單復(fù)數(shù)、格變化時,會產(chǎn)生如下多種形態(tài):
一個俄語詞可以分為兩部分,即詞干和詞尾,詞尾的變化是俄語形態(tài)變化的體現(xiàn),詞尾可以體現(xiàn)俄語的單復(fù)數(shù)、格、陰陽性等信息。利用一個基于規(guī)則的俄語詞干獲取工具,可以得到一個俄語句子中每一個詞的詞干和詞尾。
詞尾預(yù)測網(wǎng)絡(luò)
在NMT的解碼階段,每一個解碼步驟分別預(yù)測詞干和詞尾。詞干的生成和NMT原有的網(wǎng)絡(luò)結(jié)構(gòu)一致。額外的,利用當前step生成的詞干、當前decoder端的hidden state和源端的source context信息,通過一個前饋神經(jīng)網(wǎng)絡(luò)(Feedforward neural network)生成當前step的詞尾。網(wǎng)絡(luò)結(jié)構(gòu)如下圖:
***,將生成的詞干和詞尾拼接在一起,就是當前step的譯文單詞。
實驗
我們在RNN和Transformer上都進行了實驗,在WMT-2017英俄新聞翻譯任務(wù)的部分訓(xùn)練語料(約530萬)上,效果如下圖:
其中,Subword是使用基于子詞方法作為baseline,F(xiàn)ully Character-based是使用基于字符的NMT系統(tǒng)作為baseline。“Suffix Prediction”是我們的系統(tǒng)。
另外,我們還在電子商務(wù)領(lǐng)域的數(shù)據(jù)上,使用超大規(guī)模的語料(5000萬),證明了該方法的有效性,實驗結(jié)果如圖:
測試集包括商品的標題(Title)、詳情(Description)和用戶評論(Comment)內(nèi)容,示例如下:
一些翻譯結(jié)果的例子:
***個例子中,標號為1和2的俄語詞的形態(tài)代表著這個詞是一個反身動詞(reflexive verb),反身動詞的直接賓語和主語是同一個事物,換句話說,反身動詞的施事者和受事者是同一個事物。從源端句子中可以看出,“return”的施事者是購買商品的人,受事者是某個要退還的商品,因此1和2的譯文詞是錯誤的。3的譯文詞是正確的,它的詞尾代表著它是一個不定式動詞(infinitive verb),這個不定式動詞是可以有賓語的。在第二個例子中,標號1和2代表復(fù)數(shù)形式,4代表單數(shù)。第三個例子中,3代表過去時,1和2代表現(xiàn)在時。上面的例子中,相比于基于子詞和基于字符的模型,我們的模型可以產(chǎn)生更正確的俄語形態(tài)。
總結(jié)
我們提出了一種簡單、有效的方法來提高目標端是形態(tài)豐富語言(例如“英-俄”)的NMT系統(tǒng)的翻譯質(zhì)量。在解碼階段的每一個步驟中,首先生成詞干,然后生成詞尾。我們在兩種NMT模型(RNN-based NMT和Transformer)上,和基于子詞(subword)和字符(character)的方法進行了對比,證明了方法的有效性。我們使用了大規(guī)模(530萬)和超大規(guī)模(5000萬)的語料,在新聞和電子商務(wù)兩個領(lǐng)域上進一步這種方法可以帶來穩(wěn)定的提升。在我們的工作中,詞尾在NMT中***被專門的建模。
團隊:iDst-NLP-翻譯平臺
作者:宋楷/Kai Song(阿里巴巴), 張岳/Yue Zhang(新加坡科技設(shè)計大學(xué)), 張民/Min Zhang (蘇州大學(xué)), 駱衛(wèi)華/Weihua Luo(阿里巴巴)
會議:AAAI-18
【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】