王素格,王敏,廖健*,陳鑫
(1.山西大學 計算機與信息技術學院,山西 太原,030006;2.山西大學 計算智能與中文信息處理教育部重點實驗室,山西 太原,030006)
文本情感分析[1]是自然語言處理領域最熱門的研究方向之一,在產品評價、社會輿情分析、基于內容的推薦等方面具有巨大的應用潛力。由于人們表達情感或觀點的方式多種多樣,既可以使用明確的顯式情感詞語表達[2],也可以使用含蓄的陳述性的事實表達。因此,Liu[3]將情感分為主觀觀點(subjective opinion)和事實蘊含觀點(fact-implied opinion),前者是給出情感傾向或意見的主觀陳述,而后者則是通過客觀陳述隱晦地表達情感。Liao等[4]將隱式情感句定義為“表達主觀情感但不包含顯式情感詞的語言片段”。據統計,漢語中約有15%~20%的句子含有隱式情感[4-5]。與顯式情感分析[6-7]相比,隱式情感分析存在句子本身提供的信息不足的問題,需要從上下文中引入新的信息。
現有的隱式情感分析工作主要集中在語料庫構建和隱式情感句判別。Chen等[8]收集了不含情感詞的中文酒店評論,構建了雙隱式語料庫。他們發現,隱式情感與其相鄰的顯式情感在情感極性上往往是一致的。Deng等[9]利用語境中的顯式情感線索以及對主觀事件的推斷來檢測隱式情感。Liao等[5]提出了一個面向社交媒體的細粒度的、層次化的情感標注框架,構建了一個包含顯式和隱式情感語句的大型語料庫。Zhang等[10]構建了一個隱喻語料庫,對語料的情緒類別和強度進行了標注。Kauter等[11]提出了一種新的細粒度方法來識別財經新聞和評論中的顯式和隱式情緒。Liao等[4]提出了一種基于表示學習的多層次語義融合方法,該方法學習并融合了三個不同層次的特征——單詞、句子和文檔層次,以識別事實型隱式情感句,但該模型受到了語法結構的限制。BiLSTM(bi-directional long-short term memory)[12]序列學習模型能夠有效地捕捉長依賴性序列的語義,并通過引入注意力機制[13-15]自動為句子中的單詞分配不同的權重。Wei等[16]提出了一種基于多極化正交注意機制的隱式情感分類模型MPOA,該模型通過有效地模擬詞匯和特定的情感極性注意力之間的差異,提升隱式情感分類的性能。上下文信息作為隱式情感句的背景信息[17],可以還原語言環境。Zuo等[18]提出了一種基于上下文的異構化圖卷積網絡(CsHGCN)框架,該框架將整個文檔級別的上下文視作異構圖,保持其中的依賴結構,并使用圖卷積網絡(GCN)獲取隱式情感句和上下文的特征,融合兩種信息提高了隱式情感句判別的準確性,但并未考慮到隱式情感句的重要特征,不同情感極性和隱式情感句詞匯之間的差異。徐昇等[19]提出了一個三層注意力網絡模型(TLAN),該模型通過模擬人類雙向閱讀和重復閱讀過程,對中文隱式篇章關系進行識別。潘東行等[20]提出了一種融合上下文語義特征的模型,用于隱式情感句判別,該模型通過引入上下文信息,并重點關注與隱式情感句判別任務相關的上下文,提升了中性隱式情感句的判別效果。趙容梅等[21]提出了一種新型混合神經網絡模型,通過卷積神經網絡對隱式情感句和上下文提取特征,在詞級別和句級別分別加入注意力機制,對隱式情感句更好的表示。然而,這些模型沒有在利用隱式情感句和情感極性之間的關系的同時,結合上下文信息對隱式情感句信息進行有效的擴充,尤其是當隱式情感句的上下文信息改變時,其情感傾向有可能隨之變化,如表1所示。其中,Target表示隱式情感句,Context表示上下文信息。
表1中的示例E1和E2僅考慮隱式情感句本身,無法判斷情感傾向,若引入其上下文信息,可減小判斷情感傾向的難度。E1描述了租的房子上班方便,表達了褒義的情感。但對于E2,上下文環境發生了變化,其信息中體現出不完全的無奈,表達了一種貶義的情感。

表1 上下文對隱式情感句影響示例Table 1 Examples of the influence of context on implicit sentiment sentences
根據上述分析,本文提出一個融合上下文信息的多極性正交注意力的隱式情感句判別方法(Context-Based Multi-Polarity Orthogonal Attention mechanism,C-MPOA)。該方法利用不同情感極性和隱式情感句詞匯之間的差異,引入上下文信息擴充原有的字面意義,以解決隱式情感自身信息不足的問題。本文的主要貢獻如下:
(1)使用多極性正交注意機制對隱式情感句表示,捕獲不同情感極性和隱式情感句詞匯之間的差異,作為隱式情感句的重要特征。
(2)使用隱式情感句表示作為查詢向量,自動關注其上下文,以彌補隱式情感句中信息的不足。
根據引言對隱式情感句判別問題的分析,將上下文信息作為背景信息,建立一種融合上下文信息的多極性正交注意力的C-MPOA模型,豐富隱式情感句的表示。模型框架圖如圖1所示,其中,虛線箭頭表示注意力權重,實線箭頭表示數據流操作,虛線框表示一組向量化數據,例如qneu、qpos和qneg為不同極性的查詢向量,圖中Attention表示多極性注意力機制,Orthogonal Punish表示模型優化部分,使不同極性的查詢向量正交。

圖1 融合上下文的多極性正交注意力模型框架Fig.1 Framework of context-based multi-polarity orthogonal attention model
該模型由3層組成:預訓練層、融合上下文的多極性注意力層和輸出層,詳細描述如下:
(1)預訓練層
該層主要對隱式情感句和上下文進行預處理。給定一個隱式情感句(target tokens)S=(x1,x2,…,xn),S的 上 下 文(contextual tokens)為,其中n和m分別為S和C的句子長度。預訓練資源中的詞向量可以捕獲句子中詞匯間的動態語義,為模型提供大量的初始語義信息。因此,將S和C分別使用預訓練的詞向量初始化表示為S=(e1,e2,…,en)和其中,ei,,de是單詞表示的維數。
(2)融合上下文的多極性注意力層
該層利用多極性注意力機制將隱式情感句和上下文信息融合建模,強化隱式情感句中的信息。并考慮正向和反向方向序列,以更精確地捕獲序列的上下文信息,由此采用BiLSTM對隱式情感句S和上下文C進行隱層表示,得到S和C的隱層表示其中,是第i個詞在S中的隱層表示,類似的,是第j個詞在C中的隱層表示,為BiLSTM的隱層單元數。
為了將情感極性標簽信息融入隱式情感句S表示,使用不同極性的注意力機制,引入特定極性的查詢向量,使注意力機制更多的關注不同情感極性間的差異。假設 Q={qpos,qneg,qneu},qpos,qneg,qneu分別對應情感極性為褒義、貶義和中性。q∈Q為特定極性的查詢向量,vq是句子在情感極性q下的表示。具體見公式(1)-(3):

對于上下文C的表示,將上下文C視為一個整體,使用經全連接層變換后的隱式情感句表示qc作為查詢向量為C中的每一個詞匯分配權重,對上下文信息進行詞級別的注意,使得模型能自動關注到上下文中與隱式情感句相關的關鍵信息。上下文的表示vc見公式(5)-(8):


其中,W和Wc為參數矩陣,b為偏置,為上下文的詞級別注意力得分,為由計算出的歸一化權重,vc為上下文的表示,vc∈R3dm。
將隱式情感句表示v與上下文表示vc拼接,得到融合了上下文信息的隱式情感句表示,見公式(9):

(3)輸出層
融合上下文信息的隱式情感句表示vout,映射到情感極性類別空間內,并通過公式(10)將每個類別的分數歸一化到一個近似概率值,

其中,Wout和bout分別為權重矩陣和偏置。
訓練階段采用交叉熵損失函數進行模型優化,見公式(11):

其中,x為目標句,y為句子的真實標簽,D為語料庫。
在模型優化過程中,通過最小化損失函數(公式(12))保持每個特定情感極性查詢向量的正交性,使得模型在優化過程中能夠始終保持對各情感極性注意力差異性[16],

其中,qi,qj∈Q為特定情感極性的查詢向量,Lorthogonality對任意一對注意力查詢向量間的余弦相似度度量。
在模型訓練過程中,將正交注意損失Lorthogonality引入到模型優化Lclassification中,使得查詢向量間的余弦相似度最小化。最終損失函數如公式(13)所示:

其中,γ為一個參數,用于調整兩部分損失間的權重。
(1)數據集
本文采用第八屆社會媒體處理會議的中文隱式情感分析數據集SMP2019-ECISA①https://www.biendata.xyz/competition/smpecisa2019/作為實驗數據集。該數據主要來自微博②https://weibo.com和一些熱門論壇,如馬蜂窩③https://www.mafengwo.cn/,攜程④https://www.ctrip.com/,汽車之家⑤https://www.autohome.com.cn/。微博的數據主要集中在若干社交事件或事件上,論壇的數據主要集中于某些產品或服務上。一些重復的句子已提前刪除。數據集概況見表2。

表2 數據集概況Table 2 Overview of dataset
(2)評價指標
本文的實驗評價指標采用各情感極性下的F1值和宏平均F1值,以驗證C-MPOA模型的有效性,見公式(14)-(15)。

其中,i∈{pos,neg,neu}是一種情感極性,Pi,Ri和F1i分別為情感極性i對應的準確率、召回率和F1值。
(1)模型參數
本文模型C-MPOA的實現基于PyTorch⑥https://pytorch.org/框架,模型超參數設置見表3。
表3中的TENCE、Random和ELMo分別表示預訓練層中詞匯采用TENCE-AI-LAB⑦https://ai.tencent.com/ailab/nlp/en/embedding.html詞向量靜態初始化、隨機初始化和ELMo預訓練模型⑧https://github.com/HIT-SCIR/ELMoForManyLangs動態初始化。

表3 模型超參數設置Table 3 Hyperparameter settings for the model
(2)基線方法
為了驗證本文模型C-MPOA的有效性,本實驗使用如下的基線方法與C-MPOA模型對比。具體對比方法如下:
MPOA[16]:使用多極性正交注意力機制對隱式情感句表示,以判別隱式情感句。
CsHGCN[18]:使用基于上下文的異構化圖卷積網絡模型,對隱式情感句及其上下文建模,以判別隱式情感句。
BiLSTM+att+C:與本文所提方法不同之處是,隱式情感句表示部分使用的注意力機制是自注意力機制,其余與本文提出的模型CMPOA相同。
利用本文所提C-MPOA模型與第2.2節的基線方法,在SMP-ECISA數據集上進行隱式情感分析的對比實驗,實驗結果如表4所示。其中,F-neu、F-pos和F-neg分別對應中性、褒義和貶義情感極性的F1值。F-macro是三種情感極性下的平均得分。括號里的詞指的是不同的預訓練初始化模式。加粗的結果表明,相應的方法在所有基線中取得的最好的性能。

表4 模型C-MPOA與基線方法比較實驗結果Table 4 Experimental comparison results between model C-MPOA and baseline methods
由表4的實驗結果可以看出:
(1)在相同的預訓練模型下,本文的模型C-MPOA與MPOA模型相比F-macro值可提高1.5%,說明了引入上下文信息可以對隱式情感句信息擴充,使其更準確地表示。
(2)在相同的預訓練模型下,本文的模型C-MPOA與基線模型BiLSTM+att+C相比,實驗結果均有所提高。說明了多極性注意力機制的有效性,它能夠捕獲情感極性和隱式情感句表示之間的差異,有助于提高隱式情感判別的性能。
(3)預訓練方式為ELMo的結果普遍優于random。其原因是,ELMo是一個已在大規模語料庫上預訓練的模型,為本文模型提供了豐富的初始語義信息,在一定程度上證明了預訓練語言模型的有效性。
(4)預訓練方式為TENCE的方法與ELMo方法相比,取得了更好的效果。這表明利用大規模語料預訓練的靜態詞向量資源含有更多、更豐富的語義信息,在隱式情感數據規模較小時可以起到良好的信息補充作用。
需要說明的是,CsHGCN模型同樣加入了上下文信息,它的實驗結果F-neu、F-pos和F-neg分別為 0.883、0.638和 0.786,F-macro為0.769,其性能高于本文的方法。其原因是,Zuo等[18]將 SMP2019-ECISA 數據集中訓練、驗證集進行融合,并按照8∶1∶1的比例進行劃分作為數據集,CsHGCN模型在該數據集上訓練、驗證以及測試,而本文使用SMP2019-ECISA數據集,訓練集和測試集分布存在一定的不一致性,導致實驗結果有所差別。
針對隱式情感句中信息不足的問題,本文提出了一種融合上下文信息的隱式情感句判別方法C-MPOA。該方法充分利用隱式情感句上下文信息以及注意力機制自動挖掘對隱式情感判別具有重要作用的關鍵上下文信息。相比于之前在隱式情感分析方面的工作,本文在關注隱式情感句和情感極性之間差異的基礎上,利用上下文對隱式情感句的信息進行了擴充,豐富了句子的語義表達,提升了隱式情感句判別的性能。在SMP2019-ECISA隱式情感分析數據集上的實驗顯示,相比于基線方法本文提出的模型性能得到了提升,驗證了該方法的有效性。
下一步的工作我們將聚焦于隱式情感句表示中融入情感常識的表示以及引入語義推理機制,對隱式情感句及其上下文信息更準確地進行建模和深度理解。