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

https://www.bilibili.com/video/av26923188?p=2

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)即爲想要的詞向量

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章