語義向量存儲
㈠ 二、詞向量和語義
基於統計的詞向量目的是,希望通過低維稠密向量來表示詞的含義,例如:
在上面三個句子中,比如對於like這個詞,在三個句子中,其左右共出現2次I,1次deep 和1次NLP,所以like對謹基卜應的詞向量中,I、deep和NLP維的值分別為2,1,1。
詞梳理很多時,矩陣很大,維度很高,需要的存儲空間也很大
當詞的數目是在不斷增長,則詞向量的維度也在不斷增長
矩陣很稀疏,即詞向量很稀疏,會遇到稀疏計算的問題
表示上下文單詞
代表單詞
表示在特定大小的上下文窗口(context window)內共同出現的次數。這個次數的最小單位是1,但是 GloVe不這么認為: 它根據兩個單詞在上下文窗口的距離dd.提出了一個衰減函數(decreasing weighting): 用於計算權重,也就是說距離越遠的兩個單詞所佔總 計數(total count)的權重越小。
其中, 是我們最終要求解的詞向量; 分別是兩個 詞向量的bias term
那它到底是怎麼來的,為什麼祥穗要使用這個公式?為什麼要構鋒凳造兩個詞向量 ?
有了上述公式之後,我們可以構建Loss function:
實驗中作者設定 ,並且發現 時效果比較好。
GloVe 與word2vec,兩個模型都可以根據詞彙的 "共現 co-occurrence" 信息,將詞彙編碼成一個向量。
兩者最直觀的區別在於,word2vec是 "predictive" 的模型,而GloVe是 "count-based" 的模型。
Glove 和 word2vec 從演算法實現的角度來說,它們區別在於loss的計算是不同的:
兩個模型在並行化上有一些不同,即GloVe更容易並行化,所以對於較大的訓練數據,GloVe更快。