張弘弢,文永華,王 劍
(昆明理工大學,云南 昆明 650500)
泰國作為“一帶一路”倡議中重要的沿線國家,與我國的合作不斷深化,人文交流愈發(fā)密切[1],翻譯則是實現(xiàn)兩國合作的橋梁。一直以來,人工翻譯存在時間和經(jīng)濟成本過高的問題,而神經(jīng)機器翻譯的發(fā)展能使交流更加方便快捷。神經(jīng)機器翻譯效果很大程度上受平行語料質(zhì)量的影響[2],泰漢屬于典型的低資源語言對,缺少大規(guī)模、高質(zhì)量的訓練數(shù)據(jù),因此泰漢神經(jīng)機器翻譯質(zhì)量較差。
泰語和漢語在語法上存在較大差異:首先,泰語很少使用標點符號,句子之間一般通過空格符進行標記,模型很難利用標點等標記學習句子的結(jié)構(gòu)信息,影響了模型對句子語義的理解;其次,在泰語語序中通常將修飾語置于被修飾語后面,例如泰語句子(標語上寫著:“今晚,我們將用遠光燈懲罰你?!保┲?,狀語修飾短語(用遠光燈)”位于被修飾語(懲罰)”的后面,與漢語的語序相反,這也是泰漢機器翻譯質(zhì)量不佳的重要原因。
結(jié)合泰語語法特征,利用句法知識提升泰漢機器翻譯質(zhì)量是重要的研究方向。但是泰語缺少成熟的句法分析工具,在依存句法分析領(lǐng)域可用的樹庫universal dependenies 中僅有1 000 句泰語標注測試集,人工標注訓練集昂貴耗時且依賴語言學專家。泰語依存訓練語料不足,導致解析模型不能得到充分的訓練,很難獲取泰語依存句法知識。
本文針對泰語和漢語之間高質(zhì)量平行語料不足、泰語依存標注數(shù)據(jù)少、依存句法解析困難等問題,提出了融合無監(jiān)督泰語依存句法信息的泰漢神經(jīng)機器翻譯方法。針對泰語依存句法解析質(zhì)量不高的問題,提出了基于依存距離懲罰的泰漢神經(jīng)機器翻譯句法知識融合方法,該方法通過增加依存距離懲罰機制,有效緩解了句法解析噪聲對翻譯質(zhì)量的影響,與transformer 相比,所提方法將泰漢機器翻譯的雙語評估替換(Bilingual Evaluation Understudy,BLEU)分數(shù)提高了0.46。
泰語作為低資源語言,缺乏高質(zhì)量的依存標注訓練數(shù)據(jù),而無監(jiān)督依存句法分析方法可以從無標注數(shù)據(jù)中提取到依存標注結(jié)果。自配價依存句法模型(Dependency Model with Valence,DMV)[3]被提出之后,很長一段時間內(nèi),無監(jiān)督依存句法分析的主要方法都是基于DMV 的,如Jiang 等人[4]提出的神經(jīng)DMV 模型,Han 等人[5]提出的判別式神經(jīng)DMV。自編碼器模型是比較新的無監(jiān)督方法,它借助編碼器把句子映射到句法結(jié)構(gòu)空間,然后利用解碼器還原句子,如Cai 等人[6]提出了一種條件隨機場自編碼器方法,對輸入句子的概率進行重構(gòu),避免了有向圖的基本限制;Kim 等人[7]提出了無監(jiān)督循環(huán)神經(jīng)文法(Unsupervised Recurrent Neural Network Grammars,URNNG),可以緩解解碼器的過擬合。與傳統(tǒng)的純無監(jiān)督方法相比較,基于遷移學習的無監(jiān)督方法更具有可行性,如Ahmad 等人[8]提出了在解碼端使用基于圖的依存句法分析方法,提高了依存句法分析的性能;陶廣奉[9]利用大量未標注的漢泰平行句對,依靠漢泰之間的語言相似性,從現(xiàn)有的大規(guī)模漢語依存句法分析知識庫中遷移構(gòu)建了泰語的依存句法分析器。考慮到泰語缺少與其他語言間的高質(zhì)量平行語料,本文無監(jiān)督地在泰語和高資源語言之間進行詞嵌入對齊,從而在不需要平行句對的情況下通過無監(jiān)督遷移方法實現(xiàn)泰語依存句法分析。
現(xiàn)有的漢泰機器翻譯的研究中使用的平行語料多為領(lǐng)域單一的未公開語料,平行語料的規(guī)模與質(zhì)量受限,導致翻譯任務(wù)的訓練數(shù)據(jù)不充分,使編解碼器的參數(shù)不能達到最優(yōu)[10]。針對低資源語言的神經(jīng)機器翻譯方法中,融入依存句法結(jié)構(gòu)知識是一類熱門方法[11]。近年來,國內(nèi)外眾多學者對融合依存句法信息的翻譯方法進行了研究,例如,Wang 等人[12]于2019 年使用依存句法樹作為句子的句法結(jié)構(gòu)表征,并提出兩種策略來編碼依存樹中單詞之間的位置關(guān)系;Choshen 等人[13]提出了一種基于Transformer 的通用方法,用于解決基于生成轉(zhuǎn)換序列的樹和圖解碼;2020 年,Bugliarello 等人[14]提出了父級自注意力機制(Parent-Scaled Self-Attention),將依存信息中子詞到父詞的依存距離信息融合到注意力機制中,該方法無需參數(shù),簡單高效,能有效提升翻譯效果。但是,現(xiàn)有的句法信息融合方法大都依賴于成熟的句法解析器獲取質(zhì)量較高的依存信息,而泰語缺少成熟的句法解析工具,用無監(jiān)督遷移方法獲取的句法信息準確率還不能達到與標準解析結(jié)果相當?shù)某潭取榱私档吞┱Z依存信息引入的噪聲對翻譯效果帶來的不利影響,本文提出了依存距離懲罰機制,對現(xiàn)有的融合方法作出有針對性的改進,從而更有效地融入句法知識以提升翻譯性能。
本文將無監(jiān)督依存句法解析獲取的泰語依存句法信息通過改進的依存感知注意力機制融入基于Transformer 的泰漢神經(jīng)機器翻譯模型。該方法整體框架如圖1 所示。
圖1 融合無監(jiān)督依存句法的泰漢神經(jīng)機器翻譯總框架
針對無監(jiān)督獲取的依存句法信息質(zhì)量不高的問題,本文提出了依存距離懲罰方法。該方法根據(jù)依存距離對依存父詞的位置信息賦予不同權(quán)重,并用依存感知注意力機制將父詞依存位置信息融入Transformer 翻譯模型。
本文在泰漢神經(jīng)機器翻譯中融入的泰語依存句法結(jié)構(gòu)知識,是采用一種無監(jiān)督遷移的方法預(yù)先獲取的。該方法不需要泰英平行語料,而是先借助高資源語言豐富的依存標注語料預(yù)訓練解析模型,然后通過對齊矩陣將其遷移到泰語依存句法分析任務(wù),最終實現(xiàn)從無標注的泰語數(shù)據(jù)中提取到依存結(jié)構(gòu)知識。
本文所使用的無監(jiān)督泰語依存句法分析方法分為4 個步驟。首先采用無監(jiān)督方法通過對抗訓練實現(xiàn)泰語和英語動態(tài)詞嵌入的對齊;其次將基于深層Biaffine 注意力的神經(jīng)網(wǎng)絡(luò)依存解析模型[15]作為依存句法分析模型,利用英語豐富的依存句法樹庫預(yù)先學習依存句法分析模型,使模型參數(shù)得到更充分的訓練;再次通過獲取的詞嵌入對齊矩陣將泰語和英語詞向量映射到同一個空間,并跨語言共享所有模型參數(shù),將預(yù)訓練的依存句法分析模型遷移到泰語依存句法分析任務(wù);最后使用該模型判斷泰語無標注語料中每兩個標記之間是否有依存關(guān)系,對于存在依存關(guān)系的再用分類器輸出具體關(guān)系,最終完成無監(jiān)督的泰語依存句法分析。
本文融入的泰語依存句法知識是由無監(jiān)督的方法學習到的,不能達到與標準依存樹相當?shù)臏蚀_率。為防止融合模型過度擬合到有噪聲的依存信息,本文提出了依存距離懲罰機制,旨在減少依存信息中引入的噪聲對翻譯性能的影響,以提升句法信息融合的有效性。
依存感知注意力機制只需要通過計算每個位置標記的依存父詞與所有標記間的距離函數(shù),來獲得距離關(guān)系矩陣。在獲取的依存句法樹中,依存距離越遠的詞之間,越可能累積形成錯誤的依存信息。而本文根據(jù)依存距離的遠近對其賦予不同的權(quán)重,采取依存距離懲罰的方式使融合模型更偏袒直接父詞依存信息,以此來減少噪聲信息對翻譯過程的影響。
圖2 依存句法樹剪枝示例
為了進一步求出距離關(guān)系,首先,對輸入的長度為T的序列,判斷位置t的父詞pt與每個位置j的標記在依存句法樹中的距離lpt,j,并計算位置t的父詞與每個位置j的標記在序列中的距離|j-pt|,j=1,2,3,…,T;其次對每個距離|j-pt|計算距離關(guān)系dist(pt,j),以方差為σ2的正態(tài)分布的概率密度值來表示位置t的父詞與每個位置j的標記在序列中的距離關(guān)系,其表達式為:
依存距離懲罰機制的原理如圖3 所示,距離關(guān)系dist(pt,j)形成父詞距離關(guān)系矩陣。根據(jù)每個位置t的父詞與每個位置j的標記在依存句法樹中的距離lpt,j的不同,選擇要保留的距離關(guān)系信息dist(pt,j),分別得到不同的父詞距離關(guān)系矩陣D1,D2和D3。
以泰語例句的第一個詞“5 000”為例,它在距離關(guān)系矩陣D1中保留的距離關(guān)系信息如圖2(a)所示,即保留完整的依存句法樹;然后,將與“5 000”的父詞(美元)”在依存句法樹中相距大于2 的節(jié)點進行剪枝,剪枝后的依存句法樹如圖2(b)所示,樹中剩下的節(jié)點為在距離關(guān)系矩陣D2中要與位置1 的父詞保留距離關(guān)系信息的標記;再將與“5 000”的父詞(美元)”在依存句法樹中相距大于1 的節(jié)點進行剪枝,剪枝后的依存句法樹如圖2(c)所示,樹中剩下的節(jié)點為在距離關(guān)系矩陣D3中要與位置1 的父詞保留距離關(guān)系信息的標記。
本文對句子中的每個標記都根據(jù)依存句法樹中的距離進行逐一剪枝,以此逐步生成3 個距離關(guān)系矩陣。在計算生成的距離關(guān)系矩陣D1中,包含每個位置t的父詞與每個位置j的標記在序列中的距離關(guān)系dist(pt,j);而D2只保留每個位置t的父詞和與其在依存樹中的距離lpt,j不超過2 的位置j的標記在序列中的距離關(guān)系,矩陣D2中每個元素的計算公式為;
D3則只保留位置t的父詞和與其具有直接依存關(guān)系的標記在序列中的距離關(guān)系,矩陣D3中每個元素的計算公式為:
上文中的例句生成的矩陣如圖3 所示??梢钥闯?,根據(jù)在依存句法樹中的距離lpt,j的不同,依存距離關(guān)系矩陣所保留的距離關(guān)系元素越少,所包含的信息越側(cè)重于在依存樹中距離更近的關(guān)系特征。
圖3 依存距離懲罰機制
為了降低輸入的依存信息中的噪聲對翻譯效果產(chǎn)生的干擾,本文對獲得的3 個父詞距離關(guān)系矩陣D1,D2和D3進行加權(quán)求和,使模型對每個詞更加偏袒其直接依存父詞的依存特征,并得到依存距離懲罰后的父詞距離關(guān)系矩陣D,具體公式為:
式中:λi為對不同的矩陣Di所賦予的不同權(quán)重。相應(yīng)地,對D1和D2減小權(quán)重,對D3增大權(quán)重,以減少在依存句法樹中距離較遠的詞間的距離信息對翻譯過程的影響,通過這種方式來降低對不準確信息的融合所帶來的噪聲干擾。
本文主要采用了基于依存感知注意力機制的Transformer 架構(gòu),將其作為句法信息融合模型,以獲得一個能夠高效訓練的神經(jīng)網(wǎng)絡(luò)翻譯模型。該方法在傳統(tǒng)Transformer 架構(gòu)上以依存感知注意力替代原本的自注意力,將與每個詞具有依存關(guān)系的父詞的絕對位置融入attention,借助父詞信息提高翻譯質(zhì)量。依存感知注意力機制如圖1 中的依存感知注意力機制部分所示,編碼器由兩部分輸入:一個是包含T個標記的泰語句子的嵌入矩陣E∈RT×dmodel,另一個是句子中每個子詞對應(yīng)的父詞的絕對位置組成的向量p。生成向量p需要用到通過依存句法分析過程獲得的依存父詞信息。
在多頭注意力機制的每個頭H中,對輸入序列的每個標記算得3 個向量q,k,v,得到整個輸入序列的矩陣Q∈RT×c,K∈RT×c,V∈RT×c,其中,c=dmodel/H。如式(5)所示,通過計算每個q和所有的k之間的點積,得到每個位置的標記與輸入的其他部分的關(guān)注度分數(shù),并將分數(shù)除以以避免點積較大時出現(xiàn)的梯度消失問題,得到分數(shù)矩陣S。
利用輸入向量p分別計算得到3 個父詞距離關(guān)系矩陣D1,D2和D3。為了減少輸入的依存信息中的噪聲對翻譯效果產(chǎn)生的干擾,本文對3 個父詞距離矩陣進行依存距離懲罰,獲得最終的父詞距離關(guān)系矩陣D。在2.2 節(jié)中對該過程進行具體描述。
如式(6)所示,由分數(shù)矩陣S和父詞距離關(guān)系矩陣D得到融合矩陣N。N的第t行是根據(jù)每個標記與第t個標記的父詞位置的距離關(guān)系,對第t個標記的關(guān)注度分數(shù)進行加權(quán)計算得到的。
最后,利用softmax 函數(shù)來產(chǎn)生句子中所有標記的權(quán)重分布,并用所得矩陣和矩陣V獲得最終矩陣M,實現(xiàn)了將依存信息融合到Transformer 模型中。該翻譯模型的其他部分與傳統(tǒng)的Transformer 模型相同,訓練的目標是最小化模型預(yù)測的概率分布與監(jiān)督信號之間的交叉熵損失函數(shù)L(θ),其表達式為:
式中:y和y′分別為目標語言實際標記和模型預(yù)測的標記;X為輸入序列;θ為模型訓練的參數(shù)。
該方法中的距離函數(shù)僅依賴依存父詞位置信息,有效地將泰語依存句法知識加入泰漢神經(jīng)機器翻譯的過程,這樣既能減少由依存結(jié)構(gòu)知識引入的過多噪聲對翻譯效果造成的干擾,又不需要額外的參數(shù)來訓練依存感知注意力層,簡單高效。
在進行實驗前,首先爬取漢泰平行句,并刪去不符合要求的語料,獲得106 萬對漢泰平行句對。英語句子中存在空格作為天然的分詞,而漢語和泰語都沒有明顯的詞語間隔,本文分別使用jieba 分詞工具和PyThaiNLP 分詞器對漢語和泰語的語料進行分詞。
對于泰漢神經(jīng)機器翻譯實驗,本文將預(yù)處理后的平行語料拆分為訓練集、驗證集和測試集,并分別選取不同數(shù)量的平行句對構(gòu)建了3 個語料庫,如表1 所示。漢泰平行語料庫1、漢泰平行語料庫2、漢泰平行語料庫3 分別由106 萬對、52 萬對、13萬對預(yù)處理后的漢泰平行句對構(gòu)成。
表1 泰漢翻譯實驗數(shù)據(jù)
在實驗設(shè)置方面,所有實驗均利用pytorch實現(xiàn),采用基于Transformer 的改進模型,并將Transformer作為對比模型。所有實驗的warm-up steps 設(shè)置為4 000,label smoothing設(shè)置為0.1,學習率設(shè)置為0.000 7,批大小max-tokens 設(shè)置為4 096,Dropout 設(shè)置為0.3。
在評價指標方面,本文使用BLEU值(雙語評估替補)判斷泰漢神經(jīng)機器翻譯的準確率,它表示candidate(所需評估的模型生成的句子)和reference(作為參考答案的人工譯文)的相符程度,BLEU值越高則譯文質(zhì)量越好。
3.3.1 泰漢神經(jīng)機器翻譯對比實驗及分析
本組實驗主要展示融入無監(jiān)督泰語依存句法信息的泰漢翻譯結(jié)果,實驗中依存距離懲罰機制的權(quán)重λ1,λ2和λ3分別為0.65,0.20 和0.15。如表2 所示,將本文方法在泰漢機器翻譯實驗的BLEU分數(shù),分別與Transformer 方法和不使用依存距離懲罰機制的方法在泰漢翻譯上的BLEU分數(shù)進行對比。
表2 泰漢神經(jīng)機器翻譯對比實驗結(jié)果
此處使用本文方法和使用基于依存注意力機制的融合方法獲得的BLEU分數(shù),相比于Transformer模型,分別提高了0.46 分和0.18 分,該結(jié)果表明,在源語言端融合依存知識可以有效提升泰漢神經(jīng)機器翻譯任務(wù)的性能。此外,對融入的句法信息進行依存距離懲罰時,泰漢機器翻譯的BLEU值相比直接融入句法信息提高了0.28 分。由于所使用的泰語依存句法知識是無監(jiān)督遷移獲得的,這些依存句法標注的準確度還不能達到與標準的依存句法樹相當?shù)某潭取6谝来孀⒁饬C制的融合方法在融入泰語依存信息時,關(guān)注每個位置的父詞與每個詞之間的距離關(guān)系。在依存樹中相距較遠的兩者之間的依存關(guān)系經(jīng)過累加后更可能存在錯誤,融合過程中如果引入了太多噪聲,反而會降低翻譯效果。因此,對依存信息按依存距離進行懲罰,有利于減少其中的錯誤帶來的干擾。
同時,本文還對比了在各個模型下使用不同數(shù)據(jù)集時得到的BLEU分數(shù),結(jié)果表明,隨著使用的漢泰平行句對數(shù)量的顯著減少,不同翻譯方法的效果都有明顯的降低。顯然,平行句對的數(shù)量影響翻譯模型的訓練質(zhì)量。但是,不管使用多大數(shù)量的訓練數(shù)據(jù),本文方法的翻譯效果都有所提升。即使針對泰語這種低資源語言,該方法對提升翻譯效果仍然具有一定幫助。
3.3.2 在多頭注意力機制的不同層融合句法信息的對比實驗及分析
受到Bugliarello 等人[14]實驗的啟發(fā),本文也嘗試在多頭注意力機制的不同層融合泰語的句法結(jié)構(gòu)知識,以研究不同注意力層的融合效果的差距。使用本文的融合方法分別在1~6 層融合泰語依存句法信息時,在漢泰平行語料庫1 進行泰漢神經(jīng)機器翻譯得到的BLEU值如表3 所示。本組實驗中依存距離懲罰機制的權(quán)重λ1,λ2和λ3分別為0.65,0.20和0.15。
表3 多頭注意力機制不同層融合句法信息的實驗結(jié)果
實驗結(jié)果表明,在多頭注意力機制的第1 層進行泰語依存句法信息融合,取得了相對較高的BLEU值,與在第2 層進行融合獲得的最低BLEU值相比,提升了0.22 分。正如Raganato 等人[16]的研究所表明的,多頭注意力機制的第1 層會更多地關(guān)注將要翻譯的單詞本身。在第1 層引入父詞的上下文信息可以使詞嵌入包含更多特征,能夠進一步幫助翻譯模型更準確地完成翻譯過程。因此,選擇合適的融合層也有利于更有效地融入依存句法信息。
3.3.3 依存距離權(quán)重組合對比實驗及分析
本組實驗研究不同的權(quán)重組合對翻譯效果的影響。使用本文的融合方法在漢泰平行語料庫1 進行泰漢神經(jīng)機器翻譯得到的BLEU值如表4 所示。
表4 依存距離權(quán)重組合對比實驗結(jié)果
在權(quán)重設(shè)置方案中,λ3=0.65 時,泰漢機器翻譯的BLEU值為最高分8.19 分。實驗結(jié)果表明,當權(quán)重更偏向具有直接依存關(guān)系的父詞距離矩陣時,翻譯的效果相對更好。由于無監(jiān)督遷移獲取的泰語依存句法信息準確率不高,在依存句法樹上相距越遠的兩者之間越可能累積形成錯誤的依存關(guān)系,因此,對依存句法樹中依存距離更近的標記之間賦予較高的權(quán)重,有利于融入更準確且重要的依存特征關(guān)系。
本文提出了一種融合無監(jiān)督依存句法的泰漢神經(jīng)機器翻譯方法,該方法通過無監(jiān)督遷移獲取泰語依存句法信息,并簡單高效地融入到Transformer 模型。該方法減少了句法信息噪聲對翻譯效果的干擾,并利用泰語的依存結(jié)構(gòu)知識幫助譯文更加符合語言結(jié)構(gòu)規(guī)范,一定程度上解決了由于缺乏高質(zhì)量的漢泰平行語料導致模型訓練不夠充分所帶來的泰漢翻譯效果較差的問題。實驗結(jié)果表明,該方法提升了泰漢神經(jīng)機器翻譯的性能。下一步工作中,將根據(jù)這種思路獲取無監(jiān)督泰語成分句法結(jié)構(gòu)知識,并嘗試提升其他低資源語言神經(jīng)機器翻譯性能。