(1.湖南都市職業(yè)學(xué)院, 計算機(jī)科學(xué)系, 湖南, 長沙 410137; 2.湖南信息學(xué)院, 通識學(xué)院, 湖南, 長沙 410151)
隨著微博、貼吧等社交平臺的快速發(fā)展,越來越多的用戶在網(wǎng)絡(luò)上發(fā)表帶有情感傾向的評論。情感分類是指自動提取出用戶對某事物的褒貶意見,屬于文本分類問題[1]。
將離散的詞轉(zhuǎn)化為機(jī)器能夠處理的數(shù)字是深度學(xué)習(xí)方法應(yīng)用于情感分類任務(wù)的關(guān)鍵前提。傳統(tǒng)的詞向量模型如Word2Vec[2]和Glove[3]利用預(yù)訓(xùn)練技術(shù)將文本映射到高維向量,但訓(xùn)練過程缺乏詞的位置信息和未能結(jié)合詞的上下文語境,存在無法表示多義詞的問題。通過對預(yù)訓(xùn)練技術(shù)的深入研究,動態(tài)詞向量學(xué)習(xí)模型如ELMO[4]和基于Transformer的BERT[5]模型等被相繼提出。RoBERTa[6]預(yù)訓(xùn)練模型作為BERT的改進(jìn)版本,提出了動態(tài)掩碼預(yù)訓(xùn)練,在多個自然語言處理任務(wù)上取得了最佳效果。
傳統(tǒng)的機(jī)器學(xué)習(xí)方法有支持向量機(jī)、最大熵和k近鄰算法等,但機(jī)器學(xué)習(xí)方法需要進(jìn)行復(fù)雜的人工準(zhǔn)備,無法保證選取特征的全面性和準(zhǔn)確性。隨著深度學(xué)習(xí)方法的發(fā)展,基礎(chǔ)的深度模型如卷積神經(jīng)網(wǎng)絡(luò)(CNN)、長短期記憶網(wǎng)絡(luò)(LSTM)等被廣泛應(yīng)用于文本分類任務(wù)。文獻(xiàn)[7]針對安全事件實體識別任務(wù),提出了RoBERTa-BiLSTM模型,采用中文預(yù)訓(xùn)練模型進(jìn)行動態(tài)詞向量學(xué)習(xí),BiLSTM進(jìn)行二次上下文信息抽取,取得了不錯的效果,但BiLSTM參數(shù)較多,訓(xùn)練速度較慢,并且模型無法識別對分類結(jié)果較為重要的特征。文獻(xiàn)[8]提出了ALBERT-CRNN模型,用于對彈幕文本進(jìn)行情感分析,CRNN考慮到文本中的上下文信息和局部特征,但其中最大池化技術(shù)存在部分語義損失問題,未能充分考慮到全部詞對分類結(jié)果的影響力。注意力機(jī)制[9]最早在機(jī)器翻譯領(lǐng)域被提出,后續(xù)研究致力于將注意力機(jī)制與基礎(chǔ)深度模型進(jìn)行有機(jī)結(jié)合。文獻(xiàn)[10]提出了基于ERNIE2.0-BiLSTM-Attention的隱式情感分析模型,Attention模塊能夠賦予模型聚焦關(guān)鍵詞的能力,有助于提升模型分類性能。
針對目前研究仍然存在的問題,本文提出結(jié)合RoBERTa和BiSRU-AT的微博用戶情感分類模型,主要貢獻(xiàn)和創(chuàng)新點(diǎn)如下:
1) 采用RoBERTa預(yù)訓(xùn)練模型通過參考詞的上下文語境,學(xué)習(xí)到動態(tài)詞向量表示,解決靜態(tài)詞向量無法表示多義詞問題,提升詞的表征能力。
2) 為解決BiLSTM模型訓(xùn)練速度慢問題,采用雙向簡單循環(huán)單元(bidirectional simple recurrent unit, BiSRU)提取微博文本上下文信息特征,降低模型訓(xùn)練花費(fèi)時長。
3) 引入軟注意力機(jī)制計算每個詞對分類結(jié)果的重要程度,對情感分析結(jié)果影響越大的詞得分越高,賦予模型聚焦重要詞的能力。
情感分類模型結(jié)構(gòu)如圖1所示,主要由數(shù)據(jù)預(yù)處理、RoBERTa模型、BiSRU二次語義提取層和軟注意力機(jī)制、分類層構(gòu)成。數(shù)據(jù)預(yù)處理負(fù)責(zé)除去微博用戶情感數(shù)據(jù)集中的無語義字符;RoBERTa模型通過參考語句上下文含義,得到詞的動態(tài)語義表示;BiSRU二次語義提取層負(fù)責(zé)學(xué)習(xí)詞的上下文特征;軟注意力機(jī)制負(fù)責(zé)計算不同詞對分類結(jié)果的影響大小,從而得到相對應(yīng)的權(quán)重;最后通過分類層得到情感分類概率分布。
圖1 模型整體結(jié)構(gòu)
微博用戶情感數(shù)據(jù)集存在較多無語義的特殊字符和表情符號,需要采用特定的正則表示式對數(shù)據(jù)進(jìn)行清洗,去除特殊字符和符號,保留具有語義的字。利用RoBERTa模型自帶的分詞器對句子進(jìn)行字級別的分詞,并根據(jù)詞匯表將字轉(zhuǎn)化為相應(yīng)序號。同時,根據(jù)最大序列長度對句子進(jìn)行補(bǔ)0或者截斷操作,并保留句子前后位置,用于存放句首標(biāo)志[CLS]和分句標(biāo)志[SEP]。以上操作得到詞的靜態(tài)語義表示,作為RoBERTa模型的輸出之一。
RoBERTa模型基于具有強(qiáng)大特征抽取能力的Transformer編碼器,其核心部分自注意力機(jī)制可對任意長度之間的詞進(jìn)行關(guān)系建模,捕捉到句子內(nèi)部的語法結(jié)構(gòu)和詞與詞之間的依賴關(guān)系。RoBERTa模型結(jié)構(gòu)如圖2所示。
圖2 RoBERTa模型結(jié)構(gòu)
其中,e=(e1,e2,…,en)為RoBERTa模型的輸入,t=(t1,t2,…,tn)為訓(xùn)練得到的詞的動態(tài)語義表示,e由字符向量、位置向量和分句向量構(gòu)成,字符向量為靜態(tài)字符表示。由于Transformer無法得到詞的位置信息,因此加入位置信息表示詞所在句子中相對位置。本文為微博用戶情感分類,因此屬于單句分類任務(wù),因此僅使用一個分句向量。
簡單循環(huán)單元(SRU)作為LSTM的一種輕量級變體,擺脫了對上一個時間步狀態(tài)輸出的依賴,在保持高效建模能力的條件下,具有高速并行能力,縮短了模型訓(xùn)練時間。SRU模型結(jié)構(gòu)如圖3所示,計算過程見式(1)~式(4)。
圖3 SRU結(jié)構(gòu)
ft=σ(Wfxt+vf⊙ct-1+bf)
(1)
rt=σ(Wrxt+vr⊙ct-1+br)
(2)
ct=ft⊙ct-1+(1-ft)⊙(Wxt)
(3)
ht=rt⊙ct+(1-rt)⊙xt
(4)
其中,Wf、Wr、W、vf、vr、bf和br為可學(xué)習(xí)參數(shù),ft、ct、rt和ht分別代表遺忘門、t時刻隱狀態(tài)、重置門和t時刻狀態(tài)輸出,⊙表示元素乘法。由式(4)可知,模型計算擺脫了對上一個時間步ht-1的依賴,加強(qiáng)了并行計算能力。
句子語義不僅與上文信息相關(guān),也跟下文信息聯(lián)系密切,因此搭建雙向SRU進(jìn)一步提取句子語義信息。BiSRU由正向和反向SRU構(gòu)成,將正反向SRU每個時間步的輸出合并得到BiSRU輸出,計算過程如式(5)。Tt為RoBERTa模型輸出的行向量。
Ht=BiSRU(Tt)
(5)
將BiSRU的輸出Ht送入軟注意力層,利用zt計算句子每個詞的輸出隱狀態(tài)權(quán)重大小at,最后將每個時間步輸出Ht與對應(yīng)權(quán)重系數(shù)at相乘求和之后得到注意力特征表示A。計算過程如式(6)~式(8)。
zt=tanh(wzHt+bz)
(6)
(7)
(8)
其中,tanh()函數(shù)為zt加入非線性因素,exp()為指數(shù)運(yùn)算。
經(jīng)軟注意力機(jī)制計算后,將注意力特征A映射到實例空間S,通過Softmax函數(shù)得到情感分類概率分布P,由top()函數(shù)獲取行最大值對應(yīng)的標(biāo)簽為分類結(jié)果R。計算過程如式(9)、式(10)。
P=Softmax(WA+b)
(9)
R=top(P)
(10)
實驗數(shù)據(jù)集采用新浪微博用戶評論文本數(shù)據(jù)集,共119 988條標(biāo)注數(shù)據(jù),正向評論59 993條,負(fù)向評論59 995條,并按照98∶1∶1劃分訓(xùn)練集、測試集和驗證集。
為驗證本文模型在微博用戶情感分類研究的有效性,采用準(zhǔn)確率、精確率、召回率和F1分?jǐn)?shù)作為評價標(biāo)準(zhǔn)。其計算過程如式(11)~式(14)。
(11)
(12)
(13)
(14)
實驗環(huán)境為Linux操作系統(tǒng),采用版本為1.7的Py-Torch深度學(xué)習(xí)框架進(jìn)行模型搭建以及訓(xùn)練。經(jīng)多次實驗尋優(yōu)得到最優(yōu)參數(shù)如下:BiSRU隱藏層大小為256,層數(shù)為1;隨機(jī)失活概率大小為0.3;軟注意力機(jī)制維度為512;最大序列長度為200;批處理大小為64,初始學(xué)習(xí)率為1e-5;引入RAdam優(yōu)化器,作為Adam的優(yōu)秀變體,其能夠自動調(diào)整學(xué)習(xí)率大小;訓(xùn)練輪次為6次,損失函數(shù)為交叉熵函數(shù)。
所有模型實驗評估指標(biāo)結(jié)果如表1所示,模型訓(xùn)練時間對比如圖4所示。由表1可知,與近期表現(xiàn)較好的模型RoBERTa-BiLSTM、ERNIE2.0-BiLSTM-Att和ALBERT-CRNN相比,本文提出的RoBERTa-BiSRU-AT模型取得了最高的F1分?jǐn)?shù),證明了RoBERTa結(jié)合BiSRU-AT的有效性。
表1 模型評估指標(biāo)對比
圖4 模型訓(xùn)練時間對比
與模型Word2Vec-BiSRU、ELMO-BiSRU比較,RoBERTa-BiSRU模型F1分?jǐn)?shù)分別提升了5.06個百分點(diǎn)和4.29個百分點(diǎn),說明了預(yù)訓(xùn)練模型RoBERTa通過參考上下文的具體語境,能夠?qū)W習(xí)到質(zhì)量更好的詞向量表示,結(jié)合下游任務(wù)進(jìn)行微調(diào),有助于提升微博評論情感分析的準(zhǔn)確率。其中RoBERTa模型的重要模塊Transformer,相對于基于雙向LSTM的ELMO模型,特征提取能力更強(qiáng)。與Word2Vec和ELMO相比,RoBERTa應(yīng)用效果更佳。
與RoBERTa模型作比較,RoBERTa-BiSRU模型F1分?jǐn)?shù)提高了3.16個百分點(diǎn),僅使用RoBERTa最后一層輸出的CLS向量進(jìn)行分類,效果不如加入二次語義提取模型BiSRU,BiSRU能夠?qū)W習(xí)到微博評論文本的序列信息,提升模型的分類性能。
模型RoBERTa-BiSRU與RoBERTa-BiLSTM的F1分?jǐn)?shù)僅相差0.01個百分點(diǎn),性能表現(xiàn)相近,但BiSRU模型較BiLSTM參數(shù)量大幅度減少,從而訓(xùn)練速度較快,訓(xùn)練難度降低。
針對微博用戶評論文本情感分類問題,本文提出了結(jié)合RoBERTa和BiSRU-AT微博用戶情感分類模型。利用RoBERTa預(yù)訓(xùn)練模型得到動態(tài)詞向量表示,解決了傳統(tǒng)詞向量無法區(qū)分同一個詞在不同的上下文語境中有不同含義的問題。使用BiSRU-AT模型進(jìn)行二次語義特征抽取,充分學(xué)習(xí)到文本中的上下文全局特征,軟注意力機(jī)制可以注意到對分類結(jié)果較為關(guān)鍵的詞,并且BiSRU訓(xùn)練效率優(yōu)于BiLSTM。在真實新浪微博用戶評論數(shù)據(jù)集進(jìn)行實驗,證明了RoBERTa-BiSRU-AT模型的有效性,RoBERTa在應(yīng)用效果上優(yōu)于其他詞向量模型。由于RoBERTa模型參數(shù)量仍然較大,在未來工作中將考慮對其進(jìn)行壓縮,在最小化精度損失的條件下提升模型訓(xùn)練效率。