










收稿日期:2022-05-23;修回日期:2022-07-07" 基金項目:國家自然科學基金資助項目(62072008);中央高校基本科研業務費資助項目(2022YJSJD26)
作者簡介:周法國(1976-),男,山東聊城人,副教授,碩導,博士,主要研究方向為自然語言處理;孫冬雪(1998-),女(通信作者),天津人,碩士研究生,主要研究方向為自然語言處理(sundongxuesdx@163.com).
摘 要:
近年來的方面級情感分析模型應用圖卷積神經網絡(GCN)學習語句的語法結構信息,但是在建模時忽略了已知情感詞信息和評論所屬的已知話題環境,漸漸不能滿足中文社交網絡情感分析需求。針對以上問題,提出一種基于詞典和深度學習軟融合的字詞雙通道模型(2D-SGCN)。該模型首先基于基礎情感詞典擴展得到微博領域詞典,獲得領域適用性的情感詞;其次使用預訓練模型獲得字、詞初始特征向量,并在字維度融入方面詞和話題信息,分別使用Bi-LSTM和融入情感信息的GCN(SGCN)學習全局與局部信息;應用注意力機制得到方面詞最終特征并進行多維度融合;最后將話題和方面詞結合進行分類糾正。在SemEval-2014的Restaurant數據集上F1為73.67%,在NLPCC2012數據集上F1為91.5%,證明了該模型的有效性。
關鍵詞:方面級情感分析;圖卷積神經網絡;社交網絡;情感詞典;字詞雙通道;多維度融合;話題
中圖分類號:TP181"" 文獻標志碼:A""" 文章編號:1001-3695(2022)12-013-3614-06
doi:" 10.19734/j.issn.1001-3695.2022.05.0236
Chinese aspect-based sentiment analysis integrating sentiment and topic information
Zhou Faguo, Sun Dongxue
(School of Mechanical Electronic amp; Information Engineering, China University of Mining amp; Technology-Beijing, Beijing 100083, China)
Abstract:
In recent years, the aspect-based sentiment analysis model uses graph convolutional network (GCN) to learn the grammatical structure information of sentences, but ignores the known sentiment word information and the known topic environment belonged to the comments. These gradually can’t meet the needs of sentiment analysis of Chinese social networks. To solve the above problems, this paper proposed a double-channel of char and word (2D-SGCN) model based on soft fusion of dictionary and deep learning. Firstly, it constructed a microblog domain sentiment dictionary based on the expansion of the basic sentiment dictionary, then obtained sentiment words. Secondly, it used the pre-training model to obtain the initial feature vector of the chars and word, and integrated the aspect word and topic information in the char dimension. Then it used the Bi-LSTM and GCN with emotional information (SGCN) models to learn global and local information respectively. And it obtained the final features of aspect words through the attention mechanism and obtained better expression of text through multi-dimensional fusion. Finally, it combined the topic and aspect information for correction and classification. On the Restaurant dataset of SemEval-2014, F1 is 73.67%, on the NLPCC2012 dataset, F1is 91.5%, which proves the effectiveness of the 2D-SGCN model.
Key words:aspect-based sentiment classification; graph convolutional network; social network; sentiment dictionary; double channels of char and word; multi-dimensional fusion; topic
0 引言
近年來,情感分析逐漸成為一個研究熱點,在輿情分析、事件監測、商品推薦和學術研究方面都具有重要意義。現在大多數的情感分析任務都是基于方面詞的情感分析(aspect based sentiment analysis,ABSA)任務,如圖1所示。
句中描述了兩個方面詞“教師”“收入”以及它們所對應的不同情感。情感分類方法可以分為基于情感詞典的方法、基于機器學習或深度學習的方法、詞典和機器或深度學習結合的方法。
早期,研究人員基于情感詞典和規則的方法來解決情感分類問題,文獻[1~3]在現有情感詞典基礎上構建領域情感詞典,通過特定規則判斷微博的情感值。吳依萍[4]分別基于情感詞典和SVM算法對方面詞進行情感分類;張佳明等人[5]提出了一種基于Biterm的主題模型BTM,利用情感詞典分析隱含主題情感分布進而得到微博的情感分類。考慮到微博中存在的大量流行語會對微博的情感造成影響,陳佳慧[6]選擇百度、搜狗輸入法的網絡新詞作為候選庫,使用情感傾向點互信息算法(semantic orientation pointwise mutual information,SO-PMI)構建微博實時網絡流行語詞典,并提出了一種構建細粒度情感詞典的方法和完整的微博情感分類流程,使得微博情感的類別得以更精細判斷。考慮到中文文本語義規則,吳杰勝等人[7]在合并現有的情感詞典基礎上,提出一種基于多部情感詞典和規則集的中文微博情感分析方法,使微博的情感分類準確率得到提高。但情感詞典構建和最終判定方法都是人工設置,時間成本高、靈活性差,對ABSA任務適用性不強。
現有大多數方面級情感分析是基于神經網絡展開的,Chen等人[8]使用循環神經網絡(recurrent neural network)捕捉文本的上下文特征。文獻[9,10]使用長短期記憶網絡(long short-term memory,LSTM)來學習方面詞和上下文的關系。Wang等人[11]提出一種基于注意力機制的LSTM模型(ATAE-LSTM),利用LSTM學習到的文本表示與方面詞拼接后使用注意力機制最終得到方面級情感類別。然而LSTM網絡可能過度關注表達情緒極性的高頻詞語,對于與方面詞相關的低頻詞卻鮮少關注。研究表明,句法依賴樹可以縮短詞與詞之間的距離,捕捉到詞與詞之間的句法信息,因此后來的研究主要集中在此方面。學者們通過構建句子的句法分析樹,利用圖神經網絡(graph convolution networks,GCN)[12]學習與方面詞有關的詞語信息,該方法有效地解決了僅使用LSTM出現的問題,同時可以克服距離的因素,使方面詞學習到與其句法相關的詞的信息。Sun等人[13]提出基于依賴樹卷積的模型CDT,應用GCN將語義解析樹作為圖的鄰接矩陣來學習詞之間的關系,取學習到的方面詞的向量并將其平均池化后作為方面詞的最終向量表示;Zhang等人[14]提出ASGCN(aspect-specific graph convolutional network)模型,采用圖神經網絡學習后的方面詞向量對全局文本應用注意力機制,之后加權得到最終方面詞向量表示;Bian等人[15]用雙向GCN學習句法解析和詞匯圖去捕捉全局詞信息。施榮華等人[16]使用結構為BERT-Bi-GRU-GAT的模型實現情感識別,使用圖注意力網絡(graph attention network,GAT)加強不同方面節點交互;姜宇桐等人[17]提出一種簡單圖神經網絡MASGC,減少GCN的參數并應用雙向門控循環單元(Bi-GRU)對文本編碼,基于檢索的上下文注意力機制得到最終分類結果;楊春霞等人[18]基于雙向圖卷積網絡和交互注意力機制IAM學習對分類有貢獻的特征;宋紅陽等人 [19]提出基于強化依賴圖的方面情感分類模型,在強化依賴圖上使用圖注意力網絡學習方面詞表示;夏鴻斌等人[20]提出結合注意—過度注意(AOA)和GCN的情感分類模型,捕捉方面詞和上下文的交互與表示。以上這些模型都是針對英文評論數據進行的情感分析,缺少對詞和其他信息的學習,進而對中文數據分類效果不佳。
針對中文ABSA任務,何志強[21]提出AE-DAM模型及其改進模型AE-DAM改進2,應用Bi-LSTM和注意力機制并在模型設計時對文本和情感符號向量追加微博話題詞信息,融合話題信息實現細粒度情感分類。雖然該模型引入了情感信息和話題信息,但模型設計部分方面詞無差別學習情感詞和非情感詞信息,引入不必要噪聲,進而出現聚合學習效果不好的情況。
本文提出一種適合中文社交網絡數據的細粒度情感分析模型,以實現中文細粒度情感分類。模型創新體現在:
a)在模型設計上受文獻[14]的啟發并作出改進得到SGCN(sentiment-based GCN),適應數據的特點,重視與方面詞有句法依賴的情感詞信息。句法依賴樹如圖2所示。在該例句的句法依賴樹中,詞與詞間的句法關系被直接表示出來。方面詞“收入”與其情感觀點詞“不敢恭維”和其他成分詞“實際”直接相連,SGCN模型在學習方面詞“收入”的特征信息時對兩者差別對待。
b)對于中文社交網絡數據來說,同一個方面詞在不同話題下所表達的情感不盡相同,比如在話題“范冰冰偷稅漏稅”中,方面詞“范冰冰”的情感大多是負向的,話題“范冰冰生圖好美”中,方面詞“范冰冰”的情感大多是正向。受CRF思想的啟發,使用話題信息實現誤分類糾正,實現異話題間方面詞學習不互擾。
1 2D-SGCN模型
方面級情感分類任務描述為:給定一條長度為q的文本W={w1,w2,…,wq}、文本描述的方面詞F={wτ,wτ+1,…,wρ},預測方面詞F所對應的情感。方面詞可以應用命名實體識別任務抽取,話題信息是微博數據本身帶有的屬性。對于社交網絡數據,方面詞是與話題息息相關的,本文將任務詳細描述為:假設該文本所屬話題T={w1,w2,…,wm},其中m代表當前文本所屬話題的字數,則基于中文社交網絡數據的情感分析任務為預測方面詞F在話題T下所對應的情感。
本文針對此類任務構建模型──2D-SGCN,模型從縱向結構上劃分為文本表示層、特征學習層、糾正層以及輸出層,在橫向結構上包含字和詞兩個處理通道。其結構除預處理層如圖3所示。
1.1 預處理層
在將數據輸入到網絡前需要進行預處理工作。在預處理階段,將工作分為以下幾個步驟:
a)數據去噪、分詞與去停用詞。去除對目標任務無意義的符號,如“@”“#”“http:”網址類鏈接等,考慮到中文表達中標點符號對情感的識別具有幫助作用,所以本文并沒有去除標點符號。采用Jieba分詞工具對去噪后文本進行分詞。在分詞前預先把方面詞加入分詞詞典中,防止出現語句中的方面詞無法識別問題;同時社交網絡數據存在許多如“歇菜”“坑爹”等網絡詞,故在分詞時把網絡詞加入到分詞詞典中。考慮到網絡詞的更新問題,本文將搜狗輸入法的“網絡流行新詞”詞庫和百度輸入法的“網絡用語”“日常用語大詞庫”“常用聊天短語”詞庫匯合得到微博網絡詞典。
b)語義解析。在模型訓練時將語句的語義信息也考慮在內,因此在預處理階段對語句進行語義解析。采用Python第三方庫PyLTP,該庫可以對Jieba分詞后的詞先詞性標注再進行句法解析,最終得到語句的句法依賴信息。
c)情感詞典的擴展。除以上步驟外,本文在預處理階段得到微博情感詞典,為之后與模型融合做準備。選擇知網HowNet情感詞典和大連理工情感詞匯本體為基礎情感詞典,將基礎情感詞典與Jieba分詞后得到的詞取交集得到語料種子情感詞,采用SO-PMI法計算詞的情感值實現情感詞典的擴展。SO-PMI算法流程可表示為:將Jieba分詞后與種子情感詞在特定窗口大小內共現的詞作為情感候選詞,遍歷所有情感候選詞,查看它與所有共現的 pos種子詞的PMI值、與所有共現的 neg種子詞的PMI值,兩者相減即得到SO-MPI值,大于0為擴展的pos、小于0為neg。
1.2 文本表示層
計算機并不能夠對文本直接識別和處理,需要將語料轉換成數字向量的形式,本文在文本表示層進行該項工作。為了更充分地學習到文本的信息,在文本表示層分別從字和詞兩個維度表示并融入方面詞信息和話題信息。
1.2.1 字向量表示
使用預訓練模型BERT引用獲取字向量表示,通過{[CLS]文本[SEP]方面詞、話題信息}的方式融入方面詞和話題信息,讓文本與其所含方面詞和所屬話題間充分交互語義信息。其中話題信息是社交網絡文本所處的話題環境,輸入由微博文本、待識別情感的方面詞和微博文本所屬話題三部分構成。
對于樣本中第k條數據,本文將文本Wk、方面詞Fk、話題Tk結合在一起得到輸入數據Xk={[CLS]w1,…,wq,[SEP]wτ,…,wρ,w1,…,wm},假設第k條數據的文本、方面詞和話題的字個數一共為s,通過BERT模型后得二維詞嵌入向量EBERTCk=[eBERT0,…,eBERTs+2]∈Euclid ExtraaBp(s+2)×768,其中eBERTi∈Euclid ExtraaBp1×768代表該條數據中第i個token的向量表示,768為BERT嵌入向量的維度。
所有文本的字嵌入向量為EBERTC∈Euclid ExtraaBpbatch×(s+2)×768,batch為批處理樣本數量。
1.2.2 詞向量表示
以Jieba分詞后的單詞為基礎,使用由北京師范大學和人民大學研究者基于微博語料的預訓練模型SGNSweibo[20]獲得每一個詞的向量表示。輸入為分詞后的微博文本。
對于樣本中第k條數據,將文本Wk通過預訓練模型得到二維詞嵌入向量ESGNSk=[eSGNS1,…,eSGNSn]∈Euclid ExtraaBpn×d,eSGNSi∈Euclid ExtraaBp1×d表示第i個詞的向量,n為該文本詞的個數,d為該預訓練模型的詞嵌入向量的維度。最終所有文本的詞嵌入向量為ESGNSW∈Euclid ExtraaBpbatch×n×(d+1)。
1.3 特征學習層
特征學習層是深度學習模型的主要部分,對上一層的嵌入向量矩陣進行隱藏特征學習,同時實現字和詞兩維度特征的融合。在該層包括Bi-LSTM層、SGCN層、注意力層三小層。
Bi-LSTM可以使方面詞適應句子的表述學習到全局特征信息。但是對于ABSA任務來說,若方面詞與其情感詞之間的距離較遠,且兩者之間存在其他情感詞,則僅僅依靠Bi-LSTM網絡學習前后向全局信息是無法準確捕捉到正確的關系的。而語句的句法分析可以直觀地展示詞語之間的依存關聯,跨越句子順序結構束縛直接獲取的詞語依賴信息。同時句法的依賴關系是不規則樹狀結構,故不采用CNN而應用GCN來學習詞語間的直接與間接依賴關系。
文獻[13]在傳統GCN基礎上對特征向量H進行了位置加權,使方面詞附近的觀點詞對其權重更高而距離遠的觀點詞權重低,但由于中文文本與英文文本不同,與方面詞近的情感詞并不一定是對其的真實描述。與文獻[13]不同的是,本文以句法依賴樹為基礎,考慮詞語的情感信息,對所有情感詞賦予相同的權重,讓網絡學習具體信息,突出與方面詞有直接聯系的情感詞的重要性,在傳統GCN基礎上加入情感信息得到SGCN。
1.3.1 情感矩陣的獲得
情感矩陣S是通過遍歷每一條文本的詞,判斷該詞是否在情感詞典中出現得到的,如果在詞典中出現則判定該詞為情感觀點詞。
Sij=weight" i或j是情感詞所在行列1 i或j是非情感詞所在行列(1)
其中:Sij表示第i個詞或第j個詞是否為情感詞。這里不去區分情感詞的情感極性,只需設置weight來強調情感詞與其他詞間的區別,通過網絡學習具體的不同。關于情感詞典的獲得,本文已經在1.1節闡述。
1.3.2 Bi-LSTM層
應用兩個兩層Bi-LSTM網絡分別對文本的字、詞嵌入向量進行全局編碼,將字、詞嵌入向量矩陣EBERTC、ESGNSW分別輸入到Bi-LSTM網絡的前后向結構進行編碼。每層LSTM的計算為
hi=LSTM(ei),i∈[1,T](2)
hi=LSTM(ei),i∈[1,T](3)
hi=[hi;hi](4)
其中:T為時間步,對應文本的字或者詞的個數,取值為s或者n。
所有文本經過該層編碼得到輸出:
HbilstmC=BiLSTM(EBERTC)(5)
HbilstmW=BiLSTM(ESGNSW)(6)
其中:HbilstmC∈Euclid ExtraaBpbatch×s×F,HbilstmW∈Euclid ExtraaBpbatch×n×F,F為Bi-LSTM層輸出向量特征數量,s為文本字的個數,n為文本詞的個數。
1.3.3 SGCN層
傳統GCN原圖表示為G=(V,E),V代表圖中頂點集合,E代表邊集合,以詞為頂點,詞間是否存在句法依賴關系為邊。SGCN圖描述為G=(V,E,S), V是詞頂點集合,S為情感矩陣。網絡輸入有三部分:文本的句法依賴樹矩陣A∈Euclid ExtraaBpn×n;Bi-LSTM層輸出的詞維度的特征向量和字維度的特征向量H;情感矩陣S。SGCN層以(A+I)*S作為圖的鄰接矩陣進行傳播,其網絡節點的特征更新是對其鄰居的信息聚合實現的,鄰居節點為情感詞則邊的權重更高,傳播過程中若兩個詞間有直接語義關聯則更新,否則不更新。
SGCN中第i個節點在k層的特征更新方式如下:
h(k+1)i=σ(∑nj=1ci[(A+I)*S]ij(Wkhkj+bk))(7)
Aij=1" i與j句法依賴0" i與j句法不依賴(8)
其中:hkj是GCN第k層的第j個節點的隱藏層特征表示;bk是偏差項;Wk是參數矩陣;ci是歸一化常量;σ是非線性激活函數;I是單位矩陣。
在該階段為每一個文本構造一張圖實現該文本的局部特征學習,分別對上一層輸出的字、詞雙通道特征信息進行局部關系學習,字通道在學過程中選擇詞的第一個字的特征代表該節點的特征。對兩通道分別學習得到輸出:
HsgcnC=SGCN(HbilstmC)(9)
HsgcnW=SGCN(HbilstmW)(10)
其中:HsgcnC∈Euclid ExtraaBpbatch×n×F2,HsgcnW∈Euclid ExtraaBpbatch×n×F2, F2為SGCN層輸出向量特征數量,n為文本詞的個數。
1.3.4 注意力層
如文獻[12]所說,經過全局和局部編碼后,方面詞信息已經充分學習到足夠的信息。為了得到方面詞的更精確表示,分別利用字、詞兩通道SGCN層輸出的方面詞特征對Bi-LSTM層輸出的文本全局信息進行注意力加權,步驟如下:
a)mask。對SGCN層輸出的向量進行方面詞掩碼,屏蔽非方面詞的隱藏狀態,得到HmaskX:
HmaskC=mask(HsgcnC)(11)
HmaskW=mask(HsgcnW)(12)
HsgcnX=[hk+10,…,hk+1n],X=C or W(13)
hk+1i=0" 1≤ilt;a,alt;i≤n(14)
其中:hk+1i∈Euclid ExtraaBp1×F2表示第i個詞在SGCN第k層的輸出;a是方面詞所在的序列下標。SGCN層輸出的向量HsgcnX經過式(14)掩碼后得到HmaskX=[0,…,hk+1a,…,0]∈Euclid ExtraaBpbatch×n×F2,X= C or W,C代表字維度,W代表詞維度,非方面詞部分全部置0。
b)Attention。使用HmaskX對Bi-LSTM層輸出加權得到HattX:
HattX=f(α,HbilstmX),X=C or W(15)
α=exp(βi)∑n1exp(βi)(16)
β=f(HmaskX,HbilstmX),X=C or W(17)
其中:f(·)是矩陣的乘法;α是經過計算得到的注意力分數。
最終字、詞兩通道的該層輸出HattC∈Euclid ExtraaBpbatch×n×F、HattW∈Euclid ExtraaBpbatch×n×F,F為Bi-LSTM層輸出向量特征數量,n為文本詞的個數。
1.4 糾正層
糾正層使用話題信息和方面詞信息實現異話題的方面詞情感不相干擾。其中話題信息是社交網絡數據所處的話題環境。可通過主題模型或者按照話題爬取得到,本文不作過多闡述。該層接收來自字、詞雙通道的SGCN層輸入和輸出,取方面詞對應的向量進行融合,對融合后的向量通過傳統GCN網絡進行糾正學習。
輸入有四部分:微博—話題矩陣matrixT;方面詞—方面詞矩陣matrixF;Bi-LSTM層輸出的字、詞雙通道的方面詞向量HbilstmC、HbilstmW;注意力層輸出的字、詞雙通道的方面詞向量HattC、HattW。該層步驟如下:
a)得到微博—方面詞矩陣matrixFT。
matrixFT=(matrixFmatrixFT)matrixT(18)
其中:matrixT∈Euclid ExtraaBpn×x,x為話題數量,如果微博i的話題為j則matrixTij=1,否則為0;matrixF∈Euclid ExtraaBpn×n,如果微博i的方面詞和微博j的方面詞相同則matrixFij=1,否則為0。則matrixFT代表微博i和微博j是否描述的是同一話題下同一方面詞,取值為0或1。
b)融合字、詞兩通道方面詞向量得到糾正層節點最終輸入HF∈Euclid ExtraaBpbatch×(4F)。
HF=[HattW,HbilstmW,HattC,HbilstmC](19)
c)輸出方面詞最終表示HJ∈Euclid ExtraaBpbatch×F3。
HJ=GCN(matrixFT,HF)=matrixFT(WHF+B)(20)
其中:B是偏差矩陣;F3為糾正層輸出向量特征數量。以傳統GCN方式更新,頂點為每一個樣本,邊為matrixFT矩陣進行鄰居間聚合傳播。
1.5 輸出層
將獲得的方面詞最終特征HJ表示輸入全連接層,利用softmax對其進行類別概率計算:
p=softmax(WHJ+B′)(21)
其中:p∈Euclid ExtraaBp1×dp代表方面詞所屬每一類的概率;dp是情感類別數目;W是參數矩陣;B′是偏差矩陣,為可訓練參數;=max(p)為最終分類結果。
1.6 模型訓練
使用多分類常用的交叉熵損失函數和L2正則化進行訓練模型,訓練過程中盡可能使loss函數最小化,其表達為
loss=-∑ni=1yiln pi+λ‖Θ‖2(22)
其中:yi表示第i個樣本的真實標簽值;pi表示第i個樣本的預測值;λ是L2正則化參數;Θ是所有可訓練參數集合。
2 實驗結果與分析
2.1 數據集與實驗環境配置
實驗數據有兩部分:a)中文微博數據,選用NLPamp;CC2012會議的測試數據和樣例數據中的標注數據,數據包含方面詞和話題;b)英文數據,SemEval2014 task4[21]中的Restaurant-2014數據集,數據只包含方面詞。由于本模型需結合話題信息進行中文細粒度情感分析,所以在數據集a)上驗證有效性;同時數據集b)本身無話題信息,故移除本模型除糾正層(含話題信息)以外部分,在英文數據集b)上進行驗證模型其他部分適用性。這些數據集的詳細統計信息如表1所示。
其中,數據a)包括“菲軍艦惡意撞擊”“瘋狂的大蔥”“官員調研”等20個話題,每個話題大約100條語料。
2.2 實驗細節、評價指標與參數設置
實驗首先按照1.1節中的預處理流程進行處理,同時采用將含有多個方面詞的文本復制,化多方面詞識別為單方面詞識別任務,整理完成后共2 195條(去除other類)。整理后的文本格式為情感極性、話題詞、話題ID、方面詞、方面詞ID、分詞后的文本、語義解析后的列表。
按照1.2小節所述,將分詞后文本和未分詞的文本分別輸入到SGNCweibo詞預訓練模型和BERT字預訓練模型中獲得300維的詞向量和768維的字向量作為模型的初始向量;同時對每個batch的分詞后文本數據根據得到的情感詞典查找情感詞,得到規模為[batch_size,seq_len]的情感詞矩陣S,見算法1所示。將初始向量輸入到特征學習層,對字、詞雙通道做類似操作,為方便表達,假設E為初始向量,將其輸入Bi-LSTM層輸出H,經過SGCN層和注意力層得到輸出G。在糾正層,對字詞雙通道的H和G融合后屏蔽異話間的方面詞學習,得到最終向量表示并輸入到輸出層進行分類。糾正層的算法流程已在1.4節指出。
算法1 情感詞矩陣S獲得算法
輸入:情感詞典列表sent_list;分詞后文本W;情感詞權重weight。
輸出:情感詞矩陣S。
for j=0 to len(W)-1 // 每個batch一次循環計算
for i=0 to len(W[j])-1" // 遍歷分詞后的樣本j中的每個詞
val=W[j][i];
if val in sent_ list"" /*如果該詞在情感詞典中出現,賦值權重weight */
S [j][i][:]=weight;
S [j][:][i]=weight;
else //否則為1
S [j][i][:] =1;
return S.
算法2 SGCN層和注意力層算法
輸入:Bi-LSTM層輸出H;情感矩陣S;句法依賴矩陣A;方面詞起始下標m,方面詞結束下標n。
輸出:注意力層輸出 G。
//第一層SGCN層輸出
Hsgcn1=SGCN(H,A,S)=(A+I)*S*(W*H)+B;
//二層SGCN層輸出
Hsgcn2=SGCN(T1,A,S)=(A+I)*S *(W*T1)+B;
for j=0 to len(Hsgcn2)-1 /*屏蔽非方面詞,只留下SGCN的方面詞所在向量*/
for i=0 to len(Hsgcn2[j])-1
if (m≤i<n)
F[j][i]=Hsgcn2[j][i];
else
F[j][i]= 0;
G= attention(F); //該操作見1.3.4節
return G.
采用每三次取平均作為實驗最后的得分。選擇準確率和F1值作為評價指標,其中F1是準確率和召回率的調和平均值。實驗環境配置如表2所示,模型參數如表3所示。
2.3 對比實驗
本文設計n組對比實驗。第一組實驗為中文細粒度情感分析對比實驗,在數據集a)上進行,驗證2D-SGCN模型在中文數據的方面級情感分析上的有效性;第二組實驗為英文細粒度情感分析在數據集b)上進行,驗證2D-SGCN模型除糾正層外部分在英文情感分類任務上的適用性。
2.3.1 中文細粒度情感分析對比實驗
由于研究人員對中文細粒度情感分析研究較少,所以采用NLPamp;CC2012數據集進行細粒度情感分析的模型不多,以下將對比應用到此數據集的模型,涉及基于情感詞典、機器學習以及兩者結合的方法。實驗對比模型介紹如下:
a)基于情感詞典[4],基于情感詞典的方法。該模型應用情感詞典和規則的方法進行情感分類。
b)BTM[5],基于情感詞典的方法。該模型基于情感詞典獲得主題詞的概率分布,再進行情感分類。
c)基于微博語義的SVM[4],基于機器學習的方法。該模型應用SVM進行情感分類。
d)ATAE-LSTM[11],基于深度學習的方法。將方面詞于LSTM模型輸出相拼接后,應用注意力機制進行情感分類。
e)AE-DAM[21],情感詞典和深度學習的方法。將話題詞附加到每一個詞向量和情感向量后,利用Bi-LSTM網絡和注意力機制進行細粒度情感分類。
f)AE-DAM改進2[21],情感詞典和深度學習的方法。在AE-DAM的基礎上將方面詞和當前詞的距離以及方面詞和話題詞的相似度信息作為注意力權重實現細粒度情感分類。
分別使用相應原文獻的實驗結果對上述六個方案和本文方法進行實驗對比,結果如表4所示。可以看出,本文模型在NLPamp;CC2012數據集上相較于對比模型,準確率和F1均有提高。相較對比模型a)~c),F1分別提升了25.9%、15.6%、14.2%,證明了使用深度學習模型的有效性;相較于模型d),F1提升了6.9%,說明僅使用LSTM學習全局信息對整體的句子語義學習比較好,更適合粗粒度的文本情感分類,但是對于細粒度的方面級情感分類效果欠佳,方面詞的更深層語義信息無法提取到,進一步說明使用圖卷積和句法依賴樹的有效性;相較于模型e)和f),本文模型從另一種角度融入話題信息并重點強調情感詞的重要性,使模型更好地學習,除此之外引入了糾正層,實現話題間不互擾,實驗結果表明F1分別提升了3.9%、2.5%,證明了本模型在中文細粒度情感分類任務上更有效。
2.3.2 英文細粒度情感分析對比實驗
由于現有英文公開數據缺乏話題信息,移除本模型在文本表示層的話題輸入部分和糾正層與深度學習模型進行對比,對比模型如下:
a)ASGCN[14]。在CDT的基礎上加入注意力機制。
b)BERT-ASGCN[14]。在ASGCN基礎上使用BERT預訓練向量獲得初始字嵌入向量。
c)BERT-Bi-GRU-GAT[16]。采用BERT預訓練向量和Bi-GRU學習文本全局信息,采用GAT網絡自學習局部信息。
d)MASGC[17]。使用Bi-GRU和簡單圖卷積進行編碼,同時應用注意力機制。
e)BiGCN-IAM[18]。使用雙向圖卷積網絡和交互注意力機制IAM。
f)ASGCN-AOA-DG[20]。使用GCN和注意—過度注意(AOA)注意力機。
分別使用相應原論文的實驗結果對上述五個方案和本文方法進行實驗對比,對比結果如表5所示。可以看出,本模型在Restaurant-2014數據集上相較于模型BERT-ASGCN效果稍低,這里猜測可能是因為對于英文數據來說,無中文數據中詞的概念,所以加入額外詞向量相較于僅使用BERT預訓練向量引入了一定的噪聲,降低了識別的準確性,同時由于數據本身的原因并未帶有話題信息,異話題間的方面詞極性識別有干擾現象,進而導致準確率降低;但相較于對比模型ASGCN、MASGC和BiGCN-IAM,準確率和F1均有提高,相較于今年最新模型ASGCN-AOA-DG的召回率亦有提高,說明模型雖然會引入詞噪聲,但是通過突出情感詞使得模型可以進一步關注重點詞匯,證明了SGCN的有效性。
2.4 消融實驗
為了進一步驗證模型的性能,在NLPamp;CC2012數據集上進行了四組消融實驗。
實驗1 驗證字、詞雙通道方法的優越性。實驗分別對只采用字通道、只采用詞通道和字、詞雙通道結合作對比,模型其他部分不變。
實驗2 驗證糾正層的有效性。為了控制變量,在該實驗中屏蔽BERT模塊在單通道上進行驗證,在文本表示層只采用SGNSweibo進行初始特征抽取,對使用糾正層和不使用糾正層進行對比。
實驗3 驗證情感信息的有效性。同實驗2,只采用SGNSweibo進行初始特征抽取。對GCN和SGCN進行對比。
三組消融實驗的對比結果如表6所示。實驗1結果表明,只采用字通道的方法較只采用詞通道的方法表現好,但卻忽略了中文文本中詞所蘊涵的信息,采用字、詞雙通道結合的方法實現了字、詞信息的互補充,學習到的信息更全面、表現更優越。實驗2結果表明,使用糾正層F1提高了約3.8%,證明了對于中文社交網絡數據,話題信息和方面詞信息對由于不同話題下相同方面詞的情感誤分類起到了糾正作用,減少了誤分類的情況,模型學到了更好的語義信息,證明了引入糾正層有效性。實驗3結果表明,SGCN替換GCN,F1提高約0.2%,GCN在學習方面詞的表征時無差別對待包括助動詞、介詞等所有與之有直接句法依賴的詞,而SGCN對其作出了區分,證明了在網絡訓練中融入情感詞的已知情感信息對細粒度情感分類任務的有效性,同時進一步說明了本文采用詞典和深度學習相結合的方法的有效性。
實驗4 驗證注意力層的有效性。選取例句“每個人都讀過書,教師功不可沒,但實際的收入確實不敢恭維”。方面詞“收入”的情感為neg。分別選取初始輪、中間輪、最優輪的注意力層分數對其訓練過程進行可視化。如圖4所示,初始輪相較于最優輪,可以近似看成模型不添加注意力機制時的學習效果,最優輪看成添加注意力后的最優結果。可以看到隨著模型的訓練,模型可以正確地注意到觀點詞“不敢恭維”,方面詞基于學習到的注意力分數得以聚合學習最終能夠正確分類,證明了注意力層的有效性。
2.5 樣例分析
本文提供了兩個樣例去分析本模型,樣例基本情況如表7所示。將本文模型和ASGCN[14]進行對比學習展開,分別應用模型中的注意力分數給出對比的結果。對比結果如圖5、6所示。
圖5、6中,第一行是未加入情感信息的GCN學習的結果,第二行是加入情感信息的SGCN學習的結果。可以看出,例句1中2D-SGCN模型訓練的結果注意力多放在情感觀點詞“不敢恭維”上,而ASGCN重點在“教師”與“功不可沒”上,相較于ASGCN,2D-SGCN能更好地學習到正確的情感觀點詞;例句2中,2D-SGCN較ASGCN對觀點詞“勤儉節約”給予更多的關注。兩個例句經過注意力的加權可以更好地進行分類。
3 結束語
針對中文社交網絡數據的文本情感分類任務未充分利用話題信息和情感詞的已知情感信息,本文提出一種細粒度情感分析模型2D-SGCN。該模型使用BERT和SGNSweibo兩個預訓練模型分別從字、詞雙通道對文本進行編碼表示,從字、詞兩個維度進行學習;利用Bi-LSTM和一種融入情感信息的GCN學習文本的全局和局部信息,確保方面詞充分學習到情感信息。最后使用方面詞和話題信息對的文本分類進行學習糾正,確保異話題異方面詞間不互擾。在NLPamp;CC2012數據集上的實驗表明,相比其他模型,2D-SGCN提高了中文細粒度情感分類的性能;在Restaurant-2014數據集上的實驗表明,去除話題信息的2D-SGCN在英文數據的細粒度情感分類上同樣有效。
通過研究發現,社交網絡數據中人物關系信息對博文的發布存在相互影響進而影響到方面詞的情感表達,在后續工作中,將改進模型、融入人物關系信息,從而提高中文社交網絡細粒度情感分析的性能。
參考文獻:
[1]李婷婷,姬東鴻. 基于SVM和CRF多特征組合的微博情感分析 [J]. 計算機應用研究,2015,32(4): 978-981. (Li Tingting,Ji Donghong. Sentiment analysis of micro-blog based on SVM and CRF using combinations of features [J]. Application Research of Computers,2015,32(4): 978-981.)
[2]肖江,丁星,何榮杰. 基于領域情感詞典的中文微博情感分析 [J]. 電子設計工程,2015,23(12): 18-21. (Xiao Jiang,Ding Xing,He Rongjie. Analysis of Chinese micro-blog emotion which based on field of emotion dictionary [J]. Electronic Design Engineering,2015,23(12): 18-21.)
[3]梁亞偉. 基于情感詞典的中文微博情感分析模型研究 [J]. 現代計算機,2015(12): 11-15. (Liang Yawei. Research on Chinese microblog sentiment analysis model based on sentiment dictionary [J]. Modern Computer,2015(12): 11-15.)
[4]吳伊萍. 中文微博情感分類研究 [D]. 廈門: 華僑大學,2013. (Wu Yiping. Study of sentiment classification on Chinese microblog [D]. Xiamen: Huaqiao University,2013.)
[5]張佳明,王波,唐浩浩,等. 基于Biterm主題模型的無監督微博情感傾向性分析 [J]. 計算機工程,2015,41(7): 219-223. (Zhang Jiaming,Wang Bo,Tang Haohao,et al. Unsupervised sentiment orientation analysis of micro-blog based on Biterm topic model [J]. Computer Engineering,2015,41(7): 219-223.)
[6]陳佳慧. 基于情感詞典的中文微博情感分析與話題傾向性判定研究 [D]. 重慶: 西南大學,2019. (Chen Jiahui. Sentiment analysis of Chinese microblogs based on the sentiment lexicon and the judgment of topic orientation [D]. Chongqing: Southwest University,2019.)
[7]吳杰勝,陸奎. 基于多部情感詞典和規則集的中文微博情感分析研究 [J]. 計算機應用與軟件,2019,36(9): 93-99. (Wu Jie-sheng,Lu Kui. Chinese Weibo sentiment analysis based on multiple sentiment lexicons and rule sets [J]. Computer Applications and Software,2019,36(9): 93-99.)
[8]Chen Peng,Sun Zhongqian,Bing Lidong,et al. Recurrent attention network on memory for aspect sentiment analysis [C]// Proc of Conference on Empirical Methods on Natural Language Processing. Stroudsburg,PA: Association for Computational Linguistics,2017: 452-461.
[9]Ma Dehong,Li Sujian,Zhang Xiaodong,et al. Interactive attention networks for aspect-level sentiment classification [C]// Proc of the 26th International Joint Conference on Artificial Intelligence. Palo Alto,CA: AAAI Press,2017: 4068-4074.
[10]Tang Duyu,Qin Bing,Feng Xiaocheng,et al. Effective LSTMs for target dependent sentiment classification [C]// Proc of the 26th International Conference on Computational Linguistics. Stroudsburg,PA: Association for Computational Linguistics,2015: 3298-3307.
[11]Wang Yequan,Huang Minlie,Zhu Xiaoyan,et al. Attention-based LSTM for aspect-level sentiment classification [C]// Proc of Confe-rence on Empirical Methods in Natural Language Processing. Stroudsburg,PA: Association for Computational Linguistics,2016: 606-615.
[12]Kipf T N,Welling M. Semi-supervised classification with graph con-volutional networks [EB/OL]. (2017-02-22). https://arxiv.org/pdf/1609.02907.pdf.
[13]Sun Kai,Zhang Richong,Mensah S,et al. Aspect-level sentiment analysis via convolution over dependency tree [C]// Proc of Confe-rence on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Stroudsburg,PA: Association for Computational Linguistics,2019: 5679-5688.
[14]Zhang Chen,Li Qiuchi,Song Dawei. Aspect-based sentiment classification with aspect-specific graph convolutional networks [C]// Proc of Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Stroudsburg,PA: Association for Computational Linguistics,2019: 4568-4578.
[15]Bian Tian,Xiao Xi,Xu Tingyang,et al. Rumor detection on social media with bi-directional graph convolutional networks [C]// Proc of AAAI Conference on Artificial Intelligence. 2020: 549-556.
[16]施榮華,金鑫,胡超. 基于圖注意力網絡的方面級別文本情感分析 [J]. 計算機工程,2022,48(2): 34-39. (Shi Ronghua,Jin Xin,Hu Chao. Aspect-level text emotion analysis based on graph attention network [J]. Computer Engineering,2022,48(2): 34-39.)
[17]姜宇桐,錢雪忠,宋威. MASGC: 融合特定屏蔽機制的簡單圖卷積情感分析模型 [J]. 計算機應用研究,2022,39(4): 1049-1053. (Jiang Yutong,Qian Xuezhong,Song Wei. MASGC: simple graph convolution emotion analysis model with specific masking [J]. Application Research of Computers,2022,39(4): 1049-1053.)
[18]楊春霞,瞿濤,吳佳君. 基于BiGCN和IAM的方面級情感分類模型 [J]. 計算機工程與應用,2022,58(11): 178-186. (Yang Chunxia,Qu Tao,Wu Jiajun. Aspect level sentiment classification model based on BiGCN and IAM [J]. Computer Engineering and Applications,2022,58(11): 178-186.)
[19]宋紅陽,朱小飛,郭嘉豐. 基于強化依賴圖的方面情感分類 [J]. 太原理工大學學報,2022,53(2): 248-256. (Song Hongyang,Zhu Xiaofei,Guo Jiafeng. Aspect-based sentiment classification with reinforced dependency graph [J]. Journal of Taiyuan University of Technology,2022,53(2): 248-256.)
[20]夏鴻斌,顧艷,劉淵. 面向特定方面情感分析的圖卷積過度注意 (ASGCN-AOA) 模型 [J]. 中文信息學報,2022,36(3): 146-153. (Xia Hongbin,Gu Yan,Liu Yuan. Graph convolution over attention (ASGCN-AOA) model for specific aspects of sentiment analysis [J]. Journal of Chinese Information Processing,2022,36(3): 146-153.)
[21]何志強. 基于微博話題的情感分析模型的研究 [D]. 北京: 北京郵電大學,2019. (He Zhiqiang. Research on sentiment analysis model based on Weibo topic [D]. Beijing: Beijing University of Posts amp; Telecommunications,2019.)
[22]Li Shen,Zhao Zhe,Hu Renfen,et al. Analogical reasoning on Chinese morphological and semantic relations [C]// Proc of the 56th Annual Meeting of the Association for Computational Linguistics. Stroudsburg,PA: Association for Computational Linguistics,2018: 138-143.
[23]Pontiki M,Galanis D,Pavlopulos J,et al. SemEval-2014 task 4: aspect based sentiment analysis [C]// Proc of the 8th International Workshop on Semantic Evaluation. Stroudsburg,PA: Association for Computational Linguistics,2014: 27-35.