王 恒, 吳鐵峰
(佳木斯大學信息電子技術學院,黑龍江 佳木斯 154007)
情感分析又被稱為意見挖掘,隨著網(wǎng)絡技術的發(fā)展,社交媒體上用戶間的文本交互信息越來越多。通過文本挖掘出用戶的情感傾向已成為自然語言處理的熱門任務之一。文本情感分析主要分為兩種任務:文本特征提取和表示、文本語義分析和分類。第一個任務常用的方法是用Mikolov等[1]提出的Word2vec模型來表示文本,但是它得到的文本表征是靜態(tài)的,不能考慮到上下文的信息,針對這種情況Peters等[2]提出ELMO模型,雖能考慮到上下文的語義信息但是不能并行計算。Devlin[3]等人提出的BERT模型不僅能獲得文本的動態(tài)表征計算過程也是并行的。目前在BERT模型的基礎之上研究者們又提出了很多改進的模型,如 ERNIE[4],Xlnet[5],Roberta[6],alBERT[7]等。
對于第二個任務,常用方法主要是機器學習和深度學習的方法。前者雖取得了好的效果[8][9],但也存在諸如復雜人工特征工程、泛化能力較弱等缺點。目前深度學習成為該任務的主流技術,如S.Kai[10],LSTM,Kim[11]等利用CNN解決情感分析問題,使分類效果明顯提升。目前將BERT及其改進模型應用到情感分析的任務中并成為了主流方法,如謝潤忠[12]、諶志群[13]等人利用BERT和GRU,BERT和LSTM來進行文本情感分類。
考慮到目前常用文本表征方法仍采用靜態(tài)表征方法且BERT模型主要是在字級別上進行預訓練,而中文文本更希望在詞或短語級別上進行建模,所以提出利用全詞掩蓋技術的預訓練語言模型RoBERTa_WWM來獲取文本動態(tài)表征,利用Bi-LSTM來提取文本語義特征進行情感分類并獲得更好的分類效果。
相比于如Word2vec等靜態(tài)的詞向量模型,利用預訓練模型如BERT能獲得考慮到上下文語義信息的動態(tài)詞向量。預訓練語言模型BERT有兩種訓練方式:MLM(Masked Language Model)即遮住幾個字預測這幾個字、NSP(Nextsentence Prediction)即預測上下兩句關系,通過兩種訓練方式從文檔中學習語義知識。但是BERT中的MLM任務是對字級別進行隨機掩蓋,然后預測掩蓋掉的字,對于中文語料來說這種訓練方式得到的只是局部的語言信號,缺乏對句子全局的建模,難以學到短語、實體的完整語義。
針對以上情況, Turc I[14]等人在訓練BERT模型的過程中使用了一個新的技術WWM(Whole Word Masking),在進行MLM任務時將一個短語或者實體掩蓋,比如“哈爾濱是一座冰城”這句話是將“哈爾濱”和“冰城”進行掩蓋,并預測出這兩個實體并且能夠?qū)W習到這兩個實體之間的關系。
鑒于傳統(tǒng)的RNN模型在訓練過程中存在梯度消失和爆炸的問題,Hochreiter等[15]提出LSTM模型,LSTM中的每個單元包含輸入門it,遺忘門ft,輸出門ot和記憶單元ct。利用這些門控機制來控制當前時刻要保留多少上一時刻的信息,有多少信息要加入到當前時刻。四個門的計算公式如式(1)-(6)所示:
it=σ(wi[ht-1;xt]+bi)
(1)
ft=σ(wf[ht-1;xt]+bf)
(2)
ot=σ(wo[ht-1;xt]+bo)
(3)
gt=tanh(wc[ht-1;xt]+bc)
(4)
ct=it⊙gt+ft⊙ct-1
(5)
ht=ot⊙tanh(ct)
(6)
xt表示t時刻的詞向量;ht表示隱層向量;wi,wf,wo,wc為權重矩陣;bi,bf,bo,bc為訓練過程中的偏置項;σ為sigmod激活函數(shù);tanh表示激活函數(shù);⊙表示點乘。
Bi-LSTM其實是利用兩個LSTM來獲取上下文信息,前項LSTM從前往后獲取上文信息,后項LSTM從后往前獲取下文信息。
采用RoBERTa_WWM[16]來表示文本特征,得到能夠考慮到上下文的動態(tài)詞向量,然后將RoBERTa_WWM的輸出作為雙向LSTM的輸入,得到最終的情感極性。模型如圖1所示。
詞嵌入是將自然語言轉換成深度學習網(wǎng)絡能夠識別的向量,采用BERT的變種RoBERTa_WWM預訓練詞向量模型,來表示文本的詞向量。RoBERTa_WWM主要是對BERT的參數(shù)進行了優(yōu)化,采用了更大的BatchSize,能夠輸入更長的文本序列;證明了BERT中的NSP任務對模型的性能有影響,所以去掉了NSP任務;對于BERT的靜態(tài)掩碼的問題,它采用動態(tài)掩碼的方式讓模型更加有效;此外它采用BPE字符編碼,可以處理自然語言語料庫中常見的詞匯,比BERT擁有更大的語料。
對于一條短文本語句S={x1,x2,x3…xn}構建出對應的字符向量(Token Embedding)、位置向量(Position Embedding)和分段向量(Segment Embedding),并將這些向量在行維度上進行拼接得到輸入文本的詞向量矩陣Ib×s,其中b為batchsize,s為句子的長度(seq_length),經(jīng)過RoBERTa_WWM之后得到文本的動態(tài)詞向量表示E= {e1,e2,e3…en},E的維度大小為:E∈Rb×s×e,其中e為詞向量的維度(embedding_dim)。
如圖1所示,將RoBERTa_WWM的最后一層輸出,即2.1中的E作為雙向LSTM的輸入A=(a1,a2...at...an),其中at表示t時刻的LSTM的輸入,其計算公式如式(7)所示:
圖1 本文模型結構
at=σ(WheEt+ba)
(7)
σ為激活函數(shù)sigmoid,Whe∈Re×h為權重矩陣,ba為偏置項。
(8)
Whh∈Rh×hLSTM前一時刻ht-1到當前時刻ht的權重矩陣,bh為當前時刻的偏置,ht∈Rb×2h,同理后項LSTM的計算與前項LSTM一致。
將前項LSTM的最后一個時刻的隱層和后項LSTM最后一個時刻的一層進行拼接后輸出,計算公式如式(9):
(9)
Obilstm∈Rb×4h,是雙向LSTM的輸出。
將雙向LSTM的輸出經(jīng)過一個線性層之后再經(jīng)過softmax函數(shù)得到最終的分類結果,計算公式如式(10):
P=softmax(linear(ObilstmU+bo))
(10)
U∈R4h×2是線性層的權重矩陣,bo為偏置項。由于本模型是一個二分類問題,所以采用的loss為二元交叉熵損失函數(shù)。公式如式(11):
(11)
采用兩種數(shù)據(jù)集(數(shù)據(jù)集1:ChnSentiCorp和數(shù)據(jù)集2:NLPCC14-SC),這兩種數(shù)據(jù)集都是作為句子級的文本情感分析數(shù)據(jù),其中數(shù)據(jù)集1包含酒店、筆記本和書籍三個領域的評論,數(shù)據(jù)集2包含書籍、DVDS和電子產(chǎn)品的評論文本,數(shù)據(jù)集1訓練集大小9600,開發(fā)集大小1200,測試集大小1200,數(shù)據(jù)集2訓練集大小9000,開發(fā)集大小1000,測試集大小2500。
由于數(shù)據(jù)集中的評論文本中包含很多無意義的詞,所以對于這兩種數(shù)據(jù)集先進行去停用詞,如表1所示。
表1 文本預處理示例
為保證實驗結果的準確性,對比實驗與本文實驗均在相同環(huán)境下進行,試驗過程中的超參數(shù)配置如表2所示。
表2 模型參數(shù)設置
通過對比其他5個主流模型,來評估所提出的模型的效果,并且證明了所提出的方案能夠很好的分析出文本的情感極性,相對于其他模型具有優(yōu)越性,各個模型的具體情況如下:
1)CNN模型:詞向量采用word2vec,然后利用CNN來提取文本特征,采用三種尺寸的卷積核,它們的大小分別取3,4,5,通道數(shù)設置為50。
2)LSTM模型:詞向量同樣采用word2vec,LSTM設置為兩層,隱藏層的單元數(shù)設置為100。
3)BiLSTM_attention:使用雙向LSTM,層數(shù)設置為兩層,同時加入注意力機制,將隱層輸出經(jīng)過tanh激活函數(shù)之后與權重矩陣相乘,得到注意力分數(shù),注意力分數(shù)經(jīng)過softmax之后,再與隱層輸出相乘,然后再經(jīng)過全連接層進行分類。
4)BERT模型:利用預訓練語言模型BERT來進行微調(diào),直接在BERT輸出中的CLS這個token上作二分類。
5)BERT_Bi-LSTM模型:利用bert預訓練模型得到文本的特征表示,然后將其作為Bi-LSTM的輸入進行分類。
6)RBL:即本文模型。
模型的分類標準采用準確率作為模型的評估標準,各個模型準確率如下表3所示。
表3 各模型的情感分析結果
為了直觀的觀察所提出的模型在兩個數(shù)據(jù)集上相對于其他網(wǎng)絡在性能上的優(yōu)勢,以及模型的收斂情況,將各個模型在這兩個數(shù)據(jù)集上的準確率(Acc)和損失(Loss)隨步長(Step)的變化情況展示出來,如下圖2至5圖所示。
圖2 各模型在數(shù)據(jù)集1的Acc趨勢圖
圖3 各模型在數(shù)據(jù)集1的Loss趨勢圖
圖4 各模型在數(shù)據(jù)集2的Acc趨勢圖
圖5 各模型在數(shù)據(jù)集2的Loss趨勢圖
對于ChnSentiCorp數(shù)據(jù)集,從圖2,3可以看出模型在330步左右Acc和Loss有所波動,但是之后逐漸趨于平穩(wěn),同時可以看出本文模型較其他模型的Loss一直是最小的,表明了其收斂效果更好,Acc較其他模型的提高也是有明顯的提升,體現(xiàn)出本文模型較其他模型的優(yōu)越性。在NLPCC14-SC數(shù)據(jù)集上,從圖4,5中可以看出本文模型在1000步之后Acc開始趨于平緩且較其他模型有更高的值,同時Loss也是最快趨于平緩,說明模型收斂較快。
基于RoBERTa_WWM和雙向LSTM來進行文本情感分析。以往的短文本情感分析任務中采用例如Word2Vec的靜態(tài)詞向量的方式來表示文本,這種方式雖然能夠考慮到文本上下文的關系,但是這種方式不能夠解決一詞多義的問題,尤其是中文文本中一個詞在不同語境下的語義是不同的,本文采用的是RoBERTa_WWM預訓練模型來表示文本,并在情感分析任務中得到的較好的效果。主要對文本評論的極性進行二分類,在此基礎上對中文文本的情感極性進行多分類及情感原因分析是以后研究的重點。