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