邵黨國,張 潮,黃初升,相 艷
(昆明理工大學(xué) 信息工程與自動化學(xué)院,昆明 650504)
進(jìn)入web2.0時代互聯(lián)網(wǎng)發(fā)展迅速,社交媒體(如新浪微博,知乎等)和電商平臺(如淘寶,美團(tuán)等)的用戶急劇增加并且評論功能均對用戶開放,因此海量的評論被生成.對評論文本正確分類具有巨大的社會價值和經(jīng)濟(jì)價值,譬如對社交媒體評論正確情感分類可獲取用戶對于特定話題或社會事件的看法其分類結(jié)果可用于輿情分析等方面.而對商品評論情感分類可分析消費者對于商品的主觀感受,對于其他消費者的商品推薦具有極大的參考價值同時是商家改進(jìn)自身營銷策略的重要依據(jù).
文本情感分類是情感分析的基礎(chǔ)任務(wù),指的是通過對文本的情感極性進(jìn)行分類從而檢測出作者的情感傾向.文本情感分類總的來說可以分為3種方法分別是基于詞典統(tǒng)計的方法,基于機(jī)器學(xué)習(xí)的方法和基于深度學(xué)習(xí)的方法[1].
基于詞典統(tǒng)計的方法首先需要手動構(gòu)建情感字典.情感字典是指具有情感意義詞語的集合包含情感詞,否定詞,程度詞等.該類方法首先手動對情感詞語設(shè)定適宜的權(quán)重并通過對文本中所含情感詞的權(quán)重進(jìn)行計算從而得到文本最終得分,但該類方法存在靈活性低,分類效果差的特點.
基于機(jī)器學(xué)習(xí)的方法包括k-means,決策樹,SVM等.通過在訓(xùn)練過程學(xué)習(xí)訓(xùn)練集特征,構(gòu)建分類模型進(jìn)而做出分類抉擇.但該類方法存在特征向量稀疏,維度爆炸[2],特征提取困難等缺點.
目前得到廣泛應(yīng)用的文本情感方法是基于深度學(xué)習(xí)的方法.深度學(xué)習(xí)可以通過多層次的學(xué)習(xí)自動的抽取到數(shù)據(jù)的本質(zhì)特征表示,避免了大量的人工提取特征的工作并且能在分類任務(wù)取得較高的準(zhǔn)確率.2014年Kim[3]提出TextCNN(Text Convolutional Neural Network)首次將CNN用于文本分類,CNN首先將單詞做嵌入轉(zhuǎn)換為詞向量然后使用多個尺寸不同的一維卷積核對詞向量做卷積,后接池化,分類.遞歸神經(jīng)網(wǎng)絡(luò)因為其時序性相較于CNN更貼近自然語言模型,故遞歸神經(jīng)網(wǎng)絡(luò)及其變體被廣泛應(yīng)用于自然語言處理各項任務(wù)中.Tang et al[4]提出層次化RNN用于文本分類,但RNN并未解決長距離依賴的問題.Basnet[5]使用LSTM[7](Long Short-Term Memory)做新聞文本分類,LSTM用一種門結(jié)構(gòu)記憶單元實現(xiàn)長短信息的選擇和遺忘,有效解決梯度消失和梯度爆炸.2018年Shen[6]等提出ONLSTM(Ordered Neurons Long-Short Term Memory)這是首次在LSTM結(jié)構(gòu)上引入層級結(jié)構(gòu),該模型可以提取文本的層次結(jié)構(gòu).近年來注意力機(jī)制引起學(xué)界的廣泛關(guān)注,基于注意力機(jī)制的神經(jīng)網(wǎng)絡(luò)被運用到自然語言處理的各項任務(wù)中去.注意力機(jī)制模仿人類的感知方式,將注意力集中到重要的部分.Pappas[8]提出分層注意力對文本進(jìn)行分類,使用雙向門控循環(huán)單元(BiGRU)獲取文本特征以及構(gòu)建兩個不同的注意力機(jī)制獲取不同層級的信息.
從整體上來看,現(xiàn)有深度學(xué)習(xí)方法能在語義層面上提取特征但卻無法充分利用文本的句法信息[16].但評論文本具有上下文依賴性強(qiáng)的特點因此使用句法信息顯得至關(guān)重要,特別是對于包含同一組詞但語法不同的評論文本.例如以下?lián)碛邢嗤脑~但是情緒截然不同的兩個句子(句1表正向,句2表負(fù)向):1“我不知道這有多好吃”,2“我知道這有多不好吃”.依賴解析樹和ONLSTM均能揭示文本的句法依賴關(guān)系受此啟發(fā)本文提出OG-ATT混合模型(模型結(jié)構(gòu)圖見圖4)用于中文評論的情感分類.詳細(xì)步驟如下:
1)評論文本經(jīng)過預(yù)處理后,本文使用哈工大的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層進(jìn)一步提取特征從而使得重要信息獲得更高權(quán)重.
實驗結(jié)果證明,該模型能充分挖掘句子的句法信息.根據(jù)準(zhǔn)確率,召回率,精確率,F(xiàn)1值等衡量指標(biāo)表明本文所使用的模型相對于其他算法效果更優(yōu),實現(xiàn)了良好的分類效果.
本文模型對中文評論文本進(jìn)行情感分類,處理流程包括:文本預(yù)處理,詞向量訓(xùn)練,ONLSTM-GCN特征提取,Self-Attention層,分類器5部分組成.分類器也包括3層:1)dropout層;2)全連接層;3)softmax層.
本文語料為網(wǎng)絡(luò)評論語料,一般具有偏向口語化,網(wǎng)絡(luò)用語化,字符表示復(fù)雜化等特點.為了分類任務(wù)能夠使用更加可靠的文本數(shù)據(jù),故需要對評論文本進(jìn)行數(shù)據(jù)清洗和預(yù)處理操作.數(shù)據(jù)清洗主要進(jìn)行下面兩個操作:
1)數(shù)據(jù)去重.重復(fù)的數(shù)據(jù)輸入容易造成模型對信息的過度學(xué)習(xí)從而加深模型的過擬合程度,因此去除重復(fù)的數(shù)據(jù)是必要的.對于評論中經(jīng)常重復(fù)的數(shù)據(jù),比如“哈哈哈哈哈哈哈哈”,“66666666666”等.為解決這個問題,將語料中連續(xù)出現(xiàn)3次及以上的字均截斷為兩次出現(xiàn);
2)數(shù)據(jù)格式化.評論文本經(jīng)常伴隨著冗余的標(biāo)點符號或者特殊的符號(如鏈接網(wǎng)址),為了不讓模型學(xué)習(xí)到這些亂七八糟的特征需要將這些多余的信息去除掉比如刪除鏈接網(wǎng)址等.
經(jīng)過數(shù)據(jù)清洗得到干凈語料后,文本預(yù)處理包括分詞和解析句法依存樹.本文模型采用哈工大的LTP分詞工具進(jìn)行分詞,哈工大的LTP語法樹工具解析句法依存樹,文本分詞之后詞與語法解析樹的節(jié)點存在一一對應(yīng)關(guān)系.
機(jī)器學(xué)習(xí)算法需要將輸入表示為固定長度的特征向量,將詞表示為一個固定長度的特征向量是將機(jī)器學(xué)習(xí)引入文本分類的首要步驟.本文模型詞向量是用谷歌開源的word2vec[10]訓(xùn)練得到的,實驗中采用512維詞向量.
自然語言通??梢员硎緸橐恍哟谓Y(jié)構(gòu),如果這些結(jié)構(gòu)被提取出來就是語法信息.CNN,RNN,LSTM以及其他變體(如GRU)等神經(jīng)網(wǎng)絡(luò)雖被廣泛用于文本情感分類但只能學(xué)習(xí)語言的語義特征,不能處理語言的層次結(jié)構(gòu).而ONLSTM將神經(jīng)元通過特定排序?qū)蛹壗Y(jié)構(gòu)(樹結(jié)構(gòu))整合到LSTM中去,從而允許ONLSTM能自動的學(xué)習(xí)到層級結(jié)構(gòu)信息[6]、
詳細(xì)的ONLSTM結(jié)構(gòu)如圖2所示.ONLSTM[6]是一種基于LSTM改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu),首先ONLSTM的門結(jié)構(gòu)和輸出結(jié)果仍然和普通的LSTM[7]一樣:
圖2 ONLSTM 結(jié)構(gòu)圖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和當(dāng)前信息xt.輸入門it決定當(dāng)前時刻輸入向量xt對存儲單元中信息的改變量,輸出門ot用以控制當(dāng)前存儲單元中信息的輸出量,遺忘門ft決定上一時刻歷史信息ht-1對當(dāng)前存儲單元中信息的影響程度,ht為ONLSTM單元t時刻的最終輸出,σ(·)為Sigmoid激活函數(shù),tanh(·)為雙曲正切函數(shù).
(6)
(7)
(8)
(9)
傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)適合處理歐幾里得數(shù)據(jù),既節(jié)點數(shù)量,位置以及鄰點數(shù)量均同質(zhì)的數(shù)據(jù),如圖像,影像和音頻數(shù)據(jù)等.但在現(xiàn)實世界中存在大量非歐幾里得數(shù)據(jù)以一種拓?fù)浣Y(jié)構(gòu)表達(dá),如網(wǎng)頁鏈接網(wǎng)絡(luò),論文引用網(wǎng)絡(luò),生物遺傳信息結(jié)構(gòu)等.拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)的節(jié)點數(shù)量,連接數(shù)量及連接強(qiáng)度可以是異質(zhì)的是一種類似于圖結(jié)構(gòu)(graph)的數(shù)據(jù).圖卷積神經(jīng)網(wǎng)絡(luò)的提出為處理這類異質(zhì)的圖結(jié)構(gòu)給出了思路和解決方法.近些年來,GCN引起了研究者的廣泛關(guān)注,并被廣泛應(yīng)用到web推薦系統(tǒng),生物化學(xué),網(wǎng)路分析等領(lǐng)域[14].在NLP任務(wù)中,GCN在語義角色標(biāo)志[12],事件檢測[13]提取上取得良好的表現(xiàn).
文本中詞與詞之間的句法關(guān)系可以表示為一個圖.其中詞是節(jié)點,邊是詞語之間的句法依存關(guān)系.Ltp庫可以提取語言中句法依存關(guān)系并將其表示為圖表示(圖1表示句1,句2的Ltp提取句法圖表示).具體來說,句法依存[15]是指主謂,狀語和其他語法,然后分析句子中不同成分之間的關(guān)系.對于每條評論文本,對應(yīng)其LTP句法依存樹建立一個圖G=(V,E),其中V是文本中所有詞構(gòu)成的頂點集,E是包含詞之間依賴關(guān)系的邊集.根據(jù)Kpif & Welling[14]和 Marcheggiani & Titov,為便于引入GCN本模型在E中引入自環(huán)并將句法依存樹中的單向依存改為雙向依存.基于這個規(guī)則,我們?yōu)槊總€評論文本建立句法解析樹的對稱鄰接矩陣A(句2的對稱鄰接矩陣見圖3),其中0代表“無依存關(guān)系”,對角線上的1代表“自依存關(guān)系”,非對角線上的1代表“雙向依存關(guān)系”,對于同一評論中不同句子的詞,LTP自動不考慮它們之間的關(guān)系,邊標(biāo)簽均為0.句2句法依存樹的圖A見圖3.
圖3 句法依存樹的圖表示Fig. 3 Graphical representation of syntactic dependency tree
一般的GCN是一個多層(通常是兩層)神經(jīng)網(wǎng)絡(luò),它直接卷積在一個圖上并根據(jù)節(jié)點領(lǐng)域的性質(zhì)歸納出節(jié)點的嵌入向量.對于GCN的單個卷積層,計算公式如下:
(10)
受人類的注意力機(jī)制啟發(fā),本模型在ONLSTM-GCN模塊后加入Self-Attention[15]層來對文本表示中重要的信息給與更高的加權(quán)權(quán)重.注意力機(jī)制是一個編碼序列的方案,其核心在于點乘注意力[15],計算公式如下:
(11)
其中Q∈Rn*dK,K∈Rm*dK,V∈Rm*dV,分別對應(yīng)query,key,value.dK(K的維度)是縮放因子起調(diào)節(jié)作用使得內(nèi)積不至于太大.而本模型采用的是自注意力機(jī)制,通過GCN層得到的詞表征為X={x1,x2,…,xn}既自注意力層的輸入.因此,自注意力機(jī)制可以寫為.
self-Atten(X)=Attention(XWQ,XWK,XWV)=
(12)
其中WQ,WK,WV∈Rm*m為自注意力層的學(xué)習(xí)參數(shù).通過上述公式,自注意編碼后的每個詞表示都對應(yīng)一個加權(quán)向量來編碼上下文信息從而捕捉任意距離的依賴關(guān)系.
OG-ATT模型結(jié)構(gòu)圖如圖4所示,同引言中模型介紹相同.本模型主要由4部分組成:1)使用ONLSTM提取詞的初
圖4 OGATT模型圖Fig.4 OGATT model diagram
步語義及層次特征;2)將ONLSTM層輸出的詞特征和句法依存樹所轉(zhuǎn)化的圖A送入GCN層做圖卷積[11](本模型采用一層GCN故僅對依存樹存在直接依存關(guān)系的詞做特征融合)得到基于依存樹融合的詞特征并與ONLSTM原始輸出相加得到最終的詞表示;3)對ONLSTM-GCN特征提取器所得到詞特征做自注意力得到最終文本表示;4)文本表示經(jīng)過分類器得到最終分類結(jié)果.
本模型首先使用ONLSTM抽取初步詞特征相較于CNN,RNN,LSTM等傳統(tǒng)模型不僅能提取語義表示并且能提取文本的層次表示,并在第2層使用GCN層使得預(yù)訓(xùn)練模型(LTP)所提取的句法依存樹動態(tài)調(diào)整文本的最終表示.第3層Attention層模仿人類注意力機(jī)制使得文本中重要信息得到更高的決策權(quán)重.
本文實驗環(huán)境及機(jī)器配置如表1所示.
表1 配置表Table 1 Configuration table
為驗證本模型的可行性,本文采用攜程酒店評論數(shù)據(jù)集ChnSentiCrop,微博評論數(shù)據(jù)集NLPCC2014.由于數(shù)據(jù)集沒有明確劃分訓(xùn)練集和測試集,本文對上述數(shù)據(jù)集均采用10折交叉驗證.數(shù)據(jù)標(biāo)簽為二分類:正向和負(fù)向.具體數(shù)據(jù)信息見表2.
表2 數(shù)據(jù)集介紹Table 2 Data set introduction
本文采用4個評價指標(biāo):準(zhǔn)確率(Accuracy),精確率(Precision),召回率(Recall),具體計算公式如下:
(13)
(14)
(15)
(16)
本文采用Ltp分詞工具對評論文本進(jìn)行分詞,利用Ltp語法樹工具獲取文本的語法解析樹.使用Word2Vec來訓(xùn)練文本分詞后的詞向量,單條文本的最大長度設(shè)置為512,詞向量維度設(shè)置為512.為防止模型對訓(xùn)練數(shù)據(jù)過擬合,在self-attention層后加入dropout再連接全連接層,dropout率設(shè)置為0.5.學(xué)習(xí)率設(shè)置為0.001,學(xué)習(xí)率指數(shù)衰減率設(shè)置為0.9,迭代次數(shù)設(shè)置為20,批次數(shù)設(shè)置為32.
為檢驗?zāi)P偷男Ч?,本文將其與基準(zhǔn)深度學(xué)習(xí)方法進(jìn)行對比,基準(zhǔn)模型分別包括分別為:卷積神經(jīng)網(wǎng)絡(luò)(CNN)[3],循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[4],雙向長短時記憶網(wǎng)絡(luò)(BILSTM)[17],基于注意力機(jī)制的雙向長短時記憶網(wǎng)絡(luò)(Attention-BiLSTM)[18],融合卷積神經(jīng)網(wǎng)絡(luò)和注意力網(wǎng)絡(luò)(ADCNN)[19].表3列出6種網(wǎng)絡(luò)在不同數(shù)據(jù)集上的實驗結(jié)果:
表3 模型結(jié)果對比Table 3 Comparison of model results
通過對比實驗發(fā)現(xiàn),本文模型在上述兩個數(shù)據(jù)集上4個評價指標(biāo)均相較于上述方法均得到提升.其ChnSentiCrop數(shù)據(jù)集上Accuracy相對于CNN,RNN,BILSTM,Attention-BILSTM分別提高了5.83%,5.53%,3.43%,3.23%,2.36%.而在NLPCC2014微博數(shù)據(jù)集上Accuracy相對于上述5個基線方法分別提高了4.7%,5.3%,3.57%,2.96%,1.7%.
比較BILSTM與Attention-BILSTM的效果發(fā)現(xiàn)Attention-BILSTM在中文評論文本中效果較BILSTM上有所提升,這是因為Attention機(jī)制在評論文本中可以使得文本中重要信息能得到更高的分類決策,而比較本文模型與Attention-BILSTM,ADCNN的效果,可以發(fā)現(xiàn)本模型在4個評價指標(biāo)上均有大幅提升這表明本文模型的ONLSTM-GCN特征提取器在提取文本的層次結(jié)構(gòu)后分類效果的確優(yōu)于僅利用語義信息的傳統(tǒng)機(jī)器學(xué)習(xí)方法(BILSTM,CNN).綜上所述本文模型較傳統(tǒng)機(jī)器學(xué)習(xí)模型在提取語義信息的基礎(chǔ)上還能充分挖掘文本的句法信息,并進(jìn)一步使用Attention機(jī)制來挖掘文本重要信息.從結(jié)果上說,本文提出的模型是可行的.
本文提出了一種新的中文評論文本分類模型OG-ATT.基于文本中詞與詞之間的語義依存關(guān)系,本文模型利用ONLSTM-GCN提取文本的語義及句法的融合表示,并利用Self-Attention對文本中重要信息給與更高分類權(quán)重.實驗表明,OG-ATT充分利用句子的句法關(guān)系,在中文評論文本數(shù)據(jù)集上的性能優(yōu)于現(xiàn)有主流模型.
本文模型存在對評論長文本無法分類的限制,因為PYLTP語法解析樹工具無法對過長文本提取句法依存樹.本文將長度長于512的文本截斷為512詞這限制本文模型的應(yīng)用范圍,如何將該模型部署到長文本的分類以及如何處理中文評論中大量混雜其他語言的情況還需進(jìn)一步考慮.下一步工作為將該模型適配到長文本和其他語言中.