本文是閱讀 ICLR 會議論文 “A SIMPLE BUT TOUGH-TO-BEAT BASELINE FOR SENTENCE EMBEDDINGS” 所作筆記。
論文 GitHub:https://github.com/PrincetonML/SIF
Abstract
本文提出了一種基於無監督學習的 Sentence Embedding
方法,其效果超過了目前(截止論文發表)主流的 Sentence Embedding
方法。流程如下:
- 計算
Word Embedding
,通過對無標籤的語料庫; - 用加權詞向量來表徵一個句子;
- 用 PCA/SVD 來改善它們
Introduction
Word Embedding
已經成爲了自然語言處理和信息檢索中的基石。最近的研究則主要是 Sentence Embedding
,之前已經有很多的研究方法,如詞向量的簡單組合、CNN、RNN……2016 年 Wieting et al 在 PPDB 上對標準的 Word Embedding
進行修改,訓練一個 word averaging model
,但是若無修改的過程,直接對初始的詞向量進行平均操作,效果並不好。
本文提出的算法 SIF (smooth inverse frequency)
- 計算詞向量的加權平均值:
- common component removal: remove the projection of the average vectors on there first component
優勢:
- 領域自適應 well-suited
- 加權方法的健壯性:使用不同語料庫的詞頻並不影響性能
- 通過調整 a 是可以到達最優解的,且選擇範圍大
Related Work
Word Embeddings
是一種詞彙的表示方法。將詞彙表示爲低維度的連續向量,具有其語義、詞彙特徵。計算方法:
- internal representations from neural network models of text
- low rank approximation of co-occurrence statistics
Our work:
在 Random Walk 模型中對潛在的變量進行近似推理。
Random Walk:在文章中生成缺失詞的產生式模型
Phrase/Sentence/Paragraph embeddings
Our work:
通過 Word Embedding 計算 paraphrastic sentence embedding,並且根據 paraphrase 對 word embedding 更新,初始化和訓練過程中均爲有監督的。
A Simple Method for Sentence Embedding
潛在變量生成模型(latent variable generative model)假設:語料的生成是一個動態的過程,即第 t 個單詞在第 t 步生成。每個單詞對應一個 空間裏的向量。
單詞 的向量 與當前時間的 discourse vector 的內積,,表示着這個單詞與整個句子之間的關係。 並且我們假設t時刻觀測到單詞 的概率爲這個內積的對數線性 (log linear) 關係:
因爲 是由較小的隨機漫步得到的( 和 只相差一個較小的隨機向量),所以相鄰的詞是由相似的 discourse vector 得到的。同時,偶爾 有大的 jump,對 co-occurrence probabilities 影響不大。
通過這種辦法生成的單詞向量與 Glove 和 word2vec 很像。
Our improved Random Walk model
我們希望定義 sentence embedding
爲:對 discourse vector 的最大後驗估計(MAP)。因爲整個句子中 變化很小,爲了化簡,用 代表一個句子中的所有 。
基於前文的 Simple Method 做如下改進,引入兩種平滑項,原因是:
- 有些單詞在規定的上下文範圍之外出現
- 有些頻率高的單詞(停止詞、連接詞)與 discourse vector 無關
兩種平滑項分別是:
- ,在對數線性模型中, 是 在整個語料庫中出現的頻率, 是超參數,這樣即使和 的內積很小,也有可能出現
- ,糾正項,代表着最頻繁的 discourse vector,通常和語法聯繫起來。
修正後的模型爲:
和 都是超參數, 是歸一化常數(normalizing constant)。這樣即使一個單詞無關於 discourse vector 也可以出現,因爲來自 的數值和與 的相關性。
Computing the sentence embedding
sentence embedding
被定義爲 的最大似然估計向量,(因爲前驗概率相同,這裏的 MLE 等同於上文的 MAP),因爲 是大致均與分佈在整個向量空間上的,因此這裏的歸一化項 在各個維度(不同句子?)上也是大致相同的。所以假設 也是大致相同的,則由修正後的模型得出句子的似然估計是:
做偏分得:
通過泰勒展開,得到:
KaTeX parse error: No such environment: equation at position 7: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲\begin{aligned}…
所以,對 的最大似然估計:
因此,可得,最優解就是句子中所有單詞向量的加權平均,對於頻率高的單詞,其權重也更小。
最後,爲了得到句子向量 ,我們需要估計 ,通過計算向量 中的主成分(first principal component),即用 減去 向量。
詳細過程:
通過證明,Word2vec 的下采樣概率和我們的權重模型是相似的。
最後論文用數據集進行了驗證,本文不再贅述,感興趣的可以取 github 開源代碼或論文後半部分閱讀。