上下文窗口中的單詞共現(xiàn)可能攜帶豐富的語義信息。例如,在大型語料庫中,“固體”一詞與“冰”比“蒸汽”更可能同時出現(xiàn),但“氣體”一詞與“蒸汽”一起出現(xiàn)的頻率可能高于“冰”。此外,可以預(yù)先計算此類共現(xiàn)的全球語料庫統(tǒng)計數(shù)據(jù):這可以提高培訓(xùn)效率。為了利用整個語料庫中的統(tǒng)計信息進(jìn)行詞嵌入,讓我們首先重新審視第 15.1.3 節(jié)中的 skip-gram 模型,但使用全局語料庫統(tǒng)計信息(例如共現(xiàn)計數(shù))來解釋它。
15.5.1。Skip-Gram 與全球語料庫統(tǒng)計
表示為qij條件概率 P(wj∣wi)詞的wj給定的詞wi在 skip-gram 模型中,我們有
(15.5.1)qij=exp?(uj?vi)∑k∈Vexp(uk?vi),
任何索引在哪里i載體vi和 ui代表詞wi分別作為中心詞和上下文詞,并且 V={0,1,…,|V|?1}是詞匯表的索引集。
考慮詞wi可能在語料庫中多次出現(xiàn)。在整個語料庫中,所有上下文詞無論在哪里wi被作為他們的中心詞形成一個多重集 Ci允許同一元素的多個實(shí)例的單詞索引。對于任何元素,其實(shí)例數(shù)稱為其多重性。為了舉例說明,假設(shè)這個詞wi在語料庫和上下文詞的索引中出現(xiàn)兩次 wi作為他們在兩個上下文窗口中的中心詞是 k,j,m,k和k,l,k,j. 因此,多重集 Ci={j,j,k,k,k,k,l,m},其中元素的多樣性j,k,l,m分別為 2、4、1、1。
現(xiàn)在讓我們表示元素的多重性j在多重集中 Ci作為xij. 這是單詞的全局共現(xiàn)計數(shù)wj(作為上下文詞)和詞 wi(作為中心詞)在整個語料庫中的同一上下文窗口中。使用這樣的全局語料庫統(tǒng)計,skip-gram 模型的損失函數(shù)相當(dāng)于
(15.5.2)?∑i∈V∑j∈Vxijlogqij.
我們進(jìn)一步表示xi上下文窗口中所有上下文詞的數(shù)量wi作為他們的中心詞出現(xiàn),相當(dāng)于|Ci|. 出租pij是條件概率xij/xi用于生成上下文詞 wj給定的中心詞wi, (15.5.2) 可以改寫為
(15.5.3)?∑i∈Vxi∑j∈Vpijlogqij.
在(15.5.3)中, ?∑j∈Vpijlogqij計算條件分布的交叉熵pij全球語料庫統(tǒng)計和條件分布qij模型預(yù)測。這種損失也由xi如上所述。最小化(15.5.3)中的損失函數(shù) 將使預(yù)測的條件分布接近全局語料庫統(tǒng)計的條件分布。
雖然通常用于測量概率分布之間的距離,但交叉熵?fù)p失函數(shù)在這里可能不是一個好的選擇。一方面,正如我們在 第 15.2 節(jié)中提到的,適當(dāng)歸一化的成本 qij導(dǎo)致整個詞匯表的總和,這在計算上可能很昂貴。另一方面,來自大型語料庫的大量稀有事件通常由交叉熵?fù)p失建模,以分配過多的權(quán)重。
15.5.2。手套模型
鑒于此,GloVe模型對基于平方損失的 skip-gram 模型做了三處改動(Pennington et al. , 2014):
使用變量pij′=xij和 qij′=exp?(uj?vi)不是概率分布,取兩者的對數(shù),所以平方損失項是 (logpij′?logqij′)2=(uj?vi?logxij)2.
為每個單詞添加兩個標(biāo)量模型參數(shù)wi:中心詞偏差bi和上下文詞偏差ci.
用權(quán)重函數(shù)替換每個損失項的權(quán)重 h(xij), 在哪里h(x)在增加的間隔[0,1].
綜上所述,訓(xùn)練 GloVe 就是最小化下面的損失函數(shù):
(15.5.4)∑i∈V∑j∈Vh(xij)(uj?vi+bi+cj?logxij)2.
對于權(quán)重函數(shù),建議的選擇是: h(x)=(x/c)α(例如α=0.75) 如果 x
需要強(qiáng)調(diào)的是,如果單詞wi出現(xiàn)在單詞的上下文窗口中wj,則反之。所以, xij=xji. 不像word2vec那樣擬合非對稱條件概率pij, GloVe 適合對稱 logxij. 因此,任何詞的中心詞向量和上下文詞向量在 GloVe 模型中在數(shù)學(xué)上是等價的。然而在實(shí)踐中,由于不同的初始化值,同一個詞在訓(xùn)練后仍然可能在這兩個向量中得到不同的值:GloVe 將它們相加作為輸出向量。
15.5.3。從共現(xiàn)概率比解釋 GloVe
我們還可以從另一個角度解讀 GloVe 模型。使用第 15.5.1 節(jié)中的相同符號,令 pij=defP(wj∣wi)是生成上下文詞的條件概率wj給予 wi作為語料庫中的中心詞。表 15.5.1 列出了給定單詞“ice”和“steam”的幾個共現(xiàn)概率及其基于大型語料庫統(tǒng)計數(shù)據(jù)的比率。
我們可以從表 15.5.1中觀察到以下內(nèi)容:
一句話wk與“冰”相關(guān)但與“蒸汽”無關(guān)的,例如wk=solid,我們期望更大的共現(xiàn)概率比,例如 8.9。
一句話wk與“蒸汽”有關(guān)但與“冰”無關(guān)的,例如wk=gas,我們期望更小的共現(xiàn)概率比,例如 0.085。
一句話wk與“冰”和“蒸汽”都相關(guān)的,例如wk=water,我們期望共現(xiàn)概率的比率接近 1,例如 1.36。
一句話wk與“冰”和“蒸汽”均無關(guān),例如wk=fashion,我們期望共現(xiàn)概率的比率接近 1,例如 0.96。
可以看出,共現(xiàn)概率的比值可以直觀地表達(dá)詞與詞之間的關(guān)系。因此,我們可以設(shè)計一個三個詞向量的函數(shù)來擬合這個比例。對于共現(xiàn)概率的比率pij/pik和wi 作為中心詞和wj和wk作為上下文詞,我們想使用一些函數(shù)來擬合這個比率f:
(15.5.5)f(uj,uk,vi)≈pijpik.
在許多可能的設(shè)計中f,我們只在下面選擇一個合理的選擇。由于共現(xiàn)概率的比率是一個標(biāo)量,我們要求f是標(biāo)量函數(shù),例如 f(uj,uk,vi)=f((uj?uk)?vi). 切換單詞索引j和k在(15.5.5)中,它必須認(rèn)為f(x)f(?x)=1, 所以一種可能性是 f(x)=exp?(x), IE,
(15.5.6)f(uj,uk,vi)=exp?(uj?vi)exp?(uk?vi)≈pijpik.
現(xiàn)在讓我們選擇 exp?(uj?vi)≈αpij, 在哪里α是一個常數(shù)。自從pij=xij/xi, 兩邊取對數(shù)后得到 uj?vi≈logα+logxij?logxi. 我們可能會使用額外的偏差項來適應(yīng) ?logα+logxi, 比如中心詞偏差 bi和上下文詞偏差cj:
(15.5.7)uj?vi+bi+cj≈logxij.
用權(quán)重測量式(15.5.7)的平方誤差,得到式(15.5.4)中的GloVe損失函數(shù)。
15.5.4。概括
skip-gram 模型可以使用全局語料庫統(tǒng)計信息(例如詞-詞共現(xiàn)計數(shù))來解釋。
交叉熵?fù)p失可能不是衡量兩個概率分布差異的好選擇,尤其是對于大型語料庫。GloVe 使用平方損失來擬合預(yù)先計算的全局語料庫統(tǒng)計數(shù)據(jù)。
對于 GloVe 中的任何單詞,中心詞向量和上下文詞向量在數(shù)學(xué)上是等價的。
GloVe 可以從詞-詞共現(xiàn)概率的比率來解釋。
15.5.5。練習(xí)
如果的話wi和wj在同一個上下文窗口中同時出現(xiàn),我們?nèi)绾卫盟鼈冊谖谋拘蛄兄械木嚯x重新設(shè)計計算條件概率的方法 pij?提示:請參閱 GloVe 論文 (Pennington等人,2014 年)的第 4.2 節(jié)。
對于任何一個詞,它的中心詞偏向和上下文詞偏向在 GloVe 中在數(shù)學(xué)上是否等價?為什么?
Discussions
wk=
堅硬的
氣體
水
時尚
p1=P(wk∣ice)
0.00019
0.000066
0.003
0.000017
p2=P(wk∣steam)
0.000022
0.00078
0.0022
0.000018
p1/p2
8.9
0.085
1.36
0.96
-
pytorch
+關(guān)注
關(guān)注
2文章
803瀏覽量
13150
發(fā)布評論請先 登錄
相關(guān)推薦
評論