晁忠濤 葉傳奇 韓雪磊 朱奎源 吳明利 張留杰
摘要:隨著經(jīng)濟(jì)全球化和信息全球化的不斷發(fā)展,翻譯服務(wù)的重要性也隨之提高,機(jī)器翻譯相較于人工翻譯,成本更低,速度更快,也因此更適應(yīng)當(dāng)今時(shí)代的需求。神經(jīng)機(jī)器翻譯技術(shù)使用深度學(xué)習(xí)方法在平行語(yǔ)料上進(jìn)行訓(xùn)練并獲得翻譯模型,已經(jīng)成為當(dāng)前主流的機(jī)器翻譯方法[1]。文章基于Transformer翻譯模型開(kāi)發(fā)了一款中英文翻譯系統(tǒng)。結(jié)果表明,與其他翻譯模型相比, 文章提出的中英機(jī)器翻譯系統(tǒng)在語(yǔ)句的通順程度和語(yǔ)意的準(zhǔn)確性方面均有提升。
關(guān)鍵詞:人工智能;機(jī)器翻譯;Transformer;深度學(xué)習(xí)
中圖分類號(hào):TP18? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)27-0016-02
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 概述
當(dāng)今社會(huì)是經(jīng)濟(jì)全球化和信息全球化的社會(huì),智能化的翻譯服務(wù)成為一大研究熱點(diǎn)?,F(xiàn)如今社會(huì)上出現(xiàn)了各種各樣的中英翻譯軟件,但是普遍存在語(yǔ)句不順、語(yǔ)法錯(cuò)誤及語(yǔ)意生硬等問(wèn)題。本文針對(duì)這些問(wèn)題研究并開(kāi)發(fā)了以Transformer為翻譯模型的中英機(jī)器翻譯系統(tǒng)。
中英機(jī)器翻譯系統(tǒng)主要針對(duì)的是日常生活或?qū)W生學(xué)習(xí)過(guò)程中出現(xiàn)的中譯英問(wèn)題,本系統(tǒng)采用的Transformer翻譯模型是一種可以完成機(jī)器翻譯等序列到序列學(xué)習(xí)任務(wù)的一種全新網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)采用Self-Attention注意力機(jī)制實(shí)現(xiàn)序列到序列的建模。相較于其他翻譯模型中廣泛應(yīng)用的循環(huán)神經(jīng)網(wǎng)絡(luò),該機(jī)制具有計(jì)算復(fù)雜度小、計(jì)算并行度高和容易學(xué)習(xí)長(zhǎng)距離依賴等優(yōu)勢(shì),因此該翻譯系統(tǒng)具有一定的開(kāi)發(fā)意義和實(shí)用價(jià)值。
2 開(kāi)發(fā)技術(shù)
2.1 機(jī)器翻譯
機(jī)器翻譯,又稱自動(dòng)翻譯,是利用計(jì)算機(jī)程序?qū)⒁环N自然語(yǔ)言(源語(yǔ)言)轉(zhuǎn)換為另一種自然語(yǔ)言(目標(biāo)語(yǔ)言)的過(guò)程,它是人工智能的重要研究目標(biāo)之一,具有非常重要的科學(xué)研究?jī)r(jià)值。同時(shí),機(jī)器翻譯又具有十分重要的實(shí)用價(jià)值,隨著經(jīng)濟(jì)全球化以及互聯(lián)網(wǎng)的發(fā)展,機(jī)器翻譯技術(shù)在促進(jìn)政治、經(jīng)濟(jì)和文化交流方面起著越來(lái)越重要的作用。
機(jī)器翻譯主要分為預(yù)處理、翻譯模型和后處理三個(gè)步驟,預(yù)處理是將輸入的語(yǔ)言轉(zhuǎn)變?yōu)闄C(jī)器能夠理解的數(shù)據(jù),翻譯模型是將源語(yǔ)言轉(zhuǎn)化為目標(biāo)語(yǔ)言的過(guò)程,后處理是指將翻譯后的結(jié)果進(jìn)行重新拼接、排序等操作得到符合人們閱讀習(xí)慣的翻譯結(jié)果的過(guò)程。隨著計(jì)算機(jī)計(jì)算能力的提升和多語(yǔ)言信息的爆發(fā)式增長(zhǎng),機(jī)器翻譯技術(shù)逐漸走出象牙塔,開(kāi)始為普通用戶提供實(shí)時(shí)便捷的翻譯服務(wù)[2]。
3 主要技術(shù)
3.1 Jieba+BPE分詞技術(shù)
數(shù)據(jù)預(yù)處理過(guò)程中需要對(duì)中文進(jìn)行Jieba+BPE分詞處理,對(duì)英文進(jìn)行BPE處理。Jieba分詞是一款非常流行的中文開(kāi)源分詞包,具有高性能、準(zhǔn)確率、可擴(kuò)展性等特點(diǎn)。Jieba分詞主要通過(guò)詞典進(jìn)行分詞,其主要基于有向無(wú)環(huán)圖的查找算法,通過(guò)動(dòng)態(tài)規(guī)劃,從后至前使得詞的切割組合聯(lián)合概率最大[3]。下面以“希望能早日擺脫陰霾”為例,假設(shè)詞典如下“‘希望‘能‘早日‘?dāng)[脫‘早日擺脫‘陰霾”,則有向無(wú)環(huán)圖如圖1所示。
經(jīng)過(guò)Jieba分詞后的語(yǔ)句格式為“希望 能 早日 擺脫 陰霾”。
BPE分詞算法是一種根據(jù)字節(jié)對(duì)進(jìn)行編碼的算法,主要目的是數(shù)據(jù)壓縮,在一定程度上緩解了OOC的問(wèn)題。BPE的算法思想是首先對(duì)大量訓(xùn)練語(yǔ)料按字符拆分進(jìn)行組pair,然后對(duì)byte pair進(jìn)行統(tǒng)計(jì)后按頻率進(jìn)行排名,接下來(lái)按照byte pair的頻率大小對(duì)輸入的語(yǔ)句進(jìn)行分詞處理,出現(xiàn)頻率高的byte pair將會(huì)被組合到一起。Jieba和BPE結(jié)合對(duì)數(shù)據(jù)進(jìn)行預(yù)處理用來(lái)為之后的翻譯工作創(chuàng)造條件。
3.2 Transformer模型
從宏觀上看,Transformer像是一個(gè)黑盒,向其中輸入一種語(yǔ)言,經(jīng)過(guò)黑盒測(cè)試后會(huì)生成另一種語(yǔ)言。這個(gè)黑盒主要由編碼器和解碼器組成,輸入中文語(yǔ)句,經(jīng)過(guò)編碼器得到對(duì)應(yīng)的特征向量,然后再把這些特征向量作為解碼器的輸入,最終生成對(duì)應(yīng)的英文語(yǔ)句。宏觀結(jié)構(gòu)如圖2所示。
下面對(duì)Transformer模型的各個(gè)部分進(jìn)行詳細(xì)介紹:首先,模型需要對(duì)輸入的數(shù)據(jù)進(jìn)行一個(gè)詞嵌入操作,詞嵌入結(jié)束之后,將結(jié)果輸入到編碼器,其中編碼器包含兩層,一個(gè)自注意力層和一個(gè)前饋神經(jīng)網(wǎng)絡(luò),并在每一層的網(wǎng)絡(luò)后引入殘差網(wǎng)絡(luò)和歸一化層來(lái)防止梯度消失或梯度爆炸,其中自注意力層采用多頭注意力機(jī)制實(shí)現(xiàn)當(dāng)前節(jié)點(diǎn)不僅僅只關(guān)注當(dāng)前的詞,從而能獲取到上下文的語(yǔ)義,經(jīng)自注意力層處理完數(shù)據(jù)后把數(shù)據(jù)送給前饋神經(jīng)網(wǎng)絡(luò),前饋神經(jīng)網(wǎng)絡(luò)的計(jì)算可以并行,得到的輸出會(huì)輸入到下一個(gè)編碼器。將編碼器的輸出經(jīng)線性變換后得到的結(jié)果作為解碼器中多頭注意力的輸入,解碼器中除了包含編碼器中的兩層網(wǎng)絡(luò),還在這兩層中間添加了注意力層,用來(lái)幫助當(dāng)前節(jié)點(diǎn)獲取到目前需要關(guān)注的重點(diǎn)內(nèi)容。經(jīng)解碼器解碼后的輸出再通過(guò)線性變換和softmax得到概率最大的單詞的輸出向量[4]。其模型結(jié)構(gòu)如圖3所示。
通過(guò)對(duì)不同翻譯模型的對(duì)比實(shí)驗(yàn)可以發(fā)現(xiàn),使用Transformer模型進(jìn)行翻譯具有更好的技術(shù)優(yōu)勢(shì)。各種翻譯模型效率比較如圖4所示,其中BLEU值是翻譯模型的評(píng)價(jià)指標(biāo),BLEU值越高說(shuō)明翻譯模型的精確度越高。圖5是將中文采用Transformer模型翻譯得到的英文。
3.3 Flask框架
Flask是一個(gè)基于Python開(kāi)發(fā)的輕量級(jí)Web框架,小巧,靈活,僅憑一個(gè)腳本就可以啟動(dòng)一個(gè)Web項(xiàng)目,旨在保持核心功能的簡(jiǎn)單而易于擴(kuò)展,一個(gè)純粹的Flask框架只擁有Web框架的基本核心功能,至于其他功能就需要開(kāi)發(fā)者自行擴(kuò)展。與其他同類型框架相比,F(xiàn)lask框架具有更加靈活、輕便等優(yōu)點(diǎn),用戶可根據(jù)自己的需求添加特定的功能,保證了核心功能簡(jiǎn)單的同時(shí)實(shí)現(xiàn)功能的豐富與擴(kuò)展[5]。
在Web應(yīng)用的開(kāi)發(fā)過(guò)程中,F(xiàn)lask框架不僅可以對(duì)后臺(tái)功能代碼進(jìn)行封裝,而且可以通過(guò)編寫html代碼實(shí)現(xiàn)前端頁(yè)面的顯示。此外,F(xiàn)lask框架還可以非常簡(jiǎn)便地實(shí)現(xiàn)前端頁(yè)面與后臺(tái)功能的交互,既節(jié)省了開(kāi)發(fā)者的大量時(shí)間和精力,同時(shí)也為用戶訪問(wèn)后臺(tái)功能提供了友好型界面。
4 中英機(jī)器翻譯系統(tǒng)的實(shí)現(xiàn)
首先,通過(guò)對(duì)Transformer模型進(jìn)行封裝,依賴Flask框架搭建后端服務(wù)器并設(shè)計(jì)出面向用戶的友好型界面,然后將前臺(tái)頁(yè)面和后臺(tái)服務(wù)器進(jìn)行連接實(shí)現(xiàn)前后臺(tái)的交互功能,為用戶提供簡(jiǎn)單便捷的翻譯服務(wù)。在使用中英機(jī)器翻譯系統(tǒng)時(shí),用戶可在前臺(tái)頁(yè)面輸入想要進(jìn)行翻譯的中文文本或直接選擇想要翻譯
的中文txt文本文件,系統(tǒng)將用戶輸入的中文語(yǔ)句或文本文件讀入到后臺(tái)的source.ch.txt文本文件中,經(jīng)過(guò)數(shù)據(jù)預(yù)處理依次得到source.ch.cut.txt文件和source.ch.BPE分詞文件,之后對(duì)分詞文件中的數(shù)據(jù)進(jìn)行線性變?換后傳入到已經(jīng)訓(xùn)練好的模型中進(jìn)行預(yù)測(cè),預(yù)測(cè)完成后將翻譯結(jié)果以文本形式返回到前臺(tái)頁(yè)面進(jìn)行顯示。到此,中英機(jī)器翻譯系統(tǒng)完成翻譯工作。工作流程如圖6所示:
5 結(jié)束語(yǔ)
如今正是經(jīng)濟(jì)全球化和信息全球化的時(shí)代,翻譯服務(wù)的重要性不斷提高。為了適應(yīng)社會(huì)發(fā)展的需求,本文提出了基于Transformer模型的翻譯模型進(jìn)行中英翻譯。該模型可以對(duì)日常生活中或?qū)W生學(xué)習(xí)過(guò)程中遇到的中英文語(yǔ)句進(jìn)行翻譯操作。實(shí)驗(yàn)結(jié)果表明,基于Transformer的中英機(jī)器翻譯模型與其他翻譯模型相比,有效提升了單詞的正確率以及語(yǔ)意的通順度。此系統(tǒng)在中英翻譯方面有著先進(jìn)的技術(shù)優(yōu)勢(shì)和廣闊的應(yīng)用前景,可以有效減少中英文翻譯帶來(lái)的壓力,對(duì)未來(lái)社會(huì)的發(fā)展和進(jìn)步能夠起到一定的推動(dòng)作用。
參考文獻(xiàn):
[1] 何建樹(shù).基于深度學(xué)習(xí)的神經(jīng)機(jī)器翻譯技術(shù)研究[D].成都:電子科技大學(xué),2021.
[2] 武俊,趙昌彥.機(jī)器翻譯技術(shù)在外文水資源文獻(xiàn)翻譯中的應(yīng)用現(xiàn)狀及展望[J].水資源保護(hù),2022,38(2):204-205.
[3] 石鳳貴.基于jieba中文分詞的中文文本語(yǔ)料預(yù)處理模塊實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2020,16(14):248-251,257.
[4] 高巍,陳子祥,李大舟,等.預(yù)標(biāo)準(zhǔn)化Transformer在烏英機(jī)器翻譯中的實(shí)現(xiàn)[J].小型微型計(jì)算機(jī)系統(tǒng),2020,41(11):2286-2291.
[5] 王安瑾.基于Flask的金融自動(dòng)化運(yùn)維平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].上海:東華大學(xué),2018.
【通聯(lián)編輯:梁書】