很棒的資料: j=∑
ijnf
(xij
)(vi
tvj+
bi+b
j−lo
g(xi
j))2
j = \sum_^n f(x_)(v_i^tv_j + b_i + b_j - log(x_))^2
j=∑ijn
f(x
ij)
(vit
vj
+bi
+bj
−log
(xij
))2
glove基於詞的共現矩陣x
xx來學習詞向量,考慮了全域性統計資訊,同時設定了權重函式f
ff,使得當詞頻過高的時候,權重沒有過分增大。
具體來說,在glove中,不是將整個corpus作為輸入,而是統計出詞的共現矩陣x,後面基於這個x進行學習。
統計共現矩陣x:
x i,
jx_xi,j
表示在乙個視窗中,單詞i和單詞j同時出現的次數。
這個過程是,依次將語料庫裡的單詞作為視窗中心詞,然後確定其左右兩邊的單詞,從而得到乙個視窗。x中心
詞,左右
兩邊的詞
+=1x_ += 1
x中心詞,左
右兩邊的
詞+=
1 從代價函式看出,glove沒有使用神經網路的方法
j =∑
ijnf
(xij
)(vi
tvj+
bi+b
j−lo
g(xi
j))2
j = \sum_^n f(x_)(v_i^tv_j + b_i + b_j - log(x_))^2
j=∑ijn
f(x
ij)
(vit
vj
+bi
+bj
−log
(xij
))2
作者是從共現矩陣中發現了一定的規律,想讓詞向量與共現矩陣有很好的一致性,從而說明了詞向量中也蘊含了共現矩陣中所蘊涵的資訊。
上面列出的參考鏈結,詳細地介紹了glove優化目標是怎麼得到的。
優化目標中,f
ff函式是乙個加權作用,本著共現頻率越高,權重越大的原則。同時,為了當頻率過高時,權重不應過分增大,作者設計的權重函式是:
glove中文詞向量 GloVe
做自然語言處理的時候很多時候會用的word embedding,訓練詞向量的方法主要有兩條路 glove模型就是將這兩中特徵合併到一起的,即使用了語料庫的全域性統計特徵,也使用了區域性的上下文特徵。為了做到這一點glove模型引入了co occurrence probabilities matrix...
NLP 高階詞向量表達之GloVe詳解
word2vec 與一般的共現計數不同,word2vec主要來 單詞周邊的單詞,在嵌入空間裡相似度的維度可以用向量的減法來進行類別測試。1 對每個local context window單獨訓練,沒有利用包含在global co corrence矩陣中的統計資訊 2 多義詞處理乏力,因為使用了唯一詞...
詞向量之載入word2vec和glove
1 google用word2vec預訓練了300維的新聞語料的詞向量googlenews vecctors negative300.bin,解壓後3.39個g。可以用gensim載入進來,但是需要記憶體足夠大。載入google訓練的詞向量 import gensim model gensim.mod...