初識Word2vec
Christopher Manning CS224n 2019秋
Overview
Word2vec由Mikolov 在2013年提出,是一個學習詞向量(表示)的框架。
Idea
- 現實世界中,首先看到是一大堆文本;–語料庫
- 文本中的每個詞都有其固定的位置,我們就考慮能否將其位置數字化,通過一個形式表示出來呢?–詞向量
- 掃描(利用迭代算法實現)整個文本中詞的位置,我們會發現它有兩個信息,一個是單獨的詞另一個是以這個詞爲中心(背景詞)的上下文(context)
- 利用中心測和其上下文的詞向量相似度去實現給了中心詞c求上下文的概率。
- 持續調整詞向量直至最大化上下文的概率結束。
objective function
需要做的是對於文本中每個詞的位置t= 1……T,給定一箇中心詞,預測窗口大小爲m的上下文。
Likelihood = =
$\theta$爲所優化的全局變量,其目標(損失/代價)函數是負對數似然函數:
T指文本的長度,這裏做一個平均化,對結果沒有實質的影響,只是一個處理手段。
如何優化目標函數?
- 每個詞有兩個向量表示,一是中心詞向量,二是上下文向量。那麼接下來中心詞c和上下文單詞o,表示爲一個熟悉的softmax函數:
- 優化的參數爲
最小化這個目標函數就等價於最大化預測的準確率,這是一個重要技巧,在許多此類函數的處理上都會採用。
-
Softmax函數
- max 最大項的概率會擴大
- soft 很小項的概率仍會分配一定的概率
-
推導