韓 虎 吳淵航 秦曉雅
①(蘭州交通大學電子與信息工程學院 蘭州 730070)
②(甘肅省人工智能與圖形圖像工程研究中心 蘭州 730070)
方面級情感分析,也稱細粒度情感分析,是情感分析的一個子領域,旨在識別在線評論中明確給出的方面的情感極性[1]。例如:“The restaurant environment is very good, but the waiter attitude is so bad.”在這句話中,“restaurant environment”和“waiter attitude”是兩個不同的方面,可以看出,“restaurant environment”的情感極性是積極的,而“waiter attitude”的情感極性是消極的。由于兩個方面的情感極性是截然相反的,因此不能僅考慮句子層面的情感極性。
早期,情感分析問題主要采用知識工程與傳統機器學習相結合的方法[2-4]。近年來,以神經網絡為代表的深度學習在各個領域取得了顯著進展[5-9],由于其可以自動提取特征而不需要人工干預,一些學者采用神經網絡解決情感分析問題[7-9]。然而,基于神經網絡的方法不能有效地區分句子中每個單詞的重要程度,而且句子的情感極性不僅由內容決定,還與所涉及的方面密切相關。為此,一些學者將注意力機制引入情感分類任務中[10-14],以重點關注句子中的方面。文獻[10]提出了一種基于注意力機制的長短期記憶網絡模型(ATtention-based Long Short-Term Memory network with Aspect Embedding, ATAE-LSTM),當不同的方面作為輸入時,注意力機制可以關注句子中的不同部分。文獻[11]將記憶網絡(Memory Network, MemNet)引入情感分類任務中,并結合多層注意力機制生成方面與上下文的特征表示。文獻[12]認為目標和上下文都需要特殊對待,需要使用交互注意力機制來學習各自的表示,因而提出了交互式注意網絡(Interactive Attention Networks, IAN)。文獻[13]指出IAN模型中的池化操作會忽略句子與目標之間的詞對交互,需要以聯合的方式對方面和句子進行建模,為此提出一種新的交互注意力模塊(Attention-Over-Attention, AOA)。文獻[14]提出了一種方面-上下文交互表示結構,該結構通過使用多頭注意力機制來生成方面和上下文的特征表示。
雖然注意力機制與傳統神經網絡相結合的方法已經取得了一定效果,但是這類方法忽略了句子中方面與上下文詞之間的句法依存信息以及位置信息,可能導致注意力機制難以學習到合適的注意力權重。具體來說,現有的注意力機制可能導致給定的方面錯誤地將句法上不相關的上下文詞識別為情感詞。為了解決這一問題,一些學者將圖神經網絡(Graph Neural Network, GNN)引入情感分類任務中[15,16],使得句法依存信息得到了有效的利用。文獻[15]使用圖卷積網絡(Graph Convolutional Network, GCN)從句子的依賴樹中學習節點表示,并結合注意力機制將其用于情感分類任務。文獻[16]提出了一種基于GCN的方面級情感分類模型,該模型可以有效地捕捉句子中多個方面之間的情感依賴關系。此外,方面與上下文詞之間的位置信息對識別方面的情感極性來說也是至關重要的,句子中與方面相鄰的詞要比其他距離較遠的詞受到更多的關注。為了合理地利用位置信息,文獻[17]提出了一種位置感知雙向注意力網絡模型(Position-aware Bidirectional Attention Network, PBAN),該模型不僅關注方面的位置信息,還利用雙向注意力機制相互建模方面和句子之間的關系。文獻[18]提出一種基于依存樹及距離注意力的句子屬性情感分類模型(Dependency Tree and Distance Attention,DTDA),該模型通過計算句子中方面與上下文詞的相對距離與語法距離,構造包含語義信息和距離信息的句子特征表示。需要注意的是,上述方法大多對句法依存信息以及位置信息進行單獨建模,依存信息以及位置信息并沒有得到有效的利用,這使得注意力機制的作用沒有得到充分的發揮。為此,本文提出一種面向方面級情感分析的交互圖注意力網絡模型(an Interactive Graph ATtention networks,IGATs)。本文的貢獻如下:
(1)本文對句子中方面與上下文詞之間的句法依存信息與位置信息進行了有效的建模,使得模型不僅能夠學習到位置信息,還能夠捕獲到詞與詞之間的句法依存關系;
(2)模型使用交互注意力機制建模方面與上下文詞之間的語義關系,并分別生成方面與上下文的表示,以判斷方面的情感極性;
(3)本文在3個公開數據集上評估模型的性能,實驗結果表明,該模型對不同數據集的準確率(Accuracy, Acc)與宏平均F1值(Macro average F1,MF1)均有所提升,并進一步證明了句法依存信息與位置信息對模型的重要性。
本文借助Spacy文本處理庫中的依存解析器生成句子的句法依存樹。以“Its size is ideal but the weight is unacceptable.”為例,其依存樹結構如圖1所示。其中,黃色字體表示方面詞,紅色字體表示情感詞,有向邊表示依存關系,標簽表示依存關系類型。為了使句法結構的作用得以充分發揮,本文使用圖注意力網絡(Graph Attention Network,GAT)編碼句法依存樹,以捕獲詞與詞之間的句法依存關系。

圖1 句法依存樹


IGATs模型(如圖2)主要由詞嵌入層與LSTM層、位置嵌入層、GAT層、交互注意力層與輸出層5部分組成。模型的組件在本節其余部分單獨介紹。

圖2 IGATs模型

位置嵌入層(Position Embedding, PE)采用方面與上下文詞之間的距離來衡量二者的相關性,距離分為語法距離和相對距離。語法距離可由句法依存樹得到,設方面詞wa與 上下文詞wi之間的語法距離為di, 文獻[18]將di定義為二者在依存樹中的路徑長度,語法距離特征計算公式為


交互注意力層(Interactive Attention layer,IAtt)使用交互注意力機制建模方面與上下文之間的語義關系,并分別生成方面和上下文的表示。由于GAT層采用多頭注意力機制來更新節點的隱藏狀態,拼接操作會導致模型參數過多,為了防止過擬合,本文首先引入線性層對GAT層的輸出進行降維


為了驗證IGATs模型的有效性,本文在3個公開的數據集上進行了實驗,分別是Twitter數據集[7]、Laptop數據集[1]、Restaurant數據集[1]。這些數據集包含3個標簽(即dp=3),分別是積極(Positive)、中性(Neutral)、消極(Negative)。數據集統計結果如表1所示。

表1 數據集統計
本文的實驗平臺如表2所示,實驗主要采用Facebook的Pytorch-GPU深度學習框架與Spacy文本處理庫,使用python3.7實現。

表2 實驗平臺
本文使用300維的GloVe向量[20]初始化單詞嵌入,模型的所有權重參數均采用均勻分布進行初始化。GAT的層數設置為1,圖注意力頭數設置為1,此時模型的效果最好。模型的超參數設置如表3所示。

表3 超參數設置
模型采用精準率(Precision, P)、召回率(Recall, R)、準確率(Acc)與宏平均F1值(MF1)等作為評價指標。對于單個類別,設TP為正確預測的樣本, FP為其他類別被預測為當前類別的樣本, FN為當前類別被預測為其他類別的樣本,則P, R, F 1值的計算公式為


其中,MF1值是指所有類別的F1值的平均,模型重復運行3次,取Acc最高的一次作為最終結果。
為了評估本文的模型,將它與一系列基準模型進行比較,各個模型簡介如下所示:
SVM[4]:采用有監督的機器學習方法檢測方面術語和方面類別,并檢測客戶評論中對方面術語和方面類別表達的情感。
LSTM[9]:一種目標相關的長短期記憶(LSTM)模型,該方法在生成句子表示時可以捕捉目標詞和其上下文之間的聯系,以用于目標相關的情感分類。
MemNet[11]:采用深度記憶網絡與多層注意力機制相耦合的方法進行情感分類。
IAN[12]:使用兩個注意力網絡交互地建模目標與上下文之間的語義關系,并分別生成目標與上下文的表示,為判斷方面的情感極性提供了足夠的信息。
AOA[13]:對方面和句子進行聯合建模,以捕捉方面和上下文之間的相互作用,共同學習方面和句子的表示,并自動地關注句子中的重要部分。
AOA-MultiACIA[14]:一種新的方面-上下文交互表示模型,它能夠在其上下文序列建模過程中提取與特定方面相關的特征,并同時生成高質量的方面表示。
ASGCN[15]:通過在句子的句法依存樹上構建多層GCN以捕獲句法依存信息,并結合注意力機制進行情感分類。
GATs[19]:使用GAT模型進行情感分類,GAT模型描述如2.2節所示。
表4給出了各個模型在3個數據集上的性能對比。可以看出,雖然SVM模型在Laptop和Restaurant數據集上的性能優于LSTM模型,但是它依賴人工特征提取,費時費力且效率低下。基于注意力機制的模型(如MemNet, IAN, AOA, AOA-MultiACIA)性能均優于LSTM模型,這表明注意力機制在情感分析任務中是有效的,而且采用交互注意力機制的IAN與AOA模型性能要優于采用傳統注意力機制的MemNet模型,甚至不亞于將句法依存信息考慮在內的ASGCN模型,這表明方面與上下文詞都需要受到關注,而且二者之間的交互有利于情感信息的傳播,并最終提升情感預測模型的性能。

表4 各個模型的性能對比(%)
然而,上述模型要么只考慮句法依存信息或位置信息,要么只關注于方面與上下文詞之間的交互,難以實現二者之間的協調優化。為此,本文提出一個新的模型,即IGATs。可以看出,IGATs在3個數據集上的Acc與MF1值整體上優于其他模型。相較于僅包含多層注意力機制的AOA-MultiACIA模型,IGATs在Twitter數據集上的Acc與MF1分別提升了2.89%和4%,在Laptop數據集上的Acc與MF1分別提升了0.75%和1.81%,在Restaurant數據集上的MF1提升了1.86%,這表明句法依存信息與位置信息有利于識別方面的情感極性,而且Twitter數據集對句法信息與位置信息更加敏感。需要注意的是,IGATs在Restaurant數據集上的Acc稍低于AOA-MultiACIA模型,這是因為該模型采用多層交互注意力機制,它能夠在上下文序列建模過程中提取與特定方面相關的特征,并生成高質量的方面表示。相較于將句法依存信息與相對位置信息考慮在內的ASGCN模型,IGATs在Twitter數據集上的Acc與MF1分別提升了3.14%和3%,在Laptop數據集上的Acc與MF1分別提升了0.47%和1%,在Restaurant數據集上的Acc與MF1分別提升了1.55%和1.97%,相較于將句法依存信息與位置信息考慮在內的GATs模型,IGATs在各個數據集上的Acc與MF1也均有所提升,這表明依存信息與位置信息需要結合交互注意力網絡才能發揮更好的效果。
除此之外,文章統計了各個模型的可訓練參數數量(1M=1Million),如表5所示。由于SVM模型采用人工提取特征的方法進行情感分類,模型性能的好壞很大程度上取決于特征工程,其效率很低。MemNet模型的參數數量最少,其性能雖然優于LSTM,但是仍不及其他模型;IAN模型的參數規模與ASGCN相當,然而其在Laptop與Restaurant上的性能遠不及ASGCN;AOA模型借鑒了IAN模型的交互注意力機制,其模型計算復雜度不亞于IAN,但是二者性能很接近;AOA-MultiACIA模型在AOA模型的基礎上疊加了多層多頭注意力機制,雖然其在各個數據集上的性能不亞于ASGCN,但是模型計算復雜度遠高于AOA,更高于ASGCN;GATs模型的參數規模比ASGCN少,二者性能卻十分接近,因此,模型效率高于ASGCN模型;IGATs模型的參數規模與GATs接近,但是其性能整體上優于其他模型,這表明IGATs模型的效率遠高于其他模型。

表5 各個模型的可訓練參數數量(M)
為了進一步檢查IGATs的每個組件對性能的影響,本文對IGATs進行了消融研究,具體如下:
BiLSTM+IAtt:模型由LSTM層與IAtt層組成,LSTM層用來學習句子的語義特征表示,IAtt層用來建立方面與上下文詞之間的語義關系。
BiLSTM+GAT+IAtt:模型僅在LSTM層后新增了一個GAT層,用來捕獲方面與上下文詞之間的句法依存關系。
BiLSTM+PE+IAtt:模型僅在LSTM層后新增了一個PE層,用來將位置信息嵌入到句子的語義特征表示中。
IGATs:完整的模型,不僅考慮了位置信息,還考慮了句法依存信息。
各個模型的性能對比如表6所示。可以看出,BiLSTM+IAtt模型在3個數據集的Acc與MF1值整體上不及其他模型,這表明句子中方面與上下文詞之間的句法依存信息與位置信息是不可忽略的。BiLSTM+GAT+IAtt模型的性能整體上優于BiLSTM+IAtt模型,但仍不及IGATs,這表明雖然句法依存信息有利于識別方面的情感極性,但是也不能忽略了位置信息的影響。BiLSTM+PE+IAtt模型的性能在Twitter數據集上比IGATs低,在Laptop數據集上要優于IGATs,在Restaurant數據集上的性能接近IGATs,這表明相較于句法依存信息,Laptop對位置信息更敏感。由此可見,PE層對IGATs模型的貢獻最大,其次是GAT層,但是也不能忽視GAT層的影響。

表6 消融研究(%)
由于GAT層包含多層GAT,每層GAT又可能包含多個圖注意力頭,不能忽視這些因素對模型性能的影響。因此,本文研究了GAT頭數K為1的情況下,GAT層數L對IGATs性能的影響。通過改變L ∈{1,2,3,4,5,6,7,8,9,10}的值,測試IGATs在Restaurant數據集上的Acc和MF1值。實驗結果如圖3所示。可以看出,IGATs的準確率Acc隨著L的增加而下降,MF1值在層數小于5的情況下比較穩定,在層數為5的情況下取得最大值,隨后開始下降。

圖3 GAT層數L對模型性能的影響
除此之外,本文也研究了GAT層數為1的情況下,圖注意力頭數K對IGATs最終性能的影響。通過改變K∈{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}的值,測試IGATs在Restaurant數據集上的Acc和MF1值。實驗結果如圖4所示。可以看出,IGATs的準確率Acc隨著K的增加整體呈現下降趨勢,MF1值在圖注意力頭數為6時最大,隨后開始下降。綜合各方面因素,本文將GAT層數以及圖注意力頭數均設為1。

圖4 GAT頭數K對模型性能的影響
本文提出一種面向方面級情感分析的交互圖注意力網絡模型(IGATs)。首先,通過計算方面與上下文詞之間的語法距離與相對距離實現了位置信息的利用;其次,通過構建句法依存樹和圖注意力網絡實現了句法依存信息的融合;最后,通過建立方面與上下文詞之間的交互注意力模型,實現了兩者之間的協調優化。實驗結果表明IGATs能夠有效捕獲方面與上下文詞之間的句法依存信息和位置信息,模型在多個數據集上的評價性能都得到了顯著提升。同時,模型仍然存在一些有待研究的內容,例如,沒有考慮方面與上下文詞之間的依存關系標簽以及詞性對任務的影響,這些將在今后的工作中進行完善。