2019-09-09 15:36:13
問題描述:word2vec 和 glove 這兩個生成 word embedding 的演算法有什麼區別。
問題求解:
glove (global vectors for word representation) 與word2vec,兩個模型都可以根據詞彙的 "共現 co-occurrence" 資訊,將詞彙編碼成乙個向量(所謂共現,即語料中詞彙一起出現的頻率)。
兩者最直觀的區別在於,word2vec是 "predictive" 的模型,而glove是 "count-based" 的模型。
glove 和 word2vec 從演算法實現的角度來說,它們區別在於loss的計算是不同的。
對於原生的w2v,其loss是交叉熵損失;
對於glove來說,其需要先構建乙個共現矩陣x,其中的 xij 表示 i 和 j共同出現的次數,其loss為如下的公式。
f(x) 是乙個權重函式,當 xij 等於0的時候,f(x) = 0,並且當 xij 過大的時候,f(x) = 1。
載入GloVe模型和Word2Vec模型
1 google用word2vec預訓練了300維的新聞語料的詞向量googlenews vecctors negative300.bin,解壓後3.39個g。可以用gensim載入進來,但是需要記憶體足夠大。載入google訓練的詞向量 import gensim model gensim.mod...
詞向量之載入word2vec和glove
1 google用word2vec預訓練了300維的新聞語料的詞向量googlenews vecctors negative300.bin,解壓後3.39個g。可以用gensim載入進來,但是需要記憶體足夠大。載入google訓練的詞向量 import gensim model gensim.mod...
初次理解GloVe及其與word2vec區別
glove global vectors for word representation1 進行詞的向量化表示,使得向量之間盡可能多的蘊含語義和語法的資訊。glove是乙個基於全域性詞頻統計 count based overall statistics 的詞表徵 word representatio...