鄒德芳 ,胡秦斌
(1.廣西中醫(yī)藥大學(xué),廣西 南寧 530200;2.南寧師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院,廣西 南寧 530001)
人工智能與自然語(yǔ)言[1]技術(shù)蓬勃發(fā)展,利用計(jì)算機(jī)的機(jī)器翻譯對(duì)自然語(yǔ)言進(jìn)行自動(dòng)轉(zhuǎn)換成為了重要的研究方向。機(jī)器翻譯不僅可以打破語(yǔ)言屏障,實(shí)現(xiàn)國(guó)家與民族之間信息的有效傳遞,而且對(duì)文化交流、民族團(tuán)結(jié)以及對(duì)外貿(mào)易等方面,均具有著強(qiáng)有力的推動(dòng)作用。機(jī)器翻譯經(jīng)歷了主導(dǎo)時(shí)期為理性主義方法與經(jīng)驗(yàn)主義方法的兩大發(fā)展階段,盡管前者根據(jù)人提取到自然語(yǔ)言間的轉(zhuǎn)化規(guī)律來(lái)描述翻譯知識(shí),可以對(duì)自然語(yǔ)言進(jìn)行分析、轉(zhuǎn)換與形成,但隨之而來(lái)的還有增加的翻譯知識(shí)整合難度、較長(zhǎng)的開(kāi)發(fā)周期以及高額的人工成本等諸多弊端;大數(shù)據(jù)與云計(jì)算的飛速進(jìn)步,掀起了經(jīng)驗(yàn)主義方法的盛行之風(fēng),采用數(shù)學(xué)模型完成自然語(yǔ)言的轉(zhuǎn)換,統(tǒng)計(jì)機(jī)器翻譯就是該時(shí)期的典型代表。由于統(tǒng)計(jì)機(jī)器翻譯性能具有嚴(yán)重的依賴(lài)性,且通過(guò)局部特征無(wú)法獲取全局關(guān)系,因此,使神經(jīng)機(jī)器翻譯得到了迅速普及,因其翻譯質(zhì)量的明顯提升,從而在各個(gè)翻譯領(lǐng)域占有了重要的一席之地,演變?yōu)闄C(jī)器翻譯研究的前沿?zé)狳c(diǎn)。
文獻(xiàn)[2]通過(guò)數(shù)據(jù)增強(qiáng)技術(shù),擴(kuò)充了資源貧乏語(yǔ)種的訓(xùn)練數(shù)據(jù)量,從而使神經(jīng)機(jī)器翻譯的泛化性能得到加強(qiáng);而文獻(xiàn)[3]則提出亞詞及單詞的維漢神經(jīng)機(jī)器翻譯模型,把詞的翻譯單元轉(zhuǎn)換成詞與亞詞的混合翻譯單元,將ALU的非線(xiàn)性單元作為GRU的神經(jīng)非線(xiàn)性單元,進(jìn)而對(duì)神經(jīng)機(jī)器翻譯模型進(jìn)行改進(jìn)。
由于上述翻譯模型無(wú)法完成結(jié)構(gòu)差異較大的語(yǔ)言對(duì)翻譯任務(wù),構(gòu)建了基于樹(shù)到串模型強(qiáng)化的神經(jīng)機(jī)器翻譯模型,通過(guò)連續(xù)性的神經(jīng)網(wǎng)絡(luò)編碼,取得詞向量及其對(duì)應(yīng)的隱狀態(tài),利用源輸入文本矢量來(lái)界定編碼器隱狀態(tài)輸出,從而得到輸入層、輸出層以及正反向編碼層之間的權(quán)重關(guān)系,依據(jù)接收的終止標(biāo)識(shí)符開(kāi)啟解碼操作,將編碼器輸出的中間矢量更改為目標(biāo)矢量進(jìn)行輸出,并計(jì)算目標(biāo)詞匯的條件概率,基于句法分析與翻譯構(gòu)成的樹(shù)到串模型,采用GHKM算法提取對(duì)齊結(jié)構(gòu)中的翻譯規(guī)則,通過(guò)搜索最優(yōu)推導(dǎo)強(qiáng)化樹(shù)到串模型,根據(jù)解碼器葉子節(jié)點(diǎn)推算出非葉子節(jié)點(diǎn)狀態(tài),最后利用各神經(jīng)網(wǎng)絡(luò)單元構(gòu)建神經(jīng)機(jī)器翻譯模型。
圖1 神經(jīng)機(jī)器翻譯模型示意圖
在機(jī)器翻譯領(lǐng)域中引入深度學(xué)習(xí)網(wǎng)絡(luò),按照網(wǎng)絡(luò)性能對(duì)神經(jīng)機(jī)器翻譯模型進(jìn)行分類(lèi),能夠得到兩個(gè)模塊,分別是解碼器與編碼器。前者涉及到的算法為樹(shù)搜索算法,兩模塊的連接部分為關(guān)注力機(jī)制;而后者則常常會(huì)對(duì)詞向量、長(zhǎng)短期記憶[4]網(wǎng)絡(luò)等重要技術(shù)進(jìn)行應(yīng)用。
編碼器將輸入端的源語(yǔ)言文本,通過(guò)神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)變?yōu)槭噶靠臻g內(nèi)的向量表示。
神經(jīng)機(jī)器翻譯的源輸入文本表達(dá)式如下所示
X={x1,x2,x3,…,xn}
(1)
其中,句子中的詞匯個(gè)數(shù)為n。
在編碼的初始階段,編碼器的Embedding層將對(duì)源輸入文本的所有詞匯xi(i∈n)進(jìn)行編碼,將其轉(zhuǎn)換成下式所示的詞向量[5]表達(dá)式
Wi∈R|V|
(2)
其中,i=1,2,…,T,且Wi=[n1,n2,…,nm],ni∈R,源語(yǔ)言詞匯大小為V。
通過(guò)連續(xù)性的神經(jīng)網(wǎng)絡(luò)編碼,所有詞向量Wi都會(huì)產(chǎn)生一個(gè)隱狀態(tài)hi,該隱狀態(tài)含有當(dāng)前的詞匯信息,將當(dāng)前的隱狀態(tài)作為神經(jīng)網(wǎng)絡(luò)下一刻的輸入,其會(huì)在門(mén)閥機(jī)制的效用下,對(duì)當(dāng)時(shí)的隱狀態(tài)信息實(shí)施保存,因此,在對(duì)最后的單詞xn進(jìn)行編碼時(shí),隱狀態(tài)hn將蘊(yùn)含句子的所有隱狀態(tài)信息。由于大多數(shù)的隱狀態(tài)均為提取的語(yǔ)義信息[6],所以,利用源輸入文本矢量來(lái)界定編碼器隱狀態(tài)輸出。
圖2 循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖
圖2中,輸入層到正向編碼層的權(quán)重為W1,到反向編碼層的權(quán)重為W2,正向編碼層的自循環(huán)權(quán)重為W3,反向編碼層的自循環(huán)權(quán)重為W4,正向編碼層到輸出層的權(quán)重為W5,反向編碼層到輸出層的權(quán)重為W6。所有的時(shí)刻流程均將重復(fù)利用到上述六個(gè)權(quán)重,而正、反向編碼層箭頭流向的去除,也使結(jié)構(gòu)的非循環(huán)特性得到了保證。
解碼器通過(guò)將編碼器輸出的中間矢量更改為目標(biāo)矢量后實(shí)施輸出操作。如果源輸入文本的終止標(biāo)識(shí)符被編碼器所接收,則停止編碼,解碼階段開(kāi)啟。將源輸入文本的矢量表示設(shè)定為初始化解碼器[7]單元,即s1=hn。
解碼就是對(duì)所有目標(biāo)詞匯在已知部分輸出時(shí)的條件概率進(jìn)行計(jì)算的過(guò)程。根據(jù)當(dāng)前解碼器的隱狀態(tài)sj與前j-1個(gè)輸出成功的目標(biāo)詞,就能夠推算出第j個(gè)目標(biāo)詞的條件概率,其計(jì)算公式如下所示
P(yj|yj-1,x)=g(sj)
(3)
式中,非線(xiàn)性函數(shù)表示為g,其中的sj則通過(guò)下列公式進(jìn)行表示
sj=f(yj-1,sj-1)
(4)
模型通過(guò)條件分布的學(xué)習(xí),在已知一個(gè)源輸入文本的前提下,采用樹(shù)搜索算法,就可以對(duì)具有最大似然估計(jì)值的目標(biāo)詞匯進(jìn)行輸出,即翻譯輸出。
樹(shù)到串強(qiáng)化模型劃分翻譯過(guò)程為句法分析和翻譯兩個(gè)階段。設(shè)置中文為源語(yǔ)言,英文為目標(biāo)語(yǔ)言,創(chuàng)建樹(shù)到串強(qiáng)化模型,如圖3所示,該模型主要由源句法分析樹(shù)、目標(biāo)串和源端與目標(biāo)端文本串之間的對(duì)齊信息等部分架構(gòu)而成。
圖3 樹(shù)到串強(qiáng)化模型示意圖
通過(guò)GHKM算法對(duì)上圖里的對(duì)齊結(jié)構(gòu)進(jìn)行樹(shù)到串翻譯規(guī)則的提取,其規(guī)則樣例如表1所示。
表1 規(guī)則樣例統(tǒng)計(jì)表
上表中規(guī)則內(nèi)容的左邊指代一棵樹(shù)片段,其中,非終結(jié)符表示為x;右邊則為對(duì)應(yīng)的翻譯信息。因?yàn)闃?shù)到串模型提取的規(guī)則,蘊(yùn)含著較為充盈的層次信息,所以,該模型相對(duì)于同步上下文文法的表達(dá)性能也具有明顯的優(yōu)越性。
抽取訓(xùn)練集內(nèi)所有的翻譯規(guī)則,并利用一個(gè)規(guī)則統(tǒng)計(jì)表對(duì)其進(jìn)行整合,基于句法分析[8]樹(shù)的全部推導(dǎo)D,完成解碼器對(duì)最優(yōu)推導(dǎo)d*的搜索,然后依據(jù)匹配規(guī)則統(tǒng)計(jì)表的翻譯原則,實(shí)現(xiàn)推導(dǎo)與目標(biāo)翻譯的轉(zhuǎn)換。所以,采用下列優(yōu)化目標(biāo)函數(shù),對(duì)樹(shù)到串強(qiáng)化模型的目標(biāo)進(jìn)行描述
(5)
上式中,規(guī)則統(tǒng)計(jì)表的匹配原則表示為r。
由于規(guī)則4和7的左邊無(wú)法匹配完全,在實(shí)際情況中將存在較大差異,但該樹(shù)到串強(qiáng)化模型均將源端的詞匯化節(jié)點(diǎn)“shalong”翻譯為目標(biāo)端的“Sharon”,證明了該模型具有良好的性能發(fā)揮。
傳統(tǒng)模型無(wú)法對(duì)不同語(yǔ)言的差異性進(jìn)行有效處理,不僅丟失了源語(yǔ)言語(yǔ)法信息,而且也對(duì)目標(biāo)端的翻譯內(nèi)容造成了不流暢的影響。而樹(shù)到串模型強(qiáng)化的神經(jīng)機(jī)器翻譯模型將詞匯、短語(yǔ)進(jìn)行有機(jī)結(jié)合,利用結(jié)構(gòu)化信息[9]的提取能力,使語(yǔ)句富有一定規(guī)則的結(jié)構(gòu)化信息,從而實(shí)現(xiàn)在機(jī)器翻譯中引入更多的語(yǔ)法信息。
解碼器屬于連續(xù)性神經(jīng)網(wǎng)絡(luò)解碼器,如果將其葉子節(jié)點(diǎn)狀態(tài)用隱狀態(tài)hj來(lái)表示,則可以推算出其非葉子節(jié)點(diǎn)狀態(tài),表達(dá)式如下所示
(6)
其中,解碼器的葉子節(jié)點(diǎn)個(gè)數(shù)為n。
基于長(zhǎng)短期記憶結(jié)構(gòu)分析翻譯模型的解碼器,將每個(gè)長(zhǎng)短期記憶單元作為解碼器的各個(gè)節(jié)點(diǎn),所以,各層節(jié)點(diǎn)都包括下一層節(jié)點(diǎn)所提取的結(jié)構(gòu)化信息。
該翻譯模型的各神經(jīng)網(wǎng)絡(luò)單元j均由輸入門(mén)ij、輸出門(mén)oj、記憶單元cj以及隱狀態(tài)hj所組成,其門(mén)向量與記憶單元的更新主要依賴(lài)于其所有子節(jié)點(diǎn)的狀態(tài),且該神經(jīng)網(wǎng)絡(luò)的所有子節(jié)點(diǎn)k都存在一個(gè)對(duì)應(yīng)的忘記門(mén)fjk,由此導(dǎo)致其神經(jīng)元可以在各子節(jié)點(diǎn)里完成信息的提取與融合。通過(guò)創(chuàng)建的翻譯模型,既能夠在一個(gè)語(yǔ)義相關(guān)的語(yǔ)料[10]內(nèi)對(duì)強(qiáng)調(diào)的語(yǔ)義進(jìn)行學(xué)習(xí),也可以從情感分類(lèi)任務(wù)里對(duì)情感信息豐富的子類(lèi)實(shí)施保存。假設(shè)神經(jīng)機(jī)器翻譯模型源序列內(nèi)詞匯j的一個(gè)輸入矢量為xj,依據(jù)不同的輸入形式,將模型中樹(shù)到串模型強(qiáng)化的神經(jīng)網(wǎng)絡(luò)劃分成子類(lèi)與樹(shù)形長(zhǎng)短期記憶、N維樹(shù)形長(zhǎng)短期記憶兩個(gè)類(lèi)別。
若一棵樹(shù)存在一個(gè)節(jié)點(diǎn)j,其全部子節(jié)點(diǎn)的集合設(shè)定為C(j),那么,下列各式即為子類(lèi)與樹(shù)形長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的轉(zhuǎn)換表達(dá)式
(7)
(8)
(9)
(10)
(11)
(12)
hj=oj·tanh(cj)
(13)
上列表達(dá)式內(nèi)的所有參數(shù)矩陣,都可以直觀(guān)地理解成神經(jīng)網(wǎng)絡(luò)單元里隱藏狀態(tài)hk與輸入向量xj的編碼相關(guān)參數(shù)。以依存樹(shù)的應(yīng)用為例,如果輸入的是語(yǔ)義信息相對(duì)關(guān)鍵的動(dòng)詞詞匯,輸入門(mén)ij的取值約等于1,相反,輸入的是比較次要的語(yǔ)義信息詞匯,輸入門(mén)ij的取值約等于0,那么,模型就能夠?qū)?quán)重參數(shù)Wi進(jìn)行求取。
而N維樹(shù)形長(zhǎng)短期記憶處理的樹(shù)到串場(chǎng)景則是分支數(shù)量為N,且子類(lèi)呈有序狀態(tài)的結(jié)構(gòu)。不同于子類(lèi)與樹(shù)形長(zhǎng)短期記憶的是,該類(lèi)神經(jīng)網(wǎng)絡(luò)的所有隱狀態(tài)hj均能在經(jīng)過(guò)訓(xùn)練后,得到結(jié)構(gòu)上相對(duì)應(yīng)的權(quán)重矩陣Uj。通過(guò)將矩陣添加到所有子類(lèi)中,令基于單元子類(lèi)狀態(tài)方面的N維樹(shù)形長(zhǎng)短期記憶相比子類(lèi)與樹(shù)形長(zhǎng)短期記憶,具有更好的學(xué)習(xí)能力,從而獲取更多的微調(diào)條件。因此,采用下列各式對(duì)N維樹(shù)形長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換進(jìn)行描述
(14)
(15)
(16)
(17)
(18)
hj=oj·tanh(cj)
(19)
為驗(yàn)證所提方法的有效性,設(shè)計(jì)仿真對(duì)比實(shí)驗(yàn)。仿真環(huán)境的電腦硬件配置為64位Windows7 SP1旗艦版操作系統(tǒng),實(shí)驗(yàn)任務(wù)內(nèi)容為中英翻譯,語(yǔ)料的相關(guān)信息如表2所示。
表2 實(shí)驗(yàn)語(yǔ)料信息統(tǒng)計(jì)表
根據(jù)表中數(shù)據(jù)顯示,句子結(jié)構(gòu)長(zhǎng)度均值比提取最長(zhǎng)名詞短語(yǔ)的句子長(zhǎng)度均值減少了9.22,而相對(duì)于提取最長(zhǎng)名詞短語(yǔ)的句子長(zhǎng)度均值,最長(zhǎng)名詞短語(yǔ)長(zhǎng)度均值則下降了14.75。
表3所示為樹(shù)到串模型強(qiáng)化的神經(jīng)機(jī)器翻譯模型參數(shù)統(tǒng)計(jì)表。
表3 翻譯模型參數(shù)統(tǒng)計(jì)表
在模型仿真的過(guò)程中,通過(guò)樹(shù)搜索算法獲取譯文,將束大小取值10。
采用文獻(xiàn)[2]方法和文獻(xiàn)[3]方法作為對(duì)比方法,采用對(duì)比方法模型與所提模型,分別對(duì)實(shí)驗(yàn)語(yǔ)料進(jìn)行翻譯,以獲取句子長(zhǎng)度與譯文質(zhì)量的影響關(guān)系,圖4為不同句長(zhǎng)分布的譯文質(zhì)量BLEU示意圖。
圖4 基于不同句長(zhǎng)分布的各模型譯文質(zhì)量對(duì)比
通過(guò)上圖可以看出,句長(zhǎng)的不斷上升導(dǎo)致了譯文質(zhì)量的持續(xù)降低,尤其是句長(zhǎng)大于20之后,文獻(xiàn)模型的下降幅度顯著變大,但所提模型的曲線(xiàn)走勢(shì)始終處于相對(duì)平緩的狀態(tài),波動(dòng)較小。從側(cè)面說(shuō)明,句長(zhǎng)對(duì)所提模型的影響并不明顯,且當(dāng)句長(zhǎng)超過(guò)一定數(shù)量時(shí),所提模型的性能愈發(fā)優(yōu)越。
采用三種不同的模型翻譯實(shí)驗(yàn)語(yǔ)料50000詞,得到翻譯效率對(duì)比結(jié)果如圖5示。
圖5 各模型翻譯效率對(duì)比
分析圖5可知,文獻(xiàn)[2]模型對(duì)50000詞的平均翻譯時(shí)間為17s,文獻(xiàn)[3]模型的平均翻譯時(shí)間為23s,所提模型的平均翻譯時(shí)間為5s。
所提模型利用樹(shù)搜索算法,對(duì)具有最大似然估計(jì)值的目標(biāo)詞匯進(jìn)行輸出,有效減少了翻譯時(shí)間,翻譯輸出較快。由此可見(jiàn),所提模型的翻譯耗時(shí)較短,翻譯效率好。
本文對(duì)基于樹(shù)到串模型強(qiáng)化的神經(jīng)機(jī)器翻譯模型進(jìn)行構(gòu)建。經(jīng)過(guò)分析傳統(tǒng)神經(jīng)機(jī)器翻譯模型的運(yùn)行原理,獲取編碼器與解碼器的具體工作流程與性能發(fā)揮,通過(guò)GHKM算法實(shí)施對(duì)齊結(jié)構(gòu)的翻譯規(guī)則提取,采用優(yōu)化目標(biāo)函數(shù)架構(gòu)樹(shù)到串模型強(qiáng)化策略,根據(jù)語(yǔ)句的結(jié)構(gòu)化信息,實(shí)現(xiàn)語(yǔ)法信息的引入,利用隱狀態(tài)與長(zhǎng)短期記憶結(jié)構(gòu),使神經(jīng)機(jī)器翻譯模型構(gòu)建得以完成。該模型為今后相關(guān)領(lǐng)域的探索提出了指導(dǎo)性的建議與方針,具有一定的現(xiàn)實(shí)意義與理論意義。