ACL 2021 | 北京大学KCL实验室:如何利用双语词典增强机器翻译?
今天給大家介紹一篇 ACL 2021 機器翻譯的文章,這篇文章來自北京大學 KCL 實驗室。KCL(Knowledge Computing Lab,知識計算實驗室)是北大軟件工程國家工程研究中心一支 20 多人的研究團隊,主要研究領域包括:信息抽取、信息檢索、文本生成、程序語言理解等。
?作者?|?張通
單位 |?北京大學KCL實驗室
研究方向?|?自然語言處理
論文標題:
Point, Disambiguate and Copy: Incorporating Bilingual Dictionaries for Neural Machine Translation
論文鏈接:
https://aclanthology.org/2021.acl-long.307.pdf
引言
機器翻譯任務中,語料通常包含大量的低頻詞和多義詞,神經機器翻譯模型通常難以精準捕捉這些詞的語義信息,模型在翻譯含有這些詞的句子時效果可能大幅下降。如何在獲取這些詞精準且豐富的語義信息是神經機器翻譯的一大難題。雙語詞典包含了豐富的先驗知識,對于每個詞標注了其一個或多個對應的翻譯詞。
這些知識可以幫助我們更好的理解源端句子,進而提高翻譯的質量。在人進行翻譯的時候,雙語詞典是重要的參考資料。對于不能確定意思的低頻詞或者多義詞,翻譯者可以通過查詢雙語詞典的方式獲取其合適的翻譯,該翻譯通常可以加深翻譯者對這些詞語義的理解,之后,譯者可以將查詢到的翻譯詞引入譯文之中。
對于神經機器翻譯模型,雙語詞典同樣是重要的知識來源。雙語詞典根據其詞對應關系通常可分為兩種,一對一的雙語詞典和一對多的雙語詞典。一對一的雙語詞典對每個源語言詞只包含一個對應的目標語言的翻譯詞。
這類詞典通常更適用于特定領域的實體、術語等翻譯,因為在該場景下,這領域的實體術語等大多不存在歧義現象,同時引入該詞典能顯著提高領域中的機器翻譯質量。然而在現實世界中,一詞多義的現象普遍存在,一個詞很可能對應多個可能的翻譯詞。在一對多的詞典中,每一個源端詞都對應一個或者多個目標端詞,利用一對多的雙語詞典更具通用性。
?
本文旨在通過引入一對多的雙語詞典來增強神經機器翻譯模型性能。為此,在指針網絡的基礎上,我們提出了定位-消歧-拷貝框架,該框架端到端地結合了定位、消歧和拷貝三個關鍵步驟來利用雙語詞典提高機器翻譯。
首先,我們使用定位模塊在每一個解碼時刻選擇當前要翻譯哪一個源端詞;接下來,我們提出 bi-view 消歧模塊來對該源端詞的多個翻譯候選詞進行消歧,選擇語義正確且符合目標句子語境的翻譯詞;最后,我們使用了層次化拷貝機制結合前兩個模塊的概率分布,端到端地將合適的翻譯候選詞拷貝到解碼端。
除此之外,針對拷貝機制和 BPE 難以結合的問題,本文還提出了一個簡單有效的 Selective BPE 策略,在經典 BPE 的基礎上獲得了進一步提升。實驗表明本工作通過引入詞典信息優化源端文本的語義表示,在 Transformer 和其他 baseline 模型的基礎上顯著地提高機器翻譯模型的效果,并能顯著緩解低頻詞問題對神經機器翻譯模型造成的負面影響。
方法
我們提出了新穎的定位-消歧-拷貝(Point–Disambiguate–Copy, PDC)框架,該 PDC 框架規范了引入一對多雙語詞典的機器翻譯的步驟。如下圖所示,該 PDC 框架包含定位、拷貝、消歧三個關鍵步驟。
?
首先,預測一個源句子“這些花紋可以增強輪胎與地面之間的制動摩擦”的翻譯,當在某一個特定的解碼位置,模型第一步需要進行定位找到當前時刻哪一個源端詞需要被翻譯,如在圖中,需要定位到“摩擦”應該被翻譯。
第二步,模型從雙語詞典中查詢該詞在詞典中定義的翻譯詞,如我們可以查詢到摩擦對應的翻譯詞為“rub”、“friction”、“conflict”和“clash”,接下來需要利用上下文對這些翻譯詞進行消歧。需要注意的是,消歧得到的最優翻譯詞需要同時滿足兩個條件,即該詞既要正確反映源句子的語義,又要保持目標句子的流暢性。如圖 2.5 的例子中,根據源句中“花紋”、“輪胎”、“地面”等詞,我們可以判斷“rub”和“friction”是符合源句語義的“摩擦”的翻譯詞,然后根據目標句中“These patterns increase brake”,可以輔助更好的選擇“friction”為最優翻譯候選。
第三步為拷貝,如果判斷當前模型的輸出需要從詞典中拷貝,那么最后將模型選擇的最優候選翻譯拷貝到模型的輸出中。
然而,在先前的基于雙語詞典的工作中,這些步驟分別都面臨一定的瓶頸:
1. 雙語詞典中的語義信息對理解源端詞詞義和拷貝決策都十分重要,尤其是在我們的目標是要拷貝詞典中翻譯詞的情況下。然而在先前的基于雙語詞典的工作中,詞典中豐富的語義信息并沒有被有效利用。通過引入詞典中豐富的語義信息,增強模型對文本的語義表示,模型可以更好的理解源端詞匯并決策是否需要拷貝該詞的翻譯。
2. 在消歧階段,前人的工作大多利用先驗的消歧概率或利用粗粒度的上下文信息,缺失更細粒度的詞典和上下文的語義信息。直覺上,經過消歧選擇的最優翻譯詞需要同時滿足兩個條件,即該詞既要正確反映源句子的語義,又要保持目標句子的流暢性。基于該思路,結合更細粒度的源端語義信息和目標端語義信息可以增強模型消歧質量。
3. 前人工作并沒有顯式地結合定位和消歧模塊來建模端到端的拷貝機制,大多簡單的一對一拷貝或者使用 pipeline 的形式。使用端到端的架構連接定位和消歧模塊可以避免誤差傳播并簡化訓練過程。
為了解決上述問題,我們提出了定位-消歧-拷貝(Point – Disambiguate – Copy, PDC)框架來引入一對多的雙語詞典提高機器翻譯模型。PDC 是獨立于序列到序列的生成模型(如 Transformer)的一個拷貝模塊,其目標是在一個解碼時刻定位當前需要翻譯的源端詞并拷貝其正確的翻譯候選詞。
?
如上圖所示,該模型包括三個模塊:定位器(pointer)、消歧器(disambiguator)和拷貝器(copier),三個模塊通過協作使用端到端的方式來將雙語詞典引入機器翻譯模型。
Pointer 編碼了每個源端詞的詞典翻譯并引入該信息增強源端文本的語義表示,更好地定位那個源端詞的翻譯可能需要被拷貝;Disambiguator 使用了新穎的 Bi-view 消歧機制,從源端和目標端兩個視角對源端詞的多個翻譯候選進行消歧,以保證該翻譯候選對原文的忠實度和在目標文中的流暢度;Copier 使用層次化的拷貝機制結合前面兩個模塊的軟概率分布,計算最終拷貝概率分布。
該拷貝機制系統地連接 Pointer 和 Disambiguator 模塊,構建了端到端的機器翻譯模型;同時,我們設計了一個簡單有效的 Selective BPE 策略來結合基于詞典的拷貝機制和 BPE。下面我們將對該方法進行詳細介紹。
2.1 定位器
模型的第一步需要對哪個源端詞的翻譯可能需要被拷貝進行定位。首先對于每個源端詞 ,我們通過雙語詞典獲得 個翻譯詞 ,我們在這里稱之為翻譯候選詞。為了更好地捕捉候選翻譯的語義,我們使用自注意力對每個詞的多個翻譯候選編碼,接下來使用源端信息對這些候選翻譯詞進行消歧,并將利用該信息增強源端句子的語義表示。最后,基于語義增強的源端句子表示,定位器使用注意力機制來選擇當前哪個源端詞的翻譯可能需要被拷貝。
首先要進行的是對翻譯候選進行編碼。由于翻譯候選詞和目標端詞的語言相同,我們通過共享翻譯候選詞和目標端詞的嵌入矩陣,得到源端詞 的翻譯候選詞對應的向量表示 。接下來,通過一個候選詞編碼器,使用單層的自注意力機制和前饋神經網絡來編碼每個詞的所有候選詞的語義信息。
接下來,我們需要使用該詞典語義表示增強 Transformer 中的表示結果。先前的詞典增強的機器翻譯工作通常直接使用 Transformer 編碼器端狀態表示 h 和解碼器端 t 時刻的解碼狀態 st 來定位哪一個目標詞當前需要被翻譯。
然而,雙語詞典詞典中豐富的語義信息沒有被有效利用。引入詞典中豐富的語義信息可以增強模型對源端句子語義的捕獲能力,并提高定位器的決策水平。為了達到這個目的,PDC 模型首先對這些翻譯候選的表示使用源端編碼器對應的詞語義信息進行第一次消歧:
其中, 代表 的第 j 個翻譯候選所對應的消歧概率。接下來,將這些翻譯候選的表示根據消歧的權重進行表示融合,為每個源端詞的所有翻譯候選詞構建統一的表示。
這樣,對于每個源端詞 ,我們構建了其雙語詞典翻譯詞的語義表示 。接下來,我們使用該詞典表示來增強 Transformer 編碼器的語義表示。具體地,對于編碼器表示 h 和雙語詞典翻譯詞的語義表示 ,使用一層 cross attention 和前饋神經網絡來使兩者表示進行交互。
最后,我們利用注意力機制,使用語義增強的源端句子表示 和當前的解碼器狀態 st 來計算拷貝器的輸出概率。
其中, 為定位器選擇要使用源端詞 的翻譯候選的概率。根據該概率,我們可以融合語義增強的源端句子表示 和當前的解碼器狀態 st 的信息,得到語義增強的目標端表示。
該語義增強的目標端表示 將用于之后的消歧器中。
2.2 消歧器
接下來,PDC 模型使用消歧器來對每個源端詞的多個翻譯候選進行精準的消歧。在翻譯一個詞的時候,模型有全部的源端句子信息和已翻譯出的部分目標端譯文句子信息。消歧器選擇的最優翻譯候選應該滿足兩個條件,即該詞既要正確反應源句子的語義,又要保持目標句子的流暢性。
因此,我們提出了 Bi-view 消歧機制,從源端視角和目標端視角分別對每個源端詞的多個翻譯候選進行詞義消歧。同時,目標端的表示融合了源端,目標端和詞典端全部的語義信息,以提高消歧的準確率。
源端視角的消歧(source-view disambiguation)使用源端句子本身的信息來消歧,與普通的詞義消歧任務一致。由于 Source-view 的消歧分布已經在定位器中被用來計算翻譯候選融合的語義表示,其消歧分布 計算方式已經在公式 2.3 介紹。這個消歧分布于解碼狀態無關,在翻譯一個句子時,源端的消歧概率只由其源端句子決定。
源端的消歧無法保證選擇的翻譯候選在目標端句子中的流暢性。因此,我們在源端消歧的基礎上,利用語義增強的目標端表示 來進行目標端的消歧(target-view disambiguation)。
其中, 代表源端詞 的第 j 個翻譯詞 對應的目標端消歧概率。相對于與解碼狀態無關的源端消歧概率,目標端消歧概率分布是動態的,在每個解碼時刻會隨解碼器狀態而改變。
2.3 拷貝器
最終,我們使用了一個層次化的拷貝器整合定位和 bi-view 消歧模塊的輸出分布。這樣,模型的三個主要模塊可以端到端的進行訓練,避免了誤差傳播并簡化訓練過程。
對于 Bi-view 模塊的輸出概率分布,Copy 模塊使用權重 將兩個視角的消歧分布進行插值,并與定位的概率相乘的到對于每個源端詞的每個翻譯候選的拷貝概率。
其中, 代表拷貝源端詞 的第 j 個翻譯詞的 bi-view 消歧概率,由定位器定位 的概率和 bi-view 消歧器選擇 的概率相乘計算獲得。
接下來,我們將此拷貝概率映射到詞表的概率分布:
其中,c 代表輸入句子 x 中每個詞所對應的翻譯候選集合。
模型的最終輸出概率分布 由 PDC 輸出的拷貝概率分布 和生成模型 Transformer 輸出的生成概率分布 進行插值計算得到:
其中, 是一個動態的拷貝權重,用來平衡拷貝概率和生成概率的權重。該權重與解碼狀態相關,不同的解碼時刻之間該權重是動態變化的。具體地, 由語義增強的目標端狀態 計算得到。
2.4 Selective BPE
機器翻譯工作中通常使用 BPE 切分低頻詞和未登錄詞為更小粒度的字詞,以降低長尾詞的影響。然而,在引入雙語詞典和拷貝機制時,BPE 與其有天然的沖突,即詞典中的詞需要經過 BPE,否則會跟目標端和源端的詞不匹配。而詞典中的要拷貝的詞大多都是低頻詞,如果對詞典中的候選詞也進行 BPE,那么這些候選詞會被切分為子詞,然后模型需要對這些子詞的表示進行融合作為該翻譯候選的語義表示,并順序地拷貝一個翻譯候選的所有子詞,這會使翻譯的過程復雜化。
例如,“人類學”在詞典中的一個翻譯為“Anthropology”,經過 BPE 預處理,該詞被分解為“An@@”、“th@@”、“ro@@”、“po@@”和“logy”五個字詞。在定位和消歧模塊,模型需要對這些子詞的表示進行融合,生成“Anthropology”的統一表示來增強源端文本的表示;同時,在輸出時,拷貝機制需要順序地分別拷貝 5 個子詞,復雜了輸出過程并加大了錯誤的概率。
本文提出了 Selective BPE,一個簡單而又有效的策略來解決上述 BPE 和拷貝機制的沖突問題。在訓練時,BPE 并不會作用于詞典,源端文本使用普通 BPE 來做處理,對于目標端文本,Selective BPE 不會作用于可以從該句話對應的翻譯候選中拷貝的目標詞,而只會作用于無法被拷貝的目標詞。該方法的形式化描述如下。
其中, 為 Selective BPE 的指示符。 代表該詞無法從詞典中拷貝,可以使用 BPE 進行分割; 代表該詞可以從詞典中拷貝,需要保持原狀。需要注意的是,Selective BPE 只需要在訓練時上使用,因為測試和驗證集不需要 reference。
通過引入 Selective BPE 策略,模型可以更方便的從詞典端拷貝單詞,同時基本保留了 BPE 解決 OOV 詞的優勢。Selective BPE 可以提供一種隱式的信息,讓模型在翻譯可以拷貝的低頻詞時,更趨向于直接拷貝它而不是通過生成其子詞合成該詞。
實驗及結果分析
我們主要在中-英翻譯任務上進行了實驗。主實驗數據集使用 LDC 新聞數據集,其包含大概 125 萬個雙語新聞句子對。我們使用 NIST 數據集作為我們的驗證集和測試集。具體地,使用 NIST 2006(MT 06)作為驗證集,NIST 2002、NIST 2003、NIST 2004、NIST 2005 和 NIST 2008 作為測試集。
實驗結果如下表所示。在 NIST 實驗中,我們的方法可以顯著地在 Transformer、Single-Copy 和 Flat-Copy 的基礎上獲得提高,在 5 個數據集上分別平均提高 2.59BLEU、1.66 BLEU 和 2.20 BLEU。這個提高主要是由于我們使用雙語詞典信息增強語義表示的定位器和兩角度的消歧器,并使用有效的層次拷貝機制將兩者結合在一起。
PDC(w/o Dict Pointer)是 PDC 模型的一個變種,它去掉了翻譯候選編碼器,僅僅在原本的 Transformer 編碼器表示上使用解碼器狀態進行定位。實驗結果表明,在去掉基于詞典信息的語義增強之后,PDC 模型的效果會大幅下降,降低 0.96 BLEU。這證明了使用源端詞在雙語詞典中的翻譯候選中蘊含的豐富語義信息,可以增強源端文本的表示從而增強定位器的效果。
▲ NIST 中-英翻譯任務實驗表
為了驗證我們雙角度消歧模塊的有效性,我們實現了兩個 PDC 模型的變種。PDC(w/o Src-View)代表去掉源端角度消歧的 PDC 模型,PDC(w/o Tgt-View)代表去掉目標端角度消歧的 PDC 模型,兩者的實驗結果如表 2.1 所示。結果表明,無論去掉源端或者目標端的消歧,結果都會有明顯的下降,其中去掉源端消歧在 5 個測試集上平均下降 0.78 BLEU,去掉目標端消歧在5個測試集上平均下降 0.68 BLEU。
為了進一步探究源端消歧和目標端消歧兩個角度的消歧的結合方法,我們展示了了超參數的變化對測試集效果的影響,代表源端消歧和目標端消歧進行線性插值結合時源端消歧概率分布所占的權重。如下圖所示,單獨使用 source-view 的消歧和 target-view 的消歧都無法達到最優效果。源端文本和目標端文本的語義信息在一定程度上是互補的,并都對消歧決策都十分關鍵。
▲ 超參數 對NIST中英翻譯任務影響效果曲線圖
?
我們對提出的 Selective BPE 策略進行實驗,結果如下表所示。傳統的 BPE 策略會提高機器翻譯質量,我們的 Selective BPE 策略可以在傳統的 BPE 基礎上進一步大幅提高機器翻譯模型的效果,提高幅度有 1.36 BLEU。我們認為該優越性主要歸功于 Selective BPE 避免了傳統 BPE 和基于字典的拷貝機制之間的沖突,使兩者有效結合共同提高機器翻譯模型的效果。
▲ 不同BPE策略實驗結果表
基于詞典的機器翻譯方法通常以解決機器翻譯中的長尾詞問題為目的,因此我們進行了一個量化實驗來探究 PDC 模型如何解決長尾詞問題。我們將 NIST 驗證集按照長尾詞的占比進行了切分并進行實驗,結果如下圖所示。紅色曲線代表PDC模型的效果,綠色的曲線代表 Transformer 模型的效果。實驗結果表明,在不同長尾詞占比的測試子集上,本文提出的 PDC 模型都可以一致地取得高于 Transformer 模型的結果;同時,隨著長尾詞的占比增加,我們模型相比 transformer 模型的提高越來越大。這證明通過引入一對多的雙語詞典,PDC 模型可以很好地緩解機器翻譯中的長尾詞問題。
▲ PDC模型在不同長尾詞占比的測試集上的效果圖
更多的實驗結果與分析請參考原論文。
?
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
?????稿件基本要求:
? 文章確系個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發送,要求圖片清晰,無版權問題
? PaperWeekly 尊重原作者署名權,并將為每篇被采納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
?????投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請備注即時聯系方式(微信),以便我們在稿件選用的第一時間聯系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長按添加PaperWeekly小編
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
·
總結
以上是生活随笔為你收集整理的ACL 2021 | 北京大学KCL实验室:如何利用双语词典增强机器翻译?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人保星期六星期天上班吗
- 下一篇: 2022年农村什么生意好做 考虑这些未