陳敏
(咸陽(yáng)師范學(xué)院,陜西咸陽(yáng) 712000)
機(jī)器翻譯作為自然語(yǔ)言處理和人工智能研究領(lǐng)域的研究方向,主要是利用計(jì)算機(jī)來(lái)實(shí)現(xiàn)不同語(yǔ)言間的相互轉(zhuǎn)化[1-3]。目前,較多互聯(lián)網(wǎng)企業(yè)提供了多語(yǔ)言在線翻譯服務(wù),如谷歌翻譯、微軟Bing 翻譯、百度翻譯等,但機(jī)器翻譯質(zhì)量與專業(yè)譯文間依然存在較大差異,尤其是在翻譯一些長(zhǎng)語(yǔ)句方面,對(duì)源語(yǔ)言和目標(biāo)語(yǔ)言間的語(yǔ)序差異,難以進(jìn)行準(zhǔn)確描述[4-7]。為解決長(zhǎng)距離調(diào)序問題,相關(guān)學(xué)者進(jìn)行了多方面研究[8-10]。如基于最大熵的調(diào)序模型,通過(guò)句子中不同詞匯間的相互關(guān)系完成語(yǔ)句的精確翻譯[11];一些學(xué)者將源語(yǔ)言句法信息植入到翻譯模型,有效提升了長(zhǎng)距離調(diào)序的描述準(zhǔn)確度,但容易造成翻譯解碼時(shí)間延長(zhǎng)的問題[12];一些學(xué)者提出一種預(yù)調(diào)序方式,直接將源語(yǔ)言段轉(zhuǎn)化為目標(biāo)語(yǔ)言語(yǔ)序,有效解決了長(zhǎng)語(yǔ)句翻譯中的調(diào)序問題[13]。
在相關(guān)研究基礎(chǔ)上,文中基于語(yǔ)言翻譯中長(zhǎng)距離調(diào)序問題,提出了一種基于神經(jīng)網(wǎng)絡(luò)的語(yǔ)言翻譯預(yù)調(diào)取模型,通過(guò)建立線性排序框架來(lái)建立神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)在多樣本語(yǔ)句和語(yǔ)義的有效信息抽取,預(yù)測(cè)語(yǔ)言翻譯中存在的語(yǔ)序差異,提高翻譯準(zhǔn)確度。
在傳統(tǒng)自然語(yǔ)言處理系統(tǒng)中,通常將詞匯當(dāng)作高維稀疏特征。該文在相關(guān)研究基礎(chǔ)上,為提升高維詞匯推廣能力,通過(guò)建立神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)高維詞匯的低維稠密轉(zhuǎn)化,利用映射關(guān)系將相似詞匯量轉(zhuǎn)為低維相似點(diǎn),建立負(fù)抽樣快速學(xué)習(xí)算法,如圖1所示。
圖1 神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)結(jié)構(gòu)圖
神經(jīng)網(wǎng)絡(luò)通過(guò)查找表LOOKUP 搜索長(zhǎng)度為2n+1的詞匯{w-n,…,wo,…,wn},采用向量表示詞匯量v(wi),根據(jù)一定關(guān)系進(jìn)行關(guān)聯(lián),在經(jīng)過(guò)線性層l1、正切雙曲層tanh和線性層l2轉(zhuǎn)換下輸入,式(1)為系統(tǒng)輸入文本的向量化處理:
為保證神經(jīng)網(wǎng)絡(luò)能夠區(qū)分真實(shí)文本片段與隨機(jī)生成的錯(cuò)誤片段,即對(duì)于真實(shí)文本片段(w-n,…,w0,…,wn),隨機(jī)從詞匯表選擇詞w′替換掉真實(shí)文本中的w0,獲得新的文本片段(w-n,…,w′,…,wn)。為保證片段的真實(shí)性,要求較新的文本片段有一個(gè)高的分?jǐn)?shù),使用隨機(jī)梯度下降方法對(duì)目標(biāo)進(jìn)行優(yōu)化,如式(2)所示。
同時(shí),Mikolov 等也提出了基于Skip-ngram 的快速學(xué)習(xí)詞匯算法[14],利用前饋神經(jīng)網(wǎng)絡(luò)建立詞w與上下文中詞匯c(w)間的條件概率模型,基于哈夫曼樹層級(jí)softmax 加速,確定上下文詞匯c(w)條件概率模型為:
其中,l為一個(gè)線性層,以詞匯長(zhǎng)度為輸入長(zhǎng)度,詞表大小作為輸出長(zhǎng)度,利用softmax 實(shí)現(xiàn)l的歸一化處理。神經(jīng)網(wǎng)絡(luò)得到龐大的樣本后,進(jìn)行詞匯訓(xùn)練,得到對(duì)應(yīng)向量特征和低維度相近空間,并輸入到建立的調(diào)序模型中。
線性排序模型將一個(gè)序列排序分解為序列中元素兩兩排序的子問題的總和,即對(duì)序列{1,2,…,n}對(duì)應(yīng)一個(gè)置換π,給定的分?jǐn)?shù)為:
式中,s(i,j,π(i),π(j))為詞對(duì)(i,j)的排序分?jǐn)?shù)。當(dāng)π(i)<π(j) 時(shí),有關(guān)系s(i,j,π(i),π(j))=s(i,j,0),即當(dāng)(i,j)變換位置時(shí),詞匯順序改變不會(huì)對(duì)語(yǔ)義造成影響,反之,存在有s(i,j,π(i),π(j))=s(i,j,1),則(i,j)變換位置對(duì)詞匯語(yǔ)義造成影響。對(duì)一個(gè)需要調(diào)序的源語(yǔ)句src={w1,…,wn},存在一個(gè)調(diào)序結(jié)果{wπ(1),…,wπ(n)},通過(guò)調(diào)序模型給出的分?jǐn)?shù)為詞匯調(diào)序分?jǐn)?shù)和,即:
工作中的s(i,j,π(i),π(j),src)由一個(gè)線性分類器實(shí)現(xiàn),即:
式中,θ為特征權(quán)重,f為特征向量。在調(diào)序模型框架下,機(jī)器翻譯預(yù)調(diào)序轉(zhuǎn)化為尋找最高分置換過(guò)程,其中,特征向量f是模型性能的關(guān)鍵,通常采用大量高維詞匯特征表達(dá),并引入詞類、詞性標(biāo)準(zhǔn)進(jìn)行特征向量平滑。
該文基于神經(jīng)網(wǎng)絡(luò)建立預(yù)調(diào)序模型,將詞匯調(diào)序問題分解為兩兩排序問題,通過(guò)多層神經(jīng)網(wǎng)絡(luò)進(jìn)行排序打分[15]。具體說(shuō),對(duì)于句子src={w1,w2,…,wn},給出的調(diào)序結(jié)果評(píng)分為:
式中,sNN和ssparse分別為神經(jīng)網(wǎng)絡(luò)和稀疏特征計(jì)算評(píng)分值,輸入量為第i,j上下文詞匯,輸出為二維向量。確定模型調(diào)序的輸出最優(yōu)解為:
調(diào)序數(shù)據(jù)訓(xùn)練主要從雙語(yǔ)平行預(yù)料中獲取訓(xùn)練數(shù)據(jù),并根據(jù)訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行參數(shù)學(xué)習(xí)[16]。對(duì)于一個(gè)有詞對(duì)齊信息的雙語(yǔ)句對(duì)(e,f,α),其中e為源語(yǔ)言句子,f為目標(biāo)句子,a為二者間詞對(duì)齊關(guān)系。要獲得源語(yǔ)言句子e重排序π*,使它和目標(biāo)語(yǔ)言句子f語(yǔ)序相近,采用交叉連接數(shù)來(lái)評(píng)價(jià)調(diào)序結(jié)果,用數(shù)對(duì)(i,j)表示詞對(duì)齊連接,即源語(yǔ)言第i個(gè)詞與目標(biāo)語(yǔ)言第j個(gè)詞間建立相互連接關(guān)系,則稱兩個(gè)詞鏈接(i1,j1)和(i2,j2)之間為交叉關(guān)系,若滿足式(9)中的關(guān)系:
此時(shí)定義:
則源語(yǔ)言為一種重排序π 的交叉連接數(shù)相應(yīng)的計(jì)算公式為:
通過(guò)計(jì)算獲得交叉連接數(shù)最小重排序π*,則源語(yǔ)言的重排序的交叉連接數(shù)為:
當(dāng)源語(yǔ)言和目標(biāo)語(yǔ)言語(yǔ)序完全一致時(shí),這個(gè)交叉連接數(shù)為0。語(yǔ)序差異性越大,則交叉連接數(shù)也就越大。由于重排序的數(shù)量與句子長(zhǎng)度間呈現(xiàn)出一種指數(shù)級(jí)關(guān)系,因而無(wú)法準(zhǔn)確尋找到交叉數(shù)對(duì)的最小重排序?;诖?,可采用CKY 動(dòng)態(tài)規(guī)劃在O(n3)的時(shí)間復(fù)雜度下獲得最優(yōu)解。同時(shí)需要注意,由于存在空對(duì)齊形式,可能存在多個(gè)交叉連接數(shù)的最小重排序,在這種情況下,隨機(jī)獲得的任意一個(gè)最小重排序作為目標(biāo)排序。
通過(guò)調(diào)序訓(xùn)練數(shù)據(jù)可以得到雙語(yǔ)句對(duì)(e,f,α)的一個(gè)交叉連接數(shù)最小重排序π*。為確保預(yù)調(diào)序的準(zhǔn)確度,首先需對(duì)獲得的訓(xùn)練數(shù)據(jù)執(zhí)行參數(shù)訓(xùn)練。假設(shè)θ為訓(xùn)練參數(shù),其中包括了稀疏特征權(quán)重向量與網(wǎng)絡(luò)參數(shù),采用最小化損傷函數(shù)[17]對(duì)模型進(jìn)行參數(shù)訓(xùn)練學(xué)習(xí):
其中,π-為排序中分?jǐn)?shù)最高的重排序。對(duì)于雙語(yǔ)料中所有句對(duì),從中隨機(jī)抽取一個(gè)句對(duì),用當(dāng)前參數(shù)值進(jìn)行CKY 解碼[18],獲得π-,并與π*進(jìn)行比對(duì),若對(duì)比損失不為0,則根據(jù)獲得的最小損失梯度[14]進(jìn)行參數(shù)更新:
其中,γ為學(xué)習(xí)率,?L(θ)為稀疏特征權(quán)重參數(shù)的梯度,對(duì)應(yīng)的關(guān)系式為:
fsparse為系統(tǒng)特征向量,可通過(guò)反向傳播算法計(jì)算獲得。當(dāng)模型參數(shù)初始化時(shí),由學(xué)習(xí)的詞匯向量作為查找表參數(shù)初始值,將神經(jīng)網(wǎng)絡(luò)兩個(gè)線性層參數(shù)初始化到一個(gè)小區(qū)間,稀疏特征權(quán)重的初始值設(shè)為0。
為驗(yàn)證該文建立模型的有效性,選擇中英互翻譯進(jìn)行實(shí)例驗(yàn)證。實(shí)驗(yàn)數(shù)據(jù)包括用于訓(xùn)練詞匯向量的單語(yǔ)文本,由互聯(lián)網(wǎng)中隨機(jī)抓取,經(jīng)過(guò)正規(guī)化、去重處理后獲得的英文文本;用于與調(diào)序模型和翻譯模型的雙語(yǔ)數(shù)據(jù),由互聯(lián)網(wǎng)中抓取,包括中文到英文數(shù)據(jù)包2 600 萬(wàn)句;用于測(cè)試評(píng)價(jià)的測(cè)試數(shù)據(jù),采用NIST05 作為開發(fā)集NTST06 和NTST08 為測(cè)試集,NIST 作為機(jī)器翻譯評(píng)測(cè)測(cè)試集。
為驗(yàn)證該算法模型的翻譯性能,對(duì)比實(shí)驗(yàn)選擇未經(jīng)處理的預(yù)處理翻譯系統(tǒng)。對(duì)神經(jīng)網(wǎng)絡(luò)模型,采用的詞匯向量長(zhǎng)度為100,設(shè)置網(wǎng)絡(luò)輸入層為5 個(gè)節(jié)點(diǎn)數(shù),隱含層長(zhǎng)度為50個(gè)節(jié)點(diǎn)數(shù),設(shè)置初始學(xué)習(xí)率為0.1。
在中英文數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),采用BLEU-4 作為評(píng)價(jià)指標(biāo),如表1 為機(jī)器翻譯實(shí)驗(yàn)結(jié)果??梢钥闯?,采用神經(jīng)網(wǎng)絡(luò)的預(yù)調(diào)序模型得到的翻譯效果可以顯著提高,這是因?yàn)樵谥杏⑽姆g中,調(diào)序更多的是以詞匯化模式為介入點(diǎn)[19-20],而神網(wǎng)絡(luò)模型通過(guò)對(duì)詞匯進(jìn)行向量化表示,尋找其中的相似性,有效提升了詞匯間的關(guān)聯(lián)程度,因而具備更好的翻譯效果。
表1 中文到英文翻譯結(jié)果
同時(shí),采用源語(yǔ)言和目標(biāo)語(yǔ)言間詞對(duì)齊交叉連接數(shù)進(jìn)行評(píng)價(jià)。源語(yǔ)言和目標(biāo)語(yǔ)言語(yǔ)序越接近,則對(duì)齊交叉連接數(shù)越小,預(yù)調(diào)序效果越好。表2 中對(duì)隨機(jī)選定的500 個(gè)中英文語(yǔ)言數(shù)據(jù)集進(jìn)行詞堆積標(biāo)準(zhǔn)測(cè)試,可以看出,神經(jīng)網(wǎng)絡(luò)的預(yù)調(diào)序模型獲得的對(duì)齊交叉連接數(shù)僅有16.8,遠(yuǎn)小于稀疏特征預(yù)調(diào)序模型和未調(diào)序翻譯系統(tǒng),有效提升了預(yù)調(diào)序效果,獲得的語(yǔ)句翻譯質(zhì)量更優(yōu)。
表2 中文到英文交叉連接數(shù)均值
針對(duì)長(zhǎng)距離調(diào)序中難以對(duì)翻譯詞匯進(jìn)行有效描述的現(xiàn)象,提出一種利用神經(jīng)語(yǔ)言模型實(shí)現(xiàn)對(duì)文本詞匯的向量化表示,建立基于神經(jīng)網(wǎng)絡(luò)的翻譯預(yù)調(diào)序模型。模型融合在線性排序框架,從大量樣本數(shù)據(jù)獲得句子詞匯間的句法和語(yǔ)義信息,獲得不同語(yǔ)言間潛在的語(yǔ)序差異。最后通過(guò)建立不同的翻譯模型進(jìn)行性能對(duì)比結(jié)果表明,采用提出的神經(jīng)網(wǎng)絡(luò)預(yù)調(diào)序模型有效提高了系統(tǒng)性能和翻譯準(zhǔn)確度。