GloVe模型的理解及實踐(1)

2021-08-30 19:19:22 字數 1122 閱讀 7838

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

包括7個單詞:i、love、you、but、him、am、sad

設context = 5,則目標單詞的左右長度都為2,以下為統計視窗:

注:中心詞為目標單詞,視窗內容為目標單詞的左右各兩個單詞。

如:"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...