劉婉婉, 蘇依拉, 烏尼爾, 仁慶道爾吉
(內蒙古工業大學 信息工程學院, 內蒙古 呼和浩特 010080)
在信息技術飛速發展的今天,文化的傳播和信息資源的共享是實現現代化的重要途徑,而跨地域、跨民族的信息交流又是較為重要的實現手段。因此,語言的翻譯應運而生。早期的翻譯由人工完成,這種翻譯方法很大程度上取決于翻譯人員的主觀意識以及翻譯習慣,雖然能夠較為清楚明確地對源語言的語義進行合理的表達,但是速度緩慢,且規模較小,無法滿足人們日益增長的翻譯需求。基于此,機器翻譯才能夠得以出現和發展。機器翻譯方法經歷了多個發展階段,包括基于規則的翻譯方法[1]、基于統計的翻譯方法[2]和最近較為流行的基于深度學習的翻譯方法[3]。基于規則的翻譯方法需要人為地設定諸多的翻譯規則,盡可能全面地覆蓋所有可能的句子的表達形式,因此規則庫構建起來非常困難。到20世紀90年代,基于統計的機器翻譯方法得以發展,通過統計學算法計算每個目標詞出現的概率,將得到的概率詞列表降序排列,利用n-best等相關算法選取最優解。這種方法能夠很大程度上降低語義困惑度[4],但也十分依賴語料庫的規模。只有在語料規模很大并且質量較好的前提下才能提高譯文質量,比較適用于國際大語種的互譯。在國內少數民族語言文字和漢語的平行語料普遍稀少的背景下,基于統計的機器翻譯方法還是無法實現較為理想的翻譯。而基于深度學習的機器翻譯方法主要利用神經網絡的特性來對雙語語料進行表征,通過對語料語義的自動學習獲取每個詞的上下文的語義信息,這種方法不需要必須擁有大規模語料,在很小規模的語料中也能夠實現。國外Cho[5]在處理英法翻譯任務時提出基于神經網絡的端到端框架,也叫做編碼解碼框架,利用兩個神經網絡結構實現機器翻譯功能,其中編碼器和解碼器均為神經網絡,編碼器主要用于源語言詞語的向量化和句子的統一編碼,解碼器主要利用編碼信息將其解碼為對應的目標語,實現雙語映射。然而其實驗采用循環神經網絡(recurrent neural network, RNN)不能對信息進行有效的長時記憶,因而造成一定程度的梯度消失。Jean[6]提出了一種長短時記憶模型(long short terms memory, LSTM)[7]結構的端到端神經機器翻譯系統框架,利用LSTM對神經元信息有效存儲的特性對翻譯模型進行構建,然而LSTM結構復雜,訓練緩慢,在硬件條件一般時即使針對中等規模語料的訓練,其時間復雜度也是非常大的。劉宇鵬[8]利用層次循環神經網絡對英漢機器翻譯系統進行模型構建。而在蒙漢翻譯工作中,內蒙古大學王斯日古楞[9]利用基于統計的方法對翻譯模型進行建模,實現雙語互譯。銀花[10]以信源信道模型為基礎構建基于短語的蒙漢統計機器翻譯系統,在預處理和框架搭建上進行了嘗試,為蒙漢機器翻譯奠定了基礎。本文采用深度學習方法中GRU神經網絡[11]對蒙漢神經機器翻譯系統進行模型構建,利用神經元中更新門和重置門的功能對歷史信息進行保留或丟棄,此外,利用標注了詞性信息的字典配合全局注意力機制搜索雙語對齊信息,進而提高翻譯準確率,譯文利用BLEU值作為評測指標,利用n-best函數預測譯文,提高蒙漢機器翻譯質量。
模型的結構為端到端神經網絡結構,編碼器為了更好地獲取蒙古語的語義信息和位置信息,采用雙向GRU神經網絡結構[12],利用去全局注意力機制獲取每一個目標端漢語詞語對應的蒙古語全局對齊權重,再利用一個單層的GRU神經網絡對目標段漢語進行解碼預測,最終利用softmax歸一化函數進行目標詞預測,其具體結構如圖1所示。

圖1 模型結構圖
如圖1所示,蒙古語詞輸入進編碼器GRU神經網絡的節點,根據時間序列方式,每次將一個蒙古語詞語輸入節點,當前時間點的隱藏層節點中包含該詞信息和該詞相關的上下文向量信息,當蒙古語句子中最后一個詞輸入神經網絡節點后,其對應的最后一個節點中就包含了句子中所有詞語的全部向量信息。通過一個包含詞性標注信息的全局注意力層,計算每個目標端漢語詞語對應的蒙古語詞語的全局權重,利用softmax函數進行歸一化處理,并選擇最優譯文輸出。因此,模型的構建分為語料處理、編碼器構建、注意力層構建、解碼器構建等。本文依照上述順序進行相應的描述。
蒙漢神經機器翻譯中雙語語料的預處理是獲取良好譯文的先決條件,為使神經網絡能夠更好地學習到雙語語料中的語義信息和每一個詞的前后文關系,高質量的分詞尤為重要,由于蒙古語屬于黏著語且每個句子中的單詞之間由空格區分,所以不需要再對其做分詞處理,而漢語屬于孤立語,詞與詞之間沒有任何的天然分隔符,因此如果不對漢語語料進行預處理,最有可能導致的結果就是每一個神經網絡的節點中保存的信息是每一條句子的向量信息,而不是每一個漢語詞語的向量信息,因而無法學習語義特征,導致翻譯質量很低。漢語的分詞采用最大匹配算法[13],這又取決于分詞詞典的質量。例如漢語句子“洛杉磯湖人隊連續兩年獲得了NBA總冠軍”,可分詞的形式有“洛杉磯/n 湖人/n 隊/n 連續/p 兩年/n 獲得/v 了/p NBA/n 總冠軍/n”、“洛杉磯湖人隊/n 連續/p 兩年/n 獲得了/v NBA總冠軍/n”。例如,當出現名詞性短語時,全部拆分的分詞效果明顯沒有不拆分的效果好。因此,在構建字典時,對詞語的詞性標注變得尤為重要,本文利用Viterbi算法[14]進行分詞,如式(1)所示。
式(1)中,Π=(πi)表示隱藏狀態先驗的概率,ο為計算復雜度,a表示隱藏狀態的轉移矩陣,b表示觀測狀態的混淆矩陣,P為分詞概率。


表1 詞性表
蒙漢神經機器翻譯系統采用端到端網絡結構,編碼器和解碼器采用GRU神經網絡,輸入詞向量為充分考慮上下文信息采用分布式表示方式,利用全局注意力層獲取雙語句子中相應詞的對齊位置信息。
1.2.1 編碼器構建
利用蒙古語進行編碼時,編碼器的結構采用雙向的GRU神經網絡,包括一個前向的神經網絡和一個后向的神經網絡,當模型輸入一句蒙古語句子時,將這句蒙古語句子中每一個詞對應的詞向量分別輸入正向神經網絡和后向神經網絡的頭節點,在時間點T,對應的神經網絡節點中就會包含當前詞語的上文信息和下文信息,直到最后句子輸入完成時,該編碼器中就包含了全部的語義的向量和每一個詞語對應的上下文等相關的信息,完成最終的編碼。編碼器的構成如圖2所示。

圖2 編碼器結構
圖2中前向層和后向層的神經網絡節點為GRU結構,針對每一個時刻的輸入,其輸出有門控單元控制,分別為重置門(reset gate)和更新門(update gate)。其隱藏層神經元結構如圖3所示。

圖3 GRU結構
圖3中z為更新門,r為重置門。h表示隱藏層狀態,i、o分別表示輸入和輸出。其中,更新門、重置門、隱藏層激活狀態和當前時刻的隱藏層的狀態具體實現如式(2)~(5)所示。

1.2.2 全局注意力層構建
當編碼器構建完成后,利用一個結束符

圖4 全局注意力層的結構
式(6)中,W為權重矩陣,h表示相應時刻的隱藏層的向量信息。at(s)表示對齊分數。
1.2.3 解碼器構建
全局注意層構建后,開始構建解碼器,GRU解碼器由一個單隱藏層的神經網絡構成,在每預測一個目標詞時,充分考慮當前隱藏層的狀態和上一時刻的目標詞,利用softmax函數進行歸一化處理,并選取最優預測詞進行輸出,圖5所示為解碼器的結構圖。

圖5 解碼器結構
總體來說,解碼器在進行目標語言的預測是條件概率計算式(7)和(8),每當預測一個新的目標詞時,首先考慮當前時刻的隱藏層的狀態z,另外還要考慮前一時刻的目標詞。通過這兩類信息來預測當前詞。
其中,h表示隱藏層狀態,y表示預測詞,c表示上下文的向量信息。
參數的訓練采用時間反向傳播算法[15],通過初始設定的參數值進行反向求偏導。在輸入層、隱藏層和輸出層三個狀態下的梯度計算如式(9)~(11)所示。
其中,F為損失函數,a表示匯集計算的值,b為激活函數激活后的值,w為連接參數。系統的參數設定以參數訓練方式設定完成。
系統的流程如圖6所示,首先對語料進行分詞、標注等預處理,通過劃分數據集選定實驗數據,然后構建模型的基本結構,包括構建編碼器、解碼器。模型構建完成后,需要對模型參數初始化并選擇相應的學習率策略和參數優化方案等,接著對模型進行測試和評分,最終完成系統。
本文實驗的硬件環境是在Ubuntu 14.04系統下完成的,采用8核16線程i7-4702處理器,8GB內存以及50GB的硬盤。軟件環境是Python 3.4,利用TensorFlow1.1.0。實驗數據為內蒙古大學提供的蒙漢平行雙語語料庫67 288句對,其中,訓練集6.2萬句,驗證集4 000句,測試集1 288句對。實驗中,編碼器GRU神經網絡結構采用雙向結構,詞向量維度設定為512,單輸入層雙隱藏層結構,每層的節點數設定為512。注意力層 采 用全局注意力

圖6 系統流程圖
機制,解碼器GRU神經網絡采用單隱藏層單輸出層結構,節點數量與編碼器保持一致。訓練方式采用BPTT,初始學習率設定為1,應用自適應策略在訓練中自動對學習率進行調整,參數優化采用隨機梯度下降算法。基準實驗采用RNN端到端神經網絡結構,分別在不同粒度的分詞條件下和加入詞性標注條件下進行實驗。
本文在幾種不同類型的分詞以及添加詞性標注信息的條件下評測全局對齊矩陣的對齊結果。以“竊賊破門進入辦公室偷走了零用現金”為例,當分詞粒度為“竊賊/ 破門/ 進入/ 辦公室/ 偷/ 走/ 了/ 零用/ 現金”時,全局對齊矩陣如圖7(a)所示;當分詞粒度為“竊賊/ 破門/ 進入/ 辦公室/ 偷走了/ 零用現金”時,其全局對齊矩陣如圖7(b)所示。

圖7 全局對齊矩陣
如圖7所示,當添加了詞性標注信息后,以名詞性短語進行大粒度分詞時,其對齊程度要優于細粒度的情況。而當沒有名詞性短語時,添加了詞性標注信息,蒙漢雙語全局對齊矩陣的對齊程度則要優于沒有添加詞性標注信息的蒙漢雙語的全局對齊矩陣。以“他們寫信臨時接受此項合同”為例,其添加了標注信息的對齊矩陣如圖8(a)所示,而沒有添加標注信息的對齊矩陣如圖8(b)所示。

圖8 對齊矩陣
本文的對比實驗是利用基于GRU詞性標注的蒙漢機器翻譯系統與基于RNN的蒙漢機器翻譯基準系統進行對比實驗。當添加詞性標注信息和對名詞性短語進行分詞后,其在不同迭代次數下對應的BLEU值均要大于基準系統,且針對長度超過30個單詞的長句子,其翻譯質量以及語義困惑度也要優于基準系統,其中實驗訓練進行20輪迭代,每輪迭代250次,并且每3輪輸出一次中間結果。另外,基于GRU詞性標注的蒙漢機器翻譯系統還與基于統計的蒙漢機器翻譯系統進行對比,其中,基于統計的蒙漢機器翻譯系統采用基于短語的統計方法,并且在Moses解碼器上運行。機器對比實驗如表2所示。

表2 實驗結果
表2中,Baseline表示基準系統,GRU表示采用GRU神經網絡的蒙漢機器翻譯方法且不加詞性標注信息,GRU+tag表示采用GRU神經網絡的蒙漢機器翻譯系統且加入詞語的詞性標注信息,SMT表示基于統計方法的蒙漢機器翻譯方法。從表2可以看出,隨著迭代訓練次數的增加,三種實驗的BLEU都得到了一定的提升,而利用GRU神經網絡加入詞性標注信息的實驗則顯示出良好的實驗效果,相比較沒有添加詞性標注信息的實驗和基準系統以及統計翻譯系統,其譯文質量都有一定提高,三種情況下的BLEU值隨著訓練迭代數增加而變化,如圖9所示。

圖9 實驗BLEU值
本文以待測語料句子中單詞數目為分類條件對句子劃分,將語料句子分為四個類別,分別為包含10、20、30和40個單詞的句子,使用迭代20輪生成的訓練模型進行實驗。實驗結果如表3所示。
通過表3可以看出,在不同長度的句子中,本文給出的模型都顯示出更高的譯文翻譯質量。在40個

表3 實驗結果
單詞級別的句子翻譯中, 相比較基于RNN的蒙漢機器翻譯基準系統,模型BLEU值提高了2.78。而與以統計機器翻譯為基礎的Moses解碼器系統比較,BLEU值得到1.04的提高。其中,實驗對應BLEU值的走勢圖如圖10所示。

圖10 BLEU值走勢圖
從圖10可以看出,雖然隨著單詞數的增加,使用不同方法得到的譯文BLEU值在梯度消失的影響下都有一定程度的下降,但本文模型BLEU值依然保持在可接受范圍,保證了譯文的質量和流利度。
通過實驗顯示,利用GRU神經網絡方法加詞性標注信息在進行蒙漢機器翻譯實驗時,其翻譯效果要優于基準系統和統計方法的蒙漢機器翻譯系統,且能夠較好地處理長句子,在處理長距離依賴問題時可以對相應的語義信息做有效的記憶。另外,相比較沒有加入詞性標注信息的蒙漢機器翻譯系統,能夠使得計算機著重理解源語言中每個詞語的語義環境、詞性信息以及相應的上下文結構,在一定程度上提高了基于GRU的蒙漢機器翻譯系統的準確率。
本文利用GRU神經網絡構建蒙漢神經機器翻譯系統,通過GRU神經網絡的特點對蒙古語進行編碼,并且針對編碼信息對漢語進行解碼。GRU神經網絡節點中的記憶單元和控制記憶單元工作的門結構能夠對語義信息進行有效的存儲,而全局注意力機制還能利用標注信息更好地找出相關雙語的對齊信息,從而提高蒙漢機器翻譯系統的翻譯質量。但是目前我國少數民族語言平行語料仍然較為匱乏,針對現階段存在的蒙古語語料稀少的問題,本文將在未來進一步通過各種途徑來搜集雙語平行語料,包括網頁、文獻、小說、新聞等,為蒙古語信息文化的傳播和發展提供幫助。