宋 婷 ,陳戰(zhàn)偉
(1.太原科技大學 計算機科學與技術學院,山西 太原030024;2.中國移動通信集團山西有限公司,山西 太原030001)
情感分析是自然語言處理任務之一,文本中針對某實體給出總體評價的同時,對于實體的不同屬性也會分別給出各自觀點,由此文本的方面級情感分析是情感分析的重要任務之一,實現(xiàn)對文本觀點更深層次的情感挖掘。如何利用自然語言處理現(xiàn)有技術從社交網(wǎng)絡大量信息中獲取文本的情感傾向,是方面情感分析的主要研究工作。
方面級情感分析首先對方面詞進行提取,方面詞可以是一個單詞,或者是一個短語;接著針對提取出的不同方面分別獲取情感信息。 例如:“Good food but dreadful service at that restaurant”,句中的評論實體是餐廳,分別對它的兩個方面即兩種屬性描述觀點,兩種屬性分別是food 和service,相對應的情感極性分別是積極和消極。 由此得出兩個方面情感極性可能相同,也可能相反。
深度學習在自然語言處理領域被廣泛應用,深度神經(jīng)網(wǎng)絡模型早期在機器翻譯、文本情感分類等任務中取得了比以往更好的效果。 注意力機制的結(jié)合使神經(jīng)網(wǎng)絡模型高度關注特定目標的特征信息,當前使用較多的結(jié)合注意力機制的神經(jīng)網(wǎng)絡模型有卷積神經(jīng)網(wǎng)絡(CNN)和循環(huán)神經(jīng)網(wǎng)絡(RNN)[1-2]。文獻[3]提出基于多注意力機制的CNN,計算詞向量、詞性、位置信息的注意力機制,結(jié)合卷積神經(jīng)網(wǎng)絡,在不依賴外部知識的情況下獲取方面級情感極性。 文獻[4]提出首先利用長短期記憶網(wǎng)絡(LSTM)獲取句子的上下文信息,再使用卷積神經(jīng)網(wǎng)絡提取注意力獲得具體的句子表示,模型中嵌入了方面信息,取得較好的分類效果。 基于注意力機制的CNN使用濾波器獲取文本特征,僅得到局部單詞間的依賴關系,未得到整體句子中所有單詞間關系。 基于注意力機制的RNN、LSTM 等循環(huán)神經(jīng)網(wǎng)絡考慮前一時刻的狀態(tài)信息,對過往信息具有記憶功能,但文本中單詞間的依賴關系隨著距離的增大逐漸減弱。 上述兩種情況均使用單一注意力模式。 本文提出層次化雙注意力GRU 網(wǎng)絡的方面級情感分析模型,主要貢獻如下:
(1)提出采用雙注意力機制模式進行方面級情感分析,通過特定方面目標在句中的注意力機制和文本上下文自注意力機制,抽取方面特征信息和句子的全局依賴信息,從而深層次地獲取情感特征。
(2)利用層次化的GRU 網(wǎng)絡獲取句子內(nèi)部和句子間的依賴關系。 網(wǎng)絡下層嵌入特定方面信息,獲取了針對方面目標的局部特征信息,網(wǎng)絡上層通過雙注意力機制和詞語層的輸入,獲取針對特定方面整體文本的特征依賴信息。
(3)在SemEval 2014 兩個數(shù)據(jù)集和Twitter 數(shù)據(jù)集上進行對比實驗,驗證了該方法的有效性,針對方面級情感,分類準確率均得到了有效提升。
方面級情感分析屬于細粒度情感分析,早期研究中使用情感詞典、機器學習等傳統(tǒng)方法[5-6],需要大量預處理過程、復雜的特征工程和外部知識分析,耗時且模型效果差。
近期,深度學習在方面情感分類中有了較大突破,取得比傳統(tǒng)方法更好的效果。 文獻[7]提出基于門控制的卷積神經(jīng)網(wǎng)絡模型,根據(jù)特定的實體方面屬性選擇性地輸出結(jié)果,模型速度和準確率得到較好效果。 文獻[8]提出將Senti-LSTM 模型應用于方面情感分析,同時結(jié)合情感常識獲得了較好的情感分類效果。 文獻[9]提出AE-LSTM 神經(jīng)網(wǎng)絡和ATAELSTM 神經(jīng)網(wǎng)絡模型,二者都嵌入了方面信息,通過LSTM 獲取文本上下文特征信息,最終建模生成注意力向量,后者比前者嵌入效果增強。 文獻[10]提出將卷積神經(jīng)網(wǎng)絡和循環(huán)神經(jīng)網(wǎng)絡聯(lián)合用于方面情感預測,方法中使用了投票策略。
早期,注意力機制首先應用到機器翻譯中,提出全局和局部兩種注意力機制[11]。 文獻[12]利用長短期記憶網(wǎng)絡結(jié)合注意力機制獲取方面情感分類,方法中關注方面屬性和情感術語的內(nèi)在聯(lián)系。 文獻[13]提出將卷積操作和注意力機制結(jié)合,通過卷積操作得到某一方面的注意力。 文獻[14]提出將卷積神經(jīng)網(wǎng)絡和注意力機制結(jié)合用于句子對建模,在卷積、池化的同時都進行注意力計算。 文獻[15]提出利用全局注意力獲取某一方面的粗略信息特征,利用語法指導的局部注意力獲取距離某一方面較近的單詞,最終合成全局注意力和局部注意力,避免句中與某一方面情感獲取低相關的單詞獲得高注意力分數(shù)。 文獻[16]提出基于注意力機制的Transformer 網(wǎng)絡,其中使用大量自注意力獲取句中單詞關系,提出多頭注意力機制,不再是傳統(tǒng)的單一注意力,通過線性變換過程獲取深層次的注意力表示。 由此證明注意力機制在方面級情感分析領域的有效性,近期研究較多圍繞深度神經(jīng)網(wǎng)絡和注意力機制進行。
本節(jié)主要介紹層次化雙注意力GRU 網(wǎng)絡的方面級情感分析模型的相關細節(jié)。 圖1 為網(wǎng)絡模型圖,由4 大部分組成:雙注意力層(包含方面目標詞注意力機制和上下文語義注意力機制)、單詞層GRU 網(wǎng)絡、句子層GRU 網(wǎng)絡、情感輸出層。 具體描述如下:
(1)方面注意力層。 通過獲取方面詞嵌入矩陣和文本上下文語義詞嵌入矩陣的注意力值,得到方面的注意力信息。
(2)上下文語義自注意力層。 獲取句中每一個位置上的單詞與句中其他單詞的依賴關系,計算兩者間的注意力得分,從而獲取文本全局上下文語義間的依賴關系。
圖1 層次化雙注意力網(wǎng)絡模型
(3)單詞層GRU 網(wǎng)絡。 其中在傳統(tǒng)GRU 網(wǎng)絡嵌入了方面特征,當前時刻狀態(tài)由上一時刻輸出和新嵌入信息決定。
(4)句子層GRU 網(wǎng)絡。 雙注意力層輸出和詞語層GRU 的輸出合并進入句子層GRU 網(wǎng)絡,從而得到整體文本間的依賴關系。
本節(jié)針對句中的特定方面分析句中的哪些內(nèi)容與其有較高相關度,比如句中情感詞、與方面相對應的觀點詞等。
方面注意力機制如圖2 所示。 假設句子s 中抽取的兩個特定方面向量矩陣表示為WAsp=(WAsp1,WAsp2),句子s 的詞向量矩陣為Ws,將每一個方面詞嵌入矩陣與上下文詞嵌入矩陣進行注意力計算,如式(1)所示,從而獲取句子某一方面的注意力信息。
二者注意力計算采用加性相似度函數(shù),如式(2)所示,使用的是神經(jīng)網(wǎng)絡,其中,σ(·)表示激活函數(shù),wT是訓練參數(shù)。相似度向量Eij進行歸一化操作得到, 得到的注意力權(quán)重向量代表某一位置上方面詞與上下文語義的相關程度,如式(3)所示。
權(quán)重向量矩陣中對應元素與上下文詞向量加權(quán)求和得到最終的注意力值,如式(4)所示:
本節(jié)獲取句中每一個位置上的單詞與句中其他單詞的依賴關系,計算兩者間的注意力得分,從而獲取全局的結(jié)構(gòu)信息。 本文采用自注意力機制獲取上下文語義依賴關系。
通過句子做不同的線性變換獲取全面的注意
圖2 方面注意力機制
式中采用的是縮放點積注意力計算相似度,計算速度更快且減少了高維計算過程中產(chǎn)生的損失,其中,dk是矩陣K 中列向量維度。
本文使用層次化的GRU 網(wǎng)絡分別獲取句子層和詞語層上下兩層特征信息,下層獲取句子內(nèi)部單詞層面之間的聯(lián)系,上層獲取不同句子之間的相關程度。
2.4.1 詞語層GRU 網(wǎng)絡
詞語層GRU 網(wǎng)絡針對句子特定方面目標詞獲取單詞間特征聯(lián)系,按方面劃分的分句中包含了和方面相關度最大的特征信息,單詞層面抽取的是單詞間局部特征。
每一個GRU 單元以上一時刻隱藏層的狀態(tài)和本時刻輸入決定,詞語層網(wǎng)絡嵌入了方面信息獲取基于方面的局部特征,如圖3 所示。
圖3 詞語層GRU 網(wǎng)絡
句子s 經(jīng)過GRU 網(wǎng)絡得到每一時刻的隱藏層狀態(tài)輸出為h={h1,h2,…,hn},h∈Rd×n,其中d 為輸出向量的維度。 將特定方面詞向量WAsp和上一時刻網(wǎng)絡的輸出隱藏層狀態(tài)hi線性組合,共同決定下一時刻的網(wǎng)絡狀態(tài),如式(6)所示:
其中,Wh、Wa分別是隱藏層輸出和方面向量相應的權(quán)重矩陣,通過訓練過程調(diào)整權(quán)重參數(shù)達到特定方面目標的高關注度。
2.4.2 句子層GRU 網(wǎng)絡
僅依賴詞語層網(wǎng)絡不能獲取充分的特征信息,不同句子間也有著密切的聯(lián)系,尤其對一些短句和表達不清的句子,需要利用句子層網(wǎng)絡獲取的整個文本情感信息來判斷。
將雙注意力與詞語層GRU 的輸出結(jié)果合并作為句子層GRU 網(wǎng)絡的輸入x′,如式(7)~式(8)所示:
其中,attA和attS分別是通過方面注意力機制和上下文注意力機制計算所得的注意力值,hn是詞語層網(wǎng)絡最末一層GRU 神經(jīng)單元最終的輸出。
本文使用一個全連接層函數(shù)接收句子層GRU網(wǎng)絡的輸出,得到文本情感分類結(jié)果,如式(9)所示:
其中,W 是全連接層權(quán)重參數(shù),b 是全連接層偏置項,hj是句子層網(wǎng)絡的最終輸出。 本文使用反向傳播算法訓練網(wǎng)絡模型,通過最小化交叉熵優(yōu)化模型,如式(10)所示:
其中,D 是訓練集大小,C 是數(shù)據(jù)類別數(shù),y 是文本的預測類別,y?是實際的類別,λ||θ||2是交叉熵正則項。
本文提出基于層次化雙注意力GRU 網(wǎng)絡的方面級情感分析模型(HDAG),采用SemEval 2014 Task4的Laptop、Restaurant 數(shù)據(jù)集和Twitter 數(shù)據(jù)集進行驗證,數(shù)據(jù)集中包含四種情感類別:積極、消極、中立、沖突,由于最后一類數(shù)據(jù)在數(shù)據(jù)集中所占比例較低,實驗用數(shù)據(jù)只保留積極、消極、中立三種。 實驗數(shù)據(jù)集數(shù)據(jù)統(tǒng)計如表1 所示。
表1 實驗數(shù)據(jù)信息
本文實驗的評價指標采用分類準確率,文本詞向量采用Glove 進行初始化,詞向量的維度為300。采用均勻分布U(-0.01,0.01)對未登錄詞隨機初始化,偏置初始化為0,隨機失活率(Dropout)設置為0.5,L2正則項系數(shù)設置為10-4,訓練采用Adam 優(yōu)化器更新模型參數(shù),初始學習率設置為0.01。
本文提出的基于層次化雙注意力GRU 網(wǎng)絡的方面級情感分析模型(HDAG)在兩個領域的三個數(shù)據(jù)集上分別與以下模型進行對比,以驗證模型性能:
(1)CNN:采用卷積神經(jīng)網(wǎng)絡模型,模型中輸入的是獨立的句子,在方面級情感分類中無方面信息和注意力機制的結(jié)合,不能獲取針對方面的文本內(nèi)部依賴關系,是一種最基本的卷積神經(jīng)模型[17]。
(2)ATT-CNN:采用基于注意力機制的卷積神經(jīng)網(wǎng)絡,以獨立句子為輸入,針對特定方面目標計算注意力機制,在卷積層對方面相關情感信息高度關注,針對方面級情感分類效果有所提升,但不能獲得文本句間的聯(lián)系[18]。
(3)LSTM:采用最基礎的長短期記憶網(wǎng)絡,模型中輸入獨立的句子進行方面情感分析,不能針對特定方面目標獲取相應情感信息[19]。
(4)LSTM-R:基于LSTM 的模型,整體文本評論作為模型輸入,模型中關注了文本句子間的緊密聯(lián)系,針對特定方面未關注其注意力機制[20]。
(5)TD-LSTM:通過兩個LSTM 對左、右兩個方向分別獲取文本上下文信息,獲得情感分類結(jié)果[21]。
(6)ATAE-LSTM: 將特定方面信息嵌入文本句子向量,利用注意力機制獲取文本信息權(quán)重,從而得到情感分類結(jié)果[9]。
將本文提出的網(wǎng)絡模型(HDAG)與對比模型進行比較,實驗結(jié)果如表2 所示。
表2 不同模型的方面級情感分類準確率(%)
分析表2 實驗結(jié)果,類似第一行和第三行沒有嵌入方面信息及注意力機制的模型,情感分類效果欠佳;基于LSTM 的模型優(yōu)于基于CNN 的模型,是因為LSTM 緩解了句子的長距離依賴問題;ATT-CNN和ATAE-LSTM 加入注意力機制獲取情感分類結(jié)果的模型分類準確率普遍高于無注意力機制模型,證明注意力機制對方面情感分類有一定提高作用,由于CNN 的局限性,加入注意力機制的CNN 不如注意力機制與LSTM 相結(jié)合的網(wǎng)絡的分類效果好,ATAE-LSTM 嵌入了特定方面的情感特征,分類準確率在幾種對比模型中相較最高;LSTM-R 將整體文本作為輸入,獲取了文本中句子間的關系,比以獨立句子作為輸入的模型情感分類效果更好,由此可得文本句間的相互關系對情感分類的重要性。
本文提出的網(wǎng)絡模型在特定方面的情感分類準確率優(yōu)于對比模型,驗證了模型的有效性,對比模型中均使用單一的注意力機制,本文使用雙注意力機制獲取文本全局的依賴信息,使用分層的神經(jīng)網(wǎng)絡模型獲取文本全局的情感特征信息,從而得到更好的分類效果。
本文計算特定方面目標的注意力機制和文本句子自注意力機制分別采用的是加性注意力和縮放點積注意力機制。
圖4 注意力機制準確率
圖4 是分別采用兩種注意力機制的模型在三個數(shù)據(jù)集上不同迭代次數(shù)的平均準確率,加性注意力采用的是神經(jīng)網(wǎng)絡模型,在不同的迭代次數(shù)下略高于縮放點積注意力機制。 圖5 是兩種注意力在三個數(shù)據(jù)集上的運行時間,加性注意力需要訓練參數(shù),可以看出縮放點積注意力機制下的運行時間更短。
圖5 不同注意力機制下的運行時間
因此本文方面注意力采用加性注意力機制;句子的自注意力過程需要多次線性變換,故采用點積注意力機制。
在以往工作中,方面情感分析模型僅考慮單一層面注意力機制,且無法獲取句子間依賴關系。 本文提出一種層次化的雙注意力神經(jīng)網(wǎng)絡模型用于方面級情感分析,針對特定方面引入方面目標的注意力機制以及文本上下文自注意力機制,獲取方面特征信息和句子的全局依賴信息; 設計層次化GRU 網(wǎng)絡,其中單詞層嵌入特定方面信息,獲取針對方面目標的句子內(nèi)部特征信息,句子層網(wǎng)絡通過雙注意力機制和詞語層的輸入,獲取句子間的特征依賴信息,從而實現(xiàn)深層次的方面情感分類。 模型沒有考慮文本的時序性問題,以及針對跨領域詞匯,模型的分類效果還有待提升,此工作將是下一步研究的重點。