鄭 誠,魏素華,曹 源
安徽大學 計算機科學與技術學院,合肥 230601
文本情感分析作為自然語言處理(NLP)的主要研究方向之一,是對帶有不同情感表達的文本進行情緒分類。其中細粒度的情緒分析任務,即方面級情感分析(ABSA),是通過尋找某一特定方面的評價詞(又稱意見術語)來判斷一個句子中特定方面的情感極性。常見的為情感三分類(即積極、消極或中立)。ABSA任務表示如圖1所示:在句子“The sushi is fresh,but the board is too small.”中,兩個方面詞“sushi”和“board”分別由不同的意見術語“fresh”和“small”來傳達它們的情感極性。
圖1 方面級文本情感分析示例Fig.1 Example of aspect based sentiment analysis
方面級情感分類方案包括經(jīng)典的基于情感詞典的方案和近幾年流行的基于深度學習算法的方案[1-3]。長短期記憶網(wǎng)絡(LSTM)[4]被提出以來,因在NLP相關領域中表現(xiàn)良好備受關注。在ABSA任務上,LSTM至今被認為是效果最好的模型。近年來,隨著門控循環(huán)單元(GRU)的提出,雙向門控循環(huán)單元(Bi-GRU)被多次用于上下文信息的提取。卷積神經(jīng)網(wǎng)絡(CNN)可以通過卷積和池化實現(xiàn)重點信息提取。其可并行化的特點使得在模型訓練時消耗更少的時間。它包含的池化操作可以獲取輸入數(shù)據(jù)的重點內(nèi)容。
對于英語單詞中一詞多義的現(xiàn)象,語法層面信息中的詞性信息有助于模型得到正確的詞義表達。同時,語法層面信息中的句法依存樹(Stanford-parser平臺,https://nlp.stanford.edu/software/lex-parser.html)通過提供句子結構信息(Stanford依存關系,https://www.cnblogs.com/weilen/p/8284411.html)可以幫助模型捕獲句子中特定方面的意見術語。因而可以將語法層面信息用到文本情感分析任務。據(jù)本文所知,以往的研究工作很少使用語法層面信息。
本文將文本序列與詞性信息結合,送入Bi-GRU與CNN的聯(lián)合模型,提出了具有可解釋性的BG-CNN。經(jīng)過Bi-GRU得到結合上下文信息表達的矩陣H,進一步經(jīng)過卷積操作和最大池化提取核心信息。這一系列過程可解釋為模擬人類理解句子信息并提取重點內(nèi)容的行為。BG-CNN學到的句法結構信息并不足以很好地支持包含多個方面詞句子的細粒度文本情感分類,因此提出將句法依存樹作為輔助信息的DT-BG-CNN模型,實現(xiàn)更好的分類效果。此外結合注意力機制(Attention)捕獲影響權重來作為輔助信息,提出了A-BG-CNN,用于模型對比。
這項工作的主要貢獻點在于將詞性信息應用到ABSA任務中,提出了具有模型可解釋性的BG-CNN,以及結合句法依存樹的DT-BG-CNN,同時提出了優(yōu)化模型訓練的增強損失函數(shù),通過實驗驗證了它們的有效性。
方面級情感分析針對特定方面進行情感分類,因其能精確地捕獲特定方面的情感極性而備受關注。近年來相關研究工作中,基于深度學習的模型非常多。它們使用詞嵌入將句子中單詞進行語義表達后通過模型訓練得到情感劃分。Wang等[5]引入Attention,提出AE-LSTM、AT-LSTM、ATAE-LSTM三個模型,根據(jù)輸入的特定目標調(diào)整句子的注意力。對比于傳統(tǒng)模型取得了不錯的效果。Tang等[6]將記憶網(wǎng)絡的思想用于方面級的情感分析,提出了MemNet模型。通過上下文信息構建記憶,通過Attention機制捕獲影響不同方面上的情感傾向的信息。Chen等[7]不僅學習MemNet使用多層注意力網(wǎng)絡,同時創(chuàng)新式引入了記憶模塊來解決長距離方面詞信息有效識別,提出RAM模型。將目標方面詞賦予了位置信息,實現(xiàn)了對分類效果的影響。Li等[8]提出TNet模型。用到了一種“上下文保留”機制,可將帶有上下文信息的特征和變換之后的特征結合起來,將其應用卷積提取進行情感分類。Wang等[9]意識到標準的Attention不能完美模擬句子中的句法結構信息,因此提出了一層模擬條件隨機場(CRF)結構來解決這個問題,提出了SA-LSTM-P模型。Song等[10]提出AEN模型,設計了一個注意編碼網(wǎng)絡來繪制目標詞和上下文詞之間的隱藏狀態(tài)和語義交互,并提出標簽不可靠性問題,在損失函數(shù)中加入了一個有效的標簽平滑正則化項。Zhang等[11]認為以往研究工作通常忽略了方面與其上下文詞之間的句法關系,因此提出接近加權卷積網(wǎng)絡PWCN。按照依賴接近以及距離接近賦予權重。
這些工作僅考慮到特定方面與句子之間的結合以獲取其針對性的情感極性,缺失了對語法層面信息的利用,使得他們只能提出結構復雜的模型來獲得更好的分類效果。這些工作均使用Attention機制捕獲句子整體對情感分類影響權重,從某種意義上可以看作在模擬句法依存樹對語義表達產(chǎn)生的影響。Attention機制在很多領域中具有非常好的表現(xiàn),但在方面級情感分析中,語法層面信息的使用有取代它的可能性。此外,LSTM模型是所有工作中不可或缺的一部分,驗證了其在方面級情感分析中的重要地位。
模型主要包括文本序列與詞性數(shù)據(jù)結合的詞嵌入層、用于獲得單詞唯一詞義的Bi-GRU層,以及用于整合單詞信息獲取語意并提取重點信息的CNN層。將句法依存樹進行同樣的詞嵌入和卷積處理后的數(shù)據(jù)進行拼接,經(jīng)過一層全連接網(wǎng)絡處理得到極性三元組PoL=(s1,s2,s3),分別代表情緒的正、負和無極性。整體上可以視為句意信息提取部分和句法依存樹信息提取部分,使用本文提出增強損失函數(shù)進行模型訓練。整體模型架構如圖2所示。
圖2 DT-BG-CNN整體架構圖Fig.2 Overall structure of DT-BG-CNN
詞嵌入層主要任務是三種不同數(shù)據(jù)的詞嵌入,包括文本序列的詞嵌入處理、文本詞性序列的詞嵌入和句法依存樹的詞嵌入,Levy等[12]給出了詞嵌入能有效表達單詞含義的解釋。
將文本序列W={w1,w2,…,wn}低維詞嵌入處理得到EW={ew1,ew2,…,ewn},EW∈Rb×l×dm,將詞性序列P={p1,p2,…,pn}進行低維詞嵌入得到Ep={ep1,ep2,…,epn},Ep∈Rb×l×dimop。將句法依存樹序列D={d1,d2,…,dn}經(jīng)過詞嵌入得到Ed={ed1,ed2,…,edn},Ed∈Rb×l×dimod。其中l(wèi)是文本序列中句子長度,b為單次訓練數(shù)目,dim、dimod和dimop均為詞嵌入維度。
該部分由詞嵌入層、Bi-GRU層和CNN層組成,即提出的BG-CNN模型。人類進行細粒度文本情感分類,首先獲取句子中單詞的正確詞義,在此基礎上整合獲取句意信息,最終提取核心信息用于分類。該模型模擬人類閱讀理解時提取信息的行為流程進行方面級情感分類。Bi-GRU層獲取句子中每個單詞聯(lián)系上下文信息后得到的具體詞義,經(jīng)過CNN中卷積層加權處理整合單詞獲取整體句意信息,再由池化層提取句意中重點信息,最后經(jīng)過一層全連接網(wǎng)絡得到目標情感分類。下面分別對三個主要組成部分流程進行進一步說明。
一詞多義使得一個句子中單詞的具體詞義由其上下文信息來決定。將模型在詞嵌入層得到的Ew和Ep拼接操作得到Ex={ex1,ex2,…,ext},Ex∈Rb×l×(dimod+dim),送入Bi-GRU層,經(jīng)GRU中重置門和更新門兩個門控機制處理,輸出Vout={v1,v2,…,vn},Vout∈Rb×l×2dim。把v看作是結合了上下文信息的單詞從多義中選擇出真正的詞義。這一過程模擬人類理解單詞,即獲取唯一詞義過程。語法層面中詞性信息的使用有利于篩選掉單詞的錯誤詞義,使單詞獲取正確的詞義表達。
模型中GRU前向傳播公式如下,式中[#,#]表示兩個向量相連,*表示矩陣的乘積,σ代表sigmoid函數(shù)激活,Wr、Wz、Wh~和Wo均為權重矩陣。
Bi-GRU是方向相反的兩個GRU的聯(lián)合使用,公式表示如下,其中GRU為GRU單元前向傳播過程。
卷積公式如下,k( )m,n為卷積核參數(shù),h為輸入數(shù)據(jù),得到ec為得到的句意信息的表示。
依存樹作為句子中單詞間依存關系的表示,在一個句子中以不同單詞作為根節(jié)點會得到不同的依存樹。通常情況下通過依存解析器(如Stanford的句法解析器)解析得到的是根節(jié)點不是基于特定方面詞的句法結構。借助句法依存樹作為輔助信息需要的是基于特定方面詞的句法依存樹??梢允褂貌煌姆桨笇崿F(xiàn)將依存樹轉換為以特定方面詞為根節(jié)點的依存樹。Zheng等[13]從方面項中的第一個單詞遍歷到依存樹中的每個單詞,同時通過翻轉一些邊的方向來實現(xiàn)遍歷。該操作使方面項中第一個單詞成為了根節(jié)點,同時一些邊的方向發(fā)生反向轉變。這些發(fā)生轉變的邊信息通過特殊的標記來記錄,表示可能具有不同的性質。如原本的未轉換邊被標記為“obj”,在轉換后標記為“rev#obj”。以上操作處理得到了基于特定方面詞為根節(jié)點的依存樹數(shù)據(jù),本文提出的模型中直接使用了該數(shù)據(jù)。以方面詞為根節(jié)點的依存樹示例如圖3,圖中大致指出了句子中的句法依存信息。其中“ROOT”代表根節(jié)點,即該成分不依賴于其他成分,也是該句子中的特定方面項中第一個單詞;“amod”是“adjectival modifier”的縮寫,代表該成分是形容詞修飾語;“conj”是“conjunct”的縮寫,代表該成分作用是連接兩個并列的詞;“dep”是“dependent”的縮寫,代表該成分與根節(jié)點是依賴關系;“rev#obj”代表該成分為賓語;“aux”是“auxiliary”的縮寫,代表該成分為非主要助詞;“subj”代表該成分角色為主語;“compound”代表該成分為多單詞組成短語;“shakira”是方面詞。
圖3 句法依存樹示意圖Fig.3 Schematic diagram of syntactic dependency tree
輸出層中,將兩部分得到的Pol和Pod進行拼接后經(jīng)過一層全連接網(wǎng)絡處理,得到最終分類結果PoL=(s1,s2,s3)。
將情緒標簽極性三分類,錯誤分類情況不同損失程度不同。如將積極情緒錯誤分類為消極情緒和將其錯誤分類為無極性損失不同。因此本文提出了結合標簽預測錯誤程度的增強損失函數(shù)。當標簽錯誤預測為相反的情緒,給予更大的代價值。提出的增強損失函數(shù)包括三部分。第一部分為錯誤分類的損失l0,第二部分為增強懲罰的損失l1,第三部分為L2正則項:
式中,Cl為情感分類數(shù)目;yi為真實情感分類;為預測情感分類;λ為超參數(shù),取值范圍[0,1];wn為非錯誤分類為無極性情感個數(shù);wa為總體錯誤分類個數(shù)。
為了驗證模型的有效性,本文在三個常用基準數(shù)據(jù)集上進行了實驗。實驗數(shù)據(jù)如表1所示,分別是來自SemEval 2014,Pontiki等[14]的Laptop和Restaurant數(shù)據(jù)集(Rest14),以及Dong等[15]在Twitter上抓取并處理的數(shù)據(jù)。涉及到對句法依存樹數(shù)據(jù)的處理,本文使用Zheng等[13]中實驗所用數(shù)據(jù)來證明所提模型的有效性。
表1 數(shù)據(jù)集統(tǒng)計表Table 1 Data set statistics
本文中涉及的模型均使用基于Glove預訓練詞向量,采用glove.840B.300d進行預訓練。同時采用Adam優(yōu)化器,并將批次處理設置為64。同大部分工作一樣[16-19],本文中提出的所有模型均選擇文本序列詞嵌入維度為300。學習率η及過擬合參數(shù)ε根據(jù)不同數(shù)據(jù)集取值如表2所示,使用精度(Acc)和F1分數(shù)值衡量模型效果。
表2 不同數(shù)據(jù)集的參數(shù)設置Table 2 Parameter setting of different data set
將本文的工作與其他模型在這三個基準實驗數(shù)據(jù)上進行了對比。這些研究工作主要包括:
(1)TD-LSTM(2016)[20]:Tang等在2016年將LSTM用于方面級情感分析,實驗結果驗證其效果明顯優(yōu)于傳統(tǒng)的機器學習SVM模型。該工作考慮到了上下文之間的關聯(lián),這點在之后的研究工作中屢被借鑒。
(2)ATAE-LSTM(2016):將Attention機制引入到該領域,將方面詞與上下文之間的關聯(lián)賦予了權重,使模型的效果得到提升。
(3)MemNet(2016):作者指出將Attention用于捕獲方面與上下文間的關聯(lián)是比較好的思路,以往的一些工作也驗證了其有效性。但如果能獲取更多的記憶信息,會更好地滿足情感分類需求。因此借鑒Facebook提出的MemN2N來解決神經(jīng)網(wǎng)絡長程記憶困難的問題。
(4)RAM(2017):使用Attention利用相對位置關系,提出了位置信息權重記憶方式加入目標信息。多重Attention能夠捕獲更長距離的情感特征。同時將捕獲的結果與RNN非線性組合以提取更加復雜的特征信息。
(5)TNet(2018):認為用Attention去捕獲文本序列和方面詞之間的語義相關性存在一定的缺陷,如對于一些復雜的短語方面術語下卻有可能會引入噪聲。因此提出了一個特征變換組件結合CNN來解決這一問題。
(6)SA-LSTM-P(2018):認為在復雜的句子中,以往單純的Attention機制會產(chǎn)生一定的錯誤。因此引入了類似條件隨機場(CRF)的一層結構來更好地獲取句子結構信息。
(7)AEN(2019):模型引入了注意力編碼網(wǎng)絡,主要包括內(nèi)部注意力模塊和整體注意。論文還提出了標簽不可信問題,引入了標簽平滑正則項。
(8)PWCN(2019):認為現(xiàn)有的方法在一定程度上忽略了方面術語在句子中的句法依賴性。提出鄰近加權卷積網(wǎng)絡來提供一個特定方面的語法感知的上下文表示。
(9)ASGCN(2019)[21]:使用了圖卷積神經(jīng)網(wǎng)絡(GCN)與句法依存樹。GCN因其結構更適用于非歐幾里德結構數(shù)據(jù),在細粒度的文本情感分析方向比較少見,作者成功地將它應用在該研究中。但詞性信息的缺失使得效果并沒有很好的提升。
此外,本文還做了提出的增強損失函數(shù)和句法依存樹作為輔助信息的消融實驗。實驗結果如表3所示。由實驗結果可以看出,本文模型的句意信息提取部分(BG-CNN)模擬人類情感信息提取效果明顯。與BG-CNN對比,結合模型的句法依存樹信息提取模型(DT-BG-CNN)分類效果有明顯提升,驗證了依存樹對任務有明顯的積極影響。在模型模擬人類進行信息提取時,依存樹有著類似于增強權重的作用。增強函數(shù)的消融實驗與DT-BG-CNN的對比,驗證了本文提出的增強損失函數(shù)的有效性。
表3 模型實驗結果對比表Table 3 Table of model experiment comparison results
為了討論使用依存樹作為輔助信息替換掉Attention獲取目標方面詞與上下文間關系權重是否取得更好的效果,將模型句法依存樹信息提取部分替換為Attention機制,即A-BG-CNN模型,總體架構如圖4。通過表3中數(shù)據(jù)對比可以很清晰地看出,依存樹作為輔助信息能更好地掌控上下文對目標方面的影響。分析認為,使用Attention機制是通過對句法依存樹的某一層面或全方面的模擬來實現(xiàn)輔助方面級情感分類任務,因此分類效果差于直接使用句法依存樹。
圖4 A-BG-CNN整體架構圖Fig.4 Overall structure of A-BG-CNN
為了驗證DT-BG-CNN在得到單詞詞義正確表達方面的有效性,本文將其與當前的一些預訓練模型進行了對比。它們分別是常用于該任務預訓練的BERT和最近在NLP領域表現(xiàn)突出的XLNet語言模型。將它們在Laptop和Rest14數(shù)據(jù)集上的實驗結果[22]進行對比,結果如表4所示??梢钥闯觯珼T-BG-CNN在Rest14數(shù)據(jù)集效果上優(yōu)于BERT和XLNet,在Laptop數(shù)據(jù)集上與XLNet語言模型效果相近,優(yōu)于BERT。
表4 與預訓練模型實驗結果對比表Table 4 Comparison with experimental results of pretraining model
本文從模型可解釋性、句法依存樹作為權重的有效性、增強損失函數(shù)參數(shù)λ取值對模型訓練效果的影響和模型輕巧性,分別做了下面四個擴充實驗。
(1)為了驗證模型的可解釋性,即該模型首先有效地從一詞多義中選擇出準確的詞義,再對具有準確表達的句子進行重點信息的提取。將“Boot time is superfast,around anywhere from 35 seconds to 1 minute.”記為句子A,通過與四個具有相似含義或語境的句子進行句子間語義相關性實驗。將句子“Boot time is fast”記為S1。S1近似人類識別句子A中重點信息的提取。將句子“35 seconds to 1 minute”記為S2。S2同S1,均為句子A中的單詞組成,不同處在于,S2是人類進行方面情緒分析時去除的信息。將句子“The laptoplooks perfect”記為S3。S3和句子A不存在相同的單詞,但“l(fā)aptop”的詞義和“Boot”在句子A中的詞義具有較大的相關性。將S3作為選擇的目的是為了驗證該模型能夠在多個詞義中選擇正確的表達。將句子“Restart the machine”記為S4。與S3相比,S4與A在句意上相關性更強。
實驗首先使用未訓練模型直接獲得五個句子的向量表示,分別計算四個句子與A的語義相似度。與通過訓練后模型獲取的句子表達間語義相關性計算結果相對照。為了簡潔直觀顯示A與四個句子經(jīng)過模型訓練前后的語義相關性,本文將結果以雷達圖和示意圖兩種形式表現(xiàn)出來,如圖5和圖6所示。通過對比可以看出,訓練前A與S1、S2的語義相關性沒有明顯差別,在訓練后S2與A的語義相似度是最差的,驗證了本文的模型能夠模擬人類行為提取句子中的重點語義信息;句子S3、S4與A之間相關性大于A與S2間語義相關性,證明模型能夠獲取劇中單詞真正的詞義;從A與S4的相關性略優(yōu)于A與S3之間的語義相關性,可以得知,模型獲取詞義精確度較高;從整體訓練前和訓練后A與四個句子間的語義相似度關系,可以看出訓練后的模型能夠更精確地表達出不同句子間相區(qū)別的信息和相關聯(lián)的信息。
圖5 A與四個句子的語義相關性雷達圖Fig.5 Radar chart of semantic correlation between A and four sentences
圖6 A與四個句子的語義相關性示意圖Fig.6 Schematic diagram of semantic relevance between A and four sentences
(2)句法依存樹作為輔助信息,可以增強模型捕獲重點信息的能力。為了體現(xiàn)句法依樹的增強效果,仍以“Boot time is super fast,around anywhere from 35 seconds to 1 minute.”為例,做了實驗。將句子經(jīng)過卷積步驟處理后得到的Cd,進一步使用Softmax進行數(shù)據(jù)歸一化處理,得到權重值。結合句子,繪制句法依存樹對句子信息提取影響如圖7所示??梢灾庇^看出依存樹可以增強對句子中重點單詞信息的捕獲。
圖7 句法依存樹對提取句子中重點信息的影響Fig.7 Influence of syntactic dependency tree on extracting key information from sentences
(3)為了研究增強損失函數(shù)中的超參數(shù)λ對精度和F1值的影響,對λ分別取值為( )0,0.25,0.5,0.75,1,在三個數(shù)據(jù)集上進行實驗。實驗結果如圖8所示??梢园l(fā)現(xiàn)在Rest14數(shù)據(jù)集上,λ對精度的影響不突出,而F1值隨取值的增大有明顯提升。λ取0.75時,在三個數(shù)據(jù)集上都能得到較好的結果。
圖8 λ對測試集精度及F1值的影響Fig.8 Influence ofλon test set’s precision and F1 value
(4)對本文提出的三個模型在同一硬件環(huán)境下運行。在訓練參數(shù)、時間和空間內(nèi)存消耗上作對比實驗。運行時間及空間消耗采用多次測值取平均法,實驗結果如表5所示。數(shù)據(jù)顯示使用依存樹只增加少量訓練參數(shù),運行時間和空間消耗均沒有明顯變化。一層Attention的使用在訓練參數(shù)及時間消耗上劣勢已經(jīng)比較明顯。在方面情緒分類領域,選擇使用Attention往往要用到三層甚至更多層以達到分類效果的明顯提升,這將帶來非常巨大的運行時間消耗。
模擬人類有效信息提取的操作流程,本文提出了具有很好模型可解釋性的BG-CNN。將以特定方面為根節(jié)點的句法依存樹作為輔助信息引用到細粒度文本情感分析,得到了模型DT-BG-CNN。與直接使用Attention用于獲取權重的A-BG-CNN模型進行了實驗對比,驗證了使用依存樹的優(yōu)越性。此外結合該模型提出了增強損失函數(shù)。實驗結果表明,借助Attention具有模擬句法結構的意義,但對比模型顯示效果差于真正的句法依存樹。不足之處在于,生成的句法依存樹存在數(shù)據(jù)噪聲,使得分類精度無法大幅度提升。因此后期研究的工作重點將放在依存樹的去噪,以及如何更合理地使用句法依存樹。