[Embeding-3]综述:词嵌入以及与分布式语义模型的关联
1. 前言
近年來,在許多NLP任務(wù)中,無監(jiān)督學(xué)習(xí)單詞嵌入已經(jīng)取得了巨大的成功。他們的效果如此之好,以至于在許多NLP體系結(jié)構(gòu)中,幾乎完全取代了更傳統(tǒng)的分布式表示,如LSA特征和Brown聚類。
可以看看2017的EMNLP和ACL會(huì)議,他們都及其關(guān)注詞嵌入,即使最近的ACL Communication,也直言道詞嵌入是NLP突破的催化劑,這時(shí)候我們不僅要仔細(xì)思考,詞嵌入真的需要如此的大肆宣傳嗎?
本綜述旨在深入了解單詞嵌入及其有效性。我們將討論它們的起源,比較流行的嵌入單詞模型和與之相關(guān)的挑戰(zhàn),并嘗試回答/揭穿一些常見的問題和誤解。然后,我們將通過將它們與分布語義學(xué)中的文獻(xiàn)聯(lián)系起來,并強(qiáng)調(diào)實(shí)際上能夠解釋單詞嵌入模型成功的因素,來消除單詞嵌入的假象。
2. 詞嵌入簡史
向量空間模型自20世紀(jì)90年代以來一直被應(yīng)用于分布語義學(xué)中,從那時(shí)起,我們已經(jīng)看到了一個(gè)用于估計(jì)詞的連續(xù)表示的數(shù)字模型的發(fā)展,潛在dirichlet分配(LDA)和潛在語義分析(LSA)就是兩個(gè)典型技術(shù)。
詞嵌入一詞最初是由bengio等人創(chuàng)造的。2003年,他用神經(jīng)語言模型和模型的參數(shù)訓(xùn)練他們。然而,collobert和weston無疑是第一個(gè)在2008年的論文中展示了預(yù)先訓(xùn)練過的單詞嵌入威力的研究學(xué)者,這是一個(gè)統(tǒng)一的自然語言處理架構(gòu),在該架構(gòu)中,當(dāng)在下游任務(wù)中使用時(shí),他們將單詞嵌入作為一種非常有效的工具,同時(shí)也將其應(yīng)用于解開今天許多方法所建立的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。Mikolov等人(2013年)通過創(chuàng)建Word2vec(一種能夠訓(xùn)練和使用預(yù)訓(xùn)練的詞嵌入的工具包)真正將嵌入單詞推向了前臺。2016年,Pennington等人向我們介紹了Glove,一組更具競爭力的預(yù)訓(xùn)練詞嵌入模型,使得詞嵌入突然成為主流。
目前,詞匯嵌入被認(rèn)為是少數(shù)成功應(yīng)用于無監(jiān)督學(xué)習(xí)的方法之一。他們不需要昂貴的詞性標(biāo)注,這是主要優(yōu)勢,它們可以從已經(jīng)存在的未經(jīng)標(biāo)記的語料庫中派生出來新的詞向量表示。
3. 詞嵌入模型
- Embedding Layer :(Bengio et al., 2006)
自然地,每一個(gè)前饋神經(jīng)網(wǎng)絡(luò)將詞匯作為輸入,并將它們作為向量嵌入到一個(gè)較低維的空間中,然后通過反向傳播對其進(jìn)行微調(diào),必然產(chǎn)生詞匯嵌入作為第一層的權(quán)重,這通常被稱為layer emdbeding。
像這樣的網(wǎng)絡(luò)和像word2vec這樣的方法的關(guān)鍵區(qū)別在于其計(jì)算復(fù)雜性,這解釋了為什么直到2013年,單詞嵌入才在nlp空間變得如此突出。近年來,計(jì)算能力的迅速發(fā)展和可承受性無疑幫助了它的出現(xiàn)。
Glove和Word2vec的訓(xùn)練目標(biāo)是另一個(gè)不同之處,相同之處兩者都是為了產(chǎn)生編碼一般語義關(guān)系的詞嵌入,并在許多下游任務(wù)中提供好處。相比之下,常規(guī)神經(jīng)網(wǎng)絡(luò)通常產(chǎn)生特定于任務(wù)的嵌入,但在其他地方使用它們時(shí)存在局限性。
在接下來的模型對比中,約定一下符號是成立的:
4. Classic neural language model 經(jīng)典的語言模型
Figure2:經(jīng)典的自然語言模型(Bengio et al., 2003) one-shot編碼Bengio等人(2013[1])提出了最經(jīng)典神經(jīng)語言模型。[它由一個(gè)隱藏層的前饋神經(jīng)網(wǎng)絡(luò)組成,該網(wǎng)絡(luò)可以預(yù)測圖2中序列中的下一個(gè)單詞。他們的模型最大化了我們上面描述的原型神經(jīng)語言模型目標(biāo)(為了簡單起見,省略了正則化項(xiàng)):
模型的輸出是f(wt,wt?1,?,wt?n+1);意味著p(wt|wt?1,?,wt?n+1)通過softmax計(jì)算的概率;n表示該該單詞所在序列的前n個(gè)單詞;畢竟Bengio想利用前n-1個(gè)單詞作為輸入,預(yù)測第n個(gè)單詞。
Bengio等人最先介紹的這種模型被稱為詞嵌入的先驅(qū)(就是emgbeding layer),即R空間中的實(shí)值詞對應(yīng)的特征向量。他們的模型的基礎(chǔ)仍然可以在今天的神經(jīng)語言和嵌入單詞的模型中找到。包括:
- Embedding Layer: 該層通過一個(gè)索引詞向量與詞嵌入矩陣相乘,從而生成詞嵌入;
- Intermediate Layer(s): 通過一個(gè)或多個(gè)層將輸入映射為中間層,例如,采用非線性全連接層將前n個(gè)單詞的詞嵌入連接;
- Softmax Layer:對應(yīng)于單詞庫V,最終模型對每個(gè)word產(chǎn)生一個(gè)概率分布(概率最大的單詞對應(yīng)的應(yīng)該是下一個(gè)要預(yù)測的詞,訓(xùn)練的目的就是使得概率最大的單詞逼近金標(biāo)準(zhǔn));
Bengio等人也揭示了當(dāng)時(shí)最先進(jìn)模型遇到的兩個(gè)問題:
- 首先,可以利用LSTM進(jìn)行替換,引入上下文的記憶,該方法被[6][7]所采用;
- 最終的SoftMax層(更準(zhǔn)確地說,歸一化項(xiàng))確定為網(wǎng)絡(luò)的主要瓶頸,因?yàn)橛?jì)算SoftMax的成本與vocabulary 中的單詞數(shù)量成比例,而vocabulary通常包含數(shù)十萬個(gè),百萬個(gè)words;
因此,在Large Vocaburary[9]上減輕計(jì)算SoftMax的成本是神經(jīng)語言和嵌入單詞模型的主要挑戰(zhàn)/機(jī)遇之一。
5.?C&W model
Figure 3 :The C&W model without ranking objective (Collobert et al., 2011)在Bengio等人在神經(jīng)語言模型方面的初步探索之后,隨著計(jì)算能力和算法還沒有達(dá)到能夠訓(xùn)練大量詞匯的水平,對單詞嵌入的研究一直停滯不前。2008年,collobert和weston[4](就是c&w)證明了在足夠大的數(shù)據(jù)集上訓(xùn)練的單詞嵌入具有語法和語義意義,并提高了下游任務(wù)的性能。在他們2011年的論文中,他們進(jìn)一步解釋了這一點(diǎn)[8]。
為了避免計(jì)算昂貴的SoftMax,collobert和weston[4]的解決方案是使用一個(gè)可以替代的目標(biāo)函數(shù):而不是Bengio等人的交叉熵準(zhǔn)則,該準(zhǔn)則最大化給定前面n個(gè)詞的下一個(gè)詞的概率,Collobert和Weston訓(xùn)練一個(gè)網(wǎng)絡(luò)輸出一個(gè)更高分?jǐn)?shù)fθ,作為正確的單詞預(yù)測(而在Bengio的模型中可能是單詞序列)。為此,他們使用pairwise ranking criterion,如下所示:
在語料庫中,他們從所有可能的窗口X中采樣包含n個(gè)words的正確窗口x。然后,對于每個(gè)窗口x,他們生成一個(gè)錯(cuò)誤的x)。進(jìn)而,他們的目標(biāo)是使模型輸出的分?jǐn)?shù)之間的距離最大化,以獲得正確和錯(cuò)誤的窗口,并留有1的margin。如果沒有ranking objective,他們的模型架構(gòu)如圖3所示,類似Bengio等人的模型。
由此生成的的語言模型的embeding,已經(jīng)擁有語義關(guān)聯(lián),例如,國家聚集在一起,語法上相似的詞在vector空間中形成聚類效應(yīng)。盡管ranking objective 舒緩了softmax的復(fù)雜性,他們保留了中間的全連接隱含層和hardTanh層,這仍然是計(jì)算代價(jià)的主要來源,在詞匯量|V|=130000情況下,訓(xùn)練這樣的模型也需要幾周的時(shí)間。
6. Word2Vec
Word2vec可以說是最流行的嵌入模型。由于單詞嵌入是NLP深度學(xué)習(xí)模型的一個(gè)關(guān)鍵元素,因此一般認(rèn)為它也屬于深度表示的一種。然而,從技術(shù)上講,word2vec并不被視為深度學(xué)習(xí)的一個(gè)組成部分,理由是它的架構(gòu)既不深入,也不使用非線性(與bengio的模型和C&W模型相比)。
Mikolov等人[2]給出了學(xué)習(xí)單詞嵌入的兩種架構(gòu),與以前的模型相比,這種架構(gòu)的計(jì)算成本更低。這些體系結(jié)構(gòu)比Bengio和C&W模型有兩個(gè)主要優(yōu)點(diǎn);
- 丟棄了高昂的隱含層
-
允許語言模型考慮word的上下文,雖然最終目的就是為了學(xué)習(xí)word embeding
模型的成功不僅可以歸因于神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)差異,更重要的是來自于具體的訓(xùn)練策略。
6.1?Continuous bag-of-words (CBOW)
Figure 4:ontinuous bag-of-words (Mikolov et al., 2013)與只能基于過去單詞序列進(jìn)行預(yù)測的語言模型不同,CBOW的上下文策略明顯不受這種限制,如圖4所示。當(dāng)我們看到他的目標(biāo)函數(shù)的時(shí)候,更會(huì)恍然大悟。Mikolov等人將Bengio等人的生成模型變成了判別模型:
所以,談到該模型的時(shí)候,我們應(yīng)該認(rèn)識到,上下文和判別目標(biāo)函數(shù)是他的創(chuàng)新點(diǎn)。當(dāng)然,我們也會(huì)問,該模型仍然面臨Vocaburary中那么多words進(jìn)行softmax的高昂操作。其實(shí)作者在原文中也進(jìn)行了改進(jìn),提出了分層softmax及其近似的策略。
6.2?Skip-gram
Figure 5:Skip-gram (Mikolov et al., 2013)乍一看該模型,我們會(huì)感覺這就是CBOW的逆過程。通過目標(biāo)函數(shù)也能看出來,確實(shí)是這樣:
不過,在真實(shí)用到他們時(shí),還是有不同的。上一篇博客中也談到過,由于訓(xùn)練方式的不同,CBOW在句法syntactic分析上效果顯著,skip-gram在語意semantic和句法syntactic性能都很優(yōu)秀。
7.?GloVe
Figure 6: Vector relations captured by GloVe (Stanford)Glove在保留Word2vec優(yōu)勢的同時(shí),引入了全局的統(tǒng)計(jì)信息。在后面我會(huì)仔細(xì)分析Glove的成功原因。具體來說,Glove的創(chuàng)建者闡明兩個(gè)單詞的共現(xiàn)概率的比率(而不是它們的共現(xiàn)概率本身)是包含信息的,因此希望將這些信息編碼為矢量差異。為了實(shí)現(xiàn)這一點(diǎn),他們提出了加權(quán)最小二乘目標(biāo)J,其直接目的是減少兩個(gè)詞的矢量的點(diǎn)積與其共現(xiàn)次數(shù)的對數(shù)之間的差異:
其中,wi和bi表示第i個(gè)單詞的矢量和偏置;帶有~標(biāo)識的wj和bj上下文第j個(gè)單詞對應(yīng)的矢量和偏置;Xij指包含單詞j的上下文環(huán)境中出現(xiàn)單詞i的次數(shù);f(Xij)是權(quán)重函數(shù),對于很低的共現(xiàn)頻率將會(huì)賦予非常小的權(quán)重。
由于共現(xiàn)計(jì)數(shù)可以直接編碼在word-context共現(xiàn)矩陣中,所以Glove采用這樣的矩陣而不是整個(gè)語料庫作為輸入。
8.?Word embeddings vs. distributional semantics models?
Word2vec和Glove等嵌入詞模型因其具有規(guī)律性和顯著性優(yōu)于傳統(tǒng)的分布語義模型(DSMs)而獲得了廣泛的應(yīng)用。許多人把這歸因于word2vec的神經(jīng)結(jié)構(gòu),或者它預(yù)測單詞的事實(shí),而單詞似乎天生就比僅僅依靠共現(xiàn)計(jì)數(shù)有優(yōu)勢。DSMs可以看作是計(jì)數(shù)模型,因?yàn)樗鼈兺ㄟ^在共現(xiàn)矩陣上操作來“計(jì)數(shù)”單詞間的共現(xiàn)。相反,神經(jīng)嵌入模型可以被看作是預(yù)測模型,因?yàn)樗鼈冊噲D預(yù)測周圍的單詞。2014年,Baroni等人[11]證明,在幾乎所有任務(wù)中,預(yù)測模型始終優(yōu)于計(jì)數(shù)模型。
但是,)Levy等人(2015)在英語維基百科上訓(xùn)練所有模型,并根據(jù)常用的單詞相似性和類比數(shù)據(jù)集對其進(jìn)行評估。得到了以下結(jié)論:
- Levy等人發(fā)現(xiàn)SVD——而不是單詞嵌入算法——在相似性任務(wù)上表現(xiàn)最好,而SGN【Skip-gram with Negative Sampling (SGNS)】在相似性數(shù)據(jù)集上表現(xiàn)最好。此外,與其他選擇相比,它們還揭示了超參數(shù)的重要性:超參數(shù)設(shè)置通常比算法選擇更重要,沒有哪一種算法能比其他方法更好。在更大的語料庫上進(jìn)行訓(xùn)練有助于完成某些任務(wù)。在6個(gè)案例中,有3個(gè)案例中,調(diào)整超參數(shù)更為有益。
- 有了正確的超參數(shù),沒有一種方法比另一種方法具有一致的優(yōu)勢。在Levy等人的所有比較任務(wù)中,SGNS優(yōu)于Glove。這必須用細(xì)粒度處理,因?yàn)镚love在其他任務(wù)上表現(xiàn)得更好。CBOW在任何任務(wù)上都不優(yōu)于SGN。
目前,研究學(xué)者對于word Embeding的初步經(jīng)驗(yàn)是:
不要在SVD中使用移位PPMI
不要“正確”使用SVD,即沒有特征向量加權(quán)(性能比特征值加權(quán)下降15點(diǎn),p=0.5)。
在短上下文(窗口大小為2)中使用PPMI和SVD。
在SGNS中使用許多負(fù)樣本。
對于所有方法,務(wù)必使用上下文分布平滑(將unigram分布提高到α=0.75的冪次)。
一定要使用SGNS作為基線(強(qiáng)健、快速和廉價(jià)的訓(xùn)練)。
嘗試在SGNS和Glove中添加上下文向量。
初步結(jié)論:
Levy等人的結(jié)果與普遍的共識相反,即單詞嵌入優(yōu)于傳統(tǒng)方法。相反,它們表明無論使用單詞嵌入還是分布方法,它通常都沒有任何區(qū)別。真正重要的超參數(shù)得到了調(diào)整,并且使用了適當(dāng)?shù)念A(yù)處理和后處理步驟。Jurafsky的小組[13],[14]最近的研究反映了這些發(fā)現(xiàn),并說明SVD,而不是SGNS,通常是首選,對于準(zhǔn)確的words presentation非常重要。
References:
[1]: Bengio, Y., Ducharme, R., Vincent, P., & Janvin, C. (2003). A Neural Probabilistic Language Model. The Journal of Machine Learning Research, 3, 1137–1155. http://doi.org/10.1162/153244303322533223
[2]: Mikolov, T., Corrado, G., Chen, K., & Dean, J. (2013). Efficient Estimation of Word Representations in Vector Space. Proceedings of the International Conference on Learning Representations (ICLR 2013), 1–12.
[3]: Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Distributed Representations of Words and Phrases and their Compositionality. NIPS, 1–9.
[4]: Collobert, R., & Weston, J. (2008). A unified architecture for natural language processing. Proceedings of the 25th International Conference on Machine Learning – ICML ’08, 20(1), 160–167. http://doi.org/10.1145/1390156.1390177
[5]: Pennington, J., Socher, R., & Manning, C. D. (2014). Glove: Global Vectors for Word Representation. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, 1532–1543. http://doi.org/10.3115/v1/D14-1162
[6]: Kim, Y., Jernite, Y., Sontag, D., & Rush, A. M. (2016). Character-Aware Neural Language Models. AAAI. Retrieved from http://arxiv.org/abs/1508.06615
[7]: Jozefowicz, R., Vinyals, O., Schuster, M., Shazeer, N., & Wu, Y. (2016). Exploring the Limits of Language Modeling. Retrieved from http://arxiv.org/abs/1602.02410
[8]: Collobert, R., Weston, J., Bottou, L., Karlen, M., Kavukcuoglu, K., & Kuksa, P. (2011). Natural Language Processing (almost) from Scratch. Journal of Machine Learning Research, 12 (Aug), 2493–2537. Retrieved from http://arxiv.org/abs/1103.0398
[9]: Chen, W., Grangier, D., & Auli, M. (2015). Strategies for Training Large Vocabulary Neural Language Models, 12. Retrieved from http://arxiv.org/abs/1512.04906
[10]: Levy, O., Goldberg, Y., & Dagan, I. (2015). Improving Distributional Similarity with Lessons Learned from Word Embeddings. Transactions of the Association for Computational Linguistics, 3, 211–225. Retrieved from https://tacl2013.cs.columbia.edu/ojs/index.php/tacl/article/view/570
[11]: Baroni, M., Dinu, G., & Kruszewski, G. (2014). Don’t count, predict! A systematic comparison of context-counting vs. context-predicting semantic vectors. ACL, 238–247. http://doi.org/10.3115/v1/P14-1023
[12]: Levy, O., & Goldberg, Y. (2014). Neural Word Embedding as Implicit Matrix Factorization. Advances in Neural Information Processing Systems (NIPS), 2177–2185. Retrieved from http://papers.nips.cc/paper/5477-neural-word-embedding-as-implicit-matrix-factorization
[13]: Hamilton, W. L., Clark, K., Leskovec, J., & Jurafsky, D. (2016). Inducing Domain-Specific Sentiment Lexicons from Unlabeled Corpora. Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Retrieved from http://arxiv.org/abs/1606.02820
[14]: Hamilton, W. L., Leskovec, J., & Jurafsky, D. (2016). Diachronic Word Embeddings Reveal Statistical Laws of Semantic Change. arXiv Preprint arXiv:1605.09096.
總結(jié)
以上是生活随笔為你收集整理的[Embeding-3]综述:词嵌入以及与分布式语义模型的关联的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++函数如何操作堆栈指针esp
- 下一篇: 盖茨依然坐镇微软搜索团队 要与谷歌争高下