朱海東, 鄭 虹, 侯秀萍
(長春工業(yè)大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,吉林 長春 130012)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,人們愿意通過微博等網(wǎng)絡(luò)平臺來抒發(fā)自己看法及評論,從而產(chǎn)生了大量帶有情感色彩的評論文本。分析這些帶有情感色彩的文本信息有助于快速掌握網(wǎng)民的情感動向[1]。這些評論信息的分析結(jié)果對于政府和社會以及商家具有一定的意義和價值。對于商家來說,關(guān)注商品的評論及分析結(jié)果可以幫助他們制定一些有效的銷售策略,同時也能夠保證商品的質(zhì)量。對于政府來說,可以根據(jù)網(wǎng)民評論信息的分析結(jié)果進(jìn)行合理的輿論監(jiān)控[2],從而掌握群眾的輿論動向,更加有利于維護(hù)社會的穩(wěn)定,因此,從這些評論文本信息中挖掘出人們的情感,并做出準(zhǔn)確的判斷和分析,具有一定的意義和研究價值。
隨著深度學(xué)習(xí)技術(shù)的興起及廣泛應(yīng)用,越來越多基于深度學(xué)習(xí)的方法用于情感分類任務(wù)中。比較常見的神經(jīng)網(wǎng)絡(luò)有卷積神經(jīng)網(wǎng)絡(luò)(CNN)[3]、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[4]以及他們的改進(jìn)形式,CNN在提取文本特征時無法解決文本長距離依賴的問題,雖然更深層的CNN網(wǎng)絡(luò)可以捕捉長距離文本信息,但是隨著網(wǎng)絡(luò)層數(shù)的增加,模型的計算復(fù)雜度也隨之提高。RNN在提取文本特征時,雖然可以有效捕捉長距離依賴的問題,但是在提取局部特征方面存在著不足,同時也會出現(xiàn)梯度爆炸或梯度消失的問題。除此以外,傳統(tǒng)的預(yù)訓(xùn)練模型如Word2vec[5]、Glove也無法解決一詞多義及知識表示的問題。所以,針對以上問題文中提出一種基于ERNIE預(yù)訓(xùn)練模型的改進(jìn)DPCNN[6](深層金字塔卷積神經(jīng)網(wǎng)絡(luò))的多通道神經(jīng)網(wǎng)絡(luò)模型MC_E_ImporvDPC_B_SV來進(jìn)一步提高分類的準(zhǔn)確率。
1)利用ERNIE預(yù)訓(xùn)練模型將文本數(shù)據(jù)進(jìn)行向量化表示,同時學(xué)習(xí)完整的語義表示。解決了Word2vec無法解決一詞多義的問題,同時能夠?qū)W習(xí)到完整的語義表示。增強(qiáng)了模型的語義表示能力。
2)采用改進(jìn)的DPCNN通道,在不加大計算成本的同時,通過加深網(wǎng)絡(luò)來獲取更高的準(zhǔn)確率,在此基礎(chǔ)上,將第一個和第二個卷積模塊的卷積層各減少一層,這樣就有效避免了文本經(jīng)過ERNIE層后,卷積層增加帶來的退化問題。
3)采用并行提取特征的思想。利用ERNIE加雙向的LSTM[7]通道和ERNIE加改進(jìn)的DPCNN雙通道并行提取特征。
4)采用多通道融合方式。將語義向量特征單獨作為一個通道分別與BILSTM通道和改進(jìn)的DPCNN通道所提取的特征進(jìn)行融合,得到一個融合特征,然后再進(jìn)行分類。
Bengio等[8]首次將神經(jīng)網(wǎng)絡(luò)模型用于自然語言處理任務(wù)中訓(xùn)練特定的語言模型。在循環(huán)神經(jīng)網(wǎng)絡(luò)用于情感分類方面,Xu J等[9]提出一種能捕獲長期情緒信息,提出一種緩存機(jī)制的LSTM。這些工作表明循環(huán)神經(jīng)網(wǎng)絡(luò)在情感分類任務(wù)中是有效的。在CNN網(wǎng)絡(luò)與RNN網(wǎng)絡(luò)結(jié)合用于情感分類方面,Zhou C等[10]將CNN網(wǎng)絡(luò)與循環(huán)神經(jīng)網(wǎng)絡(luò)相結(jié)合,以此來增強(qiáng)模型捕捉特征的能力。在使用預(yù)訓(xùn)練模型進(jìn)行情感分類方面,Sun Y等[11]首次提出基于知識增強(qiáng)的ERNIE模型,通過對實體和詞的遮蔽策略來增強(qiáng)模型的語義表達(dá)能力,在情感分類實驗上取得了良好的實驗效果。雷景生等[12]提出一種將ERNIE與BIGRU相結(jié)合的文本分類方法,并且在新浪新聞公開的數(shù)據(jù)集上取得良好的分類效果。在使用DPCNN進(jìn)行分類方面,齊佳琪等[13]提出一種將ERNIE預(yù)訓(xùn)練模型與DPCNN相融合的短文本分類模型。經(jīng)過實驗對比,該模型有較高的分類精度。在利用多通道神經(jīng)網(wǎng)絡(luò)模型進(jìn)行情感分類方面,陳珂等[14]提出一種基于多通道卷積神經(jīng)網(wǎng)絡(luò)模型,在COAE2014數(shù)據(jù)集和微博語料數(shù)據(jù)集進(jìn)行實驗,結(jié)果表明,該模型要比傳統(tǒng)單通道的卷積神經(jīng)網(wǎng)絡(luò)取得更好的效果。霍帥等[15]利用Transformer和多通道的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行情感分析研究,在IMDB和SST-2數(shù)據(jù)集上取得了很好的效果。這表明利用多通道神經(jīng)網(wǎng)絡(luò)模型進(jìn)行情感分類是可行的。
文中基于以上各方法的優(yōu)勢提出一種基于ERNIE和改進(jìn)的DPCNN多通道中文情感分類模型,在中文情感分類方面可以取得更好的分類效果。
MC_E_ImprovDPC_B_SV模型是由ERNIE預(yù)訓(xùn)練模型和多個提取特征的通道組成多通道的情感分類模型。該模型由ERNIE層、三個并行的通道(分別是改進(jìn)的DPCNN通道、BILSTM通道和語義向量通道)和全連接層組成。模型通過結(jié)合不同層以及不同通道的各自優(yōu)勢來實現(xiàn)準(zhǔn)確情感分類的目標(biāo)。通過ERNIE層學(xué)習(xí)更多的先驗知識來增強(qiáng)語義表示,通過不同的知識掩蔽策略來學(xué)習(xí)更準(zhǔn)確、更完整的語義信息及向量表示,因此經(jīng)過ERNIE層后能夠得到準(zhǔn)確的詞向量表示和語義向量表示。將得到的詞向量分別送入雙向LSTM通道和改進(jìn)的DPCNN通道,讓經(jīng)過ERNIE層得到的語義向量獨自成為一個通道。將經(jīng)過BILSTM通道和改進(jìn)的DPCNN通道各自得到的特征與語義向量特征進(jìn)行融合,得到一個由三個通道的特征融合之后的融合特征。然后將融合后的特征送入全連接層,最后利用Softmax進(jìn)行分類。在此過程中,BILSTM通道利用自身模型結(jié)構(gòu)的優(yōu)勢更好地提取上下文的文本情感特征,改進(jìn)的DPCNN通道在不增加計算成本的情況下,通過適當(dāng)加深網(wǎng)絡(luò)層數(shù)來更好地捕捉文本的依賴關(guān)系,同時避免了模型退化問題,因此可以更好地提取文本特征。
MC_E_ImprovDPC_B_SV整體模型結(jié)構(gòu)如圖1所示。
圖1 MC_E_ImprovDPC_B_SV模型結(jié)構(gòu)
在圖1所示模型中,原始文本s={X1,X2,X3,…,Xn-1,Xn}是長度為n的輸入語句,Xi表示句中的單詞,語句S經(jīng)過ERNIE層分別得到E={E1,E2,E3,…,En-1,En}的語句向量和V={V1,V2,V3,…,Vn-1,Vn}的語義向量,然后將得到的語句向量E分別送入BILSTM通道和ImprovDPCNN通道進(jìn)行特征提取,B={B1,B2,B3,…,.Bn-1,Bn}表示BILSTM通道提取的特征向量,D={D1,D2,D3,…,Dn-1,Dn}表示ImprovDPCNN通道提取的特征向量,將特征向量B、D和語義向量V進(jìn)行融合,形成融合的特征向量R={R1,R2,R3,…,Rn-1,Rn},將融合的特征向量R送入到全連接層,最后送入到Softmax分類器進(jìn)行分類,得到最后的情感分類結(jié)果。
ERNIE預(yù)訓(xùn)練模型是在BERT模型的基礎(chǔ)上進(jìn)行改進(jìn),通過改進(jìn)不同的遮蔽策略,以及利用先驗知識來增強(qiáng)語義表示。而ERNIE模型和BERT模型本質(zhì)上都是采用多層雙向的Transformer編碼器結(jié)構(gòu),利用此編碼器結(jié)構(gòu)來訓(xùn)練生成文本表示向量,在文本轉(zhuǎn)換成字嵌入后,首先經(jīng)過的是編碼器的自注意力層,使得編碼器關(guān)注到輸入文本的前后文信息,自注意力層的輸出結(jié)果會輸入到Add&Norm層進(jìn)行殘差連接和歸一化操作。將經(jīng)過處理文本向量輸入到全連接層,全連接層也會進(jìn)行上一步的殘差連接和歸一化操作。
編碼器端有6層Transformer編碼單元,每一層包括兩個子層,第一個子層是多頭自注意力機(jī)制,用來計算輸入的自注意力機(jī)制。第二個子層是全連接層。在每一個中都使用了殘差網(wǎng)絡(luò)。因此每一個子層的輸出都是:
LayerNorm(x+Sublayer(x))。
(1)
在上述公式中,Sublayer(x)表示子層對于x做的Native Bayes映射。
BILSTM(雙向長短時記憶網(wǎng)絡(luò))是LSTM神經(jīng)網(wǎng)絡(luò)的一種改進(jìn)結(jié)構(gòu),這種網(wǎng)絡(luò)結(jié)構(gòu)不僅能記住上文信息,同時還能記住下文信息,利用雙向的LSTM從兩個方向讀取文本信息,能夠提取到更加準(zhǔn)確豐富的文本特征。LSTM包括三個門,即輸入門、遺忘門、輸出門,利用門控機(jī)制來控制記憶網(wǎng)絡(luò)中的輸入和輸出信息流[17]。
LSTM三個門公式表示如下:
ft=σ(wf·[ht-1,xt]+bf),
(2)
it=σ(wi·[ht-1,xt]+bi),
(3)
ot=σ(wo·[ht-1,xt]+bo)。
(4)
記憶單元更新信息公式表示如下:
(5)
(6)
ht=ot*tanh(ct),
(7)
式中:it,ft,ot——分別表示記憶網(wǎng)絡(luò)中的輸入門、遺忘門和更新門;
xt——t時刻向記憶單元網(wǎng)絡(luò)中的輸入序列;
ht-1——t-1時刻的隱藏狀態(tài);
ct——t時刻的記憶狀態(tài);
在提取一些評論文本的特征時,需要雙向捕獲文本信息來更加精準(zhǔn)地提取文本特征。所以文中使用雙向LSTM來提取文本上下文特征,BILSTM模型結(jié)構(gòu)如圖2 所示。
圖2 BILSTM模型結(jié)構(gòu)
由圖2可以看出,雙向的LSTM是從兩個方向進(jìn)行的計算,即從正向計算一遍得到輸出向量ht1,同時從反向計算一遍得到輸出向量ht2,最后得到BILSTM的輸出向量ht[18],其公式為
ht=(ht1,ht2)。
(8)
ImprovDPCNN模型是由DPCNN改進(jìn)而來,DPCNN(金字塔CNN)是一種低復(fù)雜的詞級深層CNN,在將離散文本信息轉(zhuǎn)換為連續(xù)表示之后,DPCNN通過堆疊卷積模塊和下采樣層進(jìn)行計算。因為該模型每層的計算量呈指數(shù)下降,所以把它稱為深層金字塔形的CNN。同時,金字塔的結(jié)構(gòu)也使模型能夠發(fā)現(xiàn)文本中長期依賴關(guān)系。模型選用等長卷積進(jìn)行卷積操作,等長卷積會讓每個詞位的embedding描述語義更加豐富準(zhǔn)確,選用兩層等長卷積來提高embdding 的豐富性,然后接下來就是downsampling(池化),在每一個卷積塊(兩層的等長卷積)后,使用一個 size=3 和 stride=2 進(jìn)行maxpooling池化。序列的長度就被壓縮成原來的一半。其能夠感知到的文本片段就比之前長了一倍。在DPCNN中固定了feature map的數(shù)量,也就是固定住了詞向量空間的維度,使得網(wǎng)絡(luò)有可能讓整個鄰接詞的合并操作在原始空間中進(jìn)行。所以在不增加計算復(fù)雜度的情況下,DPCNN可以獲得長距離依賴和全局語義信息,比普通的CNN獲得更加精準(zhǔn)的語句特征,DPCNN模型結(jié)構(gòu)如圖3所示。
圖3 DPCNN模型結(jié)構(gòu)
由于每個通道的輸入都是ERNIE層的輸出結(jié)果,并且原始文本在輸入ERNIE預(yù)訓(xùn)練模型后,會通過自身的學(xué)習(xí)訓(xùn)練來進(jìn)行一次特征提取,得到完整的語義特征和詞向量。由于DPCNN通道的輸入已經(jīng)過ERNIE層的初步特征提取,為了避免卷積層的增加帶來卷積層特征提取退化的問題[19],所以文中對DPCNN網(wǎng)絡(luò)模型進(jìn)行改進(jìn),將等長卷積模塊中卷積核大小為3的卷積層由兩個縮減為一個,除此以外,對于Repeat結(jié)構(gòu)中的卷積層也由兩個縮減為一個,這樣改進(jìn)后可以有效避免模型退化帶來局部最優(yōu)的問題,同時也會避免因為卷積層增加而帶來提取特征不精確的問題。
改進(jìn)后的ImporvDPCNN模型結(jié)構(gòu)如圖4所示。
圖4 ImprovDPCNN模型結(jié)構(gòu)
在ImprovDPCNN模型中同樣也由這幾部分構(gòu)成,它們分別是Region Embedding層、等長卷積、Repeat結(jié)構(gòu)和殘差連接。
1)Region Embedding層。CNN中包含多尺寸卷積核的卷積層,卷積結(jié)果稱為Region embedding(文本域),即對一個文本域進(jìn)行卷積操作后生成的embedding。
2)等長卷積層。等長卷積層就是經(jīng)過卷積之后輸出序列長度等于輸入序列長度。ImprovDPCNN的等長卷積通過步長為1,兩端補(bǔ)零的形式進(jìn)行填充。ImprovDPCNN采用單層等長卷積,等長卷積層為250個尺寸為3的卷積核。ImprovDPCNN通過等長卷積后提高了embedding的語義豐富性[20]。長卷積層采用預(yù)激活的方法,即先將x激活,再進(jìn)行計算,因此等長卷積層的輸出為
Oc=Wσ(x)+b。
(9)
3)Repeat結(jié)構(gòu)。采用固定數(shù)量的特征圖進(jìn)行下采樣,在進(jìn)行完等長卷積之后,開始固定特征圖的數(shù)量,這樣可以減少計算量,然后再進(jìn)行池化操作。池化操作采用窗口大小為3,步長為2的最大池化方式,這樣的池化操作后使得每個卷積層的計算時間和計算成本減半,形成一個金字塔的形狀。
4)殘差連接。在ImprovDPCNN中殘差連接的具體操作就是將region embedding的輸出直接連到池化層或者輸出層,此操作極大緩解了梯度消失問題。
文中提出的MC_E_ImprovDPC_B_SV模型采用組合和改進(jìn)的思想,將三個并行通道得到的輸出向量進(jìn)行向量融合,最終將融合的向量送入到全連接層和Softmax分類器。
實驗在CentOS 7.9 環(huán)境下運行,GPU為NVIDIA TITAN XP * 4,編程語言為Python,使用的深度學(xué)習(xí)框架為Pytorch,實驗所用預(yù)訓(xùn)練模型為百度推出的基于知識策略和實體遮蔽的ERNIE。
文中使用的數(shù)據(jù)集是由譚松波老師整理的酒店評論的中文公開數(shù)據(jù)集Chnsenticorp,該數(shù)據(jù)集是帶有情感標(biāo)簽的情感分類中文數(shù)據(jù)集,情感極性為積極和消極兩種,即為二分類。為了防止實驗驗證模型出現(xiàn)過擬合現(xiàn)象,將數(shù)據(jù)集按照8∶1∶1的比例切分為訓(xùn)練集、測試集和驗證集。將測試集上得到的實驗數(shù)據(jù)作為實驗結(jié)果。積極文本的情感標(biāo)簽記為1,消極文本的情感標(biāo)簽記為0。
為了使模型能表現(xiàn)出自身最佳的分類性能,則模型中的超參數(shù)設(shè)置見表1。
表1 實驗的超參數(shù)表
文中提出的情感分類模型所采用的評價指標(biāo)有精確率P,召回率R和F1值。具體計算公式為:
(10)
(11)
(12)
式中:TP——實際值和預(yù)測值情感極性都為積極時的數(shù)據(jù)個數(shù);
FP——當(dāng)實際的情感極性為消極,預(yù)測的情感極性為積極時的數(shù)據(jù)個數(shù);
FN——實際的情感極性為積極,預(yù)測的情感極性為消極時的數(shù)據(jù)個數(shù);
F1——由精確率和召回率共同決定。
為了驗證在相同數(shù)據(jù)集及同等實驗條件下MC_E_ImprovDPC_B_SV模型具有較好的分類效果,在驗證實驗的同時,又做了許多對比實驗,其中,ERNIE_ImproveDPCNN_SV模型、MC_R_ImprovDPC_B_SV模型、ERNIE_ImprovDPCNN_BILSTM模型、ERNIE_ImprovDPCNN模型作為對比模型在文中首次被提出,對比實驗中的ERNIE、ERNIE_BILSTM、ERNIE_CNN、ERNIE_DPCNN、ERNIE_RCNN等模型早已由其他學(xué)者提出,文中不再贅述,具體實驗結(jié)果分別見表2~表4。
表2 不同模型在測試集上的準(zhǔn)確率及損失值
表3 不同模型積極測試集文本上的不同評價指標(biāo)
表4 不同模型消極測試集文本上的不同評價指標(biāo)
不同模型在測試集上準(zhǔn)確率分布的條形統(tǒng)計如圖5所示。
圖5 不同模型在測試集上準(zhǔn)確率分布的條形統(tǒng)計
不同模型在測試集上損失值分布的折線統(tǒng)計如圖6所示。
圖6 不同模型在測試集上損失值分布的折線統(tǒng)計
從以上實驗結(jié)果可以看出,文中提出的MC_E_ImprovDPC_B_SV模型較文中提到的其他情感分類模型有較好的分類效果,在測試集上的分類準(zhǔn)確率達(dá)到93.92%,除此以外,該模型的精確率和F1值也是文中提到所有模型中最高的,從而也說明了MC_E_ImprovDPC_B_SV模型的優(yōu)越性,MC_E_ImprovDPC_B_SV模型比ERNIE_ImproveDPCNN_SV模型在分類準(zhǔn)確率上提升了0.59%,損失值減少了0.02,說明三通道并行提取特征要比雙通道提取特征更有效果,從另一方面也說明了雙向LSTM通道在提取特征時發(fā)揮了重要作用。通過比較模型ERNIE_BILSTM和ERNIE_ImprovDPCNN_BILSTM在測試集上的分類準(zhǔn)確率可知,后者比前者的分類準(zhǔn)確率提升了0.42%,由此可以看出,ImprovDPCNN通道可以獲得更豐富的情感特征信息。通過比較ERNIE_DPCNN模型和ERNIE_ImprovDPCNN模型在測試集上的分類準(zhǔn)確率可以看出,準(zhǔn)確率提高1.16%,說明改進(jìn)后的DPCNN更有利于情感特征的提取,有效改善了模型退化的問題。通過比較MC_E_ImprovDPC_B_SV模型和MC_R_ImprovDPC_B_SV模型可知,在測試集的準(zhǔn)確率上前者比后者提高1.16%,在積極文本和消極文本的評價指標(biāo)方面,MC_E_ImprovDPC_B_SV的Precision和F1值均高于MC_R_ImprovDPC_B_SV模型,由此可以看出,在知識表示和語義增強(qiáng)方面,ERNIE預(yù)訓(xùn)練模型要優(yōu)于Roberta預(yù)訓(xùn)練模型。
通過比較實驗結(jié)果可以得出,DPCNN用于情感分類方面要優(yōu)于普通的CNN網(wǎng)絡(luò),縱觀文中提出的所有情感分類模型中,基于ERNIE的ImprovDPCNN、BILSTM和語義向量的多通道組合方式能夠發(fā)揮出最好的模型性能,同時也說明,通過這樣的組合方式,各通道才能更好地發(fā)揮出自身的優(yōu)勢來進(jìn)行特征提取,從而進(jìn)行情感分類。
提出一種基于ERNIE的三通道并行提取特征的中文情感分類模型,這三個通道分別是ImporvDPCNN通道、BILSTM通道和語義向量通道。該模型通過發(fā)揮ERNIE及不同通道各自的優(yōu)勢可以提取到豐富的情感特征,從而能夠進(jìn)行準(zhǔn)確分類,通過驗證實驗和對比實驗可以看出,文中提出的MC_E_ImprovDPC_B_SV模型在情感分類問題上準(zhǔn)確率及評價指標(biāo)F1值要優(yōu)于文中提到的其他模型。在Chnsenticorp數(shù)據(jù)集上取得了良好的實驗效果。
文中所提模型雖然取得了很好的分類效果,但也存在諸多不足,比如在長文本情感分類方面的實驗效果還未知,對于多標(biāo)簽的情感分類問題還不能很好地解決,所以下一步工作將繼續(xù)研究和探索進(jìn)行長文本情感分類和多標(biāo)簽情感分類問題,使文中模型具有更強(qiáng)的適應(yīng)性和魯棒性。