ACL論文 | 深度學習大神新作,神經網絡的自然語言翻譯應用

2021-01-09 雷鋒網

在 8月7日在德國柏林召開的2016 計算語言學(ACL)大會上,學者Thang Luong、Kyunghyun Cho 和 Christopher D. Manning進行了關於神經機器翻譯(NMT)的講座。神經機器翻譯是一種簡單的新架構,可以讓機器學會翻譯。該方法雖然相對較新,已經顯示出了非常好的效果,在各種語言對上都實現了最頂尖的表現。神經網絡在自然語言處理方面,未來有巨大的應用潛力。

講座學者之一 Kyunghyn Cho 與深度學習「大神」 Yoshua Bengio、蒙特婁大學學者 Junyoung Chung 在 ACL 大會上發表了論文,進一步展現神經機器翻譯的研究結果。在此,雷鋒網(公眾號:雷鋒網)為大家分享名為《針對神經機器翻譯,無需顯性分割的字符等級解碼器》論文全文。

概況

現有的機器翻譯系統,無論是基於詞組的還是神經的,幾乎全部都依靠使用顯性分割的、詞語等級的建模。在這篇論文中,我們提出一個基本問題:神經機器翻譯能否在生成字符序列時,不使用任何顯性分割?要回答這一問題,我們分析一個基於注意的編碼器解碼器,在四個語言對——En-Cs、En-De、En-Ru 和 En-Fi——中,帶有子字等級的編碼器,以及一個字符等級的解碼器,使用 WMT』 15 的平行語料庫。我們的實驗證明,帶有字符等級解碼器的模型在所有四個語言對上,表現都優於帶有子字等級解碼器的模型。並且,帶有字符等級解碼器的神經模型組合在 En-Cs、En-De 和 En-Fi 上優於最先進的非神經機器翻譯系統,在 En-Ru 上表現相當。

1、簡介

現有的機器翻譯系統幾乎全部都依靠使用顯性分割的、詞語等級的建模。這主要是因為數據稀疏性的問題,這當句子表徵為一系列字符而非詞語時這個問題更為嚴重,尤其是針對 n-gram,由於序列的長度大大增加了。除了數據稀疏性之外,我們經常先入為主地相信詞語——或其分割出的詞位——是語義最基本的單位,使我們很自然地認為翻譯就是將一系列的源語言詞語匹配為一系列的目標語言詞語。

在最近提出的神經機器翻譯範示中,這種觀點也延續了下來,雖然神經網絡不受到字符等級建模的拖累,但是會被詞語等級建模所特有的問題影響,例如目標語言的詞彙量非常大,會造成增加的計算複雜性。因此,這篇論文中,我們研究神經機器翻譯是否能夠直接在一系列字符上進行,無需顯性的詞語分割。

為了回答這一問題,我們專注在將目標方表徵為一個字符序列。我們用字符等級的解碼器在 WMT』 15 的四個語言對上評估神經機器翻譯模型,讓我們的評估具有很強的說服力。我們將源語言一方表徵為一個子字序列,使用從 Sennrich 等人(2015) 中編碼的字節對將其抽取而出,並將目標方改變為一個子字或者字符序列。在目標方,我們進一步設計了一個新的循環神經網絡(RNN),稱為雙度量循環神經網絡,能更好地處理序列中的多個時標,並額外在一個新的、堆積的循環神經網絡中測試。

在所有四個語言對中——En-Cs、En-De、En-Ru 和 En-Fi——帶有字符等級解碼器的模型比帶有子字等級解碼器的模型更好。我們在每一個這些配置的組合中都觀察到了類似的趨勢,在 En-Cs、En-De 和 En-Fi 中超過了之前最好的神經和非神經翻譯系統,而在 En-Ru 上實現了相同的結果。我們發現這些結果強有力地證明了,神經機器翻譯真的可以學會在字符等級翻譯,並且其實可以從中獲益。

2、神經機器翻譯

神經機器翻譯指的是一個最近提出的機器翻譯方法(Forcada 和 Neco, 1997;Kalchbrenner 和 Blunsom, 2013;Cho 等人, 2014;Sutskever 等人, 2014)。這種方法的目標是打造一個端到端的神經網絡,將輸入作為源句子 X = (x1, … , xTx),並輸出其翻譯 Y = (y1, … , yTy),其中 xt 和 yt』 分別是源標誌和目標標誌。這個神經網絡的打造方式是作為一個編碼網絡和解碼網絡。

編碼網絡將輸入句子 X 編碼為其連續的表徵。在這篇論文中,我們緊密遵循 Bahdanau 等人(2015) 提出的神經翻譯模型,使用一個雙向循環神經網絡,其中包含兩個循環神經網絡。前饋網絡將輸入句子在前饋方向讀作:

其中 ex (xt) 是對第 t 個輸入象徵的連續嵌入,是一個循環激活函數。相同地,反向網絡將句子以反方向(從右到左)讀入:

在輸入句子的每一個位置,我們將前饋和反向 RNN 中的隱藏狀態連接起來,形成一個情景組 C = { z1, …, zTx},其中 

然後,解碼器基於這個情景組,計算出所有可能翻譯的條件分布。首先,重寫一個翻譯的條件分布:

在總和的每一個條件中,解碼器 RNN 通過以下方程(1)更新其隱藏狀態:

h’t = φ (ey (yt』 - 1), ht』-1, ct』),    (1)

其中 ey 是一個目標象徵的連續嵌入。ct』 是一個情景矢量,由以下的軟堆砌機制計算而出:

ct』 = falign ( ey (yt』-1), ht』-1, C) )。 (2)

這個軟對齊機制 falign 在情景 C 中基於已經翻譯的內容,根據相關性權衡每一個矢量。每一個矢量 zt 的權重是由以下的方程(3)計算而出:

其中 fscore 是一個參數函數,對於 ht』-1 和 yt』-1 返回一個非標準化的得分。

這篇論文中,我們使用一個帶有單一隱藏層的前饋網絡。 Z 是一個標準化的常數:

這個過程可以被理解為是在第 t』 個目標符號和第 t 個源符號之間計算對齊概率。

在隱藏狀態 ht』 與之前的目標符號 yt』-1 和情景矢量 ct』 一起,輸入一個前饋神經網絡,帶來以下的條件分布:

整個模型,由編碼器、加碼起和軟對齊機制構成,然後經過端到端的調試,使用隨機梯度下降將負面對數似然函數最小化。

3、向著字符等級翻譯

3.1 動機

讓我們回顧源句子和目標句子( X 和 Y ) 在神經機器翻譯中是如何表徵的。對於任何訓練體中的源一方,我們可以掃描整體,來打造一個詞彙 Vx , 包含分配了整數標記的令牌。然後,源句子 X 作為一系列屬於該句子的類似令牌的標記,即 X = (x1, …, xTx) ,其中 xt ∈ { 1, 2, …, | Vx |}。與此類似地,目標句子轉化為一個整數標記的目標序列。

然後,每一個令牌或其指數轉化為 |Vx|所謂的 one-hot 矢量。除了一個以外,矢量中所有的元素都設置為 0。唯一一個指數對應令牌指數的元素設置為 1。這個 one-hot 矢量就是任何神經機器翻譯模型所看見的。嵌入函數 ex 或 ey,就是在這個 one-hot 矢量上應用一個線性轉化(嵌入矩陣)的結果。 

這種基於 one-hot 矢量的方法的重要特點是,神經網絡忽視指令的底層語義。對於神經網絡來說,詞彙中的每一個指令,等同於與其他每個指令間的距離。那些指令的語義就是習得的(進入嵌入中),來最大化翻譯質量,或者模型的對數似然函數。

這項特性讓我們在選擇指令的單位時獲得了很大的自由度。神經網絡已經被證實與詞語指令配合良好 (Bengio 等人, 2001; Schwenk, 2007; Mikolov 等人, 2010),還與更細微的單元也配合良好,例如子字(Sennrich 等人, 2015; Botha 和 Blunson, 2014; Luong 等人, 2013) 和壓縮或編碼造成的符號(Chitnis 和 DeNero, 2015)。雖然已經有一系列先前的研究報告稱使用了帶有字符的神經網絡(例如 Mikolov 等人 (2012) 和 Santos 和 Zadrozny (2014)的研究),主流的方法一直是將文字預先處理為一系列符號,每個與一個字符系列相關聯,之後神經網絡就用那些符號、而非字符來表徵。

最近在神經機器翻譯中,兩組研究團隊已經提出過直接使用字符。Kim 等人(2015)提出不像以前一樣以單一整數指令來代表每一個詞,而是作為一個字符序列,並使用一個卷積網絡,隨後用一個高速神經網絡(Srivastava 等人, 2015)來抽取詞語的連續表徵。這種方法有效替換了嵌入函數 ex,被 Costa-Jussa 和 Fonollosa(2016)在神經機器翻譯中採用。類似地,Ling 等人 (2015b) 使用了一個雙向循環神經網絡來代替嵌入函數 ex 和 ey,來分別從相應的連續詞語表徵中編碼一個字符序列,並且編碼進這個連續表徵中去。Lee 等人(2015) 提出了一個類似、但是略有不同的方法,他們用字符在詞語中的相對位置來顯性地標記每一個字符,例如,英文單詞中的 「B」eginning 和 「I」ntermediate。

雖然這些最近的方法是研究字符層面,但還是不如人意,因為它們都依賴於了解如何將字符分割為詞語。雖然總體上這在英語等語言中還是相對簡單的,這並不總是可行的。這種詞語分割過程可以非常簡單,就像帶有標點符號常規化的指令化,不過,也可能非常複雜,就像詞素分割,需要預先訓練一個單獨的模型(Creutz 和 Lagus, 2005; Huang 和 Zhao,2007;)。而且,這些分割步驟經常是經過微調的,或者與最終的翻譯質量目標分開設計,潛在來說可能造成非最優的質量。

基於這項觀察和分析,這篇論文中,我們向自己和讀者提出一個早該提出的問題:有沒有可能,不使用任何顯性的分割,就進行字符等級的翻譯?

3.2 為什麼要使用詞語等級的翻譯?

(1)詞語作為語義的基本單位

詞語可以被理解為兩種意思。抽象意義來說,一個詞語是語義(詞素)的基本單位,在另一種意義來說,可以理解為「在句子中使用的具體詞語」(Booij,2012)。在第一種意義中,一個詞語通過詞語形態學的過程——包括變音、組合和衍生——轉化進入第二種意義。這三種過程的確改變詞素的含義,但是經常與原意保持相近。因為這種語言學中的觀點認為詞語是語義的基本單位(作為詞素或者衍生形式),自然語言處理中的很多先前研究都將詞語作為基本單位,將句子編碼為詞語的序列。另外,匹配詞語的字符序列和語義的潛在困難,也可能推動了這種詞語等級建模的潮流。

(2)數據稀疏性

還有另一個技術原因,使得很多之前對於翻譯匹配的研究都將詞語作為基本單位。這主要是因為現有翻譯系統中的主要組成部分——例如語言模型和詞組表——都是基於字數的概率模擬。換句話說,標誌子序列的概率(或者)一對標誌,估計的方法是數出它在訓練體出現了幾次。這種方法嚴重地受到數據稀疏性問題的影響,這是因為一個很大的狀態空間,子序列會出現指數級別的增長,而在訓練體的體積方面只會線性增長。這對字符等級的建模帶來了很大挑戰,由於當使用字符(而非詞語)時,任何子序列都會變長平均 4-5 倍。的確,Vilar 等人(2007)的報告提出,當基於詞組的機器翻譯系統直接使用字符序列時,表現變得更差。更加近期的,Neubig 等人(2013) 提出了一種方法,用基於詞組的翻譯系統來提升字符等級的翻譯,不過成效有限。

(3)消失的梯度

具體到神經機器翻譯,之所以詞語等級的建模得到廣泛採用,有一個主要原因是對循環神經網絡的長期依存性的建模難度(Bengio 等人, 1994; Hochreiter, 1998)。當句子作為字符表徵時,由於雙方句子長度增長,我們很容易相信未來會有更多的長期依存性,循環神經網絡一定會在成功翻譯中使用。

3.3 為什麼要使用字符等級的翻譯?

為什麼不使用詞語等級的翻譯?

詞語等級的處理中最緊迫的問題是,我們沒有一個針對任何語言的、完美的詞語分割算法。一個完美的詞語分割算法需要能將任何已知的句子分割為一系列的詞素和詞位。然而,這個問題本身是一個嚴重的問題,經常需要幾十年的研究(關於芬蘭語和其他詞素豐富的語言,參見例如 Creutz 和 Lagus (2005)的研究,關於中文,參見 Huang 和 Zhao (2007)的研究)。因此,許多人選擇使用基於規則的指令化方法,或者非最優的、不過仍可行的、基於學習的分割算法。

這種非最優分割的結果是,詞彙中經常充滿許多詞義相近的詞語,分享同一個詞位但是形態不同。例如,如果我們將一個簡單的指令話腳本應用於英文,「run」、「runs」、「ran」 和 「running」(英文「跑步」的一般式、第三人稱單數形式、過去式和現在進行式)都是詞彙中單獨的條目,儘管它們顯然是共享一個相同的詞位 「run」。這使得任何機器翻譯——尤其是神經機器翻譯——都沒法正確高效地為這些詞形變化的詞語建模。

具體到神經機器翻譯的情況下來說,每一個詞形變體——「run」、「runs」、「ran」 和 「running」——將會分配一個 d 維詞語矢量,產生四個獨立矢量,雖然如果我們能將那些變體分割為一個詞位和其他詞素,顯然我們就能更加高效地將其建模。舉個例子,針對詞位 「run」 我們可以有一個 d 維矢量,針對 「s」 和 「ing」 可以有一些更小的矢量。這些變體的每一個之後都會變成詞位矢量(由這些變體共享)和語素矢量(由帶有相同後綴或其它結構的詞語共享)(Botha 和 Blunsom,2014)。這利用了分布表徵,在總體上帶來更好的抽象化,但好像需要一種最優分割,可惜這總是無法獲得。

除了建模中的低效,使用(未分割的)詞語還有兩個額外的負面結果。首先,翻譯系統不能很好地在新詞上進行抽象化,經常匹配到一個預留給未知詞語的指令上。這實際在翻譯中忽略了任何詞語的需要融合進來的語義或者結構。第二,即便是一個詞位很普遍,經常在訓練體裡觀察到,其詞形變體可能不一定。這意味著模型更少地見到這種特定的、罕見的詞形變體,而且將不能好好翻譯。然而,如果這種罕見的變體與其它更常見的詞語共享很大的一部分拼寫,我們就希望機器翻譯系統在翻譯罕見變體時能利用那些常見詞語。

為什麼使用字符等級的翻譯

從某種程度上,所有這些問題都可以通過直接建模字符來解決。雖然數據稀疏性的問題在字符等級的翻譯中出現,通過使用一個基於循環神經網絡的參數方法(而非一個基於字數的非參數方法)就可以優雅地解決。而且,最近幾年,我們已經了解如何打造和訓練循環神經網絡,來通過使用更複雜的激活函數,例如長短期記憶(LSTM)單元(Hochreiter 和 Schmidhuber,1997)和門限循環單元(Cho 等人, 2014),來良好抓取長期依存性。

Kim 等人(2015)和 Ling 等人(2015a)最近證明了,通過一個神經網絡來將字符序列轉化為詞語矢量,我們可以避免很多詞形變量作為詞彙中的單獨實體出現。這之所以成為可能,是通過在所有獨特指令之間分享「字符到詞語」神經網絡。一個類似的方法由 Ling 等人(2015b)應用在機器翻譯中。

然而,這些最近的方法仍依賴獲得一個好的(如果不是最優的)分割算法。Ling 等人(2015b) 的確說:「很多關於詞形學、同源詞和罕見詞翻譯等等等先前信息應該被融合進來。」

然而,如果我們直接在未分割的字符序列上使用一個神經網絡——無論是循環的、卷積的或者它們的組合——就沒有必要考慮這些先前信息了。使用未分割字符序列的可能性已經在深度學習領域中研究了很多年。例如,Mikolov 等人(2012)和 Sutskever 等人2011)在字符序列上訓練了一個循環神經網絡語言模型(RNN-LM)。後者證明了,只通過從這個模型中一次取樣一個字符就可以生成合理的文本序列。最近,Zhang 等人(2015) 及 Xiao 和 Cho (2016)成功地對字符等級文檔分別應用了一個卷積網絡和一個卷積-循環網絡,並且未使用任何顯性分割。Gillick 等人 (2015) 進一步證明了可以在 unicode 字節(而非在字符或詞語上)訓練一個循環神經網絡,來進行部分語音自動標註以及命名實體識別。

這些早先研究讓我們看到了在機器翻譯任務中應用神經網絡的可能性,這經常被認為比文件分類和語言建模更加困難。

3.4 挑戰與問題

針對源語言方和目標語言方,有兩組相互重疊的挑戰。在源語言方,我們還未知如何打造一個神經網絡來學習拼寫和句子語義之間的高度非線性匹配。

在目標語言方有兩項挑戰。第一項挑戰是和源語言方相同,因為解碼器神經網絡需要總結翻譯的內容。此外,目標語言方的字符等級建模更加具有挑戰性,因為解碼器網絡必須得能生成長的、連貫的字符序列。這是一個大挑戰,因為狀態空間的大小會由於符號的數量而指數增長,而在字符的情況下,經常有300-1000個符號那麼長。

所有這些挑戰首先都應該描述為問題;目前的循環神經網絡——在神經機器翻譯中已經廣泛使用——能否解決這些問題。這篇論文中,我們的目標是實證性地回答這些問題,併集中考慮目標方的挑戰(由於目標方兩項挑戰都會顯示)。

圖1: 雙度量循環神經網絡。

4、字符等級翻譯

這篇論文中,我們試圖通過在目標方(解碼器)測試兩種不同類型的循環神經網絡,回答早前提出的問題。

首先,我們用門限循環單元(GRU)測試一個現有的循環神經網絡。我們將這個解碼器稱為基準解碼器。

第二步,我們在 Chung 等人(2015)的門限反饋網絡的啟發之下,打造一個新的雙層循環神經網絡,稱為「雙度量」循環神經網絡。我們設計這個網絡來輔助抓取兩種時間量程,初衷是由於字符和詞語可能在兩個分開的時間量程上運行。

我們選擇測試這兩種選項是為了以下這兩種目的。使用基準解碼器的實驗會明確地回答這一問題:現有神經網絡是否能夠處理字符等級的解碼。這一問題在機器翻譯的領域內還沒有良好解答過。另一個選項——雙度量解碼器——也經過測試,為了了解如果第一個問題的答案是肯定的,那麼有沒有可能設計一個更好的解碼器。

4.1 雙度量循環神經網絡

在這個提出的雙度量循環神經網絡中有兩組隱藏單元,h1 和 h2。它們包含同樣數量的單元,即: dim (h1) = dim (h2)。第一組 h1 使用一個快速變化的時間度量(因而是一個更快的層),h2 使用更慢的時間度量(因而是一個更慢的層)。針對每一個隱藏單元,都有一個相關的門限單元,我們分別稱為 g1 和 g2。接下來的描述中,我們為之前的目標符號和情景矢量分別使用 yt』-1 和 ct』 (見方程(2))。

讓我們先從更快的層開始。更快的層輸出兩組激活,一個標準輸出及其門限版本

快速層的激活是由以下方程計算而出:

其中 分別是快速層和慢速層的門限激活。這些門限激活由以下方程計算而出:

換句話說,快速層的激活是基於之前時間步中,快速層和慢速層的適應性結合。當快速層任務需要重啟,即 

下一個激活將更多地由慢速層的激活而決定。

快速層的門限單元由以下方程計算而出:

其中 σ 是一個 sigmoid 函數。

慢速層還輸出兩組激活,一個常規輸出及其門限版本

這些激活是由以下方程計算而出:

其中是一個候選激活。慢速層的門限單元是由以下方程計算而出:

這項適應性融合是基於從快速層而來的門限單元,其結果是,慢速層只有當快速層重啟時才更新其激活。這設置了一種軟限制,通過防止慢速層在快速層處理一個當前部分時進行更新,使得快速層運行速率更快。

然後,候選激活由以下方程計算而出:

圖2:(左)關於源句子長度在 En-Cs 上的 BLEU 分。(右)子字等級解碼器和字符等級基準或雙度量解碼器之間的詞語負面對數概率差異。

意味著之前時間步的重啟,與在快速層中發生的相似,是情景中而來的輸入。

根據方程(5)中的 ,只有當快速層已經完成處理目前部分、將要開始重啟的時候,快速層才會影響到慢速層。換句話說,慢速層不會從快速層收到任何輸入,直到快速層已經完成處理目前部分,因而比快速層的運行速率更慢。

在每一個時間步,所提出的雙度量循環神經網絡的最終輸出,是快速層和慢速層輸出矢量的結合,即:[h1; h2]。這個結合矢量用來計算所有符號在詞彙中的分布概率,正如方程(4)。詳見圖1。

5、實驗設定

為了評估,我們將一個源句子表徵為一系列子字符號序列,用字節對編碼(BPE,Sennrich 等(2015))抽取而來,並將目標句子編碼為一系列基於 BPE 的符號序列或者一個字符序列。

主體和預處理

我們使用 WMT』 15 的四個語言對——En-Cs、En-De、En-Ru 和 En-Fi——中所有可用的平行主體。它們分別由 12.1 M、4.5 M、2.3 M 和 2 M 句子對構成。我們我們將每一個主體指令化,使用一個包含在 Moses 中的指令化腳本。當源語言方長達 50 個子字,並且目標方長達 100 個子字標識或者 500 個字符時,我們只使用句子對。我們不使用任何單一語言主體。

表格1: 單一模型及組合的子字等級、字符等級技術和字符等級雙量級解碼器的 BLEU 分。每一個語言對的單一模型的最佳分數以黑體標記,而組合中的最佳分數以下劃線標記。當可獲得時,我們返回平均值、最高值和最低值,分別作為下標文字和上標文字。

針對除 En-Fi 之外的所有對,我們使用 newstest-2013 作為發展測試,並使用 newstests-2014 (Test 1) 和 newstests-2015 (Test 2) 作為測試組。針對 En-Fi, 我們使用 newsdev-2015 和 newstest-2015 分別作為發展組和測試組。

模型和訓練

我們測試三個模型設定:(1)BPE → BPE,(2)BPE → Char (基準)和(3)BPE → Char (雙度量)。後兩項的不同點是我們使用的循環神經網絡類型不同。我們在所有設定中都使用了 GRU 作為編碼器。我們在前兩個設定(1)和(2)中使用 GRU 作為解碼器,而在最後一個設定(3)中使用了提出的雙度量循環網絡。針對每一個方向(前饋和反向),編碼器具有 512 個隱藏單元,解碼器有 1024 個隱藏單元。

我們使用帶有 Adam 的隨機梯度下降來訓練每一個模型(Kingma 和 Ba,2014)。每一個更新都是使用由 128 個句子對組成的迷你批次來計算。梯度的常規是使用閾值 1 來剪切(Pascanu 等,2013)。

解碼和評估

我們使用集束搜索來近似尋找特定源句子的最可能的翻譯。集束寬對子字等級和字符等級解碼器分別是 5 和 15。選擇它們是基於發展組的翻譯質量。翻譯使用 BLEU 進行評估。

多層解碼器和軟對齊機制

當解碼器是一個多層循環神經網絡(包括一個堆積網絡,以及提出的雙度量網絡),針對 L 層,解碼器一次輸出多個隱藏矢量 {h1, …,hL}。這使得軟對齊機制(方程(3)中的 fscore)中可以有一個額外的自由度。我們使用其它選項來進行評估,包括(1)只使用 hL (慢速層)和(2)使用所有(結合)。

組合

我們還評估了神經機器翻譯模型的組合,在所有四組語言對上,將其與最先進的基於詞組翻譯系統進行比較。我們取每一步輸出概率大平均值,從而從某一個組合中解碼。

圖3:使用 BPE → Char (雙度量)模型,En-De 中測試例子的對齊矩陣。

6、定量分析

用於對齊的慢速層

在 En-De 上,我們測試應該使用哪一層解碼器來計算軟對齊。在子字等級解碼器的情況下,我們沒有觀察到選擇解碼器的兩層與使用所有層的結合(表格1(a-b))有什麼不同。另一方面,有了字符等級的解碼器,我們注意到,當針對軟對齊機制(表格1(c-g))只使用慢速層(h2)的時候,表現會有提升。這意味著,在目標中將更大的部分與源一方的子字單元對齊,會給軟對齊機制帶來益處,我們對所有其它語言對都只使用慢速層。

單一模型

在表格1中,我們呈現了一個關於所有語言對的翻譯質量的綜合報告,包括了(1)子字等級解碼器、(2)字符等級基準解碼器和(3)字符等級雙度量解碼器。我們可以看見,針對 En-Cs 和 En-Fi,兩種字符等級解碼器都比較明顯地優於子字等級解碼器。在 En-De 上,字符等級基準解碼器比子字等級解碼器和字符等級雙度量解碼器都更好,證實了字符等級建模的有效性。在 En-Ru 上,在單一模型中,字符等級解碼器優於子字等級解碼器,但是,我們觀察到所有三種選項之間就總體來說都比較均等。

這些結果顯然驗證了這一點:不使用顯性的分割而進行字符等級的翻譯,的確是有可能的。實際上,我們觀察到字符等級的翻譯質量經常超過詞語等級的翻譯。當然,我們又一次提到我們的實驗有限制,解碼器只使用未分割字符序列,未來還需要研究用一個未分割的字符序列來代替源句子。

組合

每一個組合都是使用8個獨立模型打造的。我們得出的第一個觀察結論是,在所有的語言對中,神經機器翻譯與最先進的非神經翻譯系統表現相當,或者經常更好。而且,字符等級的解碼器在所有情況中都優於子字等級的解碼器。

7 定性分析

(1)字符等級的解碼器能否生成長的、連貫的句子?

字符翻譯比詞語翻譯要長得多,可能使得循環神經網絡以字符生成連貫句子變得更難。這種想法證明是錯誤的。就像在圖2(左)中,子字等級和字符等級的解碼器之間沒有什麼明顯不同,雖然生成翻譯的長度總體來說在字符裡會長5-10倍。

(2)字符等級的解碼器對罕見詞語有幫助嗎?

基於字符建模的其中的一個好處是,可以將任何字符序列建模,因此能更好地對罕見的詞形變體進行建模。我們實證性地證實了這一點,通過觀察子字等級和字符等級解碼器的平均負對數概率,隨著詞語頻率下降,兩者之間的差距也越來越大。這展示在圖2(右),解釋了我們實驗中字符等級解碼成功背後的一個原因(我們定義 diff (x, y) = x - y)。

(3)字符等級解碼器能否在原詞語和目標字符之間軟對齊?

在圖3(左)中,我們展示了一個源句子軟對齊的例子,「Two sets of light so close to one another」 (兩組互相非常接近的燈光)。很明顯,字符等級的翻譯模型良好抓取了源子字和目標字符之間的對齊。我們觀察到,字符等級解碼器在生成一個德語複合詞「Lichtersets」(燈的組合)時,正確對齊到了「lights」(燈)和「sets of」(組合)(放大版本詳見圖3(右))。這種行為在英語單詞「one another」和德語單詞「einaner」 (編者註:都是「互相」的意思)也類似地出現了,這不意味著在原詞語和目標字符之間存在對齊。相反,這意味著字符等級解碼器的內在狀態——基準或者雙度量——良好抓取了字符有意義的部分,讓模型可以將其匹配到源句子中更大的部分(子字)中去。

(4)字符等級解碼器的解碼速度有多快?

我們在 newstest - 2013 主體(En-De) 上,用一個單一的 Titan X GPU 評估了子字等級基準的解碼速度、字符等級基準和字符等級雙度量解碼器。子字等級基準解碼器每秒生產 31.9 個詞,字符等級基準解碼器和字符等級雙度量解碼器每秒分別生成 27.5 個單詞和 25.6 個單詞。注意,這是在一個在線設定中評估的,其中我們進行連續翻譯,同一時間只翻譯一句話。在批量設定中進行翻譯,可能與這些結果不同。

8. 結論

在這篇論文中,我們研究一個基本問題,也就是一個最近提出的神經機器翻譯系統是否能直接在字符等級處理翻譯,不需要任何詞語分割。我們集中在目標方,其中一個解碼器需要一次生成一個字符,同時在目標字符和源子字之間進行軟對齊。我們大量的實驗利用了四個語言對——En-Cs、En-De、En-Ru 和 En-Fi——強有力證明了字符等級的神經機器翻譯是可能的,並且實際上會從中獲益。

我們的結果有一個局限:我們在源方使用子字符號。然而,這讓我們可以獲得更加細微的分析,但是在未來必須調查另一種設定,其中源一方也表徵為字符序列。

via ACL

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知。

相關焦點

  • 從語言學到深度學習NLP,一文概述自然語言處理
    這兩篇論文都是很好的綜述性入門論文,希望詳細了解自然語言處理的讀者可以進一步閱讀這兩篇論文。 首先第一部分介紹了自然語言處理的基本概念,作者將 NLP 分為自然語言理解和自然語言生成,並解釋了 NLP 過程的各個層級和應用,這一篇論文很適合讀者系統的了解 NLP 的基本概念。
  • 學界| 跟著大神回顧ACL 2018:大會亮點一覽
    具體來講,他們訓練模型來預測了 POS 標籤和不同深度的解析樹的組成標籤。他們發現所有模型都編碼了大量的句法,尤其是語言模型還學習了一些句法。 使用深度學習理解語言 Mark Johnson 在 workshop 上提出,雖然深度學習徹底改變了 NLP,但它的主要優勢在於成本低:用端到端模型代替複雜的組件流程,以更快、更廉價地實現目標準確率。深度學習並未改變我們對語言的理解。
  • 神經網絡並不是尚方寶劍,我們需要正視深度 NLP 模型的泛化問題
    從這些新動向上我們似乎應該對深度學習 NLP 解決方案的表現充滿信心,但是當我們真的仔細討論 NLP 模型的泛化能力時候,狀況其實並不樂觀。The Gradient 博客近期的一篇文章就仔細討論了 NLP 領域的深度學習模型的泛化性問題,展現了對學習、語言、深度學習方法等方面的諸多深入思考。
  • 論文| 自然語言處理頂會ACL 2018該關注什麼?螞蟻金服專家告訴你!
    原標題:論文 | 自然語言處理頂會ACL 2018該關注什麼?螞蟻金服專家告訴你! 一年一度的ACL大會今年7月15日至20日在澳大利亞墨爾本召開。作為自然語言處理的頂級會議,雖然遠在澳洲召開,也吸引了1500位從全球各地趕來的專業人員參會。螞蟻金服派出了數位技術專家代表公司前去參會,本文是幾位專家參會回來後寫出的走心分享,並對此次會議的各類優秀論文做出了獨家解讀。
  • 實踐入門NLP:基於深度學習的自然語言處理
    特別是最近兩年,基於深度學習的自然語言處理逐漸取得了一定進展,在人機對話、問答系統、語言翻譯等方向的應用也一直是自然語言處理中的熱門話題,而這些應用的實現,基本依賴於底層技術和模型的進步,再加上自然語言處理領域也算是一個多學科交叉的行業,自然語言處理的未來發展對於很多相關學科和方向都具有深遠的影響力。
  • 人工智慧黑盒揭秘:深度神經網絡可視化技術
    的首選模型,在圖像識別,語音識別,自然語言處理,計算生物,金融大數據等領域成效顯著。雲腦科技自主研發的 Deepro 深度學習平臺利用可視化技術,集成了最前沿的各類深度神經網絡可視化組件,分析與顯化內部隱藏結構與模型輸出的關係,解決「黑盒」難題。
  • 乂學教育-松鼠AI獲KDD國際圖深度學習研討會最佳論文 & 最佳學生論文
    KDD「圖深度學習國際研討會:方法與應用(DLG 2019)」於2019年8月5日在美國阿拉斯加安克雷奇市舉辦。值得一提的是,國內人工智慧獨角獸乂學教育-松鼠AI深度參與的研究項目包攬了研討會的最佳論文和最佳學生論文獎項。深度學習是當今人工智慧研究的核心。不過,由於這項技術無法直接應用於圖形結構數據上,這也推動了學界對圖深度學習的探索。
  • 重磅論文 | 解析深度卷積神經網絡的14種設計模式(附下載)
    該論文已被提交到了 ICLR 2017。論文原文可點擊文末「閱讀原文」下載。 摘要 深度學習領域近來的研究已經產出了大量的新架構。與此同時,也有越來越多的團隊在將深度學習應用到新的應用和問題上。這是相當重要的,因為現在有許多沒有經驗的實踐者在想辦法將深度學習應用到不同的新應用上。缺乏指導會導致深度學習實踐新手忽視最新的研究而選擇 AlexNet(或一些類似的標準架構),不管其是否合適他們的應用。 這種研究的極大豐富也是一個機會:可以確認能為特定背景的應用帶來好處的元素。我們提出了一些基本的問題:深度網絡設計的普遍原理是否存在?
  • 機器翻譯七十年:百度領跑神經網絡翻譯時代
    中新網12月22日電 機器翻譯距今已有70年的發展歷史。自上世紀40年代起,基於規則、實例以及統計的機器翻譯方法漸次登場,各領風騷。近兩年,神經網絡機器翻譯(Neural Machine Translation, NMT)技術異軍突起,取得了翻譯質量的大幅躍升。
  • 被ACL 2020收錄11篇NLP論文?百度:小意思,見慣了
    近日,國際自然語言處理領域頂級學術會議「國際計算語言學協會年會」(ACL 2020)公布了今年大會的論文錄用結果。根據此前官方公布的數據,本屆大會共收到 3429 篇投稿論文,投稿數量創下新高。其中,百度共有11篇論文被大會收錄,再次展現出在自然語言處理領域的超高水準。
  • Transformer新型神經網絡在機器翻譯中的應用|公開課筆記
    翻譯的知識和參數都是由神經網絡自動進行學習的,它省去了之前傳統方法之前的人工幹預模塊,使整個翻譯過程統一化,並且簡潔。隨著深度學習發展帶來的紅利,這個翻譯模型的性能有顯著提升。如右圖所示,這是谷歌翻譯當時Release的數據,傳統的是基於短語的翻譯系統,翻譯的性能遠低於基於神經網絡的翻譯,就是那根綠色的線。並且神經網絡的翻譯在某些語項上是接近人類的水平。
  • 「實時翻譯耳機」橫空出世,深度剖析三大核心技術|獨家
    過去語音識別主要是採用高斯混合模型(GMM,Gaussian Mixture Model)+隱馬爾科夫模型(HMM,Hidden Markov Model)、支持向量機(SVM,Support Vector Machine)算法等,一直到神經網絡之父 Geoffrey Hinton 提出深度信念網絡(DBN,Deep Belief Network),促使了深度神經網路研究的復甦,並且將
  • NLP(自然語言處理)居然有這麼多應用場景?
    NLP(自然語言處理)居然有這麼多應用場景?機器翻譯、輿論分析、智能問答……NLP的應用場景你知道多少?如果你聽說過人工智慧,那麼對於自然語言處理技術一定也不陌生,自然語言處理技術屬於人工智慧的一個子領域,它對計算機和人類的交互方式產生了很重要的影響。為了更方便大家理解,在介紹什麼是NLP之前,首先我們先來了解一下語言的分類。
  • Systran和HelloTalk深度合作,提升人工智慧翻譯和英語寫作智能批改
    圖:Systran 副社長金東弼(左)和HelloTalk 創始人魏立華交換合作備忘錄為了進一步提升人工智慧翻譯的準確性,多語種深度學習神經網絡機器翻譯(Neural Machine Translation NMT)、智能語言處理企業Syatran和全球語言學習社交應用HelloTalk
  • 重磅| AI 第一高校 CMU 的「神經網絡 NLP」課,中英字幕獨家上線!
    AI 研習社獲得官方授權,漢化翻譯卡耐基梅隆大學的11-747神經網絡自然語言處理(2019春季),今天正式上線中英雙語字幕版課程啦!這門課程就是:  CMU CS 11-747神經網絡自然語言處理課程(2019春季),也就是現在開源的最新版本。
  • 一文讀懂Smartbi的自然語言處理(NLP)技術
    從應用角度看,NLP具有廣泛的應用場景,例如:機器翻譯、信息檢索、信息抽取與過濾、文本分類與聚類、輿情分析和觀點挖掘等等。它涉及與語言處理相關的數據挖掘、機器學習、知識獲取、知識工程、人工智慧研究和與語言計算相關的語言學研究等。NLP的興起與機器翻譯這一具體任務有著密切聯繫。
  • 深度學習的NLP工具
    為什麼去年可以工作的代碼和最新發布的深度學習框架不適配?為什麼一個很直白的基線這麼難以建立?在今天的世界中,這些都是自然語言處理(NLP)的研究員遇到的問題。我們來看一個假想的博士學生。我們叫它亞歷山大,他剛開始機械翻譯(NMT)的研究。有一天早上他看到了Google 最著名的 論文「注意力是你全部需要的」,其中介紹了Transformer 模型,完全基於注意力機制。
  • 科學家找到深度學習基因組學應用的一頂「黑帽子」—新聞—科學網
    ■本報記者 趙廣立 在生命科研領域,常有人說深度學習的基因組學應用好比是「一個盲人在一間黑暗的房子裡尋找一頂並不存在的黑色帽子」。言下之意,是遺憾深度學習的基因組學應用並沒有給人們帶來太多驚喜。不過,近日賓夕法尼亞大學和費城兒童醫院教授邢毅團隊的一項研究,找到了這樣一頂「黑帽子」。
  • 如何開始深度學習?麻省理工開源了一份入門級課程(MIT 6.S094中譯...
    先來看看,MIT 6.S094的課程簡介麻省理工學院深度學習和自動駕駛課程,介紹了深度學習的相關知識,以及深度學習在自動駕駛領域的實踐和應用。認真補充課程能量,聽完之後,就能擼出一臺無人駕駛車的算法了。
  • 谷歌用神經機器系統把漢語翻譯成英語 錯誤率最高下降85%
    谷歌今天宣布,網絡和移動版的谷歌翻譯現在使用新的神經機器翻譯系統,並用於漢譯英,目前,谷歌翻譯應用每天翻譯約1800萬次谷歌也在發布一篇關於該方法的學術論文。此前谷歌也曾表示在谷歌翻譯中使用神經網絡,但具體用於實時視頻翻譯功能。而今年早些時候,谷歌高級研究員傑夫·迪恩(Jeff Dean)告訴VentureBeat,谷歌正致力於研究將深入學習功能更多地整合到谷歌翻譯中。今天發布的就是這項工作的成果。