貴向泉, 高 禎, 李 立
(蘭州理工大學 計算機與通信學院, 甘肅 蘭州 730050)
隨著移動互聯網終端技術的不斷發展,用戶可以通過手機等移動端隨時隨地發表關于日常生活的、富有情感色彩的信息,這種及時性和互動性也導致互聯網中的信息量急劇增長,僅憑人工很難從如此龐大的文本數據中提取到人們的情感傾向。文本情感分析技術[1]的出現可以幫助人們更高效地從文本中挖掘出用戶的情感信息,對意見挖掘、網絡輿論預測等應用領域具有重要意義[2-3]。2019年年底爆發的新型冠狀病毒肺炎由于其傳染能力之強和擴散范圍之廣在互聯網上引發了強烈的公眾情緒波動,結合文本情感分析技術提取出這些情感,可以反映出民眾對待此次疫情的態度,為管理部門準確掌握輿情信息、制定相關措施提供有效的數據支持。
近年來,深度神經網絡模型憑借在分類問題上的出色性能被應用于文本情感分析任務[4-6]。Bengio等[7]建立了神經網絡語言模型并提出詞向量的概念,實現了詞的分布式表征。Mikolov等[8]提出Word2Vec,通過引入負采樣等可行性措施高質量地學習出詞向量。Kim等[9]提出將詞向量和卷積神經網絡(Convolutional Neural Network, CNN)結合,通過卷積神經網絡提取文本詞向量的局部特征進行文本分類,但是由于CNN不具備聯想上下文信息的能力,所以循環神經網絡(Recurrent Neural Network, RNN)被更多應用于文本序列的處理,以便有效地利用近距離的語義信息[10-11]。Wang等[12]使用長短期記憶網絡(Long Short-Term Memory, LSTM)對文本中詞匯的時序關系進行學習,并解決了RNN存在的梯度消失和梯度爆炸問題。雙向長短期記憶網絡(Bidirectional Long Short-Term Memory, BiLSTM)[13]彌補了單向LSTM無法有效聯系上下文信息的缺陷。Bai等[14]提出了時序卷積網絡(Temporal Convolutional Network,TCN),其獨特的因果卷積和擴張卷積解決了LSTM信息無用就會逐漸被遺忘的問題,并且可以根據一個已知序列出現的先后順序進行預測。Bahdanau等[15]引入注意力機制,通過對重要特征增加權重來衡量其重要程度。此后,基于BiLSTM引入注意力機制(BiLSTM+Attention)[16]的研究方法憑借能抓取上下文信息和提取特定的情感特征,以及可以提高情感極性判別的準確率,被更多應用于文本情感分析。
以上研究說明,文本情感分析方法已取得很大進步,但該領域內的大部分神經網絡模型仍然存在對上下文信息利用不足的缺陷,以及遠距離詞匯對當前詞匯影響的長期依賴問題。單一的TCN網絡僅關注單向特征的學習,忽略了下文對上文的語義影響,而如果僅用BiLSTM實現雙向的語義學習,就會導致對詞序信息無法充分的利用。針對這些問題,本文基于深度學習的方法,首次提出融合TCN與引入自注意力機制的BiLSTM網絡的情感模型(簡稱TCN-BA模型),并將其應用于新型冠狀病毒疫情期間的網民評論文本情感分析,分析判別與此次疫情相關的文本信息中蘊含的情感傾向。
本文首先通過對因果卷積層進行多次堆疊和擴大卷積的感受野,將TCN處理時序問題的優勢性能應用到提取文本序列特征的任務中,充分考慮先出現的詞對后出現的詞的影響;然后,利用BiLSTM的雙向循環結構對TCN層獲取到的文本特征進一步學習,獲取文本的上下文聯系,同時避免RNN存在的長期依賴問題;最后,引入自注意力機制,根據疫情期間民眾的關注熱點以及引發情緒波動的關鍵詞,對提取到的特征向量進行篩選優化,降低噪聲對情感極性判別的影響。最終,有效地提高了情感分析模型的準確性,TCN-BA模型的鏈式網絡聯合的有效性也通過實驗各項性能的提高得以證明。
詞向量表示是將微博文本轉化為計算機可以理解的向量表示,本文對詞向量的訓練和生成使用了詞嵌入技術,詞嵌入技術是將文本中的詞轉換成數字向量,具體過程就是把一個維數為所有詞數量的高維空間嵌入到一個維數低得多的連續向量空間中,每個單詞或詞組被映射為實數域上的向量。
時序卷積網絡本質上是對一維卷積進行變形使得其可以處理時序問題的卷積網絡,近年來逐漸被應用到文本序列預測任務中。如圖1所示(圖中,xt為原始的時序輸入,yt為網絡預測值,d為擴張卷積中空洞大小),TCN與普通一維卷積網絡主要存在兩點不同:

圖1 時序卷積網絡結構圖
1) 擴張卷積(Dilated Convolution)。越到上層,窗口越大,卷積窗口中的空洞越多,在保證每一層隱藏層都和輸入序列大小相同的同時,降低計算量增大感受野,使模型可以學習到更長時段內的信息;
2) 因果卷積(Causal Convolution)。因果卷積具備嚴格的時間約束,只能使用某個時刻之前的信息來預測該時刻的值,限制滑動窗口,可以確保該時刻之后的信息不會用來預測,同時也保證了之前的信息不會被遺漏。


圖2 LSTM記憶單元模型結構圖
LSTM網絡通過上個時刻的隱層狀態ht-1和當前輸入xt計算出來的遺忘門ft、記憶門it、輸出門ot控制輸入信息是否被丟棄或傳遞。計算過程如下:
1) 計算遺忘門,控制選擇要遺忘的信息:
ft=σ(Wf·[ht-1,xt]+bf)
(1)
2) 計算記憶門,控制選擇要記憶的信息:
it=σ(Wi·[ht-1,xt]+bi)
(2)
(3)
3) 計算當前時刻細胞狀態:
(4)
4) 計算輸出門和當前時刻隱層狀態:
ot=σ(Wo·[ht-1,xt]+bo)
(5)
ht=ot·tanh(Ct)
(6)
其中,W為不同門限的權重矩陣,b為不同門限的偏置矩陣,σ、tanh為激活函數。
通過門限結構控制記憶單元中的輸入信息是否被記憶或者遺忘,從而實現對有用的信息進行傳遞,而無用的信息則被丟棄,彌補了RNN很難獲取到文本語義表示的長距離依賴信息的缺陷。
注意力機制的實質是仿效人類的視覺系統,根據一些特定的信息得到視覺焦點,抓取到有關信息的重要特征。一般的注意力機制是通過多個查詢(Query)和鍵值對(Key-Value)組成的映射函數來實現,通過計算Query和每個Key的相似度得到相應的權重,再利用Softmax函數對權重歸一化,并將處理后的權重與對應的鍵值加權求和得到最終的注意力值,計算過程如下:
1) 計算每一個Query和各個Key的相關性得到每個Key對應Value的權重系數:
(7)
2) 使用Softmax函數對權重系數進行歸一化處理;
(8)
3) 將權重與鍵值加權求和得到最終的注意力值:
(9)
其中,A是最終所求的注意力值;Lx為數據長度;Q代表查詢;K代表鍵;V代表值。
在文本情感分析任務中,注意力機制主要用于表示句子中的詞匯和輸出之間的相關程度,對文本語義表示中的情感特征增加不同的注意力權重,區分不同的特征對文本信息的重要性,進而提高文本情感分類的準確性。
文本情感分析需要考慮文本序列、上下文信息以及情感特征重要程度對最終情感分類的影響,本文提出的TCN-BA模型共包含了6層結構,如圖3所示:第一層為輸入層,輸入微博文本;第二層為文本向量表示層,將輸入的文本轉化為詞向量;第三層為TCN網絡層,利用TCN網絡層抓取文本序列特征;第四層為BiLSTM網絡層,將TCN網絡層的輸出作為BiLSTM網絡層的輸入,對文本的上下文信息進一步學習;第五層為自注意力機制層,引入自注意力機制,生成權重向量,將情感分類重要特征突出表示,并將詞匯級的特征拼接為句子級特征用于情感分類;第六層為輸出層,使用Softmax分類器完成情感分類。
本文使用Word2Vec中的Skip-gram模型(Continuous Skip-gram Model)將詞匯轉化為詞向量,詞向量的維度需在訓練前定義。Skip-gram模型根據給定詞,對詞匯表中的詞匯出現在該詞上下文的概率作出判斷,表達式為:

(10)

圖3 TCN-BA網絡模型結構圖
其中,wt代表給定詞匯;j代表與當前輸入詞匯的距離;vwt表示當前時刻輸入矩陣中的詞向量;v′wt+j表示輸出矩陣中的詞向量;w′∈v表示訓練樣本詞匯w′包含于詞匯表v中。如果輸入句子S長度為n,則可以通過向量矩陣S′∈Rn×k(k為詞匯表中的詞匯數量)表示,而S′i∈Rk則代表句子中第i個詞匯的詞向量表示。
由此可見,Skip-gram模型在考慮到上下文信息的同時,詞向量維度也相對較少,能夠表現出詞匯之間的關系,幫助提取文本中的語法語義信息。
TCN網絡層利用因果卷積限制滑動窗口來實現嚴格的時間束縛,利用擴大擴張卷積結構感受野學習到更大范圍的信息,并通過增加殘差鏈接(Residual Connections)防止網絡層過高導致梯度消失來獲取更高層文本序列的語義信息特征。
2.2.1因果卷積
因果卷積使得TCN具備很強的因果性質,當前時刻的信息只能依靠當前時刻之前的信息進行預測,即只能通過當前的時刻輸入xt和之前的輸入x1,x2,…,xt-1進行計算,在這之后信息不能用于預測,從左至右進行計算提取特征。
(11)
2.2.2擴張卷積
由于因果卷積對特征的提取被限定于卷積核的大小范圍之內,添加擴張卷積可以彌補這一缺陷。每隔一定的空洞數對文本序列進行采樣計算,相當于在卷積核內部插入了d個0(d為空洞數),添加擴張卷積以后的卷積核大小為:
fk_d=(d-1)×(fk-1)+fk
(12)
其中,fk為當前層的卷積核大小。
2.2.3殘差鏈接
擴張卷積的添加需要增加網絡層數、擴大網絡層的感受野,而網絡層數過深時,很容易出現梯度消失的現象。添加殘差鏈接結構可以形成短路鏈接,通過對輸入x和經過非線性變換以后的F(x)求和,使得時序卷積網絡避免了由網絡層數增加引起的梯度消失。
R=x+F(x)
(13)
本文所采取的擴張因果卷積模塊就是在每一次進行擴張因果卷積計算Conv()之后將參數層級歸一化Hi-norm(),然后采用ReLU激活函數進行非線性計算,將得到的結果與輸入進行求和,實現殘差鏈接。計算過程如下:
Ti=Conv(Wi×Fj+bi)
(14)
{T0,T1,…,Tn}=Hi-norm({T0,T1,…,Tn})
(15)
{T0,T1,…,Tn}=Relu({T0,T1,…,Tn})
(16)
其中,Ti是i時刻卷積計算得到的狀態值;Wi為i時刻卷積計算的詞的矩陣;Fj為第j層的卷積核;bi為偏置矩陣;{T0,T1,…,Tn}是序列經過一次完整的卷積計算后的編碼。
TCN網絡層通過堆疊多個擴張因果卷積層,擴大卷積的感受野,獲取到更完整的文本序列特征,從而能提取到更深層次的語義信息。
單一的TCN對句子進行建模時,存在無法編碼從后到前的信息的問題,本文加入BiLSTM層(網絡結構如圖4所示),其隱藏層由正、反兩個傳播方向的LSTM結合而成,正向傳播層單元學習當前文本上文信息,后向傳播層單元學習下文信息,然后將兩個方向學習到的特征進行拼接,提取到文本序列的上下文信息,獲取正反兩個傳播方向的情感特征。

圖4 BiLSTM網絡結構圖


(17)
自注意力機制是注意力機制的一個變形。注意力機制通常用于任務目標與數據源不同的情況(如,機器翻譯),而自注意力機制則更擅長處理數據源內部、任務目標內部元素的計算。
對文本情感分析而言,自注意力機制可以更好地捕獲到同一個句子之間的語法、語義特征,對語句中的情感特征重要程度進行區分。自注意力機制并不依賴于外部信息,它是對自身的數據信息進行訓練并不斷更新參數,從而得到注意力值,即更關注句子之間詞匯的關系。
本文將BiLSTM網絡層生成的向量集合作為自注意力機制的輸入,與自注意力機制層生成的權重向量相乘,并將詞匯級的特征匯總成句子級特征用于最終的情感分類。實現過程如下:
1) 獲取BiLSTM網絡層的輸出,即向量集合
生成權重向量:
(18)
2) 使用Softmax函數對生成的權重矩陣做歸一化處理,突出重要特征的權重。權重越大,表明對微博用戶在疫情期間的情感傾向越重要。
α=Softmax(W)
(19)
3) 將權重與向量集合H相乘,即得到最終的自注意力值:
A(H)=αH
(20)

h*=tanh(A(H))
(21)

(22)
其中,L為損失值;x為樣本;N為樣本總數。采取的是Mini-batch梯度下降優化算法,相較于其他算法,該法只需對損失函數一階求導,計算代價相對較小的同時,也提高了模型的訓練速度。
實驗數據來源于新浪微博(Weibo)的用戶微博文本。新浪微博是中國最大的社交媒體平臺之一,其內容具有很高的及時性和開放性,對于一些突發事件(如此次新冠疫情),可以提供大量的研究數據。
本實驗依據“新冠肺炎”、“冠狀病毒”、“疫情”、“傳染”、“武漢”等關鍵詞,利用爬蟲技術對2020年1月24日至2020年2月24日期間的相關微博文本進行爬取,共獲得原發微博87 563條,實驗數據統計信息如表1所示。由于采集的數據存在噪聲,會對最終的實驗結果產生影響,本文對數據進行了篩選和預處理:
1) 字體轉換(繁體字轉換成簡體字);
2) 分詞和停用詞去除(把中文的漢字序列切分成有意義的詞,并適當減少電腦檢索中的虛字和非檢索用字);
3) 特殊符號替換(使用正則匹配的方法將@符號、URL分別轉換為
4) 無效微博的過濾(文本內容中詞數少于5個,全部都是重復符號、字母、漢字的情況,微博中的廣告和推廣性的內容等);
5) 數據格式的標準化。

表1 實驗數據統計信息
微博數據經過初步處理后,根據BosonNLP情感詞典(情感詞匯:積極情感詞、消極情感詞、積極評價詞以及消極評價詞;程度副詞:控制情感詞的強弱;否定詞匯:判斷情感極性是否發生轉變)進行人工標注,如表2實驗數據樣例所示,情感標簽分為三類:-1,消極;0,中性;1,積極。根據情感詞典進行情感極性的標注,在一定程度上可以避免主觀性判別出現的偏差。標注后對數據作進一步欠采樣處理,保留了68 657條微博文本,使得三種情感傾向的比例趨近1∶1∶1,保證了數據分布平衡。將標注好的數據作為實驗數據集,按照8∶1∶1的比例劃分成訓練集、驗證集及測試集進行實驗。

表2 實驗數據樣例
在標注數據的過程中,發現微博用戶的情感傾向分布與年齡、性別之間呈現出一定的關聯(如圖5所示):多數25歲以下的用戶在面對疫情時更為積極,50歲以上的用戶其消極評論占比更大,25~50歲的用戶其評論文本則相對更為中性;在性別方面,男性和女性之間的差異也比較明顯,男性用戶中的中性文本和積極文本相對于女性分別高出7.5%和15.2%,消極文本中女性用戶則占到了61.8%,可見,男性在面對疫情時,其評論文本更為理性和積極。
本文在PyTorch深度學習框架下進行實驗,具體實驗環境如表3所示。

圖5 各類情感傾向在不同年齡和性別之間的分布

表3 實驗環境搭建
本文采用準確率、召回率以及Macro-F1值作為評估模型有效性的指標。計算過程為:
準確率:
(23)
召回率:
(24)

(25)
其中,TP表示真陽例;FP表示假陽例;FN表示假陰例。準確率P越大,代表模型預測準確度越高;對每一個類別分別計算F1值,求平均即得到Macro-F1值,其值越大,表示模型分類效果越好。
在相同的實驗環境設置了6組對照實驗,用于驗證本文提出的TCN-BA模型的有效性。除BERT模型外,其余5組實驗的詞向量均由Word2Vec中的Skip-gram模型訓練得來。
1) LSTM:在一般RNN的基礎上添加了門限結構,選擇性提取信息[17]。
2) BiLSTM:正向LSTM和反向LSTM分別從正、反兩個方向對文本語義特征進行學習,并將得到的特征進行融合,用于最終的情感極性判斷[18]。
3) BiLSTM+Attention:在BiLSTM網絡中引入注意力機制,由BiLSTM提取文本序列的上下文信息,注意力機制負責區分所提取特征對最終情感分類的重要程度[19-20]。
4) TCN:對于單一的時序卷積網絡,設置多層因果卷積及擴張卷積對文本序列進行計算,將最后時刻狀態視為最終語義表示用于情感分類。
5) BERT:利用Transformer的雙向編碼表示對基于架構微調的方法進行改進,通過聯合調節所有層中的上下文來預先訓練深度雙向表示[21]。
6) TCN-BA:即本文模型。
TCN-BA模型在實驗中使用Word2Vec中的Skip-gram模型訓練詞向量,維度設置為300,學習率為0.03;TCN網絡層中擴張因果卷積層數為4,卷積核大小設置為7,空洞因子為2n,使用ReLU函數作為激活函數;BiLSTM網絡層中隱藏層數設置為128,隱藏層有64個神經元;Dropout參數分別設置為0.3、0.3、0.25;Adam優化器學習率為0.002;訓練批次長度batch_size設置為64。
本文在疫情期間微博用戶文本數據集上進行了6組對照實驗,以模型在數據集上的準確率、召回率和Macro-F1值為評價標準,具體實驗結果如表4、圖6所示。

表4 對照實驗結果

圖6 6種模型準確率對比圖
1) 相對于單一的LSTM,BiLSTM增加了后向傳播單元,可以抓取到下文對當前詞匯的影響,融合了上下文信息特征,效果更優;
2) 相較于單獨的BiLSTM網絡模型, BiLSTM+Attention網絡模型在引入注意力機制以后,能更好地捕捉到句子的局部特征,區分情感特征重要程度,其準確率、召回率以及Macro-F1值分別提高了3.47%,2.60%,0.028 3。
3) TCN由于利用因果卷積、擴張卷積可以獲取到更多的文本序列特征,并且殘差鏈接結構可以抑制網絡層數過多而引起的梯度消失現象,因此其實驗效果優于BiLSTM+Attention模型。
4) BERT使用遮蔽語言模型來實現預訓練的深度雙向表示,由于在所有層中共同依賴于左右上下文,使得BERT模型在文本情感分析任務中可以較好地提取到文本序列中的情感特征。
5) TCN-BA模型結合TCN學習文本序列特征,增加BiLSTM網絡層補足單向TCN無法聯系上下文的缺陷,并利用自注意力機制優化特征向量。對比TCN-BA和其他5組模型的實驗結果可知,TCN-BA模型的準確率和召回率都得到了有效提升,分別達到92.68%、91.53%,Macro-F1值達到0.839 5。
除了對6種模型的準確率、召回率以及Macro-F1值進行對比,本文還在實驗過程中對各個模型的性能進行了比較,如圖7所示。

圖7 6種模型損失對比圖
通過對比發現,由于BERT模型預訓練過程中的標記在實際預測中不會出現,過多使用標記往往會影響模型表現,并且每個批次只有15%的符號(包含字符和標點)被預測,這在一定程度上影響了收斂速度。相對于BERT模型,TCN-BA融合模型收斂速度更快,在疫情期間微博文本數據集上的性能表現總體上更為優秀。由圖7可知,單一的時序卷積網絡模型、BiLSTM+Attention模型以及BERT模型的損失值下降到穩定值的速度盡管比TCN-BA模型慢,但在最后的幾次迭代中也逐漸趨于收斂。
本文首次提出TCN-BA模型,并將其應用于疫情期間的微博文本情感分析。首先,通過TCN網絡層提取文本的序列特征;然后,將其輸出作為BiLSTM網絡層的輸入,學習文本的上下文信息和情感特征,得到文本的語義表示;最后,引入自注意力機制,結合上下文信息與疫情期間熱點詞匯特征,優化特征向量,減少噪音干擾。6組對照實驗證明了TCN-BA模型在疫情期間微博文本數據集上進行情感分析的有效性。在總結實驗期間,發現時序卷積網絡的網絡結構在理論上可以對文本特征進行雙向學習,提取文本的上下文信息。因此,今后的研究將會聚焦于如何對TCN的網絡結構進行調整來進一步提高文本情感分析準確度的問題上。