雷 蓉,王擎宇
(貴州財經(jīng)大學(xué)信息學(xué)院,貴陽 550025)
情感分析分為粗粒度情感分析和細(xì)粒度情感分析。粗粒度情感分析假設(shè)句子只包含一種情感,但在實際場景中句子往往針對不同的方面有不同的情感。例如,在評論“great food but the service was dreadful!”中,評論者對“food”的情感極性是積極的,對“service”的情感極性則是消極的[1]。方面級情感分析是一種細(xì)粒度的情感分析任務(wù),可以出于各種目的挖掘出更詳細(xì)的用戶情感表達(dá),近年來已成為自然語言處理領(lǐng)域的研究熱點之一[2]。
在方面級情感分析領(lǐng)域,模型需要提取不同方面的特征信息,因此模型應(yīng)當(dāng)高度關(guān)注句子中的特定方面。Wang 等[3]使用LSTM(long short-term menory)從文本中提取情感特征,然后使用注意力機制讓模型關(guān)注句子不同方面的情感極性。Chen 等[4]將兩種注意力機制集成到網(wǎng)絡(luò)模型中,模型使用內(nèi)容注意力機制挖掘與特定方面相關(guān)的特征,同時通過位置注意力機制豐富情感特征的語義信息。
隨著預(yù)訓(xùn)練模型逐漸興起,BERT、GPT 等模型被廣泛應(yīng)用于方面級情感分析領(lǐng)域。Sun等[5]基于BERT 使用方面信息構(gòu)建輔助句,將方面級情感分析任務(wù)轉(zhuǎn)化為句子對匹配任務(wù)。Gao等[6]將構(gòu)造的輔助疑問句與原始句子相結(jié)合,并使用特定的位置編碼來增加對特定方面的注意力,實驗結(jié)果表明BERT向量化的文本表示擁有更強的表征能力,可以提高模型情感分析的效果。
然而,上述模型僅是對BERT最后一層隱藏層的輸出進行后續(xù)操作,忽略了BERT中間隱藏層輸出的不同粒度的語義特征。因此,應(yīng)綜合考慮BERT 所有隱藏層的輸出,挖掘BERT 隱藏層之間的相互聯(lián)系,以提高模型的分類效果。
基于上述工作,提出一種融合BERT和多重注意力的方面級情感分析模型。模型使用多尺度卷積神經(jīng)網(wǎng)絡(luò)從所有BERT隱藏層輸出的詞向量矩陣提取不同粒度的情感特征,然后通過內(nèi)容注意力機制和隱藏層注意力機制優(yōu)化情感特征向量,使模型在訓(xùn)練時關(guān)注與特定方面相關(guān)的特征,更深層地挖掘與提取隱藏的情感特征,提高模型識別文本中不同方面情感信息的能力。
本節(jié)介紹 BC-MAT(BERT+CNN+Mutil-Attention,BC-MAT)網(wǎng)絡(luò)模型及其各個模塊的結(jié)構(gòu),模型整體結(jié)構(gòu)如圖1所示。
圖1 融合BERT和多重注意力的方面級情感分析模型
BC-MAT模型的結(jié)構(gòu)流程如下:①使用多尺度卷積神經(jīng)網(wǎng)絡(luò)對BERT所有隱藏輸出的詞向量矩陣進行情感特征提取;②根據(jù)輸入的情感特征向量計算內(nèi)容注意力特征向量,加強方面信息與上下文的交互;③根據(jù)輸入的情感特征向量計算隱藏層注意力特征向量,挖掘方面信息在BERT隱藏層之間的關(guān)聯(lián);④融合內(nèi)容注意力特征向量和隱藏層注意力特征向量,校準(zhǔn)輸入的情感特征;⑤通過全連接層和Softmax 層對情感特征進行分類。
輸入層將句子Sentence 與方面詞Aspect 組合拼接成句子對,之后通過BERT進行文本向量化,組合方式如公式(1)所示。
BERT 向量化后的詞向量矩陣為Xi∈Rn,d,i∈[1,c],其中,n是經(jīng)過BERT 分詞器后的文本長度,d是詞向量的維度,c是BERT 隱藏層的數(shù)量。
由于僅從BERT 的最后一層隱藏層提取的情感特征較為單一,存在語義不足問題,本文使用textCNN[7]對BERT 所有隱藏層輸出的詞向量矩陣Xi∈Rn,d進行多尺度卷積(multi-scale convolution,MSC)運算,提取BERT 所有隱藏層的情感特征,之后將同一隱藏層提取到的情感特征進行拼接,計算過程如公式(2)~(4)所示。
其中,Conv為卷積運算(TextCNN),Ws為卷積核,將其設(shè)置為不同尺寸,用以提取不同粒度的情感特征,bs為偏置;Si j為BERT 第i層隱藏層特定尺寸卷積核產(chǎn)生的特征向量,max為最大池化操作,⊕為拼接操作;n為TextCNN 從BERT 第i層隱藏層提取的特征向量的數(shù)量,c為BERT隱藏層數(shù)目。
多重注意力層(mutil-attention,MAT)的輸入Sa∈Rc×H是BERT所有隱藏層提取的附帶方面信息的情感特征,代表BERT不同隱藏層對于同一文本不同側(cè)重的理解。BERT 單層隱藏層提取的情感特征代表整個文本的情感特征,內(nèi)容注意力機制使得模型高度關(guān)注與特定方面相關(guān)的情感特征,獲取特定方面在句子內(nèi)部的依賴關(guān)系。隱藏層注意力機制可以挖掘句子中特定方面在BERT 隱藏層之間的相互關(guān)聯(lián),融合來自不同隱藏層的特征,得到語義豐富的特征向量。因此本文通過多重注意力機制讓模型從句子層面和BERT 隱藏層層面關(guān)注特定方面的情感特征,多重注意力模型結(jié)構(gòu)如圖2所示。
圖2 多重注意力網(wǎng)絡(luò)模型
隱藏層注意力特征向量Mh(Sa) ∈Rc×1是輸入Sa經(jīng)過全局平均池化和一個全連接層得到的;全連接層可以獲取隱藏層與隱藏層注意力權(quán)重的直接對應(yīng)關(guān)系。在計算內(nèi)容注意力特征向量過程中,先使用逐點卷積對情感特征Sa壓縮聚合,之后通過單個全連接層得到內(nèi)容注意力特征向量Mc(Sa) ∈R1×H。逐點卷積可以使用少量參數(shù)對不同隱藏層提取的情感特征進行融合,降低特征向量的維度。最后將兩種注意力特征向量融合并對輸入情感特征Sa進行校準(zhǔn),融合、校準(zhǔn)的方式如公式(5)~(6)所示。
其中,σ為Sigmoid 非線性激活函數(shù),M(Sa)為融合后的注意力特征向量,?為向量點乘,為校準(zhǔn)后的情感特征向量,將其通過全連接層和Softmax函數(shù)得到待分類句子的情感極性。
本文實驗采用SemEval2014 Task4[8]中的Restaurant 和Restaurant-Large(Rest-Large)以及ARTS[9](AspectRobustnessTestSet)中的Restaurant-ARTS(Rest-ARTS)和Laptop-ARTS(Lapt-ARTS),共四個數(shù)據(jù)集進行實驗,實驗數(shù)據(jù)統(tǒng)計見表1。
表1 數(shù)據(jù)集統(tǒng)計
本文實驗環(huán)境為Window10 操作系統(tǒng),PyTorch 框架,學(xué)習(xí)率設(shè)置為5e-5,卷積窗口大小為2、3、4,卷積核數(shù)目為32,批次大小為32,epoch為12。
為測試BC-MAT 模型的有效性,本文使用以下模型為基準(zhǔn)進行實驗:
(1)ATAE-LSTM[3]:融合注意力機制的LSTM 網(wǎng)絡(luò),模型將方面詞詞向量與句子中所有詞的詞向量拼接作為LSTM 的輸入,并在LSTM后添加一層注意力層,讓模型關(guān)注與特定方面相關(guān)的特征。
(2)TD-LSTM[10]:模型使用兩個LSTM 對方面詞的前后語境進行建模,提高模型的分類準(zhǔn)確率。
(3)TC-LSTM[10]:將方面詞詞向量與句子中所有詞的詞向量拼接,之后使用兩個LSTM 模型對方面詞的前后語境進行建模。
(4)GCAE[11]:門控卷積網(wǎng)絡(luò)模型,模型使用兩種卷積網(wǎng)絡(luò)分別提取方面信息和情感信息,使用門控機制輸出與特定方面相關(guān)的情感特征。
(5)BERT-CNN:數(shù)據(jù)集通過BERT 進行文本向量化,使用卷積濾波器從BERT最后一層隱藏層輸出的詞向量矩陣中提取不同粒度的特征,通過最大池化和拼接操作后送入全連接層得到分類結(jié)果。
(6)BERT-LSTM:數(shù)據(jù)集通過BERT 進行文本向量化,使用雙向LSTM 對BERT 最后一層隱藏層輸出的詞向量矩陣提取情感特征,將提取到的情感特征送入全連接層得到分類結(jié)果。
2.3.1 對比實驗
基于上述模型在數(shù)據(jù)集上進行實驗,采用準(zhǔn)確率來衡量模型性能,不同模型的準(zhǔn)確率見表2。
表2 不同模型的分類準(zhǔn)確率(%)
從表2 所示的實驗結(jié)果可以看出,本文模型比其他模型取得了更好的分類結(jié)果,其在Restaurant、Rest-Large、Rest-ARTS和Lapt-ARTS數(shù)據(jù)集上的準(zhǔn)確率分別為88.6%、89.1%、55.6%和52.3%,與僅從BERT 最后一層隱藏層提取特征的BERT-LSTM 模型相比,準(zhǔn)確率分別提高了0.7、0.9、0.7 和0.2 個百分點。這是因為本文模型使用多重注意力網(wǎng)絡(luò)可以更深入地挖掘方面詞在句子內(nèi)部和隱藏層之間的依賴關(guān)系,充分利用BERT輸出的語義信息,提高模型的抗干擾能力。其他模型由于忽略BERT中間隱藏層的語義信息而存在信息利用不足的問題,從而導(dǎo)致分類效果不理想。
2.3.2 消融實驗
為驗證本文加入多重注意力機制的有效性,構(gòu)建了以下模型,用于在四個數(shù)據(jù)集上進行消融實驗。實驗結(jié)果見表3。
(1)BC-HAT(BERT+CNN+Hidden-Layer-Attention):移除內(nèi)容注意力機制。
(2)BC-CAT(BERT+CNN+Context-Attention):移除隱藏層注意力機制。
(3)BC(BERT+CNN):移除多重注意力機制。
表3 消融實驗結(jié)果(%)
由表3所示實驗結(jié)果可知,與BC-HAT、BC-CAT相比,融合多重注意力機制的模型(BC-MAT)在性能表現(xiàn)上更出色,其在Restaurant、Rest-Large、Rest-ARTS 和Lapt-ARTS 四個數(shù)據(jù)集上的準(zhǔn)確率分別為88.6%、89.1%、55.6%和52.3%,這是因為BC-MAT 模型可以從不同層面挖掘與特定方面相關(guān)的特征,提高了模型識別不同方面情感極性的能力,因此取得更好的分類效果。
為更好地理解內(nèi)容注意力機制和隱藏層注意力機制,本文以Restaurant 數(shù)據(jù)集中的一條數(shù)據(jù)“good food but the service is dreadful!”為例,可視化文本樣例中單詞的權(quán)重以及BERT隱藏層的權(quán)重,如圖3所示。
圖3 內(nèi)容注意力可視化
圖3展示了選定樣本中單詞權(quán)重的可視化結(jié)果,注意力權(quán)重的大小與顏色深度成正比。由圖3可知,內(nèi)容注意力機制能夠密切關(guān)注與特定方面相關(guān)的情感詞匯,有效識別不同方面的情感極性。
圖4 展示了選定樣例的BERT 隱藏層注意力可視化結(jié)果,在同一句子的不同方面,BERT 的隱藏層權(quán)重也不相同。一般來說,模型為深層隱藏層分配的權(quán)重更大,但當(dāng)方面詞為“food”時,BERT 第一層隱藏層的權(quán)重與最后一層隱藏層的權(quán)重近似,這表明模型使用BERT所有隱藏層進行特定方面的特征提取。通過使用隱藏層注意機制,模型可以動態(tài)地偵測出BERT不同隱藏層與給定方面最相關(guān)的情感特征,充分利用BERT輸出的語義信息。
圖4 隱藏層注意力可視化
現(xiàn)有的方面級情感分析模型往往無法充分利用BERT預(yù)訓(xùn)練模型的輸出信息。本文提出融合BERT 和多重注意力的方面級情感分析模型,模型的主要思想是通過多尺度卷積神經(jīng)網(wǎng)絡(luò)和多重注意力機制對BERT所有隱藏層輸出的語義信息進行互補融合,可以獲得語義豐富的特征向量,更深入地挖掘方面詞在上下文和BERT隱藏層之間的語義關(guān)系。在四個公開數(shù)據(jù)集上的實驗結(jié)果驗證了本文模型的有效性。目前網(wǎng)絡(luò)上不僅有文本還包含圖片、視頻等多模態(tài)數(shù)據(jù),因此未來可以結(jié)合多模態(tài)進行方面級情感分析。