張順香,蘇明星,李曉慶
(安徽理工大學 計算機科學與工程學院,安徽 淮南 232001)
方面級情感分析旨在識別出句子中實體方面的情感極性,是文本情感分析的核心子任務之一[1],例如在評論“手機的質量真不錯,但價格太高了”中,“質量”和“價格”分別表示出積極和消極的情感。
目前,方面級情感分析的研究方法主要是基于深度學習的方法。例如:Yukun等[2]提出通過在LSTM網絡提取層中引入情感常識來進行方面級情感極性的預測。Sun等[3]提出一種基于依存樹的卷積模型(CDT),將上下文信息和依賴信息從意見詞傳播到方面詞,為監督提供區分性的屬性。同年,Ma等[4]針對評論對象的立場語境和多方面間的干擾現象,提出一個兩階段模式的方面級情感模型,與以往的基于注意力的方法相比,獲得了最優的表現。
自從2017年,Google[5]將注意力機制帶入大眾視野中,注意力機制在各個領域中被廣泛應用。在方面級情感分析任務中,Letart等[6]在自注意力機制基礎之上進一步探索單詞之間的建模能力,提出SAnet模型,證明了自注意機制能提高方面級情感分析模型的性能。與Letarte不同,Zhang等[7]采用多頭注意力機制來完成上下文和特定方面的充分交互。與Zhang等的工作相似,Xu等[8]提出使用一個全局和局部的注意力模塊來捕獲方面和上下文之間不同粒度的交互信息,從而進一步提高模型的準確率。
然而,數據標注的復雜性,使現有數據集規模都較小,導致注意力機制無法充分訓練,出現捕獲非目標情感信息現象。因此,有學者提出利用遷移學習的方法來解決數據不足的問題,遷移學習定義請參見文獻[9]。He等[10]提出PRET+MULT的框架,首次將文檔級知識引入到方面級任務中。接著,受膠囊網絡的啟發,Chen等[11]提出一種轉移膠囊網絡,預學習文檔級的前置知識,利用前置知識指導方面級情感分析任務。之后,Zhao等[12]提出通過預學習文檔級知識,來提高方面級任務中注意力機制感知情感的能力。
雖然,已有模型在遷移學習上取得成功,但未深入考慮引入文檔級情感知識的同時會帶來與給定方面無關的情感。因此,本文提出一種基于遷移學習和過濾機制的方面級情感分析模型TLFM。在遷移學習的基礎之上,為了降低文檔級情感知識帶來的噪音影響,設計一個注意力過濾模塊,該模塊聚焦于過濾文檔級知識中與給定方面無關的情感知識;最后,將遷移學習得到的方面級模塊和過濾模塊進行聯合訓練。并且考慮到詞性(尤其是形容詞)對情感分析結果的影響,模型TLFM將文本特征和詞性特征進行融合。
模型TLFM具體結構如圖1所示,主要包含了3個部分:預訓練的文檔級情感分析模塊、方面級情感分析模塊和過濾模塊。本節依次介紹這3個部分的實現細節,最后再詳細講解TLFM所采取的訓練策略。

圖1 基于遷移學習和過濾機制的方面級情感分析模型
模型TLFM預學習文檔級任務的情感知識,再利用學習到的情感知識輔助方面級任務,從而解決方面級數據集規模較小的弊端。
m=tdWt
(1)
式中:Wt表示變量轉換矩陣,通過網絡訓練自學習得到。且為了能加強形容詞的作用程度,采用自注意力機制,對詞性向量重新分配權重。具體操作公式如式(2)、式(3)所示
(2)
(3)
其中,mi∈Rdt是第i個單詞的詞性向量,δi是第i個單詞的詞性注意力權重,wa和ba分別是矩陣參數和偏置參數。

(4)
采用多頭注意力機制對文本特征進行情感信息感知。多頭注意力機制是自注意力機制的擴展,相比自注意力機制,多頭注意力機制最主要的區別在于有多組的Q、K和V矩陣,可以從多個角度挖掘文本的潛在情感信息,最后將多組注意力信息進行拼接合。其詳細公式如式(5)、式(6)所示
Multi-head=concat(head1,head2,…,headl)Wheads
(5)

(6)

(7)

(8)
式中:bd是偏置參數。根據式(5)將多個注意力頭的輸出結果進行連接轉換操作得到帶有情感信息的rd, 最后輸入由全連接層和softmax層組成的情感分類器中,推斷出文本的情感傾向。
為了將學習到的文檔級情感知識引入到方面級任務中,如圖1所示,方面級情感分析模塊的網絡結構與預訓練的文檔級情感分析模塊是十分相似的。主要的不同點在與方面級情感分析任務所研究的對象是給定的方面,因此需要對該方面進行建模。具體建模如下:
同時使用和文檔級情感分析相同的方法(詳見式(1)~式(3)),得到評論文本對應的詞性信息Poss, 并將詞性信息和文本向量表征進行拼接合并,輸入到BiLSTM中獲得文本特征表示,計算公式如式(9)所示
(9)
區別于文檔級任務中,注意力機制需要捕捉所有的情感信息,在方面級任務中,只需捕捉給定方面的情感信息。在方面級情感分析模塊中,使用方面向量et作為注意力機制的查詢向量,情感感知的具體公式如式(10)~式(12)所示
(10)
(11)
rs=Linear(concat(r1,s,r2,s,…,rk,s))
(12)
其中,bs為偏置參數,βj,i為方面級情感分析模塊中第j個注意力頭中的第i個注意力分數,rj,s代表方面級任務中第j個注意力頭的輸出。根據式(12)將多個注意力頭的輸出結果進行連接轉換操作得到帶有情感信息的rs。
本文模型中方面級情感分析模塊的詞嵌入層和評論特征抽取層的參數初始化是預訓練好的文檔級情感分析的參數。通過參數共享的方式將從文檔級任務中學習到情感傳遞給方面級任務模型,彌補方面級任務中,因缺乏數據,導致網絡訓練不足的問題。
直觀感受,文檔級模型中的注意力機制感知的情感包含非給定方面的情感,在利用文檔級模型的注意力機制輔助方面級模型的注意力機制時,需要結合給定方面進行過濾操作,保證消除與給定方面無關的情感。
將方面級任務的評論文本輸入預訓練好的文檔級模型和參數初始化的方面級模型中,在各自的注意力機制層中捕捉兩種任務所需的情感信息。文檔級模塊捕捉的情感信息包含與給定方面無關的情感,因此需要以給定方面為主體,對文檔級注意力機制的輸出進行過濾操作,具體結構如圖2所示。兩個任務模塊的多頭注意力機制之間增加一個基于過濾機制的注意力輔助網絡。該網絡以給定方面詞為主體,首先計算文檔級捕捉的情感信息與方面詞之間的相關性,然后再將結果通過KL散度輔助方面級注意力機制,彌補了由于方面級訓練預料不足,導致方面級模塊捕捉情感能力不足的問題。

圖2 基于過濾機制的注意力輔助網絡
其原理公式如式(13)~式(15)所示
f=σ(wf·etT+uf·rj,d+bf)
(13)
λj,d=et⊙f
(14)
(15)
其中,wf,uf,bf為網絡待學習參數,et,rj,d,rj,s分別由式(2)、式(3),式(7)和式(11)得到。λj,d表示過濾了文檔級中與給定方面無關情感的注意力輸出。
不同于傳統的訓練方式,本文的訓練主要分為兩個方面:一個是預訓練的文檔級情感分析模塊,另一個是方面級情感分析模塊與基于過濾機制的注意力輔助網絡的聯合訓練。
預訓練的文檔級情感分析模塊采用傳統的最小化交叉熵損失函數來進行模型的優化,具體公式如式(16)所示
(16)

第一部分訓練結束后,整個預訓練的部分參數被固定,將訓練好的文檔級詞嵌入層和文本特征提取層的參數作為方面級情感分析模塊中對應網絡模塊的初始參數。
對于方面級情感分析模塊和基于過濾的注意力輔助網絡,本文采用聯合訓練最優化兩個模塊的參數。為了避免過擬合,對損失函數添加正則,具體表示如式(17)所示
=M+A+ρreg
(17)
其中方面級情感分析模塊采用和文檔級模型相同的交叉熵損失函數來進行優化,而基于過濾的注意力輔助網絡的損失函數由KL散度得出,式(15)變形得到式(18)
(18)

2.1.1 實驗數據
對于預訓練的文檔級情感模塊,采用Yelp和Amazon評論數據集,該數據集中的所有標注數據都用來訓練文檔級情感模,作為方面級情感分析任務的輔助數據。
對于方面級情感分析模塊和過濾模塊,采用來自SemEval14、SemEval15和SemEval16的3個基準數據集(Rest14、Rest15、Rest16)來進行實驗,表1給出了實驗數據集的詳細內容。

表1 實驗數據集
2.1.2 評價指標
在該實驗中,采用文本情感分析任務傳統的評價指標:準確率(Accuracy,Acc)和F1值。
2.2.1 實驗環境
在百度的AI Studio線上實驗室進行本文的實驗,其具體環境配置見表2。

表2 實驗環境
2.2.2 實驗參數
本文模型中的大部分參數都選用目前主流設置,其中用于詞嵌入的BERT模型由12層Transformer組成,中間的隱藏層維度數為768,12個注意力頭,合計共有110 M參數。文本特征提取所用的BiLSTM網絡向前和向后隱藏狀態的維度都設置成128,式(17)中的正則參數ρ設置成0.000 01,模型訓練過程batchsize設置成128,dropout設置成0.5,學習率采用普遍使用的,優化器選擇Adam對模型訓練損失最小化。每輪實驗的批(epochs)次設置成60,如果在10批實驗中得到的準確率和F1值都沒有提升那么將提前結束本輪實驗并計算當前的準確率和F1值。
本文實驗主要為了驗證模型的性能和有效性,為此設計兩組實驗:對比實驗和消融實驗。
對比實驗中,本文模型和以下基準模型進行對比實驗:ATAE-LSTM[15]、AF-LSTM(CONV)[16]、IAN[17]、RAM[18]、GCAE[19]、PRET+MULT[10]、TransCap[11]、ATN[12]。
消融實驗中,為了驗證利用文檔級知識輔助方面級任務能提高預測的準確率,將TLFM中預訓練的文檔級模塊和過濾模塊移除,僅保留方面級情感分析模塊,該實驗記作TLFM-TN-FM。同時,為了探索過濾模塊對整個模型的貢獻,先將預訓練好的文檔級情感模塊的參數共享給方面級情感模塊,再將整個過濾模塊去除,最后僅訓練方面級情感分析模塊,做結果預測,該實驗記作TLFM-FM。
按照上述需求展開實驗,得到表3的實驗結果:A1~A8為對比實驗,其中A1~A5為僅做方面級情感分析不涉及文檔級情感知識,A6~A7為學習文檔級情感知識,輔助方面級任務的模型(其中以A6為例,PRET+MULT{Amazon+Yelp}表示模型先學習數據集Amazon和Yelp的情感知識,再進行方面級任務)。A9~A14為本文模型的消融實驗,A15為本文模型。

表3 實驗結果
通過表3實驗結果,可以得到以下結論:
(1)與基準模型相對比,本文模型的性能有所提升。在數據集Rest14和Rest16上,本文模型的準確率都取得了最高,相比于次優值分別提升了1.15%、1.06%。數據集Rest15上,本文模型的準確率雖未取得最優結果,但表現與最優模型相當,僅相差0.07%。而F1值上,本文模型都取得了當前最高值,相比之前的最高值分別提高了0.56%、0.76%、0.43%。
(2)對照組實驗中,GCAE模型的表現最差,猜測原因為:GCAE模型中使用的CNN網絡對于長依賴的建模能力較差,無法充分捕獲上下文中與給定方面有關的情感。ATAE-LSTM、IAN和RAM模型利用注意力機制對方面詞和上下文進行不同的建模,但由于方面級語料的不足,導致注意機制未充分訓練,模型的提升有限。
(3)文檔級知識輔助方面級任務提高了任務的準確率。PRET+MULT、TransCap、ATN和TLFM模型在準確率上的表現大部分都超過了僅做方面級任務的模型,提升的主要原因可能在于引入文檔級知識使得網絡得到充分訓練,提高了注意力機制捕獲情感的能力。
(4)過濾模塊有效過濾了與給定方面無關的情感信息,提升了模型的整體性能。具有過濾模塊的TLFM 模型相比與TLFM-FM模型,在3個方面級數據集上準確率都有提升。而對于F1值來說,學習的文檔級知識越多,F1值越高,內在原因可能是學習的知識越多,模型越能感知分散的情感,召回率相應得到提升,從而使得F1值上升。
2.4.1 文檔級數據規模分析
進一步探索在方面級任務中引入文檔級知識的影響,模型TLFM在不同規模的文檔級數據集上進行預學習,然后再進行方面級情感分析任務的訓練和測試。該實驗文檔級數據集采用Yelp,人為控制預學習文檔的規模,方面級數據集采用Rest14。實驗結果如圖3所示。

圖3 文檔規模的影響
圖3可以看出文檔級數據規模小30%時,分析的準確度和F1有波動,但波動較小,可能是由于引入的文檔級知識過少,對方面級任務的幫助不明顯。當文檔級規模大于30%時,方面級任務的準確率隨著文檔級知識的規模逐漸增加,但當文檔級知識的規模大于70%時,增加變得極為緩慢,而F1值,甚至出現下降的波動,這里猜測可能是因為引入的文檔級知識過多,導致情感分布過于分散,干擾注意力機制感知情感。
2.4.2 注意力機制中注意力頭個數的影響
模型TLFM中采用多頭注意力機制感知文本情感,為了探索注意力頭個數對實驗結果的影響,人為控制注意力頭的個數,依次進行實驗(這里主要是探索注意力頭個數,為了簡化實驗,引入的文檔級知識只選取數據集中的50%,且以準確率作為評價指標)。得到具體的實驗結果如圖4所示。

圖4 注意力頭個數對預測結果的影響
從圖4可以清晰看到,注意力頭個數增加到10的過程中,在3個數據集上模型的準確率一直處于提升狀態。當注意力頭的個數超過10之后,模型的準確率開始出現較大的波動,猜測可能是因為評論文本一般為簡單句式,如果注意力頭過多,導致網絡復雜性上升,對簡單句式復雜理解,造成準確率不穩定,基于此實驗結果,本文模型將多頭注意力機制中的注意力頭設置為10。
方面級情感分析領域中,大部分模型都是通過從文檔級語料中預學習情感知識,來彌補方面級數據集規模不足的問題,本文在此基礎之上,進一步考慮文檔級情感知識中包含與給定方面無關的情感,為此提出一種基于遷移學習和過濾機制的方面級情感分析模型TLFM。在公開的方面級情感分析數據集上進行實驗,實驗結果表明TLFM在多項指標上的性能都優于其它模型。
本文預測的都是顯式情感信息,并沒有考慮到評論文本中的隱式情感,因此接下來將進一步考慮句子中的隱式情感。