烏尼爾,蘇依拉,劉婉婉,仁慶道爾吉
(內蒙古工業大學 信息工程學院,內蒙古 呼和浩特 010080)
隨著社會交流的發展,信息的傳播變得尤為重要,大到國際合作,小到國內交流,都離不開信息傳播,文本文字的翻譯則是實現信息傳播和交流的重要途徑,以人工翻譯為主的翻譯方法翻譯質量好,但是翻譯速度較慢,以機器翻譯為主的翻譯方法則能夠快速地、較為準確地對文本進行翻譯。自20世紀90年代統計機器翻譯方法[1]逐漸成為機器翻譯的主流方法以來,一直受到科學家和語言學家褒貶不一的評論,科學家認為從大規模語料中利用基于對數線性模型[2]的統計分析方法可以預測每一個目標詞出現的概率,盡量提高譯文的流利程度,避免非法句子的出現。而語言學家則認為,統計機器翻譯方法過分依賴數學統計,對源語言不進行語義分析,會導致歧義譯文的產生,從而難以獲得更高質量的譯文。為此,Cho[3]以神經網絡為基礎提出了一種全新的機器翻譯系統框架,稱為編碼—解碼框架。通過將源語言句子編碼為一個長度固定的向量形式,這組向量中包含整句源語言的所有語義信息,然后通過一個解碼器將這組向量信息解碼為與之對應的目標語言句子,最終實現源語言到目標語言的翻譯。但是由于這種框架中的神經網絡類型選取的是循環神經網絡RNN(recurrent neural network)[4],在模型訓練過程中通過時間反向傳播算法BP(back propagation)[5]進行反向求梯度時,句子中位置越靠前的詞與當前詞的相關性越低,梯度變化越小,會導致梯度消失現象的產生,出現的結果就是在翻譯長句子時翻譯質量很低;Jean[6]提出一種基于句子級別的長短時記憶模型LSTM(long short time memory)的機器翻譯系統,這種模型的優勢在于,在神經網絡隱藏層節點加入記憶單元對向量信息進行記憶,緩解梯度消失;但是缺點仍然明顯,由于構建記憶單元中輸入門、輸出門和遺忘門時還需要分別對每個門控單元添加激活函數,導致訓練速度很慢,尤其針對大規模語料,其訓練的時間復雜度很高。所以,2013年Kalchbrenner[7]在編碼—解碼框架基礎上首次采用卷積神經網絡CNN(convolution neural network)作為源語言編碼的載體,以單隱藏層的RNN進行目標語解碼,不僅訓練速度快而且能夠在同一時刻得到句子的語義信息,實現并行計算。國內基于神經網絡算法的機器翻譯研究雖然在大語種互譯方面發展迅速,但在漢 語 和 少 數 民 族 語
言的互譯方面發展則較為緩慢;劉宇鵬[8]提出基于層次遞歸神經網絡的方法獲取句子的語義關系來改進翻譯模型,在英漢翻譯任務中獲得較好的結果;史曉東[9]提出利用深度神經網絡DNN(Deep neural network)對漢英雙語添加隱式表達關系,在關系識別中獲取高質量譯文。而在蒙漢翻譯方面,目前內蒙古大學、內蒙古師范大學及內蒙古工業大學在進行基于統計的翻譯任務和基于神經網絡的翻譯任務[10]。本文通過利用CNN對蒙古語進行編碼(區別于時間序列模型),能夠并行處理句子中的任意詞語,在獲取語義關系的同時加快訓練速度,并利用全局注意力模型的GRU網絡對向量解碼,以BLEU值為評測指標,通過歸一化函數預測譯文,最終提高蒙漢機器翻譯模型質量。
模型的搭建采用端到端的神經網絡結構[11],該結構由一個編碼器和一個解碼器構成,編碼器作用是將蒙古語句子詞語進行編碼,生成包含語義信息的向量集合[12],解碼器作用是將這部分向量集合進行解碼,預測出譯文[13],具體流程如圖1所示。

圖1 模型結構
如圖1所示,當對蒙古語句子進行編碼時,首先將句子中的詞語向量化處理,向量維度固定為N,句子中詞向量個數為M,由此構成一個M×N的輸入矩陣,卷積層(conv-layer)通過預設窗口Filter的大小對窗口內包含的蒙古語詞語集合進行卷積運算,接著利用池化層(pooling-layer)的采樣策略進行特征提取,將所有提取的特征集合傳給全連接層,進而完成編碼過程。解碼階段,利用全局注意力機制計算當前預測漢語詞與每個源語言端蒙古語詞的對齊權重,通過一個GRU循環神經網絡預測最終譯文,完成解碼過程。本文以總分形式對模型進行說明。
語料的向量化有兩種方式,一種以詞典大小K為維度的1-of-K模式,在詞典中該詞出現的位置設為1,其它位置均為0,表示方式簡單,但會構成一個維度很大的輸入矩陣,且在進行卷積運算時由于0元素過多而造成大量無效運算,造成CPU資源浪費。另一種是以分布式表示的詞向量,這種表示方式使得每一個詞向量都有一組特定的編碼,區別于其他詞向量,在處理上下文時根據單詞向量的正交運算獲取對應的相似度值,便于文本的編碼。此外,向量的維度可人工設定,在卷積神經網絡后續的卷積計算中CPU可以高效利用。本文采用后一種詞向量表示方式。詞語向量化處理后采用Skip-gram來預測其周圍詞,如式(1)所示。
(1)
CNN的構建包括輸入矩陣、卷積層、池化層(采樣層)以及全連接層,其中卷積層由若干窗口(卷積核)構成,每個窗口包含輸入矩陣中蒙古語詞向量的集合,根據窗口移動步長遍歷整個輸入矩陣。窗口每移動一個步長,都會將該窗口范圍內的詞向量集合做采樣運算,通過采樣策略找出該集合內的最優值,最終得到一個包含所有關鍵詞信息的整句源語言向量信息,其過程如圖2所示。

圖2 CNN編碼器

(2)


圖3 ELU函數
卷積層ELU激活函數及其導數如式(3)所示。
(3)
式(3)中,ε為常數,x為輸入。ELU函數通過在正區間取x減輕梯度消失問題[15],且在負區間取小值時具有軟飽和特性,提高噪聲的魯棒性。

(4)
式(4)中,β為乘法偏置,b為加法偏置。Maxpooling為池化層激活函數。最后將所有包含語義信息的向量集合傳送至全連接層。
范崢崢從車上下來,打扮得很光鮮,白色的針織衫內衣,黑色的中長外套,下穿當下流行的春秋靴和百褶短裙,讓賈鵬飛不敢相信這就是快半年沒見面的妻子。

本文將蒙古語動詞的詞干詞根進行拆分,并以向量形式作為CNN神經網絡的輸入。同時構建詞根表,匯總出蒙古語語料的詞根,在編碼器編碼時通過遍歷詞根形態來緩解翻譯過程中出現的用詞錯誤等問題。詞根形態表示如表1所示。

表1 詞根形態表示
編碼器工作完成后,進行解碼前,通過全局注意力機型來獲取與當前漢語詞對齊的源語言端蒙古語詞位置,利用包含一個隱藏層的GRU神經網絡進行解碼。GRU解碼器結構圖如圖4所示。

圖4 GRU解碼器結構圖
圖4中,通過全連接層將信息傳入包含注意力機制的GRU解碼器,解碼器隱藏層節點中重置門和更新門決定是否對新信息進行記憶。其各門控單元激活公式如式(5)~式(7)所示。
(8)
(9)
通過利用softmax函數進行歸一化處理,預測當前時刻的目標詞,并將當前目標詞向量導入下一個隱藏層狀態,配合當前隱藏層狀態預測下個目標詞。softmax函數如式(10)所示。
p(yt|y (10) 系統模型構建完成,需要對模型參數初始化,模型訓練中利用隨機梯度下降SGD[16]對初始化的參數進行調整和優化,獲取優化參數。系統的模型流程圖如圖5所示。 圖5 模型流程圖 本文實驗數據為蒙漢雙語平行語料67 000句對,此外還有從內蒙古日報網站等相關網站下載的篇章對齊雙語語料約2萬句,通過對篇章對齊語料的預處理和校對,總計獲得可用雙語句對齊語料85 000句對。 語料庫利用自動法進行劃分: 訓練集語料75 000句對,驗證集語料8 000句對,測試集語料2 000句對。雙語詞典選取用得最頻繁的8 000個單詞。模型構建中,CNN編碼器采用雙卷積雙池化層結構,卷積層激活函數為ELU,解碼器采用全局注意力的單隱藏層GRU神經網絡。詞向量維度設為300,卷積窗口大小設為4,迭代訓練30輪,初始學習率設為1,每三輪迭代后學習率變為原來0.9,系統采用BLEU作為譯文評測指標。實驗的硬件環境為Ubuntu14.04,GPU為GTX760。基準系統采用RNN結構的蒙漢機器翻譯系統。 本文首先驗證訓練速度,觀察利用CNN的編碼器和RNN編碼器的工作速度,利用GPU訓練并記錄前10輪迭代訓練時間,實驗結果如表2所示。 表2 系統運行速率 單位: min 續表 通過表2可以看出,與基準系統相比,利用CNN編碼的系統速度提高了約2.3倍。說明卷積神經網絡處理文本信息時采用并行處理和矩陣計算的方法要快于RNN的時間序列模型這類每次只能處理一個蒙古語詞的方法。 通過訓練后的模型,利用3 000句對的蒙古語語料測試集分別在基于CNN的系統和基準系統上進行測試,CNN編碼器輸入矩陣為30×300,30為蒙古語句子的最大長度,300為每個詞對應的詞向量維度,滑動窗口步長為1。當采用單卷積單池化層結構,結果如圖6(a)所示,采用雙卷積雙池化層結構時,結果如圖6(b)所示,其中橫軸表示訓練時段,縱軸表示模型BLEU值。 由圖6看出,隨著CNN結構的改變,通過增加相應的卷積層和池化層來提取特征,其語義信息將被更好地編碼,便于目標端解碼和預測。 圖6 測試結果 圖6 測試結果 圖6(b)中,當采用雙卷積層結構時,譯文的BLEU值相比較基準系統有了較大程度的提升,最大提升3.09個BLEU值,說明在保證訓練速度的前提下,還保證了譯文的質量。表3所示為不同實驗下的最優BLEU值及其對應的改進幅度。 表3 各實驗BLEU值 由表3可看出,隨著增加卷積層、池化層個數,對應的BLEU值也得到了相應的提升,理論上可以進一步增加CNN編碼器中卷積層和池化層的數量來改進本文系統,但是勢必對CPU的計算造成過量的負擔,因此本文在CPU運行負載正常的情況下使用當前配置模式。表4所示為利用測試集語料及基準系統翻譯結果和基于CNN的蒙漢機器翻譯系統得出的部分結果對比。 表4 部分結果 續表 本文提出利用CNN和GRU神經網絡分別對蒙古語語料和漢語語料進行相應的編碼和解碼操作,主要根據CNN神經網絡能夠并行運算、權值共享和提取采樣特征的特點來提升模型的訓練速度和語義編碼質量,利用GRU神經網絡中更新門和重置門的功能對模型中主要語義信息進行記憶,進一步緩解訓練中產生的梯度彌散和梯度爆炸等現象,從而解決RNN神經網絡在長距離現象中出現的問題。此外,本文通過在預測目標端漢語詞匯時計算所有的源語言端蒙古語詞匯的權重來獲取對齊概率,這樣進一步提升了翻譯質量。但是針對目前蒙古語到其他語種的翻譯問題,都存在一個較為嚴重的問題,就是語料小、投入力度不足。這不僅在很大程度上限制了少數民族語言機器翻譯的發展,更加影響了民族文化事業的進步,因此在今后的工作中,將進一步搜集相關的信息與材料,為蒙古族乃至所有中國少數民族信息文化事業的發展做出自己的貢獻。 [1] 苗洪霞,蔡東風,宋彥.基于短語的統計機器翻譯方法[J].沈陽航空航天大學學報, 2007, 24(2): 32-34. [2] 戴維·諾克, 彼得·J.伯克. 對數線性模型[M].上海: 格致出版社,2012: 17-29. [3] Cho K, VanMerrienboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. Computer Science, 2014, 2(11): 23-37. [4] Mikolov T, Karafiát M, Burget L, et al. Recurrent neural network based language model[C]//Proceedings of Conference of the International Speech Communication Association, Makuhari, Chiba, Japan, September. DBLP, 2010: 1045-1048. [5] Prokhorov D V, Si J,Barto A, et al. BPTT and DAC: A common framework for comparison[M]. Handbook of Learning and Approximate Dynamic Programming. John Wiley & Sons, Inc, 2012: 381-404. [6] Jean S, Cho K,Memisevic R, et al. On using very large target vocabulary for neural machine translation[J]. Computer Science, 2014: 11(6): 7-16. [7] Kalchbrenner N,Blunsom P. Recurrent continuous translation models[C]//Proceedings of Association for Computation Linguistics. 2013: 1700-1709. [8] 劉宇鵬, 馬春光, 張亞楠. 深度遞歸的層次化機器翻譯模型[J].計算機學報, 2017, 40(4): 861-871. [9] 史曉東, 陳毅東.基于語篇的機器翻譯前瞻[C]. 曹右琦,孫茂松.中國中文信息學會二十五周年學術會議.北京: 清華大學出版社,2006: 56-68. [10] 寧靜. 基于樹到串的蒙漢統計機器翻譯研究[D]. 呼和浩特: 內蒙古師范大學碩士學位論文, 2016. [11] 陳煒. 基于神經網絡的機器翻譯技術研究[D]. 北京: 中國科學院大學碩士學位論文,2016. [12] Meng F, Lu Z, Wang M, et al. Encoding source language with convolutional neural network for machine translation[J]. Computer Science, 2015,11(2): 15-22. [13] Gehring J, Auli M, Grangier D, et al. A Convolutional Encoder Model for Neural Machine Translation[J]. Computation and Language. 2016,8(6): 33-45. [14] 陳先昌. 基于卷積神經網絡的深度學習算法與應用研究[D].杭州: 浙江工商大學碩士學位論文,2013. [15] 王龍, 楊俊安, 劉輝,等. 基于RNN漢語語言模型自適應算法研究[J]. 火力與指揮控制, 2016, 41(5): 31-34. [16] 汪寶彬, 汪玉霞. 隨機梯度下降法的一些性質[J].數學雜志,2011,31(6): 1041-1044.1.5 系統流程

2 實驗
2.1 訓練速度


2.2 實驗評測及結果分析





3 總結