1. 程式人生 > 實用技巧 >Unsupervised Learning: Word Embedding(詞嵌入)

Unsupervised Learning: Word Embedding(詞嵌入)

文章目錄

詞嵌入介紹

• Machine learns the meaning of words from reading
a lot of documents without supervision。
機器在沒有監督的情況下從許多檔案學到詞語的意義。
在這裡插入圖片描述
我們可以像下圖一樣將這些詞語分成三類,但是僅僅是按word class分的話看不出來這些類之間有什麼聯絡,所以用word embedding的方式,我們就可以看到每個詞在二維平面的分佈。橫座標可以看成是否是生物,縱座標可以看成是否表示動的詞。

在這裡插入圖片描述
一個單詞可以從它的上下文去理解。如下圖所示,馬英九和蔡英文在某些方面就相似。
在這裡插入圖片描述

如何利用上下文

這裡我們提出了兩個方法:

count based

如果word1與word2同時出現的概率一樣,那麼word1和word2的向量應該很類似。我們將這兩個向量V1與V2做內積,然後越接近word1和word2在同一篇文章中出現的次數越好。
在這裡插入圖片描述

prediction based

收集資料,比如資料集有一句話潮水退了就知道誰。。。
那麼我給神經網路輸入潮水,退了,那麼它就應該預測出一個結果,越和就字越像,那麼結果就越好。反正就是使交叉熵最小。
在這裡插入圖片描述
將所預測單詞的前一個單詞的向量傳入,使用第一層的神經元的輸出作為word vector,V(w)。如下圖,假設隱藏層的輸出就是z1和z2,那麼向量就是(z1,z2),我們在平面圖畫出這些點。

在這裡插入圖片描述

在這裡插入圖片描述
上述我們都是輸入一個向量,下面我們將所預測單詞的前幾個單詞的向量都輸入,這樣預測效果會準一些。如下圖,我們強制使兩個w相同。這樣的目的是減少引數的使用量,提高效率。
在這裡插入圖片描述
相同顏色的w的值是一樣的。
在這裡插入圖片描述
下面還有兩種變體。見圖知意,就不用多解釋了。
在這裡插入圖片描述

詞嵌入的一些細節

如下圖,我們可以看到這些單詞之間是有聯絡的。
在這裡插入圖片描述
在這裡插入圖片描述
然後我們可以利用向量相減的方式,比如hotter-hot與bigger-big的結果應該是類似的。
在這裡插入圖片描述
多語言嵌入,我們知道一個單詞的中文和英文的向量完全不一樣,那麼找出來的點肯定也不一樣,於是我們可以找一個神經網路,去專門找某單詞中文與英文的關係。
在這裡插入圖片描述
我們也可以直接對文字進行詞嵌入。

在這裡插入圖片描述

在這裡插入圖片描述
理解一句話,單詞的順序是不能被忽視的。下面的例子就說明了同一個bag-of-word(詞袋模型)所表達的意思不一樣。
在這裡插入圖片描述
下面是一些詞袋模型的paper,僅供參考
在這裡插入圖片描述