邵黨國,張 潮,黃初升,相 艷
(昆明理工大學 信息工程與自動化學院,昆明 650504)
進入web2.0時代互聯網發展迅速,社交媒體(如新浪微博,知乎等)和電商平臺(如淘寶,美團等)的用戶急劇增加并且評論功能均對用戶開放,因此海量的評論被生成.對評論文本正確分類具有巨大的社會價值和經濟價值,譬如對社交媒體評論正確情感分類可獲取用戶對于特定話題或社會事件的看法其分類結果可用于輿情分析等方面.而對商品評論情感分類可分析消費者對于商品的主觀感受,對于其他消費者的商品推薦具有極大的參考價值同時是商家改進自身營銷策略的重要依據.
文本情感分類是情感分析的基礎任務,指的是通過對文本的情感極性進行分類從而檢測出作者的情感傾向.文本情感分類總的來說可以分為3種方法分別是基于詞典統計的方法,基于機器學習的方法和基于深度學習的方法[1].
基于詞典統計的方法首先需要手動構建情感字典.情感字典是指具有情感意義詞語的集合包含情感詞,否定詞,程度詞等.該類方法首先手動對情感詞語設定適宜的權重并通過對文本中所含情感詞的權重進行計算從而得到文本最終得分,但該類方法存在靈活性低,分類效果差的特點.
基于機器學習的方法包括k-means,決策樹,SVM等.通過在訓練過程學習訓練集特征,構建分類模型進而做出分類抉擇.但該類方法存在特征向量稀疏,維度爆炸[2],特征提取困難等缺點.
目前得到廣泛應用的文本情感方法是基于深度學習的方法.深度學習可以通過多層次的學習自動的抽取到數據的本質特征表示,避免了大量的人工提取特征的工作并且能在分類任務取得較高的準確率.2014年Kim[3]提出TextCNN(Text Convolutional Neural Network)首次將CNN用于文本分類,CNN首先將單詞做嵌入轉換為詞向量然后使用多個尺寸不同的一維卷積核對詞向量做卷積,后接池化,分類.遞歸神經網絡因為其時序性相較于CNN更貼近自然語言模型,故遞歸神經網絡及其變體被廣泛應用于自然語言處理各項任務中.Tang et al[4]提出層次化RNN用于文本分類,但RNN并未解決長距離依賴的問題.Basnet[5]使用LSTM[7](Long Short-Term Memory)做新聞文本分類,LSTM用一種門結構記憶單元實現長短信息的選擇和遺忘,有效解決梯度消失和梯度爆炸.2018年Shen[6]等提出ONLSTM(Ordered Neurons Long-Short Term Memory)這是首次在LSTM結構上引入層級結構,該模型可以提取文本的層次結構.近年來注意力機制引起學界的廣泛關注,基于注意力機制的神經網絡被運用到自然語言處理的各項任務中去.注意力機制模仿人類的感知方式,將注意力集中到重要的部分.Pappas[8]提出分層注意力對文本進行分類,使用雙向門控循環單元(BiGRU)獲取文本特征以及構建兩個不同的注意力機制獲取不同層級的信息.
從整體上來看,現有深度學習方法能在語義層面上提取特征但卻無法充分利用文本的句法信息[16].但評論文本具有上下文依賴性強的特點因此使用句法信息顯得至關重要,特別是對于包含同一組詞但語法不同的評論文本.例如以下擁有相同的詞但是情緒截然不同的兩個句子(句1表正向,句2表負向):1“我不知道這有多好吃”,2“我知道這有多不好吃”.依賴解析樹和ONLSTM均能揭示文本的句法依賴關系受此啟發本文提出OG-ATT混合模型(模型結構圖見圖4)用于中文評論的情感分類.詳細步驟如下:
1)評論文本經過預處理后,本文使用哈工大的LTP句法樹工具從評論文本中解析出句法依存樹(圖1:句1,2句法依存樹).

圖1 句1,2語法解析樹Fig.1 Sentence 1,2 syntax parse tree
2)將評論文本的嵌入向量輸入到ONLSTM層中提取文本的語義及句法特征.
3)在GCN[9]層對句法解析樹和ONLSTM層輸出的詞特征做圖卷積并與ONLSTM輸出詞特征做殘差相加.
4)ONLSTM-GCN特征提取器提取特征后再接Self-Attention層進一步提取特征從而使得重要信息獲得更高權重.
實驗結果證明,該模型能充分挖掘句子的句法信息.根據準確率,召回率,精確率,F1值等衡量指標表明本文所使用的模型相對于其他算法效果更優,實現了良好的分類效果.
本文模型對中文評論文本進行情感分類,處理流程包括:文本預處理,詞向量訓練,ONLSTM-GCN特征提取,Self-Attention層,分類器5部分組成.分類器也包括3層:1)dropout層;2)全連接層;3)softmax層.
本文語料為網絡評論語料,一般具有偏向口語化,網絡用語化,字符表示復雜化等特點.為了分類任務能夠使用更加可靠的文本數據,故需要對評論文本進行數據清洗和預處理操作.數據清洗主要進行下面兩個操作:
1)數據去重.重復的數據輸入容易造成模型對信息的過度學習從而加深模型的過擬合程度,因此去除重復的數據是必要的.對于評論中經常重復的數據,比如“哈哈哈哈哈哈哈哈”,“66666666666”等.為解決這個問題,將語料中連續出現3次及以上的字均截斷為兩次出現;
2)數據格式化.評論文本經常伴隨著冗余的標點符號或者特殊的符號(如鏈接網址),為了不讓模型學習到這些亂七八糟的特征需要將這些多余的信息去除掉比如刪除鏈接網址等.
經過數據清洗得到干凈語料后,文本預處理包括分詞和解析句法依存樹.本文模型采用哈工大的LTP分詞工具進行分詞,哈工大的LTP語法樹工具解析句法依存樹,文本分詞之后詞與語法解析樹的節點存在一一對應關系.
機器學習算法需要將輸入表示為固定長度的特征向量,將詞表示為一個固定長度的特征向量是將機器學習引入文本分類的首要步驟.本文模型詞向量是用谷歌開源的word2vec[10]訓練得到的,實驗中采用512維詞向量.
自然語言通常可以表示為一些層次結構,如果這些結構被提取出來就是語法信息.CNN,RNN,LSTM以及其他變體(如GRU)等神經網絡雖被廣泛用于文本情感分類但只能學習語言的語義特征,不能處理語言的層次結構.而ONLSTM將神經元通過特定排序將層級結構(樹結構)整合到LSTM中去,從而允許ONLSTM能自動的學習到層級結構信息[6]、
詳細的ONLSTM結構如圖2所示.ONLSTM[6]是一種基于LSTM改進的網絡結構,首先ONLSTM的門結構和輸出結果仍然和普通的LSTM[7]一樣:

圖2 ONLSTM 結構圖Fig.2 ONLSTM structure diagram
ft=σ(Wfxt+Ufht-1+bf)
(1)
it=σ(Wixt+Uiht-1+bi)
(2)
ot=σ(Woxt+Uoht-1+bo)
(3)
(4)
ht=ot°tanh(ct)
(5)
其中輸入是歷史信息ht-1和當前信息xt.輸入門it決定當前時刻輸入向量xt對存儲單元中信息的改變量,輸出門ot用以控制當前存儲單元中信息的輸出量,遺忘門ft決定上一時刻歷史信息ht-1對當前存儲單元中信息的影響程度,ht為ONLSTM單元t時刻的最終輸出,σ(·)為Sigmoid激活函數,tanh(·)為雙曲正切函數.
(6)
(7)
(8)
(9)

傳統的神經網絡適合處理歐幾里得數據,既節點數量,位置以及鄰點數量均同質的數據,如圖像,影像和音頻數據等.但在現實世界中存在大量非歐幾里得數據以一種拓撲結構表達,如網頁鏈接網絡,論文引用網絡,生物遺傳信息結構等.拓撲結構數據的節點數量,連接數量及連接強度可以是異質的是一種類似于圖結構(graph)的數據.圖卷積神經網絡的提出為處理這類異質的圖結構給出了思路和解決方法.近些年來,GCN引起了研究者的廣泛關注,并被廣泛應用到web推薦系統,生物化學,網路分析等領域[14].在NLP任務中,GCN在語義角色標志[12],事件檢測[13]提取上取得良好的表現.
文本中詞與詞之間的句法關系可以表示為一個圖.其中詞是節點,邊是詞語之間的句法依存關系.Ltp庫可以提取語言中句法依存關系并將其表示為圖表示(圖1表示句1,句2的Ltp提取句法圖表示).具體來說,句法依存[15]是指主謂,狀語和其他語法,然后分析句子中不同成分之間的關系.對于每條評論文本,對應其LTP句法依存樹建立一個圖G=(V,E),其中V是文本中所有詞構成的頂點集,E是包含詞之間依賴關系的邊集.根據Kpif & Welling[14]和 Marcheggiani & Titov,為便于引入GCN本模型在E中引入自環并將句法依存樹中的單向依存改為雙向依存.基于這個規則,我們為每個評論文本建立句法解析樹的對稱鄰接矩陣A(句2的對稱鄰接矩陣見圖3),其中0代表“無依存關系”,對角線上的1代表“自依存關系”,非對角線上的1代表“雙向依存關系”,對于同一評論中不同句子的詞,LTP自動不考慮它們之間的關系,邊標簽均為0.句2句法依存樹的圖A見圖3.

圖3 句法依存樹的圖表示Fig. 3 Graphical representation of syntactic dependency tree
一般的GCN是一個多層(通常是兩層)神經網絡,它直接卷積在一個圖上并根據節點領域的性質歸納出節點的嵌入向量.對于GCN的單個卷積層,計算公式如下:

(10)

受人類的注意力機制啟發,本模型在ONLSTM-GCN模塊后加入Self-Attention[15]層來對文本表示中重要的信息給與更高的加權權重.注意力機制是一個編碼序列的方案,其核心在于點乘注意力[15],計算公式如下:
(11)
其中Q∈Rn*dK,K∈Rm*dK,V∈Rm*dV,分別對應query,key,value.dK(K的維度)是縮放因子起調節作用使得內積不至于太大.而本模型采用的是自注意力機制,通過GCN層得到的詞表征為X={x1,x2,…,xn}既自注意力層的輸入.因此,自注意力機制可以寫為.
self-Atten(X)=Attention(XWQ,XWK,XWV)=
(12)
其中WQ,WK,WV∈Rm*m為自注意力層的學習參數.通過上述公式,自注意編碼后的每個詞表示都對應一個加權向量來編碼上下文信息從而捕捉任意距離的依賴關系.
OG-ATT模型結構圖如圖4所示,同引言中模型介紹相同.本模型主要由4部分組成:1)使用ONLSTM提取詞的初

圖4 OGATT模型圖Fig.4 OGATT model diagram
步語義及層次特征;2)將ONLSTM層輸出的詞特征和句法依存樹所轉化的圖A送入GCN層做圖卷積[11](本模型采用一層GCN故僅對依存樹存在直接依存關系的詞做特征融合)得到基于依存樹融合的詞特征并與ONLSTM原始輸出相加得到最終的詞表示;3)對ONLSTM-GCN特征提取器所得到詞特征做自注意力得到最終文本表示;4)文本表示經過分類器得到最終分類結果.
本模型首先使用ONLSTM抽取初步詞特征相較于CNN,RNN,LSTM等傳統模型不僅能提取語義表示并且能提取文本的層次表示,并在第2層使用GCN層使得預訓練模型(LTP)所提取的句法依存樹動態調整文本的最終表示.第3層Attention層模仿人類注意力機制使得文本中重要信息得到更高的決策權重.
本文實驗環境及機器配置如表1所示.

表1 配置表Table 1 Configuration table
為驗證本模型的可行性,本文采用攜程酒店評論數據集ChnSentiCrop,微博評論數據集NLPCC2014.由于數據集沒有明確劃分訓練集和測試集,本文對上述數據集均采用10折交叉驗證.數據標簽為二分類:正向和負向.具體數據信息見表2.

表2 數據集介紹Table 2 Data set introduction
本文采用4個評價指標:準確率(Accuracy),精確率(Precision),召回率(Recall),具體計算公式如下:
(13)
(14)
(15)
(16)
本文采用Ltp分詞工具對評論文本進行分詞,利用Ltp語法樹工具獲取文本的語法解析樹.使用Word2Vec來訓練文本分詞后的詞向量,單條文本的最大長度設置為512,詞向量維度設置為512.為防止模型對訓練數據過擬合,在self-attention層后加入dropout再連接全連接層,dropout率設置為0.5.學習率設置為0.001,學習率指數衰減率設置為0.9,迭代次數設置為20,批次數設置為32.
為檢驗模型的效果,本文將其與基準深度學習方法進行對比,基準模型分別包括分別為:卷積神經網絡(CNN)[3],循環神經網絡(RNN)[4],雙向長短時記憶網絡(BILSTM)[17],基于注意力機制的雙向長短時記憶網絡(Attention-BiLSTM)[18],融合卷積神經網絡和注意力網絡(ADCNN)[19].表3列出6種網絡在不同數據集上的實驗結果:

表3 模型結果對比Table 3 Comparison of model results
通過對比實驗發現,本文模型在上述兩個數據集上4個評價指標均相較于上述方法均得到提升.其ChnSentiCrop數據集上Accuracy相對于CNN,RNN,BILSTM,Attention-BILSTM分別提高了5.83%,5.53%,3.43%,3.23%,2.36%.而在NLPCC2014微博數據集上Accuracy相對于上述5個基線方法分別提高了4.7%,5.3%,3.57%,2.96%,1.7%.
比較BILSTM與Attention-BILSTM的效果發現Attention-BILSTM在中文評論文本中效果較BILSTM上有所提升,這是因為Attention機制在評論文本中可以使得文本中重要信息能得到更高的分類決策,而比較本文模型與Attention-BILSTM,ADCNN的效果,可以發現本模型在4個評價指標上均有大幅提升這表明本文模型的ONLSTM-GCN特征提取器在提取文本的層次結構后分類效果的確優于僅利用語義信息的傳統機器學習方法(BILSTM,CNN).綜上所述本文模型較傳統機器學習模型在提取語義信息的基礎上還能充分挖掘文本的句法信息,并進一步使用Attention機制來挖掘文本重要信息.從結果上說,本文提出的模型是可行的.
本文提出了一種新的中文評論文本分類模型OG-ATT.基于文本中詞與詞之間的語義依存關系,本文模型利用ONLSTM-GCN提取文本的語義及句法的融合表示,并利用Self-Attention對文本中重要信息給與更高分類權重.實驗表明,OG-ATT充分利用句子的句法關系,在中文評論文本數據集上的性能優于現有主流模型.
本文模型存在對評論長文本無法分類的限制,因為PYLTP語法解析樹工具無法對過長文本提取句法依存樹.本文將長度長于512的文本截斷為512詞這限制本文模型的應用范圍,如何將該模型部署到長文本的分類以及如何處理中文評論中大量混雜其他語言的情況還需進一步考慮.下一步工作為將該模型適配到長文本和其他語言中.