999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Transformer的蒙漢神經機器翻譯研究

2020-03-11 12:51:04蘇依拉牛向華趙亞平范婷婷仁慶道爾吉
計算機應用與軟件 2020年2期
關鍵詞:設置模型

高 芬 蘇依拉 牛向華 趙亞平 范婷婷 仁慶道爾吉

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

0 引 言

機器翻譯(Machine Translation, MT)是借助機器之力,自動地將一種自然語言(源語言)翻譯成為另外一種自然語言(目標語言)[1]。機器翻譯的思想最早于1949年提出,從早期的詞典匹配,到詞典結合語言學專家知識的規則翻譯,到基于語料庫的統計機器翻譯,再到當前主流的神經網絡機器翻譯(Neural Machine Translation, NMT),機器翻譯經歷了一個漫長的發展過程。神經網絡機器翻譯[2]是一種使用深度學習算法通過神經網絡獲取自然語言之間的映射關系的方法。NMT模型與統計機器翻譯(Statistical Machine Translation, SMT)模型的不同之處在于其學習到的映射關系是非線性的,并且其使用連接編碼器和解碼器的狀態向量來描述語義的等價關系。NMT自2014年被提出以來,應用遞歸神經網絡(Recursive Neural Network, RNN)、卷積神經網絡(Convolutional Neural Networks, CNN)、注意力機制(Attention Mechanism)等技術不斷提升翻譯系統的性能,2016年已基本全面取代SMT成為主流機器翻譯方法。

序列到序列(Sequence to Sequence, Seq2seq)[3]是一種深度學習[4]算法,在機器翻譯方面有廣泛的應用。Seq2Seq模型由編碼器和解碼器兩個部分來構成,其中編碼器將源句總結為矢量表示,解碼器從矢量中逐字生成目標句。

傳統的基于CNN或RNN的Seq2Seq模型都存在一定的不足:CNN雖然能夠實行并行計算,計算更高效,但是不能直接處理過長的序列樣本;而RNN雖然可以處理長序列問題,但RNN的運行嚴格遵循從左到右或者從右到左的順序,一次處理一個單詞,不能完全并行計算。此外,Facebook 2017年提出的完全基于CNN架構的Seq2Seq模型能捕捉長距離依賴問題[5],最大優點是在訓練階段所有的元素計算可以實現完全并行,但非常占內存,在大數據量上調整參數并不容易。

針對以上提到的基于CNN和RNN的Seq2Seq模型存在的不足,2017年6月,谷歌發布了一種新的機器學習框架Transformer[6],其主體是基于自注意力機制[7]來構造編碼器和解碼器,獨特之處是搭建了完全基于注意力機制的Seq2Seq模型。該模型高度并行工作,在任務表現、并行能力和易于訓練性方面都有大幅的提高。該模型在機器翻譯及其他語言理解任務上的表現遠遠超越了現有算法。

機器翻譯的發展使得稀少資源語言和少數民族語言的機器翻譯任務也獲得了更多的關注。但是由于蒙古語自然語言處理研究起步較晚以及蒙古語本身語法形態變化相比英、漢等語言更為復雜,使得蒙漢翻譯的研究進展相對緩慢。因此蒙漢機器翻譯的發展有較大的提升空間。蒙漢機器翻譯的研究將促進蒙古族語言文化與經濟的繁榮、發展和科技進步,同時為其他少數民族語言開展相關研究提供一定的參考價值,具有一定的理論指導價值和現實意義。

由于蒙古語屬于阿爾泰語系,漢語屬于漢藏語系,故兩種語言在形態學、結構學等方面都有很大的不同。蒙古語在形態學方面以詞根或詞干為基礎,后接附加成分派生新詞進行詞形變化;名詞、代詞、形容詞、數詞、副詞、后置詞和形動詞,都有人稱、數或格的語法范疇;動詞都有時、體、態、式等語法范疇。在結構學方面,句子中的語序都有一定的規律。通常主語在前,謂語在后,修飾語在被修飾語之前,謂語在賓語之后。而選擇合適的切分粒度對蒙漢機器翻譯效果有很大的影響[8],故蒙漢兩種語料的切分方式應有所區別。

1 神經網絡機器翻譯

1.1 Transformer

Transformer框架的設計是把序列中的所有單詞并行處理,同時借助自注意力機制可以將上下文與較遠的單詞結合起來。在每個步驟中,每一個符號的信息都可以借助自注意力機制與其他所有的符號進行溝通。Transformer與固有定式不同,它沒有使用任何的CNN或者RNN結構,Transformer的訓練速度比RNN快很多,而且其翻譯結果也比RNN好得多。

如圖1所示,不同于以往主流機器翻譯使用基于RNN的seq2seq模型框架,Transformer框架用注意力機制代替了RNN搭建了整個模型框架。Transformer框架總體上依舊是Encoder-Decoder結構,圖1左邊是編碼器,右邊是解碼器,是一個完全基于注意力機制的編碼器-解碼器模型。編碼器由N個網絡塊組成,每一個塊中包含一個多頭注意力子層和前饋神經網絡子層。解碼器的網絡塊一般與編碼器網絡塊相同,也是由N(一般為6)個網絡塊組成,不過解碼器的網絡塊中多了一個Masked多頭注意力層。為了更好地優化深度網絡,整個網絡使用了殘差連接[9]并對層進行了規范化(Add & Norm)[10]。

圖1 Transformer框架

1.1.1注意力機制

深度學習中的注意力機制和人類的選擇性視覺注意力機制相似,都是從大量重要信息中忽略大多不重要的信息,篩選出少量重要信息并聚焦到這些重要信息上。其核心內容是為輸入向量的每個單詞學習一個權重。在計算注意力的時候主要分為三步:首先將query和key進行相似度計算權重,然后使用softmax函數進行歸一化,最后將權重和對應的鍵值對value進行加權求和。一般key=value。計算公式表示為:

Attention(Q,K,V)=softmax(sim(Q,K))V

(1)

圖2 放縮點積注意力

放縮點積注意力計算式表示為:

(2)

多頭注意力結構如圖3所示,可以理解為在參數不共享的情況下,多次執行放縮點積注意力,通過h個不同的線性變換對Q、K、V進行投影,然后將不同的注意力結果拼接起來,最后通過一個線性映射輸出。這樣的好處是可以允許模型在不同的表示子空間里學習到相關的信息。

圖3 多頭注意力

通過多頭注意力,模型能夠獲得不同子空間下的位置信息,多頭注意力計算公式為:

MultiHead(Q,K,V)=Concat(head1,head2,…,headh)W

(3)

(4)

首先在編碼器端使用了多頭注意力進行連接,K、V分別是編碼器層的輸出(K=V),Q是解碼器中多頭注意力的輸入。利用編碼器和解碼器注意力來進行翻譯對齊,然后在編碼器和解碼器中都使用多頭自注意力來學習文本的表示。自注意力即K=V=Q,其實質就是輸出序列即為輸入序列,因而自己計算自己的注意力部分。例如輸入一個句子,如圖4所示,一個句子里面的每個詞都要和該句子中的所有詞進行注意力計算(線條的粗細代表了權重的大小)。目的是學習句子內部的詞依賴關系,捕獲句子的內部結構。自注意力已經被證實在機器翻譯任務上效果顯著[11]。

圖4 自注意力

1.1.2位置編碼

由于每個單詞的位置與翻譯相關,所以編碼每個單詞的位置很重要。在RNN結構中,位置信息被自動記錄在RNN循環的隱藏層中,而在Transformer模型中,由于沒有采用任何循環或者卷積,為了使用序列的順序信息,需要將相對以及絕對位置信息注入到模型中,故引入位置編碼,把位置編碼應用在輸入端,即編碼了輸入序列每個時刻輸入的位置信息。具體計算式表示為:

PE(pos,2i)=sin(pos/100002i/dmodel)

(5)

PE(pos,2i+1)=cos(pos/100002i/dmodel)

(6)

式中:pos是該詞在句子序列中的實際位置;i表示詞向量的第i個維度;dmodel是詞向量的維度。使用sin和cos來編碼位置信息,可以使得兩個位置之間的編碼可以線性地互相表示,這樣的編碼方式既可以表示該詞的絕對位置,也能表示相對位置。

1.1.3前饋神經網絡

在圖1中,每一個編碼器和解碼器模塊最后都包含一個全連接前饋神經網絡,它獨立且相同地應用于每一個位置。前饋網絡包含對輸入進行兩次線性變換。計算公式如下:

FFN(x)=max(0,xW1+b1)W2+b2

(7)

式中:x代表輸入;W1表示第一次線性變換的參數矩陣;b1表示第一次線性變換的偏置向量;W2表示第二次線性變換的參數矩陣;b2表示第二次線性變換的偏置向量。

1.2 融合多粒度

研究表明,如果對齊語料數量過少,如只有十幾萬個句對,那么神經機器翻譯模型會在這個小數據集上產生比較嚴重的過擬合,從而導致其性能低于傳統的統計機器翻譯模型[12],這被稱為神經機器翻譯的數據稀疏性問題(Low-resource Problem)。這個問題普遍存在而且非常關鍵,尤其是在小語種的翻譯問題上。

如果稀疏性問題不解決,將會嚴重影響神經機器翻譯在小語種上的翻譯應用[13]。對語料進行切分,可以減少低頻詞,增加模型泛化能力,提高機器翻譯效果。然而,大的切分粒度單元能夠保存比較完整的局部特征,但是會加重數據稀疏問題。小的切分粒度單元可以緩解數據稀疏的問題,但是相比較會流失掉一些局部特征。因此本文嘗試對蒙漢雙語語料進行不同粒度的切分來緩解數據稀疏問題。

BPE算法[14]將切分粒度控制在字符和詞之間的字粒度大小。該方法在翻譯前將原有的單詞拆解為更小粒度的高頻子字單元[15]來緩解數據稀疏問題,提升模型的魯棒性[8]。BPE的大概訓練過程是首先將詞分成一個個的字符,然后在詞的范圍內統計字符對出現的次數,每次將次數最多的字符對保存起來,直到循環次數結束。BPE算法包括兩種:一種是將源語言和目標語言分別編碼,可以使詞表和文本的表示更加緊湊;另一種是將源語言和目標語言聯合編碼,可以盡可能保證原文和譯文的子詞切分方式統一。

中文分詞指的是將一個漢字序列切分成一個個單獨的詞。Jieba分詞是一個經典的中文分詞工具,對于一段長文字,其分詞原理大體可以分成三步:首先基于前綴詞典實現高效的詞圖掃描,生成句子中漢字所有可能成詞情況;接著將每個句子構造成有向無環圖,尋找最好的切分;最后對于連續的單字,采用HMM模型將其再次劃分。

接下來,我們對“力促東礦公司和東達蒙古王兩家四星級酒店開工建設。”這一句進行Jieba分詞。以下是三步分詞后的結果:

(1) 力促 東 礦 公司 和 東 達蒙 蒙古 王 兩家 四星 四星級 星級 酒店 開工 建設。

(2) 力促 東 礦 公司 和 東 達 蒙古 王 兩家 四星級 酒店 開工 建設。

(3) 力促 東礦 公司 和 東達 蒙古 王 兩家 四星級 酒店 開工 建設。

先從總體上看,都是將一個整句劃分為了不同的詞,但是需要注意以下幾點:

(1) 全模式下,“蒙”、“四”、“級”各出現了兩次,“星”出現了三次,這意味著全模式是把所有的可能分詞都列舉了出來。

(2) 默認模式下,采用了動態規劃查找最大概率路徑,找出基于詞頻的最大切分組合。

(3) 當采用HMM模型時,“東礦”被當作一個詞。這是因為“東礦”在詞典中不被認為是一個詞,因此切分方案將“東礦”分為兩個詞。采用HMM模型后,會對連續單字進行檢測,將單字“東”和“礦”合為了一個詞。“東達”也是同樣的原理。

在蒙漢機器翻譯中,不同大小的翻譯單元對翻譯結果影響巨大,而語料的切分粒度體現了翻譯單元的大小。故本文實驗中,首先對語料庫進行了預處理,對中文分別進行了分詞、分詞+BPE以及分字+BPE處理,對蒙語進行了BPE處理,進行實驗對比分析。

表1為對中文進行分詞、分詞+BPE以及分字+BPE處理后的結果。

表1 漢語進行不同粒度切分

從表1中可以看出,對中文進行了分詞處理以后,一個漢字序列切分成一個一個單獨的詞。對中文進行分詞又進行BPE處理后,“腹瀉”變成了“腹”和“瀉”,“國防部長”變成了“國”、“防”和“部長”,“蓋茨”變成了“蓋”和“茨”。BPE處理后由頻率小的詞轉換成了頻率高的詞,因為漢語中字已經是最小的單語,故BPE處理分字之后的中文對其影響不大。對中文分字,切分成小粒度,一定程度上能夠緩解數據稀疏。

從表2可以看出,對蒙文進行BPE技術處理之后,由低頻詞切成高頻詞;這種處理使得未登錄詞可以由粒度較小的子字單元拼接組成,從而緩解未登錄詞問題。

表2 蒙語進行BPE處理

系統整體架構如圖5所示。

圖5 系統架構圖

2 實 驗

2.1 實驗設置

本文使用一臺搭載GeForce GTX 1070 Ti GPU的工作站作為主要的實驗設備,實驗環境為Ubuntu16.04 Linux系統,Python 2.7.0。采用UTF-8編碼格式作為蒙漢雙語語料的編碼格式。選用清華大學開源工具包THUMT/nmt進行蒙漢神經機器翻譯模型訓練。參數設置如下:隱藏層大小設置為512,過濾器大小設置為2 048;多頭注意力機制設置為8頭;Transformer的神經網絡層數設置為6層。在訓練中,使用Adam[16]優化算法。學習率初始值設置為0.6,使用Vaswani等[6]描述的學習率衰減策略。解碼階段采用集束搜索策略,beam width設置為4。長度懲罰因子α設置為0.6。迭代步數設置為100 000步。batch-size設置為6 250。采用BLEU值作為翻譯譯文質量的評測指標。

本文采用的對比基準系統是哈佛大學開源的神經機器翻譯系統OpenNMT,它是基于LSTM[17]和注意力機制的機器翻譯模型。實驗環境為Ubuntu16.04 Linux系統,PyTorch 0.4.3。參數設定如下:編碼器和解碼器中LSTM神經網絡的網絡層數設置為4層,詞向量維度設置為500,解碼器中全局注意力機制中輸入特征設置為500,輸出特征設置為500,激活函數選擇Tanh()。使用Adam優化算法。Dropout設置為0.3,迭代步數設置為100 000步,學習率設置0.1,學習率衰減速率設置為1,batch-size設置為64句。采用BLEU值作為翻譯譯文質量的評測指標。

本文實驗的語料來源于CWMT提供的去重校正后的118 502句對蒙漢平行雙語語料。在使用數據集訓練模型之前,需要先將整個數據集分為訓練集、驗證集和測試集。本文劃分好的訓練集包含116 002句對蒙漢平行語料,驗證集包含1 500句對蒙漢平行語料,測試集包含1 000句對蒙漢平行語料。

2.2 實驗結果

表3為機器翻譯模型BLEU值的對比分析,可以看到,基于Transformer的翻譯模型比基于LSTM的翻譯模型高9個BLEU值左右。BLEU值出現大幅提升的原因是Transformer翻譯模型在語義提取和語義表達能力高于LSTM,翻譯質量提高。在采用Transformer翻譯模型中,對中文進行分字+BPE,蒙文進行BPE處理比對中文進行分詞+BPE,蒙文BPE處理接近高接近13個BLUE值,可以得出在較小語料庫中,漢文分字的效果優于漢文分詞的效果。漢文分詞效果差的原因是在較小語料庫的情況下,大粒度的切分會放大數據稀疏問題,使得翻譯效果不太好;而分詞+BPE比單獨使用分詞后的BLEU值提高3.28,是因為BPE技術處理之后,由分詞后的低頻詞切換成高頻詞,從一定程度上緩解數據稀疏問題。

表3 機器翻譯模型對比

蒙漢機器翻譯模型生成后,選用相同的蒙古語句子對不同模型進行測試,體現所述翻譯模型的效果。結果如表4所示。

表4 機器翻譯模型譯文對比

通過與參考譯文對比,可以看出基于Transformer的蒙漢翻譯模型確實比基于LSTM的翻譯模型翻譯效果更好;同時對語料庫進行不同粒度的切分也可以提高翻譯譯文的質量。

3 結 語

神經機器翻譯發展迅速,在諸如英法、英德、中英等許多大語種翻譯任務上均取得了突破性成果。但因為神經機器翻譯的模型參數量龐大,且訓練方法為極大似然估計,所以需要大量的對齊語料,比如數百萬個句對,才能得到一個比較理想的翻譯模型。

本文基于Transformer融合多粒度構建的蒙漢機器翻譯模型,相比于基準系統基于LSTM的蒙漢機器翻譯系統,在一定程度上提高了翻譯準確率,提高了BLEU值。但是本文構建的蒙漢翻譯模型是基于平行語料庫的,而現階段,蒙漢平行語料貧乏,平行語料庫規模較小,故下一階段我們將研究單語語料,目前有兩個方向:一個是FaceBook的無監督神經機器翻譯[18],目前性能還不足夠好,但它仍在發展過程中;另一個是微軟提出的對偶學習[19],也是利用非平行語料,通過對偶學習的方式提高性能。

猜你喜歡
設置模型
一半模型
中隊崗位該如何設置
少先隊活動(2021年4期)2021-07-23 01:46:22
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
7招教你手動設置參數
3D打印中的模型分割與打包
本刊欄目設置說明
中俄臨床醫學專業課程設置的比較與思考
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
艦船人員編制的設置與控制
主站蜘蛛池模板: 中文字幕 91| 欧美一级在线看| 萌白酱国产一区二区| 国产精品女同一区三区五区| 无码中文AⅤ在线观看| 亚洲综合久久成人AV| 精品99在线观看| 国产麻豆福利av在线播放| 99久久国产自偷自偷免费一区| 米奇精品一区二区三区| 日韩精品视频久久| 亚洲欧美激情小说另类| 精品中文字幕一区在线| 久久www视频| 国产91线观看| 又粗又硬又大又爽免费视频播放| 8090午夜无码专区| 波多野吉衣一区二区三区av| 丁香婷婷激情网| 久久99国产视频| 亚洲性一区| 国内精品小视频在线| 国产精品林美惠子在线播放| 亚洲区一区| 美美女高清毛片视频免费观看| 999国内精品久久免费视频| 欧美色伊人| 波多野结衣无码中文字幕在线观看一区二区| 天天综合色天天综合网| 午夜啪啪网| 国产日韩AV高潮在线| 无码精油按摩潮喷在线播放| 日本色综合网| 婷婷综合在线观看丁香| 四虎精品国产AV二区| 91精品啪在线观看国产91| 欧美不卡二区| 亚洲日韩国产精品综合在线观看| 99人体免费视频| 国产精品男人的天堂| 日韩精品高清自在线| a级毛片免费播放| 国产本道久久一区二区三区| 中文字幕乱妇无码AV在线| 国产精品嫩草影院av| 亚洲青涩在线| 亚洲第一视频网站| 精品91视频| 女人毛片a级大学毛片免费| 欧美激情视频一区| 一本大道视频精品人妻 | a级毛片一区二区免费视频| 色综合天天综合中文网| 日本欧美在线观看| 国产男人天堂| 综合亚洲色图| 欧美成人亚洲综合精品欧美激情| 日韩精品亚洲人旧成在线| 欧美激情福利| 国产91精品最新在线播放| 亚洲第一色网站| 国产精品片在线观看手机版| 毛片手机在线看| 久久精品电影| 乱码国产乱码精品精在线播放| 国产在线精彩视频二区| 欧美性猛交一区二区三区| 亚洲h视频在线| 91午夜福利在线观看| 亚洲色欲色欲www在线观看| 激情六月丁香婷婷| 亚洲综合专区| jizz国产视频| 欧美伊人色综合久久天天| 亚洲精品爱草草视频在线| 无码内射中文字幕岛国片| 无码网站免费观看| 亚洲人在线| 青草视频在线观看国产| 亚洲精品日产AⅤ| 毛片在线看网站| 91精品国产91久无码网站|