1. 程式人生 > 其它 >詞向量

詞向量

詞向量

為了數字化的表示詞彙表裡的一個詞,我們很自然的就能想到獨熱編碼的方式。然而這樣做不僅會導致維度過大,而且會造成不同詞的詞向量之間的關係無法通過向量表示出來。所以需要用一種維度更低的向量來表示詞語:詞向量。詞向量是一個維度遠遠小於詞彙表大小的向量,向量裡的每個元素都是浮點數。

skip-gram

按照下圖所示優化模型(訓練權重矩陣W和各權重矩陣W‘ ),則得到的矩陣W的第i行,就是第i個單詞的詞向量。W的列數(N)就是詞向量的維數。

這個方法的核心思想是通過一個單詞預測它的上下文單詞。

CBOW

按照下圖的方式優化模型(計算時要考慮中心詞取詞表中的不同詞的情況,也要考慮中心詞在訓練資料中的所有出現情況)。

訓練得到兩個權重矩陣:W,W'。W的第i行就是第i個詞彙的詞向量,W的列數(N)就是詞向量的維數。

核心思想是根據一個單詞的上下文來推測它本身的含義。

總之,尋找詞向量就是要尋找這樣一個矩陣:獨熱向量乘這個矩陣得到詞向量。