支世堯 吳貞如 陳濤 李盛達 彭棟
摘? 要: 針對傳統(tǒng)語言模型無法直接提取句子的雙向語義特征,導致情感分類準確率較低的情況,提出一種結(jié)合預訓練語言模型ALBERT、BiLSTM以及Attention機制的微博評論情感分析模型ALBERT-BiLSTM-Att。在公開數(shù)據(jù)集weibo_senti_100k上,經(jīng)過五折交叉驗證實驗,ALBERT-BiLSTM-Att模型的準確率達到93.30%。
關鍵詞: 情感分析; 微博評論; ALBERT; BiLSTM; Attention
中圖分類號:TP389.1? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2022)02-19-04
ALBERT-BiLSTM-Att Models for sentiment analysis of Weibo comments
Zhi Shiyao, Wu Zhenru, Chen Tao, Li Shengda, Peng Dong
(School of Information Engineering,Nanjing Audit University, Nanjing, Jiangsu 211815, China)
Abstract: Aiming at the situation that traditional language models cannot directly extract the two-way semantic features of sentences, resulting in low accuracy of emotion classification, a Microblog comment sentiment analysis model ALBERT-BiLSTM-Att that combines pre-training models ALBERT, BiLSTM and Attention mechanism is proposed. A 5-fold cross-validation experiment on the public data-set weibo_senti_100k shows that the accuracy of the ALBERT-BiLSTM-Att model reached 93.30%.
Key words: sentiment analysis; Weibo comment; ALBERT; BiLSTM; Attention
0 引言
微博作為全球最大的中文社交全媒體平臺,達到了月活躍用戶數(shù)5.23億,日活躍用戶數(shù)2.29億(截至2020年11月)。通過微博發(fā)布信息具有即時性、開放性、碎片化、裂變傳播等特征[1]。用戶的大量評論(特別是負面評論)往往容易造成輿情事件的爆發(fā)。因此相關部門應加強對網(wǎng)絡輿情的管控過程,特別是對微博評論進行情感分析應是重中之重[2]。
1 研究現(xiàn)狀
文本情感分析的方法主要有基于情感詞典、機器學習以及深度學習三種方法。
情感詞典方法是將數(shù)據(jù)集和情感詞典中的詞進行匹配,通過權重計算,從而得到文本的情感極性,但一個完備的詞典很難被構(gòu)建出來[3]。趙妍妍等人[4]構(gòu)建了一個基于微博數(shù)據(jù)的大規(guī)模情感詞典,該方法在微博情感分類的效果上和NRC-Canada相比提高了1.13%;2019年,XuG等人[5]通過構(gòu)建一個包含基本、場景以及多義三方面情感詞的擴展情感詞典,有效提升了情感分類的效果。
機器學習方法則是利用NB、SVM等算法來實現(xiàn)情感分析,但因為基于機器學習方法訓練出的模型大多缺少泛化能力,以至于不能夠較好的應用在多種場景。Pang等人[6]于2002年首次應用機器學習算法對電影評論數(shù)據(jù)進行情感分析。支等人[7]使用NB方法對酒店評論進行情感分類,準確率為81.3%。孫建旺等人[8]將中文微博文本中的形容詞以及動詞作為特征提取出來,并使用基于層次結(jié)構(gòu)和符號的方法對特征進行降維并計算極性值,最后使用SVM進行情感分類。
這兩種方法都有明顯弊端,基于此,人們提出基于深度學習的方法。KimY[9]最早提出將CNN應用于文本情感分析。關鵬飛等人[10]提出一種基于注意力機制的并行BiLSTM模型,利用Attention機制和BiLSTM提取詞、句的特征信息,有效提升了分類效果。胡朝舉等人[11]構(gòu)建了一種基于深層注意力的LSTM模型,通過共享權重的BiLSTM對主題和文本詞向量進行訓練,并融合主題和文本特征??妬喠值热薣12]針對訓練速度慢的問題,提出一種結(jié)合CNN與GRU的文本情感分析模型(CNN-BiGRU),實驗表明,CNN-BiGRU模型簡化了特征提取過程,提高了訓練速率并且準確率沒有降低。Yin等人[13]于2020年提出Sentibert方法,該方法基于預訓練模型BERT,包含BERT、基于注意網(wǎng)絡的語義組合模塊、短語和句子的預測因子三個模塊,通過實驗證明該方法對分類效果提升明顯。
為了優(yōu)化特征提取,本文利用ALBERT來獲取微博評論的動態(tài)特征表示,并結(jié)合BiLSTM以及注意力機制,提出ALBERT-BiLSTM-Att模型。通過對比實驗發(fā)現(xiàn),該情感分析模型能較好地提取微博評論文本的深層語義特征。
2 基于ALBERT-BiLSTM-Att的微博評論情感分析模型
2.1 BERT與ALBERT
BERT是2018年Google AI Language的DevlinJ等人提出的預訓練語言模型[14],刷新了多項NLP任務的記錄。該模型采用雙向Transformer編碼器,其中Bert-base疊加了十二層Encoder,具體單元結(jié)構(gòu)如圖1所示。它有兩種訓練任務:
[Masked Language Model]:隨機[MASK]每個句子中15%的詞。其中被打上[[MASK]]標記的詞有10%替換為任意詞,10%不變,其余80%直接替換為[[MASK]]標簽,讓模型預測被打上[MASK]標記的單詞含義。
[Next Sentence Prediction]:通過從訓練文本中挑選連續(xù)以及非連續(xù)的語句對,讓模型判斷語句相關性。
BERT模型的處理過程為:將輸入的文本數(shù)據(jù)X=(X,X,…,X)進行Token Embeddings、Segment Embeddings以及Position Embeddings。設計了Self-Attention,充分考慮句子中每一個詞語之間的語義和語法聯(lián)系,同時考慮到不同head中單詞的Attention不同,通過結(jié)合多個Self-Attention形成多頭(Multi-Head)機制,使模型獲得更大容量。
Add? Norm層的Add為殘差連接(Residual Connection),Norm]為層歸一化(Layer Normalization)。把模型輸入與上層輸出相加,再進行層歸一化,這樣可以做到僅關注差異部分,并使模型更容易訓練。Add? Norm層的輸出傳遞到Feed Forward,再經(jīng)過Add? Norm層后輸出。
ALBERT是Google的Lan等人[15]基于BERT模型改進的一種預訓練語言模型,該模型與BERT相比,降低了參數(shù)量,并提高了運行速度。
ALBERT相較于BERT主要有以下幾點改進。
⑴ Factorized embedding parameterization:降低Embedding層的詞嵌入維度,并在詞嵌入和隱藏層間添加一個中介。參數(shù)量[P]的計算公式為:
P=L×H?⑴
P=L×V+V×H? ⑵
詞表大小為L,隱藏層維度為H,詞嵌入維度為V。BERT模型中V和H相同,在V遠小于H的情況下,詞嵌入因式分解后的參數(shù)量P將大幅度減小。
⑵ Cross-Layer Parameter Sharing](層參數(shù)共享):將[FFN]和[Attention]模塊都實現(xiàn)了參數(shù)共享,盡可能減少參數(shù)量。
⑶ [Inter-sentence coherence loss](句間連貫):改進了BERT模型原有的[NSP]任務,提出了[SOP(Sentence-order prediction)]的新型訓練任務。
⑷ 移除[Dropout]。
2.2 ALBERT-BiLSTM-Attention模型
ALBERT-BiLSTM-Att模型結(jié)構(gòu)如圖2所示。ALBERT-BiLSTM-Att模型主要由四個部分組成:輸入層、ALBERT層、BiLSTM-Att層(包含BiLSTM層和Attention層)、輸出層。
步驟1 對微博評論數(shù)據(jù)進行預處理,利用輸入層將預處理的微博評論數(shù)據(jù)輸入到模型的ALBERT層中,輸入的文本數(shù)據(jù)為X=(X,X,…,X)。
步驟2 在ALBERT層獲取文本的動態(tài)特征表示。
步驟3 將步驟3獲得的文本特征輸入到BiLSTM層中,x表示i位置上的詞向量輸入,通過前向傳遞模塊LSTM和后向傳遞模塊LSTM,分別獲得h和h,之后連接h和h,獲得隱層向量h1,2,...,n,并結(jié)合注意力機制得到最終句子表示h,算法如下:
步驟4 將特征向量[h]輸入到Dense Layer進行降維,全連接層的輸出維度為情感標簽的類別數(shù)。最后對輸出結(jié)果進行Softmax歸一化,得到微博評論文本的情感極性。
3 實驗與分析
3.1 數(shù)據(jù)預處理
本文選用公開數(shù)據(jù)集weibo_senti_100k作為實驗數(shù)據(jù)集。數(shù)據(jù)集包含119988條帶情感標簽的數(shù)據(jù),其中正負評論各59994條,0和1分別表示負向評論和正向評論。使用正則表達式對數(shù)據(jù)進行過濾處理,根據(jù)標識刪除“#”、“@”、“//”等與情感表達無關內(nèi)容,并進行停用詞去除等操作,示例見表1。
數(shù)據(jù)集90%作為訓練集,采用五折交叉驗證,剩下10%作為測試集。由于模型從未見過測試集數(shù)據(jù),所以可以更準確的反應模型的分類效果。
3.2 實驗參數(shù)
實驗參數(shù)包含兩部分,一是ALBERT模型,二是BiLSTM-Att模型。其中ALBERT采用Google發(fā)布的預訓練模型ALBERT-Base。模型參數(shù)見表2:
3.3 對比模型設置
為了評估模型的效果,本文采用以下五個對比模型。
⑴ ALBERT-base模型:利用ALBERT-base模型訓練得到文本特征,將獲得的文本特征通過一個全連接層,然后直接輸入到[Softmax]分類器中。
⑵ Att-BiLSTM模型:該模型是由注意力機制和雙向長短期記憶網(wǎng)絡組成。
⑶ Word2Vec-BiLSTM:采用Word2Vec訓練得到文本特征,并輸入到BiLSTM。
⑷ BERT-BiLSTM:采用BERT模型將微博評論文本訓練得到文本特征,并輸入到BiLSTM中進行情感分類。
⑸ ALBERT-BiLSTM:采用ALBERT模型將微博評論文本訓練出詞向量表示,并輸入到BiLSTM中進行情感分類。
3.4 實驗結(jié)果與分析
不同模型在weibo_senti_100k上的情感分類效果如表3所示。分析如下。
⑴ 基于ALBERT-BiLSTM-Att的模型優(yōu)于Att-BiLSTM模型,在三種評估指標上都有很大提升,驗證了預訓練語言模型ALBERT的有效性。
⑵ 基于ALBERT的方法與其余模型比較,都取得比較理想的實驗結(jié)果。
⑶ ALBERT-BiLSTM-Att模型與ALBERT-BiLSTM模型相比有微弱提升,但較其他模型,有明顯優(yōu)勢。說明Attention機制能夠挖掘更深層次的語義特征。
結(jié)果表明,基于ALBERT-BiLSTM-Att的情感分類方法在微博評論文本上相比其他模型具有更好的表現(xiàn)。
4 總結(jié)
微博作為全球最大的中文社交平臺,對其評論進行情感分析,可以掌握網(wǎng)民對公共事件的態(tài)度,從而控制網(wǎng)絡輿情的發(fā)展方向,這對于政府部門進行網(wǎng)絡輿情管控有著十分重要的意義。本文設計的ALBERT-BiLSTM-Att情感分析模型可以提取句子的深層語義特征,提升了情感分類的準確率。實驗結(jié)果表明,該模型在weibo_senti_100k上的分類效果優(yōu)于其他模型。但由于ALBERT模型訓練時間較長且難以復現(xiàn)以及BiLSTM模型的計算量較大等限制,導致模型訓練和推理時間較長,下一步將對此進行改進,以進一步提升模型的速度和效果。
參考文獻(References):
[1] 張文婷.微博對傳統(tǒng)新聞傳播模式的影響[J].數(shù)字傳媒研究,2018,35(7):32-33
[2] 諶志群,鞠婷.基于BERT和雙向LSTM的微博評論傾向性分析研究[J].情報理論與實踐,2020,43(8):173-177
[3] 徐民霖.結(jié)合情感詞典和神經(jīng)網(wǎng)絡的文本情感分析研究[D].江西理工大學,2020
[4] 趙妍妍,秦兵,石秋慧,等.大規(guī)模情感詞典的構(gòu)建及其在情感分類中的應用[J].中文信息學報,2017,31(2):187-193
[5] Xu G, Yu Z, Yao H, et al. Chinese text sentiment analysisbased on extended sentiment dictionary[J]. IEEE Access,2019,7:43749-43762
[6] Pang B, Lee L, Vaithyanathan S. Thumbs up? Sentimentclassification using machine learning techniques[J].arXiv preprint cs/0205070,2002
[7] 支世堯,彭棟,朱旭.基于機器學習的在線評論傾向性分析[J].科學技術創(chuàng)新,2021(15):99-100
[8] 孫建旺,呂學強,張雷瀚.基于詞典與機器學習的中文微博情感分析研究[J].計算機應用與軟件,2014(7):177-181
[9] Kim Y. Convolutional Neural Networks for SentenceClassification[J]. Eprint Arxiv,2014
[10] 關鵬飛,李寶安,呂學強,等.注意力增強的雙向LSTM情感分析[J].中文信息學報,2019,33(2):105-111
[11] 胡朝舉,梁寧.基于深層注意力的LSTM的特定主題情感分析[J].計算機應用研究,2019,36(4):121-125
[12] 繆亞林,姬怡純,張順,等.CNN-BiGRU模型在中文短文本情感分析的應用[J].情報科學,2021,39(4):85-91
[13] Yin D, Meng T, Chang K W. Sentibert: A transferabletransformer-based architecture for compositional sentiment semantics[J].arXiv preprint arXiv:2005.04114,2020
[14] Devlin J, Chang M W, Lee K, et al. Bert: Pre-training ofdeep bidirectional transformers for language understanding[J]. arXiv:1810.04805,2018
[15] Lan Z, Chen M, Goodman S, et al. Albert: A lite bert forself-supervised learning of language representations[J]. arXiv preprint arXiv:1909.11942,2019