佘久洲 葉施仁 王 暉
(常州大學信息科學與工程學院 江蘇 常州 213164)
當前互聯網已經成為了當今時代信息傳播和獲取的主要渠道,截至2019年6月,我國網民數已達8.54億,普及率達61.2%。大量互聯網用戶促進了互聯網產業的飛速發展,微博、微信和電商等平臺應運而生。人們在平臺上發表自己的觀點,平臺中交織的觀點又無形中影響著用戶彼此。對網絡短文本進行情感分類或意見挖掘,可以發現網絡中人們的觀點和情緒,評估用戶對產品、組織等實體的態度,具有重要的現實意義。承載用戶意見的網絡短文本與日常生活相關,具有邏輯復雜、情感豐富和時效性強的特點?;谏疃葘W習的模型不僅能學習非線性的復雜關系,而且能學習數據中隱藏關系。尤其是基于注意力機制的卷積神經網絡(Convolutional Neural Network,CNN)和循環神經網絡(Recurrent Neural Network,RNN)模型在網絡短文本的情感分類任務上取得了很好的效果[1-2]。
然而,在CNN和RNN模型中引入注意力機制后,依然容易忽略詞語間的依賴關系。即當句子中存在多個情感極性不一致的短語時,模型的情感分類準確率會受到影響。例如,對語句“Frenetic but not really funny.”進行情感分類時,CNN和RNN模型是將句子看作是詞的序列組合,但句子中詞語間的隱藏聯系(依賴關系、詞性標簽等)卻容易被忽略。此時,CNN和RNN模型均能較好地找到句中情感詞“Frenetic”和“funny”,但基于CNN的模型只能通過卷積操作獲取局部特征,忽略了例句中距離較遠詞“not”和“funny”共現的特征;基于RNN的模型由于容易忽略局部特征對整體情感的影響,此時例句中的情感詞“Frenetic”和“funny”被注意力分配合適的權重,但過渡詞“but”和否定詞“not”卻被注意力機制給忽略,從而導致情感極性判斷出錯。
在自然語言處理領域中,由于詞嵌入(Word Embedding)的文本文檔是一種非歐幾里得的數據,數據中異構成對關系可以通過圖(Graph)表示[3]。并且,由于樹形模型與句子結構中句法解釋之間的關系,所以樹形模型是一種非常有吸引力的語言選擇[4]。構建依賴關系樹,如圖1所示??梢园l現例句1中“but”作為轉折詞修飾的對象是“Frenetic”,而非連續的情感詞“Frenetic”和“funny”產生了并列聯系,說明“funny”詞對整句的情感極性影響最大。但由于“not really”作為否定狀語修飾的對象是“funny”,所以整體情感極性為消極。為將詞語間的依賴關系引入文本情感分類任務,需要保持詞語間的樹狀依賴特征。基于語義依賴樹進行計算,但CNN和RNN都不能直接計算語義依賴樹。

圖1 例句的依賴關系
Kipf等[5]在ICLR上提出了圖卷積網絡(Graph Convolutional Network,GCN)用于引文網絡(Citation Network)數據集的分類任務。GCN是一種處理圖數據(Graph Data)的多層神經網絡,每一層都使用近鄰特征(Features of Immediate Neighbors)去編碼和更新圖中的節點表征(Node Representation)。因樹是一種特殊的圖,所以在利用GCN處理例句1的情感極性時,由于依賴關系的制約,近鄰特征的使用受到限制。即當編碼詞節點“Frenetic”表征時,詞節點“but”和“funny”的特征會被使用;而當編碼詞節點“funny”的表征,只會考慮到依賴關系上近鄰特征“not”和“really”。通過依賴關系的約束,情感詞的表征得到重新編碼,過濾與情感詞無依賴關系的近鄰特征,因而情感分類的準確率得到提高。
基于該思想,本文提出一種基于圖卷積網絡的分類模型——SAGCN模型(Sentiment Analysis using Graph Convolutional Network)用于處理文本情感分類任務。模型首先根據句子的依賴樹(Semantic Dependency Tree)得到詞語間的依賴關系,并利用雙向長短時記憶網絡從文本數據中提取句子表征。其次利用圖卷積網絡結合依賴關系對句子表征進行編碼得到節點表征。然后結合注意力機制,利用節點表征重新分配句子表征的情感權重,并輸入到全連接層,最終通過判別器判定句子的情感傾向。在情感分類基準數據集上的結果表明,采用SAGCN模型具有較高的準確率和良好的泛化性能。
情感分類任務作為自然語言處理領域的研究熱點之一,根據處理的文本粒度不同,一般分為三個層次:篇章級(Document Level)、句子級(Sentence Level)和方面級(Aspect Level)[6]。對給定的評論文本,情感分析將文本分為積極(Positive)、消極(Negative)兩類情感,也可以根據實際需求進一步細分為非常積極(Very Positive)、積極(Positive)、中立(Neutral)、消極(Negative)和非常消極(Very Negative)五類情感[7]。因此,情感分析可以是兩分類問題,也可以是五分類問題。近年來,隨著深度學習的興起,利用大規模語料庫,基于深度學習的模型能自動學習特征,摒棄了特征工程的弊端,在情感分類任務上取得了很好的效果。其中,Santos等[8]基于單詞的構造(即以構成單詞的字母為單位),提出CharCNN(Character to Sentence Convolutional Neural Network)模型。CharCNN模型以CNN為基礎,采用兩個并行的卷積層分別學習單詞的構造特征和句子的語義特征。Wang等[9]在LSTM(Long Short-Term Memory)的基礎上,結合詞向量算法,通過模擬詞語在合成過程中的相互作用,完成了對Twitter數據集進行情感兩分類。
Bahdanau等[10]將注意力機制引入機器翻譯中,在處理有限資源時注意力機制可以集中關注影響較大的部分,解決了翻譯時由于語句過長導致上下文依賴關系丟失的問題。注意力機制引入情感分類領域后,在處理邏輯復雜語句時,注意力機制可以分配不同語義特征的權重,提高分類任務的準確率。Er等[11]在CNN的基礎上,提出APCNN(Attention Pooling-based Convolutional Neural Network)模型。該模型利用卷積層生成的局部特征與Bi-LSTM(Bidirectional LSTM)層生成的全局特征進行注意力權重的計算,從而保留特征的位置信息和強度信息,增強語義特征的提取。Gao等[12]在LSTM的基礎上,提出AB-BiLSTM(Attention-based BiLSTM with POS Embeddings)模型。該模型使用Bi-LSTM層分別從詞嵌入(Word Embedding)和詞性嵌入(POS Embedding)中提取文本特征和詞性特征,利用注意力機制分別將文本特征和詞性特征進行權重計算,從而保留詞性信息對整體語句的情感影響。
基于CNN和RNN的模型是將句子看作是詞的序列組合,但忽略了詞語之間的關聯(依賴關系、詞頻等)。通過將句子轉為文本圖表示(Text Graph),每個詞看作是一個節點,詞語之間的關聯便是節點的邊,詞語間的關聯得到保留。文本圖已被廣泛運用于自然語言處理領域中各類任務,如關鍵詞提取、文本分類等。最近的一些研究嘗試將CNN和RNN模型運用到圖數據上[13-14]。其中,Defferrard等[3]在CNN的基礎上,提出Graph-CNN-C模型。該模型通過修改卷積核和池化的計算,將CNN擴展到非歐幾里得領域,在手寫數字識別和文本分類任務上取得良好成績。Tai等[4]在LSTM的基礎上,提出Dependency Tree-LSTM模型。該模型利用當前輸入隱藏向量和任意子節點的狀態隱藏向量來計算當前狀態隱藏向量,在情感分類任務上取得良好成績。盡管上述方法展示了文本圖的重要性,但這類方法仍存在計算效率低下、特征提取困難的問題。
在神經網絡的相關研究中,圖神經網絡[15](Graph Neural Network,GNN)能處理圖數據,將傳統神經網絡(CNN、RNN)擴展到非歐幾里得領域。圖卷積網絡作為圖神經網絡最常見的模型。不僅完善了計算效率低的問題,而且提高了特征提取的能力,已逐漸成為學者的研究熱點之一[16-17]。其中,Kipf等[5]簡化切比雪夫多項式的計算,提出一階(First-Order)圖卷積網絡模型。該模型通過考慮步長K=2的節點對中心節點的影響,降低了運算復雜度,減少局部領域結構(Local Neighborhood Structures)過擬合的問題,在引文數據集上取得了優異的成果。Yao等[18]將PMI(Pointwise Mutual Information)算法與TF-IDF算法結合,提出Text-GCN模型。該模型將文本和單詞看作節點,采用One-hot Representation方法構建詞向量,利用PMI和TF-IDF計算文本與單詞、單詞與單詞之間的關聯權重,構文本圖和建鄰接矩陣。在文本分類任務上得到了比傳統神經網絡更為突出的結果。Chen等[19]在GCN的基礎上,提出GCNSA模型。該模型將方面作為圖中特定區域,構建文本圖。利用GCN對圖數據進行卷積計算得到全文的隱藏狀態,同時利用結構注意力模型(Structural Attention Model),提取特定區域的信息,并使用平均池化的方法過濾隱藏狀態中與特定區域信息無關的特征,在方面級的文本情感五分類任務上取得良好的成果。
因此,為了解決CNN和RNN模型無法直接計算依賴樹的問題,本文使用GCN去處理具有依賴關系的樹。同時,為了解決GCN忽略詞序的問題,本文引入Bi-LSTM來生成具有詞序信息的句子表征。兩層的GCN運算過程如圖2所示。

圖2 兩層GCN的運算過程


在預處理階段,利用句法分析工具,整句被構建為語義依賴樹,通過分析詞節點間是否存在依賴關系(即節點間的邊),可以計算得到GCN使用的鄰接矩陣A。同時,考慮到詞序對情感特征的影響,使用Bi-LSTM層產生的含有單詞及其特征的句子表征,可作為GCN的特征矩陣X。當GCN對詞節點進行卷積操作時,由于依賴關系的約束,情感詞的表征得以重新編碼,過濾與情感詞無依賴關系的近鄰特征,得到具有依賴關系的節點表征。此時,在計算情感特征的權重時,注意力機制不僅可以考慮到詞序對情感特征的影響,而且能考慮到依賴關系對情感特征的影響,因此可以提高情感分類的準確率,增強可解釋性。
基于該思想,提出基于圖卷積網絡的情感分類模型。該模型主要由四個部分組成,如圖3所示。第一部分是利用GloVe算法[20]將單詞轉為向量表示(即詞向量),同時利用句法分析工具分析詞語間的依賴關系得到依賴樹;第二部分通過Bi-LSTM提取詞向量特征(即文本特征),得到句子表征,同時GCN根據依賴關系編碼句子表征得到具有依賴關系的節點表征;第三部分是句子表征和節點向量通過注意力機制得到不同的語義編碼向量,每個向量代表了不同維度的語義信息;第四部分是通過判別器判定情感極性。

圖3 面向情感分類的圖卷積網絡模型
對于一個句子C={w1,w2,…,wn}及其對應的情感標簽Y,其中:wi表示句子C中第i個單詞;n為句子C的長度,則句子的最終情感極性判定計算過程如下:

式中:θ表示模型所涉及的參數;f(·)表示模型中的數學函數。
通過詞向量算法將每個詞wi轉為詞向量ei,使用GloVe算法[20]訓練得到詞向量查找表L∈R|V|×d,其中:|V|為單詞的集合;d為詞向量的維度。對于句中的單詞可以通過查表的方式轉為詞向量:
ei=Lwi
(4)
此時,句子C的詞向量矩陣為E={e1,e2,…,en},其中n為句子長度,且E∈Rn×d。同時,利用句法分析工具(Dependency Parser)將句子C構建成依賴樹,此時每個詞wi視為一個詞節點。


首先通過分析依賴樹中詞節點間是否存在依賴關系(即節點間的邊),可以構建句子C的鄰接矩陣A。雖然依賴樹是有方向的圖,但GCN通常不考慮方向,卻可以適用于方向感知的場景。所以本文提出兩個變種SAGCN模型:基于有方向樹的SAGCN-T(SAGCN-Tree)和基于無方向圖的SAGCN-G(SAGCN-Graph)。SAGCN-T的鄰接矩陣比SAGCN-G更稀疏。不同模型下例句1矩陣A的計算如圖4所示。

圖4 矩陣A的計算
本文中,GCN的層數l為2,采用X=HL。所以此時句子C的GCN輸出計算過程如式(8)-式(10)所示。

為了量化不同距離的單詞對情感分類結果的影響,本文引入注意力機制對任意單詞確定其權重值。在得到基于Bi-LSTM的輸出隱藏向量HL后,結合GCN的輸出隱藏向量利用注意力機制對單詞進行加權,得到基于注意力機制的隱藏向量r。首先計算t時刻的注意力分值。
然后采用Softmax函數得到時刻的注意力權重分布ai。
最后,利用求得的注意力權重對隱藏向量HG進行加權求和,得到基于注意力機制的隱藏向量r。
在得到隱藏向量r后,將其輸入到全連接層,并通過Softmax歸一化層輸出得到極性決策空間上的概率分布P∈Rdp。
p=Softmax(Wpr+bp)
(14)
式中:dp是標簽的維數,權重Wp∈Rdp×2dh和偏置bp∈Rdp是通過學習得到。
本文使用標準的反向傳播算法[5]來訓練模型,通過最小化交叉熵函數來優化模型,交叉熵的代價函數如下:
式中:n表示樣本總量;k表示類別數;yi表示真實標簽;pi表示預測標簽;Θ表示所有可訓練的參數;λ是L2正則化的參數
在情感分類任務中,本文使用三個基準數據集對模型進行評估,數據集的統計結果如表1所示。

表1 數據集分布
(1) SSTb-1:SSTb(Stanford Sentiment Treebank)數據集[8]的內容來源于在線影評,屬于網絡短文本。數據集包含情感實證的概率,可將情感分成非常消極、消極、中性、積極和非常積極五類。
(2) SSTb-2:情感兩分類的SSTb。其中:中性的評論被刪除;非常積極和積極的評論被標記為積極;消極和非常消極的評論被標記為消極。
(3) MR:MR(Movie Review Sentence Polarity Dataset)是一個用于情感兩分類任務的數據集,包含5 331條正面情緒評論和5 331條負面情緒評論,采用文獻[18]的方法劃分數據集。
本文使用SpaCy工具包中Dependency Parser工具構建文本的依賴關系樹;詞嵌入(Word Embedding)在送入模型訓練前采用Dropout[21]減少過擬合,提升模型泛化能力。實驗結果采用隨機初始化運行,結果平均三次,以準確率和Macro-AveragedF1值作為評價指標,以驗證模型在基線模型上取得改進是有效的。實驗中各超參數設置在表2中給出。

表2 實驗超參數設置
為了比較和論證SAGCN模型的有效性,本文選擇多個基準模型進行比較。
(1) CharCNN:Santos等[8]提出一種基于CNN的情感分類模型,該模型基于單詞構造。
(2) LSTM:Wang等[9]定義的LSTM模型,使用最后一個隱藏狀態作為全文表示。
(3) AB-BiLSTM:Gao等[12]提出一種基于注意力機制的Bi-LSTM的情感分類模型,文中僅使用詞嵌入作為輸入。
(4) Graph-CNN-C:Defferrard等[3]提出一種圖CNN模型,該模型對詞嵌入的相似圖進行卷積操作。
(5) Text-GCN:Yao等[18]提出一種GCN模型,該模型將每個詞看作是一個節點,利用TF-IDF和PMI計算詞節點的邊。
表3給出了SAGCN模型與其他基準模型在數據集上執行情感分類標注的準確率。

表3 不同模型的準確率(%)
可以看出,本文所提出的SAGCN模型在情感兩分類任務上的準確率均優于其他基準模型。與CharCNN的模型相比,SAGCN-G在兩分類任務上的準確率分別提高了6.3百分點和3.5百分點,五分類任務上提高了3.3百分點。這是因為CharCNN只能通過卷積獲取局部語義特征,而不同距離上的語義依賴關系對文本情感分類的影響較大。與Text-GCN相比,本文提出的模型在兩分類任務上的準確率分別提高了7.0百分點和2.6百分點,五分類任務上提高了5.0百分點。這是因為在引入依賴關系后,通過注意力機制對情感詞重新分配權重,提升了模型的分類準確率。與AB-BiLSTM模型相比,本文提出的模型在情感兩分類任務上的準確率分別提高了3.2百分點和1.3百分點??梢钥闯龌谧⒁饬C制的模型在加入依賴關系后,兩分類任務的準確率得到一定提升。同時不難發現,本文提出的SAGCN模型在五分類僅略低于AB-BiLSTM模型,這是因為GCN只考慮步長K=2的節點對中心節點的影響,并未考慮更大步長節點對中心節點的影響,這種影響容易造成語義的多層次信息丟失。
同時也可以看出,本文提出的SAGCN-G模型與SAGCN-T模型相比,在兩分類數據集SSTb-2和MR上的準確率分別提高了2.7百分點和0.7百分點,五分類上的準確率提高了1.3百分點。這是由于來自父節點的信息與來自子節點的信息同樣重要,因此將依賴樹視為有方向的圖容易導致信息丟失。
由于本文所提出的SAGCN模型涉及一個l層的GCN網絡,所以本文研究層數l對SAGCN-G結果的影響。詞向量維度為300,層數l={1,2,3,4,6,8,10},在SSTb-2數據集上比較準確率和Macro-AveragedF1值,結果如圖5所示。

(a)(b)圖5 GCN層數影響
在這兩個指標上可以看出,SAGCN-G在l層為2時達到最好的性能,表明了在實驗部分中層數的選擇是合理的。此外,可以看出隨著l層數的增加,兩個指數都呈下降趨勢,當l=10時候,由于有大量超參數,所以SAGCN-G訓練變得困難,此時的準確率和Macro-AveragedF1都大幅下降。
為了更好地展示SAGCN-G是如何處理情感分類任務的,本文通過一組帶有標簽的英文短文本在SAGCN-G模型上的結果與文獻中AB-BiLSTM(輸入端僅使用Word Embedding)模型上的結果進行比較分析。例句見表4,其中,例句1中間存在過渡詞“but”,“funny”前用“not”否定詞強調,提高情感分類的難度。例句2中使用“while”、“still”等過渡詞,同時還有否定句,容易導致模型做出錯誤的預測。

表4 例句
表5、表6分別展示了AB-BiLSTM模型和SAGCN-G模型的注意力得分情況以及對句子情感類別的預測和預測得分,句子的背景顏色越深,表示注意力得分越高,預測概率是預測情感類別的概率。

表5 例句1的結果

表6 例句2的結果
對例句1,AB-BiLSTM模型忽略了過渡詞“but”和否定詞“not”,注意力并未分配適當的權重對過渡詞和否定詞進行強調,所以AB-BiLSTM錯誤地判定情感極性。而SAGCN-G由于使用了詞語間的依賴關系,注意力更好地關注到過渡詞“but”和“not”上,因而情感極性判定正確。對例句2,兩個模型均正確預測了句子的情感極性,但通過預測概率不難發現SAGCN-G處理例句2時,判定Positive的概率高于AB-BiLSTM,這是因為結合依賴關系,注意力機制對后半句分配了更大的權重,同時GCN在編碼情感詞“satisfying”的表征時,僅會考慮“ultimately”詞節點的特征,忽略了前半段“not”詞節點對“satisfying”的影響,提高了預測概率。圖6展示了例句2中詞語間的依賴關系。

圖6 例句2的依賴關系
針對邏輯復雜、情感豐富、時效性強的網絡短文本,本文提出一種基于圖卷積網絡的情感分類模型。該模型首先根據句子的依賴樹得到詞語間的依賴關系,并利用雙向長短時記憶網絡從文本數據中提取句子表征。其次利用圖卷積網絡結合依賴關系對句子表征進行編碼得到節點表征。然后結合注意力機制,利用節點表征重新分配句子表征的情感權重,使模型可以更好地關注對情感極性影響大的部分,并輸入到全連接層,最終通過判別器判定句子的情感傾向。實驗結果表明,本文提出的模型與其他模型相比在情感兩分類任務上的準確率優于已知方法,在五分類上表現良好。
本文方法并未考慮到領域知識。如果設計具有層次結構特征的文本圖涵蓋領域知識,可能可以提升本文方法的性能。此外,引入一個更有效的卷積規則來解決過度平滑的問題,避免隨著卷積層數的增加節點的特征會被過度平滑,降低了準確率。嘗試調整參數和部分模型,探索本文方法在中文短文本情感分類標注問題的應用,是我們今后進一步開展工作的方向。