Model
模型在考慮形態(tài)(morphology)的同時(shí),學(xué)習(xí)單詞表示。通過(guò)考慮子詞單元并將單詞表示為其字符n-grams之和,作者對(duì)形態(tài)進(jìn)行建模。下面,將開(kāi)始介紹訓(xùn)練詞向量的一般結(jié)構(gòu),隨后介紹子詞模型,最后介紹如何處理n-grams字符字典。
General model
首先對(duì)continuous skip-gram模型進(jìn)行回顧。給定一個(gè)大小為的詞匯表,其中每個(gè)單詞由其對(duì)應(yīng)的索引
表示。目標(biāo)任務(wù)是為每個(gè)單詞
學(xué)習(xí)一個(gè)向量表示。受分布假設(shè)(distributional hypothesis)的啟發(fā),詞表示被訓(xùn)練來(lái)預(yù)測(cè)在其上下文中出現(xiàn)的“恰當(dāng)”單詞。正式地,給定一個(gè)被表示為詞序列
,……,
的大型訓(xùn)練語(yǔ)料庫(kù),skip-gram模型的目的是最大化下面的log-似然:
其中上下文是單詞
周圍單詞的索引。在給定
下,觀察一個(gè)上下文單詞
的概率將使用前面提到的單詞向量進(jìn)行參數(shù)化。從現(xiàn)在起,給定一個(gè)得分函數(shù)
,其將(單詞,上下文)對(duì)映射到
空間上的得分。定義一個(gè)上下文單詞概率可使用softmax:
然而,該模型意味著,給定一個(gè)單詞,僅預(yù)測(cè)一個(gè)上下文單詞
。
預(yù)測(cè)上下文單詞的問(wèn)題可以改為一組獨(dú)立的二元分類任務(wù)。因此,目標(biāo)是獨(dú)立地預(yù)測(cè)上下文單詞的存在(或不存在)。對(duì)在位置的單詞,將其所有上下文單詞作為正樣本,其隨機(jī)從詞匯表中取樣負(fù)樣本。對(duì)在位置為
的上下文單詞,使用二元logistic損失,將獲得以下的負(fù)對(duì)數(shù)似然:
注意:這里每個(gè)正樣本對(duì)應(yīng)的是一組負(fù)樣本?。?!
其中,是一組從詞匯表中采樣的負(fù)樣本。令
為logistic損失函數(shù),上式可寫為:
單詞和上下文單詞
之間的評(píng)分函數(shù)的自然參數(shù)化是使用單詞向量。在詞匯表中的每個(gè)單詞
上定義了
上的兩個(gè)單詞向量
和
。
注意:是skip-gram模型隱藏層權(quán)重矩陣對(duì)應(yīng)的向量,
是skip-gram輸出層的權(quán)重矩陣對(duì)應(yīng)的向量。skip-gram隱藏層的輸入是one-hot向量。因此,其輸出也是隱藏層權(quán)重矩陣中對(duì)應(yīng)的向量。
令和
為單詞
和
對(duì)應(yīng)的向量。因此,得分可以是單詞向量和上下文向量的標(biāo)量?jī)?nèi)積:
。
Subword model
通過(guò)使用不同的向量表示每個(gè)單詞,skip-gram模型忽略了單詞的內(nèi)部結(jié)構(gòu)。為了考慮到這種信息,文章提出了一種不同的得分函數(shù)。
每個(gè)單詞被表示為n-gram字符袋(bag of character n-gram)。特殊的約束符號(hào)<和>分別加在單詞前和單詞后,使得能夠?qū)⑶熬Y和后綴與其他字符序列區(qū)分開(kāi)來(lái)。同樣,為了學(xué)習(xí)每個(gè)單詞的表示(除了n-gram字符),單詞
自身也被包括在其n-gram字符袋中。例如,令
,單詞"where"被表示為下面的n-gram字符:
,
,
,
,
以及特殊的序列
。
值得注意的是,對(duì)應(yīng)單詞“her”的序列和來(lái)自單詞“where”的
是不同的。實(shí)際上,文章提取
大于等于3以及小于等于6的所有n-gram。這是一種非常簡(jiǎn)單的方法,可以考慮不同的n-gram集,例如采用所有前綴和后綴。
給定一個(gè)大小為的n-gram字典。給定一個(gè)單詞
,假設(shè)
為出現(xiàn)在
中的n-gram字符集。每個(gè)n-gram字符
與一個(gè)向量表示
關(guān)聯(lián)。單詞被表示為其所有n-gram字符對(duì)應(yīng)的向量表示之和。因此新的得分函數(shù)為:
這個(gè)簡(jiǎn)單的模型允許跨單詞共享表示,從而允許學(xué)習(xí)罕見(jiàn)單詞的可靠表示。
為了滿足模型的內(nèi)存要求,文章使用一個(gè)哈希函數(shù),將n-gram字符映射到1到的整數(shù)中。我們使用Fowler-Noll-Vo哈希函數(shù)(特別是FNV-1a變體)對(duì)字符序列進(jìn)行哈希處理。最終,一個(gè)單詞由它在單詞字典中的索引和它所包含的哈?;膎-gram字符集來(lái)表示。