吳稟雅 魏苗
摘要:隨著深度學(xué)習(xí)的發(fā)展及其在相關(guān)領(lǐng)域的應(yīng)用,機(jī)器學(xué)習(xí)的性能得到了顯著的提升。例如在自然語言處理和計算機(jī)視覺方面,深度學(xué)習(xí)就在AlphaGo算法中得到了較好的應(yīng)用,這也同樣改變了詞嵌入的處理方法。在本文中,我們簡單回顧幾種最近在深度學(xué)習(xí)中運(yùn)用的詞嵌入方法。
關(guān)鍵詞:詞嵌入;深度學(xué)習(xí);詞向量轉(zhuǎn)換;狀態(tài)向量
中圖分類號:TP18 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)36-0184-02
最近Alpha Go的火熱程度,讓人工智能這個詞語重新回到了人們的視野里。自從Alan Turing 在1950 年提出了圖靈測試以來,就有許多人開始不斷地嘗試,試圖通過這種檢測程序來確定機(jī)器是否具有智能行為的能力。但是到了后期,人們發(fā)現(xiàn)機(jī)器具備一定的語言交流能力不再是一件困難的事情,而單純的圖靈測試也不再是檢測機(jī)器是否具有智能行為的唯一標(biāo)準(zhǔn)。人們對于智能的理解從簡單的交流這種單一化的方面,轉(zhuǎn)向了多元化的方向,例如機(jī)器視覺、機(jī)器人自動化、自然語言處理等都與人工智能息息相關(guān)。那么說起Alpha Go,不得不提它背后的技術(shù)支持,這段電腦程序是由Google Deep Mind公司所開發(fā)研制的。Alpha Go為什么會這么被人關(guān)注,并且能夠成功擊敗人類最強(qiáng)的棋手之一呢?關(guān)鍵在于其深度學(xué)習(xí)的技術(shù)得到了很好的應(yīng)用。
其實對于電腦來說,圍棋相比較其他的游戲設(shè)計而言,更加具有難度。因為對于傳統(tǒng)的人工智能技術(shù)來說,圍棋具有19*19個落子點,要通過alpha-beta 剪枝法、遍歷樹和啟發(fā)式搜索等方法去試圖尋找最優(yōu)得分,并且根據(jù)對手的每一步落子都將建立一個巨大的假設(shè)空間,所以這種計算量過于龐大,機(jī)器無法直接模擬到最后一步,只能考慮到接下來的5步或者6步棋。但是對于Alpha Go來說,它的背后使用了deep convolutional neural networks(CNN, 一種圖像處理的深度神經(jīng)網(wǎng)絡(luò))來進(jìn)行特征點提取以及模式識別,并通過先驗知識來訓(xùn)練它的神經(jīng)網(wǎng)絡(luò)。與此同時,也利用了一種類似于遺傳算法的方式來進(jìn)行程序的自我下棋訓(xùn)練。
CNN的應(yīng)用,讓Alpha Go的性能得到了很大的提升,同樣的事情也發(fā)生在自然語言處理領(lǐng)域。對于自然語言來說,我們并不能讓神經(jīng)網(wǎng)絡(luò)對于詞語或者文字直接進(jìn)行處理,因此我們需要使用相應(yīng)的方法將我們?nèi)祟惖恼Z言和文字轉(zhuǎn)換為深度神經(jīng)網(wǎng)絡(luò)所能理解并且能進(jìn)行學(xué)習(xí)的相應(yīng)數(shù)據(jù),這就涉及了我們下面所講到的詞嵌入(word embedding)方法。接下來我們將介紹自然語言處理中詞嵌入方法的主要幾種模型。
1 詞向量表示法one-hot
首先我們需要明確一個問題,對于深度神經(jīng)網(wǎng)絡(luò)(例如recurrent neural network——RNN)來說,他們并沒有辦法很好地理解我們?nèi)祟惖恼Z言。那么對于機(jī)器而言,我們該如何將人類的語言,轉(zhuǎn)化為一種機(jī)器能夠識別的數(shù)學(xué)語言,從而將機(jī)器的計算能力轉(zhuǎn)換為語言能力呢?在《數(shù)學(xué)之美》一書中,作者吳軍介紹了早期的詞向量表示法one-hot,這種方法借用二進(jìn)制代碼來為語料庫中所出現(xiàn)的詞語賦以唯一的編碼。例如“今天是個好天氣”,進(jìn)行分詞處理后,被劃分為“今天/是/個/好天氣”。那么在這個句子中總共存在四個詞語,因此我們給予“今天”的編碼是“0001”,“是”的編碼是“0010”,“個”的編碼是“0100”以及“好天氣”的編碼是“1000”。通過這種方法,簡單地將詞語轉(zhuǎn)換為一張索引表,然后通過對應(yīng)編碼在詞典中尋找對應(yīng)的詞語。
但是這種方法存在的問題是由于在語料庫中有大量的詞語,從而造成索引所組成的矩陣維度過大,因此需要對其進(jìn)行降維,較為麻煩。因此后續(xù)G. Salton等人在1975年提出了向量空間模型(VSMs)。
2 向量空間模型VSMs
向量空間模型把近似語義的詞語映射在連續(xù)向量空間的點進(jìn)行聚類處理。這種模型方法在自然語言處理中存在著廣泛的應(yīng)用,也是詞嵌入的早期模型,這些模型都基于分布式語義理論。所謂的分布式語義假設(shè)理論基于分布式語義的研究,其內(nèi)容大致可被歸結(jié)為在同一上下文中可以被相關(guān)替換的詞語通常存在著相同或者類似的語義。這種理論對數(shù)據(jù)的稀疏問題產(chǎn)生了巨大的影響,同時這種分布式理論也是概率語義學(xué)的基礎(chǔ)之一。向量空間模型大致可以分為兩類方法:基于統(tǒng)計的方法(計數(shù)為主,例如潛在語義分析),和基于預(yù)測的方法(例如神經(jīng)概率模型)。
在Baroni的文章中,對統(tǒng)計方法和預(yù)測方法進(jìn)行了詳細(xì)的比較。統(tǒng)計方法將語料庫中出現(xiàn)相鄰詞語的頻率數(shù)據(jù)轉(zhuǎn)換為針對于每個詞語的一個小的稠密向量(dense vector),而預(yù)測模型更加直接地從鄰近詞語進(jìn)行推理從而將其映射為一個稠密向量。
例如在神經(jīng)概率模型中主要使用了最大似然法,通過softmax函數(shù)來基于歷史單詞預(yù)測目標(biāo)詞語的概率最大化,從而確定目標(biāo)詞語。具體公式如下所示:
3 word2vec模型
目前較為流行的一種詞嵌入模型為word2vec模型,該種模型的結(jié)構(gòu)與深度神經(jīng)網(wǎng)絡(luò)模型較為接近,并且能夠高效地從語料庫中將詞語以向量的形式進(jìn)行表示。該模型主要有兩種具體的方法,一是在固定窗口空間中,通過窗口中上下文的詞語來預(yù)測目標(biāo)詞語的方法,稱為連續(xù)詞袋模型(continuous bag-of-words model, CBOW);另一種方法則剛好相反,通過目標(biāo)詞來預(yù)測周圍鄰近詞語的模型,稱為skip-gram 模型。
例如對于例句“回歸神經(jīng)網(wǎng)絡(luò) 是 一種深度神經(jīng)網(wǎng)絡(luò)”來說,CBOW模型所做的是基于上文“回歸神經(jīng)網(wǎng)絡(luò) / 是 /一種”來預(yù)測“深度神經(jīng)網(wǎng)絡(luò)”這個目標(biāo)詞。而skip-gram所做的是基于目標(biāo)詞“深度神經(jīng)網(wǎng)絡(luò)”來預(yù)測上下文,與CBOW恰恰相反。CBOW模型對與較小的數(shù)據(jù)集有著更好的作用,但是對于大小數(shù)據(jù)集來說,skip-gram會有更好的效果。因此skip-gram成為了目前在詞嵌入研究中主要的模型之一。
但是上述模型存在的缺點十分明顯,因為模型粒度為單詞,從而導(dǎo)致上述模型在使用過程中,大致存在兩個弱點。首先,無論是在中文還是英文中,語句的順序都十分重要,而上述的模型進(jìn)行預(yù)測時的依據(jù)主要為窗口t的大小,在一定程度上限制了歷史數(shù)據(jù)的采樣長度。例如在情感分析中,判斷依據(jù)話是積極語義還是消極語義,上下文語序就會產(chǎn)生很大的影響,無論是先抑后揚(yáng),還是先揚(yáng)后抑都會因為取樣窗口的長度限制以及語序的丟失造成判斷的不準(zhǔn)確。其次,在上述模型中,沒有辦法很好地選擇性保留語句中的一些重要的信息,簡而言之就是沒有記憶性。所以為了更好地對語句進(jìn)行整體分析,Mikolov與Socher采取了不同的方法嘗試解決長句子的語義分析。
4 長句模型
Mikolov將原有的Word2vec模型中細(xì)粒度提升為了句子和文檔,從而發(fā)展出了Doc2vec的模型。而 Socher則通過將深度遞歸神經(jīng)網(wǎng)絡(luò)模型與語義樹相結(jié)合( Recursive Neural Network with Sentiment Treebank )的辦法,來嘗試對于較長句子的語義分析和評價推理。
在doc2vec模型中,Mikolov將段落語句整體映射到分布式向量空間中,從而將語義相近的句子或者段落用向量進(jìn)行表示,在Distributed Representations of Sentences and Documents文中,他比較了兩種不同的評價方法,一種是fine-grained方法,另一種則是針對于積極消極的二分類法。段落向量的表現(xiàn)的錯誤率為12.2%,而相比較而言,Socher的遞歸神經(jīng)網(wǎng)絡(luò)的錯誤率為17.6%。Mikolov認(rèn)為Socher的實驗中使用的數(shù)據(jù)集為電影評價,均為較短的句子,那么Socher所提出的模型對于較短的、較精煉的句子有著更好的效果,并且其中詞語和詞組對句子整體的情感影響較大。
綜上所述我們可以看出,Socher的遞歸神經(jīng)網(wǎng)絡(luò)以及語義樹更加適合現(xiàn)在國內(nèi)較為發(fā)達(dá)的電子商務(wù)網(wǎng)站上的評價分析。國內(nèi)的電子商務(wù)平臺,例如阿里、京東等,每天都產(chǎn)生大量的用戶針對產(chǎn)品的評價,而在評價中,仍然需要用戶對產(chǎn)品進(jìn)行類似于fine-grained的分類任務(wù),也就是進(jìn)行星級評分,類似于人工對評價進(jìn)行標(biāo)簽處理。面對如此龐大的評價數(shù)據(jù),遞歸神經(jīng)網(wǎng)絡(luò)能夠較為準(zhǔn)確進(jìn)行標(biāo)簽和分類推理,都能將詞語或句子很好地轉(zhuǎn)化為能夠被深度神經(jīng)網(wǎng)絡(luò)所能理解的向量值,從而衍生出更多功能性的研究和開發(fā)。
參考文獻(xiàn):
[1] Silver D, Huang A, Maddison C J, et al.Mastering the game of Go with deep neural networks and tree search[J].Nature, 2016,529(7587):484–489.
[2] Mikolov T, Corrado G, Chen K, et al.Efficient Estimation of Word Representations in Vector Space[J].Proc. Int. Conf. Learn. Represent. (ICLR 2013),2013:1-12.
[3] Socher R, Perelygin A, Wu J Y, et al.Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank.