邵 輝
(廣東科學(xué)技術(shù)職業(yè)學(xué)院計算機工程技術(shù)學(xué)院,珠海 519090)
情感分析(sentiment analysis)是指人們對各種服務(wù)、產(chǎn)品,包括其屬性的情感、評價和觀點等的分析研究,又被稱為觀點挖掘[1]。傳統(tǒng)的文本情感分析[2?4]重在對句子、文檔級別進行分析,得出文本中主要觀點所表達的情感傾向,通常分為積極、中立以及消極這三種。但互聯(lián)網(wǎng)普及之前,情感分析的相關(guān)研究成果很少,一是因為收集情感文本語料存在困難,很難獲取所需要的文本語料。二是文本處理、分析方法達不到應(yīng)用要求。進入新世紀后,互聯(lián)網(wǎng)迎來爆發(fā)式增長,基于此,各種海量的文本信息在互聯(lián)網(wǎng)上不斷出現(xiàn),特別是社交領(lǐng)域和電商平臺,促使情感分析研究快速發(fā)展。
在社交領(lǐng)域和電商平臺等,篇幅短小的短文本是互聯(lián)網(wǎng)用戶經(jīng)常使用的。短文本文字有限,但往往包含明確的觀點,特別是在社交軟件中,更是經(jīng)常出現(xiàn)帶有用戶直接偏好的短文本,這些都非常有利于情感分析領(lǐng)域的研究。當前,情感分析研究已經(jīng)發(fā)展到涉及社會的方方面面,互聯(lián)網(wǎng)上每天都有無數(shù)的短文本產(chǎn)生,對短文本的情感分析工作可以讓政府掌握輿情,及時掌握社會大眾的訴求,以便于保證社會的穩(wěn)定和諧;可以讓企業(yè)和單位了解用戶對服務(wù)和產(chǎn)品的意見,以便于做出更好的服務(wù)和產(chǎn)品。由此可見,短文本情感分析工作是十分有意義的。本文以短文本為研究對象,從目標級的情感分類角度提出了一種基于膠囊模型的方法。
目標級的情感分類(aspect?based sentiment classification,ABSC)與情感分析(SA)不同[5],其重在發(fā)現(xiàn)文本中實體方面有關(guān)的情感。例如對于評論文本,就不同于以往對整句做出情感分析,而是根據(jù)句中不同的實體分別做出不同的情感分析,如此一個短文本評論就可能有多個情感極性。比如,“今天一位朋友請我們吃飯,飯菜的味道還可以,但是人太多了,我們等了很久才吃上,而且價格也不便宜。”從這個例子可以看出來,此評價帶有三個實體方面的情感傾向:一是餐廳的味道還可以,這是積極的情感傾向;二是等待的時間太久,這是負面的情感傾向;三是價格太貴,這也是消極的情感傾向。如果是情感分析(SA)任務(wù),那就不會有這么多情感極性分析,可能就這個文檔或整句給出一個情感極性,那就會忽略其它包含在文檔或整句中的情感,只有目標級的情感分類才能做到更細粒度的要求。
目前ABSC 相關(guān)研究中,卷積神經(jīng)網(wǎng)絡(luò)[6]、循環(huán)神經(jīng)網(wǎng)絡(luò)[7]和循環(huán)自編碼模型[8]等神經(jīng)網(wǎng)絡(luò)模型已經(jīng)取得了很好的效果,但是目前存在數(shù)據(jù)集標注成本高昂、有時需要附加的語言知識輔助等問題。膠囊網(wǎng)絡(luò)出現(xiàn)后,對解決上述問題起到了很好的作用。膠囊網(wǎng)絡(luò)由一組神經(jīng)元構(gòu)成,是基于動態(tài)路由的結(jié)構(gòu)[9]。膠囊利用動態(tài)路由算法完成參數(shù)互相傳遞,每個類別的語義由高層膠囊的輸出向量來表示;每個實體的實例化參數(shù)由激活向量來表示;每個情感極性的預(yù)測概率則由向量長度來表示。文本分類中應(yīng)用膠囊網(wǎng)絡(luò)是Zhao 等[10]第一次實現(xiàn),發(fā)現(xiàn)膠囊網(wǎng)絡(luò)不僅能保持靈活的表達能力,同時提高了編碼的有效性;Chen 等[11]提出了一種遷移膠囊網(wǎng)絡(luò)模型,用于將文檔級別的知識遷移到面向目標的情感分類。
在前面工作的基礎(chǔ)上,本文設(shè)計的膠囊模型第一利用BERT預(yù)訓(xùn)練模型充分挖掘文本蘊含的情感語義信息,使模型具有更加豐富的情感語義表達;第二利用多頭注意力機制讓各類特征進行交互,抽象更深層次的上下文內(nèi)部語義關(guān)聯(lián);第三采用膠囊網(wǎng)絡(luò)生成最終的文本表征,從而實現(xiàn)了更好的短文本細粒度情感分類。
給定上下文嵌入[12],其由n個詞構(gòu)成上下文序列s={w1,w2,…,wn}。再給定目標嵌入,其由k個目標構(gòu)成目標序列,t={a1,a2,…,an},很顯然,a是s的一個子序列。由此本文的目標可以表示為pol=fpol(s,ai),其中fpol是非線性變換函數(shù)。本文設(shè)計的膠囊模型如圖1所示,分為詞嵌入層、特征提取層、注意力編碼層和膠囊層,共四層。
圖1 膠囊模型各層
在詞嵌入層使用BERT預(yù)訓(xùn)練模型,將包含n個詞的上下文序列轉(zhuǎn)換成s={v1,v2,…,vn},其中vi表示上下文序列第i個詞的d維向量,句子的輸入詞向量矩陣則是S;同理,目標實例則轉(zhuǎn)換為T={vα,vα+1,…,vα+m-1},其包含m個詞,形成目標詞嵌入序列。其中vi表示目標實例第i個詞的d維向量。
在特征提取層,對于上下文序列形成的詞向量矩陣,其中的每個詞的依賴關(guān)系利用LSTM 進行建模,充分在BERT 預(yù)訓(xùn)練模型的基礎(chǔ)上對隱含語義進行挖掘,得到隱藏狀態(tài)序列Lh={l1,l2,…,lk},形成上下文序列的高階特征;對于目標詞序列,其中屬性實例的各詞依賴關(guān)系也利用LSTM 進行建模,同理充分對隱含語義進行挖掘,得到隱藏狀態(tài)序列Th={t1,t2,…,tm},最后也形成目標詞序列的高階特征。
在注意力編碼層,上下文序列、目標詞序列均采用多頭注意力完成注意力編碼。多頭注意力機制可以簡單有效地對上下文依賴關(guān)系進行抽象,并捕獲句法和語義特征。本層繼續(xù)對上層輸入表示做進一步挖掘,并生成兩類輸出特征。
最后在膠囊層,對兩個多頭注意力的輸出Ok和Om進行封裝加工,最后轉(zhuǎn)換為矢量膠囊集合。膠囊網(wǎng)絡(luò)確定彼此關(guān)系是依據(jù)動態(tài)路由協(xié)議,利用反復(fù)迭代的方式直到收斂成功。在注意力編碼層,因其輸出只能表達局部特性,無法對句子級別進行全局語義表示,因此本層在水平方向?qū)ψ⒁饬幋a層的輸入采用全局最大池化進行壓縮,使得輸出特征在各子空間內(nèi)聚合。同時利用squash 函數(shù)將膠囊向量的模長壓縮到1以內(nèi),用來表示該特征存在的概率。最后最終情感分類輸出層由多類膠囊構(gòu)成,完成每個情感極性分類。
本文評測標準數(shù)據(jù)集采用semeval2014 的餐廳評論數(shù)據(jù)集,對于不同的目標實體,分成三類情感極性:積極,中性和消極。此數(shù)據(jù)集中有極少量數(shù)據(jù)標記為沖突,將其予以刪除。數(shù)據(jù)集的情況如表1所示。
表1 餐廳評論數(shù)據(jù)集 單位:個
本模型采用預(yù)訓(xùn)練BERT,其維度設(shè)置為768。為保證性能,學(xué)習(xí)率設(shè)為2e-5,動態(tài)路由迭代次數(shù)設(shè)置為7,多頭注意力頭數(shù)設(shè)置為8。模型最后利用分類精度和F1值來評價模型性能,并同兩個基線模型RAM、TransCap 進行比較,結(jié)果如表2 所示。從表2 可知,膠囊模型的分類精度和F1值均高于RAM和TransCap。
表2 對比結(jié)果
從實驗結(jié)果看,本文采用的膠囊模型,其網(wǎng)絡(luò)深度的有效增加提升了模型性能;采用預(yù)訓(xùn)練模型BERT也提高了分類精度,并且對參數(shù)微調(diào)能可繼續(xù)提高模型性能;采用膠囊模型則不僅有效提高了分類精度,而且F1值也得到了不小的提升,這說明本文模型對短文本的細粒度情感分類是有效的。