?

融合ERNIE和深度學習的文本分類方法

2023-12-14 00:40楊笑笑
關鍵詞:特征提取注意力卷積

楊笑笑,陸 奎

(安徽理工大學 計算機科學與工程學院,安徽 淮南 232000)

文本分類是自然語言處理任務中的基礎性任務,其目的是對文本信息進行整理和歸類,同時也是解決文本信息過載問題的關鍵環節。由于其廣泛的學術和實際應用價值,文本分類被應用于情感分析、新聞分類、問答系統、主題分類、社交網絡等領域[1]。

文本分類的核心內容是文本表示、特征提取和分類。其中,文本表示和特征提取是文本分類的關鍵。文本表示是將文本表示成向量形式。詞向量(word2vec)模型是常用的詞嵌入模型,它是靜態詞向量方法,共有2種:連續詞袋(continuous bag of words,CBOW)模型和skip-gram模型。但在不同語境下,word2vec生成的詞向量存在語義問題。如對于“我愛吃蘋果”和“他新買的蘋果手機”,word2vec模型不能有效分辨出前者的“蘋果”是指水果,而后者的“蘋果”是指公司,因此無法提取到正確的語義信息。在2018年,Google公司提出來自Transformer的雙向編碼器表征量(bidirectional encoder representations from Transformer,BERT)模型[2],很好地解決了這一問題。該模型將雙向 Transformer 用于語言模型,可以很好地學習上下文信息。最初,BERT模型預訓練英文文本信息的效果更好,它能根據上下文預測詞的信息,但其缺乏對更大語義單元的建模,這個問題在中文領域更加明顯。對此,百度公司提出知識增強的語義表示(enhanced representation through knowledge integration,ERNIE)模型,在BERT模型的基礎上進行改進,改變其掩碼策略,通過對中文實體和字進行掩碼,增強了通用語義的表示能力,在多項任務中均大幅度超越了BERT模型的效果。

隨著深度學習的不斷發展,研究發現在特征提取任務中,深度學習方法效果比傳統方法好得多。卷積神經網絡(convolutional neural networks,CNNs)模型被首次應用到微博情緒分類中,并取得了不錯的效果[3],之后它開始被大量應用于文本分類領域。經典CNNs模型致力于提取文本的局部特征,但會出現局部特征提取不完善的問題;對此,有學者采用不同卷積和池化操作再組合的方式以提取更多的局部特征信息[4],但容易忽略局部信息之間的依賴關系。循環神經網絡(recurrent neural network,RNN)模型[5]被廣泛應用于處理序列信息問題,它可以提取全局特征信息,但存在梯度消失和梯度爆炸的問題。RNN模型的變體——長短期記憶(long short-term memory,LSTM)神經網絡模型[6]通過引入門機制和細胞狀態方法,不僅解決了梯度問題,還可以捕獲到上下文長期依賴信息。門控循環單元(gated recurrent unit,GRU)[7]和LSTM模型的效果相近;不同的是,GRU只有2個門:更新門和重置門,其結構更加簡單,需要訓練的參數更少,相對更高效,因而被廣泛應用。但是RNN模型及其變體將所有的特征信息看作同等重要,易丟失關鍵信息,而保留無關信息。針對不同模型各自存在的問題,將其融合在一起也表現出了較好的效果[8-13]。如雷景生等[14]為了更好地保留字的信息和多義性,在ERNIE模型后加入雙向門控循環單元(bidirectional gated recurrent unit,BiGRU),得到了較好的實驗效果。Guo等[15]通過結合ERNIE模型和雙向長短期記憶(bidirectional long short-term memory,BiLSTM)網絡模型的方法,保留了更多的中文語義信息,在分類任務中獲得了良好的效果。齊夢娜等[16]融合ERNIE模型和多通道CNNs模型的方法,在在線評論情感文本分類上取得了較好的效果。但這類模型僅在一方面提取文本特征信息,要么忽略了上下文信息,要么忽略了句子中的關鍵信息。因此,針對現有模型存在的問題,提出了一種融合ERNIE、CNNs、BiGRU的注意力機制(integration of ERNIE and CNNs-BiGRU′s attention mechanism,ECBA)模型,通過組合局部特征信息和全局特征信息的方法,提高文本分類的準確性。具體過程如下。

1) 通過ERNIE模型生成動態詞向量。

2) 組合多尺度卷積核:設置3個不同大小的卷積窗口,再經過最大池化層處理融合特征,在一定程度上解決局部特征提取不完善的問題。

3) 為BiGRU模型引入注意力機制:使ECBA模型關注重要信息或關鍵信息,丟掉不重要信息或干擾信息。

1 模型介紹

ECBA模型架構如圖1所示。由圖1可知,ECBA模型的結構分為文本表示層、特征提取層和全連接層3個部分。首先在文本表示層,通過ERNIE模型預訓練出詞向量作為模型的文本表示;然后在特征提取層,使用CNNs模型提取局部特征,為獲取更全面的局部特征信息,改變CNNs的模型結構,設置3個不同大小的卷積窗口;同時使用BiGRU模型提取全局特征,為能提取到重要信息,在該模型的前向GRU和反向GRU中加入注意力機制,加大重要信息權重,之后融合局部特征和全局特征;最后,通過全連接層輸出結果。

圖1 ECBA模型的架構Fig.1 ECBA model structure

1.1 文本表示層

文本表示層目的是將輸入的文本信息轉換成向量表示。ECBA模型采用ERNIE模型生成文本表示。和其他詞向量模型不同,ERNIE模型是由雙向Transformer組成,可以很好地解析中文文本并且學習文本中上下文的語義信息,將中文文本轉化為動態詞向量。

BERT和ERNIE模型的掩碼策略對比如圖2所示。由圖2可知,原生的BERT模型是對單個字進行掩碼,忽略了字與字之間的關系,會使1個詞被迫分開;而ERNIE模型在BERT模型的基礎上對掩碼策略進行了改進,對中文實體或詞進行掩碼操作,考慮了上下文之間的聯系,從而提取到更完整的語義信息,增強了語義表示能力。

(a) BERT的掩碼機制 (b) ERNIE的掩碼機制圖2 BERT模型和ERNIE模型掩碼策略對比Fig.2 Comparison of mask policies between BERT model and ERNIE model

ERNIE模型的核心是基于Transformer的編碼結構,編碼方式在結構上一樣,且不共享權重。ERNIE模型的單個編碼結構如圖3所示。由圖3可知,編碼層輸入的是初始文本向量,經過1個位置信息的嵌入,輸出到多頭自注意力機制層,進行多頭自注意力計算。然后,ERNIE模型編碼結構的輸出會經過1個連接-正則化層,連接表示對來自多頭自注意力機制層的輸入和輸出進行殘差連接,正則化表示對輸入和輸出進行歸一化處理。歸一化處理后的結果會傳入前饋神經網絡層,然后再經過1個連接-正則化層,進行同樣的處理后會輸出歸一化的詞向量列表。

圖3 單個編碼的結構Fig.3 Single encoder structure

ERNIE模型的編碼層堆疊中,除最下面的編碼層外,其他編碼層的輸入都是其鄰接編碼層的輸出,最終經過16個編碼層輸出文本向量表示作為特征提取層的輸入。

產生文本向量的基本過程為:1個文本按照句號劃分成n個文本段,T=[t1,t2,…,tn],ti=[e1,e2,…,ew],i=1,2,…n,w表示1個文本段的詞數。其中,ERNIE模型輸入為T,將文本段ti經ERNIE模型訓練后得到輸出詞向量X=[x1,x2,…,xw],xi的維度為d,即詞向量的維度,X作為特征提取層的輸入。

1.2 特征提取層

在特征提取層,使用BiGRU模型提取全局特征信息,使用CNNs模型提取局部特征信息。為解決可能出現的重要特征信息丟失問題,為BiGRU模型引入注意力機制,然后融合局部特征和全局特征并將其作為ECBA模型的特征表示。

GRU是循環神經網絡的變體,為門控網絡結構,解決了長時記憶和反向傳播中梯度消失的問題。與LSTM模型相比,GRU的結構更加簡單,只有更新門和重置門2個門;因此,需要訓練和計算的參數更少,訓練效率更高,常被應用于自然語言處理任務中。為了捕獲到更加全面的特征信息,ECBA模型采用BiGRU模型提取特征信息,該模型可以在前向GRU和反向GRU中提取文本序列特征,然后在前向GRU和反向GRU中引入注意力機制,使模型關注到重要信息。BiGRU模型和注意力通道層(BiGRU-attention mechanism,BiGRU-A)的模塊結構如圖4所示。

圖4 BiGRU-A模塊的結構Fig.4 BiGRU-A module structure

(1)

(2)

注意力機制認為在不同的網絡層中不同特征的重要性也不同,越向后的網絡所包含的重要信息越多、不重要信息越少。注意力機制通過為每個特征賦予權重的方法逐漸摒棄不重要的特征;權重越大,所對應的特征越重要。在文本分類任務中,影響分類結果的特征信息才應該是被關注的重點。所以在BiGRU模型的正向GRU和反向GRU中引入注意力機制,可以提高重要信息的權重,抑制不重要信息的權重。注意力機制的計算如下所示:

ut=tanh(wwht+bw),

(3)

其中,ut是隱藏層ht的向量表示,ww表示權重系數,bw表示偏置系數,tanh表示激活函數。

αt=softmax(utuw),

(4)

其中,αt表示得到的權重,uw是在訓練階段隨機初始化的上下文向量。ut的重要性可以通過點積計算ut和uw得到的相似度來表示,另外,

(5)

其中,s表示所有隱藏狀態的加權組合。

(6)

其中,Ht表示融合注意力機制的前向GRU和反向GRU的特征信息;fatt表示注意力機制的計算。

CNNs模型的結構如圖5所示。由圖5可知,該模型主要包含卷積層和池化層,卷積核是CNNs模型的核心,用于提取文本特征;池化層是為了降低卷積向量維度,避免過擬合,有最大池化和平均池化2種方法。選用最大池化法,以便保留更重要的信息。

圖5 CNNs模型的結構Fig.5 CNNs model structure

由圖5可知,ECBA模型設置3個不同大小的卷積核,卷積窗口分別是3、4、5,然后經過最大池化層得到特征圖進行拼接。由于融合后的特征維度過大,加1個隱藏層進行降維處理,得到CNNs模型的輸出。最后,將得到的BiGRU-A模塊輸出和CNNs模型輸出拼接在一起,作為ECBA模型最終的特征表示。

c3,c4,c5=fConv(x),

(7)

其中,c3、c4、c5表示卷積后的詞向量結果,x為文本表示,fConv表示卷積操作。

(8)

(9)

(10)

(11)

其中,c表示不同大小卷積核經最大池化處理后拼接的特征向量。

BiGRU-A模塊和CNNs模型特征提取分別得到了BiGRU-A模塊的全局特征向量FB_A和CNNs模型的局部特征向量FCNNs,然后對這2個特征向量進行融合拼接,得到合并后的特征向量F,F=FB_A⊕FCNNs,⊕表示拼接計算。

1.3 全連接層

在全連接層先對F進行降維處理,另外在全連接層加入隨機失活層,避免出現過擬合,提高模型的泛化能力。最后經softmax分類器來預測文本的類別,計算公式如下:

y=softmax(WconF+bcon) ,

(12)

其中,y為文本屬于所有類別的概率,Wcon為權重矩陣,bcon為偏置矩陣。

ypre=max(y),

(13)

其中,ypre為y中最大的概率,最后將ypre作為預測結果。

2 實驗與分析

2.1 實驗準備

2.1.1 實驗數據集 選用清華大學中文新聞(Tsinghua Chinese news, THUCNews)數據集進行實驗,部分樣本如表1所示。由表1可知,由于該數據集所含數據樣本較多,從中抽取體育、娛樂、家居、房產、教育、時尚、時政、游戲、科技和財經10個類別的數據,每個類別選用8000條作為訓練集、2000條作為測試集,共計10萬條數據。

2.1.2 實驗環境 實驗在Windows操作系統下進行,實驗平臺選用PyCharm、Python3.7,使用Pytorch框架構建模型。實驗中的大部分參數為模型的默認參數。ERNIE模型的隱藏層數設置為768,BiGRU模型的隱藏層數設置為256,卷積核的個數為256,隨機失活參數設置為0.1,學習率設為0.00001,激活函數選用ReLU非線性激活函數。

2.2 實驗過程

1) 使用自然語言處理工具包(natural language toolkit,NLTK)對原文本進行預處理,依次分句、分詞、去除停用詞;

2) 使用ERNIE模型對文本進行預訓練,得到增強語義的詞向量;

5) 將預訓練的詞向量輸入到CNNs模型中,進行3×k、4×k、5×k的卷積操作,將卷積結果分別送入最大池化層,對得到的結果進行拼接操作,然后降維得到CNNs模型的輸出FCNNs;

6) 融合FB_A和FCNNs得到F,送入全連接層,通過softmax函數判斷類別;

7) 使用訓練集訓練模型,測試集驗證模型。

2.3 評價指標

實驗采用準確率(precision,P)、召回率(recall,R)、F1值來衡量分類模型的性能,計算公式如下:

(14)

(15)

(16)

其中,NTP表示預測是正類、實際也是正類的文本個數;NFP表示預測是正類、實際是負類的文本個數;NTN表示預測是負類、實際也是負類的文本個數;NFN表示預測是負類、實際是正類的文本個數。

2.4 實驗結果

為了更好地比較不同模型的性能,在THUCNews數據集上設置了對照實驗,包括了BERT[2]、融合BERT和深層金字塔卷積神經網絡(fusion of BERT and deep pyramid convolutional neural networks, BERT-DPCNN)模型[16]、BERT-BiLSTM[17]、ERNIE-LSTM-CNN[18]、ERNIE-BiGRU[14]模型。比較準確率、召回率、F1值3種評價指標,結果如表2所示。由表2可知,相比其他模型,ECBA模型的準確率、召回率、F1值都有不同程度的提升,分別達到了95.07%、95.01%、95.03%;其中,相較于BERT模型,性能提升最大。

表2 模型的比較Tab.2 Comparison of models

2.5 消融實驗

為了驗證ECBA模型的局部模塊對分類效果的影響,在相同參數和相同實驗環境的情況下,在THUCNews數據集上設計了一系列的消融實驗,結果如表3所示。其中,ERNIE-BiGRU-A模型去除CNNs模塊,以驗證CNNs對模型的影響;ERNIE-CNNs模型去除BiGRU-A模塊,以驗證BiGRU-A對模型的影響;CNNs-BiGRU-A模型改變詞嵌入模塊,使用word2vec模型,驗證詞向量對模型的影響。

表3 消融實驗比較Tab.3 Comparison of ablation experiments

由表3可知,ERNIE-BiGRU-A模型的分類效果有所降低,這說明CNNs模塊提取的局部特征有利于分類;ERNIE-CNNs模型實驗結果表明了在雙向GRU引入注意力機制,能保留重要特征,提高分類效果;CNNs-BiGRU-A模型實驗結果驗證了ERNIE模塊生成的詞向量可以提取到更多的語義信息。消融實驗的結果最終說明,缺少現有任何模塊都會影響ECBA模型的分類準確率,導致其降低。

3 結論

針對中文語義提取不充分、特征提取不完善的問題,提出了一種融合ERNIE、CNNs、BiGRU的注意力機制ECBA模型。針對文本表示中的詞向量在不同語境下的詞語多義問題,使用ERNIE模型預訓練出詞向量,增強中文文本的語義表示能力。在特征提取層,通過卷積神經網絡模型提取局部特征,利用雙向GRU模型提取全局特征;為解決局部特征提取不完善和丟失關鍵特征信息的問題,設置多個不同大小的卷積窗口提取局部信息,并在雙向GRU中引入注意力機制捕獲關鍵信息,再融合局部特征和全局特征。最后通過全連接層輸出分類結果。最終實驗表明,相較于其他對照模型,ECBA模型在準確率、召回率、F1值上都得到了一定程度的提升。

猜你喜歡
特征提取注意力卷積
讓注意力“飛”回來
基于3D-Winograd的快速卷積算法設計及FPGA實現
從濾波器理解卷積
基于Daubechies(dbN)的飛行器音頻特征提取
基于傅里葉域卷積表示的目標跟蹤算法
“揚眼”APP:讓注意力“變現”
Bagging RCSP腦電特征提取算法
A Beautiful Way Of Looking At Things
基于MED和循環域解調的多故障特征提取
一種基于卷積神經網絡的性別識別方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合