張銘泉,周輝,曹錦綱
(1.華北電力大學(xué) 控制與計(jì)算機(jī)工程學(xué)院,河北 保定 071003;2.華北電力大學(xué) 復(fù)雜能源系統(tǒng)智能計(jì)算教育部工程研究中心,河北 保定 071003)
情感分析是自然語言處理中文本分類領(lǐng)域的 一項(xiàng)基本任務(wù),其研究目的是對帶有情感色彩的主觀性文本進(jìn)行分析并提取其主要情感。社交媒體上的用戶情感分析是情感分析領(lǐng)域的重要組成部分。社交媒體上的用戶情感對整個社交媒體輿論風(fēng)向具有重要的影響,進(jìn)而會影響整個社會的政治風(fēng)向。而以前的研究主要應(yīng)用訓(xùn)練好的模型推斷嵌入在各種社交網(wǎng)絡(luò)和媒體上的文本數(shù)據(jù)是否包含正面或負(fù)面情感[1-3]。同時,衡量新聞媒體中政治文本的情緒或語氣是計(jì)算社會科學(xué)中廣泛使用的方法[4]。文獻(xiàn)[5-7]使用社交媒體帖子來評估公眾對政治行為者的看法,并通過大規(guī)模情感分析預(yù)測未來事件的結(jié)果,而文獻(xiàn)[8-10]進(jìn)一步延伸到非語言或多模態(tài)維度。然而目前已有的大多數(shù)工作集中在句子級分類[11-14],或旨在檢測對特定目標(biāo)的情感極性[15-16]。而以往的這些方法通常不區(qū)分情感的來源和目標(biāo)。這些方法使用的數(shù)據(jù)主要使用來自用戶生成的內(nèi)容,如推特評論或來自Yelp 的餐廳評論,同時這些方法假設(shè)每個用戶(賬號持有人)都是情緒的來源,并且目標(biāo)也是明確定義或容易識別(如餐廳評論)的。但是這一假設(shè)在政治新聞分析中并不適用,因?yàn)楹芏嗾稳宋镌谛侣剤?bào)道中相互指責(zé)或相互支持。政治情感分析的關(guān)鍵是識別政治人物責(zé)備“誰”或支持“誰”[17],而不是簡單地將全局的情感極性分配給指定文件或句子。例如:從“X 支持Y 批評Z”這句話中,我們可以推斷X 對Y 是積極的,而X 和Y 都對Z 是消極的。但是,現(xiàn)有的情感分析方法并不適合檢測實(shí)體之間的這種情感關(guān)系。針對上述問題,本文提出基于注意力機(jī)制的雙BERT 有向情感文本分類模型,可以有效解決上述問題,提高情感分析的準(zhǔn)確性。本研究不僅為自然語言學(xué)界的有向情感分析問題提出了解決方法,而且為社會科學(xué)界增加了對政治新聞中媒體偏見的實(shí)證理解。
變換神經(jīng)網(wǎng)絡(luò)的雙向編碼表示(bi-directional encoder representations from transformers,BERT)模型是由谷歌公司在2018[18]提出的開源模型,它在當(dāng)時11 項(xiàng)自然語言處理任務(wù)中奪得最優(yōu)結(jié)果,再一次將自然語言處理推向了浪潮之巔。
BERT 相較于原來的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)、長短時記憶網(wǎng)絡(luò) (long shortterm memory,LSTM)可以做到并發(fā)執(zhí)行,同時提取詞在句子中的關(guān)系特征,并且能在多個不同層次提取關(guān)系特征,進(jìn)而更全面反映句子語義。相較于之前的預(yù)訓(xùn)練模型,BERT 能根據(jù)句子上下文獲取詞義信息,從而避免歧義產(chǎn)生。同時BERT能夠雙向提取詞義信息,從而得到更豐富、更隱蔽的特征。BERT 模型框架如圖1 所示。
圖1 BERT 框架Fig.1 BERT framework
BERT 先將輸入文本中的各個字表示為語義向量,再輸入至多個變換神經(jīng)網(wǎng)絡(luò)(Transformer)編碼器中進(jìn)行訓(xùn)練,最后得到訓(xùn)練后的詞向量。BERT 中最重要的結(jié)構(gòu)是 Transformer 編碼器,其包含了多頭注意力機(jī)制、自注意力機(jī)制、殘差連接、層歸一化、線性轉(zhuǎn)換等關(guān)鍵操作,通過這些操作,Transformer 編碼器能將輸入文本中的各個字的語義向量轉(zhuǎn)換為相同長度的增強(qiáng)語義向量,通過多層Transformer 編碼器,BERT 實(shí)現(xiàn)了對文本中的各個字的語義向量的訓(xùn)練。
BERT 是一個語言理解模型。BERT 采用大規(guī)模、與特定自然語言處理(natural language processing,NLP)任務(wù)無關(guān)的文本語料進(jìn)行訓(xùn)練,其目標(biāo)是學(xué)習(xí)語言本身應(yīng)該是什么樣的,以便理解語言的本質(zhì)特征。BERT 模型的訓(xùn)練過程就是逐漸調(diào)整模型參數(shù),使得模型輸出的文本語義表示能夠刻畫語言的本質(zhì),便于后續(xù)針對具體NLP 任務(wù)作微調(diào)。
目前的文本情感分析方法主要包括基于情感詞典的方法、基于機(jī)器學(xué)習(xí)的方法和基于深度學(xué)習(xí)的方法?;谇楦性~典的方法是文本情感分析的基礎(chǔ),利用文本情感詞典,可以對情感詞典進(jìn)行極性和強(qiáng)度標(biāo)注,進(jìn)而進(jìn)行文本情感分類。而構(gòu)建情感詞典有人工構(gòu)建和自動構(gòu)建兩種方式。但基于詞典的文本情感分析技術(shù)由于構(gòu)建的詞典往往只針對某個領(lǐng)域,對于跨領(lǐng)域文本分析的效果不夠好?;跈C(jī)器學(xué)習(xí)的方法首先將文本信息進(jìn)行特征處理,然后對模型進(jìn)行有監(jiān)督學(xué)習(xí)訓(xùn)練,訓(xùn)練好的模型用于預(yù)測新的文本信息的情感極性。根據(jù)分類算法不同,基于機(jī)器學(xué)習(xí)的方法可分為樸素貝葉斯、最大熵和支持向量機(jī)3 種方法。而隨著深度學(xué)習(xí)研究的不斷發(fā)展,深度學(xué)習(xí)技術(shù)也開始應(yīng)用于文本情感分析領(lǐng)域。例如,Ma 等[19]提出的融合了高維注意力機(jī)制的深度學(xué)習(xí)方法;翟學(xué)明等[20]提出的和條件隨機(jī)場相結(jié)合的深度學(xué)習(xí)方法,在情感分析上都取得了不錯的效果?;谏疃葘W(xué)習(xí)的文本情感分析的過程如圖2 所示。首先對文本進(jìn)行預(yù)處理,接著將文本詞嵌入后得到文本的向量表示。然后通過深度學(xué)習(xí)模型對文本向量進(jìn)行計(jì)算,最后得到情感分析結(jié)果。
圖2 情感分析過程Fig.2 Sentiment analysis process diagram
本文提出的基于注意力機(jī)制的雙BERT 有向情感分類模型結(jié)構(gòu)如圖3 所示。其主要由輸入模塊、情感分析模塊、政治實(shí)體方向模塊和分類模塊組成。輸入政治新聞文本到輸入模塊后,在情感分析模塊獲得文本中政治實(shí)體的情感特征,在政治實(shí)體方向模塊提取文本中政治實(shí)體的方向特征,然后,兩種特征輸入至分類模塊中,最后通過政治實(shí)體間有向情感預(yù)測文本類別。本文提出的模型中的政治實(shí)體方向模塊和情感分析模塊采用相同的結(jié)構(gòu),提取不同的特征,兩個模塊都包含基于BERT 的詞嵌入層和編碼層。分類模塊則包含轉(zhuǎn)換層、融合層以及分類層。
圖3 基于注意力機(jī)制的雙BERT 有向情感分類模型Fig.3 Analysis model of a dual BERT directed sentiment based on attention mechanism
對政治實(shí)體方向模塊和情感分析模塊,輸入模塊輸入的輸入序列都為數(shù)據(jù)集中的一批句子序列,表示為SN,N表示批處理大小。其中一個句子可以表示為={wj1,wj2,···,wji,···,wjn},j表示這批政治新聞文本句子中的第j個句子,wji表示第j個句子中的第i個詞匯,n為句子長度。
BERT 模型在多個自然語言處理任務(wù)中取得了巨大成功,并被應(yīng)用于文本情感分析。為了獲取文本中政治實(shí)體間的情感特征和方向特征,本文使用BERT 預(yù)訓(xùn)練模型將文本中的單詞從低維空間一一映射到多維空間中,與之前的Glove預(yù)訓(xùn)練模型提供的詞嵌入矩陣相比,BERT 預(yù)訓(xùn)練模型提供了一個更大的語言理解模型,能獲得更好的語義信息。
在BERT 預(yù)訓(xùn)練模型之前的大多數(shù)預(yù)訓(xùn)練模型都是提供一個轉(zhuǎn)換矩陣M,M∈RVd,其中V是詞匯表中單詞的總數(shù),d是單詞轉(zhuǎn)換后的維度,通過轉(zhuǎn)換矩陣M,可將文本序列中的任一單詞wi轉(zhuǎn)換為維數(shù)為d的數(shù)字向量,方便之后的數(shù)學(xué)計(jì)算。相較于Glove 模型的轉(zhuǎn)換矩陣參數(shù)不變,BERT 預(yù)訓(xùn)練模型旨在通過聯(lián)合調(diào)節(jié)所有層中的上下文,來預(yù)先訓(xùn)練單詞的深度雙向表示。本模型使用2 個互相獨(dú)立的BERT 預(yù)訓(xùn)練模型分別獲取文本序列的政治實(shí)體方向詞嵌入和情感詞嵌入,再分別輸入至政治實(shí)體方向模塊和情感分析模塊中的編碼層中,以此提高此模型對政治新聞文本的有向情感分析能力。本文分別使用政治實(shí)體方向數(shù)據(jù)和情感數(shù)據(jù)訓(xùn)練這兩個BERT 預(yù)訓(xùn)練模型,讓本模型更好地獲得文本序列的政治實(shí)體方向詞嵌入和情感詞嵌入。而本模型中BERT 預(yù)訓(xùn)練模型的輸入為經(jīng)過隨機(jī)初始化和分詞處理后的文本序列SN的各個詞的原始詞向量。
編碼層的任務(wù)是將經(jīng)過詞嵌入層轉(zhuǎn)換后的嵌入向量編碼成含有豐富上下文語義信息的序列向量。詞嵌入本身包含基礎(chǔ)語言信息,通過多層神經(jīng)網(wǎng)絡(luò)對詞嵌入信息進(jìn)行恰當(dāng)縮放與聚合,有效聚合了上下文信息,即減少了計(jì)算消耗所需的資源,又能夠有效提高計(jì)算的效率。
編碼層采用三層神經(jīng)網(wǎng)絡(luò)對詞嵌入向量進(jìn)行編碼。輸入層輸入維度為詞嵌入層嵌入維度,隱藏層維度為512,輸出層輸出維度為3。政治實(shí)體方向模塊和情感分析模塊的訓(xùn)練目標(biāo)不同,其他基本相同。政治實(shí)體方向模塊訓(xùn)練目標(biāo)為0,1(p→q),2(p←q),p、q為政治新聞文本中的兩個實(shí)體對象,情感分析模塊訓(xùn)練目標(biāo)為0(中性)、1(積極)、2(消極)。
三層神經(jīng)網(wǎng)絡(luò)在隱藏層與輸出層之間使用ReLU 激活函數(shù),增強(qiáng)神經(jīng)網(wǎng)絡(luò)模型的非線性,相比其他激活函數(shù),ReLU 激活函數(shù)可以加快訓(xùn)練速度。
轉(zhuǎn)換層主要利用線性轉(zhuǎn)換的方法對情感特征和政治實(shí)體的方向特征進(jìn)行變長計(jì)算。轉(zhuǎn)換層的結(jié)構(gòu)如圖4 所示。
圖4 轉(zhuǎn)換層結(jié)構(gòu)Fig.4 Transfer layer structure
如果用ht-1和bt-1代表進(jìn)入轉(zhuǎn)換層之前的情感特征和政治實(shí)體的方向特征,用W1和W2代表轉(zhuǎn)換參數(shù),b1和b2代表偏置,ht和bt代表轉(zhuǎn)換之后的情感特征和政治實(shí)體的方向特征,則轉(zhuǎn)換層計(jì)算公式為
本層的任務(wù)是將轉(zhuǎn)換層得到的相同長度的情感特征和政治實(shí)體的方向特征融合在一起,為分類層的分類做準(zhǔn)備。
本模型主要利用注意力機(jī)制[21]融合文本的情感特征向量h和政治實(shí)體的方向特征向量b,并計(jì)算兩者的注意力分?jǐn)?shù)a。注意力機(jī)制源于人類會選擇性地關(guān)注所有信息的關(guān)鍵部分,同時忽略其他可見的信息。本文使用的注意力機(jī)制為改進(jìn)的縮放點(diǎn)積注意力機(jī)制。改進(jìn)的縮放點(diǎn)積注意力機(jī)制結(jié)構(gòu)圖如圖5 所示。
圖5 改進(jìn)的縮放點(diǎn)積注意力機(jī)制Fig.5 Improved scaled dot-product attention
該注意力機(jī)制計(jì)算時首先將情感特征h和政治實(shí)體的方向特征b相乘,接著進(jìn)行縮放操作即除以情感特征h和政治實(shí)體的方向特征b的長度,得到的結(jié)果可以選擇是否進(jìn)行mask 操作,然后進(jìn)行softmax 計(jì)算。最后將該結(jié)果與政治實(shí)體的方向特征b再次進(jìn)行點(diǎn)乘計(jì)算后得到情感特征h和政治實(shí)體的方向特征b的注意力分?jǐn)?shù)a。此過程計(jì)算公式為
式中d為情感特征h和政治實(shí)體的方向特征b的長度。
本模型將注意力分?jǐn)?shù)a視為政治文本領(lǐng)域識別政治實(shí)體之間的有向情感所依據(jù)的最終特征,通過一個線性網(wǎng)絡(luò)將其映射到任務(wù)所要求的結(jié)果空間,并使用softmax 來計(jì)算政治實(shí)體之間的有向情感態(tài)度為y的可能性:
式中:W是將向量映射到輸出真空的矩陣;l是偏差。模型訓(xùn)練的目的是使真實(shí)值與預(yù)測值之間的交叉熵?fù)p失最小,交叉熵?fù)p失函數(shù)為
本文在Park 等[22]提供的數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)驗(yàn)證。數(shù)據(jù)集中的單一數(shù)據(jù)包含一個有兩個實(shí)體p和q的句子S,以及一項(xiàng)情感關(guān)系分類標(biāo)簽,目的是檢測從p到q之間的不同方向情感關(guān)系。數(shù)據(jù)集詳情如表1 所示。訓(xùn)練集與測試集之比為9∶1。
表1 數(shù)據(jù)集參數(shù)Table 1 Parameters to the data set
為驗(yàn)證提出模型的有效性,本文與下述模型進(jìn)行了對比。
1) FastText[23]是Facebook2016 年提出的文本分類模型,是一種高效的淺層網(wǎng)絡(luò)。
2)卷積神經(jīng)網(wǎng)絡(luò)[24](convolutional neural networks,CNN),是深度學(xué)習(xí)的代表算法之一。
3)循環(huán)神經(jīng)網(wǎng)絡(luò)[25](recurrent neural network,RNN)是一類以序列數(shù)據(jù)為輸入,在序列的演進(jìn)方向進(jìn)行遞歸且所有節(jié)點(diǎn)(循環(huán)單元)按鏈?zhǔn)竭B接的遞歸神經(jīng)網(wǎng)絡(luò)。
4)融合注意力機(jī)制的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN_Att),它根據(jù)注意力機(jī)制構(gòu)建注意力權(quán)重,取得了不錯的效果。
5) Transformer[21]模型,其主要由注意力機(jī)制構(gòu)成。
6) LNZ 模型,是由Liang 等[26]提出的當(dāng)前最先進(jìn)的方向過錯檢測方法。
①年降水存在多尺度演變特性,且具有全域性;②新疆年降水周期為6,15,3a; ③北疆為15,6,3a;④南疆為6,3,14a。
7) RoBERTa 是由Facebook[27]提出的對BERT模型的改進(jìn)模型。
8) DSE2QA 是由Park 等[22]提出的最新模型。
本文輸入序列文本長度設(shè)置為125,如果文本長度超過125,那么截?cái)?;反之,則補(bǔ)零。本文中所有BERT 模型選用uncased-BERT-base,詞嵌入的維度為 768。轉(zhuǎn)換層輸出維度為125×768。
在訓(xùn)練過程中,本文利用Adam 作為目標(biāo)函數(shù)的優(yōu)化器,分層設(shè)置學(xué)習(xí)率,BERT 詞嵌入層學(xué)習(xí)率設(shè)為0.000 02,其他層學(xué)習(xí)率設(shè)為0.000 001,同時對學(xué)習(xí)率進(jìn)行預(yù)熱操作。損失函數(shù)為交叉熵?fù)p失函數(shù),訓(xùn)練批次大小為40,dropout 在注意力機(jī)制中設(shè)為0.2,在情感分析模型、政治實(shí)體方向模型中設(shè)為0.5。
本文使用裝有NVIDIA RTX 3 090 顯卡的服務(wù)器運(yùn)行實(shí)驗(yàn)程序,文中的所有的實(shí)驗(yàn)?zāi)P褪褂胮ytorch 框架和Jutyper Notebook 編寫。
本文使用3 種指標(biāo)對實(shí)驗(yàn)結(jié)果進(jìn)行評價:Micro-F1、Macro-F1和平均精度(mAP)。
對于多分類數(shù)據(jù)預(yù)測結(jié)果有4 種情況:
真陽性TP:預(yù)測為正,實(shí)際為正。
假陽性FP:預(yù)測為正,實(shí)際為負(fù)。
假陰性FN:預(yù)測為負(fù),實(shí)際為正。
真陰性TN:預(yù)測為負(fù),實(shí)際為負(fù)。
準(zhǔn)確率P計(jì)算公式為
召回率R計(jì)算公式為
F1-score 計(jì)算公式為
Micro-F1先計(jì)算總體的TP、FP、FN 和FP,再計(jì)算F1-score。Macro-F1分別計(jì)算每個類別的F1-score,然后做平均。因此,Macro-F1是對傾斜類分布(如本文使用的數(shù)據(jù)) 的更健壯的度量方法。同時,mAP 測量每個類別的平均精度(AP)的未加權(quán)平均值,AP 為各個類別準(zhǔn)確率-召回率曲線下的面積。對比實(shí)驗(yàn)結(jié)果如表2、3 所示,部分實(shí)驗(yàn)結(jié)果來自文獻(xiàn)[22],實(shí)驗(yàn)的最優(yōu)結(jié)果加粗表示。
表2 實(shí)驗(yàn)結(jié)果對比Table 2 Comparison of experimental results
表2 給出了每個模型的Micro-F1、Macro-F1、mAP,對比發(fā)現(xiàn),本文提出的模型的Micro-F1比傳統(tǒng)Transformer 提高了18.53%,比DSE2QA (Pseudo)提高了0.57%。同時,本文提出的模型的Macro-F1比傳統(tǒng)Transformer 提高了35.68%,比DSE2QA(Pseudo)提高了0.79%。說明本文模型與經(jīng)典神經(jīng)網(wǎng)絡(luò)模型以及最新模型相比,在政治新聞文本的有向情感分析任務(wù)上確實(shí)具有更好的效果。而在mAP 指標(biāo)上,本文提出模型的mAP 與DSE2QA(Pseudo)大致相當(dāng)。
在表3 中,0、1、2、3、4 分別代表了兩個實(shí)體p和q之間不同的有向情感類別。具體為:0 表示中性;1 表示積極(p→q);2 表示積極(p←q);3 表示消極(p→q);4 表示消極(p←q)。同時,表3 給出了不同模型的每個類別的F1-score 評分。本文模型與其他模型相比在各個類別上的F1-score 均表現(xiàn)出了優(yōu)秀的性能。相比于性能較好的DSE2QA(Pseudo)模型,本文模型在類別0 上提高了2.49%,在類別1 上提高了0.184%,在類別3 上提高了0.12%,在類別4 上提高了1.11%,只在類別2 上降低了3.66%。實(shí)驗(yàn)說明,本文模型與其他模型相比,對政治新聞文本的各項(xiàng)有向情感都具有更好的識別能力。
表3 各個類別F1-scoreTable 3 F1-score for each category
為驗(yàn)證模型中主要模塊設(shè)計(jì)的合理性和有效性,本文進(jìn)行了消融實(shí)驗(yàn):
1)直接將模型中的政治間實(shí)體的方向特征和情感特征拼接融合,而不使用注意力機(jī)制,此設(shè)置為模型1;
2)去掉模型中的情感分析模塊,使用政治實(shí)體的方向特征代替情感特征,此設(shè)置為模型2;
3)去掉模型中的政治實(shí)體方向模塊,使用政治實(shí)體的情感特征代替方向特征,此設(shè)置為模型3。
實(shí)驗(yàn)結(jié)果如表4 所示,實(shí)驗(yàn)的最優(yōu)結(jié)果加粗表示。
表4 消融實(shí)驗(yàn)Table 4 Ablation experiment
從表4 中可以看到,缺少任一功能模塊,尤其是去掉情感分析模塊或政治實(shí)體方向模塊后,模型的效果都將有著明顯的下降。其原因是:這兩種模塊在整個模型中相輔相成,情感分析模塊能夠獲取政治實(shí)體間的情感特征卻缺乏對方向信息的提取,政治實(shí)體方向模塊則相反,可以獲取政治實(shí)體間的情感方向卻難以獲得情感信息。兩個模塊對整個模型十分關(guān)鍵,缺一不可。而注意力機(jī)制則實(shí)現(xiàn)了對政治實(shí)體的方向特征和情感特征的有效融合,提升了模型識別政治新聞有向情感的能力。
通過上述消融實(shí)驗(yàn),說明本模型中的各個模塊可以實(shí)現(xiàn)對政治文本的準(zhǔn)確分類,缺一不可。
在本文中,針對當(dāng)前政治新聞文本分類研究中存在的不足,設(shè)計(jì)了基于注意力機(jī)制的雙BERT有向情感文本分類模型,該模型通過情感分析模塊、政治實(shí)體方向模塊,既能捕捉到政治實(shí)體間的情感信息,還能有目的性地識別出情感間的方向信息。該模型將BERT 預(yù)訓(xùn)練語言模型與改進(jìn)的縮放點(diǎn)積注意力機(jī)制相結(jié)合,能夠有效提取政治新聞文本中的有向情感特征。實(shí)驗(yàn)證明,本文提出的模型在相應(yīng)的數(shù)據(jù)集上取得了最優(yōu)的效果,并通過消融實(shí)驗(yàn)驗(yàn)證了模型的合理性和有效性。
盡管本文提出的模型在數(shù)據(jù)集上取得了不錯的表現(xiàn),但它仍存在一定的提升空間,可以進(jìn)一步優(yōu)化模型結(jié)構(gòu),讓模型適應(yīng)沒有標(biāo)簽或小樣本的數(shù)據(jù)集。下一步工作是,改變模型中編碼層的結(jié)構(gòu),優(yōu)化模型計(jì)算方法,降低模型中的參數(shù)量,提高模型計(jì)算效率,減少模型計(jì)算時消耗的資源,并有效提升模型對政治新聞文本中不同政治實(shí)體間有向情感的識別能力。