宋 婷,潘理虎,陳戰偉
1.太原科技大學 計算機科學與技術學院,太原 030024
2.中國移動通信集團山西有限公司,太原 030001
基于方面的情感分析[1](aspect-based sentiment analysis,ABSA)旨在針對文本中特定方面目標獲取其情感信息。傳統的文本觀點獲取僅對整篇文檔進行情感分析,不針對具體對象[2-3]?;诜矫娴那楦蟹治龇譃閮蓚€任務,提取方面詞[4-6](aspect term analysis,AT),以及分析不同方面的情感極性[7-9](aspect category sentiment analysis,AS)。例如句子:“Good food but dreadful service at that restaurant”,分析語句評論的實體是餐廳,分別對兩個方面food和service提取情感信息,分別為積極和消極。
深度學習[10-11]方法在自然語言處理中不斷取得新的進展,在機器翻譯[12]、句子對建模[13]、情感分析中被廣泛應用。常用的深度學習模型[7-9]最大特點是能對批量數據自動學習,利用注意力機制實現對目標內容的特別關注。
在以往的工作中,方面詞提取和方面詞的情感分類通常分開處理,未充分利用兩個任務的聯合信息。研究表明[14-15],集成模型對比順序處理方式,情感獲取效果相當,以上工作都將問題表述為具有統一標簽的單個序列標注任務,沒有明確建模它們之間的相關性,僅從方面級別的實例中學習,這些實例大小通常有限。
基于以上問題,本文提出基于信息傳遞機制的多任務交互式學習網絡(multi-task interactive learning network based on information transmission mechanism,MTIITM),進行方面情感分析,主要貢獻如下:
模型采用細粒度屬性級和篇章級分類任務聯合訓練,引入消息傳遞機制顯式的對任務間交互建模,通過共享隱藏變量迭代傳遞上一輪有用信息,不僅允許共享特征,并且更好的獲取不同任務間交互信息,有助于特征學習和推理。
方面級任務引入方面/觀點詞抽取和方面情感預測兩個任務模塊,設計詞級信息交互機制,及AT-AS 的信息傳遞通道,實現基于方面的雙注意力機制;篇章級任務引入情感預測和類別預測兩個任務模塊,設計GRUMP網絡,利用大規模篇章級語料庫的知識,與方面級任務聯合訓練。
設計迭代算法在方面級和篇章級任務間交替訓練,通過準確率、F1 分數在模型整體及分量性能、篇章級網絡性能方面的對比實驗,驗證了模型的有效性和可行性。
本章從方面情感分析方法、多任務學習方法、消息傳遞機制三方面討論。
基于方面的情感分析屬于細粒度分類任務,早期的機器學習結合語言學特征得到的是淺層特征?,F使用較多的是神經網絡模型,文獻[16]基于卷積神經網絡實現自然語言處理領域中的任務分析。循環神經網絡更適用于序列數據的處理;文獻[17-18]基于LSTM和GRU實現目標實體和上下文間的交互,通過引入注意力機制,減少對次要及無關信息的關注度。模型構建集成解決方案中;文獻[19]提出將問題建模為具有統一標記方案的序列標記任務,但是效果不佳;文獻[20]沿著這個方向提出了具有更復雜網絡結構的模型,子任務間的交互并沒有明確建模。
多任務學習方法中傳統學習框架在各種自然語言處理任務中取得較好效果[19-20]。通過使用共享表示并行學習語義相關任務,并在某些情況下提高模型泛化能力,通過與篇章級情感分類任務的聯合建模,明顯改善方面級情感分類效果。然而傳統的多任務學習方法并沒有明確地對任務之間的交互進行建模,AT和AS這兩個任務會通過錯誤反向傳播之間的交互獲取學習特征,這種隱式交互是不可控的。
消息傳遞機制已經在計算機視覺和自然語言處理中進行研究,若將這些消息傳遞算法建模成網絡,消息傳遞過程可以看作是一個循環神經網絡,此類架構方法適用于解決多任務學習問題?;谝陨咸岢龅膯栴},需要一個更好的網絡結構,實現進一步的任務交互。
本章介紹基于信息傳遞機制的多任務交互式學習網絡(MTIITM),通過消息傳遞機制對不同任務建模,實現細粒度屬性級分類任務和篇章級分類任務間信息交互。
MTIITM架構如圖1所示,具體功能如下:

圖1 多任務交互式學習網絡Fig.1 Multi-task interactive learning network
(1)方面級分類任務。引入方面/觀點詞抽取和方面目標情感預測兩個任務模塊,添加AT向AS的信息傳遞通道實現自注意力機制,并設計詞級信息交互機制,實現基于方面的雙注意力機制。
(2)篇章級分類任務。引入篇章級文本情感預測和類別預測兩個任務模塊,設計GRU-MP 網絡獲取預測結果。
(3)消息傳遞機制。顯式地對任務間交互進行建模,通過共享隱藏變量在不同任務間迭代傳遞信息。
(4)參數學習。設計迭代算法,在方面級和篇章級任務間交替訓練,利用大規模文檔級語料庫的知識,與方面級任務AT和AS聯合訓練。
給定句子表示s={w1,w2,…,wl,…,wl+m-1,…,wn},作為基礎特征抽取模塊Ms的輸入,包含n個單詞,其中wi是句子s的第i個元素。方面詞表示asp={wl,…,wl+m-1},包含m個單詞,以方面詞為界,左邊稱為上文aspL,長度(l+m-1),右邊稱為下文aspR,長度(n-l+1)。模塊Ms由一個詞嵌入層和幾個特征提取層組成,特征提取層采用ns層卷積神經網絡。

共享隱藏向量進入特定任務模塊,每個特定子任務模塊有自己內部的一組隱藏變量和輸出變量,輸出變量相當于序列標記任務中的標簽序列。在方面/觀點詞提取任務(AT)中,針對每個字符對應一個標簽,表示字符是否屬于某一方面/觀點;在方面級情感分類任務(AS)中,針對每個標記過的方面目標,確定其情感分類標簽。在篇章級文本分類任務中,輸出對應整體文本的情感標簽和類別標簽。
2.2.1 基礎模塊映射表示
AT 任務模塊Mat和AS 任務模塊Mas旨在抽取方面/觀點目標和預測情感分類,建立方面/觀點詞抽取任務模塊和方面情感預測任務模塊間的信息傳遞通道,信息由AT傳遞到AS,實現二者信息交互。
AT看作一個序列標記問題,采用BIO標記方案,定義五個類標簽:oat={BA,IA,BP,IP,O},分別表示屬于方面詞的主要、次要位置詞語,屬于觀點詞的主要、次要位置詞語,以及其他詞。文中將任務模塊AS 也定義為一個序列標記問題,形式為oas={pos,neg,neu},分別表示方面詞的正向、負向和中性情感。



2.2.3 基于詞級交互的方面注意力機制
AS編碼器中實現了結合模塊間交互信息的基礎映射,設計了結合詞級交互信息的方面注意力機制。兩種不同的注意力機制意味著提取的高層次特征更加豐富,合并兩個輸出得到各種角度的文本權重。
分別計算句子上文、下文以及方面詞的詞向量aspL∈R(l+m-1)、aspR∈R(n-l+1)和asp∈Rm,通過GRU 網絡提取各自語義信息,分別得到三部分的隱層向量表示hAL、hAR、hA。詞級交互注意力實現如下:

式(4)計算hAL和hA的成對交互矩陣PL-A,獲取上文文本和方面詞的交互信息;式(5)通過計算PL-A的列式softmax值,獲得方面詞對左邊文本的相關性權重向量ql,抽取左邊文本的關鍵情感特征;式(6)計算PL-A的行式softmax值,獲得左邊文本對方面詞的相關性權重向量qla,在qla的列方向計算均值qˉla,抽取方面詞的關鍵情感特征,如式(7);式(8)和(9)通過兩部分注意力向量計算方面詞和左邊文本的交互特征向量kla,與hAL加權求和,求得基于方面的左邊文本表示kl。
按照上述步驟實現方面詞和右邊文本的詞級交互注意力機制,最終得到基于方面的右邊文本表示kr。通過上文和下文的拼接操作,得到基于方面的向量表示attk,與自注意力機制合并得到雙注意力輸出:


為了解決方面級文本訓練數據不足的問題,引入兩個篇章級分類任務,分別是篇章級情感預測(TS)和篇章級類別預測(TC),與AT 和AS 聯合訓練。本節通過篇章級情感預測及類別預測的語料庫獲取有用信息。
篇章級情感模塊Mts和類別模塊Mtc在GRU 網絡的基礎上采用一個類似多層感知機結構的網絡,并結合池化操作(GRU-MP),結構如圖2所示。

圖2 GRU-MP網絡Fig.2 GRU-MP network

同時采用池化操作提取位置不變特征和關鍵信息,將語義矩陣轉為語義向量。這里采用最大池化操作,對比平均池化能更好的保留位置信息。最后將文本情感權重狀態和文本語義表達相結合,過程如下:

最后使用帶softmax函數的全連接層作為解碼層。
采用消息傳遞機制顯式地對任務間交互進行建模,過程中聚合了上一輪迭代中不同任務的預測信息,以此來更新當輪迭代中的共享隱藏表示。與大多數通過學習共同特征表示來共享信息的多任務學習方案相比,本文不僅允許使用共享特征,而且還獲取不同任務間的交互信息,有助于特征學習和推理。這個操作是迭代執行的,隨著迭代次數的增加,允許在多個鏈接修改和傳播信息。
在消息傳遞過程中,第t輪迭代聚合了上一輪隱藏

其中[:] 表示級聯操作,采用帶有ReLU激活函數的全連接層實現重新編碼功能fθ。式中融合了方面/觀點抽取和方面情感預測模塊的輸出,以及篇章級文本情感預測的輸出,它代表的是整個文本的情感表達。此外,還融合了來自篇章級兩個任務中的映射表示,它分別反映了某一元素的情感相關度和類別相關度,相關度越高,則預測為方面詞或觀點詞的概率越大。由于任務模塊AT和AS是最終任務,因此,在迭代過程中主要使用兩者的輸出進行信息傳遞,篇章級文本分類任務主要用于數據訓練。
模型在方面級和篇章級實例間交替訓練,設計的算法類似于一個循環神經網絡,因為每次迭代都使用相同網絡來更新共享隱藏變量。方面級訓練實例的損失函數定義如下:


Da、Dts、Dtc分別為方面級預測和篇章級情感及類別預測的訓練數據,Da、Dts來自同一領域類別,Dtc包含至少兩個領域類別的評論文本,其中一個領域類別和方面級相似,由此使模塊間語義相近,有價值的語義信息從篇章級任務傳遞到方面級任務。因此首先在篇章級任務上訓練,得到合理的預測,再在方面級和篇章級間交替訓練,利用比率參數p使損失值最小化,p采用交叉驗證方法獲取。算法的時間復雜度與maxepochs和batchsize相關,若用m、n分別代表它們,則上述算法時間復雜度為O(m×n)。
方面級情感分類任務采用數據集SemEval2014 和SemEval2015 中的3 個基準數據,如表1 所示,顯示了3個數據集在方面詞和觀點詞預測的訓練集和測試集數量。

表1 數據集信息Table 1 Dataset information
篇章級分類任務采用兩個不同領域的數據集Yelp restaurant 和Amazon electronics,類別預測連接兩個數據集一起訓練;情感預測采用其中一個數據集,與方面級任務采用的數據集類別一致。例如方面級情感預測采用表2中的餐飲類,則篇章級情感預測選擇篇章級訓練數據中的餐飲類,方面級情感預測采用表2中的電器類,則篇章級情感預測選擇篇章級訓練數據中的電器類。

表2 不同模型在3個數據集上的性能指標Table 2 Performance indicators of different models on three datasets 單位:%
通用基礎特征模塊詞嵌入初始化,連接通用嵌入矩陣和特定類別的嵌入矩陣,通用嵌入矩陣是具有300維的預訓練Glove 向量,類別嵌入矩陣是100 維的餐飲和電器類預訓練fastText向量。訓練使用Adam優化器,學習率和批量尺寸按常規值設置,無需進行特定調整,分別為10-4和32。
消息傳遞機制迭代次數及各個模塊網絡層數直接影響訓練開銷及預測效果,一般可通過設置閾值類思路避免數值過大造成的開銷增加及模型過擬合,以達到較好效果。本文對訓練中的一系列參數采用交叉驗證的方法計算,得到較優參數的同時控制了重復次數:其中共享編碼器和特定任務編碼器卷積層的層數,使基礎模塊和特定任務任一模塊卷積層層數之和等于交叉驗證產生值,則ns,nat,nas,nts,ntc可設置為{2,2,0,0,0} 或{1,3,1,1,1} ;訓練中通過交叉驗證在方面級數據集上調整最大迭代次數,設置為2,在方面級數據集和同類別篇章級數據集上調整參數p,使損失最小化,設置為2。
實驗中分別采用不同指標評估模型性能,兩個用于方面/意見詞抽取模塊,兩個用于方面情感預測性能。方面詞和意見詞預測結果用F1 分數衡量,表示為F1a和F1o,方面情感預測結果采用準確率和F1 衡量,表示為accs和F1s。
實驗對比模型如下所示。
(1)CMLA-AL:基于長短期記憶網絡構建模型,通過方面詞和觀點詞間的相互依賴關系建模,獲取文本方面詞和觀點詞預測,在注意力機制基礎上獲取情感預測[6,17]。
(2)DECNN-AL:基于多層卷積神經網絡構建模型,結合通用類別和特定領域類別數據,獲取文本方面詞和觀點詞預測,基于長短期記憶網絡上的注意機制獲取情感預測[5,17]。
(3)CMLA-DT:通過方面詞和觀點詞間的相互依賴關系建模,獲取文本方面詞和觀點詞預測,結合領域類別數據庫的語義知識,獲取情感分類[6,18]。
(4)DECNN-DT:基于多層卷積神經網絡構建模型,結合領域類別數據庫的語義知識,基于注意力機制獲取情感分類[5,18]。
(5)INABSA:是一種多任務集成模型,將整個任務建模為序列標記問題,具有統一的標記方案的方面抽取和情感預測模型[19]。
(6)MNN:是一種多任務集成模型,通過神經網絡多任務學習實現方面提取和情感分析任務[20]。
(7)FT-RoBERTa:同時比較了分別基于預訓練模型和句法解析器生成的依存句法樹在ABSA上的性能[21]。
(8)BERTAsp+SCAPT:從域內檢索的大規模情感標注語料庫進行了有監督的對比性預訓練,預訓練過程可以更好地捕捉評論中隱性和顯性情緒傾向[22]。
除6 種對比模型,還對比了MTIITM-t 即未嵌入篇章級文本語料庫的網絡,分析表2數據,在3個數據集上數據走向基本一致,MTIITM 和MTIITM-t 模型優于對比模型。
針對方面詞和觀點詞抽取模塊的實驗數據,可以看出MTIITM-t 模型結果最優,由此可得未嵌入篇章級文本語料庫的模型在這一部分優于其他模型;針對方面情感預測模塊部分,方面詞是語料庫中已標注過的正確標簽,在此基礎上,MTIITM模型最優,即加入基于詞級交互和AT-AS 信息交互的雙注意力機制的模型在方面級情感預測中優于單獨運行兩個模塊的模型。從多任務整體性能的角度看,實驗中嵌入文檔級語料分析或句法分析的幾種模型,均有效提高了分類準確率和F1 分數,未加入篇章級語料庫嵌入的MTIITM-t也優于其他大部分對比模型。由此可得通過模塊間交互信息的獲取和篇章級大型文本語料庫的利用有效的提高了模型準確率,模型適用性更強。


圖3 不同迭代次數的F1分數Fig.3 F1 scores for different iterations
模型采用不同領域的數據集以配合聯合訓練中的篇章級類別預測模塊,模型適用范圍較廣,對于包含跨領域文本的方面情感分析同樣適用。因此可以作為預訓練模型利用遷移學習的思路應用到多種任務中,以減少耗時,提高模型精確度,進一步獲得性能提升。針對提出模型層數及功能模塊豐富的特點,復用時可采用一些微調方法,例如:利用預訓練模型體系在大量計算資源上進行訓練,較低層適用的是通用特征,而較高層適用的是特殊特征,因此可選擇凍結部分層或模塊,只訓練所需要的部分。若數據集較小并擁有大量參數,則需要凍結更多的層避免過度擬合,若數據集較大并參數數量很少,則通過對新任務訓練更多層來完善模型。
通用基礎特征模塊、方面詞抽取模塊和方面詞情感預測模塊組成模型的原始狀態,在原始模型基礎上分別加入某一分量,驗證模型效果。
如表3所示,分別加入基于詞級交互和AT-AS信息傳遞的雙注意力機制;在消息迭代傳遞中傳送方面級任務的輸出更新共享變量(M-A);在消息迭代傳遞中傳遞篇章級任務的輸出更新共享變量(M-T);加入TS/TC 任務進行參數訓練。分析表3 數據,每一個分量的加入都有效提高了模型F1 分數,其中消息傳遞迭代中M-A 和M-T 對模型性能影響最大,可得消息傳遞機制的有效性,由于通用基礎特征模塊已嵌入篇章級文本語料庫,所以后續TS/TC 任務獲取的信息對模型性能影響稍弱。

表3 分量對模型性能貢獻對比Table 3 Components contribution to model performance comparison
將方面級情感預測模塊的基本方法運用到篇章級文本分類模塊,對比文中提出的篇章級GRU-MP 網絡,基本方法MTIITM-CNN 采用多層CNN 和自注意力計算,去除自注意力層BI 操作。對比結果如圖4 所示,GRU-MP 網絡通過注意力層得到的情感權重和最大池化操作提取位置不變特征和關鍵信息,更好地保留文本的語義信息和位置信息,在三個數據集上均比基本方法的F1分數有所提高,有效提高了情感預測性能。

圖4 GRU-MP網絡性能Fig.4 GRU-MP network performance
本文基于方面情感分析,提出基于消息傳遞機制的多任務交互式學習網絡,設計的消息傳遞機制顯式地對任務間交互進行建模,通過共享隱藏變量迭代傳遞信息,有助于特征學習和推理,并提高了模型性能。方面級任務中實現雙注意力信息交互機制,通過GRU-MP網絡實現篇章級任務預測,通過迭代算法在方面級和篇章級任務間交替訓練,驗證了模型的有效性和可行性。模型適用范圍廣,對于包含跨領域文本的方面情感分析,模型同樣適用。