陳敏
(咸陽師范學院,陜西咸陽 712000)
機器翻譯作為自然語言處理和人工智能研究領域的研究方向,主要是利用計算機來實現不同語言間的相互轉化[1-3]。目前,較多互聯網企業提供了多語言在線翻譯服務,如谷歌翻譯、微軟Bing 翻譯、百度翻譯等,但機器翻譯質量與專業譯文間依然存在較大差異,尤其是在翻譯一些長語句方面,對源語言和目標語言間的語序差異,難以進行準確描述[4-7]。為解決長距離調序問題,相關學者進行了多方面研究[8-10]。如基于最大熵的調序模型,通過句子中不同詞匯間的相互關系完成語句的精確翻譯[11];一些學者將源語言句法信息植入到翻譯模型,有效提升了長距離調序的描述準確度,但容易造成翻譯解碼時間延長的問題[12];一些學者提出一種預調序方式,直接將源語言段轉化為目標語言語序,有效解決了長語句翻譯中的調序問題[13]。
在相關研究基礎上,文中基于語言翻譯中長距離調序問題,提出了一種基于神經網絡的語言翻譯預調取模型,通過建立線性排序框架來建立神經網絡模型,實現在多樣本語句和語義的有效信息抽取,預測語言翻譯中存在的語序差異,提高翻譯準確度。
在傳統自然語言處理系統中,通常將詞匯當作高維稀疏特征。該文在相關研究基礎上,為提升高維詞匯推廣能力,通過建立神經網絡模型實現高維詞匯的低維稠密轉化,利用映射關系將相似詞匯量轉為低維相似點,建立負抽樣快速學習算法,如圖1所示。

圖1 神經網絡學習結構圖
神經網絡通過查找表LOOKUP 搜索長度為2n+1的詞匯{w-n,…,wo,…,wn},采用向量表示詞匯量v(wi),根據一定關系進行關聯,在經過線性層l1、正切雙曲層tanh和線性層l2轉換下輸入,式(1)為系統輸入文本的向量化處理:

為保證神經網絡能夠區分真實文本片段與隨機生成的錯誤片段,即對于真實文本片段(w-n,…,w0,…,wn),隨機從詞匯表選擇詞w′替換掉真實文本中的w0,獲得新的文本片段(w-n,…,w′,…,wn)。為保證片段的真實性,要求較新的文本片段有一個高的分數,使用隨機梯度下降方法對目標進行優化,如式(2)所示。

同時,Mikolov 等也提出了基于Skip-ngram 的快速學習詞匯算法[14],利用前饋神經網絡建立詞w與上下文中詞匯c(w)間的條件概率模型,基于哈夫曼樹層級softmax 加速,確定上下文詞匯c(w)條件概率模型為:

其中,l為一個線性層,以詞匯長度為輸入長度,詞表大小作為輸出長度,利用softmax 實現l的歸一化處理。神經網絡得到龐大的樣本后,進行詞匯訓練,得到對應向量特征和低維度相近空間,并輸入到建立的調序模型中。
線性排序模型將一個序列排序分解為序列中元素兩兩排序的子問題的總和,即對序列{1,2,…,n}對應一個置換π,給定的分數為:

式中,s(i,j,π(i),π(j))為詞對(i,j)的排序分數。當π(i)<π(j) 時,有關系s(i,j,π(i),π(j))=s(i,j,0),即當(i,j)變換位置時,詞匯順序改變不會對語義造成影響,反之,存在有s(i,j,π(i),π(j))=s(i,j,1),則(i,j)變換位置對詞匯語義造成影響。對一個需要調序的源語句src={w1,…,wn},存在一個調序結果{wπ(1),…,wπ(n)},通過調序模型給出的分數為詞匯調序分數和,即:

工作中的s(i,j,π(i),π(j),src)由一個線性分類器實現,即:

式中,θ為特征權重,f為特征向量。在調序模型框架下,機器翻譯預調序轉化為尋找最高分置換過程,其中,特征向量f是模型性能的關鍵,通常采用大量高維詞匯特征表達,并引入詞類、詞性標準進行特征向量平滑。
該文基于神經網絡建立預調序模型,將詞匯調序問題分解為兩兩排序問題,通過多層神經網絡進行排序打分[15]。具體說,對于句子src={w1,w2,…,wn},給出的調序結果評分為:

式中,sNN和ssparse分別為神經網絡和稀疏特征計算評分值,輸入量為第i,j上下文詞匯,輸出為二維向量。確定模型調序的輸出最優解為:

調序數據訓練主要從雙語平行預料中獲取訓練數據,并根據訓練數據對模型進行參數學習[16]。對于一個有詞對齊信息的雙語句對(e,f,α),其中e為源語言句子,f為目標句子,a為二者間詞對齊關系。要獲得源語言句子e重排序π*,使它和目標語言句子f語序相近,采用交叉連接數來評價調序結果,用數對(i,j)表示詞對齊連接,即源語言第i個詞與目標語言第j個詞間建立相互連接關系,則稱兩個詞鏈接(i1,j1)和(i2,j2)之間為交叉關系,若滿足式(9)中的關系:

此時定義:

則源語言為一種重排序π 的交叉連接數相應的計算公式為:

通過計算獲得交叉連接數最小重排序π*,則源語言的重排序的交叉連接數為:

當源語言和目標語言語序完全一致時,這個交叉連接數為0。語序差異性越大,則交叉連接數也就越大。由于重排序的數量與句子長度間呈現出一種指數級關系,因而無法準確尋找到交叉數對的最小重排序。基于此,可采用CKY 動態規劃在O(n3)的時間復雜度下獲得最優解。同時需要注意,由于存在空對齊形式,可能存在多個交叉連接數的最小重排序,在這種情況下,隨機獲得的任意一個最小重排序作為目標排序。
通過調序訓練數據可以得到雙語句對(e,f,α)的一個交叉連接數最小重排序π*。為確保預調序的準確度,首先需對獲得的訓練數據執行參數訓練。假設θ為訓練參數,其中包括了稀疏特征權重向量與網絡參數,采用最小化損傷函數[17]對模型進行參數訓練學習:

其中,π-為排序中分數最高的重排序。對于雙語料中所有句對,從中隨機抽取一個句對,用當前參數值進行CKY 解碼[18],獲得π-,并與π*進行比對,若對比損失不為0,則根據獲得的最小損失梯度[14]進行參數更新:

其中,γ為學習率,?L(θ)為稀疏特征權重參數的梯度,對應的關系式為:

fsparse為系統特征向量,可通過反向傳播算法計算獲得。當模型參數初始化時,由學習的詞匯向量作為查找表參數初始值,將神經網絡兩個線性層參數初始化到一個小區間,稀疏特征權重的初始值設為0。
為驗證該文建立模型的有效性,選擇中英互翻譯進行實例驗證。實驗數據包括用于訓練詞匯向量的單語文本,由互聯網中隨機抓取,經過正規化、去重處理后獲得的英文文本;用于與調序模型和翻譯模型的雙語數據,由互聯網中抓取,包括中文到英文數據包2 600 萬句;用于測試評價的測試數據,采用NIST05 作為開發集NTST06 和NTST08 為測試集,NIST 作為機器翻譯評測測試集。
為驗證該算法模型的翻譯性能,對比實驗選擇未經處理的預處理翻譯系統。對神經網絡模型,采用的詞匯向量長度為100,設置網絡輸入層為5 個節點數,隱含層長度為50個節點數,設置初始學習率為0.1。
在中英文數據集上進行實驗,采用BLEU-4 作為評價指標,如表1 為機器翻譯實驗結果。可以看出,采用神經網絡的預調序模型得到的翻譯效果可以顯著提高,這是因為在中英文翻譯中,調序更多的是以詞匯化模式為介入點[19-20],而神網絡模型通過對詞匯進行向量化表示,尋找其中的相似性,有效提升了詞匯間的關聯程度,因而具備更好的翻譯效果。

表1 中文到英文翻譯結果
同時,采用源語言和目標語言間詞對齊交叉連接數進行評價。源語言和目標語言語序越接近,則對齊交叉連接數越小,預調序效果越好。表2 中對隨機選定的500 個中英文語言數據集進行詞堆積標準測試,可以看出,神經網絡的預調序模型獲得的對齊交叉連接數僅有16.8,遠小于稀疏特征預調序模型和未調序翻譯系統,有效提升了預調序效果,獲得的語句翻譯質量更優。

表2 中文到英文交叉連接數均值
針對長距離調序中難以對翻譯詞匯進行有效描述的現象,提出一種利用神經語言模型實現對文本詞匯的向量化表示,建立基于神經網絡的翻譯預調序模型。模型融合在線性排序框架,從大量樣本數據獲得句子詞匯間的句法和語義信息,獲得不同語言間潛在的語序差異。最后通過建立不同的翻譯模型進行性能對比結果表明,采用提出的神經網絡預調序模型有效提高了系統性能和翻譯準確度。