在過(guò)去幾年,深度學(xué)習(xí)(DL)的架構(gòu)和算法在很多領(lǐng)域都取得了里程碑似的進(jìn)展,例如圖像識(shí)別和語(yǔ)言處理。
起初,深度學(xué)習(xí)在自然語(yǔ)言處理(NLP)中的應(yīng)用并不起眼,但后來(lái)卻出現(xiàn)了許多重量級(jí)的成果,例如命名實(shí)體識(shí)別(NER)、詞性標(biāo)注(POS tagging)或文本情感分析(sentiment analysis)等都是神經(jīng)網(wǎng)絡(luò)模型超越傳統(tǒng)模型的方法。然而,機(jī)器翻譯領(lǐng)域所取得的進(jìn)步才是最顯著的。
本文作者Javier Couto是tryo labs公司的一名研發(fā)科學(xué)家,專(zhuān)注于NLP技術(shù)。這篇文章是他對(duì)2017年NLP領(lǐng)域中深度學(xué)習(xí)技術(shù)應(yīng)用的總結(jié),也許并不全面,但都是他認(rèn)為有價(jià)值、有意義的成果。Couto表示,2017年是對(duì)NLP領(lǐng)域非常有意義的一年,隨著深度學(xué)習(xí)的應(yīng)用,NLP技術(shù)也將繼續(xù)發(fā)展下去。
從訓(xùn)練word2vec到使用預(yù)先訓(xùn)練的模型
通常來(lái)說(shuō),詞嵌入(word embeddings)是與NLP相關(guān)的最有名的深度學(xué)習(xí)技術(shù)了,它遵循了Harris提出的分布假想(distributional hypothesis),分布假想源自于語(yǔ)言學(xué)中的語(yǔ)義學(xué)原理,即認(rèn)為出現(xiàn)在相似的上下文環(huán)境中的詞匯可能是用于表達(dá)相似的意思。
詞的分布式向量
雖然著名的word2vec和GloVe等算法不能算作是深度學(xué)習(xí)框架(word2vec中只涉及淺顯的神經(jīng)網(wǎng)絡(luò),而GloVe是基于矩陣的方法),但用它們訓(xùn)練的許多模型都被輸入到用于NLP的深度學(xué)習(xí)工具中。所以在這一領(lǐng)域使用詞嵌入通常是非常好的做法。
開(kāi)始時(shí),對(duì)于一個(gè)需要詞嵌入的問(wèn)題,我們傾向于從與該領(lǐng)域相關(guān)的語(yǔ)料庫(kù)中訓(xùn)練自己的模型。不過(guò),這種方法并不適用于所有情況,所以出現(xiàn)了預(yù)訓(xùn)練模型。通過(guò)在維基百科、Twitter、谷歌新聞以及其他網(wǎng)頁(yè)上訓(xùn)練,這些模型可以讓你輕松地將詞嵌入整合到深度學(xué)習(xí)算法中。
今年,許多人認(rèn)為預(yù)訓(xùn)練的詞嵌入模型仍然是NLP中的一個(gè)關(guān)鍵問(wèn)題。例如,F(xiàn)acebook人工智能實(shí)驗(yàn)室(FAIR)發(fā)布的fastText是一款能夠支持294種語(yǔ)言的預(yù)訓(xùn)練詞嵌入模型,為NLP領(lǐng)域做出了巨大的貢獻(xiàn)。除了支持多種語(yǔ)言,fastText還能夠?qū)⒆址纸獬勺址鹡-gram,即使遇到詞典中不存在的字(OOV problem),也能給出向量表示。因?yàn)橐恍┨囟I(lǐng)域的罕見(jiàn)詞仍然可以被分解成字符n-gram,所以它們可以與通用字共享這些n-gram。而word2vec和GloVe都不能為詞典中不存在的詞提供向量表示。所以從這方面來(lái)說(shuō),fastText比上述兩種方法表現(xiàn)得更好,在小數(shù)據(jù)集上更是如此。
不過(guò),雖然取得了一些進(jìn)展,NLP方面還有很多工作要做。例如,強(qiáng)大的NLP框架spaCy能夠以本地方式將詞嵌入整合到深度學(xué)習(xí)模型中,完成例如NER或依存句法分析(Dependency Parsing)等任務(wù),允許用戶(hù)更新或使用自己的模型。
我認(rèn)為,在將來(lái),對(duì)于易于在NLP框架中使用的特定領(lǐng)域(例如生物學(xué)、文學(xué)、經(jīng)濟(jì)等),使用預(yù)訓(xùn)練的模型是很合適的。對(duì)我們來(lái)說(shuō),如果能用最簡(jiǎn)單的方式對(duì)它們進(jìn)行調(diào)校,那就更是錦上添花的進(jìn)步了。與此同時(shí),能夠適應(yīng)詞嵌入的方法開(kāi)始出現(xiàn)。
將通用型嵌入應(yīng)用到具體應(yīng)用案例
使用預(yù)訓(xùn)練的詞嵌入的主要缺點(diǎn)就是,訓(xùn)練數(shù)據(jù)與實(shí)際問(wèn)題中的數(shù)據(jù)存在著詞語(yǔ)分布的差距(word distributional gap)。假如你有一份生物學(xué)論文、或一份食譜、或經(jīng)濟(jì)學(xué)研究論文的語(yǔ)料,但是沒(méi)有足夠大的語(yǔ)料庫(kù)來(lái)訓(xùn)練良好的嵌入,所以最終會(huì)選擇通用詞嵌入來(lái)幫助你提高結(jié)果。但是如果能將通用的嵌入調(diào)整為適合你個(gè)人案例的情況呢?
這種適應(yīng)通常被稱(chēng)為NLP中的跨領(lǐng)域或域自適應(yīng)技術(shù),與遷移學(xué)習(xí)非常接近。Yang等人今年提出了一個(gè)正則化的skip-gram模型,給定始源域(source domain)的嵌入,可以學(xué)習(xí)目標(biāo)域(target domain)的嵌入,是一項(xiàng)非常有趣的研究。
重要思想簡(jiǎn)潔且高效。假設(shè)我們知道始源域中單詞w的詞嵌入為ws。為了計(jì)算目標(biāo)域中wt的嵌入,就要在兩個(gè)域之間加入一個(gè)特定量的遷移ws。一般來(lái)說(shuō),如果這個(gè)單詞在兩個(gè)域中都經(jīng)常出現(xiàn),那么它的語(yǔ)義就是獨(dú)立的。在這種情況下,遷移的值越大,嵌入的結(jié)果可能在兩個(gè)域中就越相似。反之,如果一個(gè)單詞在一個(gè)域中的出現(xiàn)頻率高于另一個(gè)域,那么遷移的值就小。
關(guān)于這一話題的研究并未深入展開(kāi),但我相信在不遠(yuǎn)的未來(lái)會(huì)有更多人關(guān)注它。
情感文本分析不可思議的副作用
偉大的發(fā)明往往是意外之喜,下面要說(shuō)的這個(gè)成就也不例外。今年,Radford等人在研究字節(jié)級(jí)循環(huán)語(yǔ)言模型的特性,目的是要預(yù)測(cè)亞馬遜評(píng)論文本中的下一個(gè)字符。然而在這一過(guò)程中,他們發(fā)現(xiàn)訓(xùn)練模型中的一個(gè)單一神經(jīng)元能夠高度預(yù)測(cè)出文章的情感價(jià)值(sentiment value)。這個(gè)單一的“情感神經(jīng)元”(sentiment neuron)能夠以相當(dāng)準(zhǔn)確的方式將評(píng)論分為積極或消極的兩類(lèi)。
評(píng)論極性vs神經(jīng)元值
在發(fā)現(xiàn)了這一特性后,作者決定將模型應(yīng)用于Stanford Sentiment Treebank數(shù)據(jù)集上,結(jié)果得到的精確度高達(dá)91.8%,比之前最佳的90.2%的結(jié)果還要高。這意味著,他們的模型經(jīng)過(guò)無(wú)監(jiān)督的方式訓(xùn)練后,用更少的訓(xùn)練數(shù)據(jù)達(dá)到了最先進(jìn)的情感文本分析結(jié)果。
情感神經(jīng)元的工作過(guò)程
由于模型是在字符層面工作,可以看到,神經(jīng)元在文本中進(jìn)行判斷時(shí),能夠改變特殊的字符顏色。如下圖所示:
在單詞“best”之后,神經(jīng)元使文本變成了深綠色(代表積極),而在單詞“horrendous”之后,綠色消失,表示情感由積極開(kāi)始轉(zhuǎn)向消極。
生成極性偏向文本
當(dāng)然,訓(xùn)練過(guò)的模型是一個(gè)有效地生成模型,所以你也可以拿他來(lái)生成類(lèi)似亞馬遜的評(píng)論那樣的文本。但是,我覺(jué)得很棒的一點(diǎn)是,你可以簡(jiǎn)單地改寫(xiě)情感神經(jīng)元的值來(lái)決定生成文本的極性(polarity)。
這是我買(mǎi)過(guò)的最好的吊床!完全不會(huì)變形,而且超級(jí)舒服。我喜歡上面的印花,看起來(lái)好可愛(ài)! | 根本不能用,吃一塹長(zhǎng)一智吧。 |
這就是我想要的。這條褲子完全合身,走線也很精密,強(qiáng)烈推薦! | 包裹竟然是空的,沒(méi)有二維碼。浪費(fèi)時(shí)間金錢(qián)。 |
積極情緒 | 消極情緒 |
---|
作者選用的神經(jīng)網(wǎng)絡(luò)模型是Krause等人在2016年提出的multiplicative LSTM,主要原因是他們觀察到該模型的超參數(shù)設(shè)置比正常的LSTM收斂地更快。它有4096個(gè)單位,訓(xùn)練的語(yǔ)料庫(kù)中含有8200萬(wàn)條亞馬遜的評(píng)論。
同時(shí),你還可以試著訓(xùn)練自己的模型并進(jìn)行試驗(yàn)。當(dāng)然這需要你有足夠的時(shí)間和強(qiáng)大的GPU:論文的作者在NVIDIA Pascal GPU上花了一個(gè)月的時(shí)間訓(xùn)練了該模型。
Twitter上的情感文本分析
要想知道人們對(duì)某個(gè)品牌的評(píng)價(jià),或是分析某一營(yíng)銷(xiāo)活動(dòng)的影響,甚至是衡量人們對(duì)總統(tǒng)大選的感受,Twitter中的情感分析是一個(gè)非常強(qiáng)大的工具。
推特對(duì)有關(guān)川普和希拉里的推文的情感分析
SemEval 2017
Twitter中的情感文本分析已經(jīng)引起了NLP研究人員的關(guān)注,而且也引起了政界和社會(huì)科學(xué)界的關(guān)注。所以自從2013年以來(lái),國(guó)際語(yǔ)義測(cè)評(píng)SemEval提出了一項(xiàng)具體的任務(wù)。
2017年共有48支隊(duì)伍參加了評(píng)選,以下五個(gè)子任務(wù)可以讓你了解SemEval在Twitter上都分析了什么。
A:給定一條推文,判斷它是積極的或是消極的或是中立的情緒。
B:給定一條推文和話題,將話題中所傳達(dá)出的情緒進(jìn)行分類(lèi):正面或負(fù)面。
C:給定一條推文和話題,將推文中所傳達(dá)出的情緒分為五類(lèi):非常積極、一般積極、中立、一般消極、非常消極。
D:給定關(guān)于某一話題的一組推文,估計(jì)這些推文在積極和消極中的分布。
E:給定關(guān)于某一話題的一組推文,將推文的情緒分為五類(lèi):非常積極、一般積極、中立、一般消極、非常消極。
可以看到,A任務(wù)是最常見(jiàn)的任務(wù),共有38支隊(duì)伍參加了這個(gè)任務(wù),其他的幾項(xiàng)更難一些。主辦方指出,今年使用深度學(xué)習(xí)方法的隊(duì)伍比較顯眼,并且在不斷增加,有20個(gè)團(tuán)隊(duì)使用了CNN和LSTM等模型。另外,盡管SVM模型仍然非常流行,但已經(jīng)有幾個(gè)隊(duì)伍將它們與神經(jīng)網(wǎng)絡(luò)或詞嵌入等方法結(jié)合起來(lái)了。
BB_twtr系統(tǒng)
我認(rèn)為今年最值得關(guān)注的是一個(gè)純粹的深度學(xué)習(xí)系統(tǒng)——BB_twtr,該系統(tǒng)在英語(yǔ)的5個(gè)子任務(wù)中排名第一。作者將10個(gè)CNN和10個(gè)biLSTM的集合結(jié)合起來(lái),用不同的超參數(shù)和不同的預(yù)訓(xùn)練策略進(jìn)行訓(xùn)練??梢栽谡撐闹锌吹缴窠?jīng)網(wǎng)絡(luò)架構(gòu)的細(xì)節(jié)。
為了訓(xùn)練這些模型,作者使用了帶有話題標(biāo)簽的推文(A任務(wù)中共有49693條推文),然后建立了一個(gè)含有1億條沒(méi)有標(biāo)簽的推文數(shù)據(jù)集,將其中帶有類(lèi)似微笑表情的推文歸為積極一類(lèi),反之歸為消極一類(lèi),再次建立派生的數(shù)據(jù)集。在這里,推文都被變成了小寫(xiě)、標(biāo)上了記號(hào);URL和表情符號(hào)被替換成了特殊的符號(hào);重復(fù)的字母都被合并,例如“niiice”和“niiiiiiiice”變成了“niice”。
為了對(duì)用作CNN和biLSTM的輸入詞嵌入進(jìn)行預(yù)訓(xùn)練,作者使用帶有默認(rèn)設(shè)置的word2vec、GloVe和fastText在未標(biāo)記的數(shù)據(jù)集上進(jìn)行訓(xùn)練。然后他使用派生數(shù)據(jù)集改進(jìn)嵌入,并加入極性信息,然后再使用帶有標(biāo)簽的數(shù)據(jù)集再次改進(jìn)。
使用從前的SemEval數(shù)據(jù)集的實(shí)驗(yàn)表明,使用GloVe會(huì)降低性能,并且對(duì)所有金標(biāo)準(zhǔn)數(shù)據(jù)集沒(méi)有一個(gè)最佳模型。然后作者將所有模型與軟投票策略結(jié)合起來(lái),由此產(chǎn)生的模型比2014和2016年的最佳成績(jī)都好,接近2015年的最佳成績(jī)。它最終在2017SemEval的5個(gè)子任務(wù)中排名第一。
即使這種組合并不是以一種有機(jī)的方式進(jìn)行的,而是加入了簡(jiǎn)單的軟投票策略,也表明了將深度學(xué)習(xí)模型應(yīng)用其中的潛力非常大,同樣也證明了幾乎所有端到端的方法在Twitter中的情感分析可以超越監(jiān)督的方法(輸入必須進(jìn)行預(yù)處理)。
令人激動(dòng)的抽象總結(jié)系統(tǒng)
自動(dòng)總結(jié)(automatic summarization)是NLP最早的任務(wù)之一。方式主要有兩種:抽取式(extraction-based)和生成式(abstraction-based)。抽取式自動(dòng)文摘方法是通過(guò)提取文檔中已存在的關(guān)鍵詞、句子形成摘要;生成式自動(dòng)文摘方法是通過(guò)建立抽象的語(yǔ)義表示,使用自然語(yǔ)言生成技術(shù)形成摘要。在過(guò)去,抽取式是最常用的方法,因?yàn)樗麄儽攘硪环N方法簡(jiǎn)單。
在過(guò)去幾年,基于RNN的模型在文本生成方面取得了驚人的成果。對(duì)于簡(jiǎn)短的文本輸入和輸出,它們表現(xiàn)得很好。但是遇到長(zhǎng)文本,往往輸出的是不連貫的、重復(fù)的結(jié)果。在他們的工作中,Paulus等人提出了一種新型的神經(jīng)網(wǎng)絡(luò)模型來(lái)克服這一局限性,并取得了令人興奮的結(jié)果,如下所示:
自動(dòng)摘要生成模型
作者使用biLSTM編碼器讀取輸入,并使用LSTM解碼器生成輸出。他們的主要貢獻(xiàn)是創(chuàng)建了一種新的內(nèi)部注意策略,能夠分別關(guān)注輸入和連續(xù)的輸出,并且還有一種新的訓(xùn)練方法,將監(jiān)督詞語(yǔ)預(yù)測(cè)的標(biāo)準(zhǔn)和強(qiáng)化學(xué)習(xí)結(jié)合起來(lái)。
內(nèi)部注意策略
新型的內(nèi)部注意策略的目的是避免在輸出中出現(xiàn)重復(fù)。為了達(dá)到這個(gè)目的,他們?cè)诮獯a時(shí)用緩存的注意查看輸入文本的前一段內(nèi)容,然后再?zèng)Q定下一個(gè)將要產(chǎn)生的字。這就使得模型在生成過(guò)程中使用輸入的不同部分。他們還允許模型從解碼器訪問(wèn)之前的隱藏狀態(tài),兩個(gè)函數(shù)結(jié)合后,就會(huì)選擇出最適合輸出摘要的下個(gè)詞。
強(qiáng)化學(xué)習(xí)
寫(xiě)摘要時(shí),兩個(gè)不同的人會(huì)使用不同的詞語(yǔ)和句子,但寫(xiě)出的摘要都是正確的。因此,判斷一個(gè)摘要是好的標(biāo)準(zhǔn)不一定是使其完全與數(shù)據(jù)集中的單詞序列相匹配。了解這一點(diǎn)后,作者就避免了標(biāo)準(zhǔn)的強(qiáng)制教導(dǎo)(teacher forcing)算法,該算法會(huì)在每個(gè)解碼步驟將損失最小化,而是依賴(lài)更可靠的強(qiáng)化學(xué)習(xí)策略。
近似端到端模型的好結(jié)果
該模型在CNN和《每日郵報(bào)》的數(shù)據(jù)集上進(jìn)行了測(cè)試,并取得了前所未有的好結(jié)果。在人類(lèi)評(píng)估下,一項(xiàng)具體的實(shí)驗(yàn)結(jié)果表明,可讀性和質(zhì)量都有了增長(zhǎng)。由于在預(yù)處理時(shí),輸入文本都被打上了標(biāo)記、改為小寫(xiě),同時(shí)數(shù)字被替換成0,以及數(shù)據(jù)集的一些特殊對(duì)象被移除,還能得到這樣的結(jié)果,實(shí)在令人印象深刻。
邁向完全無(wú)監(jiān)督機(jī)器翻譯的第一步
雙語(yǔ)詞典構(gòu)建是NLP領(lǐng)域一個(gè)老生常談的問(wèn)題了,它使用兩種語(yǔ)言的源語(yǔ)言和目標(biāo)語(yǔ)言的單語(yǔ)料庫(kù)生成詞語(yǔ)互譯。自動(dòng)生成的雙語(yǔ)詞典能夠幫助其他NLP任務(wù),例如信息檢索和機(jī)器翻譯統(tǒng)計(jì)。然而,這些方法大多都需要一個(gè)初始的雙語(yǔ)詞典,但通常很難建立。
隨著詞嵌入的出現(xiàn),跨語(yǔ)言詞嵌入(cross-lingual word embeddings)也隨之產(chǎn)生,其目的是調(diào)整嵌入空間而不是生成字典。但不幸的是,跨語(yǔ)言嵌入也需要有雙語(yǔ)詞典或平行語(yǔ)料庫(kù)。接著,Conneau等人提出了一個(gè)可行的方法,可以不依賴(lài)任何特定的資源,在詞語(yǔ)翻譯、句子翻譯檢索以及跨語(yǔ)言詞語(yǔ)相似性等任務(wù)上由于現(xiàn)有的監(jiān)督式方法。
作者提出的方法是將兩組在單語(yǔ)語(yǔ)料庫(kù)上訓(xùn)練的詞嵌入作為輸入,然后學(xué)習(xí)二者之間的映射,使得公共空間上的翻譯相近。他們利用fastText對(duì)維基百科上的文本進(jìn)行無(wú)監(jiān)督訓(xùn)練,如下圖所示。
構(gòu)建兩個(gè)詞嵌入空間之間的映射
紅色的X表示英語(yǔ)單詞的嵌入,紫色的Y表示意大利語(yǔ)的詞嵌入。
剛開(kāi)始,他們使用對(duì)抗學(xué)習(xí)來(lái)學(xué)習(xí)旋轉(zhuǎn)矩陣W,W將執(zhí)行第一次原始對(duì)齊。接著,在Ian Goodfellow等人提出生成對(duì)抗網(wǎng)絡(luò)之后,他們也訓(xùn)練了一個(gè)GAN。
為了用生成學(xué)習(xí)對(duì)該問(wèn)題建模,他們將判別器看作能夠做決定的角色。他們從Wx和Y中隨機(jī)采樣(上圖第二欄),兩種語(yǔ)言分別屬于Wx和Y。然后,他們訓(xùn)練W,防止判別器做出好的預(yù)測(cè)。我認(rèn)為這種方式非常聰明優(yōu)雅,直接結(jié)果也非常不錯(cuò)。
之后,他們?cè)黾恿藘刹絹?lái)完善映射。一是消除罕見(jiàn)字在映射計(jì)算中產(chǎn)生的噪聲,另一個(gè)是利用學(xué)到的映射和測(cè)量距離建立實(shí)際的翻譯。
在某些案例中,輸出的結(jié)果已經(jīng)超越了最佳紀(jì)錄。例如在P@10的英語(yǔ)和意大利語(yǔ)之間的詞語(yǔ)翻譯中,他們?cè)?500個(gè)源單詞所組成的數(shù)據(jù)庫(kù)中得出了近17%的平均準(zhǔn)確率。
英語(yǔ)-意大利語(yǔ)詞語(yǔ)翻譯平均精確度
作者稱(chēng),他們的方法可以用作開(kāi)啟無(wú)監(jiān)督機(jī)器翻譯的第一步,讓我們拭目以待。
特別的框架和工具
現(xiàn)如今已經(jīng)有很多通用的深度學(xué)習(xí)框架和工具,例如TensorFlow、Keras、PyTorch等等。然而,面向NLP的特定開(kāi)源深度學(xué)習(xí)框架和工具才剛剛興起。今年對(duì)我們來(lái)說(shuō)十分重要,因?yàn)橛性S多開(kāi)源框架出現(xiàn),其中三個(gè)是我很感興趣的。
AllenNLP
AllenNLP框架是構(gòu)建在PyTorch之上的一個(gè)平臺(tái),它的設(shè)計(jì)初衷是將深度學(xué)習(xí)方法應(yīng)用其中,執(zhí)行相關(guān)的NLP任務(wù)。其目的是讓研究人員設(shè)計(jì)并評(píng)估新模型,它包含了語(yǔ)義角色標(biāo)注(semantic role labeling)、文字蘊(yùn)涵(textual entailment)和共指消解(coreference resolution)等常見(jiàn)的NLP語(yǔ)義任務(wù)。
ParlAI
ParlAI框架是一個(gè)開(kāi)源的用于對(duì)話研究的軟件平臺(tái)。它在Python中實(shí)現(xiàn),其目標(biāo)是提供一個(gè)集分享、訓(xùn)練和測(cè)試于一體的框架。ParlAI提供了一個(gè)與亞馬遜Mechanical Turk輕松集成的機(jī)制,同時(shí)還提供了該領(lǐng)域流行的數(shù)據(jù)集,并支持多種模型,包括內(nèi)存網(wǎng)絡(luò)、seq2seq和注意力LSTM等神經(jīng)模型。
OpenNMT
OpenNMT工具箱是專(zhuān)門(mén)用于序列到序列模型的通用框架,它可以執(zhí)行類(lèi)似機(jī)器翻譯、總結(jié)、圖像到文本和語(yǔ)音識(shí)別的任務(wù)。
寫(xiě)在最后
不可否認(rèn),用于NLP領(lǐng)域的深度學(xué)習(xí)技術(shù)在不斷增長(zhǎng),從過(guò)去幾年的ACL、EMNLP、EACL、NAACL等關(guān)鍵大會(huì)上所提交的有關(guān)NLP深度學(xué)習(xí)的論文上就能看出這一趨勢(shì)。
-
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5500瀏覽量
121111 -
nlp
+關(guān)注
關(guān)注
1文章
488瀏覽量
22033
原文標(biāo)題:NLP的這一年:深度學(xué)習(xí)或成主角
文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論