馬 雨 解 慶 唐伶俐 劉永堅
(武漢理工大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院 湖北 武漢 430070)
當(dāng)今時代互聯(lián)網(wǎng)迅猛發(fā)展,網(wǎng)絡(luò)上每天都會產(chǎn)生大量的信息,包括各種各樣的用戶評論信息。比如用戶可以對某個企業(yè)的某個產(chǎn)品做出評價,可以對剛看完的電影做出評價,也可以對政府對于重大事件的決策發(fā)表意見等。企業(yè)可以通過用戶反饋的評價信息來優(yōu)化產(chǎn)品及運營,政府可以通過分析評論來體察民情民意,用戶可以通過其他用戶對于某款產(chǎn)品的評價來決定是否消費該產(chǎn)品等。對這些信息做出合理的分析,不管是對于政府、企業(yè)還是用戶都大有裨益。而在這些信息中用戶的主觀情感取向是極其重要的組成部分,因此研究者開始分析如上所述的不同類型的評論數(shù)據(jù)中所包含的個人主觀情感取向,由此產(chǎn)生了情感分析技術(shù)。
情感分析(Sentiment Analysis)又稱意見挖掘(Opinion Mining),它利用文本分析、機(jī)器學(xué)習(xí)、語言學(xué)、深度學(xué)習(xí)等方法對帶有情感色彩的文本進(jìn)行分析、處理、推理和歸納[1]。通俗而言,主要是對文本所表達(dá)的情感傾向做出判斷,一般有三種情感極性:正面、中立和負(fù)面?;趯ξ臋n分類粒度的不同又分為:篇章級和句子級的粗粒度情感分析和方面級的細(xì)粒度情感分析。粗粒度情感分析假設(shè)每一篇或者每一句文本的評論對象以及對應(yīng)的情感極性只有一個,這顯然不符合實際應(yīng)用中復(fù)雜的情況。
因此,近來學(xué)術(shù)研究越來越關(guān)注細(xì)粒度情感分析,即針對某一句或某一段評論文本中的多個評論對象,分別分析各自的情感極性。方面級的細(xì)粒度情感分析又分為方面類別情感分析ACSA(Aspect Category Sentiment Analysis)和方面詞項情感分析ATSA(Aspect Term Sentiment Analysis)兩個子任務(wù)。對于ACSA,上述細(xì)粒度情感分析定義中的“評論對象”指的是方面類別詞;對于ATSA,其中的“評論對象”指的是方面詞項。ACSA任務(wù)例如:“The boiled fish is delicious, but the price is too expensive.”,boiled fish對應(yīng)的food類是積極的情感極性,而price對應(yīng)的price類是消極的情感極性;ATSA任務(wù)的實例如下:“The boiled fish is delicious, but the beef is too salty.”,boiled fish這個詞項對應(yīng)的是積極的情感極性,而beef這個詞項對應(yīng)的是消極的情感極性。雖然兩個詞項都屬于food類,但是ATSA的處理對象更加細(xì)化。目前的研究成果大多基于深度學(xué)習(xí)方法,且只關(guān)注方面級情感分析的其中一項任務(wù),而且目前方面級情感分析的數(shù)據(jù)集不足,因此整體的性能表現(xiàn)并未達(dá)到預(yù)期。
本文提出一種基于多任務(wù)學(xué)習(xí)的方面級情感分析模型(Aspect-level sentiment analysis model based on multi-task learning,ASA-MTL)來解決方面級情感分析問題。該模型的核心思想是利用多任務(wù)學(xué)習(xí)網(wǎng)絡(luò)的性能,同時學(xué)習(xí)方面級情感分析的兩個子任務(wù)和輔助的方面詞項重建任務(wù)[2],共享其中的隱層參數(shù)和各個子任務(wù)的特征表示,促進(jìn)多個子任務(wù)共同學(xué)習(xí),解決了單任務(wù)網(wǎng)絡(luò)因不能共享自身特征而導(dǎo)致性能不佳的問題。同時,多任務(wù)學(xué)習(xí)框架使得每一個子任務(wù)都為其他子任務(wù)提供額外的信息,一定程度上緩解了方面級情感分析數(shù)據(jù)集不足的問題。在模型訓(xùn)練結(jié)構(gòu)中,首先使用雙向門控循環(huán)單元(Bi-GRU)及Sentence-level的注意力機(jī)制來對詞向量編碼,獲得更好的語義向量。然后在各個任務(wù)的單獨網(wǎng)絡(luò)層,對于兩個情感分析子任務(wù),使用Aspect-level的注意力機(jī)制能夠在句子中根據(jù)不同方面捕獲不同的重要信息。綜上所述,本文的工作有如下三個方面:
(1) 將兩個方面級情感分析子任務(wù)利用多任務(wù)學(xué)習(xí)框架進(jìn)行共同訓(xùn)練學(xué)習(xí)。
(2) 使用Sentence-level和Aspect-level兩層注意力機(jī)制來更好地注意方面詞和情感詞,從而提升模型的總體表現(xiàn)。
(3) 多任務(wù)學(xué)習(xí)框架中添加方面詞項重建任務(wù)在一定程度上確保方面特定的信息對其他兩個子任務(wù)產(chǎn)生積極的影響。
本文的模型在SemEval的餐館和電腦領(lǐng)域數(shù)據(jù)集上進(jìn)行評測,結(jié)果表明,與當(dāng)前具有代表性的方法進(jìn)行比較,本文提出的模型在方面級情感分析任務(wù)中的效果有了顯著的提高。
基于深度神經(jīng)網(wǎng)絡(luò)的方面級情感分析工作取得了不錯的進(jìn)展,尤其是基于循環(huán)神經(jīng)網(wǎng)絡(luò)RNN(Recurrent Neural Network)、長短期記憶網(wǎng)絡(luò)LSTM(Long Short-Term Memory)、門控循環(huán)單元GRU(Gate Recurrent Unit),以及注意力機(jī)制[3](Attention Mechanism)等模型。文獻(xiàn)[4]總結(jié)了各種深度神經(jīng)網(wǎng)絡(luò)用于情感分析任務(wù),其中包括RNN、LSTM、CNN和基于注意力機(jī)制[5]的RNN等,同時也介紹了篇章級、句子級和方面級等幾項情感分類子任務(wù)。文獻(xiàn)[6]闡述了如何使用LSTM及其優(yōu)化模型,即雙向LSTM網(wǎng)絡(luò)和“門控”對文本進(jìn)行分類。文獻(xiàn)[7]提出了兩種基于長短期記憶網(wǎng)絡(luò)的模型:TD-LSTM和TC-LSTM,并驗證了這兩個模型在情感分類任務(wù)上的出色表現(xiàn)。CNN最早應(yīng)用在圖像識別領(lǐng)域[8],而以CNN為基礎(chǔ)的模型在自然語言處理上同樣也不遜色。文獻(xiàn)[9]首先將CNN模型用于文本分類上,CNN的特點在于能夠保留句子的局部關(guān)鍵信息,因此取得了優(yōu)異的成績。文獻(xiàn)[10]認(rèn)為雖然深度神經(jīng)網(wǎng)絡(luò)取得了不錯的進(jìn)展,但是并未充分利用情感語言學(xué)知識,忽略了情感詞、否定詞等的重要性,因此提出了一種多情感資源增強(qiáng)注意網(wǎng)絡(luò)(MEAN),通過注意力機(jī)制將情感詞、否定詞和強(qiáng)度詞整合到深層神經(jīng)網(wǎng)絡(luò)來緩解該問題,用于句子級的情感分類。文獻(xiàn)[11]提出基于注意力的LSTM用于方面級情感分析,其核心思想是學(xué)習(xí)aspect向量,讓aspect向量參與到attention權(quán)重的計算中。文獻(xiàn)[12]認(rèn)為位置信息對于方面級情感分析任務(wù)是有益的,因此提出了一種基于層次關(guān)注的位置感知網(wǎng)絡(luò),也取得了不錯的成績。文獻(xiàn)[13]將方面級情感分析任務(wù)細(xì)化為兩個子任務(wù):方面類別情感分析ACSA和方面詞項情感分析ATSA。提出了GCAE模型,該模型由兩個卷積層和兩個非線性的門單元組成,繼承了LSTM中門單元的特性,又比LSTM的結(jié)構(gòu)簡單太多,可以并行工作,獲得了較短的模型訓(xùn)練時間和優(yōu)秀的模型性能。
多任務(wù)學(xué)習(xí)(Mutli-task Learning)屬于遷移學(xué)習(xí)領(lǐng)域,但不同于遷移學(xué)習(xí)注重從源域到目標(biāo)域的知識遷移,多任務(wù)學(xué)習(xí)基于共享表示,注重任務(wù)之間的相關(guān)性,通過并行學(xué)習(xí)來改善單個任務(wù)學(xué)習(xí)的性能。多任務(wù)學(xué)習(xí)有很多形式,聯(lián)合學(xué)習(xí)(Joint Learning)、自主學(xué)習(xí)(Learning to Learn)和帶有輔助任務(wù)的學(xué)習(xí)(Learning with Auxiliary Task)[14]。文獻(xiàn)[15]分析基于單任務(wù)監(jiān)督目標(biāo)學(xué)習(xí)的模型通常受到訓(xùn)練數(shù)據(jù)不足的影響,因而提出了使用多任務(wù)學(xué)習(xí)框架來共同學(xué)習(xí)多個相關(guān)任務(wù)。文獻(xiàn)基于循環(huán)神經(jīng)網(wǎng)絡(luò),提出了三種不同的共享信息機(jī)制,以模擬具有特定任務(wù)和共享層的文本,整個網(wǎng)絡(luò)共同訓(xùn)練所有任務(wù)。對四個文本分類任務(wù)的實驗表明文獻(xiàn)提出的模型可以借助其他相關(guān)任務(wù)來提高單一任務(wù)的性能。文獻(xiàn)[16]認(rèn)為情感分析中三分類和五分類問題是相關(guān)的,因此提出了一個基于RNN的多任務(wù)學(xué)習(xí)方法。實驗表明多任務(wù)模型有助于改善細(xì)粒度情感分析。文獻(xiàn)[17]提出了一種對抗性的多任務(wù)學(xué)習(xí)框架,減輕了共享和私有潛在特征空間之間的相互干擾。對16種不同的文本分類任務(wù)進(jìn)行實驗驗證,表明了該方法的優(yōu)勢。文獻(xiàn)[18]針對當(dāng)前的大多數(shù)工作無法直接優(yōu)化所需任務(wù)的非監(jiān)督目標(biāo),或受訓(xùn)練數(shù)據(jù)不足困擾的單任務(wù)監(jiān)督目標(biāo)來學(xué)習(xí)模型,提出了一種多任務(wù)深度神經(jīng)網(wǎng)絡(luò),用于學(xué)習(xí)跨多個任務(wù)的表示形式。
本文提出一種基于多任務(wù)學(xué)習(xí)的方面級情感分析模型ASA-MTL,如圖1所示,主要包括以下2種結(jié)構(gòu)。
(1) 多任務(wù)共享提取特征結(jié)構(gòu)。該結(jié)構(gòu)基于Bi-GRU及Sentence-level的注意力機(jī)制,是多任務(wù)的共享部分,在此結(jié)構(gòu)中共同訓(xùn)練各個子任務(wù)的數(shù)據(jù),達(dá)到共同學(xué)習(xí)的目的。模型將兩個任務(wù)的語料庫經(jīng)過共享Embedding層得到詞向量,將詞向量送入Bi-GRU編碼獲得新的向量。通過Sentence-level的注意力機(jī)制更好地捕獲句子的內(nèi)部結(jié)構(gòu),提高句子中方面詞和情感詞在詞嵌入中的權(quán)重,得到最終的句子表示(圖1中“H”部分)。
圖1 基于多任務(wù)學(xué)習(xí)的方面級情感分析模型ASA-MTL
另外,考慮到實際評論文本中普遍存在的多方面情感交織問題,本模型采用一個額外的CNN完成方面詞項的識別和提取的工作。如圖2所示,模型以窗口滑動的形式提取句子的局部特征,通過最大池化層、全連接層、Softmax層,最終提取方面詞項。
圖2 CNN結(jié)構(gòu)提取方面詞項
(2) 任務(wù)特定輸出結(jié)構(gòu)。該結(jié)構(gòu)基于Aspect-level的注意力機(jī)制,是各個子任務(wù)的獨有部分,分別使用注意力機(jī)制為不同任務(wù)服務(wù)并將結(jié)果輸出。首先通過上述共享層得到任務(wù)共享的句子表示。
對于ACSA任務(wù),首先將句子表示和方面類別嵌入拼接作為該任務(wù)特定的注意力層的輸入,當(dāng)不同的方面類別詞輸入的時候,注意力機(jī)制可以專注于句子的不同部分,最后用Softmax層將結(jié)果映射至概率空間,完成方面類別情感分類。
對于ATSA任務(wù),首先將方面詞項從句子中提取出來,并得到方面詞項嵌入,然后將方面詞項嵌入和句子表示拼接送入該任務(wù)特定的注意力層,不同的方面詞項的輸入會使得注意力機(jī)制對句子的不同位置產(chǎn)生關(guān)注,最后用Softmax層將結(jié)果映射至概率空間,完成方面詞項情感分類。
方面詞項重建任務(wù)ATR(Aspect Term Reconstruction)為ACSA和ATSA的輔助任務(wù),重建方面詞項。句子中方面詞項可能由多個單詞組成,因此是多標(biāo)簽問題。該任務(wù)將共享句子向量通過解碼器Bi-GRU對向量操作,之后用全連接層進(jìn)行多標(biāo)簽分類,得到方面詞項。
在多任務(wù)共享提取特征結(jié)構(gòu)中,使用一個任務(wù)共享的Embedding層、Bi-GRU層、Sentence-level的注意力層來捕獲三個任務(wù)的特征,其中Sentence-level的注意力層采用Self-attention機(jī)制。將文本數(shù)據(jù)經(jīng)過Embedding層,得到句子的詞向量表示之后共同送入Bi-GRU層,利用Bi-GRU結(jié)構(gòu),將所有任務(wù)的數(shù)據(jù)共同參與訓(xùn)練,得到一個共同的隱藏狀態(tài)表示,并使用Self-attention機(jī)制更好地注意方面詞和情感詞,得到最終的句子表示,解決了單任務(wù)學(xué)習(xí)時因不能共享自身特征而導(dǎo)致性能不佳的問題。
2.1.1Embedding層
Embedding層將詞語轉(zhuǎn)化成向量的形式,實現(xiàn)將詞語從語義空間映射到向量空間,且原本語義接近的兩個詞匯在向量空間中的位置也是接近的。給定一個含有n個詞的句子s={w1,w2,…,wn},通過嵌入矩陣E∈RV×d來獲取句子向量表示。其中:V是詞匯表的大?。籨是詞嵌入的維度。本文采用300維的Glove[19]向量矩陣來初始化矩陣E,并在訓(xùn)練過程中進(jìn)行微調(diào)。
2.1.2Bi-GRU層
多任務(wù)共享提取特征結(jié)構(gòu)使用Bi-GRU來編碼句子向量,獲取句子的高維語義特征。GRU是由LSTM發(fā)展變化而來的模型。LSTM具有三個“門”機(jī)制,可以讓信息選擇性通過,能夠較好地處理長序列,但其模型復(fù)雜,需要學(xué)習(xí)的參數(shù)較多,需要很長的訓(xùn)練時間[19]。GRU簡化了LSTM的內(nèi)部結(jié)構(gòu),去除了細(xì)胞狀態(tài),只包含更新門和重置門,使用隱藏狀態(tài)來進(jìn)行信息的傳遞,能將輸入序列映射成一個包含高層語義信息的新序列。這樣模型具有更少的參數(shù),能夠在提高模型訓(xùn)練速度的基礎(chǔ)上保證訓(xùn)練效果,其結(jié)構(gòu)如圖3所示。
圖3 GRU的內(nèi)部結(jié)構(gòu)
zt=σ(Wz[ht-1,xt]+bz)
(1)
rt=σ(Wr[ht-1,xt]+br)
(2)
(3)
(4)
單向的GRU從左到右編碼句子,只能看到句子過去的上文信息,不能看到句子未來的下文信息。本文采用Bi-GRU從正向和反向兩個方向來獲取上下文信息,因此能夠獲得兩個隱藏表示,然后級聯(lián)每一個詞的正向隱藏狀態(tài)和反向隱藏狀態(tài)。第i個詞的輸出為:
(5)
H1=[h1,h2,…,hi,…,hn]
(6)
式中:n為句子所含詞語的個數(shù)。
2.1.3Sentence-level的注意力層
在情感分析任務(wù)中,一個句子中的不同單詞對幫助方面級情感分析做出不等同的貢獻(xiàn)。因此本文引入了一種Sentence-level注意機(jī)制,以提取更重要的單詞。Self-attention能通過將所有相關(guān)單詞的理解融入到正在處理的單詞中,充分考慮到句子之間不同詞語之間的語義關(guān)系。因此該層采用Self-attention機(jī)制對獲得的隱層表示進(jìn)一步編碼,將方面詞和其情感詞等這些信息性單詞的表示形式匯總起來,從而形成Sentence-level的表示形式。
Self-attention是注意力機(jī)制的一種,對每一個單詞處理都能充分考慮到其他單詞,也就是說可能會和所有的詞語都做一個加權(quán)。而RNN及其變體在處理單詞時卻只能依靠上一個階段的輸出狀態(tài)和當(dāng)前的輸入狀態(tài)。如圖4所示,可以看到Self-attention的處理機(jī)制,允許模型選擇性地關(guān)注一些詞。
圖4 Self-attention的工作機(jī)制
對于上文中得到的H1中的每一個詞向量,在Self-attention中都會經(jīng)過計算得出三個不同的向量Q、K和V。每一個位置上詞的Q向量與所有位置上詞的K向量進(jìn)行點積相乘后做Softmax歸一化操作,得到每一個詞的權(quán)重。最后,將得到的權(quán)重與每個位置上詞的V向量加權(quán)求和,得到最終的向量:
(7)
在兩個情感分析子任務(wù)中,為了更好地對應(yīng)給定的方面來捕捉句子中重要的部分[11],使用Aspect-level的注意力機(jī)制作為共享層之后的任務(wù)特定層。在方面詞項重建任務(wù)中,使用Bi-GRU作為解碼器,之后接一個全連接層來進(jìn)行多標(biāo)簽分類,重建方面詞項。
該結(jié)構(gòu)是在上述多任務(wù)共享結(jié)構(gòu)基礎(chǔ)上對于兩個情感分析任務(wù)分別加入注意力層,當(dāng)句子中有多種不同的方面時,注意力機(jī)制使得模型能夠捕獲句子中最重要的部分。分別將方面類別詞向量或方面詞項向量與多任務(wù)共享結(jié)構(gòu)得到的向量H拼接起來作為注意力機(jī)制的輸入表示。注意力機(jī)制將會產(chǎn)生一個注意力權(quán)重向量α和給定方面的句子加權(quán)表示組成的向量r。α=[α1,α2,…,αi,…,αn],其中αi代表每個詞的注意力權(quán)重。
(1) 對于ACSA和ATSA任務(wù)。將H和va拼接后的向量經(jīng)過tanh激活函數(shù),得到M,然后經(jīng)過Softmax得到注意力權(quán)重α,最終得到給定方面類別或方面詞項的句子向量r:
(8)
α=softmax(wTM)
(9)
r=HαT
(10)
式中:va代表ACSA任務(wù)中的方面類別詞向量或ATSA任務(wù)中的方面詞項向量;Wh、Wa和wT是參數(shù)。
最終得到句子表示是r和最后的輸出向量hN的非線性組合,并使用Softmax分類器將給定方面類別或方面詞項的句子特征表示h*轉(zhuǎn)化為條件概率分布:
h*=tanh(Wrr+WnhN)
(11)
y=softmax(Wsh*+bs)
(12)
式中:Wr和Wn是訓(xùn)練過程中需要學(xué)習(xí)的參數(shù);h*是給定方面的句子特征表示;Ws和bs是Softmax分類器的參數(shù)。
(2) 對于ATR任務(wù)。方面類別情感分析數(shù)據(jù)集中只有幾個預(yù)先定義的方面類別,例如餐飲領(lǐng)域的food類、service類和price類等。在方面詞項情感分析數(shù)據(jù)集中,方面詞項的數(shù)量有很多,而組成方面詞項的詞是有限的。方面詞項存在于句子中,一個方面類別可以對應(yīng)多個方面詞項,因此在多任務(wù)學(xué)習(xí)結(jié)構(gòu)中該任務(wù)對于兩個情感分析子任務(wù)是有助益的。
方面詞項重建是將句子中所包含的方面詞項找出來,具體表現(xiàn)為給每個句子打上標(biāo)簽,標(biāo)簽內(nèi)容為方面詞項。例如:“The boiled fish is delicious, but the beef is too salty.”該句中方面詞項是boiled fish和beef,那么該句子將被打上這兩個標(biāo)簽。句子中含有的方面詞項個數(shù)即為標(biāo)簽的個數(shù)。
在多任務(wù)共享結(jié)構(gòu)中得到句子表示之后,將其輸入至Bi-GRU中,這里的Bi-GRU作為解碼器,然后將結(jié)果輸入至全連接層進(jìn)行多標(biāo)簽分類,當(dāng)一個句子中包含多個方面詞項時,則為這個句子貼上它所擁有詞項的標(biāo)簽,重建句子中包含的方面詞項。對于多標(biāo)簽問題,使用損失函數(shù)是Sigmoid交叉熵,公式如下:
(13)
式中:C代表構(gòu)成訓(xùn)練例子中所有詞項的單詞數(shù);yi是單詞的真實值;pi是單詞的預(yù)測值。
模型的損失函數(shù)采用交叉熵?fù)p失函數(shù),通過反向傳播以端到端的方式來訓(xùn)練模型。對于ASA-MTL模型,三個任務(wù)共有三個損失函數(shù),總的損失函數(shù)是:
loss=αloss1+βloss2+γloss3
(14)
式中:loss1、loss2、loss3分別是ACSA、ATSA和方面詞項重建任務(wù)的損失函數(shù),均采用交叉熵來估計損失;α、β和γ分別是權(quán)重系數(shù),系數(shù)之和為1。三個權(quán)重系數(shù)通過訓(xùn)練過程中反復(fù)調(diào)試得到。ACSA和ATSA任務(wù)的損失函數(shù)如下:
(15)
3.1.1實驗環(huán)境
實驗環(huán)境:操作系統(tǒng)Ubuntu 12.0.3,內(nèi)存16 GB,編程平臺Pycharm,Python 3.6版本,深度學(xué)習(xí)框架Keras。
3.1.2數(shù)據(jù)集與評估標(biāo)準(zhǔn)
數(shù)據(jù)集:本實驗采用公共數(shù)據(jù)集SemEval 2014 task4,2015 task12、2016 task5作為兩個任務(wù)的語料,其中包括餐廳和筆記本電腦的客戶評論。參考該數(shù)據(jù)集上的其他工作[11,20],移除了其中的“conflict”標(biāo)簽,剩余三個情感標(biāo)簽分別是“positive”“negative”和“neutral”,即進(jìn)行“積極”“消極”和“中性”三分類的實驗。采用文獻(xiàn)[13]的方法,合并了2014至2016三年的餐飲領(lǐng)域的數(shù)據(jù),修復(fù)了數(shù)據(jù)的不兼容性,刪除“conflict”標(biāo)簽而不是把它替換為“neutral”,以此作為ACSA的數(shù)據(jù)集,最后共得到餐廳領(lǐng)域訓(xùn)練集4 470條數(shù)據(jù),測試集2 374條數(shù)據(jù)。對于ATSA的數(shù)據(jù)集,采用的是SemEval2014 task4的餐廳評論和電腦評論,其中電腦(Laptop,L)評論共有訓(xùn)練集2 313條數(shù)據(jù)、測試集638條數(shù)據(jù),餐廳(Restaurant,R)評論共有訓(xùn)練集3 602條數(shù)據(jù)、測試集1 120條數(shù)據(jù)。表1是數(shù)據(jù)集各個類別的樣本數(shù)。
表1 ACSA和ATSA任務(wù)統(tǒng)計的數(shù)據(jù)集
評估標(biāo)準(zhǔn):本文采用精確率(Accuracy,Acc)和F1值作為分類任務(wù)的評價指標(biāo),采用隨機(jī)初始化每種方法運行5次的平均值。使用到的統(tǒng)計項如表2所示。
表2 評估標(biāo)準(zhǔn)中使用到的統(tǒng)計項
精確率(Accuracy)及F1值的公式如下:
(16)
(17)
(18)
(19)
式中:precision和recall自身也是一種常見的評價指標(biāo),但事實上這兩者在一些情況下有矛盾,故使用同時兼顧了precision和recall的F1值作為評價指標(biāo)。
3.1.3實驗方法
本實驗驗證了本文提出的多任務(wù)學(xué)習(xí)框架,根據(jù)方面詞項重建任務(wù)是否引入,分別按如下方式表示:(1) 只包含ACSA和ATSA兩個任務(wù)的訓(xùn)練模型ASA-DTL;(2) 包含ACSA、ATSA和重建三個任務(wù)的訓(xùn)練模型ASA-MTL。實驗?zāi)康闹饕瞧谕炞C多任務(wù)學(xué)習(xí)框架對比單任務(wù)學(xué)習(xí)框架的優(yōu)勢,以及方面詞項重建任務(wù)在多任務(wù)學(xué)習(xí)框架下對兩個情感分析任務(wù)的輔助作用。
本實驗選用AdaGrad優(yōu)化器來進(jìn)行參數(shù)的更新。批處理大小和初始的學(xué)習(xí)率分別設(shè)置為32和0.01,dropout率為50%。詞向量采用300維的Glove向量矩陣來初始化,并在訓(xùn)練過程中進(jìn)行微調(diào)。不在Glove詞匯表中的單詞用均勻分布U(-0.25,0.25)來隨機(jī)初始化。實驗基于Keras來實現(xiàn)。
3.2.1對比實驗的結(jié)果分析
為了評估本文模型的性能,需要與幾種基線模型做對比實驗。表3描述了對比模型和本文模型的分類精確率,實驗結(jié)果均為重復(fù)實驗五次的平均值。
表3 各個模型在不同數(shù)據(jù)集上的精確率和F1值
(1) LSTM[6]:由基礎(chǔ)的LSTM得到句子表示并運用分類器來分類。
(2) AT-LSTM[11]:在LSTM的基礎(chǔ)上做的改進(jìn),通過LSTM對句子建模,并連接方面向量以計算注意力權(quán)重,然后將其用于生成輸入句子的最終表示,以判斷情感極性。
(3) ATAE-LSTM[11]:通過將方面詞嵌入附加到每個單詞嵌入來擴(kuò)展AT-LSTM,這樣能夠更好地發(fā)揮方面信息的優(yōu)勢。
(4) TD-LSTM[7]:使用兩個LSTM網(wǎng)絡(luò)對目標(biāo)的前后上下文進(jìn)行建模,以生成與目標(biāo)相關(guān)的情感預(yù)測表示。
(5) TC-LSTM[7]:在TD-LSTM的基礎(chǔ)上進(jìn)行改進(jìn),在構(gòu)建句子表示形式時更好地利用目標(biāo)和每個上下文詞之間的聯(lián)系,將單詞嵌入和目標(biāo)向量的串聯(lián)作為每個位置的輸入,最后進(jìn)行情感分析。
可以看出,LSTM是表現(xiàn)最差的一個模型,其分類精確率僅有0.814,因為它無法獲得句子中有關(guān)方面詞的任何信息。AT-LSTM模型是在LSTM的基礎(chǔ)上做的改進(jìn),其表現(xiàn)優(yōu)于LSTM。TD-LSTM的表現(xiàn)也優(yōu)于LSTM,但由于該模型并未使用注意力機(jī)制,因此它無法知曉句子中的單詞對于給定方面的重要性。TC-LSTM模型的性能優(yōu)于TD-LSTM,這得益于其很好地利用了目標(biāo)詞語上下文的聯(lián)系。ATAE-LSTM是這些對比實驗中效果最好的,分類精確率是0.837,它既有方面向量的助益,又使用注意力機(jī)制極大地提升了性能。
ASA-DTL模型是ACSA和ATSA兩個任務(wù)共同學(xué)習(xí)的結(jié)構(gòu),該模型可驗證多個相關(guān)任務(wù)學(xué)習(xí)對于各自任務(wù)性能提升的有效性。從表3中可以看出,ASA-DTL模型在三個數(shù)據(jù)集上都取得了較好的情感分析效果,其中在R(ACSA)上的分類精確率為0.850,比起效果較好的TC-LSTM模型和ATAE-LSTM模型分別提升0.019和0.13;在R(ATSA)數(shù)據(jù)集上的分類精確率為0.773,而ATAE-LSTM和TC-LSTM的分類精確率分別是0.762和0.756,分別比上述兩個效果好的模型分別提升了0.011和0.017;在L(ATSA)數(shù)據(jù)集上的表現(xiàn)也是可觀的,比先前的實驗均有所提升。由表3中數(shù)據(jù)可得,ASA-DTL模型在R(ATSA)數(shù)據(jù)集上的F1值為0.778,比ATAE-LSTM模型高了0.012;在另外兩個數(shù)據(jù)集上的表現(xiàn)也都優(yōu)于其他模型。綜上所述,通過這些實驗驗證了相關(guān)任務(wù)共同學(xué)習(xí)的有效性。
ASA-MTL模型在ASA-DTL模型的基礎(chǔ)上加入方面詞項重建任務(wù)作為輔助任務(wù)。從表3中可以看出,該模型在三個數(shù)據(jù)集上表現(xiàn)是最好的,在R(ACSA)數(shù)據(jù)集上的分類精確率為0.856,在R(ATSA)數(shù)據(jù)集上的分類精確率為0.780,在L(ATSA)數(shù)據(jù)集上的分類精確率為0.697,均高于ASA-DTL模型。由此可見,三個相關(guān)任務(wù)共同學(xué)習(xí)的模型優(yōu)于兩個相關(guān)任務(wù)共同學(xué)習(xí)的模型,更進(jìn)一步驗證了多任務(wù)學(xué)習(xí)的有效性。
總體來看,多任務(wù)學(xué)習(xí)比起單任務(wù)學(xué)習(xí)在精確率上有較大的提升,驗證了多任務(wù)學(xué)習(xí)在方面級情感分析任務(wù)上的有效性。
3.2.2方面詞項重建輔助任務(wù)的影響
由表3可見,ASA-MTL和ASA-DTL在R(ACSA)數(shù)據(jù)集上的分類精確率分別是0.856和0.850,在R(ATSA)數(shù)據(jù)集的分類精確率分別是0.780和0.773,在L(ATSA)數(shù)據(jù)集的分類精確率分別是0.697和0.690,ASA-MTL在三個數(shù)據(jù)集上的分類效果均優(yōu)于ASA-DTL??梢则炞C本文的三個任務(wù)的共同學(xué)習(xí)架構(gòu)優(yōu)于兩個任務(wù)的共同學(xué)習(xí)結(jié)構(gòu)以及方面詞項重建任務(wù)的重要性。在方面類別情感分析數(shù)據(jù)集中,只有幾個預(yù)先定義的方面類別。在方面詞項情感分析數(shù)據(jù)集中,方面詞項有很多種,組成方面詞項的詞語是有限的,它們分別從屬于方面類別中的某一類別。方面詞項和方面類別對于兩個子任務(wù)能否有一個好的性能是非常關(guān)鍵的,重新構(gòu)建方面詞項能夠在一定程度上確保方面特定的信息對上述兩個子任務(wù)產(chǎn)生積極的影響,以便對特定方面的情感傾向進(jìn)行更好的預(yù)測。
本文提出一種基于多任務(wù)學(xué)習(xí)的方面級情感分析模型(ASA-MTL),同時學(xué)習(xí)方面級情感分析多個子任務(wù),共享參數(shù),促進(jìn)多個任務(wù)共同學(xué)習(xí),解決了單任務(wù)網(wǎng)絡(luò)不能共享每個網(wǎng)絡(luò)自身學(xué)習(xí)到的特征進(jìn)而導(dǎo)致性能不佳的問題。在網(wǎng)絡(luò)結(jié)構(gòu)中使用Sentence-level和Aspect-level兩層注意力機(jī)制對整個句子進(jìn)行分析,在句子中根據(jù)不同方面捕獲不同的重要信息。添加方面詞項重建任務(wù)作為多任務(wù)結(jié)構(gòu)中的輔助任務(wù),確保方面信息能更好地發(fā)揮作用。在SemEval數(shù)據(jù)集上進(jìn)行的實驗驗證了本文模型的性能相比其他基線模型有所提升。另外,一些詞在不同的領(lǐng)域表達(dá)的情感極性不同,因此領(lǐng)域特定的情感詞典對于方面級情感分析任務(wù)是非常關(guān)鍵的。在未來的工作中,將嘗試構(gòu)建領(lǐng)域特定情感詞典,充分利用情感語言學(xué)知識進(jìn)一步提高情感分析的效果。