6个用于文本分类的最新开源预训练模型(NLP必备)
作者:PURVA HUILGOL??編譯:ronghuaiyang
導(dǎo)讀
文本分類是NLP的基礎(chǔ)任務(wù)之一,今天給大家介紹6個(gè)最新的預(yù)訓(xùn)練模型,做NLP的同學(xué)一定要用用看。
介紹
我們正站在語言和機(jī)器的交匯處。我對這個(gè)話題很感興趣。機(jī)器能寫得和莎士比亞一樣好嗎?如果一臺機(jī)器可以提高我自己的寫作技能呢?機(jī)器人能聽懂諷刺的話嗎?
我相信你以前問過這些問題。自然語言處理(NLP)的另一目的是為了回答這些問題,我必須說,在這個(gè)領(lǐng)域已經(jīng)有了突破性的研究成果來拉近人和機(jī)器之間的差距了。
NLP的核心思想之一是文本分類。如果機(jī)器可以區(qū)分名詞和動(dòng)詞,或者如果它可以通過評論檢測客戶是否對產(chǎn)品滿意,我們可以使用這種理解能力用在其他高級NLP等任務(wù)上,比如上下文理解,或者生成一個(gè)全新的故事!
這就是我們看到很多關(guān)于文本分類的研究的主要原因。是的,遷移學(xué)習(xí)的出現(xiàn)無疑幫助加速了研究?,F(xiàn)在,我們可以使用在大型數(shù)據(jù)集上構(gòu)建的預(yù)訓(xùn)練的模型,并對其進(jìn)行調(diào)優(yōu),以實(shí)現(xiàn)不同數(shù)據(jù)集上的其他任務(wù)。
遷移學(xué)習(xí)和預(yù)訓(xùn)練的模型有兩個(gè)主要優(yōu)勢:
它降低了訓(xùn)練新的深度學(xué)習(xí)模型的成本
這些數(shù)據(jù)集是被行業(yè)接受的標(biāo)準(zhǔn),因此預(yù)訓(xùn)練的模型在質(zhì)量方面已經(jīng)得到了檢驗(yàn)
你可以看到為什么預(yù)訓(xùn)練的模特越來越受歡迎。我們看到的谷歌BERT和OpenAI的GPT-2在這方面就做的很好。在本文中,我將介紹6種最先進(jìn)的文本分類預(yù)訓(xùn)練模型。
我們的文本分類預(yù)訓(xùn)練模型包括:
XLNet
ERNIE
Text-to-Text Transfer Transformer (T5)
Binary Partitioning Transfomer (BPT)
Neural Attentive Bag-of-Entities (NABoE)
Rethinking Complex Neural Network Architectures
預(yù)訓(xùn)練模型 #1: XLNet
說到最先進(jìn)的預(yù)訓(xùn)練模型,就不能不提XLNet!
谷歌的最新模型,XLNet在NLP的主要任務(wù)上比如文本分類,情感分析,問答,以及自然語言推理上都達(dá)到最先進(jìn)的水平。不僅僅在文本分類上擊敗了BERT,還包括高級的NLP任務(wù)。
XLNet的核心思想是:
語言理解的廣義自回歸預(yù)訓(xùn)練
Transformer-XL
如果這聽起來很復(fù)雜,不要擔(dān)心!我會(huì)用簡單的語言來解釋。
自回歸建模使用問題中缺失單詞之前或之后的上下文單詞來預(yù)測下一個(gè)單詞。但是,我們不能同時(shí)處理向前和向后兩個(gè)方向。
盡管BERT的自動(dòng)編碼器確實(shí)解決了這方面的問題,但它也有其他的缺點(diǎn),比如假設(shè)mask掉的單詞之間沒有相關(guān)性。為了解決這個(gè)問題,XLNet提出了一種稱為排列語言建模的技術(shù)。這種技術(shù)使用排列來同時(shí)從正向和反向產(chǎn)生信息。
眾所周知,Transformer結(jié)構(gòu)是一個(gè)改變游戲規(guī)則的工具。XLNet使用Transformer XL。正如我們所知,Transformer替代了遞歸神經(jīng)網(wǎng)絡(luò)(RNN),允許不相鄰的tokens同時(shí)進(jìn)行處理。這提高了對文本中長距離關(guān)系的理解。Transformer-XL基本上是BERT中使用的Transformer的增強(qiáng)版,增加了兩個(gè)組件:
特定片段的遞歸,給出兩個(gè)序列之間的上下文
一種相對位置的嵌入,它包含兩個(gè)tokens之間的相似性信息
如前所述,XLNet幾乎在所有任務(wù)(包括文本分類)上都優(yōu)于BERT,并且在其中18個(gè)任務(wù)上實(shí)現(xiàn)了SOTA的性能!下面是對文本分類任務(wù)的總結(jié),以及XLNet如何在這些不同的數(shù)據(jù)集上執(zhí)行,以及它在這些數(shù)據(jù)集上取得的高排名:

論文鏈接: XLNet: Generalized Autoregressive Pretraining for Language Understanding
Github鏈接: https://github.com/zihangdai/xlnet
預(yù)訓(xùn)練模型 #2: ERNIE
盡管ERNIE 1.0(發(fā)布于2019年3月)一直是文本分類的流行模式,但在2019年下半年,ERNIE 2.0成為了熱門話題。ERNIE由科技巨頭百度開發(fā),在英語GLUE基準(zhǔn)測試中,它的表現(xiàn)超過了谷歌XLNet和BERT。
ERNIE的意思是Enhanced Representation through kNowledge IntEgration,ERNIE 2.0是ERNIE 1.0的升級版。ERNIE 1.0在它自己的方式上是開創(chuàng)性的 —— 它是第一個(gè)利用知識圖譜的模型之一。這種集成進(jìn)一步增強(qiáng)了高級任務(wù)的訓(xùn)練模型,如關(guān)系分類和命名實(shí)體識別(NER)。
與之前的版本一樣,ERNIE 2.0帶來了另一項(xiàng)創(chuàng)新,即遞增的多任務(wù)學(xué)習(xí)?;旧?#xff0c;這意味著模型已經(jīng)定義了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ù)。例如,將Task 1的輸出作為Task 1、Task 2的訓(xùn)練,為此,Task 1和Task 2用于訓(xùn)練Task 1、Task 2和Task 3……等等。
我真的很喜歡這個(gè)過程,非常的直觀,因?yàn)樗裱巳祟惱斫馕谋镜姆绞?。我們的大腦不僅認(rèn)為“I like going to New York”是一個(gè)積極情緒的句子,是不是?它同時(shí)理解了名詞“New York”和“I”,理解了“l(fā)ike”這個(gè)動(dòng)詞,并推斷出New York是一個(gè)地方。
ERNIE在關(guān)系提取任務(wù)中獲得了88.32的SOTA的F1-Score
論文鏈接:https://arxiv.org/pdf/1905.07129v3.pdf
Github鏈接:https://github.com/thunlp/ERNIE
預(yù)訓(xùn)練模型 #3: Text-to-Text Transfer Transformer (T5)
說實(shí)話,與其他模型相比,研究這個(gè)模型最有趣。谷歌新的Text-to-Text Transfer Transformer (T5)模型使用Transfer learning來完成各種NLP任務(wù)。
最有趣的部分是它將每個(gè)問題轉(zhuǎn)換為文本輸入—文本輸出模型。因此,即使對于分類任務(wù),輸入也將是文本,輸出也將是單詞而不是標(biāo)簽。這可以歸結(jié)為所有任務(wù)上的一個(gè)模型。不僅如此,一個(gè)任務(wù)的輸出可以用作下一個(gè)任務(wù)的輸入。
語料庫使用普通抓取的增強(qiáng)版本?;旧暇褪菑膚eb上抓取文本。這篇論文強(qiáng)調(diào)了清理數(shù)據(jù)的重要性,并清楚地說明了這是如何做到的。雖然抓取的數(shù)據(jù)每個(gè)月生成20TB的數(shù)據(jù),但是大部分?jǐn)?shù)據(jù)并不適合NLP任務(wù)。
即使只保留文本內(nèi)容(包含標(biāo)記、代碼內(nèi)容等的頁面已被刪除),語料庫的大小仍然高達(dá)750GB,比大多數(shù)數(shù)據(jù)集大得多。
注意:這也已經(jīng)在TensorFlow上發(fā)布了:https://www.tensorflow.org/datasets/catalog/c4
要執(zhí)行的任務(wù)被編碼為輸入的前綴。正如你在上面的圖表中所看到的,不管是分類還是回歸任務(wù),T5模型仍然會(huì)生成新的文本來獲得輸出。
T5在超過20個(gè)已建立的NLP任務(wù)上實(shí)現(xiàn)了SOTA —— 這是很少見的,看看指標(biāo),它和人類的輸出非常接近。
T5模型跟隨了最近的趨勢,對未標(biāo)注的數(shù)據(jù)進(jìn)行了訓(xùn)練,然后對標(biāo)注文本進(jìn)行微調(diào)??梢岳斫獾氖?#xff0c;這個(gè)模型是巨大的,但是可以看到對它進(jìn)行進(jìn)一步的研究,縮小這個(gè)模型是非常有趣的,可以讓它得到更廣泛的使用。
論文鏈接:https://arxiv.org/pdf/1910.10683.pdf
Github鏈接:https://github.com/googl-research/text-to-text-transfer-transformer
預(yù)訓(xùn)練模型 #4: Binary-Partitioning Transformer (BPT)
正如我們到目前為止所看到的,Transformer architecture在NLP研究中非常流行。BP Transformer 再次使用Transformer,或者更確切地說,使用它的一個(gè)增強(qiáng)版本來進(jìn)行文本分類,機(jī)器翻譯等等。
然而,使用Transformer仍然是一個(gè)昂貴的過程,因?yàn)樗褂昧俗宰⒁饬C(jī)制。自注意只是指我們對句子本身進(jìn)行注意力操作,而不是兩個(gè)不同的句子。自注意力有助于識別一句話中單詞之間的關(guān)系。正是這種自注意力的機(jī)制導(dǎo)致了使用Transformer的成本。
Binary-Partitioning Transformer (BPT)將Transformer 視為一個(gè)圖神經(jīng)網(wǎng)絡(luò),旨在提高自注意力機(jī)制的效率。本質(zhì)上,這個(gè)圖中的每個(gè)節(jié)點(diǎn)表示一個(gè)輸入token。
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è)單詞的句子會(huì)有2*n - 1個(gè)分區(qū),最后,你會(huì)得到一個(gè)完整的二叉樹。
第二步:每個(gè)分區(qū)現(xiàn)在都是圖神經(jīng)網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)。有兩種類型的邊:
連接父節(jié)點(diǎn)及其子節(jié)點(diǎn)的邊
連接葉節(jié)點(diǎn)與其他節(jié)點(diǎn)的邊
第三步:對圖中相鄰節(jié)點(diǎn)的每個(gè)節(jié)點(diǎn)進(jìn)行自注意力:
BPT達(dá)到了:
在中英機(jī)器翻譯上達(dá)到了SOTA的成績(BLEU評分:19.84)
IMDb數(shù)據(jù)集情緒分析的準(zhǔn)確率為92.12(結(jié)合GloVE embedding)
我很欣賞這個(gè)模型,因?yàn)樗屛抑匦聦徱暳藞D的概念,讓我敢于去研究圖神經(jīng)網(wǎng)絡(luò)。我承認(rèn)我來晚了,但在不久的將來,我一定會(huì)在圖神經(jīng)網(wǎng)絡(luò)上進(jìn)行更多的探索!
論文鏈接:https://arxiv.org/pdf/1911.04070v1.pdf
Github鏈接:https://github.com/yzh119/BPT
預(yù)訓(xùn)練模型 #5: Neural Attentive Bag-of-Entities Model for Text Classification (NABoE)
神經(jīng)網(wǎng)絡(luò)一直是最受歡迎的NLP任務(wù)模型,它們的表現(xiàn)優(yōu)于傳統(tǒng)的模型。此外,在構(gòu)建語料庫知識庫的同時(shí),用單詞代替實(shí)體,也改善了模型de 學(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)得特別好:
論文鏈接: Neural Attentive Bag-of-Entities Model for Text Classification
Github鏈接: https://github.com/wikipedia2vec/wikipedia2vec/tree/master/examples/text_classification
預(yù)訓(xùn)練模型 #6: Rethinking Complex Neural Network Architectures for Document Classification
現(xiàn)在,在研究了這么多的高級的預(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ī)制
這是第一篇結(jié)合LSTM +正則化方法進(jìn)行文檔分類的論文
這個(gè)最小的模型使用Adam優(yōu)化器,temporal averaging和dropouts,得到了很高的分?jǐn)?shù)。本文將這些結(jié)果與其他深度學(xué)習(xí)模型進(jìn)行了實(shí)證比較,證明了該模型簡單有效,結(jié)果不言自明:
這種模型可以被認(rèn)為是一種新的行業(yè)方法,在這個(gè)行業(yè)中,構(gòu)建可生產(chǎn)的模型并在你的度量標(biāo)準(zhǔn)上獲得高分是很重要的。
論文鏈接: Rethinking Complex Neural Network Architectures for Document Classification
Github鏈接: https://github.com/castorini/hedwig
結(jié)束語
在這里,我們討論了最近在文本分類中達(dá)到SOTA的6個(gè)預(yù)訓(xùn)練模型。這些NLP模型表明,還有更多的模型有待開發(fā),我期待著今年了解它們。
所有這些研究中一個(gè)非常好的地方是這些預(yù)訓(xùn)練好的模型的可用性和開源性。上述所有模型都有一個(gè)GitHub倉庫,可以用于實(shí)現(xiàn)。另一個(gè)不能忽視的方面是,它們也可以在PyTorch上找到。PyTorch正在迅速取代TensorFlow作為構(gòu)建你的深度學(xué)習(xí)模型的平臺。
我鼓勵(lì)你在各種數(shù)據(jù)集上嘗試這些模型,并對它們進(jìn)行試驗(yàn),以了解它們是如何工作的。如果你心中已經(jīng)有了一些和去年一樣酷但沒有引起注意的模型,請?jiān)谙旅娴脑u論中提及它們!
—END—
英文原文:https://www.analyticsvidhya.com/blog/2020/03/6-pretrained-models-text-classification/
往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機(jī)器學(xué)習(xí)在線手冊深度學(xué)習(xí)在線手冊AI基礎(chǔ)下載(pdf更新到25集)本站qq群1003271085,加入微信群請回復(fù)“加群”獲取一折本站知識星球優(yōu)惠券,復(fù)制鏈接直接打開:https://t.zsxq.com/yFQV7am喜歡文章,點(diǎn)個(gè)在看總結(jié)
以上是生活随笔為你收集整理的6个用于文本分类的最新开源预训练模型(NLP必备)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 相当全面:推荐系统干货总结
- 下一篇: 【白话机器学习】算法理论+实战之关联规则