1) 原理
功能:基於語料庫構建詞的共現矩陣,然後基於共現矩陣和glove模型對詞彙進行向量化表示
輸入:語料庫 輸出:詞向量
2)與skip-gram、cbow模型比較
例如:句子為"dog barked at the mailman" ,目標單詞為'at'skip-gram模型:skip-gram模型只關注單個輸入/輸出元組中的目標詞和上下文中的單個單詞,輸入為["dog", "at"]
cbow模型:關注目標單詞和單個樣本中上下文的所有單詞,則輸入為[["dog","barked","the","mailman"],"at"]
因此,在給定資料集中,對於指定單詞的上下文而言,cbow比skip-gram會獲取更多的資訊。global vector融合了矩陣分解的全域性統計資訊和上下文資訊。
3)步驟
1.構建共現矩陣
例如句子為:i love you but you love him i am sad設context = 5,則目標單詞的左右長度都為2,以下為統計視窗:包括7個單詞:i、love、you、but、him、am、sad
注:中心詞為目標單詞,視窗內容為目標單詞的左右各兩個單詞。
如:"i"左邊無單詞,右邊有兩個單詞"love","you",所以視窗內容為["i","love","you"]
設:語料句子長度為n,共現矩陣為
表示在整個語料庫中,單詞
如中心詞為「you」(下標為2),context單詞為「i、love、but、you」
(下標分別為0,1,3,4),則執行:
再重複以上步驟,將整個語料庫遍歷一遍。
2.使用glove模型訓練詞向量
代價函式為
參考:
理解GloVe模型
輸入 語料庫 輸出 詞向量 方法概述 首先基於語料庫構建詞的共現矩陣,然後基於共現矩陣和glove模型學習詞向量。x,其元素為xi,jxi,j。x i,jxi,j 的意義為 在整個語料庫中,單詞i i和單詞j j共同出現在乙個視窗中的次數。舉個栗子 設有語料庫 中心詞視窗內容0i i love yo...
Glove模型的理解
glove模型的理解可以看如下的文章內容 glove模型的理解 這個檔案包含了對應的50維度,100維度以及200維度的詞向量矩陣的內容。glove對應的矩陣的含義 根據語料庫 corpus 構建乙個共現矩陣 co ocurrence matrix 什麼是共現矩陣?矩陣中的每乙個元素代表單詞和上下文...
word2vec 和 glove 模型的區別
2019 09 09 15 36 13 問題描述 word2vec 和 glove 這兩個生成 word embedding 的演算法有什麼區別。問題求解 glove global vectors for word representation 與word2vec,兩個模型都可以根據詞彙的 共現 c...