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