王曙燕,原 柯
(西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,西安 710121)
大學(xué)生論壇不僅是大學(xué)生獲取知識(shí)信息的來源之一,也是大學(xué)生表達(dá)情緒的平臺(tái)。大學(xué)生通過學(xué)生論壇表達(dá)出帶有情感傾向性的語句,其中有正面積極的語句,也有一些負(fù)面消極的語句。研究人員利用深度學(xué)習(xí)對(duì)這些語句進(jìn)行情感分析,以便于高校管理者掌握大學(xué)生的情感狀況,并對(duì)近期情緒異常的學(xué)生進(jìn)行開導(dǎo)。
近年來,對(duì)于情感分析的研究已經(jīng)取得較大進(jìn)展。對(duì)文本進(jìn)行情感分析的方法主要分為基于情感詞典的方法、基于傳統(tǒng)機(jī)器學(xué)習(xí)的方法和基于深度學(xué)習(xí)的方法?;谇楦性~典的方法是根據(jù)現(xiàn)有的情感詞典,按照語義規(guī)則計(jì)算句子的情感值,獲得句子的情感傾向[1]。這種方法比較依賴于情感詞典,無法有效地識(shí)別論壇新興的詞語?;趥鹘y(tǒng)機(jī)器學(xué)習(xí)的方法主要有支持向量機(jī)(Support Vector Machine,SVM)[2]、樸素貝葉斯(Naive Bayesian,NB)等,現(xiàn)有的有監(jiān)督學(xué)習(xí)方法常依賴于復(fù)雜的特征工程。文獻(xiàn)[3]使用隱馬爾科夫模型和支持向量機(jī)將情感分析任務(wù)轉(zhuǎn)化為標(biāo)簽序列學(xué)習(xí)問題,在微博情感分析問題中融入上下文語境,改進(jìn)分類效果。文獻(xiàn)[4]利用隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)分析與COVID-19 相關(guān)的Twitter信息中突出的主題和情感?;谏疃葘W(xué)習(xí)的方法是目前主流的情感分析方法,通過深度學(xué)習(xí)對(duì)語句進(jìn)行情感分析,以抽象特征,從而減少人工提取特征的工作,并且能夠模擬詞與詞之間的聯(lián)系,具有局部特征抽象化和記憶功能。文獻(xiàn)[5]整合現(xiàn)有的情感詞語資源來構(gòu)建一個(gè)情緒知識(shí)庫,根據(jù)深度學(xué)習(xí)算法與情緒知識(shí)庫提出一種融合情緒知識(shí)的案件微博評(píng)論情緒分類方法,稱為EK-INIT-CNN。文獻(xiàn)[6]通過注意力機(jī)制關(guān)注文本中的關(guān)鍵情感信息,利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)提取局部語義特征,能夠更好地處理轉(zhuǎn)折與復(fù)雜句式。文獻(xiàn)[7]構(gòu)建基于多通道雙向長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)的情感分析模型,對(duì)語言知識(shí)和情感資源進(jìn)行建模,以生成不同的特征通道,從而充分學(xué)習(xí)文本中的情感信息。
詞向量分為靜態(tài)詞向量和動(dòng)態(tài)詞向量。靜態(tài)詞向量模型與查字典類似,每一個(gè)詞固定對(duì)應(yīng)一個(gè)詞向量,但是未解決一詞多義的問題,例如,獨(dú)熱編碼(One-Hot)、Word2Vec 模型[8]、GloVe 模型[9]等。動(dòng)態(tài)詞向量模型根據(jù)一個(gè)詞在不同語句中的上下文關(guān)系生成不同的詞向量,例如,在“我要好好學(xué)習(xí)”和“我對(duì)學(xué)習(xí)沒有興趣”兩句話中“學(xué)習(xí)”的詞向量表示不同。目前,主流的動(dòng)態(tài)詞向量模型主要有基于雙向的LSTM 網(wǎng)絡(luò)[10]的ELMo模型[11]、基于多層雙向Transformer[12]的BERT 模型[13]、知識(shí)增強(qiáng)的語義表示ERNIE 模型[14]、對(duì)BERT 進(jìn)行改進(jìn)的RoBERTa 模型[15]以及使用全詞掩碼策略(Whole Word Masking,WWM)[16]進(jìn)行預(yù)訓(xùn)練的RoBERTa-WWM模型[17]等。
文本情感分析方法多針對(duì)某一領(lǐng)域,例如,與社會(huì)時(shí)事案件相關(guān)的互聯(lián)網(wǎng)微博輿情案件情感分析[5]、教育領(lǐng)域課程評(píng)論的情感分析、社交媒體會(huì)話中的諷刺語句檢測(cè)分析[18]?,F(xiàn)有的情感分析方法缺少對(duì)大學(xué)生論壇領(lǐng)域的研究。大學(xué)生在論壇上發(fā)表的言論具有口語化表達(dá)、新興網(wǎng)絡(luò)用語等特點(diǎn),并且還有其領(lǐng)域特性的詞語,例如“掛科”“上岸”“九漏魚”和“重修”等。
本文提出一種基于RoBERTa-WWM 的大學(xué)生論壇情感分析模型。通過RoBERTa-WWM 模型得到句子級(jí)的語義特征表示,并將其輸入到文本卷積神經(jīng)網(wǎng)絡(luò)-雙向門控循環(huán)單元(TextCNN-BiGRU)網(wǎng)絡(luò)模型中進(jìn)行訓(xùn)練,以獲取局部與更深層次的語義特征,在此基礎(chǔ)上,利用Softmax 分類器進(jìn)行情感分類。
RoBERTa-WWM[17]模型是基于BERT[13]模型演變而來。為捕獲語句中更深層次的雙向關(guān)系,BERT 模型以多層雙向Transformer[12]編碼器作為模型的主要架構(gòu),通過注意力機(jī)制將句子中任意位置的兩個(gè)詞距離轉(zhuǎn)換成1,并且將掩碼語言模型(Mask Language Model,MLM)和下一句預(yù)測(cè)(Next Sentence Prediction,NSP)作為預(yù)訓(xùn)練目標(biāo)。MLM 隨機(jī)選取輸入語句中15%的字段,在每次訓(xùn)練中將選取的token 以80%的概率替換為[MASK],10%的概率替換為隨機(jī)的單詞,剩余10%的概率保持原有單詞,這樣做的目的是提高模型對(duì)句子的特征表示能力和泛化能力。NSP 模型用于判斷句子B 是否為句子A 的下文,從而對(duì)句子之間的關(guān)系進(jìn)行建模。RoBERTa模型[15]改進(jìn)BERT模型主要分為3個(gè)步驟:1)將靜態(tài)mask 修改為動(dòng)態(tài)mask,當(dāng)BERT 模型訓(xùn)練數(shù)據(jù)時(shí),每個(gè)樣本只進(jìn)行一次隨機(jī)mask,在每次訓(xùn)練時(shí)mask 的位置都是相同的,而動(dòng)態(tài)mask 在每次訓(xùn)練前都要?jiǎng)討B(tài)生成一次mask,使得模型能夠?qū)W習(xí)更多的語句模式;2)移除NSP,提高模型的效率;3)使用更大的數(shù)據(jù)集進(jìn)行訓(xùn)練,采用字節(jié)對(duì)編碼(Byte Pair Encoding,BPE)處理文本數(shù)據(jù)。
WWM[16]改變了預(yù)訓(xùn)練階段中的樣本生成策略,根據(jù)中文文本的特點(diǎn),以字為粒度的mask 方法轉(zhuǎn)變?yōu)橐栽~為粒度的mask 方法,首先將語句進(jìn)行分詞,如果一個(gè)詞的部分字段被mask,則將整個(gè)詞也進(jìn)行mask。對(duì)于語句“為未來點(diǎn)贊,為夢(mèng)想起航,為自己拼搏!”,原始mask 策略和WWM 策略生成的樣例如表1 所示。WWM 策略的mask 方式,能夠有效提升中文文本表示的效果。
表1 不同策略生成的樣例語句Table 1 Sample sentences generated with different strategies
本文利用RoBERTa-WWM 模型獲得句子級(jí)的詞向量表示,在訓(xùn)練過程中預(yù)訓(xùn)練模型的參數(shù)根據(jù)數(shù)據(jù)集進(jìn)行微調(diào)。RoBERTa-WWM 模型結(jié)合RoBERTa 模型與WWM 的優(yōu)點(diǎn),由12 層Transformer組成。RoBERTa-WWM 模型具有3 個(gè)特點(diǎn):1)將預(yù)訓(xùn)練階段的樣本生成策略更改為全詞掩碼策略,但不使用動(dòng)態(tài)mask;2)移除NSP,提升模型效率;3)訓(xùn)練數(shù)據(jù)集更大,訓(xùn)練步數(shù)、訓(xùn)練序列更長(zhǎng)。
RoBERTa-WWM 模型結(jié)構(gòu)如圖1 所示。模型初始的輸入為一條文本語句,用W1,W2,…,Wn表示,將該語句字向量、段向量和位置向量的加和作為模型的輸入,用E1,E2,…,En表示,中間層表示12 層雙向Transformer 特征提取器,T1,T2,…,Tn為模型的輸出向量。
圖1 RoBERTa-WWM 模型結(jié)構(gòu)Fig.1 Structure of the RoBERTa-WWM model
TextCNN[19]將CNN 應(yīng)用到文本分類任務(wù)中,在短文本領(lǐng)域中訓(xùn)練速度更快且效果更好,因此,適用于大學(xué)生論壇領(lǐng)域的情感分類。TextCNN 利用多個(gè)不同大小的卷積核提取句子中的關(guān)鍵信息,從而充分捕捉局部相關(guān)性,獲取更深層次的語義信息。TextCNN 模型結(jié)構(gòu)如圖2 所示。
圖2 TextCNN 模型結(jié)構(gòu)Fig.2 Structure of TextCNN model
TextCNN 模型主要有嵌入層、卷積層、池化層和輸出層。嵌入層使用預(yù)訓(xùn)練好的詞向量對(duì)語句進(jìn)行表示,每一條評(píng)論語句對(duì)應(yīng)一個(gè)m×n的矩陣,其中,m表示一條語句的最大長(zhǎng)度,n表示詞向量的維度。卷積層通過不同的卷積核來提取文本的局部特征,通常采用的卷積核大小為2、3、4、5,使用卷積核進(jìn)行卷積時(shí),可以獲取到詞序及其上下文信息。為了保證文本基本語義單元的完整性,文本卷積是一維卷積,只需要沿著詞向量矩陣的垂直方向進(jìn)行卷積。池化層將卷積層輸出的特征進(jìn)行池化操作,以提取更顯著的特征,它能夠降低輸出結(jié)果的維度,使不同尺寸的卷積核得到的特征維度相同。輸出層將池化后拼接的向量進(jìn)行全連接后,將其輸入到分類器中進(jìn)行分類。
門控循環(huán)單元(Gated Recurrent Unit,GRU)[20]是LSTM 的變體,兩者都旨在解決循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)中存在梯度消失問題。GRU 具有稱為門的內(nèi)部結(jié)構(gòu),用于調(diào)節(jié)信息流,保留或者丟棄序列中的數(shù)據(jù)。GRU 有一個(gè)重置門和一個(gè)更新門。重置門主要決定需要遺忘多少過去的信息,重置門的值越小,前一狀態(tài)的信息被寫入的越少。更新門用于控制前一時(shí)刻的狀態(tài)信息有多少被帶入到當(dāng)前狀態(tài)中,即前一時(shí)間步和當(dāng)前時(shí)間步的信息有多少是需要繼續(xù)傳遞。更新門的值越大說明帶入前一時(shí)刻的狀態(tài)信息越多。相比LSTM,GRU 結(jié)構(gòu)較簡(jiǎn)單,參數(shù)也較少,能夠有效提高訓(xùn)練的效率。GRU 的單元結(jié)構(gòu)如圖3 所示。
圖3 GRU 單元結(jié)構(gòu)Fig.3 The unit structure of GRU
從圖3 可以看出,xt表示t時(shí)刻的輸入,zt表示t時(shí)刻的重置門,1?表示門控信號(hào)權(quán)重1,范圍為0~1,表示t時(shí)刻的候選激活狀態(tài),ht表示t時(shí)刻的激活狀態(tài),ht?1表示t?1 時(shí)刻的隱層狀態(tài)。
在GRU 網(wǎng)絡(luò)中,狀態(tài)信息都是從前向后輸出的,只能學(xué)習(xí)當(dāng)前時(shí)刻之前的信息,而不能學(xué)習(xí)當(dāng)前時(shí)刻之后的信息。在情感分類任務(wù)中,當(dāng)前時(shí)刻、前一時(shí)刻與后一時(shí)刻的狀態(tài)信息都要產(chǎn)生聯(lián)系。本文采用雙向門控循環(huán)單元(BiGRU)代替GRU,可以學(xué)習(xí)到一個(gè)詞的上下文語義信息。BiGRU 是由兩個(gè)單向、方向相反的GRU 組成神經(jīng)網(wǎng)絡(luò)模型,輸出由兩個(gè)GRU 的狀態(tài)信息共同決定。BiGRU 網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 BiGRU 網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 BiGRU network structure
從圖4 可以看出,BiGRU 網(wǎng)絡(luò)當(dāng)前的隱層狀態(tài)是由當(dāng)前的輸入xt、t?1 時(shí)刻向前隱層狀態(tài)的輸出和t+1 時(shí)刻反向的隱層狀態(tài)輸出這3 個(gè)部分共同決定。
本文提出基于RoBERTa-WWM 的大學(xué)生論壇情感分析模型。通過RoBERTa-WWM 模型得到數(shù)據(jù)集中句子級(jí)的語義特征表示,將獲取到的特征表示輸入到TextCNN 中以獲得更深層次的語句特征,然后將拼接和池化后的TextCNN 輸出向量輸入到BiGRU 網(wǎng)絡(luò)中獲得全面的上下文信息,最終使用Softmax 分類器進(jìn)行情感分類。本文模型結(jié)構(gòu)如圖5 所示。
圖5 本文模型結(jié)構(gòu)Fig.5 Structure of the proposed model
嵌入向量表示層是將文本語句轉(zhuǎn)化為神經(jīng)網(wǎng)絡(luò)模型以識(shí)別二維向量。傳統(tǒng)的詞嵌入方法有Word2Vec[8]、GloVe[9]等,這些方法為每個(gè)詞提供一個(gè)固定的向量表示,但是無法解決一詞多義的問題,而RoBERTa-WWM模型根據(jù)一個(gè)詞上下文語境的不同,為每條語句提供一個(gè)句子級(jí)的特征向量表示。
對(duì)于一條語句S={x1,x2,…,xm},本文構(gòu)建語句S的字向量、段向量和位置向量,將這3 個(gè)向量的加和作為RoBERTa-WWM 模型的輸入,得到字級(jí)別的詞向量集合T={t1,t2,…,tm},最終將詞向量進(jìn)行拼接,得到語句S的詞嵌入矩陣Rm×n。拼接方式如式(1)所示:
其中:⊕表示行向量拼接運(yùn)算符;m表示單個(gè)語句的最大長(zhǎng)度,由于大學(xué)生論壇語句多為短文本,因此本文設(shè)置m為100;n表示詞向量的維度,因?yàn)镽oBERTa-WWM模型的詞向量維度為768,所以n的值為768。
在上一層獲取到句子級(jí)詞嵌入矩陣的基礎(chǔ)上,語義信息獲取層用于獲取更深層次的語義信息和上下文信息。對(duì)于詞嵌入矩陣,利用TextCNN 進(jìn)行一維卷積操作,提取文本多類型的局部特征,將卷積后的結(jié)果輸入到BiGRU 網(wǎng)絡(luò),對(duì)文本進(jìn)行正反雙向處理,用于獲取更全面的上下文信息。
對(duì)于TextCNN,為了能有效提取更深層次的特征,本文設(shè)置3 種不同大小的卷積核,分別為3、4、5,每種卷積核都設(shè)置256 個(gè),并且將填充值設(shè)置為same,保證卷積輸出向量的維度一致。池化層采用最大值池化,將卷積層輸出的特征進(jìn)行池化操作來提取更顯著的特征,并將池化后的特征向量進(jìn)行拼接操作。本文將pool_size 設(shè)置為4,為防止模型過擬合,加入Dropout 層隨機(jī)忽略掉一定數(shù)量的神經(jīng)元,將隨機(jī)忽略概率設(shè)置為0.5。
GRU 可以捕獲長(zhǎng)距離的語義信息,但是傳統(tǒng)的GRU 只能獲取正向的語義信息。本文利用BiGRU網(wǎng)絡(luò)同時(shí)對(duì)語句進(jìn)行正反兩個(gè)方向處理,用于獲取語句全面的上下文信息,BiGRU 網(wǎng)絡(luò)的輸入維度與TextCNN 層的輸出維度一致。本文設(shè)置GRU 的單元數(shù)為128 個(gè),最終將BiGRU 網(wǎng)絡(luò)的輸出進(jìn)行全連接操作。
情感計(jì)算層將語義信息獲取層輸出的特征向量通過Softmax 分類器計(jì)算語句S在情感標(biāo)簽中的概率向量O=[o1,o2,o3],選擇最大值所代表的情感標(biāo)簽作為最終輸出的情感標(biāo)簽。Softmax 分類器將輸入向量的第i項(xiàng)轉(zhuǎn)化為概率Pi,如式(2)所示:
其中:K為情感標(biāo)簽的數(shù)目。本文采用神經(jīng)網(wǎng)絡(luò)反向傳播機(jī)制更新模型參數(shù),損失函數(shù)采用交叉熵loss,在訓(xùn)練過程中,將交叉熵最小化,計(jì)算過程如式(3)所示:
其中:D為訓(xùn)練集大小;K為情感標(biāo)簽數(shù)量;y為真實(shí)的情感類別為預(yù)測(cè)的情感類別。
本文通過爬蟲技術(shù)獲取某大學(xué)學(xué)生論壇9 112 條評(píng)論數(shù)據(jù),分別標(biāo)注為負(fù)面消極型、客觀中立型和積極樂觀型3 種情感類別,構(gòu)建大學(xué)生論壇情感分析數(shù)據(jù)集。每條評(píng)論數(shù)據(jù)有標(biāo)簽、內(nèi)容、發(fā)布人和發(fā)布時(shí)間4 種屬性,以便于之后的應(yīng)用與分析,并在該數(shù)據(jù)集上設(shè)置多組對(duì)比實(shí)驗(yàn)。
大學(xué)生論壇數(shù)據(jù)集通過百度貼吧平臺(tái)某大學(xué)貼吧獲取得到,經(jīng)過篩選與處理后,構(gòu)建含有9 112 條學(xué)生論壇評(píng)論語句的數(shù)據(jù)集,采用3 種情感標(biāo)簽進(jìn)行標(biāo)注,0 代表負(fù)面消極型,1 代表客觀中立型,2 代表積極樂觀型。負(fù)面消極型評(píng)論共有1 355 條,客觀中立型評(píng)論共有6 325 條,積極樂觀型評(píng)論共有1 432 條。負(fù)面消極型評(píng)論包括對(duì)學(xué)習(xí)和生活上的消極言論,或者對(duì)他人的憎恨與謾罵等;客觀中立型評(píng)論包括對(duì)一些事物的客觀評(píng)價(jià),或者不帶個(gè)人感情的敘述等;積極樂觀型評(píng)論包括對(duì)事物積極樂觀的看法、描述自己的喜悅,或者對(duì)他人的鼓勵(lì)和正面的建議等。大學(xué)生論壇數(shù)據(jù)集樣例如表2 所示。
表2 大學(xué)生論壇數(shù)據(jù)集樣例Table 2 Samples of college student forum dataset
本文按照近似8∶2 將實(shí)驗(yàn)數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,訓(xùn)練集共7 289 條評(píng)論,測(cè)試集共1 823 條評(píng)論。大學(xué)生論壇數(shù)據(jù)集分布如表3 所示。
表3 大學(xué)生論壇數(shù)據(jù)集分布Table 3 Distribution of college student forum dataset
為驗(yàn)證本文模型在情感分析公共數(shù)據(jù)集上的有效性,本文使用的公共實(shí)驗(yàn)數(shù)據(jù)集是NLPCC2014數(shù)據(jù)集。NLPCC2014 數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,包括none、happiness、like、anger、sadness、fear、disgust 和surprise 8 種情感標(biāo)簽。為了與對(duì)比實(shí)驗(yàn)一致,本文去除了none標(biāo)簽的數(shù)據(jù),在剩余數(shù)據(jù)集中訓(xùn)練集共7 407 條評(píng)論,測(cè)試集共2 394條評(píng)論。NLPCC2014數(shù)據(jù)集分布如表4所示。
表4 NLPCC2014 數(shù)據(jù)集分布Table 4 Distribution of NLPCC2014 dataset
本文選取5 種模型與本文所提的RTB 模型進(jìn)行對(duì)比,這5 種對(duì)比模型主要是:1)TextCNN 模型[19],將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到文本分類任務(wù)中,通過Word2Vec 模型[8]生成每個(gè)詞對(duì)應(yīng)的詞向量,并將其輸入到多個(gè)不同窗口大小的卷積核中,以實(shí)現(xiàn)情感分 類;2)BiLSTM 模 型[21],由前向 和后向 的兩個(gè)LSTM 組合而成,獲取文本全面的上下文信息,從而進(jìn)行文本分類;3)TextCNN-BiGRU 模型[22],是一種將BiGRU 的語義特征提取能力與TextCNN 的深層特征提取能力相結(jié)合的模型,采用Word2Vec 模型作為詞嵌入層;4)BERT 模型[13],Google 在2018 年提出的一種預(yù)訓(xùn)練模型,將多層Transformer 作為模型的主要架構(gòu),提取BERT 中文預(yù)訓(xùn)練模型的動(dòng)態(tài)詞向量直接進(jìn)行情感分類;5)RoBERTa-WWM 模型[17],該模型結(jié)合RoBERTa[15]和BERT-WWM[16]的優(yōu)點(diǎn),在RoBERTa 模型的基礎(chǔ)上,將預(yù)訓(xùn)練樣本生成策略修改為WWM,并將該模型作為本文的基準(zhǔn)模型。
本文經(jīng)過多次對(duì)比實(shí)驗(yàn)后,選取參數(shù)的最優(yōu)值用于其他所有實(shí)驗(yàn)。本文實(shí)驗(yàn)的可調(diào)參數(shù)設(shè)置如表5所示。
表5 本文實(shí)驗(yàn)的參數(shù)設(shè)置Table 5 Parameters setting of the proposed experiment
3.4.1 大學(xué)生論壇數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
在大學(xué)生論壇數(shù)據(jù)集上不同模型的評(píng)價(jià)指標(biāo)對(duì)比如表6 所示。由于數(shù)據(jù)集0 類(負(fù)面消極型)和2 類(正面積極型)的樣本相對(duì)較少,1 類(客觀中立型)的樣本相對(duì)較多,因此模型需要更加關(guān)注帶有情感語句的分類效果。本文采用宏平均精準(zhǔn)率(Macro_P)、宏平均召回率(Macro_R)、宏平均F1 值(Macro_F1)以及微平均F1 值(Micro_F1)作為評(píng)價(jià)指標(biāo)。
表6 在大學(xué)生論壇數(shù)據(jù)集上不同模型的評(píng)價(jià)指標(biāo)對(duì)比Table 6 Evaluation indexs comparison among different models on college student forum dataset %
從表6 可以看出,本文RTB 模型在大學(xué)生論壇數(shù)據(jù)集上的各項(xiàng)評(píng)價(jià)指標(biāo)均以Word2Vec 作為詞嵌入層的TextCNN 模型、BiLSTM 模型與TextCNN-BiGRU 模型的評(píng)價(jià)指標(biāo)均較低,與BERT 模型相比還有較大的差距。在TextCNN 模型、BiLSTM 與TextCNN-BiGRU模型中,Macro_F1與Micro_F1之間差值約6個(gè)百分點(diǎn),說明模型對(duì)于樣本數(shù)量較少的0 類和2 類的分類效果相對(duì)較差。本文模型相對(duì)于TextCNN-BiGRU 模型的Macro_P、Macro_R、Macro_F1 和Micro_F1 分別提升7.29、12.57、10.28 和6.70 個(gè)百分點(diǎn)。相比BERT 模型,本文模型的評(píng)價(jià)指標(biāo)分別提升了3.59、2.08、2.77 和1.44 個(gè)百分點(diǎn)。本文使用TextCNN-BiGRU 模型獲取更深層次的語義信息,相比RoBERTa-WWM 模型,本文模型的各項(xiàng)指標(biāo)分別提升了2.16、1.15、1.61和0.75個(gè)百分點(diǎn),說明加入TextCNN-BiGRU 模型進(jìn)行訓(xùn)練,能夠更好地學(xué)習(xí)語義特征。
3.4.2 NLPCC2014 數(shù)據(jù)集實(shí)驗(yàn)結(jié)果
在NLPCC2014 數(shù)據(jù)集上不同模型的評(píng)價(jià)指標(biāo)對(duì)比如表7 所示。本文以宏平均F1 值(Macro_F1)和微平均F1 值(Micro_F1)作為實(shí)驗(yàn)的評(píng)價(jià)指標(biāo)。對(duì)比模型是EMCNN[23]、DAM[24]與EK-INIT-CNN[5]。EMCNN 模型利用表情符號(hào)生成的特征矩陣對(duì)語句進(jìn)行語義增強(qiáng),改進(jìn)分類效果。DAM 模型在BiLSTM 的基礎(chǔ)上引入雙重注意力機(jī)制與情感符號(hào),增強(qiáng)對(duì)語義的捕獲能力。EK-INIT-CNN 模型使用情緒知識(shí)表示,通過INIT-CNN 和注意力機(jī)制生成情緒知識(shí)和語義特征矩陣,將情緒知識(shí)特征與語義特征相融合,在NLPCC2014 數(shù)據(jù)集上取得較好的分類效果。
表7 在NLPCC2014 數(shù)據(jù)集上不同模型的評(píng)價(jià)指標(biāo)對(duì)比Table 7 Evaluation indexs comparison among different models on NLPCC2014 dataset %
從表7 可以看出,相比其他模型,本文模型的Macro_F1 和Micro_F1 具有較高的評(píng)價(jià)指標(biāo)。對(duì)于TextCNN 和TextCNN-BiGRU 模型,同一模型的Macro_F1 和Micro_F1 值之間差值約20 個(gè)百分點(diǎn),其原因?yàn)閿?shù)據(jù)集中的fear 標(biāo)簽數(shù)據(jù)量太少,沒有被預(yù)測(cè)出來,導(dǎo)致該標(biāo)簽的各項(xiàng)指標(biāo)都為0。BiLSTM模型將每個(gè)標(biāo)簽都預(yù)測(cè)出來,但綜合指標(biāo)不是很高。相比TextCNN、BiLSTM 模型,TextCNN-BiGRU 模型的綜合指標(biāo)相對(duì)較高。相比以上3 個(gè)基準(zhǔn)模型,EMCNN 和DAM 模型的Macro_F1 指標(biāo)都有了較大的提升。EK-INIT-CNN 模型將微博情緒知識(shí)庫融合到了微博語句中,效果有了很大的提升。BERT 和RoBERTa-WWM 模型在海量語料上對(duì)語句進(jìn)行了更好的向量表示,有效提升了分類效果。本文模型在RoBERTa-WWM 模型的基礎(chǔ)上,結(jié)合深度基準(zhǔn)模型學(xué)習(xí)更深層次的語義特征,對(duì)比TextCNN-BiGRU模型,本文模型的Macro_F1 和Micro_F1 值分別提升28.85 和17.98 個(gè)百分點(diǎn)。相比DAM 模型,本文模型的指標(biāo)分別提升了20.89 和21.11 個(gè)百分點(diǎn)。相比EK-INIT-CNN 模型,本文模型的指標(biāo)分別提升11.29和6.89 個(gè)百分點(diǎn)。對(duì)比BERT 和RoBERTa-WWM 模型,本文模型分別提升了2.52、2.30 和0.48、0.21 個(gè)百分點(diǎn)。因此,本文模型具有較優(yōu)的分類效果。
3.4.3 模型分析與評(píng)價(jià)
為了評(píng)估模型的準(zhǔn)確性與價(jià)值,本文使用ROC曲線(受試者工作特征曲線)對(duì)RTB 模型進(jìn)行分析,結(jié)果如圖6 所示。
圖6 RTB 模型的ROC 曲線Fig.6 ROC curves of RTB model
從圖6 可以看出,本文模型的ROC 曲線完全在對(duì)角線上方,宏平均AUC 值為0.98,因此,本文模型具有較優(yōu)的預(yù)測(cè)能力。對(duì)于0 類(負(fù)面消極型)標(biāo)簽的分類具有較優(yōu)的性能,這是由于0 類語句的情感特征較為明顯。對(duì)于2 類(正面積極型),被預(yù)測(cè)錯(cuò)誤的樣本多數(shù)被預(yù)測(cè)為了1 類(客觀中立型),原因是缺少明顯的情感詞語,例如,數(shù)據(jù)集第8 015 條語句“學(xué)習(xí),是生活必需。特別是現(xiàn)代社會(huì),信息化發(fā)展很快,學(xué)習(xí)尤為重要。”被預(yù)測(cè)為1 類,因其沒有提及到情感詞語??傊疚哪P陀糜诜治龃髮W(xué)生論壇語句具有較優(yōu)的性能和實(shí)用價(jià)值。
3.4.4 單個(gè)類別分類性能對(duì)比
本文將RTB 模型與RoBERTa-WWM 模型在單個(gè)類別的分類性能上進(jìn)行對(duì)比,以F1 值作為評(píng)價(jià)指標(biāo),結(jié)果如圖7 所示。
圖7 不同模型的單個(gè)類別分類性能對(duì)比Fig.7 Each category classification performance comparison among different models
從圖7 可以看出,RTB 模型與RoBERTa-WWM模型都在1 類(客觀中立型)上具有較優(yōu)的分類效果,但是在0 類(負(fù)面消極型)和2 類(積極正面型)上相對(duì)較差。由于1 類的樣本數(shù)量相對(duì)較多,因此模型對(duì)1 類語句的語義特征學(xué)習(xí)較為全面。在0 類和2 類中一些語句的情感特征不是很明顯,導(dǎo)致分類錯(cuò)誤。相比RoBERTa-WWM 模型,RTB 模型在0 類、1 類 和2 類上的F1 值 分別提高了3.59、0.73 和0.52 個(gè)百分點(diǎn),在0 類的分類效果提升較為明顯,說明加入TextCNN-BiGRU 網(wǎng)絡(luò)能夠充分捕獲負(fù)面消極情感的語義特征。因此,RTB 模型相比RoBERTa-WWM 模型在各類別分類上都具有更優(yōu)的性能。
本文構(gòu)建基于RoBERTa-WWM 的大學(xué)生論壇情感分析模型。利用RoBERTa-WWM 模型對(duì)文本數(shù)據(jù)進(jìn)行向量化處理,以解決傳統(tǒng)詞嵌入層的一詞多義問題,同時(shí)將文本向量輸入到TextCNN-BiGRU 模型進(jìn)行訓(xùn)練,獲取更深層次的語義信息。在大學(xué)生論壇與NLPCC2014數(shù)據(jù)集上的實(shí)驗(yàn)驗(yàn)證了本文模型的有效性,結(jié)果表明,相比TextCNN、BiLSTM、TextCNN-BiGRU等模型,本文模型能夠有效地對(duì)大學(xué)生論壇語句進(jìn)行分類。后續(xù)將逐漸減少Transformers 層數(shù),分析Transformers 不同層數(shù)對(duì)分類結(jié)果的影響,在不影響模型分類效果的條件下減少模型參數(shù)量。此外,通過對(duì)語句進(jìn)行更細(xì)粒度的標(biāo)注,進(jìn)一步提高模型的泛化能力。