李明超,張壽明
(昆明理工大學 信息工程與自動化學院,云南 昆明 650500)
文本情感分析是自然語言處理領域(Natural Language Processing,NLP)一個重要的研究方向,是利用計算機手段對帶有情感傾向的文本進行處理、分析、歸納及推斷的過程。
在基于深度學習的文本情感分析研究方向上,KALCHBRENNER等人[1]提出了第一個基于卷積神經網絡(Convolutional Neural Networks,CNN)的TC模型,該模型使用動態-max-pooling,稱為動態CNN(DCNN);此后又出現了循環神經網絡[2](Rerrent Neural Network,RNN)及其各種變體,如長短期記憶網絡(Long Short-Term Memory,LSTM)和門控循環網絡(Gated Recurrent neural network,GRU)[3],都是旨在更好地捕獲長期依賴關系。隨著訓練模型復雜度不斷提升和模型處理語料日益龐大,研究人員提出了預訓練模型(Bidirectional Encoder Representations from Transformers,BERT)[4]。 通過大量基準語料對模型預訓練,使模型能夠對給定語句中的詞語嵌入更豐富語義,這些嵌入將被應用到相關模型后續任務中,極大地改善模型情感分 析性能。
但是,在以上的單一神經網絡模型中依然存在各種問題:卷積神經網絡無法提取文本時序特征,而LSTM和GRU雖能提取到時序特征,但只能利用到當前和過去信息,不能利用未來信息;另外,BERT模型的輸入長度是固定的,被截取的超出部分可能包含有價值信息,因此還有提升空間。
針對上述問題,本文提出Bert-BiR-A模型架構,利用訓練集對BERT模型進行微調,然后利用預訓練BERT模型對文本序列進行詞嵌入,使詞語獲得更豐富表征;利用雙向GRU對文本進行雙向特征提取,并引入注意力機制對提取特征賦予不同權重,給予關鍵信息更高關注度,更有利于情感分析,提取語句深層語義;為驗證不同BERT模型對整個模型框架的影響,設計了6組模型進行試驗獲得最優模型。
Bert-BiR-A模型結構包括BERT預訓練層、雙向循環網絡層、注意力層以及輸出層4個信息處理層,如圖1所示。

圖1 Bert-BiR-A模型結構圖
輸入詞向量序列記為X={w1,w2,…,wm},將X輸入BERT模型中進行訓練,最終獲得相應詞向量表示,如式(1)所示:

式中:X'為BERT詞嵌入后的向量,W'為轉置矩陣,b'為偏置值。
對于任意一條給定的評論S={t1,t2,…,ti,ti+1,…,tm},經過BERT網絡模型訓練后轉化為序列X'。BIGRU網絡使用了雙向GRU模型,其中一路GRU向前傳播建模,一路向后傳播建模,使得每個詞對應的輸出能夠同時提取到基于上下文兩個方向的信息,獲得信息更充分。在進行建模的過程中,前向GRU與后向GRU參數不進行共享,兩者的表 達式為:

最后將每個詞向量對應的前向GRU輸出值和后向GRU輸出值進行拼接,結果即為BIGRU網絡的模型的輸出,如式(4)所示:

將從BiGRU層的輸出連接到Attention層,然后加入注意力機制算出其注意力值。從BiGRU層輸出的句子為S={t1,t2,…,ti,ti+1,…,tm},計算目標詞向量t2注意力,通過Attention層將t2訓練出其基于注意力機制的序列t2'。然后可以按照對t2的計算方式推出整個文本序列的詞向量訓練。通過分析詞與詞之間的相關性及詞與序列之間的重要程度,利用注意力機制算出其權重值,構建出上下文向量,最后將構建出的向量連接到對應詞上。訓練詞向量的具體步驟如式(5)、式(6)所示:

式中:tju和tjv代表第j條語句中任意兩個不同的詞的向量,αju,jv代表權重系數。
對輸入詞矩陣進行多次遍歷以上計算步驟后,計算出每個詞所對應的權重,最終生成權重矩陣A,最后將權重矩陣與后續BIGRU網絡的輸出進行 拼接。
將經過注意力機制的得到的輸出Ai連接到輸出層,然后送入softmax分類器中進行感情極性分類,最終的分類結果如式(7)所示:

式中:W0為輸出層權重矩陣,bo為偏置值。
利用交叉熵定義損失函數如式(8)所示:

為了能夠對本章所提出的模型BERT-A-BIR進行更好的評估,本章選用了兩個在文本情感分析領域廣泛應用的公開數據集IMDB和SST-5。其中,IMDB數據集主要用于二分類,情感極性分為積極和消極,訓練集包括25000條評論,測試集包含 25000條評論;SST-5數據集主要應用于情感分析五分類,情感極性分為非常消極、消極、中立、積極以及非常積極,訓練集包含157918條評論,測試集包含2210條評論。
用被分對的樣本數除以總的樣本數得出正確率(Accuarcy)。在通常情況下,正確率越高,代表分類效果越好,其計算方法如式(9)所示:

式中:FP是指實際積極的樣本被判別為消極的樣本;TP是指實際積極的樣本被判定積極樣本;TN是指實際消極的樣本被判別為消極的樣本;FN是指實際消極樣本被判別為消極的樣本。
模型分別在數據集IMDB和數據集SST-5上進行情感分析任務,同時設置多組對照實驗。
2.3.1 分類模型對比實驗
不同模型的預測準確率結果如表1所示。由表1可以看出,在IMDB數據集上,單一神經網絡中CNN的準確率最高,為87.6%,但是本文提出的BERT-A-BiR模型均優于其他模型,且相對CNN提升了7.1個百分點;在SST-5數據集上進行單句預測,CNN相對BiLSTM準確率降低1.1個百分點,但本文提出的模型與BiLSTM相比提升了1.8個百分點;BERT-A-BiR與BERT-BiR相比在兩個數據集上準確率都更高,說明了引入注意力機制的有效性。整體而言,本文的模型在了IMDB和SST-5數據集上都取得了不俗的表現。

表1 不同模型的預測準確率
2.3.2 不同BERT對比實驗
為了提升整體模型性能,研究不同BERT對本章提出的BERT-A-BiR模型架構的影響,在模型的BERT模塊分別采用BERT_base、RoBERTa[5]及DistillBERT[6]三種BERT,同時雙向循環網絡模塊(BiR)采用了BiGRU和BiLSTM兩種循環網絡的變體模型,共設計了6個模型,相關實驗組的結果如表2所示。

表2 6組不同模型在IMDB和SST-5數據集上的實驗結果
對比1、2、3組實驗可以發現,當BiR模塊同為BiLSTM時,RoBERTa在兩個數據集上表現最優;同理,對比4、5、6實驗組可以發現,當BiR模塊同為BiGRU時,RoBERTa在兩個數據集上表現最優,故在BERT模塊上RoBERTa最優。通過對比1和4、2和5、3和6可以發現,當BERT相同時,整體上而言,BiGRU更優,最終最優模型為RoBERTa-A-BiR_(BiGRU),在SST-5上取得了53.30%的準確率,在IMDB上取得93.66%的成績。
2.3.3 微調實驗
為了提升BERT模型的效果,利用訓練集Dtrain對BERTbase進行微調。為了驗證微調的效果,首先利用Dtest對沒有經過微調的BERTbase進行測試,BERTbase經過微調后再次使用Dtest對其測試,實驗結果如圖2所示:

圖2 BERTbase在IMDB數據集上的微調效果
在對IMDB影評數據集上進行情感二分類的過程中,對BERTbase進行微調后的準確率、召回率和F1值比沒有微調前分別高出0.54、0.39和0.46。結合BERT預訓練后在兩個數據上的準確率、召回率及F1值可以看出,對BERT進行微調后的效果都要優于未對BERT進行微調的效果。這說明對BERT進行微調應用于特定任務,要優于不進行微調的BERT模型,證明了BERT微調的有效性。
本文針對文本情感分析任務提出了BERT-ABiR模型架構,通過對BERT微調后利用其預訓練模型進行詞嵌入,然后通過雙向RNN變體LSTM或GRU進行特征提取,此后引入注意力機制讓模型對與當前任務相關的信息賦予更多關注度,提升模型情感分析能力。在不同數據集上的實驗結果表明,與其他對照組相比,提出的模型準確率最高,證明了該模型的可行性。同時,為進一步提升模型架構性能,基于不同BERT對模型框架的影響設計了6組模型,通過實驗選出最優模型。最終在IMDB數據集上取得了93.66%的成績,在SST-5數據集上取得了53.3%的成績。模型還有一定的優化空間,將在未來工作中進一步優化。