張衛(wèi)娜
(西安思源學(xué)院,西安 710038)
隨著互聯(lián)網(wǎng)絡(luò)的快速普及以及智能手機(jī)的風(fēng)靡,英語(yǔ)世界中各種各樣的社交媒體上出現(xiàn)了海量的文本信息,例如日更的新聞文本、各大購(gòu)物平臺(tái)上的商品評(píng)價(jià)文本、影視書籍平臺(tái)的評(píng)論文本、手機(jī)短信、各種垃圾郵件等[1-2]。其中,短文本的數(shù)量在節(jié)奏明快的互聯(lián)網(wǎng)信息時(shí)代最為龐大,可謂是數(shù)不勝數(shù),這給我們提出了一個(gè)緊迫的需求和研究課題,那就是如何從這些短文本中及時(shí)且準(zhǔn)確地提取出富有價(jià)值的信息,協(xié)助用戶快速高效地篩選出有用的信息,滿足各種需求,譬如情感分類[3]、垃圾郵件與色情信息過(guò)濾及新聞分類等[4]。
英文短文本主要的特征是長(zhǎng)度稍短,其中介于100~200個(gè)單詞長(zhǎng)度的短文本最為常見(jiàn)。短文本分類是自然語(yǔ)言處理中一個(gè)非常經(jīng)典且關(guān)注點(diǎn)極高的低層級(jí)任務(wù)之一,旨在為給定的文本分配預(yù)定義好的類別,其被廣泛應(yīng)用在問(wèn)答系統(tǒng)、對(duì)話系統(tǒng)、情感分析系統(tǒng)以及其他系統(tǒng)等等。近年來(lái),各種各樣的神經(jīng)網(wǎng)絡(luò)模型被嘗試應(yīng)用到文本分類任務(wù)當(dāng)中,例如CNN卷積神經(jīng)網(wǎng)絡(luò)模型[5-7]、自注意力模型以及生成對(duì)抗式網(wǎng)絡(luò)[8]、RNN循環(huán)神經(jīng)網(wǎng)絡(luò)模型[9-11]模型。相比于支持向量機(jī)SVM模型[12]等傳統(tǒng)的統(tǒng)計(jì)學(xué)習(xí)方法,基于深度學(xué)習(xí)的模型性能更加優(yōu)越,提供了更好的分類結(jié)果。預(yù)訓(xùn)練語(yǔ)言模型Bert(bidirectional encoder representations from transformers)是基于大規(guī)模語(yǔ)料庫(kù)利用多任務(wù)預(yù)訓(xùn)練技術(shù)的一種自注意力模型[13]。與基于CNN/RNN模型和傳統(tǒng)模型相比,它通常在許多任務(wù)中取得優(yōu)異的性能,從命名體識(shí)別任務(wù)、文本分類到閱讀理解任務(wù)等。
盡管深度學(xué)習(xí)模型在文本分類任務(wù)中的性能出色,但是這些模型中的大多數(shù)通常沒(méi)有做到很好地捕捉長(zhǎng)距離的語(yǔ)義信息問(wèn)題[14]。針對(duì)這點(diǎn)不足,很多研究者也提出了相應(yīng)的解決方案。Yang等人的HAN模型設(shè)計(jì)了一種分層注意機(jī)制將文本分為句子和單詞兩個(gè)層次,并使用雙向RNN作為編碼器[15]。Lei等人提出的MEAN[16]模型試圖通過(guò)注意力機(jī)制將3種情感語(yǔ)言知識(shí)整合到深度神經(jīng)網(wǎng)絡(luò)中,從而緩解這一問(wèn)題。雖然基于自注意力機(jī)制的模型在一定程度上緩解了這個(gè)問(wèn)題,但依舊沒(méi)有徹底解決。究其原因,很多模型是僅僅從句子或者文檔直接對(duì)句子的表示進(jìn)行建模的,并沒(méi)有顯式地將語(yǔ)言知識(shí)考慮進(jìn)去,導(dǎo)致上下文的語(yǔ)義聯(lián)系不強(qiáng)。例如句子:“Though this movie is a little bit repetitive and vague,it really engages our senses through the way few current movie do”,可以發(fā)現(xiàn)句子中既包含了負(fù)面情感和正面情感。雖然句子的前半句對(duì)電影是持否定態(tài)度,然而聯(lián)合句子的上下文可以發(fā)現(xiàn)“through the way few current movie do”是強(qiáng)烈的表達(dá)了對(duì)電影的肯定,如果不考慮語(yǔ)言知識(shí)的話,最終的分類器給出的預(yù)測(cè)分類結(jié)果可能是錯(cuò)誤的,將此句子判定為負(fù)類。這恰恰是自注意力模型不能夠達(dá)到的效果。
為了更好地捕捉長(zhǎng)距離上下文信息以及語(yǔ)義依賴,同時(shí)有效地將語(yǔ)言知識(shí)引入到文本分類任務(wù)中,本文基于Bert預(yù)訓(xùn)練語(yǔ)言模型與Bi-LSTM模型提出了一種新穎的英文文本分類模型。首先,我們先使用Bert模型得到的嵌入來(lái)表示輸入,然后將該語(yǔ)義嵌入向量當(dāng)做Bi-LSTM模型的輸入來(lái)做進(jìn)一步的特征表示和提取。具體而言,Bert模型能夠很好地對(duì)語(yǔ)言知識(shí)進(jìn)行建模與提取,提升網(wǎng)絡(luò)的特征表達(dá)能力。與此同時(shí),Bi-LSTM模型能夠?qū)斎氲那昂髢蓚€(gè)方向的長(zhǎng)距離上下文語(yǔ)義特征進(jìn)行建模,捕捉文本中單詞間的語(yǔ)義依賴關(guān)系。在多個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文的Bert-Bi-LSTM模型能夠高效且有效地對(duì)句子中的長(zhǎng)距離上下文依賴語(yǔ)義信息進(jìn)行建模,同時(shí)結(jié)合語(yǔ)言知識(shí),有效提升了文本分類的性能。
近來(lái)幾年中,深度神經(jīng)網(wǎng)絡(luò)在自然語(yǔ)言處理中放異彩,在不同任務(wù)中均取得了良好的效果。其中,CNN和RNN,包括長(zhǎng)短期記憶LSTM型網(wǎng)絡(luò)(long-short term memory)[17]以及門控遞歸單元GRU(gate recurrent unit)[18]網(wǎng)絡(luò)非常適合與文本中單詞和序列的處理和特征提取。文獻(xiàn)[5]和[7]均利用CNN來(lái)構(gòu)建文本分類模型。首先,它們使用word2vec處理輸入文本,然后將語(yǔ)義表示向量輸入給CNN以提取特征,最后使用softmax函數(shù)來(lái)判斷文本的類別。基于CNN的方法不僅僅能夠?qū)崿F(xiàn)自動(dòng)提取特征,同時(shí)長(zhǎng)于處理高維度的文本數(shù)據(jù)。然而,CNN處理當(dāng)前時(shí)間步的輸入,不能夠很好地對(duì)前一個(gè)時(shí)間步輸入和后一個(gè)時(shí)間步的輸入同時(shí)進(jìn)行建模。針對(duì)此,Zhu等人于2015年設(shè)計(jì)了一種基于LSTM網(wǎng)絡(luò)的分類模型,該模型將使用詞語(yǔ)序列技術(shù)來(lái)對(duì)評(píng)論文本進(jìn)行詞序列建模而完成特征抽取和分類,因?yàn)長(zhǎng)STM網(wǎng)絡(luò)具有捕捉文本句子中的長(zhǎng)距離型上下文語(yǔ)義關(guān)系[19]。C-LSTM首先使用CNN捕獲文本的局部信息,然后使用LSTM網(wǎng)絡(luò)對(duì)卷積核的每個(gè)輸出進(jìn)行編碼以捕獲全局信息[20]。
近年來(lái),類似于計(jì)算機(jī)視覺(jué)領(lǐng)域中的研究工作,預(yù)訓(xùn)練模型在NLP的多個(gè)任務(wù)中均取得了非常好的結(jié)果。預(yù)訓(xùn)練模型通常通過(guò)利用大量未標(biāo)記語(yǔ)料庫(kù)來(lái)學(xué)習(xí)通用的語(yǔ)言表示,并在針對(duì)不同任務(wù)的預(yù)訓(xùn)練模塊之后接續(xù)額外的任務(wù)特定層。例如,ELMO(embeddings from language models)模型[21]致力于從語(yǔ)言模型中提取上下文敏感特征,從而刷新了幾個(gè)主要NLP基準(zhǔn)任務(wù)的SOTA性能,包括問(wèn)答任務(wù)[22]、情感分析[23]和命名實(shí)體識(shí)別[24]。如圖1所示,GPT(generative pre-training)[25]是一種基于微調(diào)方法的單向預(yù)訓(xùn)練語(yǔ)言模型。在預(yù)訓(xùn)練階段,GPT使用大規(guī)模連續(xù)語(yǔ)料來(lái)訓(xùn)練多層Transformer 編碼器。而BERT模型是基于多層雙向變換器,并在大規(guī)模語(yǔ)料庫(kù)上進(jìn)行掩碼語(yǔ)言模型預(yù)訓(xùn)練任務(wù)訓(xùn)練和下一個(gè)句子預(yù)測(cè)預(yù)訓(xùn)練任務(wù)。Bert模型通過(guò)多頭自注意力機(jī)制大大增強(qiáng)了對(duì)輸入數(shù)據(jù)的不同部分的上下文語(yǔ)義表示的關(guān)注。

圖1 GPT模型
本節(jié)主要介紹文中所涉及到的相關(guān)模型和技術(shù),分別是Bert預(yù)訓(xùn)練語(yǔ)言模型與Bi-LSTM網(wǎng)絡(luò)。
圖2中所展示的模型是Transformer模型的編碼器部分,而這個(gè)編碼器恰恰是構(gòu)成Bert模型的基本單位。從圖2中可以看出,編碼器主要是包含了一層多頭注意力網(wǎng)絡(luò)、兩層加法與歸一化網(wǎng)絡(luò)、一層前饋型網(wǎng)絡(luò),以及跳躍連接機(jī)制。

圖2 Transformer的編碼器
圖1所示的GPT是一種基于預(yù)訓(xùn)練技術(shù)的單向預(yù)訓(xùn)練語(yǔ)言模型,其基本組成器件是Transformer模型的解碼器部分,同時(shí)只是利用了單一方向的解碼器。
如圖3所示,Bert模型則是利用了Transformer模型的編碼器部分建立了雙向的編碼器模型。不同于GPT模型,Bert模型沒(méi)有使用Transformer模型的解碼器,主要原因是解碼器接觸到的都是不完整的句子,而編碼器則可以看到語(yǔ)料庫(kù)中完整的句子,有助于捕捉完整的語(yǔ)言信息從而提升文本分類的性能。

圖3 BERT模型
如圖14所示,針對(duì)標(biāo)準(zhǔn)RNN網(wǎng)絡(luò)在訓(xùn)練階段中一直存在梯度消失抑或爆炸的現(xiàn)象,HochReiter與Schmidhuber兩名學(xué)者于20世紀(jì)90年代提出了LSTM網(wǎng)絡(luò)。

圖4 LSTM網(wǎng)絡(luò)
LSTM網(wǎng)絡(luò)的每個(gè)單元中主要包含了3個(gè)門,分別是輸入門i、遺忘門f和輸出門o。遺忘門主要是控制遺忘上一個(gè)時(shí)間步傳來(lái)的信息類型和數(shù)量;輸入門控制當(dāng)前時(shí)間步內(nèi)主要接收哪些信息來(lái)更新門狀態(tài);而輸出門控制了當(dāng)前時(shí)間步的信息流。在LSTM單元在第t個(gè)時(shí)間步的計(jì)算公式如下:
X=[ht-1,xt]
(1)
ft=sigmoid(WfX+bf)
(2)
it=sigmoid(WiX+bi)
(3)
ct=ft*ct-1+it*tanh(WcX+bc)
(4)
ot=sigmoid(WoX+bo)
(5)
ht=ot*tanh(ct)
(6)
其中:*表示矩陣對(duì)應(yīng)元素的乘法;xt∈Rn為輸入向量,而W∈Rm*n是各個(gè)門的參數(shù),b∈Rm是偏置向量。而上標(biāo)n與m分別代表了單詞向量的維度數(shù)目與語(yǔ)料庫(kù)中的詞匯表尺寸。此外,[·]則表示拼接操作。
盡管LSTM網(wǎng)絡(luò)基于門控機(jī)制和記憶單元提取了長(zhǎng)距離的依賴信息,但是它忽略了從后往前這個(gè)方向的上下文信息,而這對(duì)于文本分類任務(wù)來(lái)說(shuō)至關(guān)重要。自然而言地,我們想到了利用從前往后與從后往前兩個(gè)方向的LSTM網(wǎng)絡(luò),即Bi-LSTM,這樣便能夠?qū)崿F(xiàn)雙向的上下文依賴信息的捕捉。

圖5 Bi-LSTM網(wǎng)絡(luò)
圖5展示了Bi-LSTM網(wǎng)絡(luò)的基本結(jié)構(gòu)。給定上一個(gè)時(shí)間步的隱藏狀態(tài)ht-1和當(dāng)前時(shí)間步的輸入xt,兩個(gè)方向的LSTM的輸出可通過(guò)以下公式得到:
(7)
(8)

3.1.1 網(wǎng)絡(luò)的輸入
Bert雙向編碼器預(yù)訓(xùn)練語(yǔ)言模型,其一般是接受一個(gè)個(gè)由于多個(gè)單詞組成的英文句子作為輸入.每個(gè)句子在輸入之前需要做一些預(yù)處理,即在句首加上表示句子開始的[CLS]標(biāo)識(shí)以及在句末插入表示句子結(jié)束的[SEP]標(biāo)識(shí)。隨后,輸入的英文句子經(jīng)過(guò)預(yù)處理轉(zhuǎn)換為3種輸入向量嵌入,分別是單詞向量、段向量以及位置向量嵌入等,而最終的輸入是將以上3種向量嵌入相加而來(lái)。
其中,由于預(yù)訓(xùn)練的過(guò)程中需要確定兩個(gè)不同句子的順序先后,因此段向量嵌入主要是通過(guò)[CLS]標(biāo)識(shí)將輸入文本的句子兩兩之間進(jìn)行相連,從而達(dá)到區(qū)分的目的。位置向量嵌入主要用于區(qū)分文本序列中處于不同位置的單詞各自間的語(yǔ)義信息的差別。
給定x是由k個(gè)單詞所組成的一個(gè)輸入的英文句子,該英文句子可被形式化表示為x=x1x2…xi…xk,其中xi(1≤i≤k)是第i個(gè)英文單詞。
3.1.2 掩碼語(yǔ)言模型預(yù)訓(xùn)練任務(wù)
掩碼語(yǔ)言模型(MLM,masked language model)預(yù)訓(xùn)練任務(wù)主要目的在于讓模型學(xué)習(xí)到句子的上下文特征,該任務(wù)隨機(jī)地將文本中的單詞用特殊標(biāo)識(shí)[MASK]進(jìn)行掩蓋,然后在輸入給模型進(jìn)行預(yù)測(cè)被掩蓋掉的單詞。具體而言,我們需要對(duì)語(yǔ)料庫(kù)中15%的單詞進(jìn)行掩蓋,然后通過(guò)softmax對(duì)掩蓋的單詞位置所輸出的最終隱藏輸出向量進(jìn)行單詞預(yù)測(cè)。掩碼操作的例子如下:
原本的句子:After watching the movie,I think it is better than the one I saw last week.
掩蓋后的句子:After watching the movie,I think it is [MASK]than the one I saw last week.
如果直接對(duì)語(yǔ)料庫(kù)中15%的單詞進(jìn)行掩蓋,而如前所述輸入向量中并沒(méi)有包含[MASK]標(biāo)識(shí),因此需要想辦法解決這個(gè)小問(wèn)題。針對(duì)要使用[MASK]標(biāo)識(shí)隨機(jī)掩蓋的單詞,具體的策略是:1)其中的80%直接使用[MASK]去替代;2)用任意的單詞替代原有單詞的比例為10%;3)而余下另外的10%保持原樣。舉例如下:
1)After watching the movie,I think it is [MASK]than the one I saw last week.
2)After watching the movie,I think it is no than the one I saw last week.
3)After watching the movie,I think it is better than the one I saw last week.
3.1.3 下一個(gè)句子預(yù)測(cè)預(yù)訓(xùn)練任務(wù)
為了提升模型理解兩個(gè)句子之間的語(yǔ)義聯(lián)系,強(qiáng)化模型的長(zhǎng)距離上下文語(yǔ)義信息的捕捉能力,需要在下一個(gè)句子預(yù)測(cè)類型的預(yù)訓(xùn)練任務(wù)里面,對(duì)給定文本中的兩個(gè)句子的相鄰關(guān)系。具體而言,我們需要從文本語(yǔ)料庫(kù)中任意挑選兩個(gè)句子A和B構(gòu)成一個(gè)訓(xùn)練樣本,按照B屬于句子A下一句的語(yǔ)言邏輯關(guān)系的樣本的數(shù)學(xué)概率為50%(其標(biāo)識(shí)為IsNext),而從數(shù)據(jù)集中隨機(jī)抽選句子B的數(shù)學(xué)概率為50%(其標(biāo)識(shí)為NotNext)。
3.1.4 Bert模型的輸出
如圖6所示,BERT預(yù)訓(xùn)練語(yǔ)言模型的輸出為隱藏狀態(tài)向量或隱藏狀態(tài)向量的時(shí)間步長(zhǎng)序列,其數(shù)學(xué)表示如下:
h=[h1,h2,…,hi,…,hk]
(9)

圖6 模型的整體結(jié)構(gòu)
其中:k為單詞向量的維度(一般而言k=768),i的取值范圍為1≤i≤k。需要指出的是,英文文本的最大長(zhǎng)度取值為150,這么做是為了降低模型的計(jì)算復(fù)雜度和推理速度。
如前所述,單方向的LSTM網(wǎng)絡(luò)只能夠捕捉一個(gè)方向的序列信息,不能做到同時(shí)對(duì)從左向右和從右向左的兩個(gè)方向的上下文語(yǔ)義信息進(jìn)行建模嗎。因此本文結(jié)合從前往后和從后往前雙方向的LSTM網(wǎng)絡(luò),即Bi-LSTM網(wǎng)絡(luò),來(lái)捕捉前后兩個(gè)方向的全局語(yǔ)義信息。
如圖6所示,本文利用Bi-LSTM網(wǎng)絡(luò)作為深層語(yǔ)義特征抽取層,對(duì)Bert預(yù)訓(xùn)練語(yǔ)言模型輸出的隱藏狀態(tài)的時(shí)間步長(zhǎng)序列向量h進(jìn)一步對(duì)文本進(jìn)行全局語(yǔ)義特征抽取。
具體而言,Bi-LSTM網(wǎng)絡(luò)層的真實(shí)輸入為上一個(gè)時(shí)間步的隱層向量ht-1和當(dāng)前時(shí)間步輸入xt的拼接。需要注意的是,在第0個(gè)時(shí)間步中,上一個(gè)時(shí)間步的隱層向量和當(dāng)前時(shí)間步的輸入是相同的。在第t個(gè)時(shí)間步,Bi-LSTM網(wǎng)絡(luò)的輸入為[ht-1,xt],那么從前往后方向的LSTM網(wǎng)絡(luò)的隱藏狀態(tài)輸出向量為:
(10)
而從后往前的LSTM網(wǎng)絡(luò)的隱藏狀態(tài)的輸出向量為:
(11)

最終,在第t個(gè)時(shí)間步,Bi-LSTM層的隱藏狀態(tài)向量為當(dāng)前時(shí)間步t的由后往前和由前往后雙方向產(chǎn)生的隱層向量的拼接結(jié)果,具體為公式(12):
經(jīng)過(guò)所有的時(shí)間步,我們可以得到一個(gè)包含長(zhǎng)距離型上下文語(yǔ)義信息隱層向量的集合,即H={h1,h2,…,hi,…,ht}(1≤i≤t)。
在將隱藏狀態(tài)向量輸入到分類器層之前,本文使用了一個(gè)全連接層作為線性層將句子的高級(jí)全局上下文語(yǔ)義信息表征向量處理為一個(gè)實(shí)值向量,其維度數(shù)目等于文本的類別總數(shù)n。上述全連接層的處理過(guò)程的數(shù)學(xué)化表示為:
g(ht)=Wght+bg
其中:Wg表示全連接層的權(quán)重向量矩陣,bg表示全連接層的偏置向量。
一般而言,對(duì)于文本多分類任務(wù),我們可以使用softmax函數(shù)輸出各個(gè)文本類別的條件概率值的,其中的最大值則是預(yù)測(cè)輸入文本所對(duì)應(yīng)的標(biāo)簽類別。Softmax層的條件概率值計(jì)算的數(shù)學(xué)公式為:
為了更好地配合端到端的深度模型設(shè)計(jì)和訓(xùn)練,本文主要是利用交叉熵?fù)p失函數(shù)來(lái)評(píng)估樣本的真值標(biāo)簽和模型輸出的預(yù)測(cè)值之間的誤差:
其中:N表示類別總數(shù),i與j分別表示文本索引和類別索引,yi表示的是模型輸出的預(yù)測(cè)值,而θ是模型的待優(yōu)化的參數(shù)集合,分別是各層的權(quán)重參數(shù)和偏置參數(shù)。
本文主要在英偉達(dá)3 080 ti型號(hào)的顯卡上利用PyTorch框架搭建模型,而后完成訓(xùn)練和推理實(shí)驗(yàn),選用VSCode作為編程軟件,Python的版本為V3.6.8。本文主要基于Word2Vec詞向量來(lái)建立所有的詞向量,其維度數(shù)量為300,文本最大長(zhǎng)度為150,至于Bi-LSTM網(wǎng)絡(luò)層的節(jié)點(diǎn)數(shù)量設(shè)置為16。訓(xùn)練過(guò)程總的Epoch數(shù)量是10,數(shù)據(jù)集的批次大小設(shè)置為32。此外,所選Adam優(yōu)化器的學(xué)習(xí)率的初值被這設(shè)定陳恒0.001,而λ=0.1。為了更好地?cái)M合模型的同時(shí)保持訓(xùn)練過(guò)程的穩(wěn)定,失活概率為0.3的Dropout引入模型的訓(xùn)練。此外,Bert預(yù)訓(xùn)練語(yǔ)言模型的詞嵌入的維度默認(rèn)為768維。
本文主要使用下列3個(gè)常見(jiàn)的英文數(shù)據(jù)集來(lái)訓(xùn)練和測(cè)試模型:
1)MR數(shù)據(jù)集:該數(shù)據(jù)集是基于簡(jiǎn)短電影評(píng)論文本構(gòu)建而成的,由Pang和Lee兩人于2005年首次應(yīng)用到自然語(yǔ)言處理中的情感分類任務(wù)中。其中,訓(xùn)練集主要包含5 331條正面評(píng)論的負(fù)面樣本以及3 610條正面樣本。
2)SST-2數(shù)據(jù)集:該數(shù)據(jù)集是MR數(shù)據(jù)集的變體。需要注意的是,非常積極和正向的評(píng)價(jià)文本被標(biāo)記為正樣本,而負(fù)面積極和極度負(fù)面的評(píng)價(jià)文本則會(huì)被標(biāo)記為負(fù)面樣本。總體上,訓(xùn)練集被劃分為3 310條負(fù)面樣本以及3 610條正面樣本。
3)CoLA數(shù)據(jù)集:CoLA語(yǔ)料庫(kù)是一個(gè)二元單句分類任務(wù)所使用的數(shù)據(jù)集。CoLA數(shù)據(jù)集是被經(jīng)過(guò)人工標(biāo)注的,主要是針對(duì)語(yǔ)法的接受性。本文使用該語(yǔ)料庫(kù)的公開獲取版本,其中包含8 551條訓(xùn)練數(shù)據(jù)和1 043個(gè)測(cè)試數(shù)據(jù)5,總共有6 744個(gè)正面樣本和2 850個(gè)負(fù)面樣本。該數(shù)據(jù)集的文本平均長(zhǎng)度為7.7個(gè)單詞。由于CoLA的測(cè)試集沒(méi)有進(jìn)行標(biāo)注,因此本文從訓(xùn)練集中劃分出5%樣本作為驗(yàn)證集,并使用原始驗(yàn)證集作為測(cè)試集。
在模型評(píng)價(jià)指標(biāo)的選取上,本文主要使用準(zhǔn)確率Accuracy去衡量和評(píng)估所設(shè)計(jì)的模型以及對(duì)比模型的有效性和性能。Accuracy可通過(guò)如下公式進(jìn)行計(jì)算:
其中:TP和TN分別代表l了輸入的英文句子被正確地預(yù)估為正樣本的數(shù)量和被錯(cuò)誤地預(yù)估為正樣本的數(shù)量,而FN和TN分別代表了被錯(cuò)誤地預(yù)估為負(fù)樣本的數(shù)量,以及被正確地預(yù)估為負(fù)樣本的數(shù)量。
為了充分地評(píng)估本文所設(shè)計(jì)的Bert-Bi-LSTM分類模型是否能夠準(zhǔn)確地提取到局部和全局的高級(jí)上下文語(yǔ)義信息,我們將該模型與多個(gè)基準(zhǔn)模型進(jìn)行了對(duì)比和評(píng)估實(shí)驗(yàn)。除了原本的Bert預(yù)訓(xùn)練語(yǔ)言模型直接應(yīng)用于英文文本分類任務(wù),本文還選取了幾個(gè)相關(guān)的深度學(xué)習(xí)網(wǎng)絡(luò)模型作為基準(zhǔn)模型進(jìn)行對(duì)比實(shí)驗(yàn)。關(guān)于選取的基準(zhǔn)模型的詳細(xì)信息說(shuō)明如下:
1)SVM:為體現(xiàn)對(duì)比實(shí)驗(yàn)的全面性,本文特地選取了傳統(tǒng)分類模型SVM作為一個(gè)基準(zhǔn)對(duì)比模型。
2)MLP:傳統(tǒng)模型多層感知機(jī)的隱藏層數(shù)量為2,分別包含512和100個(gè)隱藏單元,該感知機(jī)使用了經(jīng)過(guò)TF詞頻加權(quán)的詞袋向量。
3)CNN-non-static:該模型的輸入向量和MLP的保持一致,同時(shí)沒(méi)有改變模型原本的訓(xùn)練參數(shù)。
4)LSTM:Bert模型的隱層輸出向量是單向長(zhǎng)短期記憶網(wǎng)絡(luò)的輸入。
5)Bi-LSTM:雙向LSTM網(wǎng)絡(luò)的輸入和單向的保持一致。
6)Bert:在本文的實(shí)驗(yàn)中,我們使用的是原始的預(yù)訓(xùn)練Bert模型。
為了保證對(duì)比實(shí)驗(yàn)是公平比較,所有的模型均是從零開始訓(xùn)練。
本文在表1中提供了上述各個(gè)基準(zhǔn)對(duì)比模型在MR數(shù)據(jù)集、SST-2數(shù)據(jù)集與CoLA數(shù)據(jù)集上的準(zhǔn)確率結(jié)果。從表1中列出的實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),基于深度學(xué)習(xí)的分類模型在3個(gè)數(shù)據(jù)集上的性能均一致高于傳統(tǒng)的基于機(jī)器學(xué)習(xí)的分類模型。最為重要的是,經(jīng)過(guò)實(shí)驗(yàn)對(duì)比可以看出,本文所提出的結(jié)合Bert與Bi-LSTM的模型的性能超越了所有的基準(zhǔn)對(duì)比模型。特別地,本文的模型的性能同時(shí)優(yōu)于單獨(dú)利用那個(gè)Bert模型和Bi-LSTM網(wǎng)絡(luò)去實(shí)現(xiàn)分類的情況,這個(gè)結(jié)果說(shuō)明結(jié)合二者構(gòu)建的分類模型性能優(yōu)越,兼?zhèn)涠叩膹?qiáng)大的上下文語(yǔ)義信息的挖掘能力和雙向長(zhǎng)距離依賴捕捉能力。

表1 不同模型在3個(gè)數(shù)據(jù)集上的準(zhǔn)確率結(jié)果
在僅僅利用到局部語(yǔ)義信息的模型之中,Bert模型超越了SVM、MLP與LSTM模型。此外,Bi-LSTM模型的性能相比于單向的LSTM模型有所提升,這得益于Bi-LSTM同時(shí)捕捉到了前后兩個(gè)方向的上下文信息。注意到,Bi-LSTM模型在MR數(shù)據(jù)集上的性能是略低于CNN- non-static模型的,但是在結(jié)合Bert預(yù)訓(xùn)練語(yǔ)言模型之后,這在此證明了Bert預(yù)訓(xùn)練模型強(qiáng)大的語(yǔ)義信息表達(dá)和提取能力對(duì)文本分類模型的性能提升很有幫助。

圖7 模型的訓(xùn)練曲線
為了探究不同數(shù)據(jù)集中文本的不同的最大長(zhǎng)度對(duì)模型性能的影響,本文將所提出的Bert-Bi-LSTM模型在3個(gè)數(shù)據(jù)集上均完成了消融實(shí)驗(yàn)。從表2中可以觀察到,隨著文本最大長(zhǎng)度邊長(zhǎng),本文所提的模型在3個(gè)數(shù)據(jù)集上的性能提升趨勢(shì)基本一致,但是在長(zhǎng)度越過(guò)150時(shí),模型性能的增益變小,甚至出現(xiàn)了輕微下降的現(xiàn)象。因此為了在模型的性能與計(jì)算成本之間做出較好的權(quán)衡,本文選擇了150作為最終的文本最大長(zhǎng)度值。

表2 不同的最大句子長(zhǎng)度對(duì)本文所提模型性能的影響
針對(duì)英文文本分類任務(wù)中現(xiàn)存的主要問(wèn)題和不足,本文主要提出了一種新穎的基于Bert-Bi-LSTM分類模型。相比于現(xiàn)有的分類方法,該模型能夠通過(guò)Bert預(yù)訓(xùn)練語(yǔ)言模型引入外部的語(yǔ)言知識(shí)提升分類的準(zhǔn)確性,同時(shí)還能基于Bi-LSTM網(wǎng)絡(luò)對(duì)詞嵌入向量進(jìn)行前后兩個(gè)方向的上下文語(yǔ)義依賴信息進(jìn)行建模。充分的對(duì)比實(shí)驗(yàn)結(jié)果表明,本文結(jié)合Bert預(yù)訓(xùn)練元模型和Bi-LSTM網(wǎng)絡(luò)搭建的模型在3個(gè)公共數(shù)據(jù)集上的性能顯著勝于其他基準(zhǔn)對(duì)比模型,其能夠借助外部的語(yǔ)言知識(shí)去提升分類的準(zhǔn)確率。此外,本文提出的算法同時(shí)利用Bi-LSTM網(wǎng)絡(luò)來(lái)捕獲雙向的長(zhǎng)距離型上下文語(yǔ)義依賴信息,大大提高了分類模型的特征提取與表示能力。