0
雷鋒網(wǎng) AI 科技評(píng)論按:本文是一篇發(fā)布于 tryolabs 的文章,作者 Javier Couto 針對(duì) 2017 年基于深度學(xué)習(xí)的自然語言處理研究進(jìn)行了大盤點(diǎn)。雷鋒網(wǎng) AI 科技評(píng)論根據(jù)原文進(jìn)行了編譯。
在過去的幾年里,深度學(xué)習(xí)(DL)架構(gòu)和算法在諸如圖像識(shí)別和語音處理等領(lǐng)域取得了世人矚目的進(jìn)步。然而在最開始的時(shí)候,深度學(xué)習(xí)在自然語言處理(Natural Language Processing, NLP)領(lǐng)域的效果一般,但是現(xiàn)在已經(jīng)被證實(shí)深度學(xué)習(xí)在自然語言處理領(lǐng)域依然能夠發(fā)揮巨大的作用。并且在一些常見的自然語言處理任務(wù)中,基于深度學(xué)習(xí)的方法已經(jīng)取得了最佳的結(jié)果。神經(jīng)網(wǎng)絡(luò)模型在諸如命名實(shí)體識(shí)別(Named entity recognition, NER)、詞性標(biāo)注(Part of speech tagging)和情感分析(Sentiment analysis)等任務(wù)中的表現(xiàn)已經(jīng)超越了傳統(tǒng)方法,另外在機(jī)器翻譯上的進(jìn)步也許是最明顯的。
在這篇文章中,我將細(xì)數(shù) 2017 年里基于深度學(xué)習(xí)技術(shù)的自然語言處理所取得的一些進(jìn)步。另外由于實(shí)在是存在著太多的相關(guān)論文、框架和工具,所以我并不打算進(jìn)行詳盡的介紹。我只是想和大家分享一下今年產(chǎn)出的我所喜歡的工作,而且我認(rèn)為 2017 年自然語言處理領(lǐng)域取得的成績(jī)斐然。今年深度學(xué)習(xí)在自然語言處理領(lǐng)域研究中的應(yīng)用不斷擴(kuò)大,并且在某些情況下取得了驚人的結(jié)果,所有這些跡象都在表明這一應(yīng)用正方興未艾。
詞嵌入(Word embeddings)可以說是自然語言處理眾多任務(wù)中與深度學(xué)習(xí)相關(guān)的且最廣為人知的一項(xiàng)技術(shù)。該技術(shù)遵循 Harris ( 1954 ) 的分布假說(Distributional hypothesis),根據(jù)這個(gè)假說,那些具有相似含義的詞匯通常出現(xiàn)在相似的語境中。關(guān)于詞嵌入更詳細(xì)的解釋,我建議你去閱讀這篇由 Gabriel Mordecki 所寫的文章。
分布詞向量樣例
諸如 word2vec ( Mikolov et al. , 2013) 和 GloVe ( Pennington et al. , 2014 ) 等算法已經(jīng)成為該領(lǐng)域的先驅(qū),雖然它們并不能算作深度學(xué)習(xí)(word2vec 中的神經(jīng)網(wǎng)絡(luò)很淺,而 GloVe 則實(shí)現(xiàn)了一個(gè)基于計(jì)數(shù)的方法),但是通過這些方法訓(xùn)練出來的模型卻在許多的基于深度學(xué)習(xí)的自然語言處理算法中被作為輸入數(shù)據(jù)而使用??傊谧匀徽Z言處理領(lǐng)域使用詞嵌入已經(jīng)幾乎成了行業(yè)準(zhǔn)則,并且確實(shí)帶來了很好的實(shí)踐效果。
一開始,對(duì)于一個(gè)需要詞嵌入的特定自然語言處理問題,我們傾向于從一個(gè)領(lǐng)域相關(guān)的大型語料庫(kù)中訓(xùn)練自己的模型。當(dāng)然,這樣使用詞嵌入還不夠平民化,因此慢慢地便出現(xiàn)了預(yù)訓(xùn)練模型。這些模型經(jīng)過維基百科、推特、谷歌新聞等數(shù)據(jù)的訓(xùn)練,可以讓你輕松地將詞嵌入整合到自己深度學(xué)習(xí)算法中。
今年證實(shí)了預(yù)訓(xùn)練詞嵌入模型仍然是自然語言處理中的一個(gè)關(guān)鍵問題。比如說,來自 Facebook 人工智能研究實(shí)驗(yàn)室(Facebook AI Research, FAIR)的 fastText 發(fā)布了支持 294 種語言的預(yù)訓(xùn)練(詞)向量,這對(duì)我們的社區(qū)而言是一項(xiàng)偉大的工作和貢獻(xiàn)。除了支持大量的語言之外,fastText 還使用了字符 n 元語法(n-grams)作為特征。這樣使得 fastText 能夠避免出現(xiàn)超出詞匯量(Out of Vocabulary, OOV)的問題,因?yàn)榧词故且粋€(gè)非常罕見的單詞也可能與一些更為常見的詞匯共享某些字符 n 元語法。從這個(gè)意義上來說,fastText 比 word2vec 和 GloVe 表現(xiàn)得更好,而且針對(duì)小型數(shù)據(jù)集而言,fastText 的表現(xiàn)更是超越了它們。
雖然我們確實(shí)見證了這個(gè)領(lǐng)域所取得的進(jìn)步,但是我們依然還有許多工作需要去完成。比如說,spaCy 是一個(gè)非常偉大的自然語言處理框架,它以原生的方式將詞嵌入和深度學(xué)習(xí)模型集成到了命名實(shí)體識(shí)別和依賴分析(Dependency Parsing)等任務(wù)中,并且允許用戶更新模型或者使用自定義模型。
依我拙見,將來將會(huì)出現(xiàn)許多針對(duì)某一特定領(lǐng)域的預(yù)訓(xùn)練模型(比如,生物學(xué)、文學(xué)、經(jīng)濟(jì)等),這些模型能夠很方便地在自然語言處理框架上進(jìn)行使用。而在我們的日常使用中,最容易實(shí)現(xiàn)也是最錦上添花的功能,可能就是支持對(duì)模型的微調(diào)(fine-tuning)。同時(shí),適應(yīng)性詞嵌入(Adapting word embedding)方法也開始出現(xiàn)。
二、調(diào)整通用嵌入(Generic embeddings)模型適配特定用例
也許使用預(yù)訓(xùn)練詞嵌入的主要缺點(diǎn)是,訓(xùn)練數(shù)據(jù)與真實(shí)數(shù)據(jù)之間的單詞分布存在差異。假設(shè)你只擁有一個(gè)較小的語料庫(kù),這個(gè)語料庫(kù)中存儲(chǔ)了生物論文、食譜或者經(jīng)濟(jì)學(xué)論文。不過可能你的語料庫(kù)的數(shù)據(jù)量又不足以訓(xùn)練出好的詞嵌入,所以這時(shí)采用通用詞嵌入反而可能幫助你提高結(jié)果。但是如果可以調(diào)整通用嵌入模型去適配你的特定用例呢?
這種適配性通常被稱為自然語言處理中的跨域(Cross-domain)或者域適應(yīng)(Domain adaptation)技術(shù),并且與遷移學(xué)習(xí)(Transfer learning)非常相似。Yang 等人今年提出了一項(xiàng)非常有趣的工作。他們提出了一個(gè)正則化的 skip-gram 模型,該模型能夠在給定源域(Source domain)的嵌入時(shí)學(xué)習(xí)得到目標(biāo)域(Target domain)的嵌入。
其核心思想簡(jiǎn)潔而有效。假設(shè)我們已經(jīng)知道了源域中單詞 w 的詞嵌入 ws。為了計(jì)算出目標(biāo)域的嵌入 wt,作者給 ws 增加了一個(gè)傳輸量,而這個(gè)傳輸量則是基于兩個(gè)域計(jì)算得到?;旧?,如果這個(gè)詞在兩個(gè)域中都具有很高的頻率,那就意味著它的語義不依賴于域。在這種情況下,傳輸量將很高,而因此兩個(gè)域中產(chǎn)生的嵌入將非常相似。但是由于某一特定域中的詞匯出現(xiàn)頻率總是比其它域要來的高,所以傳輸量會(huì)很小。
這個(gè)關(guān)于詞嵌入的研究課題還沒有被廣泛地探索,所以我認(rèn)為它在近期將得到更多的關(guān)注。
一如青霉素、X 光甚至是便利貼都是來源于意外的發(fā)現(xiàn)。今年 Radford 等人正在探索字節(jié)級(jí)別(Byte-level)的循環(huán)語言模型的特性,其目標(biāo)是預(yù)測(cè)亞馬遜評(píng)論區(qū)中的下一個(gè)字符,但是當(dāng)時(shí)他們意外發(fā)現(xiàn)訓(xùn)練模型中的單個(gè)神經(jīng)元對(duì)情感價(jià)值具有非常高的預(yù)測(cè)能力。并且這個(gè)單一的“情感神經(jīng)元”能夠以相當(dāng)準(zhǔn)確的方式將評(píng)論情緒分類為積極的或者消極的。
在注意到這種現(xiàn)象之后,作者決定在斯坦福情感分析數(shù)據(jù)庫(kù)(Stanford Sentiment Treebank)上測(cè)試模型,結(jié)果發(fā)現(xiàn)它的準(zhǔn)確性達(dá)到 91.8%,而之前的最好的結(jié)果是 90.2%。這意味著,他們的模型能夠使用更少的訓(xùn)練樣例,以無監(jiān)督方式進(jìn)行訓(xùn)練,然后在斯坦福情感分析數(shù)據(jù)庫(kù)這一被廣泛研究的數(shù)據(jù)集上實(shí)現(xiàn)了最高的情感分析準(zhǔn)確度。
由于模型是在字符級(jí)別上進(jìn)行工作的,所以神經(jīng)元會(huì)針對(duì)文本中的每一個(gè)字符改變自身的狀態(tài),而看到它的這種行為也是相當(dāng)令人吃驚的。
情感神經(jīng)元的行為展示,圖片來自于《Unsupervised Sentiment Neuron》
例如,在掃描過積極的單詞之后,神經(jīng)元的值也變成一個(gè)較大的正整數(shù)。然后這種效果將隨著掃描到消極單詞之后而逐漸消失,而這種現(xiàn)象也是符合直覺的。
當(dāng)然該模型仍然是一個(gè)有效的生成模型,所以它能夠被用來生成與亞馬遜評(píng)論相類似的文本內(nèi)容。但是我覺得更棒的一點(diǎn)是,你可以通過簡(jiǎn)單地改寫情感神經(jīng)元的值,來影響所生成文本的極性。
生成文本樣例,來自于《Unsupervised Sentiment Neuron》
該樣例所采用的神經(jīng)網(wǎng)絡(luò)模型是由 Krause 等人(2016)所提出的乘性 LSTM,這主要是因?yàn)樗麄儼l(fā)現(xiàn),在他們所探索的超參數(shù)配置下乘性 LSTM 比一般的 LSTM 收斂更快。它有 4096 個(gè)單元并且使用了一個(gè)具有 8200 萬條亞馬遜評(píng)論的數(shù)據(jù)語料庫(kù)進(jìn)行訓(xùn)練。
至于為什么訓(xùn)練有素的模型能夠以如此精確的方式捕捉到情感概念仍然是一個(gè)開放性的未解之謎。同時(shí),你可以嘗試訓(xùn)練自己的模型來進(jìn)行實(shí)驗(yàn)。當(dāng)然如果你有許多時(shí)間和 GPU 集群,那么根據(jù)作者所提供的信息,在四個(gè)英偉達(dá) Pascal 圖形處理器(GPU)上訓(xùn)練這個(gè)特定模型需要花費(fèi)一個(gè)月時(shí)間。
無論是要獲取人們對(duì)企業(yè)品牌的評(píng)價(jià),或是分析營(yíng)銷活動(dòng)的影響,亦或是衡量上次美國(guó)大選期間全球人們對(duì) Hillary Clinton 和 Donald Trump 的看法,Twitter 上的情感分析都是一個(gè)非常強(qiáng)大的工具。
希拉里對(duì)上川普:來自 Twitter 的情感分析,圖片來自于《Donald Trump vs Hillary Clinton: sentiment analysis on Twitter mentions》
Twitter 上的情感分析已經(jīng)引起了自然語言處理研究人員的大量關(guān)注,而且也引起了政治和社會(huì)科學(xué)界的關(guān)注。這就是為什么自 2013 年以來,SemEval 每年都會(huì)提出一個(gè)特定的任務(wù)進(jìn)行比賽。
今年一共有 48 支隊(duì)伍參加了評(píng)測(cè),為了讓你更好地了解 Twitter 推出的 SemEval 究竟是什么,讓我們來看看今年提出的五項(xiàng)子任務(wù)。
子任務(wù) A:給出一條推文,然后判定該推文表達(dá)了積極、消極或是中立的情緒。
子任務(wù) B:給出一條推文和一個(gè)主題,然后把這個(gè)主題所傳達(dá)出的情感進(jìn)行二分類:積極或者消極。
子任務(wù) C:給出一條推文和一個(gè)主題,然后把這個(gè)主題所傳達(dá)出的情感進(jìn)行五分類:非常積極、積極、中立、消極和非常消極。
子任務(wù) D:給出一組與某個(gè)主題相關(guān)的推文,評(píng)估該組中所有推文在積極和消極兩個(gè)情緒中的分布情況。
子任務(wù) E:給出一組與某個(gè)主題相關(guān)的推文,評(píng)估該組中所有推文在積極和消極五個(gè)情緒中的分布情況,五個(gè)情緒分別是:非常積極、積極、中立、消極和非常消極。
如你所見,子任務(wù) A 是最常見的任務(wù),有 38 個(gè)團(tuán)隊(duì)參與了這個(gè)任務(wù),但是其它的四項(xiàng)子任務(wù)則更具挑戰(zhàn)性。主辦方指出,基于深度學(xué)習(xí)的方法受到越來越多參賽者的歡迎,今年有 20 個(gè)團(tuán)隊(duì)采用了卷積神經(jīng)網(wǎng)絡(luò)(CNN)和長(zhǎng)短時(shí)記憶(LSTM)等模型。此外,盡管 SVM 模型仍然非常流行,但是一些參與者選擇將它們與神經(jīng)網(wǎng)絡(luò)方法相結(jié)合或者是使用詞嵌入特征。
今年我發(fā)現(xiàn)一個(gè)純深度學(xué)習(xí)系統(tǒng)——BB_twtr 系統(tǒng)(Cliche, 2017)在英語的第五項(xiàng)子任務(wù)中排名第一。作者將 10 個(gè) CNN 和 10 個(gè) biLSTM 組合起來,然后采用不同的超參數(shù)和不同的預(yù)訓(xùn)練策略進(jìn)行訓(xùn)練。你可以從論文中獲得這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)的具體信息。
為了訓(xùn)練這些模型,作者使用了人類標(biāo)記的推文(子任務(wù) A 有 49,693 條數(shù)據(jù)),并且構(gòu)建了一個(gè)包含 1 億條推文的無標(biāo)簽數(shù)據(jù)。作者對(duì)每條推文進(jìn)行了簡(jiǎn)單標(biāo)記,也就是使用諸如“:-)”這樣積極的表情來標(biāo)記積極情緒的推文,然后使用消極的表情標(biāo)記消極的推文,通過這種方式作者從包含有 1 億條推文的數(shù)據(jù)集中抽取出了一個(gè)遠(yuǎn)程數(shù)據(jù)集。所有的推文都被轉(zhuǎn)化為小寫,然后其中的標(biāo)記、URL和表情符號(hào)被替換為特定的標(biāo)記,并且對(duì)重復(fù)的字符也進(jìn)行了統(tǒng)一,例如“niiice”和“niiiiiiiiiice”都變成“niice”。
CNN 和 biLSTM 采用詞嵌入作為輸入,為了獲得該預(yù)訓(xùn)練的詞嵌入,作者在所有未標(biāo)記數(shù)據(jù)上使用了 word2vec、GloVe 和 fastText(全部使用默認(rèn)設(shè)置)。然后他使用遠(yuǎn)程的數(shù)據(jù)集來微調(diào)詞嵌入模型,以便給模型添加極性信息,之后他使用人類標(biāo)記的數(shù)據(jù)集對(duì)模型再次進(jìn)行微調(diào)。
作者使用以前的 SemEval 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),結(jié)果表明使用 GloVe 會(huì)降低性能,并且對(duì)于所有的標(biāo)準(zhǔn)數(shù)據(jù)集沒有一個(gè)唯一的最佳模型。然后作者通過一個(gè)軟投票(Soft voting)策略將所有模型組合起來。由此產(chǎn)生的模型比 2014 年和 2016 年的歷史最佳的成績(jī)還更勝一籌,并且與其它年份的結(jié)果也非常接近。最終,該模型 SemEval 2017 的第五個(gè)子任務(wù)中取得了英語語言排名第一的成績(jī)。
雖然這種組合不是以一種有機(jī)的方式進(jìn)行的,而是采用一種簡(jiǎn)單的軟投票策略,但是該工作表明了將不同深度學(xué)習(xí)模型結(jié)合起來的可能性,還以一種近乎端到端的方法(輸入必須經(jīng)過預(yù)處理)證明了在 Twitter 的情感分析中,端到端策略是能夠超越監(jiān)督方法的。
自動(dòng)摘要(Automatic summarization)生成和自動(dòng)翻譯都是自然語言處理領(lǐng)域中最早出現(xiàn)的一類研究問題。自動(dòng)摘要生成的實(shí)現(xiàn)主要有兩類方法:基于抽?。‥xtraction-based),該方法的摘要是通過從源文本中提取最重要的片段而建立的,而基于抽象(Abstraction-based)的方法則是通過生成文本來構(gòu)成摘要。歷史中,由于基于抽取的方法比起基于抽象的方法更加簡(jiǎn)單,因此基于抽取的方法是最常使用的。
在過去的幾年里,基于 RNN 模型在文本生成方面取得了驚人的成就。它們對(duì)于簡(jiǎn)短的輸入和輸出文本表現(xiàn)得非常好,但是對(duì)于長(zhǎng)文本就顯得差強(qiáng)人意,所生成內(nèi)容往往顛三倒四和語義不通。在他們的工作中,Paulus 等人提出了一種新穎的神經(jīng)網(wǎng)絡(luò)模型來克服這個(gè)局限性。結(jié)果令人吃驚,如下圖所示。
摘要生成展示,圖片來自于《A deep reinforced model for abstractive summarization》
作者使用 biLSTM 編碼器讀取輸入,并使用 LSTM 解碼器生成輸出。他們的主要貢獻(xiàn)是提出了分別關(guān)注輸入和連續(xù)生成輸出的一種全新的內(nèi)部注意力(Intra-attention)策略,以及結(jié)合標(biāo)準(zhǔn)監(jiān)督詞語預(yù)測(cè)和強(qiáng)化學(xué)習(xí)的全新的訓(xùn)練方法。
內(nèi)部注意力策略的目標(biāo)是避免輸出中出現(xiàn)重復(fù)。為了實(shí)現(xiàn)這個(gè)目標(biāo),他們?cè)诮獯a時(shí)使用時(shí)間注意力機(jī)制來查看輸入文本的前一片段,然后再?zèng)Q定下一個(gè)要生成的詞語。這迫使模型在生成過程中使用了輸入的不同部分。他們還允許模型從解碼器訪問以前的隱藏狀態(tài)。然后將這兩個(gè)函數(shù)組合起來,為輸出摘要選擇最好的下一個(gè)單詞。
要生成一個(gè)摘要,對(duì)于不同的人可能會(huì)采用不同的詞匯和語序,但是這些摘要卻都可能是有效的。因此,一個(gè)好的摘要不一定是盡可能與訓(xùn)練數(shù)據(jù)集中的序列相匹配的單詞序列。在理解到這一點(diǎn)之后,作者避開使用標(biāo)準(zhǔn)教師強(qiáng)迫算法(Standard teacher forcing algorithm),由于該算法在每個(gè)解碼步驟(即對(duì)每個(gè)生成的單詞)最小化損失,并且它們依賴于那些被證明是極好選擇的強(qiáng)化學(xué)習(xí)策略。
該模型在 CNN/每日郵報(bào)數(shù)據(jù)集上進(jìn)行了測(cè)試,并且取得了最好的結(jié)果。在另一項(xiàng)有人類評(píng)估者參與的實(shí)驗(yàn)表明,該模型生成的摘要在可讀性和質(zhì)量上均有提高??傮w來看,這些結(jié)果令人印象深刻。另外該模型的預(yù)處理包括有:標(biāo)記輸入文本、采用小寫、數(shù)字被替換為“0”并且移除數(shù)據(jù)集中的一些特定實(shí)體。
雙語詞匯歸納法,即用兩種語言的源語和單語語料庫(kù)來識(shí)別單詞翻譯對(duì),這是一種古老的自然語言處理任務(wù)。然后自動(dòng)生成的雙語詞典有助于其它自然語言處理任務(wù),如信息檢索和統(tǒng)計(jì)機(jī)器翻譯。然而,這些方法大部分時(shí)間都依賴于某種資源,通常是一個(gè)初始的雙語詞典,而這個(gè)詞典并不總是可用或者容易建立。
隨著詞嵌入取得成功,業(yè)內(nèi)也開始出現(xiàn)了跨語言詞嵌入的想法,而其目標(biāo)是對(duì)齊嵌入空間而不是詞典。不幸的是,第一種方法也依賴于雙語詞典或平行語料庫(kù)。在他們的工作中,Conneau 等人(2018)提出了一個(gè)非常有前途的方法,它不依賴于任何特定的資源,并且對(duì)于多個(gè)語言對(duì)的語言翻譯、句子翻譯檢索和跨語言單詞相似性的任務(wù)要優(yōu)于現(xiàn)有技術(shù)的監(jiān)督方法。
作者發(fā)明的方法是將輸入的兩組詞嵌入在單語數(shù)據(jù)上進(jìn)行獨(dú)立訓(xùn)練,并學(xué)習(xí)它們之間的映射,使得翻譯在公共空間中相互接近。他們使用 fastText 在維基百科文檔上訓(xùn)練無監(jiān)督的單詞向量。以下圖片說明了算法的核心思想。
建立兩個(gè)詞嵌入空間之間的映射,紅色的 X 分布是英語單詞的嵌入,而藍(lán)色的 Y 分布是意大利語單詞的嵌入。
首先他們使用對(duì)抗學(xué)習(xí)(Adversarial learning)來學(xué)習(xí)要執(zhí)行第一次原始對(duì)齊的旋轉(zhuǎn)矩陣 W。他們根據(jù) Goodfellow 等人(2014)提出的主張,先訓(xùn)練了一個(gè)基礎(chǔ)的對(duì)抗神經(jīng)網(wǎng)絡(luò)(Generative Adversarial Network, GAN)。如果想要了解 GAN 是如何工作的,我推薦這篇由 Pablo Soto 撰寫的優(yōu)秀文章。
為了在對(duì)抗學(xué)習(xí)方面對(duì)問題進(jìn)行建模,他們將判別模型(Discriminator)定義為具有判定能力的角色,對(duì)于所給定的從 WX 和 Y 隨機(jī)采樣的一些元素(參見上圖中的第二列),判別模型將判定每個(gè)元素屬于哪種語言。然后他們訓(xùn)練 W 以避免判別模型做出更好的預(yù)測(cè)。我認(rèn)為這種做法非常聰明和優(yōu)雅,并且最終的結(jié)果也相當(dāng)不錯(cuò)。
之后,他們還再經(jīng)過兩個(gè)步驟來完善映射關(guān)系。一是為了避免映射計(jì)算中因?yàn)楹币娫~匯而引入的噪聲;另一個(gè)則是主要通過使用學(xué)習(xí)到的映射關(guān)系與一個(gè)距離度量來建立實(shí)際的翻譯。
在某些情況下這些結(jié)果非常令人印象深刻。例如,對(duì)于英語-意大利語單詞翻譯,他們的模型在 P@10 的情況下超過了最佳平均精度將近 17%。
英語-意大利語單詞翻譯平均精度
作者聲稱,他們的方法可以用作無監(jiān)督機(jī)器翻譯的第一步。如果真是這樣,這將非常棒。同時(shí),讓我們看看這個(gè)新的富有前途的方法還能走多遠(yuǎn)吧。
當(dāng)前存在著許多的深度學(xué)習(xí)框架和工具,其中有一些已經(jīng)被廣泛使用了,比如 TensorFlow、Keras或者 PyTorch。然而,面向特定開源自然語言處理的深度學(xué)習(xí)框架和工具才剛剛興起。今年總歸行情不錯(cuò),因?yàn)橐恍┓浅S杏玫目蚣芤呀?jīng)在社區(qū)中進(jìn)行了開源。其中有三個(gè)引起了我的特別注意。
AllenNLP框架是構(gòu)建在 PyTorch 之上的一個(gè)平臺(tái),可以實(shí)現(xiàn)在語義自然語言處理任務(wù)中輕松使用深度學(xué)習(xí)方法。其目標(biāo)是讓研究人員設(shè)計(jì)和評(píng)估新模型。它包含了常用的語義自然語言處理任務(wù)模型的參考實(shí)現(xiàn),例如語義角色標(biāo)注、文字蘊(yùn)涵(Textual entailment)和指代消除(Coreference resolution)。
ParlAI 框架是針對(duì)對(duì)話研究(Dialog research)而設(shè)計(jì)的一款開源軟件。它采用 Python 進(jìn)行實(shí)現(xiàn),其設(shè)計(jì)目標(biāo)是為對(duì)話模型的共享、訓(xùn)練和測(cè)試提供一個(gè)統(tǒng)一的框架。ParlAI 提供了一個(gè)與 Amazon Mechanical Turk 輕松集成的機(jī)制。它還提供了該領(lǐng)域所流行的數(shù)據(jù)集,并且支持多種模型,包括記憶網(wǎng)絡(luò)、seq2seq 和 LSTM。
OpenNMT 工具箱是專門用于序列到序列(Sequence-to-sequence)模型的通用框架。它可以用于執(zhí)行諸如機(jī)器翻譯、摘要生成、圖像轉(zhuǎn)文本和語音識(shí)別等任務(wù)。
用于處理自然語言處理的深度學(xué)習(xí)技術(shù)不斷增加這一事實(shí)是不可否認(rèn)的。一個(gè)很好的指標(biāo)就是過去幾年里在 ACL、EMNLP、EACL 和 NAACL 等關(guān)鍵的自然語言處理會(huì)議上深度學(xué)習(xí)論文比例在不斷提升。
深度學(xué)習(xí)論文占比
然而,真正的端到端學(xué)習(xí)才剛剛開始出現(xiàn)。我們?nèi)匀辉谔幚硪恍┙?jīng)典的自然語言處理任務(wù)來準(zhǔn)備數(shù)據(jù)集,例如清洗、標(biāo)記或統(tǒng)一某些實(shí)體(例如URL、數(shù)字、電子郵件地址等)。我們也使用通用嵌入(Generic embeddings),其缺點(diǎn)是不能捕捉到特定領(lǐng)域術(shù)語的重要性,而且它們對(duì)于多詞語表達(dá)式的表現(xiàn)能力不佳,這也是我在工作中經(jīng)常發(fā)現(xiàn)的一個(gè)關(guān)鍵問題。
如果想要獲取更多今年的基于深度學(xué)習(xí)自然語言處理研究方法的資訊,我強(qiáng)烈建議你閱讀 Young 等人的優(yōu)秀論文《Recent Trends in Deep Learning Based Natural Language Processing》(2017)。
另一份有趣的閱讀材料是由 Blunsom 等人(2017)在學(xué)術(shù)研討會(huì)上所做的報(bào)告“從字符到理解自然語言(C2NLU):強(qiáng)大的 NLP 端到端深度學(xué)習(xí)”。出席研討會(huì)的人都是自然語言處理領(lǐng)域的研究員。研討會(huì)上討論了深度學(xué)習(xí)和一般機(jī)器學(xué)習(xí)的優(yōu)勢(shì),同時(shí)也探討了使用多個(gè)字符而不是特定語言標(biāo)記(Language-specific tokens)作為深度學(xué)習(xí)模型輸入所帶來的挑戰(zhàn)。
為了在模型之間進(jìn)行比較,Yin 等人提出了一個(gè)非常有趣的 CNN 和 RNN 的對(duì)比研究(2017)。
關(guān)于詞嵌入的詳細(xì)解釋,我建議你閱讀 Gabriel Mordecki 的這篇文章。他寓教于樂,不僅解釋了詞嵌入的不同方法,而且還介紹了一些關(guān)于詞嵌入的神話。
最后,Sebastian Ruder 在 2017 年寫了一篇非常好非常詳細(xì)的有關(guān)于詞嵌入的文章——《About Word embedding in 2017: Trends and future directions》
From Characters to Understanding Natural Language (C2NLU): Robust End-to-End Deep Learning for NLP Phil Blunsom, Kyunghyun Cho, Chris Dyer and Hinrich Schütze (2017)
BB_twtr at SemEval-2017 Task 4: Twitter Sentiment Analysis with CNNs and LSTMs Mathieu Cliche (2017)
Word Translation without Parallel Data Alexis Conneau, Guillaume Lample, Marc’Aurelio Ranzato, Ludovic Denoyer, Hervé Jégou (2018)
Generative adversarial nets Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville and Yoshua Bengio (2014)
Distributional structure Zellig Harris (1954)
OpenNMT: Open-source toolkit for neural machine translation Guillaume Klein, Yoon Kim, Yuntian Deng, Jean Senellart and Alexander M Rush. (2017)
Multiplicative lstm for sequence modelling Ben Krause, Liang Lu, Iain Murray and Steve Renals (2016)
Parlai: A dialog research software platform Alexander H Miller, Will Feng, Adam Fisch, Jiasen Lu, Dhruv Batra, Antoine Bordes, Devi Parikh and Jason Weston (2017)
Linguistic Regularities in Continuous Space Word Representations Tomas Mikolov, Scott Wen-tau Yih and Geoffrey Zweig (2013)
Glove: Global vectors for word representation Jeffrey Pennington, Richard Socher and Christopher D. Manning (2014)
Via : Deep Learning for NLP, advancements and trends in 2017,雷鋒網(wǎng)編譯
AI慕課學(xué)院近期推出了《NLP工程師入門實(shí)踐班:基于深度學(xué)習(xí)的自然語言處理》課程!
三大模塊,五大應(yīng)用,海外博士講師手把手教你入門NLP,更有豐富項(xiàng)目經(jīng)驗(yàn)相授;算法+實(shí)踐,搭配典型行業(yè)應(yīng)用;隨到隨學(xué),專業(yè)社群,講師在線答疑!
課程地址:http://www.mooc.ai/course/427
加入AI慕課學(xué)院人工智能學(xué)習(xí)交流QQ群:624413030,與AI同行一起交流成長(zhǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。