1. 程式人生 > >自然語言處理word2vec的視訊筆記-理論篇

自然語言處理word2vec的視訊筆記-理論篇

n=1的情況舉例

詞典的大小是指單詞的個數

之前一直執著於一個詞怎麼樣,其實nlp是關注整個上下文,也就是概率空間分佈,聯絡到了資料探勘、機器學習的本質,都是概率分佈。如下圖,英文中1,2,3,4,5和西班牙語的概率一致,這也是機器同翻的基礎

輸入層的詞向量可以隨機初始化,在模型訓練過程中不斷調節優化,這點和傳統的神經網路模型不同。

最後的目的:每個詞的詞向量

下面是對上述神經網路的實現改進

一、Hierarchical Softmax:兩種實現方式

CBOW:NN的輸入是詞的上下文,輸出是詞出現的概率

Skip-gram則相反

下面介紹CBOW

哈夫曼樹:權重越高(在nlp中是出現頻率越高)離樹根越近

比如我們要訓練的預料有10000個詞,那在NN的輸出softmax時去輸出1萬個概率值。於是把最常用的詞放在離根據近的節點。

每次執行一個二分類,從根到葉子節點,一步步分層判斷,這就是層次softmax的思想了。這裡會用到sigmoid函式,廣泛應用於二分類,比如邏輯迴歸。將負無窮到正無窮對映到0到1(概率),把它的導數推導一遍,做到爛熟於心

注意下圖把傳統的NN中的hidden layer去掉了

在上圖中,比較重要的是哈夫曼樹的設計和哈夫曼樹中一次次該怎麼分類

目標函式:最大似然函式

求解目標函式:求極大值,梯度上升方向,訓練過程中,調節theta和x兩個變數

二、Negative sample

對於語料庫特別大的情況,哈夫曼樹也會很複雜,所以希望減少負樣本的規模

目標函式

求解

V(w)即為想要的詞向量