ML Lecture 14: Unsupervised Learning - Word Embedding



Word Embedding

Word Embedding 是 dimension reduction 的一個非常廣為人知的應用

我們在表達文字的語意時,最土法煉鋼的做法可以用1-of-N Encoding: 用一個向量表示一個word,其維度為所有word的總數,其中只有一個值是1,其他都是0

但這種方法沒辦法知道兩個word之間關聯性,所以可以改成建立種類

把同性質的words cluster成一群,然後用然後用這這個word 所屬的class來表示這個word

但光用class還是不夠,因為這樣會少一些information

所以才要word embedding:把每一個word 投影到一個高維空間(word embedding是一個dimension reduction的process 因為 1-of-N Encoding維度爆高,但word embedding通常只有50-100維)。類似的字彙,會比較接近,且Word Embedding每個dim可以有特別的意義

產生word vector是unsupervised

input是一個字,output是一個word vector,training data是一大堆文章

要了解一個字的含意,要了解他的上下文

例如,我吃了一個漢堡,我吃了一個吐司,機器可能會知道:漢堡跟吐司是類似的object

這邊有兩個方法可以做到這件事:Count based 與 Perdition based 方法

Count based

如果有兩個詞wi, wj常常在同一個文章中出現,那他們向量就V(wi), V(wj) 應該比較接近

計算V(wi), V(wj)的內積,希望他跟Nij (wi wj出現在同一篇文章的次數) 越接近越好

Prediction based