glove全稱是Global Vectors for Word Representation饺律,它是基于全局詞頻統(tǒng)計的詞表征工具窃页,他可以將一個單詞表示為一個向量,這些向量捕捉到了單詞之間的語義特征复濒。
- glove提出原因
在glove提出之前脖卖,主流模型的特點分別是全局矩陣分解(例如LSA)和局部上下文窗口(例如cbow),但是這兩種模型都有顯著的缺點芝薇。對于全局矩陣分解來說胚嘲,沒能捕捉到語義信息,所以在詞語相似度等任務(wù)中表現(xiàn)較差洛二;對于局部上下文窗口方式?jīng)]能很好的利用數(shù)據(jù)中的統(tǒng)計信息馋劈。所以提出了一種新的詞向量生成方式。 - glove model
原理
golve綜合利用詞的全局統(tǒng)計信息和局部統(tǒng)計信息來生成詞向量晾嘶。模型利用了詞全局統(tǒng)計信息-共現(xiàn)矩陣妓雾。共現(xiàn)矩陣中每一個元素表示單詞和單詞在特定大小的上下文窗口中出現(xiàn)到的次數(shù)。與傳統(tǒng)的共現(xiàn)矩陣不同垒迂,glove根據(jù)兩個單詞在上下文窗口的距離,提出了一個衰減函數(shù):即用于計算權(quán)重械姻,也就是說單詞之間的距離越遠那么兩個單詞所占的總計數(shù)權(quán)重也越小。
損失函數(shù)
兩個詞之間的相關(guān)程度机断,可以通過第三個詞來衡量楷拳,如果這兩個詞都與第三個詞相關(guān)或不相關(guān),那么這兩個詞與第三個詞的共現(xiàn)概率比接近于1;如果第一個詞與第三個詞相關(guān)而第二個與第三個詞不相關(guān)吏奸,那么第一個詞和第三個詞的共線概率與第二個詞和第三個詞的共線概率比值要大于1.反之小于1;
設(shè)和是要衡量的詞欢揖,是第三個詞,用公式表示上述思路:
,
其中
經(jīng)過變形奋蔚,可將公式(1)變?yōu)槿缦滤?br>
公式(3)可以很好的近似地表達和之間的關(guān)系她混。
使用最小二乘法作為損失函數(shù):
顯然烈钞,為不同共現(xiàn)程度的詞的損失賦予相同的權(quán)重是不合理的,所以提出根據(jù)共現(xiàn)頻率來為損失賦予權(quán)重
此時要具有以下性質(zhì):
- 保證函數(shù)是非遞減的坤按,因為頻數(shù)越大毯欣,說明相關(guān)性越強
- ,因為當(dāng)出現(xiàn)頻率為0時臭脓,此時損失說明這兩個單詞沒有相關(guān)性
- 當(dāng)頻率很大時酗钞,要給一個盡可能合理的值。如果值過大谢鹊,會導(dǎo)致共現(xiàn)次數(shù)很大的值被賦予過大權(quán)重
綜上所述算吩,的函數(shù)如下所示
實驗
作者將GloVe模型得到的詞向量分別用于Word analogies, Word similarity, Named entity recognition,在相同的數(shù)據(jù)集上和CBOW,SVD等方法進行比較佃扼。最終詞向量表示i
公式(5)中的參數(shù)和就是訓(xùn)練好的詞向量偎巢,經(jīng)過驗證,的效果要好于或兼耀。