唐超超 擁措 仁青卓瑪



關鍵詞:低資源;機器翻譯;藏語;Transformer;子詞
0 前言
機器翻譯(MT) 是將一種語言文本轉換為另一種語言的技術。在過去的幾十年里,機器翻譯的方法經歷了從基于規則(RBMT) 到基于統計(SMT) [1],再到基于神經網絡(NMT) [2]的演變。其中,NMT由于其簡單的端到端架構和強大的表示能力,已經成為了當前機器翻譯領域的主流方法,并在許多語言對上取得了顯著的性能提升。然而,如何有效地處理不同語言之間的詞匯差異和數據稀疏問題仍是一個巨大的挑戰。據相關研究表明,可以使用多種子詞處理方式解決這個問題,如subword-nmt[3]、sentencepiece[4]等方法。但不同的子詞處理方式可能對不同的語言和數據資源有著不同的適應性和效果。因此,如何選擇合適的子詞處理方式對于提高NMT的性能是非常重要的。
由于漢-藏和漢-英屬于兩個不同的語系,具有不同的語法結構、詞匯特點和文化背景,研究這兩個語言對之間的翻譯問題能夠幫助我們更好地理解和解決跨語言翻譯的挑戰。因此,針對上述問題,本文旨在漢-藏、漢-英兩個語言對上,使用Transformer模型探究在低資源[5]情況下三種子詞處理方式對翻譯模型性能的影響,并在不同的數據規模下進行了實驗。本文主要貢獻如下:
1) 首次探究了在漢-藏方向上不同的子詞處理方式對神經機器翻譯(NMT) 性能的影響,并與漢-英方向進行了對比,以尋找在這兩個語言方向上最有效的子詞處理策略。
2) 研究了在不同數據量的情況下,使用相同的子詞處理方式對翻譯模型的效果,從而了解不同數據量對NMT性能的影響,并驗證在低資源情況下仍然可行的翻譯方法。
1 相關工作
集外詞[6]會降低機器翻譯的準確性和流暢性,且在資源稀缺型語言的神經機器翻譯中更加嚴重。因此,不管是在資源豐富還是資源稀缺的語言中,對子詞單元進行建模已經成為解決自然語言處理集外詞的一種比較流行的方法。其中,使用最多的子詞切分方式為字節對編碼(BPE) [7]。然而,不同的子詞處理方式在不同的語言上會產生不同的效果。2015年,Sen?nrich等[3]將BPE與char-bigram處理方式應用到NMT 領域,結果表明英-俄數據語料為60k時char-bigram 效果最佳。2017年,Yang等人[8]對子詞處理的實驗進行了對比,發現做子詞處理可以提升模型的效果。2018年,Yang等人[9]使用subword處理方式,在weibo 數據集上F1 值最高。2020 年,Provilkov 等人[10]使用BPE以及BPE-dropout在多種語言對上進行實驗,結果表明使用BPE-dropout的性能最好。因此,在特定語料對上探究合適的子詞處理方式對機器翻譯的有效性尤為重要。
在2018年,Kudo等[4]提出了一種新的子詞處理方式sentencepiece。與其他子詞處理方式不同,senten?cepiece可以直接從原始句子中進行訓練,而不依賴于特定語言的預處理或后處理步驟。這種新的處理方式集成了改進后的字節對編碼BPE和unigram語言模型[11],從而在多個文本上取得了最佳效果。實驗證明,該方法在多種語言對上的翻譯性能要優于原始BPE方法。2020年,László János Laki等[12]使用字節對編碼的sentencepiece 對62 種語言進行處理,發現在NMT-TM模型下的效果最好。2021年,Jonne Salev¨a 等人[13]使用四種子詞處理方式在四個語言對上進行機器翻譯實驗,其中在低資源時使用sentencepiece僅在1個語言對的BLEU值達到最高,但隨著數據量的增加,翻譯性能也隨之提升。同年,Chanjun Park等人[14]使用了五種處理方式,其中sentencepiece性能僅次于該文作者提出的ONE-Piece效果。2022年,Xing?shan Zeng等人[15]發現使用sentencepiece在三個語言對上,BLEU值均為最高。然而,同年Jenalea Rajab[16]發現在四個語言上使用sentencepiece進行處理,機器翻譯模型的性能在不同語言對上并不是隨著數據量的增加而增加。因此,探究sentencepiece在不同數據量下對機器翻譯模型性能的影響較為關鍵。本文還采用了subword-nmt 與sentencepiece 進行對比實驗,以確定在漢藏語言對上是否適合sentencepiece 處理方式。
2 模型和方法
本文采用了Transformer模型作為基礎框架。該模型由Vaswani等人[17]于2017年提出,是一種基于自注意力機制的端到端的序列到序列的神經網絡模型。它不需要使用循環神經網絡或卷積神經網絡,而是完全依賴于自注意力機制來捕捉序列中的依賴關系。Transformer模型由編碼器和解碼器兩部分組成。編碼器由N層相同的子層組成,每個子層包含一個多頭自注意力機制和一個前饋神經網絡,以及殘差連接和層歸一化。解碼器也由N層相同的子層組成,每個子層除了包含編碼器中的組件外,還增加了一個掩蔽的多頭自注意力機制和一個編碼器-解碼器的自注意力機制,用于分別對目標序列和源序列進行注意力計算。Transformer模型在許多語言對上都取得了很好的翻譯性能,因此本文選擇它作為基礎框架。
在機器翻譯中使用BPE算法可以有效地處理未登錄詞和稀有詞等問題。BPE算法首先將訓練數據中的所有詞初始化為字符序列,并統計所有相鄰字符對出現的頻率。然后重復執行以下操作,直到達到目標子詞數量或者合并操作次數:選擇出現頻率最高的相鄰字符對,將其合并為一個新的子詞,并更新訓練數據和字符對頻率。最后,根據得到的子詞集合,將詞匯表中的所有詞切分為子詞序列。為了更好地對比不同子詞處理下的BPE算法,在實驗中分別采用了兩種方式:字節對編碼的sentencepiece 和subwordnmt。
2.1 subword-nmt
subword-nmt是由Sennrich等人[3]開發的一個基于統計的子詞分割工具,它根據訓練數據中的統計信息來切分詞匯表中的詞,主要用于神經機器翻譯。subword-nmt需要對句子進行分詞,然后根據訓練數據中的統計信息來切分詞匯表中的詞。它需要指定一個合并操作的次數來控制子詞數量,從而有效地處理未登錄詞和稀有詞等問題。
為了進一步分析subword-nmt子詞處理方式在三種語言上的特點和差異,筆者對其進行了示例分析,其處理后的語句對如表1所示。在表1中,首先對原始句子進行詞處理,中文語料采用pkuseg分詞[18],英文語料采用nltk分詞[19],藏文語料使用tip-las分詞[20];然后再將處理后的句子進行subword-nmt處理。
2.2 sentencepiece
為了探究適合漢藏以及漢英的子詞處理方式,本文采用了另一種基于學習的子詞處理方式sentence?piece與subword-nmt進行對比分析。sentencepiece可以從訓練數據中自行學習最為合適的子詞切分方式。它是由Google開發的一個無監督的文本分詞和反分詞工具,主要用于基于神經網絡的文本生成系統,如神經機器翻譯。由于sentencepiece可以直接從原始句子中訓練子詞模型,不需要預先對句子進行分詞,并且實現了子詞正則化,如子詞采樣和BPE-dropout,從而提高了NMT模型的魯棒性和準確性,因此在多個語言對上都取得了不錯的效果。本文采用字節對編碼的sentencepiece對藏漢英三個語言對進行處理,以分析其在不同語言上的特點。sentencepiece處理后的語句對如表2所示。
根據表2的數據,可以觀察到sentencepiece在中英兩種語言上的子詞粒度明顯高于subword-nmt。這表明sentencepiece能夠更細致地劃分子詞單元,從而更好地覆蓋更多的語言現象和子詞組合,這也與其在漢英翻譯任務上表現優異的結果一致。然而,在藏文上,sentencepiece的子詞粒度卻比subword-nmt低。這表明sentencepiece在處理藏文時可能無法很好地捕捉語言的復雜性和多樣性,可能導致一些重要的子詞被忽略或合并,進而影響在漢藏翻譯上使用sentence?piece的效果。綜上所述,可以得出以下結論:senten?cepiece在中英兩種語言上具有較高的子詞粒度,但在藏文上具有較低的子詞粒度。
2.3 數據配置探究
在低資源情況下,找到適合漢-藏和漢-英兩個語言對的最佳子詞處理方式對于機器翻譯模型的性能至關重要。因此,本文進行了實驗,在漢-藏和漢-英兩個語言對上分別使用了不同數量級的平行語料作為訓練數據。實驗流程如圖1所示,訓練數據被分為20K、40K、60K等不同規模,并以20K為幅度進行增長,以更好地觀察在不同語言對和不同子詞處理方式下模型性能的變化,并從中選擇合適的數據規模和子詞處理方式。
3 實驗與結果分析
3.1 數據集
本次實驗的數據來源包括了第十八屆全國機器翻譯大會(CCMT 2021)提供的15萬條藏漢平行語料和EMNLP 2020第五次會議機器翻譯(WMT20)新聞評論v15提供的15萬條中英平行語料。經過數據清洗和去重處理后,最終獲得了142 000條漢藏和142 000條漢英平行語料。接著,將這些數據對劃分為訓練集、驗證集和測試集。驗證集和測試集在各種數據規模下保持固定,均包含1 000條句子,其余則用作訓練集。為了研究不同數據配置下的效果,將數據集分成不同大小的配置,在每個配置中,模型在漢藏和漢英方向上進行訓練,直到驗證集不再有進一步改進為止,即認為達到了收斂狀態。最后,使用BLEU[21]指標中的SacreBLEU[22]來評估模型性能。
3.2 實驗設置
本文中使用Adam優化器[23]進行所有的NMT模型訓練,并且所有的模型訓練實驗都在Fairseq框架上進行。具體的參數設置如表3所示,其中warmsteps參考了Vaswani等人的參數設置,并采用了warm-up策略來動態調整學習率的值。
3.3 結果分析
本文使用相同大小的數據比較了不同的子詞處理結果。一種是將數據以原始形式提供給模型,即沒有進行子詞處理,與在訓練之前進行子詞處理的情況進行比較。另一種情況是在不同語言對上進行訓練,即zh-bo與zh-en比較。第一種情況可以衡量子詞處理對翻譯質量的影響,第二種情況可以觀察語言之間屬性的影響,這些屬性可以促進或阻礙翻譯性能。為了評估三種子詞處理方式在不同語言對上的翻譯性能,本文在zh-bo和zh-en兩個方向上進行了翻譯實驗,并在測試集上計算了BLEU分數,其實驗結果如表4所示。
表4顯示了在zh-bo和zh-en方向上的翻譯結果,每種子詞處理方式都使用了相同的數據量和模型參數。從表4 中可以看出,在zh-bo 數據上,采用subword-nmt處理相比未使用子詞處理的情況,BLEU 值約增加了1.2點。這表明subword-nmt能夠更有效地處理漢藏之間的詞匯差異和數據稀疏問題,因為它能夠根據數據特點自動學習合適的子詞劃分方式,從而提高模型的泛化能力。然而,采用字節對編碼的sentencepiece的BLEU值比其他兩種方法要低得多,只有12.54點。這可能是因為藏語數據比較稀疏、不均勻,而sentencepiece 是基于字節對頻率的劃分方式,可能導致一些重要的子詞被忽略或合并,因此sentencepiece在漢藏數據上不能很好地捕捉到語言的復雜性和多樣性,即采用subword-nmt處理有利于提高漢藏翻譯性能。
針對表4中的zh-en數據,采用字節對編碼的sen?tencepiece處理相比subword-nmt處理的BLEU值約增加了1.4點,比未使用子詞處理的BLEU值高出4點。這表明sentencepiece能夠更好地適應漢英翻譯任務,因為它能夠更好地覆蓋更多的語言現象和子詞組合,從而訓練出更好的子詞模型。而采用subword-nmt處理相比未使用子詞處理的情況,BLEU值約增加了2 點,這也說明subword-nmt在漢英數據上有一定的效果,但不如sentencepiece。未使用子詞處理的BLEU 值最低,只有19.29點,這可能是因為未使用子詞處理會導致一些罕見或未登錄詞無法被模型正確處理,從而影響翻譯質量。因此,可以得出結論,采用senten?cepiece處理有利于提高漢英翻譯性能。
4 總結
本文針對不同的子詞處理方式對不同的語言和數據資源有著不同的適應性和效果這一問題,總共探究了三種子詞處理方式:sentencepiece、subword-nmt 和未使用子詞處理。在不同數據量下,在漢-藏和漢- 英兩個語言對上進行了翻譯實驗。實驗結果表明,sentencepiece在漢-英上的性能隨著數據量的增加而顯著提升,遠超過其他兩種方式。而subword-nmt在漢-藏上的性能隨著數據量的增加而逐漸提升,最終超過sentencepiece和未使用子詞處理。未使用子詞處理在漢-藏上的性能在數據量較少時優于其他兩種方式,但在數據量較多時則落后于subword-nmt。然而,本文沒有對使用BPE-dropout的模型進行實驗,因此無法評估使用該方法是否可以改善翻譯性能的效果。在后續的工作中,將在相同的模型設置下應用BPE-dropout,并觀察它是否能提高模型的效果。