【NLP】6种用于文本分类的开源预训练模型
來源 |?PURVA?HUILGOL
編譯 |?VK
作者?| Analytics Vidhya
【導(dǎo)讀】我們正站在語言和機(jī)器的交匯處,這個(gè)話題我很感興趣。機(jī)器能像莎士比亞一樣寫作嗎?機(jī)器能提高我自己的寫作能力嗎?機(jī)器人能解釋一句諷刺的話嗎?我肯定你以前問過這些問題。自然語言處理(NLP)也致力于回答這些問題,我必須說,在這個(gè)領(lǐng)域已經(jīng)進(jìn)行了突破性的研究,促使彌合人類和機(jī)器之間的鴻溝。
介紹
文本分類是自然語言處理的核心思想之一。如果一臺(tái)機(jī)器能夠區(qū)分名詞和動(dòng)詞,或者它能夠在客戶的評(píng)論中檢測到客戶對產(chǎn)品的滿意程度,我們可以將這種理解用于其他高級(jí)NLP任務(wù)。
這就是我們在文本分類方面看到很多研究的本質(zhì)。遷移學(xué)習(xí)的出現(xiàn)可能促進(jìn)加速研究。我們現(xiàn)在可以使用構(gòu)建在一個(gè)巨大的數(shù)據(jù)集上的預(yù)訓(xùn)練的模型,并進(jìn)行優(yōu)化,以在另一個(gè)數(shù)據(jù)集上實(shí)現(xiàn)其他任務(wù)。
遷移學(xué)習(xí)和預(yù)訓(xùn)練模型有兩大優(yōu)勢:
它降低了每次訓(xùn)練一個(gè)新的深度學(xué)習(xí)模型的成本
這些數(shù)據(jù)集符合行業(yè)公認(rèn)的標(biāo)準(zhǔn),因此預(yù)訓(xùn)練模型已經(jīng)在質(zhì)量方面得到了審查
你可以理解為什么經(jīng)過預(yù)訓(xùn)練的模特會(huì)大受歡迎。我們已經(jīng)看到像谷歌的BERT和OpenAI的GPT-2這樣的模型真的很厲害。在這里中,我將介紹6種最先進(jìn)的文本分類預(yù)訓(xùn)練模型。
我們將介紹的預(yù)訓(xùn)練模型:
XLNet
ERNIE
Text-to-Text Transfer Transformer(T5)
BPT
NABoE
Rethinking Complex Neural Network Architectures for Document Classification
預(yù)訓(xùn)練模型1:XLNet
我們不能不提及XLNet!
谷歌的最新模型XLNet在文本分類,情感分析,問答,自然語言推理等主要NLP任務(wù)上取得了最先進(jìn)的性能,同時(shí)還為英語提供了必要的GLUE基準(zhǔn)。它的性能超過了BERT,現(xiàn)在已經(jīng)鞏固了自己作為模型的優(yōu)勢,既可以用于文本分類,又可以用作高級(jí)NLP任務(wù)。
XLNet背后的核心思想是:
語言理解的廣義自回歸預(yù)訓(xùn)練
Transformer-XL
如果這聽起來很復(fù)雜,別擔(dān)心!我要把這些簡化。
自回歸模型用于預(yù)測下一個(gè)單詞,使用的單詞在已有的單詞之前或之后出現(xiàn)。但是,不能同時(shí)處理前面和后面的單詞,只能處理一個(gè)方向。
雖然BERT確實(shí)處理了這方面的問題,但它也有其他缺點(diǎn),比如假設(shè)某些屏蔽詞之間沒有相關(guān)性。為了解決這個(gè)問題,XLNet在訓(xùn)練前階段提出了一種稱為排列語言模型(Permutation Language ?Modeling)的技術(shù)。這項(xiàng)技術(shù)使用排列同時(shí)從正向和反向生成信息。
Transformer已經(jīng)不是什么秘密了。XLNet使用Transformer-XL。眾所周知,在允許不相鄰的標(biāo)記也一起處理的意義上,Transformer是循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的替代,因?yàn)樗岣吡藢ξ谋局羞h(yuǎn)距離關(guān)系的理解。
Transformer-XL是BERT中使用的Transformer的增強(qiáng)版本,因?yàn)樘砑恿诉@兩個(gè)組件,:
句段層級(jí)的循環(huán)
相對位置編碼方案
正如我前面提到的,XLNet在幾乎所有任務(wù)上都超越BERT,包括文本分類,并且在其中18個(gè)任務(wù)上實(shí)現(xiàn)了SOTA性能!
以下是文本分類任務(wù)的摘要,以及XLNet如何在這些不同的數(shù)據(jù)集上執(zhí)行,以及它在這些數(shù)據(jù)集上實(shí)現(xiàn)的高排名:
預(yù)訓(xùn)練模型2:ERNIE
盡管ERNIE 1.0(于2019年3月發(fā)布)一直是文本分類的流行模式,但在2019年下半年,ERNIE 2.0成為熱門話題。由科技巨頭百度(Baidu)開發(fā)的ERNIE在英語GLUE基準(zhǔn)上的表現(xiàn)超過了Google XLNet和BERT。
ERNIE 1.0以自己的方式開辟了道路——它是最早利用知識(shí)圖的模型之一。這一合并進(jìn)一步加強(qiáng)了對高級(jí)任務(wù)(如關(guān)系分類和名稱識(shí)別)模型的訓(xùn)練。
與它的前身一樣,ERNIE 2.0以連續(xù)增量多任務(wù)學(xué)習(xí)的形式帶來了另一項(xiàng)創(chuàng)新?;旧?#xff0c;這意味著模型定義了7個(gè)明確的任務(wù),并且
可以同時(shí)生成多個(gè)任務(wù)的輸出。例如,完成“I like going to New …”->“I like going to New York”這句話,并將這句話歸類為有積極的情緒。對于合并的任務(wù),也相應(yīng)地計(jì)算損失
將上一個(gè)任務(wù)的輸出增量地用于下一個(gè)任務(wù)。例如,任務(wù)1的輸出用作任務(wù)1、任務(wù)2的訓(xùn)練;任務(wù)1和任務(wù)2的輸出用于訓(xùn)練任務(wù)1、2和3等等
我真的很喜歡這個(gè)過程,他非常直觀,因?yàn)樗裱祟惱斫馕谋镜姆绞健N覀兊拇竽X不僅認(rèn)為“I like going to New York"是一個(gè)積極的句子,它也同時(shí)理解名詞“New York”和“I”,理解動(dòng)詞“l(fā)ike”,并推斷紐約是一個(gè)地方。
ERNIE在關(guān)系抽取任務(wù)中的 F1度量為88.32。
預(yù)訓(xùn)練模型3:Text-to-Text Transfer Transformer(T5)
老實(shí)說,與其他模型相比,我在學(xué)習(xí)這個(gè)模型上獲得了最大的樂趣。Google的Text-to-Text Transfer Transformer(T5)模型將遷移學(xué)習(xí)用于各種NLP任務(wù)。
最有趣的部分是它將每個(gè)問題轉(zhuǎn)換為文本輸入—文本輸出模型。所以,即使對于分類任務(wù),輸入是文本,輸出也將是文本而不是一個(gè)標(biāo)簽。這可以歸結(jié)為所有任務(wù)的單一模型。不僅如此,一個(gè)任務(wù)的輸出可以用作下一個(gè)任務(wù)的輸入。
該語料庫使用了Common Crawls的增強(qiáng)版本。這基本上是從網(wǎng)上刮來的文字。本文實(shí)際上強(qiáng)調(diào)了清理數(shù)據(jù)的重要性,并清楚地說明了這是如何做到的。雖然收集到的數(shù)據(jù)每月產(chǎn)生20TB的數(shù)據(jù),但這些數(shù)據(jù)中的大多數(shù)并不適合NLP任務(wù)。
即使只保留文本內(nèi)容(包含標(biāo)記、代碼內(nèi)容等的頁面已被刪除),該語料庫的大小仍高達(dá)750GB,遠(yuǎn)遠(yuǎn)大于大多數(shù)數(shù)據(jù)集。
注意:這已經(jīng)在TensorFlow上發(fā)布了:https://www.tensorflow.org/datasets/catalog/c4。
將要執(zhí)行的任務(wù)與輸入一起編碼為前綴。如上圖所示,無論是分類任務(wù)還是回歸任務(wù),T5模型仍會(huì)生成新文本以獲取輸出。
T5在20多個(gè)已建立的NLP任務(wù)上實(shí)現(xiàn)了SOTA——這是很少見的,而且從度量標(biāo)準(zhǔn)來看,它盡可能接近人類的輸出。
T5模型跟蹤了最近關(guān)于未標(biāo)記數(shù)據(jù)的訓(xùn)練趨勢,然后在標(biāo)記文本上微調(diào)該模型??梢岳斫獾氖?#xff0c;這個(gè)模型是巨大的,但是我們很有興趣看到進(jìn)一步研究如何縮小這種模型的規(guī)模,以獲得更廣泛的使用和分布。
預(yù)訓(xùn)練模型4:BPT
正如我們目前所看到的,Transformer架構(gòu)在NLP研究中非常流行。BP Transformer再次使用了Transformer,或者更確切地說是它的一個(gè)增強(qiáng)版本,用于文本分類、機(jī)器翻譯等。
然而,使用Transformer仍然是一個(gè)昂貴的過程,因?yàn)樗褂米晕易⒁鈾C(jī)制。自我注意只是指我們對句子本身進(jìn)行注意操作,而不是兩個(gè)不同的句子。自我注意有助于識(shí)別句子中單詞之間的關(guān)系。正是這種自我關(guān)注機(jī)制導(dǎo)致了使用Transformer的成本。
Binary-Partitioning Transformer (BPT)將Transformer看作一個(gè)圖形神經(jīng)網(wǎng)絡(luò),旨在提高自注意力機(jī)制的效率。實(shí)際上,此圖中的每個(gè)節(jié)點(diǎn)都表示一個(gè)輸入標(biāo)記。
BP Transformer的工作原理:
第一步:遞歸地把句子分成兩部分,直到達(dá)到某個(gè)停止條件為止。這稱為二元分區(qū)。因此,例如,“I like going to New York”這句話將有以下幾個(gè)部分:
I like going; to New York
I like; going; to New; York
I; like; going; to; New; York
注意:一個(gè)包含n個(gè)單詞的句子將有2*n–1個(gè)分區(qū),最后,你將得到一個(gè)完整的二叉樹。
第二步:現(xiàn)在每個(gè)分區(qū)都是圖神經(jīng)網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)。可以有兩種類型的邊:
連接父節(jié)點(diǎn)及其子節(jié)點(diǎn)的邊
連接葉節(jié)點(diǎn)與其他節(jié)點(diǎn)的邊
第三步:對圖的每個(gè)節(jié)點(diǎn)及其相鄰節(jié)點(diǎn)執(zhí)行自注意:
BPT實(shí)現(xiàn)了:
在中英機(jī)器翻譯上達(dá)到了SOTA的成績(BLEU評(píng)分:19.84)
IMDb數(shù)據(jù)集情緒分析的準(zhǔn)確率為92.12(結(jié)合GloVE embedding)
我很欣賞這個(gè)模型,因?yàn)樗刮抑匦聦徱暳藞D的概念,并使我敢于研究圖神經(jīng)網(wǎng)絡(luò)。我肯定會(huì)在不久的將來探索更多的圖形神經(jīng)網(wǎng)絡(luò)!
預(yù)訓(xùn)練模型 5:NABoE
神經(jīng)網(wǎng)絡(luò)一直是NLP任務(wù)最受歡迎的模型,并且其性能優(yōu)于更傳統(tǒng)的模型。此外,在從語料庫建立知識(shí)庫的同時(shí)用單詞替換實(shí)體可以改善模型學(xué)習(xí)。
這意味著,我們不是使用語料庫中的單詞來構(gòu)建詞匯表,而是使用實(shí)體鏈接來構(gòu)建大量實(shí)體。雖然已有研究將語料庫表示為模型,但NABoE模型更進(jìn)一步:
使用神經(jīng)網(wǎng)絡(luò)檢測實(shí)體
使用注意力機(jī)制來計(jì)算被檢測實(shí)體的權(quán)重(這決定了這些實(shí)體與文檔的相關(guān)性)
實(shí)體模型的神經(jīng)注意包使用Wikipedia語料庫來檢測與單詞相關(guān)的實(shí)體。例如,單詞“Apple”可以指水果、公司和其他可能的實(shí)體。檢索所有這些實(shí)體后,使用基于softmax的注意力函數(shù)計(jì)算每個(gè)實(shí)體的權(quán)重。這提供了只與特定文檔相關(guān)的實(shí)體的一個(gè)更小的子集。
最后,通過向量嵌入和與詞相關(guān)的實(shí)體的向量嵌入,給出了詞的最終表示。
NABoE模型在文本分類任務(wù)中表現(xiàn)得特別好:
預(yù)訓(xùn)練模型6:Rethinking Complex Neural Network Architectures for Document Classification
現(xiàn)在,在研究了這么多的高級(jí)的預(yù)訓(xùn)練模型之后,我們要反其道而行之,我們要討論一個(gè)使用老的雙向LSTM的模型來實(shí)現(xiàn)SOTA性能。但這正是我最后決定介紹它的原因。
我們常常因?yàn)閹卓脴淠径e(cuò)過森林。我們往往忘記,一個(gè)簡單的調(diào)優(yōu)的模型可能會(huì)獲得與這些復(fù)雜的深度學(xué)習(xí)模型一樣好的結(jié)果。本文的目的就是要說明這一點(diǎn)。
雙向LSTM和正則化的組合能夠在IMDb文檔分類任務(wù)上實(shí)現(xiàn)SOTA的性能。
本文最有趣和值得注意的方面是:
它不使用注意力機(jī)制
這是第一篇使用LSTM +正則化技術(shù)進(jìn)行文檔分類的論文
這個(gè)簡約的模型使用Adam優(yōu)化器,temporal averaging和dropouts來達(dá)到這個(gè)高分。本文將這些結(jié)果與其他深度學(xué)習(xí)模型進(jìn)行了實(shí)證比較,證明了該模型簡單有效,并且結(jié)果說明了一切:
對于行業(yè)而言,這種模型可以被認(rèn)為是一種新穎的方法,在該行業(yè)中,構(gòu)建可用于生產(chǎn)的模型并且在指標(biāo)上取得高分非常重要。
結(jié)尾
在這里,我們討論了最近在文本分類中達(dá)到最新基準(zhǔn)的6種預(yù)訓(xùn)練模型。這些NLP模型表明還有更多的模型,我將期待今年學(xué)習(xí)它們。
所有這些研究中的一個(gè)令人敬畏的要素是這些預(yù)訓(xùn)練模型的可用性和開源性質(zhì)。以上所有模型都有一個(gè)GitHub存儲(chǔ)庫,可以用于實(shí)現(xiàn)。另一個(gè)不可忽視的方面是它們在PyTorch上也可用。這強(qiáng)調(diào)了PyTorch正在快速取代TensorFlow作為構(gòu)建深度學(xué)習(xí)模型的平臺(tái)。
我鼓勵(lì)你在各種數(shù)據(jù)集上嘗試這些模型,并進(jìn)行實(shí)驗(yàn)以了解它們的工作原理。
原文鏈接:https://www.analyticsvidhya.com/blog/2020/03/6-pretrained-models-text-classification/
- End -
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計(jì)學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載機(jī)器學(xué)習(xí)的數(shù)學(xué)基礎(chǔ)專輯獲取一折本站知識(shí)星球優(yōu)惠券,復(fù)制鏈接直接打開:https://t.zsxq.com/yFQV7am本站qq群1003271085。加入微信群請掃碼進(jìn)群:總結(jié)
以上是生活随笔為你收集整理的【NLP】6种用于文本分类的开源预训练模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习基础】数学推导+纯Python
- 下一篇: 【经验分享】来到新公司,我所遇到的三重障