本文首先介紹BERT模型要做什么,即:模型的輸入、輸出分別是什么,以及模型的預(yù)訓(xùn)練任務(wù)是什么;然后,分析模型的內(nèi)部結(jié)構(gòu),圖解如何將模型的輸入一步步地轉(zhuǎn)化為模型輸出;最后,我們在多個(gè)中/英文、不同規(guī)模的數(shù)據(jù)集上比較了BERT模型與現(xiàn)有方法的文本分類效果。
1. 模型的輸入/輸出
BERT模型的全稱是:BidirectionalEncoder Representations from Transformer。從名字中可以看出,BERT模型的目標(biāo)是利用大規(guī)模無標(biāo)注語料訓(xùn)練、獲得文本的包含豐富語義信息的Representation,即:文本的語義表示,然后將文本的語義表示在特定NLP任務(wù)中作微調(diào),最終應(yīng)用于該NLP任務(wù)。煮個(gè)栗子,BERT模型訓(xùn)練文本語義表示的過程就好比我們在高中階段學(xué)習(xí)語數(shù)英、物化生等各門基礎(chǔ)學(xué)科,夯實(shí)基礎(chǔ)知識(shí);而模型在特定NLP任務(wù)中的參數(shù)微調(diào)就相當(dāng)于我們在大學(xué)期間基于已有基礎(chǔ)知識(shí)、針對所選專業(yè)作進(jìn)一步強(qiáng)化,從而獲得能夠應(yīng)用于實(shí)際場景的專業(yè)技能。
在基于深度神經(jīng)網(wǎng)絡(luò)的NLP方法中,文本中的字/詞通常都用一維向量來表示(一般稱之為“詞向量”);在此基礎(chǔ)上,神經(jīng)網(wǎng)絡(luò)會(huì)將文本中各個(gè)字或詞的一維詞向量作為輸入,經(jīng)過一系列復(fù)雜的轉(zhuǎn)換后,輸出一個(gè)一維詞向量作為文本的語義表示。特別地,我們通常希望語義相近的字/詞在特征向量空間上的距離也比較接近,如此一來,由字/詞向量轉(zhuǎn)換而來的文本向量也能夠包含更為準(zhǔn)確的語義信息。因此,BERT模型的主要輸入是文本中各個(gè)字/詞的原始詞向量,該向量既可以隨機(jī)初始化,也可以利用Word2Vector等算法進(jìn)行預(yù)訓(xùn)練以作為初始值;輸出是文本中各個(gè)字/詞融合了全文語義信息后的向量表示,如下圖所示(為方便描述且與BERT模型的當(dāng)前中文版本保持一致,本文統(tǒng)一以字向量作為輸入):
從上圖中可以看出,BERT模型通過查詢字向量表將文本中的每個(gè)字轉(zhuǎn)換為一維向量,作為模型輸入;模型輸出則是輸入各字對應(yīng)的融合全文語義信息后的向量表示。此外,模型輸入除了字向量,還包含另外兩個(gè)部分:
1. 文本向量:該向量的取值在模型訓(xùn)練過程中自動(dòng)學(xué)習(xí),用于刻畫文本的全局語義信息,并與單字/詞的語義信息相融合
2. 位置向量:由于出現(xiàn)在文本不同位置的字/詞所攜帶的語義信息存在差異(比如:“我愛你”和“你愛我”),因此,BERT模型對不同位置的字/詞分別附加一個(gè)不同的向量以作區(qū)分
最后,BERT模型將字向量、文本向量和位置向量的加和作為模型輸入。特別地,在目前的BERT模型中,文章作者還將英文詞匯作進(jìn)一步切割,劃分為更細(xì)粒度的語義單位(WordPiece),例如:將playing分割為play和##ing;此外,對于中文,目前作者尚未對輸入文本進(jìn)行分詞,而是直接將單字作為構(gòu)成文本的基本單位。
對于不同的NLP任務(wù),模型輸入會(huì)有微調(diào),對模型輸出的利用也有差異,例如:
單文本分類任務(wù):對于文本分類任務(wù),BERT模型在文本前插入一個(gè)[CLS]符號(hào),并將該符號(hào)對應(yīng)的輸出向量作為整篇文本的語義表示,用于文本分類,如下圖所示??梢岳斫鉃椋号c文本中已有的其它字/詞相比,這個(gè)無明顯語義信息的符號(hào)會(huì)更“公平”地融合文本中各個(gè)字/詞的語義信息。
語句對分類任務(wù):該任務(wù)的實(shí)際應(yīng)用場景包括:問答(判斷一個(gè)問題與一個(gè)答案是否匹配)、語句匹配(兩句話是否表達(dá)同一個(gè)意思)等。對于該任務(wù),BERT模型除了添加[CLS]符號(hào)并將對應(yīng)的輸出作為文本的語義表示,還對輸入的兩句話用一個(gè)[SEP]符號(hào)作分割,并分別對兩句話附加兩個(gè)不同的文本向量以作區(qū)分,如下圖所示。
序列標(biāo)注任務(wù):該任務(wù)的實(shí)際應(yīng)用場景包括:中文分詞&新詞發(fā)現(xiàn)(標(biāo)注每個(gè)字是詞的首字、中間字或末字)、答案抽?。ù鸢傅钠鹬刮恢茫┑?。對于該任務(wù),BERT模型利用文本中每個(gè)字對應(yīng)的輸出向量對該字進(jìn)行標(biāo)注(分類),如下圖所示(B、I、E分別表示一個(gè)詞的第一個(gè)字、中間字和最后一個(gè)字)。
……
根據(jù)具體任務(wù)的不同,在實(shí)際應(yīng)用中我們可以腦洞大開,通過調(diào)整模型的輸入、輸出將模型適配到真實(shí)業(yè)務(wù)場景中。
2. 模型的預(yù)訓(xùn)練任務(wù)
BERT實(shí)際上是一個(gè)語言模型。語言模型通常采用大規(guī)模、與特定NLP任務(wù)無關(guān)的文本語料進(jìn)行訓(xùn)練,其目標(biāo)是學(xué)習(xí)語言本身應(yīng)該是什么樣的,這就好比我們學(xué)習(xí)語文、英語等語言課程時(shí),都需要學(xué)習(xí)如何選擇并組合我們已經(jīng)掌握的詞匯來生成一篇通順的文本?;氐?/span>BERT模型上,其預(yù)訓(xùn)練過程就是逐漸調(diào)整模型參數(shù),使得模型輸出的文本語義表示能夠刻畫語言的本質(zhì),便于后續(xù)針對具體NLP任務(wù)作微調(diào)。為了達(dá)到這個(gè)目的,BERT文章作者提出了兩個(gè)預(yù)訓(xùn)練任務(wù):Masked LM和Next Sentence Prediction。
2.1 Masked LM
Masked LM的任務(wù)描述為:給定一句話,隨機(jī)抹去這句話中的一個(gè)或幾個(gè)詞,要求根據(jù)剩余詞匯預(yù)測被抹去的幾個(gè)詞分別是什么,如下圖所示。
這不就是我們高中英語常做的完形填空么!所以說,BERT模型的預(yù)訓(xùn)練過程其實(shí)就是在模仿我們學(xué)語言的過程。具體來說,文章作者在一句話中隨機(jī)選擇15%的詞匯用于預(yù)測。對于在原句中被抹去的詞匯,80%情況下采用一個(gè)特殊符號(hào)[MASK]替換,10%情況下采用一個(gè)任意詞替換,剩余10%情況下保持原詞匯不變。這么做的主要原因是:在后續(xù)微調(diào)任務(wù)中語句中并不會(huì)出現(xiàn)[MASK]標(biāo)記,而且這么做的另一個(gè)好處是:預(yù)測一個(gè)詞匯時(shí),模型并不知道輸入對應(yīng)位置的詞匯是否為正確的詞匯(10%概率),這就迫使模型更多地依賴于上下文信息去預(yù)測詞匯,并且賦予了模型一定的糾錯(cuò)能力。
2.2 NextSentence Prediction
Next Sentence Prediction的任務(wù)描述為:給定一篇文章中的兩句話,判斷第二句話在文本中是否緊跟在第一句話之后,如下圖所示。
當(dāng)年大學(xué)考英語四六級(jí)的時(shí)候,大家應(yīng)該都做過段落重排序,即:將一篇文章的各段打亂,讓我們通過重新排序把原文還原出來,這其實(shí)需要我們對全文大意有充分、準(zhǔn)確的理解。Next Sentence Prediction任務(wù)實(shí)際上就是段落重排序的簡化版:只考慮兩句話,判斷是否是一篇文章中的前后句。在實(shí)際預(yù)訓(xùn)練過程中,文章作者從文本語料庫中隨機(jī)選擇50%正確語句對和50%錯(cuò)誤語句對進(jìn)行訓(xùn)練,與Masked LM任務(wù)相結(jié)合,讓模型能夠更準(zhǔn)確地刻畫語句乃至篇章層面的語義信息。
BERT模型通過對Masked LM任務(wù)和Next Sentence Prediction任務(wù)進(jìn)行聯(lián)合訓(xùn)練,使模型輸出的每個(gè)字/詞的向量表示都能盡可能全面、準(zhǔn)確地刻畫輸入文本(單句或語句對)的整體信息,為后續(xù)的微調(diào)任務(wù)提供更好的模型參數(shù)初始值。
3. 模型結(jié)構(gòu)
了解了BERT模型的輸入/輸出和預(yù)訓(xùn)練過程之后,我們來看一下BERT模型的內(nèi)部結(jié)構(gòu)。前面提到過,BERT模型的全稱是:BidirectionalEncoder Representations from Transformer,也就是說,Transformer是組成BERT的核心模塊,而Attention機(jī)制又是Transformer中最關(guān)鍵的部分,因此,下面我們從Attention機(jī)制開始,介紹如何利用Attention機(jī)制構(gòu)建Transformer模塊,在此基礎(chǔ)上,用多層Transformer組裝BERT模型。
3.1 Attention機(jī)制
Attention: Attention機(jī)制的中文名叫“注意力機(jī)制”,顧名思義,它的主要作用是讓神經(jīng)網(wǎng)絡(luò)把“注意力”放在一部分輸入上,即:區(qū)分輸入的不同部分對輸出的影響。這里,我們從增強(qiáng)字/詞的語義表示這一角度來理解一下Attention機(jī)制。
我們知道,一個(gè)字/詞在一篇文本中表達(dá)的意思通常與它的上下文有關(guān)。比如:光看“鵠”字,我們可能會(huì)覺得很陌生(甚至連讀音是什么都不記得吧),而看到它的上下文“鴻鵠之志”后,就對它立馬熟悉了起來。因此,字/詞的上下文信息有助于增強(qiáng)其語義表示。同時(shí),上下文中的不同字/詞對增強(qiáng)語義表示所起的作用往往不同。比如在上面這個(gè)例子中,“鴻”字對理解“鵠”字的作用最大,而“之”字的作用則相對較小。為了有區(qū)分地利用上下文字信息增強(qiáng)目標(biāo)字的語義表示,就可以用到Attention機(jī)制。
Attention機(jī)制主要涉及到三個(gè)概念:Query、Key和Value。在上面增強(qiáng)字的語義表示這個(gè)應(yīng)用場景中,目標(biāo)字及其上下文的字都有各自的原始Value,Attention機(jī)制將目標(biāo)字作為Query、其上下文的各個(gè)字作為Key,并將Query與各個(gè)Key的相似性作為權(quán)重,把上下文各個(gè)字的Value融入目標(biāo)字的原始Value中。如下圖所示,Attention機(jī)制將目標(biāo)字和上下文各個(gè)字的語義向量表示作為輸入,首先通過線性變換獲得目標(biāo)字的Query向量表示、上下文各個(gè)字的Key向量表示以及目標(biāo)字與上下文各個(gè)字的原始Value表示,然后計(jì)算Query向量與各個(gè)Key向量的相似度作為權(quán)重,加權(quán)融合目標(biāo)字的Value向量和各個(gè)上下文字的Value向量,作為Attention的輸出,即:目標(biāo)字的增強(qiáng)語義向量表示。
Self-Attention:對于輸入文本,我們需要對其中的每個(gè)字分別增強(qiáng)語義向量表示,因此,我們分別將每個(gè)字作為Query,加權(quán)融合文本中所有字的語義信息,得到各個(gè)字的增強(qiáng)語義向量,如下圖所示。在這種情況下,Query、Key和Value的向量表示均來自于同一輸入文本,因此,該Attention機(jī)制也叫Self-Attention。
Multi-head Self-Attention:為了增強(qiáng)Attention的多樣性,文章作者進(jìn)一步利用不同的Self-Attention模塊獲得文本中每個(gè)字在不同語義空間下的增強(qiáng)語義向量,并將每個(gè)字的多個(gè)增強(qiáng)語義向量進(jìn)行線性組合,從而獲得一個(gè)最終的與原始字向量長度相同的增強(qiáng)語義向量,如下圖所示。
這里,我們再給出一個(gè)例子來幫助理解Multi-head Self-Attention(注:這個(gè)例子僅用于幫助理解,并非嚴(yán)格正確)??聪旅孢@句話:“南京市長江大橋”,在不同語義場景下對這句話可以有不同的理解:“南京市/長江大橋”,或“南京市長/江大橋”。對于這句話中的“長”字,在前一種語義場景下需要和“江”字組合才能形成一個(gè)正確的語義單元;而在后一種語義場景下,它則需要和“市”字組合才能形成一個(gè)正確的語義單元。我們前面提到,Self-Attention旨在用文本中的其它字來增強(qiáng)目標(biāo)字的語義表示。在不同的語義場景下,Attention所重點(diǎn)關(guān)注的字應(yīng)有所不同。因此,Multi-head Self-Attention可以理解為考慮多種語義場景下目標(biāo)字與文本中其它字的語義向量的不同融合方式??梢钥吹剑?/span>Multi-head Self-Attention的輸入和輸出在形式上完全相同,輸入為文本中各個(gè)字的原始向量表示,輸出為各個(gè)字融合了全文語義信息后的增強(qiáng)向量表示。因此,Multi-head Self-Attention可以看作是對文本中每個(gè)字分別增強(qiáng)其語義向量表示的黑盒。
3.2 Transformer Encoder
在Multi-headSelf-Attention的基礎(chǔ)上再添加一些“佐料”,就構(gòu)成了大名鼎鼎的Transformer Encoder。實(shí)際上,Transformer模型還包含一個(gè)Decoder模塊用于生成文本,但由于BERT模型中并未使用到Decoder模塊,因此這里對其不作詳述。下圖展示了Transformer Encoder的內(nèi)部結(jié)構(gòu),可以看到,Transformer Encoder在Multi-head Self-Attention之上又添加了三種關(guān)鍵操作:
殘差連接(ResidualConnection):將模塊的輸入與輸出直接相加,作為最后的輸出。這種操作背后的一個(gè)基本考慮是:修改輸入比重構(gòu)整個(gè)輸出更容易(“錦上添花”比“雪中送炭”容易多了!)。這樣一來,可以使網(wǎng)絡(luò)更容易訓(xùn)練。
Layer Normalization:對某一層神經(jīng)網(wǎng)絡(luò)節(jié)點(diǎn)作0均值1方差的標(biāo)準(zhǔn)化。
線性轉(zhuǎn)換:對每個(gè)字的增強(qiáng)語義向量再做兩次線性變換,以增強(qiáng)整個(gè)模型的表達(dá)能力。這里,變換后的向量與原向量保持長度相同。
可以看到,Transformer Encoder的輸入和輸出在形式上還是完全相同,因此,Transformer Encoder同樣可以表示為將輸入文本中各個(gè)字的語義向量轉(zhuǎn)換為相同長度的增強(qiáng)語義向量的一個(gè)黑盒。
3.3 BERT model
組裝好TransformerEncoder之后,再把多個(gè)Transformer Encoder一層一層地堆疊起來,BERT模型就大功告成了!
在論文中,作者分別用12層和24層Transformer Encoder組裝了兩套BERT模型,兩套模型的參數(shù)總數(shù)分別為110M和340M。
4. BERT模型的文本分類效果
在本文中,我們聚焦文本分類任務(wù),對比分析BERT模型在中/英文、不同規(guī)模數(shù)據(jù)集上的文本分類效果。我們基于Google預(yù)訓(xùn)練好的BERT模型(中文采用chinese_L-12_H-768_A-12模型,下載鏈接:https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip;英文采用uncased_L-12_H-768_A-12模型,下載鏈接:https://storage.googleapis.com/bert_models/2018_10_18/uncased_L-12_H-768_A-12.zip)。我們一共選擇了6個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),各數(shù)據(jù)集的訓(xùn)練集/測試集大小、分類任務(wù)、類別數(shù)和語言類型如下表所示。
數(shù)據(jù)集 | 訓(xùn)練集大小 | 測試集大小 | 分類任務(wù) | 類別數(shù) | 語言類型 |
商品評論情感分析 | 9653 | 1145 | 情感極性分類 | 3 | 中文 |
Sentiment_XS | 29613 | 11562 | 情感極性分類 | 2 | 中文 |
立場分析 | 2914 | 1249 | 立場分類 | 3 | 英文 |
AG’s News | 120000 | 7600 | 新聞分類 | 4 | 英文 |
Yelp Review Full | 650000 | 50000 | 情感分類 | 5 | 英文 |
Yahoo! Answers | 1400000 | 60000 | 問答系統(tǒng) | 10 | 英文 |
4.1 商品評論情感分析
該數(shù)據(jù)集旨在分析微博中表達(dá)的對特定商品的情感傾向:正面、負(fù)面或中立。我們選擇了三種方法與BERT模型進(jìn)行對比:
XGBoost:NGram特征+XGBoost分類器
Char-level CNN:將未分詞的文本直接輸入卷積神經(jīng)網(wǎng)絡(luò)(已對比發(fā)現(xiàn)Word-level CNN效果略差)
Attention-based RNN:將分詞后的文本輸入循環(huán)神經(jīng)網(wǎng)絡(luò)(已對比發(fā)現(xiàn)Char-level RNN效果略差),并且在最終分類前采用Attention機(jī)制融合輸入各個(gè)詞對應(yīng)的hidden states
BERT模型與三種對比方法的正面、負(fù)面、中立情感分類F1值如下:
方法 | 正面F1值 | 負(fù)面F1值 | 中立F1值 |
XGBoost | 67% | 60% | 91% |
Char-level CNN | 69% | 74% | 92% |
Attention-based RNN | 66% | 71% | 91% |
BERT | 71% | 76% | 92% |
從上表中可以看到,BERT模型在正、負(fù)、中立F1值上均碾壓了所有對比方法!
4.2 Sentiment_XS
該數(shù)據(jù)集來自于論文“SentimentClassification with Convolutional Neural Networks: an Experimental Study on aLarge-scale Chinese Conversation Corpus” (DOI:10.1109/CIS.2016.0046),旨在對短文本進(jìn)行正/負(fù)面情感極性分類。我們選擇論文中的部分代表性對比方法與BERT模型進(jìn)行對比,包括:支持向量機(jī)分類器(SVC)、邏輯回歸(LR)、Naive Bayes SVM(NBSVM)和卷積神經(jīng)網(wǎng)絡(luò)(CNN),分類準(zhǔn)確率如下表所示(對比方法的實(shí)驗(yàn)數(shù)據(jù)來自于論文)。
方法 | 分類準(zhǔn)確率 |
SVC | 81.89% |
LR | 81.84% |
NBSVM | 81.18% |
CNN | 87.12% |
BERT | 90.01% |
可以看到,BERT模型在Sentiment_XS數(shù)據(jù)集上的分類準(zhǔn)確率再次碾壓了所有對比方法!
4.3 立場分析
該數(shù)據(jù)集來自于國外文本分析評測比賽SemEval-2016的任務(wù)6A:有監(jiān)督立場分類,旨在分析文本中對5個(gè)話題的支持、反對或中立態(tài)度,包括:有神論、氣候變化、女權(quán)運(yùn)動(dòng)、Hillary Clinton和墮胎合法化。因此,該數(shù)據(jù)集實(shí)際上對應(yīng)5個(gè)話題子集。分類效果的官方評估指標(biāo)為支持類別F1值和反對類別F1值的宏平均。我們選擇了當(dāng)前立場分析領(lǐng)域的四個(gè)最優(yōu)方法與BERT模型進(jìn)行對比,包括:
SVM:NGram特征+支持向量機(jī)分類器,該方法取得了當(dāng)時(shí)參加評測的所有方法的最優(yōu)分類效果
MITRE:基于循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM)的方法,在參加評測的神經(jīng)網(wǎng)絡(luò)方法中取得最優(yōu)效果
pkudblab:基于卷積神經(jīng)網(wǎng)絡(luò)的方法,在參加評測的神經(jīng)網(wǎng)絡(luò)方法中效果僅次于MITRE
TGMN-CR:結(jié)合動(dòng)態(tài)記憶模塊與循環(huán)神經(jīng)網(wǎng)絡(luò)的方法,近期提出的最新方法
上述方法與BERT模型在5個(gè)數(shù)據(jù)子集上的分類效果如下表所示(對比方法的數(shù)據(jù)來自于論文:A Target-GuidedNeural Memory Model for Stance Detection in Twitter,DOI:10.1109/IJCNN.2018.8489665)。
方法 | 有神論 | 氣候變化 | 女權(quán)運(yùn)動(dòng) | Hillary Clinton | 墮胎合法化 |
SVM | 65.19% | 42.35% | 57.46% | 58.63% | 66.42% |
MITRE | 61.47% | 41.63% | 62.09% | 57.67% | 57.28% |
pkudblab | 63.34% | 52.69% | 51.33% | 64.41% | 61.09% |
TGMN-CR | 64.6% | 43.02% | 59.35% | 66.21% | 66.21% |
BERT | 75.51% | 46.04% | 55.35% | 67.54% | 62.5% |
從上表中可以看到,BERT模型在2個(gè)數(shù)據(jù)子集中都取得了最優(yōu)效果,尤其是“有神論”數(shù)據(jù)集,F1值超過當(dāng)前最優(yōu)算法約10%!不過,在其余三個(gè)數(shù)據(jù)子集中,BERT模型的表現(xiàn)比較一般。
4.4 AG’s News& Yelp Review Full & Yahoo! Answers
這三個(gè)數(shù)據(jù)集算是文本分類領(lǐng)域的經(jīng)典數(shù)據(jù)集了,分別對應(yīng)新聞分類、情感分類和問答系統(tǒng)任務(wù)。這里,我們選擇了4種在這三個(gè)數(shù)據(jù)集上進(jìn)行過實(shí)驗(yàn)驗(yàn)證的方法與BERT模型進(jìn)行對比,包括:
char-CNN:將未分詞的文本直接輸入卷積神經(jīng)網(wǎng)絡(luò)
FastText:一種用于文本分類的快速神經(jīng)網(wǎng)絡(luò)方法
VDCNN:Very Deep CNN,顧名思義,非常非常深的卷積神經(jīng)網(wǎng)絡(luò)Region embedding:利用局部文本語義信息增強(qiáng)文本中每個(gè)詞的語義向量表示,輸入到一個(gè)簡單神經(jīng)網(wǎng)絡(luò)中進(jìn)行分類
DPCNN:Deep Pyramid CNN,同樣是非常深的神經(jīng)網(wǎng)絡(luò),通過池化操作使網(wǎng)絡(luò)的每層神經(jīng)元個(gè)數(shù)不斷減半,因此,整個(gè)神經(jīng)網(wǎng)絡(luò)看起來像是一個(gè)金字塔結(jié)構(gòu)
上述對比方法與BERT模型在三個(gè)數(shù)據(jù)集上的分類準(zhǔn)確率如下表所示(對比方法的數(shù)據(jù)來自于論文:A New method ofRegion Embedding for Text Classification和Deep PyramidConvolutional Neural Networks for Text Categorization)。
方法 | AG’s News | Yelp Review Full | Yahoo! Answers |
char-CNN | 87.2% | 62% | 71.2% |
FastText | 92.5% | 63.9% | 72.3% |
VDCNN | 91.3% | 64.7% | 73.4% |
Region embedding | 92.8% | 64.9% | 73.7% |
DPCNN | 93.1% | 69.4% | 76.1% |
BERT | 94.6% | 66.0% | 74.2% |
上表表明,BERT模型在AG’s News數(shù)據(jù)集上取得了最高的分類準(zhǔn)確率,在Yelp Review Full和Yahoo! Answers數(shù)據(jù)集上也都取得了次高的分類準(zhǔn)確率。需要注意的是,我們目前僅使用12層Transformer Encoder結(jié)構(gòu)的BERT模型進(jìn)行實(shí)驗(yàn),后續(xù)會(huì)進(jìn)一步檢驗(yàn)24層TransformerEncoder結(jié)構(gòu)的BERT模型的分類效果,可以期待,BERT模型的分類效果應(yīng)該會(huì)隨著網(wǎng)絡(luò)結(jié)構(gòu)的加深而進(jìn)一步有所提高。
5. 結(jié)語
本文分析了BERT模型的內(nèi)部結(jié)構(gòu)與原理,并在文本分類任務(wù)上檢驗(yàn)了模型效果。從實(shí)驗(yàn)結(jié)果中可以看出,BERT模型的文本分類效果在許多中/英文數(shù)據(jù)集上都超過了現(xiàn)有方法,體現(xiàn)出了很強(qiáng)的泛用性。后續(xù)我們將繼續(xù)檢驗(yàn)BERT模型在其它NLP任務(wù)中的效果,并研究提升模型訓(xùn)練效率的方法,歡迎大家批評與指正!
Citations
Devlin J, Chang M W, Lee K, et al. Bert:Pre-training of deep bidirectional transformers for language understanding[J].arXiv preprint arXiv:1810.04805, 2018.
Vaswani A, Shazeer N, Parmar N, et al.Attention is all you need[C]//Advances in Neural Information ProcessingSystems. 2017: 5998-6008.
Zhang L, Chen C. Sentimentclassification with convolutional neural networks: an experimental study on alarge-scale Chinese conversation corpus[C]//Computational Intelligence andSecurity (CIS), 2016 12th International Conference on. IEEE, 2016: 165-169.
Mohammad S, Kiritchenko S, Sobhani P, etal. Semeval-2016 task 6: Detecting stance in tweets[C]//Proceedings of the 10thInternational Workshop on Semantic Evaluation (SemEval-2016). 2016: 31-41.
Zarrella G, Marsh A. MITRE atsemeval-2016 task 6: Transfer learning for stance detection[J]. arXiv preprintarXiv:1606.03784, 2016.
Wei W, Zhang X, Liu X, et al. pkudblabat semeval-2016 task 6: A specific convolutional neural network system foreffective stance detection[C]//Proceedings of the 10th International Workshopon Semantic Evaluation (SemEval-2016). 2016: 384-388.
Wei P, Mao W, Zeng D. A Target-GuidedNeural Memory Model for Stance Detection in Twitter[C]//2018 InternationalJoint Conference on Neural Networks (IJCNN). IEEE, 2018: 1-8.
Joulin A, Grave E, Bojanowski P, et al.Bag of tricks for efficient text classification[J]. arXiv preprintarXiv:1607.01759, 2016.
Conneau A, Schwenk H, Barrault L, et al.Very deep convolutional networks for natural language processing[J]. arXivpreprint, 2016.
Johnson R, Zhang T. Deep pyramidconvolutional neural networks for text categorization[C]//Proceedings of the55th Annual Meeting of the Association for Computational Linguistics (Volume 1:Long Papers). 2017, 1: 562-570.
聯(lián)系客服