1. 程式人生 > >A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings論文筆記

A robust self-learning method for fully unsupervised cross-lingual mappings of word embeddings論文筆記

回看前幾篇筆記發現我剪貼的公式顯示很亂,雖然編輯時調整過了,但是不知道為什麼顯示的和編輯時的不一樣,為方便大家的閱讀,我開始嘗試著採用markdown的形式寫筆記,前幾篇有時間的話再修改。

這篇論文閱讀完,我依然有很多不懂的地方,對其操作不是很清晰,因為我沒做過這方面的內容,且近期估計沒時間學習其專案,所以記錄理解的可能有誤,希望大家帶著思考閱讀。
PS:感覺這篇文章的作者是這個方向的大神呢,引用裡好多都是他自己的文章
原文下載連結
專案下載連結

摘要

  • 跨語種嵌入對映(cross-lingual embedding mappings)的核心思想:分別訓練單個語種語料,再通過線性變換對映到shared space。
  • 方法整體分為監督的、半監督的和非監督的,監督和半監督都要依賴種子字典(seed dictionary),本文主要研究非監督的方法
  • 非監督方法主要有兩種:對抗訓練(adversarial training)和自學習(self-learning)
  • 對抗訓練的缺點:依賴favorable conditions(如限制在相關的語種,類似維基百科的語料)
  • 自學習的缺點:初始化不好時,易陷入差的(poor)區域性最優
  • 本文即使根據自學習的缺點提出了初始化的方法。
  • 提出方法的依據是:觀察到不同語種中相同的詞有相似的相似度分佈,如圖1所示:在這裡插入圖片描述
    Figure 1中的第一幅圖是英文單詞two的相似度分佈,第二幅圖是義大利語due(等同於two)的相似度分佈,第三幅圖是義大利語cane(等同於dog)的相似度分佈。

本文演算法

設X和Z是兩種語言的embedding矩陣,所以他們的第 i t h ith X i

X_{i*} Z i Z_{i*} 表示他們語種中的第 i i 個詞,我們的目標就是學習變換矩陣 W X {W_{X}} W Z {W_{Z}} ,所以對映embedding X W X {XW_{X}} Z W Z {ZW_{Z}} 在相同的跨語種空間,同時,要在兩個語種中構建一個字典即稀疏矩陣 D D ,如果目標語言中的第j個單詞是源語言中第i個單詞的翻譯,則Dij = 1。
本文演算法主要分四步:1)normalize embedding的預處理;2)完全非監督的初始化方案;3)魯棒性強的self-learning步驟;4)最後微調通過對稱re-weighting進一步improve mapping.

1 embedding normalization

這邊具體不知道怎麼做的,只能把翻譯寫下來了(也不知道翻的對不對):長度標準化嵌入,然後平均每個維度的中心,然後長度再次標準化它們。(原文:length normalizes the embeddings, then mean centers each dimension, and then length normalizes them again.)

2 完全非監督初始化

這裡我就拷貝公式了,剩下的部分因為我也似懂非懂所以就簡單寫一下:mapping中的一個難點是X和Z並不對應,此處包含兩方面,詞不對應(反應到行),維度不對應(反應到列)。
本文的方法是首先通過 M X = X X T M_{X}=XX^{T} M Z = Z Z T M_{Z}=ZZ^{T} 分別求其相似度矩陣,然後對每一行進行排序,然後在進行第一節的規範化操作;

3 Robust self-learning

這部分沒看懂啊,大家還是認真看原文吧

4 Symmetric re-weighting

同上一節(羞愧)

這篇文章沒仔細看,很多細節沒看懂,所以記得也比較草率,之所以還這樣記錄下來是為了記錄下其核心思想,等回顧時也許能用上。這篇寫的很差,大家見諒啊~~~~