?

基于參數遷移的蒙漢神經機器翻譯模型

2020-09-09 03:09王宇飛蘇依拉趙亞平孫曉騫仁慶道爾吉
計算機應用與軟件 2020年9期
關鍵詞:蒙古語蒙漢語料

王宇飛 蘇依拉 趙亞平 孫曉騫 仁慶道爾吉

(內蒙古工業大學信息工程學院 內蒙古 呼和浩特 010080)

0 引 言

機器翻譯是自然語言處理中的一個最早的研究分支,從1946年第一臺計算機誕生之日起,機器翻譯就作為計算機自然語言處理的一個重要研究領域受到了人們的廣泛關注[1]。

機器翻譯的發展歷程主要經歷了基于規則的機器翻譯[2]、基于實例的機器翻譯[3]和基于統計的機器翻譯[4]。20世紀90年代初,隨著互聯網的興起,統計機器翻譯在自然語言處理領域取得了較為理想的結果,基于統計的機器翻譯方法逐漸成為主流。之后隨著深度學習的興起及其在計算機視覺等領域取得了不錯的進展,深度學習[5]在自然語言處理中得到了廣泛的關注,為解決自然語言處理中稀疏特征容易擬合、對語言結構缺乏描述能力等問題提出新的思路。2014年以來,端到端的神經網絡機器翻譯[6-7]得到了迅速發展,基于神經網絡技術的機器翻譯方法在多個平行語言對中表現顯著超過了傳統的統計機器翻譯[8]。

端到端神經機器翻譯應用一種“編碼器-解碼器”的框架,它的核心思想是通過訓練神經網絡,找到源語言文本和目標語言文本之間的一種映射關系,直接將源語言映射到目標語言?!熬幋a器-解碼器”方法簡化了傳統的機器翻譯方法的過程。同時神經網絡機器翻譯很好地緩解了機器翻譯中存在的長距離依賴問題。對于不同種類的語言而言,可能存在獨有的語法和語言規則,其中最明顯的區別之一就是不同語言之間的句子、詞語順序存在的差異,由此帶來了將源語言映射為目標語言時的長距離調序問題。神經網絡機器翻譯通過引入長短時記憶LSTM(Long Short Term Memory)循環神經網絡和注意力機制[9]來捕獲長距離依賴[10],從而顯著提高了機器翻譯譯文的流暢性和可讀性。

內蒙古地區和蒙古國的官方用語為蒙古語,但是由于地域、經濟和技術發展等各方面因素的制約,蒙古語相關的自然語言處理研究起步較晚、蒙古語語法特殊性以及蒙古語形態變化相對復雜使得蒙漢翻譯的研究進展相對緩慢[11]。目前相關的蒙漢機器翻譯取得了一定的研究成果,但無論是傳統的基于統計的機器翻譯還是基于神經網絡的機器翻譯方法,其得到較好的翻譯模型通常都需要大量的、高質量的以及包含各個領域文本內容的雙語平行語料庫作為神經網絡的訓練數據。

蒙漢平行語料庫相較于大語種例如英漢(英語和漢語)、英德(英語和德語)等而言,目前還處于較為匱乏的階段,而平行語料庫規模的不足直接影響到神經網絡訓練模型的結果,在這種情況下的蒙漢機器翻譯的譯文質量依然有待提高。因此,如何利用目前數量、規模有限的平行語料得到效果較為理想的機器翻譯模型已經成為一個十分重要的研究方向和內容。蒙古語屬于乏資源語言,因此本文將遷移學習策略引入到蒙漢神經機器翻譯中來緩解平行語料庫缺乏的問題。首先利用大規模的英漢平行語料庫進行訓練,得到質量較高的翻譯模型后將其參數遷移至蒙漢神經機器翻譯的過程中,即使在蒙漢平行語料庫規模較小的條件下,相較于之前直接訓練的結果,遷移策略對最終的翻譯譯文質量也有一定提升。同時為緩解未登錄詞的影響,進一步提高翻譯效果,本文對漢語語料進行分詞,對蒙古語語料進行BPE分詞預處理,對蒙漢平行語料使用Word2vec預訓練詞向量。

1 相關技術

1.1 語料庫的預處理

向量化單詞或詞語是將語料輸入神經網絡的首要工作,英語文本中單詞之間本身存在空格作為分隔符,因此無須再進行基礎的分詞處理。而漢語并沒有天然的標志將詞語分隔開來,大部分是短語或者整個句子之間才有標點符號。如果把整個短語或句子直接轉化為一個固定維度向量的表現形式,這會降低句子的語言表達力,加大神經網絡學習語言模型的難度,所以漢語語料庫的預處理是必要的。

本文采用基于統計的分詞方法,其方法為在給定大量已經分詞的文本的前提下,利用統計機器學習模型來學習語言的詞語切分規律,以此來實現對未知文本的切分。本文采用jieba分詞對漢語語料進行處理。

蒙古語在構詞上屬于黏著語并且形態豐富[12],黏著語的一個特點是通過在詞根的前綴、中綴和后綴接其他構詞成分作為派生新詞的手段。所以在蒙漢機器翻譯的實踐中,未登錄詞的問題也不容忽視。針對該問題,本文采用字節對編碼(Byte Pair Encoding,BPE)技術對蒙古語語料庫進行預處理操作,只對語料庫中低頻詞進行分詞操作,從而提高低頻詞的子詞的共現次數,這樣對蒙漢翻譯中的未登錄詞問題達到一定的緩解作用。本文以5 000操作數對蒙古語語料進行了BPE的預處理,圖1為未進行分詞處理的蒙古語,圖2是經過BPE分詞處理后的蒙古語語料。

圖1 未經過分詞的蒙古語語料

圖2 經過BPE處理的蒙古語語料

目前很多自然語言處理任務中常用單詞作為詞匯單元。但對于蒙古語而言這種方法是有很大缺陷的,蒙古語可能組合的單詞形式的數量非常多,所以翻譯結果中出現未登錄詞的情況較多。很多的機器翻譯模型系統用標記來替代未登錄詞[13]。神經機器翻譯的研究人員主要通過未登錄詞替換和采樣等方法處理受限詞匯量問題[14]。Sennrich等[15]提出基于子詞單元(subword unit)的神經機器翻譯,他們使用BPE的方式來獲得子詞詞典。為了緩解蒙漢機器翻譯過程出現嚴重的未登錄詞現象,本文使用BPE技術對蒙漢平行語料處理后原詞匯被符號@@分隔成對應的子詞。

1.2 Word2vec

自然語言是一套用來表達含義的復雜系統。在這套系統中,詞是表義的基本單元,同時是自然語言用來表達含義的基本單元。機器學習使用向量來表示詞,即詞向量。要將符號形式的詞語轉化為數值形式,需要進行詞嵌入。Word2vec就是詞嵌入(word embedding)方法的一種。該方法由谷歌提出,不需要大量的人工標記樣本就可以得到質量較為理想的詞向量。

在Word2vec之前,自然語言處理通常把詞語轉換為離散的單獨的符號,即one-hot表示。該方法為語料庫中的每個詞語單獨地賦予一個只有一個中間值1其余值為0的向量。但是one-hot表示的詞向量之間相對獨立,無法體現相近詞之間的關系,且詞向量的維度取決于語料庫中詞語數量,如果語料庫規模較大,包含詞語數量的規模也十分可觀,這樣就會使得向量矩陣過于稀疏,并造成維度災難。

Word2vec本質上是一個簡化的神經網絡,其輸入是one-hot詞向量,在隱藏層是線性單元,其輸出層使用Softmax分類器,輸出維度與輸入維度一致。而Word2vec即隱藏層的輸出,因為參與計算的one-hot向量的特點,所以Word2vec也即輸入層和隱藏層之間的權重。本文使用Word2vec時選擇Skip-gram詞向量模型方法,圖3為其基本內部結構示意圖。

圖3 Skip-gram模型結構

圖3中,t為輸入序列中第t個位置的詞語,中心詞W(t)作為神經網絡的輸入值,經過神經網絡的隱藏層、輸出層輸出預測中心詞前后出現若干詞的相應的概率。本文采用基于層次的Softmax歸一化方法進行Skip-gram詞向量模型建模,Skip-gram模型需要計算出兩個窗口大小的詞匯也就是相對于中心詞上下文2n個詞匯的概率。

1.3 遷移學習策略

遷移學習一般先通過訓練原任務獲取一定的知識并將其記憶,然后將這些存儲下來的知識遷移應用到與原任務相近的任務中。遷移學習策略允許借用大量已有的標記數據來訓練網絡并將其學到的知識遷移到標記數據較少的神經網絡模型中,從而減少應用任務的訓練數據量[16-17]。

傳統自然語言處理的機器學習方法,首先針對特定的語言,通過相應的大量平行語料庫進行模型的訓練,然后將翻譯模型應用到該特定的語言翻譯任務中。而遷移學習與之相比,不再要求其基本條件,一是用來訓練機器學習模型的數據和測試數據必須是同分布的并且數據間是相互獨立的關系;二是用于訓練的數據集必須保證一定的規模才可能得到效果理想的模型。

遷移學習屬于機器學習方法中的一種。遷移學習中域(Domain)是學習的主體,由數據特征和分布組成。域又分為包含已有知識的源域和將要學習的目標域。遷移學習就是研究如何把在源域中學習到的知識遷移運用于目標域中。該方法按照遷移方法不同可以分為基于實例的遷移(Instance Based Transfer Learning,IBTL)、基于特征的遷移(Feature Based Transfer Learning,FBTL)、基于模型的遷移(Parameter Based Transfer Learning,PBTL)以及基于關系的遷移(Relation Based Transfer Learning,RBTL)[18]。本文在蒙漢機器翻譯中研究基于模型的遷移,又稱參數遷移方法,即在源域和目標域中存在可以共享的模型參數。具體方法是,首先對源域進行訓練,得到效果較好的模型后,將該模型參數記錄并遷移應用到目標域中,再根據目標域繼續學習新的模型。

如圖4所示,在一般的監督學習中,針對不同的任務,需要收集大量與任務相關的有標記的訓練數據得到各自獨立的模型。相比于這種策略,遷移學習可以實現在少量的標記數據條件下得到滿意的模型。遷移學習將訓練模型A獲取的知識存儲下來,應用于新的任務/域中,這里是對模型B的訓練,以達到提高模型B性能的目的,圖5為遷移學習模型示意圖。

圖4 傳統機器學習模型示意圖

圖5 遷移學習模型示意圖

遷移學習策略十分適用于已有標記數據缺乏的任務中,目前除了少量平行語料數據資源豐富的語言外(如英漢),很多語言對雙語平行語料資源匱乏的問題普遍存在,沒有足夠的標記數據[19-20],遷移學習的引入將緩解這一困難。

1.4 長短時記憶網絡

(1) 單向LSTM。自然語言處理是典型的序列到序列的機器學習任務,對于這種任務,使用最多的是循環神經網絡(Recurrent Neural Networks,RNN)。RNN能夠記憶輸入網絡的數據序列,通過這些信息RNN來進行一些預測。長短時記憶(Long Short-Term Memory,LSTM)是RNN的一種,它在基礎的RNN上進行了改進。LSTM擁有更長時間的記憶能力,有效克服了機器翻譯中存在的長距離依賴問題,顯著提升機器翻譯譯文的流利度和可讀性。

LSTM在普通RNN基礎上加入判斷信息是否有用的記憶單元,這個記憶單元被稱為block。該block主要通過門(gate)機制進行信息的控制。一個block中放置三個門控單元以及一個記憶細胞,包括遺忘門控制單元、輸入門控制單元和輸出門控制單元。LSTM記憶單元結構如圖6所示。

圖6 LSTM結構圖

圖6中,ht表示t時刻block的輸出,xt是當前輸入的新信息。遺忘門中,ft由ht-1和xt得到,它用來計算Ct-1中信息的遺忘程度。上界為1表示完全記憶,下界為0表示完全遺忘,其計算公式為:

ft=σ(Wf·[ht-1,xt]+bf)

(1)

it=σ(Wi·[ht-1,xt]+bi)

(2)

(3)

當前的新信息Ct可以通過以上的狀態計算,即遺忘一些信息并加入要記憶的新信息,計算公式如下:

(4)

輸出門中,ot用以控制哪些信息需要作為輸出,計算公式如下:

ot=(W0[ht-1,xt]+bo)

(5)

ht=ot×tanh(Ct)

(6)

式中:W為權重矩陣;b為偏置矩陣。

一般RNN在訓練中可能會發生梯度消失的情況,后面的時間節點對以前時間節點的感知力下降,這樣兩個距離較遠的節點之間的聯系就被削弱。而LSTM可以記憶符合算法或規則的信息,其他信息則會被遺忘。當神經網絡中的信息進入隱藏節點時,記憶單元通過三個門機制來控制信息的傳播,只有符合門控的信息才會被記憶并且向后傳遞,否則遺忘門會將信息丟棄,得以保留的信息則會根據需求繼續向后傳播或者直接輸出結果。

(2) 雙向LSTM。單向LSTM對句子進行建模存在一個問題:無法編碼從后到前的信息。而在機器翻譯中,對某個詞的翻譯往往需要借助上下文相關信息,此時雙向LSTM就可以更好地捕捉到雙向語義依賴。

雙向LSTM是由前向LSTM與后向LSTM組合而成。從1時刻到i時刻正向計算一遍,得到并保存每個時刻向前隱藏層的輸出。還要沿著時刻i到時刻1反向計算一遍,得到并保存每個時刻向后隱藏層的輸出。最后在每個時刻結合雙向計算相應時刻輸出的結果得到最終的輸出。雙向LSTM結構圖如圖7所示。

圖7 雙向LSTM結構圖

1.5 注意力機制

在普通的“編碼器-解碼器”架構中,解碼和編碼都依賴于內部一個固定長度向量(中間語義向量context)。注意力機制打破了這個限制,它通過保留LSTM編碼器對輸入序列的中間輸出結果,然后訓練一個模型來對這些輸入進行選擇性學習,并且在輸出時將輸出序列與之相關聯。Bahdanau等[9]把注意力機制用到了神經網絡機器翻譯上,在生成目標序列中的每個詞時,傳統的做法是只用編碼器最后一個時刻的輸出,但加入注意力機制后,用到的context是源序列通過編碼器隱藏層的加權和。通過這種方式,使源序列的每個詞與目標序列的詞建立了聯系。圖8為神經機器翻譯注意力機制示意圖。

圖8 注意力機制

圖8中,設有長度為T的詞向量序列X=(X1,X2,…,XT),源語言詞的向量X2同時包含了上一個詞X1和后一個詞X3的語義向量信息。其中:a表示源語言對齊權重;S表示神經網絡隱藏層狀態向量;Y表示神經網絡的輸出序列;h為編碼器輸入序列?;谧⒁饬C制的對齊權重計算公式如下:

(7)

式中:score(ht,hs)=htWhs,ht表示目標端隱藏節點狀態信息,hs表示源語言端隱藏層狀態信息,W為權重矩陣。將注意力機制加入到神經機器翻譯模型中,在生成目標語言詞時,計算得到當前詞和源語言端所有詞的對齊的權重,即生成當前詞時只關注源語言端的部分詞。注意力機制在一定程度上使得神經機器翻譯模型在處理長句子上的能力得到提升。

1.6 TensorFlow深度學習框架

TensorFlow是由谷歌團隊開源的機器學習框架。它擁有一個由工具、庫和社區資源組成的全面、靈活的生態系統,使研究人員能夠在機器學習中推動最先進的技術,開發人員可以輕松地構建和部署基于機器學習的應用程序。圖9為TensorFlow深度學習框架示意圖。

圖9 TensorFlow模型訓練框架示意圖

如圖9所示,Input為神經網絡輸入,通常是訓練模型的數據;Inference表示神經網絡經過前向推斷預測模塊;Evaluate表示神經網絡模型評估模塊;Loss是計算神經網絡損失代價模塊;Train表示神經網絡的訓練模塊,主要通過計算各個節點的梯度以及通過梯度來更新模型中的參數。神經網絡中的經驗風險最小化以下的目標函數:

(8)

式(8)用于計算整個訓練數據集的損失值,由神經網絡模型中所有訓練樣本N的損失值Li的均值和正則化損失值R(W)兩部分之和構成,λ為權重系數,i表示第i個訓練樣本。

1.7 TensorFlow中的參數遷移

本文進行的基于參數遷移的蒙漢機器翻譯模型是搭建在TensorFlow環境下,使用TensorFlow內部的存儲器對象來保存模型。利用導入預訓練的模型來實現參數權重的遷移,將訓練好的英漢神經網絡參數權重遷移蒙漢翻譯模型中,即蒙漢神經機器翻譯時網絡各節點參數不再是隨機初始化,而是將訓練好的英漢模型參數導入蒙漢模型中進行初始化。

TensorFlow深度學習框架中計算圖和相關參數是分開存儲的,因此導入預訓練的模型需要分兩步:首先需要構造神經網絡模型圖;然后加載權重參數。

當預訓練模型訓練完成后,Checkpoint文件(對應的擴展名為.ckpt)會存儲神經網絡中所有節點的權重、偏置和梯度等相關變量的值。通過調用TensorFlow中Saver對象的save()方法來保存全部網絡參數。然后在新的神經網絡中,通過restore()方法來加載預訓練模型的參數,在此基礎上繼續進行訓練。圖10為TensorFlow參數遷移的過程示意圖。

圖10 TensorFlow參數遷移

2 實 驗

2.1 實驗數據

本文實驗數據包含兩大部分:一部分是用于英漢翻譯模型的英漢平行語料庫;另一部分是用于蒙漢翻譯模型的蒙漢平行語料庫。每部分的訓練集、驗證集和測試集劃分及規模如表1所示。

表1 實驗數據集劃分

2.2 實驗流程

本文具體實驗流程如圖11所示。

圖11 實驗流程

TensorFlow平臺搭建神經網絡模型,通過英漢平行語料庫訓練得到英漢翻譯模型,將該神經網絡模型的參數存儲并導出。對蒙古語和漢語分別進行預處理得到處理后的平行語料庫,同樣在TensorFlow平臺搭建用于蒙漢翻譯的神經網絡模型,把導出的參數導入該神經網絡中進行參數初始化,然后再輸入處理后的蒙漢平行語料庫進行訓練,最后得到翻譯模型并進行翻譯結果評測。

2.3 實驗結果分析

本文在相同數量蒙漢平行語料庫的前提下,進行了基于TensorFlow的傳統蒙漢神經機器翻譯(未進行參數遷移)模型訓練、英漢神經機器翻譯模型訓練、基于Word2vec模型預訓練得到詞向量,并完成基于參數遷移的蒙漢神經機器翻譯模型訓練。本文對英漢進行了185 000步訓練得到模型參數,對蒙漢進行了100 000步訓練,記錄了每10 000步BLEU值以進行實驗對比。在Tensorflow框架中,Checkpoint文件存儲了神經網絡中所有結點的參數權重、偏置值、函數梯度等相關變量的值。本文在利用英漢平行語料訓練神經機器翻譯模型后會得到相關模型文件,其中包括了存儲神經網絡結構圖的.meta文件和存儲神經網絡參數權重的.ckpt文件。圖12為本文BLEU值隨訓練步數變化的情況。

圖12 BLEU值與訓練步數關系

通過圖12對比實驗,可以分析出,使用了參數遷移的蒙漢神經機器翻譯的最終結果(BLEU值)要優于傳統的未使用遷移策略的機器翻譯結果(提高了2.1BLEU值)??梢钥吹?,在經過英漢參數遷移的基礎上進行訓練,BLEU值提高的速度在前期要快于完全依靠蒙漢語料進行神經網絡初始化的翻譯模型。以BLEU值達到20為目標點,引入參數遷移的翻譯模型在訓練不到30 000步就可以完成,但是未引入參數遷移的傳統翻譯模型需要訓練約50 000步。

因為翻譯模型訓練之前參數初始化的影響,將同屬于翻譯任務的英漢翻譯模型的參數引入蒙漢翻譯模型的初始化,使得模型在訓練之前已有了一定的參數基礎,所以再進行訓練時,其學習速率會有所提升。并且使用Word2vec預訓練的詞向量后,最終的結果也要優于傳統的翻譯效果,其BLEU值相比提高了1.4。

3 結 語

目前神經機器翻譯在大語種之間互譯的相關研究趨于成熟,例如英德、英漢等語種之間的互譯效果已經達到了很好的效果。但是對于蒙古語這種小語種來說,現有的平行語料庫規模有限,短時期內獲取語料的難度也相對較大,這就限制了蒙漢神經機器的發展。本文將遷移學習引入到蒙漢神經機器翻譯中,利用大語種擁有大規模語料庫的優勢,將其模型參數遷移。并且為了提高翻譯效果,使用Word2vec預訓練了詞向量,將詞匯表示成固定維度的實數向量,相近語義的詞在詞向量空間上距離相近,這樣在一定程度上提升了雙語詞向量的表達能力。實驗結果表明,引入遷移學習對蒙漢翻譯效果有一定提升(BLEU值),說明對蒙漢機器翻譯中存在的平行語料庫不足的問題有一定的緩解。

同時,本文在源域中選擇的是英語到漢語的翻譯任務,而目標域是蒙古語到漢語,兩者雖然都屬于機器翻譯任務,但是英語和蒙古語在語法、語言結構上仍然存在較大差別。遷移學習在機器翻譯中應用時應存在一定語言相關性,因此在源域選擇與蒙古語語法相近的語言例如日語,這樣遷移到目標域可能會達到更好的翻譯效果,但是目前獲得較大規模的日漢平行語料庫還是相對困難的。平行語料庫不足依然是蒙漢神經機器發展的主要阻礙之一,而遷移學習的特性能在一定程度上緩解這個問題。因此,接下來的工作一是盡可能獲取蒙漢平行語料,二是繼續進行遷移學習方面的研究,獲取與蒙古語相近的其他擁有較大規模的語言的語料庫,并繼續嘗試其他模式的遷移方法在蒙漢神經機器上的研究。

猜你喜歡
蒙古語蒙漢語料
面向低資源神經機器翻譯的回譯方法
“對這片土地愛得深沉”
提高翻譯水平對年輕一代蒙古語廣播工作者的重要性
可比語料庫構建與可比度計算研究綜述
蒙古族民間游戲在幼兒“蒙漢雙語”教育活動中的運用
蒙古語呼倫貝爾土語“r”和“l”的語音差異及發音方法研究
淺談如何做好蒙漢翻譯工作
淺談在小學蒙漢雙語文教學中如何實施美育的滲透
國內外語用學實證研究比較:語料類型與收集方法
英語教學中真實語料的運用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合