• 作者:Alexis Conneau, Guillaume Lample, Marc』Aurelio Ranzatoy , Ludovic Denoyerx , Herve Jegouy.(註:一二作的順序是拋硬幣決定的2333)
  • 來源:ICLR 2018.
  • 機構:Facebook AI Research (FAIR).
  • 源代碼地址:github.com/facebookrese

這篇文章提出了一種無監督的雙語單詞對齊的方法,主題思想是用一個線性的映射矩陣W將源語言的embedding投影到目標語言中。大致思路是先用對抗學習的思路學得初始的W,然後用Procrustes方法fine-tune之。假設X和Y是分別兩種語言的的詞典矩陣,目標是學得一個線性的映射W使之滿足:

基本流程:

通過對抗學習獲得初始W

作者首先採用對抗學習的方式來獲得粗糙的W,具體來說就是訓練一個discriminator來區分WX和Y,這個discriminator的目標函數是最小化

而generator(即M)目標是儘可能欺騙discriminator,使之不能區分出一個representation是直接從Y中採樣得來的,還是從X採樣然後映射得來的:

在更新W時,為了保持W的正交性,作者採用瞭如下的更新方法:

其中是超參數(文中設為0.01)。最後檢驗W的特徵值是否接近±1即可(正交矩陣的特徵值為±1)。

求解Proscrustes問題Refine

對(1)加正交約束,即約束W必須是正交的,可以有效提升結果[1]。在該約束下,問題就變成了Procrustes問題,可以通過對求奇異值分解來獲得近似解:

考慮到一些低頻辭彙詞向量可能學得不充分,作者選取了一些高頻詞,以及它在另一種語言中的「最近鄰」的詞,形成高質量的雙語語料。從而獲得精調後的W。注意(2)可以一直迭代下去,但作者發現1輪迭代效果就已經很好了。

「最近鄰」詞的選擇(CSLS)

最基本的想法是直接計算cosine相似度來選取最近鄰詞。但這會導致hubness現象:有些詞(稱為hubness)是很多詞的最近鄰點,而有些詞(anti-hubness)卻不是任何點的最近鄰點。為了懲罰這些hubness,作者定義瞭如下CSLS距離:

其中

表示在target語言中與 Wx_S 最相鄰的 K 個辭彙的平均的餘弦距離, N_T(Wx_S) 代表Wx_SK -近鄰的集合。 r_S(y_t) 的含義類似。

實驗細節結果

採用fasttext生成兩種語言的詞向量,discriminator的輸入按照詞出現的頻率採樣。

總結

這是一項非常有意思的工作,也為後續大多數無監督機器翻譯的方法奠定了基礎(即作為無監督MT的初始對齊詞表)。

參考文獻

[1] Chao Xing, Dong Wang, Chao Liu, and Yiye Lin. Normalized word embedding and orthogonal transform for bilingual word translation. Proceedings of NAACL, 2015.


推薦閱讀:
相關文章