NLP 高階詞向量表達之GloVe詳解

2021-10-04 19:24:32 字數 1376 閱讀 9026

word2vec:與一般的共現計數不同,word2vec主要來**單詞周邊的單詞,在嵌入空間裡相似度的維度可以用向量的減法來進行類別測試。

1、對每個local context window單獨訓練,沒有利用包含在global co-corrence矩陣中的統計資訊

2、多義詞處理乏力,因為使用了唯一詞向量。

當前,學習詞向量表示的方法主要有兩種型別:一種是基於全域性矩陣分解的方法,如lsa,另一種是區域性上下文視窗的方法,如mikolov在2023年提出來的cbow和skip-gram方法。但是這兩種方法都有各自的缺陷,其中,lsa雖然有效利用了統計資訊,但是在詞彙模擬方面卻很差,而cbow和skip-gram雖然可以很好地進行詞彙模擬,但是因為這兩種方法是基於乙個個區域性的上下文視窗方法,因此,沒有有效地利用全域性的詞彙共現統計資訊。

為了克服全域性矩陣分解和區域性上下文視窗的缺陷,在2023年,jeffrey pennington等人提出了一種新的glove方法,該方法基於全域性詞彙共現的統計資訊來學習詞向量,從而將統計資訊與區域性上下文視窗方法的優點都結合起來,並發現其效果確實得到了提公升。《glove: global vectors for word representation jeffrey》

glove和word2vec的思路相似,但是充分考慮了詞的共現情況,比率遠比原始概率更能區分詞的含義。

以上就是有關glove原理的介紹,作者其實也是基於最開始的猜想一步一步簡化模型的計算目標,最後看glove的目標函式時發現其實不難計算,但是要從最開始就想到這樣乙個目標函式其實還是很難的。最後做一下總結:

glove綜合了全域性詞彙共現的統計資訊和區域性視窗上下文方法的優點,可以說是兩個主流方法的一種綜合,但是相比於全域性矩陣分解方法,由於glove不需要計算那些共現次數為0的詞彙,因此,可以極大的減少計算量和資料的儲存空間。

但是glove把語料中的詞頻共現次數作為詞向量學習逼近的目標,當語料比較少時,有些詞彙共現的次數可能比較少,筆者覺得可能會出現一種誤導詞向量訓練方向的現象。

詞向量表示

介紹 lsa是基於滑動視窗的共現矩陣 co occurence 以及svd的方法,通過svd來對共現矩陣進行降維,從而獲得低維度的詞向量。實現 假設window長度為1 語料庫中包含三個句子 i like deep learning.i like nlp.i enjoy flying.通過滑動視窗可...

NLP(四)詞向量

關於word2vec的原理網上很詳細了 本文 共2種詞向量轉換方式 1 獨熱編碼 2 word2vec from sklearn.preprocessing import labelencoder one hot labelencoder 輸入為列表好像也可以 word vector one hot...

NLP 如何評估詞向量

目前詞向量的評估一般分為兩大類 extrinsic evaluation和 intrinsic evaluation。即內部評估和外部評估。內部評估直接衡量單詞之間的句法和語義關係。這些任務通常涉及一組預先選擇的查詢術語和語義相關的目標詞彙,我們將其稱為query inventory。當前絕大部分工...