黃孟欽
(昆明理工大學(xué)信息工程與自動(dòng)化學(xué)院,云南昆明 650500)
2013 年,Nal Kalchbrenner 和Phil Blunsom 提出了端到端編碼器-解碼器結(jié)構(gòu)[1],這一創(chuàng)新將神經(jīng)機(jī)器翻譯引入了主流研究領(lǐng)域。近年來(lái),基于深度學(xué)習(xí)的方法逐漸在機(jī)器翻譯領(lǐng)域占據(jù)主導(dǎo)地位。這些方法在許多語(yǔ)言對(duì)之間的翻譯任務(wù)上表現(xiàn)出色,有些情況下甚至超越了人類(lèi)翻譯的質(zhì)量。
然而,基于神經(jīng)網(wǎng)絡(luò)的翻譯模型高度依賴(lài)于可用平行數(shù)據(jù)的數(shù)量和語(yǔ)言之間的相關(guān)性。在一些擁有豐富平行語(yǔ)料的語(yǔ)言對(duì),尤其是同一語(yǔ)系的語(yǔ)言對(duì)上,神經(jīng)機(jī)器翻譯已經(jīng)展現(xiàn)出了卓越性能[2]。但在實(shí)際應(yīng)用中,存在很多語(yǔ)言對(duì)之間缺乏足夠平行語(yǔ)料的情況,有些語(yǔ)言甚至沒(méi)有可用的平行數(shù)據(jù),導(dǎo)致神經(jīng)機(jī)器翻譯的性能下降。
為了減少神經(jīng)機(jī)器翻譯模型對(duì)平行數(shù)據(jù)的依賴(lài),文獻(xiàn)[3]提出了無(wú)監(jiān)督神經(jīng)機(jī)器翻譯(Unsupervised Neural Machine Translation, UNMT)方法。這種方法僅利用兩種語(yǔ)言的單語(yǔ)語(yǔ)料庫(kù)進(jìn)行翻譯,而不使用平行語(yǔ)料,從而擺脫了對(duì)大量平行數(shù)據(jù)的需求。在某些語(yǔ)言對(duì)上,無(wú)監(jiān)督神經(jīng)機(jī)器翻譯已經(jīng)取得了出色的效果,甚至能夠媲美有監(jiān)督神經(jīng)機(jī)器翻譯。然而,在一些遠(yuǎn)距離語(yǔ)言對(duì),例如中-英語(yǔ)言對(duì),其翻譯效果仍然不夠理想。這主要是因?yàn)檫h(yuǎn)距離語(yǔ)言對(duì)之間的對(duì)齊信息較為稀缺,語(yǔ)言之間的相似性較低。因此,針對(duì)遠(yuǎn)距離語(yǔ)言對(duì)的無(wú)監(jiān)督神經(jīng)機(jī)器翻譯面臨著一個(gè)難題,即如何讓源語(yǔ)言和目標(biāo)語(yǔ)言在潛在空間中實(shí)現(xiàn)有效的對(duì)齊。
為提供更多對(duì)齊信息,研究者們開(kāi)始嘗試引入外部知識(shí)來(lái)輔助模型學(xué)習(xí)兩種語(yǔ)言之間的對(duì)齊關(guān)系。文獻(xiàn)[4]探索了使用詞典輔助無(wú)監(jiān)督神經(jīng)機(jī)器翻譯的方法,將翻譯過(guò)程分解為兩個(gè)階段:首先,利用源語(yǔ)言到目標(biāo)語(yǔ)言的雙語(yǔ)詞典,將源語(yǔ)句中的部分詞替換為詞典中對(duì)應(yīng)的目標(biāo)詞,生成粗略的中間譯文;然后,將生成的中間譯文輸入神經(jīng)機(jī)器翻譯模型,以獲得流暢的目標(biāo)語(yǔ)言譯文。這種方法旨在為翻譯模型提供更多對(duì)齊信息,從而改善遠(yuǎn)距離語(yǔ)言對(duì)的翻譯效果。
神經(jīng)機(jī)器翻譯在取得卓越性能時(shí)的一個(gè)前提條件是擁有大量的平行語(yǔ)料,這些語(yǔ)料用于訓(xùn)練模型以學(xué)習(xí)源語(yǔ)言和目標(biāo)語(yǔ)言之間的映射關(guān)系。然而,在應(yīng)用中確實(shí)存在很多語(yǔ)言對(duì)之間缺乏足夠平行語(yǔ)料的情況,比如德語(yǔ)和俄羅斯語(yǔ)之間的翻譯。構(gòu)建平行語(yǔ)料庫(kù)需要昂貴的成本,而缺乏平行語(yǔ)料會(huì)顯著降低神經(jīng)機(jī)器翻譯模型的性能[5]。
為了減少神經(jīng)機(jī)器翻譯模型對(duì)平行數(shù)據(jù)的依賴(lài),研究人員開(kāi)始嘗試不使用平行語(yǔ)料,而是僅使用兩種語(yǔ)言的單語(yǔ)語(yǔ)料庫(kù)來(lái)訓(xùn)練模型,被稱(chēng)為無(wú)監(jiān)督神經(jīng)機(jī)器翻譯[3]。這種方法有助于克服對(duì)平行數(shù)據(jù)的嚴(yán)重依賴(lài),從而能夠在缺乏平行語(yǔ)料的情況下進(jìn)行翻譯。然而,需要注意的是,無(wú)監(jiān)督神經(jīng)機(jī)器翻譯仍然面臨一些挑戰(zhàn),尤其是在遠(yuǎn)距離語(yǔ)言對(duì)的情況下,語(yǔ)言之間的對(duì)齊信息非常有限,導(dǎo)致翻譯質(zhì)量受到影響。
雙語(yǔ)詞典歸納(Bilingual Lexicon Induction, BLI)[6]用于在缺乏兩種語(yǔ)言之間平行語(yǔ)料的情況下,利用各自語(yǔ)言的單語(yǔ)語(yǔ)料生成對(duì)齊的雙語(yǔ)詞嵌入,并通過(guò)這些嵌入來(lái)歸納出雙語(yǔ)詞典。雙語(yǔ)詞典歸納的核心思想在于學(xué)習(xí)一個(gè)映射函數(shù),該函數(shù)能夠?qū)煞N語(yǔ)言中的詞嵌入映射到一個(gè)共同的向量空間中,以便于進(jìn)行后續(xù)的對(duì)齊操作。雖然沒(méi)有直接的平行語(yǔ)料,但通過(guò)將單語(yǔ)語(yǔ)料中的詞嵌入映射到共享的空間中,可以在一定程度上實(shí)現(xiàn)不同語(yǔ)言之間詞匯的對(duì)應(yīng)關(guān)系。
通過(guò)雙語(yǔ)詞典歸納,可以在缺乏平行數(shù)據(jù)的情況下,利用單語(yǔ)語(yǔ)料中的信息構(gòu)建一些基本的語(yǔ)言關(guān)聯(lián),從而實(shí)現(xiàn)單詞級(jí)別的翻譯任務(wù)。這對(duì)于處理缺乏大量平行語(yǔ)料的語(yǔ)言對(duì)或語(yǔ)種之間的翻譯任務(wù)非常有幫助。
在早期,一些方法開(kāi)始嘗試?yán)妙A(yù)訓(xùn)練模型的表征向量來(lái)初始化神經(jīng)機(jī)器翻譯(Neural Machine Translation, NMT)模型的表征向量。這一策略顯著提升了模型的訓(xùn)練效果,特別是對(duì)于訓(xùn)練數(shù)據(jù)稀缺的語(yǔ)言對(duì)而言。這表明預(yù)訓(xùn)練模型的表征向量可能在NMT模型訓(xùn)練中發(fā)揮了一定作用,因?yàn)樗鼈儼S富的語(yǔ)義信息。
其中,跨語(yǔ)言模型(Crosslingual Language Model,XLM)預(yù)訓(xùn)練是第一個(gè)嘗試將預(yù)訓(xùn)練應(yīng)用于跨語(yǔ)言方向的方法。這種方法在多語(yǔ)言文本數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練,使得模型能夠同時(shí)學(xué)習(xí)兩種語(yǔ)言的語(yǔ)法和文本特征。這種跨語(yǔ)言預(yù)訓(xùn)練方法有助于模型在不同語(yǔ)言之間進(jìn)行知識(shí)遷移,從而提高跨語(yǔ)言任務(wù)的性能。當(dāng)前,研究者們?cè)诳缯Z(yǔ)言預(yù)訓(xùn)練語(yǔ)言模型領(lǐng)域進(jìn)行了大量嘗試,主要的跨語(yǔ)言模型包括BERT[7]、XLM[8]、XLM-R[9]、MASS[10]、mBART[11]等。這些跨語(yǔ)言預(yù)訓(xùn)練模型的出現(xiàn)豐富了多語(yǔ)言NLP 研究領(lǐng)域,為不同語(yǔ)言之間的自然語(yǔ)言處理任務(wù)提供了強(qiáng)大的工具和基礎(chǔ)。
雖然兩者造型差不多,但光路完全不同。從D500的光學(xué)取景器看到的是反光板反射到對(duì)焦屏上的光線(xiàn),而X-H1的電子取景器看到的是傳感器接收到畫(huà)面。當(dāng)然,D500也可以切換到實(shí)時(shí)取景模式,但切換時(shí)反光板需要抬起,這意味著光學(xué)取景器失效(必須使用機(jī)背屏幕取景),而且D500引以為傲的相位對(duì)焦傳感器也同樣會(huì)失去用途,轉(zhuǎn)而使用原始的反差偵測(cè)對(duì)焦。相比之下,無(wú)反結(jié)構(gòu)的X-H1不會(huì)面臨這個(gè)問(wèn)題,無(wú)論使用取景器還是屏幕,相機(jī)的對(duì)焦方式都不會(huì)發(fā)生變化。
盡管BERT[7]在自然語(yǔ)言處理領(lǐng)域取得了顯著的成就,但是不同語(yǔ)言之間的BERT 模型并不具有相互通用性,即它們學(xué)習(xí)到的知識(shí)不會(huì)被共享。因此,F(xiàn)acebook對(duì)BERT 進(jìn)行了改進(jìn),提出了XLM[8],以便于在多種語(yǔ)言之間進(jìn)行訓(xùn)練,從而使模型能夠獲得更多的跨語(yǔ)言信息。XLM 的方法主要分為兩種:基于平行語(yǔ)料的有監(jiān)督方法和沒(méi)有平行語(yǔ)料的無(wú)監(jiān)督方法。
因果語(yǔ)言模型(Causal Language Modeling, CLM)和遮蔽語(yǔ)言模型(Masked Language Modeling, MLM)使用單語(yǔ)語(yǔ)料進(jìn)行訓(xùn)練,而翻譯語(yǔ)言模型(Translation Language Model, TLM)是MLM 的擴(kuò)展,不同之處在于它使用平行語(yǔ)料進(jìn)行訓(xùn)練。在TLM 任務(wù)中,將MLM 的輸入單語(yǔ)語(yǔ)料替換成雙語(yǔ)平行語(yǔ)料,然后模型試圖預(yù)測(cè)源語(yǔ)言和目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系,這使得模型能夠借助平行語(yǔ)言的信息來(lái)提升翻譯質(zhì)量。翻譯語(yǔ)言模型結(jié)構(gòu)如圖1所示。
圖1 翻譯語(yǔ)言模型結(jié)構(gòu)
在本研究中,采用文獻(xiàn)[12]提出的方法,借助無(wú)監(jiān)督的單詞嵌入映射技術(shù),從僅使用源語(yǔ)言和目標(biāo)語(yǔ)言的單語(yǔ)語(yǔ)料庫(kù)中提取雙語(yǔ)詞典。具體而言,首先使用Word2Vec[13]將源語(yǔ)言和目標(biāo)語(yǔ)言的單詞表示成分布式向量,即各自的單詞嵌入。接下來(lái),使用文獻(xiàn)[12]的無(wú)監(jiān)督單詞嵌入映射方法,利用自學(xué)習(xí)或?qū)剐杂?xùn)練來(lái)學(xué)習(xí)一個(gè)映射函數(shù)f(X) =WX,將源語(yǔ)言和目標(biāo)語(yǔ)言的單語(yǔ)詞嵌入映射到一個(gè)共享的嵌入空間中,然后利用CSLS[14]計(jì)算詞向量之間的相似性。最后,選擇在共享空間中相似性最高的詞嵌入,以提取本文中要使用的雙語(yǔ)詞典。
TLM 任務(wù)是一種有監(jiān)督的任務(wù),其目標(biāo)是訓(xùn)練能夠進(jìn)行翻譯的語(yǔ)言模型。通常情況下,這種任務(wù)需要大量的雙語(yǔ)平行語(yǔ)料進(jìn)行訓(xùn)練,但很多語(yǔ)言之間缺乏足夠的平行語(yǔ)料,這導(dǎo)致訓(xùn)練比較困難。本文提出了一種改進(jìn)的方法,采用詞典融合的策略代替?zhèn)鹘y(tǒng)的平行語(yǔ)料進(jìn)行模型訓(xùn)練。
這種方法的基本思想是利用單語(yǔ)語(yǔ)料和雙語(yǔ)詞典訓(xùn)練語(yǔ)言模型。具體來(lái)說(shuō),模型首先接受源語(yǔ)言的句子作為輸入;然后,不同于TLM 的平行語(yǔ)料輸入,模型還接受把源語(yǔ)言句子用雙語(yǔ)詞典處理后的數(shù)據(jù)作為輸入,在此輸入中,模型會(huì)將源語(yǔ)言句子中在雙語(yǔ)詞典出現(xiàn)的單詞替換為相應(yīng)的目標(biāo)語(yǔ)言翻譯詞,這一步可以看作是一種跨語(yǔ)言信息融合的過(guò)程。
接下來(lái),模型會(huì)對(duì)源語(yǔ)言句子和目標(biāo)語(yǔ)言翻譯句子的部分單詞進(jìn)行隨機(jī)遮蔽。具體地,約80%的詞會(huì)被用[MASK]進(jìn)行遮蔽,約10%的詞會(huì)被隨機(jī)的標(biāo)記替換,而余下的約10%將保持原樣。這個(gè)步驟有助于模型學(xué)習(xí)到源語(yǔ)言和目標(biāo)語(yǔ)言之間的對(duì)應(yīng)關(guān)系,同時(shí)也鼓勵(lì)了模型對(duì)上下文的理解和單詞預(yù)測(cè)能力的提升。
需要強(qiáng)調(diào)的是,本文使用的雙語(yǔ)詞典是通過(guò)無(wú)監(jiān)督的方式獲得的,這意味著不需要依賴(lài)于任何平行語(yǔ)料。通過(guò)使用被替換過(guò)的源語(yǔ)言句子進(jìn)行訓(xùn)練,模型可以從兩個(gè)方面獲得信息:首先,模型通過(guò)源語(yǔ)言的上下文單詞來(lái)預(yù)測(cè)被遮蔽的詞;其次,模型通過(guò)被替換的目標(biāo)語(yǔ)言單詞進(jìn)行學(xué)習(xí)。這樣,語(yǔ)言模型不僅能夠?qū)W習(xí)源語(yǔ)言的信息,還能夠?qū)W習(xí)兩種語(yǔ)言之間的對(duì)應(yīng)關(guān)系。這些額外的跨語(yǔ)言信息在后續(xù)的翻譯任務(wù)中將提供有力的支持,使得模型能夠更好地進(jìn)行翻譯工作。這一方法為解決缺乏平行語(yǔ)料的語(yǔ)言翻譯任務(wù)提供了一種有效的替代方案。
Dict-TLM 模型的預(yù)訓(xùn)練結(jié)構(gòu)如圖2 所示。
圖2 Dict-TLM 模型結(jié)構(gòu)
本文的實(shí)驗(yàn)中,采用了Facebook 于2018 年提出的完全無(wú)監(jiān)督方法,即vecmap,從兩種語(yǔ)言的單語(yǔ)數(shù)據(jù)中獲得雙語(yǔ)詞典。該方法的獨(dú)特之處在于詞典的生成過(guò)程不涉及任何平行語(yǔ)料的使用,而是通過(guò)無(wú)監(jiān)督的方式生成一個(gè)種子詞典,作為后續(xù)詞嵌入學(xué)習(xí)的初始知識(shí)。
在本文的實(shí)驗(yàn)中,使用WMT14中2007年和2008年新聞數(shù)據(jù)集中的英文以及中文單語(yǔ)數(shù)據(jù)集,每種語(yǔ)言都包含了500 萬(wàn)個(gè)句子。選擇中國(guó)科學(xué)院自動(dòng)化研究所在2015 年發(fā)布的CASIA-2015 數(shù)據(jù)集作為平行語(yǔ)料庫(kù),將平行語(yǔ)料中的目標(biāo)語(yǔ)言語(yǔ)料替換為用雙語(yǔ)詞典處理后的源語(yǔ)言語(yǔ)料。對(duì)于后續(xù)的預(yù)訓(xùn)練任務(wù),所有的數(shù)據(jù)都使用mosesdecoder 提供的tokenizer 進(jìn)行正則化處理,中文語(yǔ)料使用斯坦福大學(xué)的NLP 工具進(jìn)行分詞處理。
在本文的所有實(shí)驗(yàn)中,所采用的模型架構(gòu)是Transformer[15],具體包括1 024 個(gè)隱藏單元、8 個(gè)注意力頭、GELU 激活函數(shù)[16]、0.1 的丟失率以及學(xué)習(xí)位置嵌入。使用Adam 優(yōu)化器[17],采用線(xiàn)性預(yù)熱策略[15],學(xué)習(xí)率在訓(xùn)練過(guò)程中從10-4逐漸增加到5×10-4。
在預(yù)訓(xùn)練階段,采用XLM 中的TLM 作為預(yù)訓(xùn)練語(yǔ)言模型。TLM 任務(wù)是遮蔽語(yǔ)言模型的改進(jìn)版本,類(lèi)似于BERT 的遮蔽語(yǔ)言模型任務(wù)。在TLM 訓(xùn)練過(guò)程中,隨機(jī)遮蔽了源語(yǔ)言句子和目標(biāo)語(yǔ)言句子中部分單詞,其中80%的詞用[MASK]進(jìn)行遮蔽,10%的詞用隨機(jī)的token進(jìn)行替換,最后10%的詞保持不變。
本文采用BLEU[18]作為評(píng)價(jià)指標(biāo),來(lái)比較本文方法和其他方法的性能差異。這種評(píng)價(jià)方法認(rèn)為翻譯系統(tǒng)翻譯出來(lái)的譯文和人工翻譯的譯文越接近,那么翻譯系統(tǒng)的翻譯質(zhì)量就越高。
本文進(jìn)行了兩個(gè)模型的訓(xùn)練。首先,以L(fǎng)ample 等人使用單語(yǔ)語(yǔ)料進(jìn)行的機(jī)器翻譯方法作為基準(zhǔn),對(duì)比了本文方法和UNMT 方法。表1 中總結(jié)了在英中和中英語(yǔ)言對(duì)上的基線(xiàn)方法和Dict-TLM 方法的性能表現(xiàn)。
表1 各個(gè)模型在不同的語(yǔ)言對(duì)上的BLEU 值
如表1 所示,實(shí)驗(yàn)結(jié)果表明,本文方法在中英語(yǔ)言對(duì)上的BLEU 分?jǐn)?shù)相對(duì)于傳統(tǒng)的無(wú)監(jiān)督神經(jīng)機(jī)器翻譯提高了4%,而在英中語(yǔ)言對(duì)上的BLEU 分?jǐn)?shù)也提高了4%。通過(guò)分析實(shí)驗(yàn)結(jié)果,可以得出結(jié)論:將源語(yǔ)言句子中在雙語(yǔ)詞典存在的單詞替換為相應(yīng)的目標(biāo)語(yǔ)言翻譯詞,并以此作為源語(yǔ)言對(duì)應(yīng)的平行語(yǔ)料進(jìn)行模型訓(xùn)練,有助于模型更好地學(xué)習(xí)跨語(yǔ)言信息,從而實(shí)現(xiàn)源語(yǔ)言和目標(biāo)語(yǔ)言之間更好的對(duì)齊,進(jìn)而獲得更出色的翻譯效果。
本文介紹了一種創(chuàng)新方法,將源語(yǔ)言句子在雙語(yǔ)詞典中存在的單詞替換為相應(yīng)的目標(biāo)語(yǔ)言翻譯詞,用以替代TLM 中的平行語(yǔ)料作為預(yù)訓(xùn)練模型的輸入。這一方法的主要優(yōu)勢(shì)在于減少了模型對(duì)平行語(yǔ)料的依賴(lài),給遠(yuǎn)距離語(yǔ)言對(duì)之間提供了更多的對(duì)齊信息,從而提高了對(duì)這些遠(yuǎn)距離語(yǔ)言對(duì)的翻譯效果。研究結(jié)果顯示,這一方法在無(wú)監(jiān)督神經(jīng)機(jī)器翻譯中實(shí)現(xiàn)了顯著的性能提升。
盡管取得了令人滿(mǎn)意的進(jìn)展,但在沒(méi)有平行語(yǔ)料的情況下如何進(jìn)一步提升無(wú)監(jiān)督神經(jīng)機(jī)器翻譯的性能仍然是一個(gè)值得深入研究的問(wèn)題。未來(lái)的研究方向包括如何在無(wú)監(jiān)督情況下獲得更高質(zhì)量的雙語(yǔ)詞典,以及如何更有效地將這些詞典與翻譯模型融合,以更好地輔助模型實(shí)現(xiàn)更出色的翻譯性能。