原明君, 江開忠
(上海工程技術(shù)大學(xué)數(shù)理與統(tǒng)計(jì)學(xué)院, 上海 201620)
文本分類是根據(jù)文本所蘊(yùn)含的信息將其映射到預(yù)先定義的帶主題標(biāo)簽的2 個(gè)或幾個(gè)類的過程,同時(shí)也是信息檢索與數(shù)據(jù)挖掘的基礎(chǔ)。 文本分類通常包括特征表示、特征提取和分類三個(gè)主要步驟。 特征表示是文本分類任務(wù)的首要階段,也是文本分類的基礎(chǔ)。 Mikolov 等學(xué)者[1]和Pennington 等學(xué)者[2]分別提出 Word2Vec 模型、 全局向量(Global Vectors, GloVe)對(duì)文本特征進(jìn)行表示。 袁磊[3]和宋呈祥等學(xué)者[4]使用了改進(jìn)的CHI 特征選擇方法對(duì)文本進(jìn)行分析,但在模型訓(xùn)練時(shí),存在利用文本上下文信息范圍有限等問題。
為了改進(jìn)文本信息表示不準(zhǔn)確等問題, Devlin 等學(xué)者[5]和Yang 等學(xué)者[6]分別提出基于Transformers 的雙向編碼預(yù)訓(xùn)練語言模型(Bidirectional Encoder Representations from Transformers, BERT)和廣義自回歸預(yù)訓(xùn)練語言模型(Generalized Autoregressive Pretraining for Language Understanding,XLNet),進(jìn)一步提升了詞向量分類模型的性能。
隨著深度學(xué)習(xí)的發(fā)展,深度學(xué)習(xí)模型被用于不同場(chǎng)景的文本分類任務(wù)中。 Adhikari 等學(xué)者[7]在BiLSTM模型中設(shè)置正則化等步驟,陳立潮等學(xué)者[8]通過改造傳統(tǒng)的BiLSTM 模型,加入對(duì)抗訓(xùn)練等步驟,都達(dá)到了較好的文本分類效果。 楊青等學(xué)者[9]將注意力機(jī)制與BiGRU 相結(jié)合,提出FFA-BiAGRU 文本分類模型,進(jìn)一步提高了文本分類的準(zhǔn)確性。
孫紅等學(xué)者[10]用BERT 訓(xùn)練詞向量,通過BiGRU 融合注意力機(jī)制進(jìn)行特征提取,有效提高了模型分類的準(zhǔn)確率。 梁淑蓉等學(xué)者[11]通過XLNet獲取詞向量,利用LSTM 結(jié)合注意力機(jī)制進(jìn)行文本情感分析,進(jìn)一步提高了模型分類預(yù)測(cè)的準(zhǔn)確性。
通過對(duì)已有方法的深入學(xué)習(xí),本文將預(yù)訓(xùn)練語言模型與BiLSTM、自注意力機(jī)制、層歸一化相結(jié)合,提出了一種結(jié)合自編碼和廣義自回歸預(yù)訓(xùn)練語言模型的DPT-BRNN(Dual Pre-trained-Bi-directional Recurrent Neural Network)文本分類模型。 該模型綜合考慮了不同詞向量表達(dá)的優(yōu)劣,分別通過XLNet、BERT 來構(gòu)建輸入文本的動(dòng)態(tài)語義詞向量,并將其作為新的特征向量分別輸入BiLSTM 提取文本隱藏特征,獲取語義間上下文依賴關(guān)系,同時(shí)與自注意力機(jī)制和層歸一化連接,使文本分類的權(quán)重分配更加合理,從而提高文本分類效果。
目前現(xiàn)有的主流預(yù)訓(xùn)練語言模型分為自回歸語言模型(Auto Regression Language Model, AR)和自編碼語言模型(Auto Encoding Language Model,AE)。 其中,AR 模型主要用于評(píng)估文本的概率分布,該模型為單向模型;AE 模型為雙向模型,可以學(xué)習(xí)到文本的上下文深層語義信息。
BERT 作為AE 模型的典型成功案例,XLNet 作為改進(jìn)的AR 模型,本文將這2 個(gè)模型應(yīng)用到DPTBRNN 文本分類模型中,其模型結(jié)構(gòu)如圖1 所示。該模型由2 個(gè)通道組成。 第一個(gè)通道通過XLNet 對(duì)文本數(shù)據(jù)進(jìn)行語義特征提取,構(gòu)建基于詞向量的特征表示;第二個(gè)通道使用BERT 預(yù)訓(xùn)練語言模型,獲取文本整體信息的詞向量,然后將新特征輸入BiLSTM 以獲取上下文語義表示。 兩通道都引入自注意力機(jī)制層和層歸一化捕獲文本的特征信息,最終將雙通道的文本特征信息進(jìn)行融合,輸入輸出層達(dá)到文本分類的目的。
圖1 DPT-BRNN 文本分類模型Fig. 1 DPT-BRNN text classification model
廣義自回歸語言模型(XLNet)提出的排列語言模型(Permutation Language Model, PLM)解決了傳統(tǒng)自回歸語言模型無法根據(jù)上下文預(yù)測(cè)結(jié)果的問題。 假設(shè)當(dāng)前輸入句子的單詞構(gòu)成為[x1,x2,x3,x4,x5],若要預(yù)測(cè)單詞x3,使用PLM 隨機(jī)打亂單詞排列順序,依次運(yùn)用自回歸方法預(yù)測(cè)x3。 PLM 部分概覽圖如圖2 所示。
圖2 排列語言模型部分概覽圖Fig. 2 Partial overview diagram of Permutation Language Model
為實(shí)現(xiàn)排列語言模型的基本思想。 XLNet 采用基于目標(biāo)感知表征的雙流自注意力掩碼機(jī)制,即內(nèi)容流自注意力(Content Stream Attention)和查詢流自注意力(Query Stream Attention)。 同時(shí),模型利用改進(jìn)的注意力掩碼(Attention Mask)使模型讀取上下文信息。 雙流自注意力計(jì)算流程如圖3、圖4 所示。
圖3 查詢流自注意力計(jì)算Fig. 3 Query stream attention calculation
圖4 內(nèi)容流自注意力計(jì)算Fig. 4 Content stream attention calculation
圖3 、圖4 中,g表示各單詞的位置信息,h表示各單詞的內(nèi)容信息,g3(0)為被預(yù)測(cè)詞、即x3的位置信息。
XLNet 還應(yīng)用到了Transformer-XL 中的片段循環(huán)機(jī)制(Recurrence Mechanism)和相對(duì)位置編碼(Relative Positional Encoding)。 片段循環(huán)機(jī)制以分段的形式進(jìn)行建模,文本序列引入循環(huán)機(jī)制后實(shí)現(xiàn)隱藏層信息循環(huán)傳遞的方式如圖5 所示。
圖5 片段循環(huán)機(jī)制信息傳遞Fig. 5 Recurrence mechanism information transmission
由圖5 可知,在對(duì)每個(gè)序列進(jìn)行處理時(shí),隱藏層從2 個(gè)部分進(jìn)行學(xué)習(xí)。 一個(gè)是當(dāng)前序列前面節(jié)點(diǎn)的輸出,即圖5 中每個(gè)序列的虛線部分;另一個(gè)是當(dāng)前序列之前序列節(jié)點(diǎn)的輸出,即圖5 中實(shí)線部分。
自編碼語言模型(BERT)模型體系結(jié)構(gòu)主要由多層Transformer 模型結(jié)構(gòu)組成,模型通過注意力機(jī)制將任意2 個(gè)位置的單詞距離轉(zhuǎn)換為1,有效地解決了NLP 任務(wù)中出現(xiàn)的長(zhǎng)期依賴問題。 BERT 使用雙向Transformer 網(wǎng)絡(luò)架構(gòu)中的編碼器(Encoder)搭建整個(gè)模型框架,同時(shí),其模型框架由多層的Transformer 模型結(jié)構(gòu)組成,研究得出的網(wǎng)絡(luò)結(jié)構(gòu)模型如圖6 所示。
圖6 BERT 網(wǎng)絡(luò)結(jié)構(gòu)模型Fig. 6 BERT network structure model
模型結(jié)構(gòu)中的字向量E1、E2、…、EN不僅包含當(dāng)前文本的字符級(jí)向量(Token Embedding),而且也包括了每個(gè)字的位置向量(Position Embedding)和分段向量(Segment Embedding)。 模型將3 個(gè)向量相加求和之后,分別在文本的開頭和結(jié)尾加上CLS和SEP 的標(biāo)記符號(hào),然后輸入雙向Transformer 編碼器中,完成對(duì)每個(gè)字的雙向編碼表示。
LSTM 由t時(shí)刻的輸入向量xt、單元狀態(tài)ct、臨時(shí)單元狀態(tài)~ct、隱層狀態(tài)ht、遺忘門的節(jié)點(diǎn)操作ft、輸入門it和輸出門ot組成。 模型t時(shí)刻整個(gè)過程的計(jì)算方法公式具體如下:
雖然LSTM 模型能夠很好地捕捉較長(zhǎng)距離的文本依賴關(guān)系,但仍無法學(xué)習(xí)文本從后向前的語義信息。 因此,本文使用BiLSTM 模型學(xué)習(xí)上下文雙向的語義信息,同時(shí)在BiLSTM 層之后加入自注意力機(jī)制層對(duì)詞語權(quán)重進(jìn)行重新分配。 BiLSTM 結(jié)合自注意力機(jī)制的模型結(jié)構(gòu)如圖7 所示。
圖7 BiLSTM-Attention 模型圖Fig. 7 BiLSTM-Attention model diagram
由圖7 可知,將BiLSTM 模型中的最后一個(gè)時(shí)序的輸出向量ht作為輸入自注意力層的特征向量,其計(jì)算過程數(shù)學(xué)公式見如下:
其中,ut為ht的自注意力隱層表示;Ws為權(quán)值矩陣;bs為偏置項(xiàng);αt為ut通過Softmax函數(shù)后得到的整個(gè)序列的歸一化權(quán)值。
為了提高模型的學(xué)習(xí)能力和表達(dá)能力,模型加入層歸一化(Layer Normalization)機(jī)制對(duì)上層輸出向量進(jìn)行歸一化處理。 具體操作為根據(jù)以下公式將模型某一層所有神經(jīng)元輸入進(jìn)行處理:
其中,μl、σl分別表示模型各層神經(jīng)元的均值和方差統(tǒng)計(jì)量;H表示模型各層神經(jīng)元的節(jié)點(diǎn)數(shù);表示模型第l隱藏層的輸出;y表示模型上層輸出經(jīng)過歸一化處理后的輸出值;g和b分別表示對(duì)輸入向量的縮放和平移。
將歸一化后的數(shù)據(jù)進(jìn)行非線性激活函數(shù)運(yùn)算,即:
模型將文本序列經(jīng)過XLNet 通道和BERT 通道后的特征向量進(jìn)行融合,輸入全連接層, 然后利用Softmax分類器完成對(duì)文本內(nèi)容的分類。Softmax分類器輸出類別分類概率的計(jì)算公式為:
其中,P表示文本x分類至類別j的概率數(shù)值,θ表示模型訓(xùn)練的參數(shù)。
本文的實(shí)驗(yàn)環(huán)境見表1。
表1 實(shí)驗(yàn)環(huán)境設(shè)置Tab. 1 Setup of experimental environment
本文選取THUCNews 新聞數(shù)據(jù)集、搜狐新聞標(biāo)題數(shù)據(jù)集[12]以及微博數(shù)據(jù)集,共3 個(gè)文本數(shù)據(jù)集測(cè)試DPT - BRNN 文本分類模型的分類效果。THUCNews 新聞數(shù)據(jù)集由清華大學(xué)提供并公開,包含財(cái)經(jīng)、房產(chǎn)、股票、教育、科技、社會(huì)、時(shí)政、體育、游戲、娛樂共10 個(gè)類別新聞數(shù)據(jù)。 搜狐新聞標(biāo)題數(shù)據(jù)集由搜狗實(shí)驗(yàn)室提供,包括財(cái)經(jīng)、健康、教育、軍事、科技、汽車、時(shí)尚、體育、文化、娛樂共10 個(gè)類別新聞數(shù)據(jù)。 微博數(shù)據(jù)集來源于新浪微博評(píng)論,其中包含時(shí)政、社會(huì)、財(cái)經(jīng)三個(gè)類別新聞數(shù)據(jù)。
本文將3 個(gè)新聞文本數(shù)據(jù)集隨機(jī)分為訓(xùn)練集、測(cè)試集和驗(yàn)證集,數(shù)據(jù)集概況見表2。
表2 數(shù)據(jù)集統(tǒng)計(jì)表Tab. 2 Statistical table of datasets
本文XLNet 采用哈工大訊飛聯(lián)合實(shí)驗(yàn)室發(fā)布的xlnet-base-cased[13]模型,BERT 采用Google 發(fā)布的預(yù)訓(xùn)練模型進(jìn)行文本表示,Word2Vec 詞向量使用Skip-Gram 模型訓(xùn)練,得到維度為300 維的詞向量。模型的參數(shù)設(shè)置見表3、表4。
表3 預(yù)訓(xùn)練模型參數(shù)Tab. 3 Parameters of pre-trained models
表4 模型參數(shù)設(shè)置Tab. 4 Setup of model parameters
大多數(shù)分類模型的評(píng)估標(biāo)準(zhǔn)是: 準(zhǔn)確率(Accuracy)、精確率(Precision)、F1值(F -measure)以及召回率(Recall)。 相關(guān)的混淆矩陣結(jié)構(gòu)見表5。
表5 混淆矩陣Tab. 5 Confusion matrix
其中,準(zhǔn)確率表示正確預(yù)測(cè)的樣本相對(duì)于所有分類樣本的比重,計(jì)算公式如下:
精確率是指預(yù)測(cè)結(jié)果為正例的樣本中,被正確預(yù)測(cè)為正樣本的比例,計(jì)算公式如下:
召回率表示正確預(yù)測(cè)結(jié)果為正樣本占全樣本中實(shí)際正樣本的比重,計(jì)算公式如下:
F1是精確率和召回率的加權(quán)平均,計(jì)算公式如下:
3.4.1 與預(yù)訓(xùn)練詞向量模型的對(duì)比
與預(yù)訓(xùn)練詞向量模型的對(duì)比實(shí)驗(yàn)結(jié)果見表6。由實(shí)驗(yàn)結(jié)果可以看出,相較于使用2 種單一的預(yù)訓(xùn)練詞向量模型,同時(shí)使用XLNet 和BERT 的模型分類效果有所提升。 本文模型在3 個(gè)實(shí)驗(yàn)數(shù)據(jù)集上都取得了較好的分類效果,準(zhǔn)確率分別達(dá)到了83.68%、79.41%和98.72%;BERT-全連接模型在3個(gè)數(shù)據(jù)集上的準(zhǔn)確率分別為81.02%、78.02%和96.43%;XLNet-全連接模型在3 個(gè)數(shù)據(jù)集上的準(zhǔn)確率分別為82.28%、78.40%和97.39%。 本文模型設(shè)置雙通道,在每個(gè)通道中分別使用XLNet 和BERT預(yù)訓(xùn)練模型,同時(shí)又將預(yù)訓(xùn)練模型向量輸入BiLSTM、BiGRU 模型,并通過自注意力機(jī)制獲取局部特征,歸一化加速模型訓(xùn)練速度,最終將兩通道輸出信息進(jìn)行拼接,從而使模型學(xué)習(xí)到充足的文本特征信息,并獲得更加豐富的文本特征,同時(shí)又提高了模型的訓(xùn)練精度。 因此,無論準(zhǔn)確率、還是F1值,本文模型均優(yōu)于其它模型。 其中,本文模型較BERT-全連接模型準(zhǔn)確率在3 個(gè)數(shù)據(jù)集上分別提高了2.66%、1.39%和2.29%,較XLNet-全連接模型準(zhǔn)確率在3 個(gè)數(shù)據(jù)集上分別提高了1.40%、1.01%和1.33%,證明了本文模型的分類有效性。
表6 與預(yù)訓(xùn)練詞向量模型的對(duì)比實(shí)驗(yàn)結(jié)果Tab. 6 Experimental results compared with pre-trained word vector models%
3.4.2 與其它詞向量模型的對(duì)比
為了進(jìn)一步驗(yàn)證DPT-BRNN 模型的有效性,本文還對(duì)比多個(gè)在相同數(shù)據(jù)集上效果較好的基于Word2Vec 詞向量的先進(jìn)模型,對(duì)比模型包括:TextCNN、BiLSTM、BiGRU、BiLSTM-CNN、BiLSTMAttention[14]和MCCL[15]。 模型對(duì)比結(jié)果見表7。
表7 與傳統(tǒng)詞向量模型的對(duì)比實(shí)驗(yàn)結(jié)果Tab. 7 Comparative experimental results of traditional word vector models%
由實(shí)驗(yàn)結(jié)果可以看出,對(duì)比基于Word2Vec 詞向量的模型,本文模型無論準(zhǔn)確率、還是F1值都有所提高。 但模型在微博數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果F1值不如部分其他模型,一方面一定程度上可能是微博數(shù)據(jù)集數(shù)據(jù)不平衡所致,另一方面可能是詞向量維度過高,部分模型出現(xiàn)過擬合所致。 對(duì)比TextCNN模型,本文模型在3 個(gè)數(shù)據(jù)集上準(zhǔn)確率分別提高了4.74%、5.60%和7.85%。 對(duì)比BiLSTM 模型,本文模型在3 個(gè)數(shù)據(jù)集上準(zhǔn)確率分別提高了4.32%、4.69%和8.17%。 對(duì)比BiGRU 模型,本文模型在3 個(gè)數(shù)據(jù)集上準(zhǔn)確率分別提高了4.58%、4.95%和8.03%。BiLSTM 模型、BiGRU 模型在3 個(gè)數(shù)據(jù)集上的訓(xùn)練結(jié)果大多較TextCNN 模型優(yōu)異,這是由于BiLSTM 模型可以學(xué)習(xí)到句子的正向和逆向信息,從而能夠更好地捕捉到上下文文本信息。 對(duì)比BiLSTM-CNN模型,本文模型在3 個(gè)數(shù)據(jù)集上準(zhǔn)確率分別提高了3.96%、3.45%和6.58%。 BiLSTM-CNN 模型較BiLSTM 模型在3 個(gè)數(shù)據(jù)集上準(zhǔn)確率分別提高了0.36%、1.24% 和1.59%。 BiLSTM-CNN 模型較TextCNN 模型在3 個(gè)數(shù)據(jù)集上準(zhǔn)確率分別提高了0.78%、2.15%和1.27%。 對(duì)比BiLSTM、TextCNN 和BiLSTM_CNN 模型的實(shí)驗(yàn)結(jié)果,發(fā)現(xiàn)TextCNN 與BiLSTM 結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu)能更有效地提取文本中的關(guān)鍵特征, 提升分類準(zhǔn)確率。 對(duì)比 BiLSTM -Attention 模型,本文模型在3 個(gè)數(shù)據(jù)集上準(zhǔn)確率分別提高了3. 64%、 2. 96% 和6. 67%。 BiLSTM -Attention 模型較BiLSTM 模型在3 個(gè)數(shù)據(jù)集上準(zhǔn)確率分別提高了0.68%、1.73%和1.50%,引入注意力機(jī)制使得文本中每個(gè)詞語的權(quán)重值得到重新分配,關(guān)鍵特征的語義信息更加明確,從而提升了BiLSTM模型讀取上下文關(guān)鍵語義信息的能力。 將本文所提模型與MCCL 模型的分類結(jié)果進(jìn)行比較,本文模型的準(zhǔn)確率在3 個(gè)數(shù)據(jù)集上分別提高了4.08%、3.99%和4.27%,這表明本文使用預(yù)訓(xùn)練語言模型提取詞向量作為BiGRU 與BiLSTM 模型的輸入,更充分地發(fā)揮了深度學(xué)習(xí)模型對(duì)文本特征的提取能力,并且同時(shí)在兩通道分別引入自注意力機(jī)制層和歸一化層對(duì)通道輸出的特征分布進(jìn)行調(diào)整,增強(qiáng)了模型的學(xué)習(xí)能力,有效地提升了模型分類的準(zhǔn)確性。
本文結(jié)合預(yù)訓(xùn)練語言模型XLNet、 BERT、BiLSTM、自注意力機(jī)制以及層歸一化,提出了雙通道DPT-BRNN 文本分類模型。 模型首先將文本信息分別通過XLNet、BERT 模型輸出具有多樣化信息的詞向量,接著將詞向量信息分別輸入BiLSTM,使其對(duì)文本序列信息進(jìn)行捕捉學(xué)習(xí),提取文本不同層次的上下文語義信息。 然后,利用自注意力機(jī)制對(duì)文本深層次序列信息進(jìn)行再提取,從而得到更加準(zhǔn)確的文本關(guān)鍵語義信息,并將經(jīng)過兩通道的信息融合,得到更豐富的文本語義表示。 通過將提出的文本分類模型與其他8 種文本分類模型在3 個(gè)數(shù)據(jù)集上進(jìn)行對(duì)比分析,結(jié)果表明,本文所提出的文本分類模型在中文數(shù)據(jù)集上取得了比較好的分類結(jié)果,驗(yàn)證了本文模型分類的準(zhǔn)確性和有效性。
在接下來的研究中,將通過擴(kuò)充語料庫來不斷提升模型的分類性能,并著重從詞語的語義擴(kuò)展以及模型結(jié)構(gòu)、參數(shù)方面進(jìn)行優(yōu)化改進(jìn),從而進(jìn)一步提高模型學(xué)習(xí)效果的準(zhǔn)確性,并降低訓(xùn)練過程的時(shí)間成本。