word2vec是Google與2013年開源推出的一個用於獲取word vecter的工具包,利用神經網絡爲單詞尋找一個連續向量看空間中的表示。網絡
word2vec有兩種網絡模型,分別爲:函數
使用上下文的詞彙來同時預測中間詞工具
假設 Courpus = { I drik coffee everyday } ,根據 「I」「drink」「everyday」來預測「coffee」。3d
投影層將每一個詞向量加起來,blog
這裏Xw即上圖Uo ,當Xw傳導到輸出層時,由於輸出層爲一棵二叉樹,每一次分支均可視爲進行一次二分類,將分到左邊爲負類,分到右邊爲正類。
根據sigmoid函數,可將二分類函數寫成:ip
因此,一個結點被分到正類的機率是:it
被分到負類的機率是:class
這裏Θ向量是待定參數。
將每一個分支的機率相乘就是所需的 P( W | Context(W) )重構
對機率函數取對數,即二叉樹
並對式子求 Xw的偏導 和 Θ 的偏導。
最終,經過大量的數據迭代,使用梯度降低更新W和W’,來最小化loss函數,訓練結束後的W就是詞向量的矩陣,任何一個單詞的One-Hot表示乘以這個矩陣W就能夠獲得其詞向量的表示。