天天看點

文獻閱讀筆記:Word Translation Without Parallel Data0. 背景0.1 摘要1. 介紹2. 模型3. 訓練和架構選擇4. 實驗5. 相關工作6. 總結

0. 背景

機構:Facebook

作者:Alexis Conneau, Guillaume Lample

釋出地方:LCLR 2018

面向任務:無監督機器翻譯

論文位址:https://arxiv.org/abs/1710.04087

論文代碼:https://github.com/facebookresearch/MUSE

0.1 摘要

已有的先進跨語言詞嵌入技術多數嚴重依賴雙語詞典或者平行語料。最近研究表明,通過字元級的資訊可以減緩對監督資料如平行語料的依賴。雖然這些新技術的成果令人鼓舞,但是仍然無法與監督方法同日而語,且受限于兩種語種之間需要共用一個字母表。本文的工作結果表明,使用無監督的方法對齊單語單詞嵌入空間而無需使用平行語料即可建立一個雙語詞典。本文的方案無需使用字元資訊,且在一些語種對上的跨語言任務上,能夠超越監督式方法。實驗證明本文方案對于差别較大的語種(即屬于不同語系)如英語-俄語 或 英語-中文 也能夠處理得很好。最後,本文還在少語料的English-Esperanto(隻有很少的平行語料)上進行試驗,進而展示本文的方法在完全無監督機器翻譯中的潛在影響。

1. 介紹

能夠成功學習到詞分布式表征的方法(e.g. Mikolov et al.(2013c;a); Pennington et al. (2014); Bojanowski et al. (2017))多數是建立在Harris (1954)提出的"在相似的上下文中出現的詞往往有相似的意思"這一假說基礎上的。Levy & Goldberg (2014)在skip-gram中使用負例采樣(Mikolov et al. (2013c),相當于在分解詞-上下文共現矩陣。共現矩陣中的相應的單詞和上下文對的逐點互資訊。利用詞的共現統計得到的詞向量能夠反映詞 語義的相同或者相反:相似的詞在嵌入空間中很近,反之亦然。

Mikolov et al. (2013b)首次提出連續詞嵌入空間在不同語言之間表現出類似的結構,即使對于像英語和越南語這種相距甚遠的語種。同時他們利用這種相似性學習了一個從源到目标嵌入空間的線性映射。在學習映射的過程中,他們使用了5000對平行詞彙作為錨點,并在一個單詞翻譯任務中評估他們的方法。從此以後,有數個研究組緻力于跨語言詞嵌入的提升,比如(Faruqui & Dyer (2014); Xing et al. (2015);Lazaridou et al. (2015); Ammar et al. (2016); Artetxe et al. (2016); Smith et al. (2017)),但是這些研究都依賴于雙語詞典。

近期有學者(Smith et al., 2017)開始嘗試降低對于監督式雙語詞典的依賴,其方案是使用相同的字元建構雙語詞典。Artetxe et al. (2017)以對齊數字初始化雙語詞典,再使用疊代法逐漸對齊嵌入空間。這些方法由于共享一份字母表,僅能适用于相似的語種,即同一語系下的近似語種,比如歐洲語言。(Cao et al., 2016)探索使用分布式方法,Zhang et al. (2017b)則嘗試使用對抗方法來在不使用無平行語的前提下獲得跨語種的詞嵌入。這些方法雖然看似誘人,但是其結果性能相比于監督式方法簡直慘不忍睹。小結下,當下的方法要麼性能不達标,要麼仍舊需要對齊的資料集,如平行語料或作為種子點的雙語詞典。

本文所介紹的方法能夠持平或超越目前先進的監督式方法,而不使用任何的跨語種标注資料集。本文方法僅需2個大的單語種語料,分别是源語種和目智語種的語料。本文使用對抗訓練的方法,學習一個能夠從源語種到目智語種空間的線性映射。該對抗訓練有2個步驟:

(1)類似于一個雙人遊戲,由判别器 discriminator 和映射函數(地位等價于生成器generator)組成。需要訓練 discriminator,使其能夠區分出映射後源嵌入和目标嵌入。映射函數則被聯合訓練以欺騙過discriminator。

(2)從上述的共享嵌入空間中抽取出一個合成字典(synthetic dictionary),再用Sch¨ onemann (1966)中的閉型普魯斯塔斯解法對映射函數進行微調。

由于文本的方法是無監督的,在選擇最優模型時也無法用到平行語料。為此,本文提出一個與映射品質強相關的無監督的篩選名額。基于此名額即可用于指導本文模型何時停止訓練,及選出最佳的超參數。

總結下,本文的貢獻如下:

  • 提出一個能夠媲美或超越當下先進監督方法的無監督方法。本文無監督方法的驗證,是在 詞翻譯、句子翻譯檢索和跨語種詞相似 這三個任務上進行的。标準的詞翻譯任務中(詞典中詞彙量為200k),本文在English-Italian上取得66.2%準确率,而最好的監督方法隻能取得63.7%的準确率。
  • 引入一個跨域相似度自适應算法以減緩所謂的hubness問題(高維空間中,一個點有成為許多點的近鄰點的趨勢)。該方法受啟發于 Zelnik-manor & Perona (2005)中的self-tuning方法,所不同的是本文的場景是作用于2個域,這就需要考慮近鄰點的二分圖(bi-partite graph)。該方法能夠顯著提升性能名額,并同時超越詞翻譯基準上有監督和無監督中的先進方法。
  • 本文還提出一個與映射品質高度相關的無監督準則,并以該準則為訓練停止條件和超參數的選擇。
  • 公布了一個高品質的詞典,以及相關的有監督的和無監督的詞嵌入
  • 證明了本文方案在低資源語種對上的有效性。

2. 模型

本文中,我們始終假設已有兩個在各自語種資料集上分開獨立訓練的詞嵌入。本文的目标是緻力于學習這2個詞嵌入集合的映射關系,即源語種的詞嵌入集合通過該映射函數轉換後與目智語種的詞嵌入很接近或者說重合。Mikolov et al. (2013b)使用一個有n=5000對雙語詞的詞典 { x i , y i } i ∈ { 1 , n } \left\{x_{i}, y_{i}\right\}_{i \in\{1, n\}} {xi​,yi​}i∈{1,n}​,再學習一個源空間和目标空間中的線性映射 W W W:

W ⋆ = argmin ⁡ W ∈ M d ( R ) ∥ W X − Y ∥ F (1) W^{\star}=\underset{W \in M_{d}(\mathbb{R})}{\operatorname{argmin}}\|W X-Y\|_{\mathrm{F}} \tag{1} W⋆=W∈Md​(R)argmin​∥WX−Y∥F​(1)

其中 d d d是嵌入向量的次元, M d ( R ) M_{d}(\mathbb{R}) Md​(R)是一個值為實數的 d × d d \times d d×d矩陣。 X X X和 Y Y Y是待對齊大小為 d × n d \times n d×n的詞嵌入矩陣。源語種中單詞 s s s的轉換定義為$t=\operatorname{argmax}_{t} \cos{(Wx_s,y_t)} 。 M i k o l o v e t a l . ( 2013 b ) 的 實 驗 表 明 在 詞 翻 譯 任 務 上 , 使 用 簡 單 的 線 性 映 射 比 其 他 先 進 複 雜 方 法 如 多 層 神 經 網 絡 效 果 要 好 。 X i n g e t a l . ( 2015 ) 則 通 過 增 加 。Mikolov et al. (2013b)的實驗表明在詞翻譯任務上,使用簡單的線性映射比其他先進複雜方法如多層神經網絡效果要好。Xing et al. (2015)則通過增加 。Mikolovetal.(2013b)的實驗表明在詞翻譯任務上,使用簡單的線性映射比其他先進複雜方法如多層神經網絡效果要好。Xingetal.(2015)則通過增加W$為正交矩陣這一限制條件,進一步提升了效果。在這篇文章中他們将方程(1)歸結為一個Procrustes問題,是以借鑒 Procrustes 的思想,通過奇異值分解(SVD)來更新W:

W ⋆ = argmin ⁡ W ∈ O d ( R ) ∥ W X − Y ∥ F = U V T ,  with  U Σ V T = SVD ⁡ ( Y X T ) (2) W^{\star}=\underset{W \in O_{d}(\mathbb{R})}{\operatorname{argmin}}\|W X-Y\|_{\mathrm{F}}=U V^{T}, \\ \text { with } U \Sigma V^{T}=\operatorname{SVD}\left(Y X^{T}\right) \tag{2} W⋆=W∈Od​(R)argmin​∥WX−Y∥F​=UVT, with UΣVT=SVD(YXT)(2)

本文所提出的無監督方法學習映射 W W W的示意圖如Figure 1所示:

文獻閱讀筆記:Word Translation Without Parallel Data0. 背景0.1 摘要1. 介紹2. 模型3. 訓練和架構選擇4. 實驗5. 相關工作6. 總結

首先,通過對抗方式學習到一個初始化的 W W W;使用最比對的詞作為Procrustes中錨點;最後通過改變空間的度量來提高相對于不太高頻單詞的性能,如此可以使得這些在稠密區域中的點擴散開來。

2.1 域内對抗

假設詞典大小為 n n n的源語種和詞典大小為 m m m的目智語種的詞嵌入分别為: X = { x 1 , … , x n } \mathcal{X}=\left\{x_{1}, \ldots, x_{n}\right\} X={x1​,…,xn​} 和 Y = { y 1 , … , y m } \mathcal{Y}=\left\{y_{1}, \ldots, y_{m}\right\} Y={y1​,…,ym​}。學習一個判别器,使其能夠區分随機采樣于 W X = { W x 1 , … , W x n } W \mathcal{X}=\left\{W x_{1}, \ldots, {W} x_{n}\right\} WX={Wx1​,…,Wxn​}和 Y \mathcal{Y} Y的元素。判别器的作用就是盡力鑒别出原始的2個嵌入; W W W就是最終要學習的映射函數,類似生成器,其作用就是盡可能地準确地映射,使得判别器難以判别出是 W X W \mathcal{X} WX還是 Y \mathcal{Y} Y。

這種方法與Ganin et al. (2016)的工作相一緻,Ganin et al. (2016)提出對輸入域學習一個潛在表征不變量,其中的域在本文這裡是語種(即源語種和目智語種)。

判别器目标函數:

判别器的參數為 θ D \theta_{D} θD​。 P θ D ( source = 1 ∣ z ) P_{\theta_{D}} (\text{source}=1|z) PθD​​(source=1∣z)表示判别器認為向量 z z z是源語種嵌入(反之為目智語種嵌入)的機率,則判别器的損失函數如下:

L D ( θ D ∣ W ) = − 1 n ∑ i = 1 n log ⁡ P θ D (  source  = 1 ∣ W x i ) − 1 m ∑ i = 1 m log ⁡ P θ D (  source  = 0 ∣ y i ) (3) \mathcal{L}_{D}\left(\theta_{D} | W\right)=-\frac{1}{n} \sum_{i=1}^{n} \log P_{\theta_{D}}\left(\text { source }=1 | W x_{i}\right)-\frac{1}{m} \sum_{i=1}^{m} \log P_{\theta_{D}}\left(\text { source }=0 | y_{i}\right) \tag{3} LD​(θD​∣W)=−n1​i=1∑n​logPθD​​( source =1∣Wxi​)−m1​i=1∑m​logPθD​​( source =0∣yi​)(3)

映射目标函數:

在無監督設定中,訓練 W W W使得判别器無法準确地分辨出這2個原始嵌入:

L W ( W ∣ θ D ) = − 1 n ∑ i = 1 n log ⁡ P θ D (  source  = 0 ∣ W x i ) − 1 m ∑ i = 1 m log ⁡ P θ D (  source  = 1 ∣ y i ) (4) \mathcal{L}_{W}\left(W | \theta_{D}\right)=-\frac{1}{n} \sum_{i=1}^{n} \log P_{\theta_{D}}\left(\text { source }=0 | W x_{i}\right)-\frac{1}{m} \sum_{i=1}^{m} \log P_{\theta_{D}}\left(\text { source }=1 | y_{i}\right) \tag{4} LW​(W∣θD​)=−n1​i=1∑n​logPθD​​( source =0∣Wxi​)−m1​i=1∑m​logPθD​​( source =1∣yi​)(4)

學習算法:

模型的訓練方法是根據Goodfellow et al. (2014)中所闡述的标準深度對抗網絡的訓練流程。對于給定的輸入樣本,判别器和映射矩陣 W W W依次用随機梯度下降法進行更新,以最小化 L D \mathcal{L}_{D} LD​和 L W \mathcal{L}_{W} LW​。

2.3 跨域相似度局部縮放(CSLS)法

為在語種之間産生可靠的比對對,則需要改善比較的準則,以使得源(語種)單詞在目智語種中的最近鄰單詞,在以該最近鄰單詞為源單詞時候,其目智語種的最近鄰單詞剛好為最開始的源單詞。簡單說,二者互為最近鄰。CSLS法就是為了找到更多互為近鄰的點。

x x x的 K − N N K-NN K−NN近鄰點集中如果包含有 y y y,并不意味着 y y y的 K − N N K-NN K−NN近鄰點中會有 x x x,即反過來并不一定成立,兩者并非對稱的。在高緯空間中,這将導緻 hubness 現象,這種現象對基于最近鄰規則的配對是有害的。 hubness 現象:有些向量(稱作 dubbed hubs),是很多其他點的最近鄰,而有些點(anti-hubness)則不是任何點的最近鄰。針對該問題,以前的方法多數

将其視為單一的特征分布,然後研究緩解hubness的方法。在本文中,我們有兩個域,即兩個語種。這種特殊情況,其實也有學者提出基于逆向秩的配對規則和 inverted soft-max (ISF)。我們将在實驗部分使用ISF方法進行評估,以作為對比。但這種方法也存在一定的問題:首先,源語種和目智語種單詞的相似性更新是不同的。此外,ISF需要 交叉驗證 參數, 在沒有直接 交叉驗證 标準的無監督設定中,該參數的估計是有噪聲的。

在本文中,我們使用二部鄰域圖(bi-partite neighborhood graph),在二部鄰域圖中詞典中的每個單詞都與其在目智語種中的 K K K個最近鄰單詞相連接配接。 N T ( W x s ) \mathcal{N}_{\mathrm{T}}\left(W x_{s}\right) NT​(Wxs​)表示二部圖中的源單詞經過映射操作之後 W x s Wx_s Wxs​近鄰。 N T ( W x s ) \mathcal{N}_{\mathrm{T}}\left(W x_{s}\right) NT​(Wxs​)中的 K K K個近鄰都是來自于目智語種。同理,可以定義目智語種的單詞 y t y_t yt​關聯的近鄰為: N S ( y t ) \mathcal{N}_{\mathrm{S}}\left(y_{t}\right) NS​(yt​)。我們将源嵌入 x s x_s xs​在目智語種中的 K K K個近鄰進行平均作為其目标近鄰:

r T ( W x s ) = 1 K ∑ y t ∈ N T ( W x s ) cos ⁡ ( W x s , y t ) (5) r_{\mathrm{T}}\left(W x_{s}\right)=\frac{1}{K} \sum_{y_{t} \in \mathcal{N}_{\mathrm{T}}\left(W x_{s}\right)} \cos \left(W x_{s}, y_{t}\right) \tag{5} rT​(Wxs​)=K1​yt​∈NT​(Wxs​)∑​cos(Wxs​,yt​)(5)

其中 cos ⁡ ( . . . ) \cos(...) cos(...)表示餘弦相似度計算。同樣地, r S ( y t ) r_{\mathrm{S}} (y_t) rS​(yt​)表示目智語種單詞 y t y_t yt​對應在源語種中的近鄰。

r r r可以認為是衡量了每個單詞的 hubness 。如果一個單詞和很多另一語言的單詞都很接近,那麼 r r r值就很高。

我們定義被映射的源單詞和目标單詞之間的相似度

CSLS

如下:

CSLS ⁡ ( W x s , y t ) = 2 cos ⁡ ( W x s , y t ) − r T ( W x s ) − r S ( y t ) (6) \operatorname{CSLS}\left(W x_{s}, y_{t}\right)=2 \cos \left(W x_{s}, y_{t}\right)-r_{\mathrm{T}}\left(W x_{s}\right)-r_{\mathrm{S}}\left(y_{t}\right) \tag{6} CSLS(Wxs​,yt​)=2cos(Wxs​,yt​)−rT​(Wxs​)−rS​(yt​)(6)

CSLS衡量兩個單詞(不同語言的)的相似度。單單 W x s 和 y t W x_{s}和 y_{t} Wxs​和yt​ 靠近還不夠,同時這個相似度會被s和t的 hubness 程度懲罰。 這就抑制了某些單詞是很多單詞的最近鄰的情況。

直覺上,如此方法可以提升與孤立詞向量相關的相似性。相反地,該方法也可以降低向量聚集于同一密集區域的風險。

實驗證明

CSLS

度量法,無需任何微調參數下即可顯著提升詞翻譯任務中的準确率。

3. 訓練和架構選擇

3.1 架構

本文采用fastText訓練詞向量。訓練語料是Wikipedia,詞嵌入次元是300,是以,映射矩陣 W W W的次元是 300 × 300 300 \times 300 300×300。詞統一為小寫,且在語料中出現頻率高于5。在後處理步驟,隻選用頻率 top 200k 的詞進行後續實驗。

對于判别器,其架構為2層,每層神經元個數為2048的多層感覺機,選用的激活函數是Leaky-ReLU。

3.2 判别器的輸入

低頻詞的嵌入品質一般不如高頻詞,将低頻詞輸入到判别器的負面影響雖小,卻不容忽視。為此,我們僅選用top 50,000 高頻詞輸入到判别器。在訓練步驟,輸入到判别器的詞嵌入是經過均勻采樣的。因為發現根據詞頻進行抽樣對結果沒有任何明顯的影響。

3.3 正交性

Smith et al. (2017)已經展示了正交限制所帶來的性能提升。使用正交矩陣有以下好處:

(1)確定了語種對應的詞嵌入的品質。正交矩陣保持着保持向量的點積,即L2距離。

(2)使得訓練過程更加穩健。本文使用一個簡單的更新步驟以確定矩陣 W W W在訓練過程始終近似保持為正交矩陣。 W W W的更新如下:

W ← ( 1 + β ) W − β ( W W T ) W (7) W \leftarrow(1+\beta) W-\beta\left(W W^{T}\right) W \tag{7} W←(1+β)W−β(WWT)W(7)

其中 β \beta β一般取值為0.01。這個方法保證 W W W能幾乎始終保持是正交的。在實驗過程中,也發現矩陣 W W W的特征值也始終約等于1。這也進一步佐證了矩陣的正交性。

3.4 生成字典

細調步驟(Procrustes方法)要求在每次疊代時生成一個新字典。為了使Procrustes方法取得更好的效果,最好是在正确詞對的基礎上進行細調。為此,本文使用2.3節中的CSLS方法來選出更加準确的單詞對。為進一步提升詞典品質,并確定 W W W是基于正确翻譯對學習到的,我們僅僅考慮互為最近近鄰的單詞對。

3.5 無監督模型選擇的驗證準則

在無監督設定中選擇最佳模型是一項具有挑戰性,但卻非常重要的任務。因為無法使用驗證集(使用驗證集将意味着我們有并行語料資料)。為了解決這個問題,本文提出一個無監督的準則進行模型選擇,該标準量化了源和目标嵌入空間的靠近程度。具體來說,我們考慮 10k 個最常見的源單詞, 并使用

CSLS

為每個詞生成一個翻譯。然後,我們計算這些翻譯的平均餘弦相似度,并将此平均值用作驗證标準。發現這個值和word translation accuracy呈現高相關性。

Figure 2 顯示了評估得分(前人的工作中有相關的評估方法)與此無監督标準之間的相關性(沒有學習率收縮的穩定性)。我們在訓練期間将其用作停止标準,并且在我們的所有實驗中也用該标準選擇超參數。

文獻閱讀筆記:Word Translation Without Parallel Data0. 背景0.1 摘要1. 介紹2. 模型3. 訓練和架構選擇4. 實驗5. 相關工作6. 總結

4. 實驗

本文方案與2個baseline模型在跨語言評估任務上進行對比測試。

4.1 評測任務

詞翻譯(Word translation):

跨語種詞義相似(Cross-lingual semantic word similarity):

句子翻譯檢索(Sentence translation retrieval):

4.2 結果與讨論

Table 1 為利用本文的詞典進行詞翻譯任務的結果。

文獻閱讀筆記:Word Translation Without Parallel Data0. 背景0.1 摘要1. 介紹2. 模型3. 訓練和架構選擇4. 實驗5. 相關工作6. 總結

Table 2 是在詞翻譯檢索任務上與前人方法進行對比的結果。本文的方法較以前的方法有明顯的優勢。

文獻閱讀筆記:Word Translation Without Parallel Data0. 背景0.1 摘要1. 介紹2. 模型3. 訓練和架構選擇4. 實驗5. 相關工作6. 總結

Table 3 為句子翻譯任務的結果。

文獻閱讀筆記:Word Translation Without Parallel Data0. 背景0.1 摘要1. 介紹2. 模型3. 訓練和架構選擇4. 實驗5. 相關工作6. 總結

Table 4為跨語種詞相似性任務的結果。Table 5為English-Esperanto上逐詞翻譯的結果。

文獻閱讀筆記:Word Translation Without Parallel Data0. 背景0.1 摘要1. 介紹2. 模型3. 訓練和架構選擇4. 實驗5. 相關工作6. 總結

baselines:

選用的監督式baseline:式子(2)中Procrustes公式的解,即以Procrustes為baseline。該baseline基于5000個源單詞進行訓練。在選用相似性度量上,可以用最近鄰NN、ISF和CSLS。

跨域相似度局部縮放(CSLS):

該法隻有一個參數 K K K,但是對于不同的K=5,10,50對結果沒有什麼影響,是以該參數很穩健,無需校驗驗證。是以,本文統一選用K=10。在Table 1中可以看出度量準則在Procrustes方法中的影響。對比

Procrustes-NN

Procrustes-CSLS

,可以看出

CSLS

在所有語種上都能夠帶來更穩健的性能提升,在en-eo上甚至達到7.2%。

Procrustes-CSLS

整體上要比

Procrustes-ISF

來得優秀,且計算更快無需調節超參數。在Table 2中的對比可以看出,在English-Italian詞翻譯任務上,

Procrustes-CSLS

取得了44.9%的結果,這優于此前的全部方法。在Table 3中,我們看看Italian-English的句子翻譯任務,加入

CSLS

方法能夠在準确率上獲得巨大提升,比如從53.5%(Procrustes - NN)提升到69.5%(Procrustes - CSLS)。

語種詞嵌入的影響:

使用了 CBOW embedding和fasttext的embedding,結果顯示fasttext的結果要好很多。其中CBOW 詞嵌入在WaCky datasets上訓練,兩者的對比可以參見Table 2。在這兩個變量因素中,我們發現語料的影響更大。在fastText嵌入中,使用了更多關于單詞的句法資訊;與CBOW嵌入在相同的語料庫上訓練相比隻提升了2%的準确率,而更換語料fastText能夠獲得18.8%的提升。我們假設這個提升主要源于Wikipedia語料上相似詞的共現。Figure 3展示了不同嵌入和不同語料所帶來的影響。

文獻閱讀筆記:Word Translation Without Parallel Data0. 背景0.1 摘要1. 介紹2. 模型3. 訓練和架構選擇4. 實驗5. 相關工作6. 總結

對抗方法:

從Table 1可以看出對抗方法提供了一個強有力的系統,該系統能夠在不使用平行語料下就學習跨語種嵌入。在es-en和en-fr語種對上,Adv-CSLS分别獲得

[email protected]=79.7%、77.8%

,這樣的結果僅僅比監督方法低3.2%和3.3%。此外,在相距較遠的語種(不共享字母表)上,多數的對抗系統都能夠取得不錯的結果。

細調:用監督方法縮短差距

對抗方式生成的雙語詞典需要進行細調,以進一步提升性能,縮短本文方法與監督方法(baseline)的差距。在Table 1中,我們觀察到本文的無監督方法在en-it語種和en-es語種上甚至超過了監督式的baseline。語種間具有更相似的共現統計,能夠使得無監督方法擷取更好的性能。監督方法受限于預定義的詞典(隻有5000源-目标單詞對),而在本文的無監督方法中我們可以在細調過程中使用更多的錨點。

5. 相關工作

6. 總結

首次展示在不使用平行語料下就可以進行詞嵌入空間的對齊。且本文的方法不僅達到也在部分資料上超出先前的監督方法。本文采用對抗訓練方式學習源-目标空間的線性映射關系。在學習得到線性映射關系後,可以生成雙語詞典。再使用Procrustean法進行優化。在優化過程,提出了(1)用于無監督驗證的标準(2)CSLS測量方法。

繼續閱讀