楊嘉佳 ,熊仁都 ,劉 金 ,唐 球 ,左 嬌
(1.華北計(jì)算機(jī)系統(tǒng)工程研究所,北京 100083;2.中國(guó)長(zhǎng)城科技集團(tuán)股份有限公司,廣東 深圳 518057)
在信息化時(shí)代背景下,各行業(yè)產(chǎn)生了大量的多源異構(gòu)數(shù)據(jù)。對(duì)這些數(shù)據(jù)的情感傾向進(jìn)行分析,衍生出很多基于傳統(tǒng)行業(yè)的新實(shí)踐和新業(yè)務(wù)模式。情感分析是當(dāng)下人工智能的一個(gè)熱門應(yīng)用,是自然語(yǔ)言處理領(lǐng)域的一個(gè)重要分支,根據(jù)文本研究對(duì)象細(xì)粒程度的區(qū)別,研究者主要在3 個(gè)層次級(jí)別上研究情感分析:文檔級(jí)、語(yǔ)句級(jí)和方面級(jí)(aspect level)。情感分析的粒度越細(xì),則精確度越高,也就能更好地發(fā)現(xiàn)情感極性。方面級(jí)情感分析技術(shù)[1]主要用于解決情感極性問(wèn)題,與文檔級(jí)、語(yǔ)句級(jí)情感分類相比,方面級(jí)情感分析因?yàn)榛赼spect 實(shí)體,使得情感分析更加細(xì)?;?。
當(dāng)前情感分類精度效果較好的研究,主要基于深度學(xué)習(xí)、注意力機(jī)制而開(kāi)展[2-9]。但是基于深度學(xué)習(xí)的方面級(jí)情感分析模型主要依賴卷積神經(jīng)網(wǎng)絡(luò)、門控循環(huán)神經(jīng)網(wǎng)絡(luò)進(jìn)行上下文的編碼與特征變換等,這些網(wǎng)絡(luò)在捕捉長(zhǎng)距離依賴上有一定的局限性。此外,盡管基于自注意力機(jī)制的Transformer 提供了一種創(chuàng)新思路,但許多研究表明,在淺層網(wǎng)絡(luò)和訓(xùn)練數(shù)據(jù)較少的情況下,自注意力網(wǎng)絡(luò)的網(wǎng)絡(luò)特征抽取能力不如LSTM 等經(jīng)典網(wǎng)絡(luò),其中一個(gè)重要原因是注意力得分針對(duì)的是整個(gè)向量,靈活性差,復(fù)雜度低,當(dāng)網(wǎng)絡(luò)層數(shù)較少時(shí)無(wú)法捕捉到深層的語(yǔ)義信息。
針對(duì)模型分類高精度化、少參數(shù)化的情感分析應(yīng)用需求,本文提出基于可復(fù)位特征級(jí)注意力的方面級(jí)情感分類模型和基于可復(fù)位特征級(jí)自注意力的方面級(jí)情感分類模型。實(shí)驗(yàn)結(jié)果表明,在取得與AOA 網(wǎng)絡(luò)[2]相當(dāng)分類精度的情況下,兩個(gè)模型參數(shù)量分別為19 萬(wàn)、27 萬(wàn),僅僅為AOA 參數(shù)量(109 萬(wàn))的17%、25%。
近年來(lái)基于深度學(xué)習(xí)的方面級(jí)情感分類技術(shù)得到了廣泛研究。這些研究主要圍繞循環(huán)神經(jīng)網(wǎng)絡(luò)、注意力網(wǎng)絡(luò)而開(kāi)展。
VO D T 和ZHANG Y[3]首次利用三段LSTM 對(duì)目標(biāo)詞和目標(biāo)詞前后上下文進(jìn)行分別建模之后用于分類。TANG D 等人[4]提出了target-dependent的LSTM模型(TDLSTM)和target-connection LSTM(TC-LSTM)來(lái)擴(kuò)展經(jīng)典的LSTM 結(jié)構(gòu)用于將方面特征納入模型運(yùn)算,其主要使用兩個(gè)LSTM 分別對(duì)目標(biāo)詞左右的文本序列進(jìn)行建模,之后將左右語(yǔ)句特征集合進(jìn)行分類。KIM Y 等人[5]首次提出了一個(gè)結(jié)合方面詞嵌入的基于注意力機(jī)制的LSTM模型,證明能夠很好地捕捉與方面詞匯相關(guān)的上下文信息,并在當(dāng)時(shí)取得了SOTA(state-of-the-art)的表現(xiàn)。交互型注意力模型如IAN[6]、AOA[2]、MGAN[7]將方面詞(target)對(duì)上下文(context)的注意力、上下文對(duì)關(guān)鍵詞的注意力融入到模型,是目前具有最優(yōu)表現(xiàn)的RNN 結(jié)構(gòu)模型。VASWANI A 等人[8]提出了基于多頭自注意力的Transformer模型對(duì)序列文本進(jìn)行編碼,擺脫了對(duì)RNN 等傳統(tǒng)網(wǎng)絡(luò)的依賴,自注意力機(jī)制不依賴序列順序,能同時(shí)針對(duì)整個(gè)上下文進(jìn)行特征提取,解決了循環(huán)神經(jīng)網(wǎng)絡(luò)無(wú)法捕捉長(zhǎng)期依賴的問(wèn)題。SONG Y 等人[9]通過(guò)使用基于自注意力的網(wǎng)絡(luò)構(gòu)建了Attentional Encoder Network 來(lái)進(jìn)行語(yǔ)句上下文特征抽取,以及與目標(biāo)詞進(jìn)行注意力交互。
盡管基于循環(huán)神經(jīng)網(wǎng)絡(luò)、注意力網(wǎng)絡(luò)的方面級(jí)情感分析模型在分類準(zhǔn)確率、模型參數(shù)量都得到了極大改善,但依然還有提升的空間。
實(shí)驗(yàn)發(fā)現(xiàn),直接參照多頭自注意力模型[8]將自注意力模塊替換成特征級(jí)自注意力模塊時(shí),模型的性能表現(xiàn)并沒(méi)有提升,反而使得網(wǎng)絡(luò)變得非常難以訓(xùn)練,最終擬合效果也不如傳統(tǒng)自注意力網(wǎng)絡(luò)。然而,在進(jìn)一步觀察實(shí)驗(yàn)過(guò)程中的各個(gè)變量變化時(shí),注意到在一部分樣本上模型對(duì)缺?。ㄎ谋九炕?xùn)練時(shí)候的補(bǔ)全向量,使得所有輸入句子的長(zhǎng)度一致)向量的注意力打分遠(yuǎn)高于真正的文本。據(jù)此,本文提出了可復(fù)位特征級(jí)注意力機(jī)制。
通常使用批訓(xùn)練技術(shù)加速神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度,即每次傳入一組訓(xùn)練樣本,將得到的梯度更新量平均作用于網(wǎng)絡(luò)參數(shù)上。文本任務(wù)相較于圖像任務(wù),每次訓(xùn)練的輸入序列長(zhǎng)短不一,而圖像可以方便地縮放到統(tǒng)一大小,這就導(dǎo)致在序列并行化過(guò)程中需要通過(guò)補(bǔ)全的方式,通過(guò)在短文本末尾添加如全0 向量作為缺省向量,使得每一批樣本中所有輸入語(yǔ)句長(zhǎng)度一樣,從而使得輸入的數(shù)據(jù)維度在訓(xùn)練過(guò)程中保持一致,方便并行處理。但是,添加的缺省向量會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)在訓(xùn)練初始階段過(guò)多地關(guān)注到這些無(wú)關(guān)的沒(méi)有實(shí)際意義的數(shù)據(jù),減緩了網(wǎng)絡(luò)收斂速度。注意力掩碼技術(shù)則在很大程度上解決了這一問(wèn)題。
為解決這個(gè)問(wèn)題,研究人員提出了注意力掩碼技術(shù):輸入樣本時(shí),真實(shí)詞匯標(biāo)記為1,缺省向量標(biāo)記為0,該標(biāo)記作為掩碼傳入神經(jīng)網(wǎng)絡(luò)。在計(jì)算注意力時(shí)候通常有兩種校正策略。
(1)在計(jì)算注意力得分之后,softmax 歸一化之前,對(duì)標(biāo)記為1 的詞匯注意力得分加1,標(biāo)記為0 的則不作處理。而在特征及注意力模型中,由于得分是針對(duì)特征而言,注意力修正需要從向量轉(zhuǎn)化為寬度等于詞嵌入維度為e 的矩陣,設(shè)輸入文本長(zhǎng)度為4,網(wǎng)絡(luò)可接收的最大文本長(zhǎng)度為n,則注意力得分修正過(guò)程為:
獲取注意力掩碼:
轉(zhuǎn)化成注意力掩碼矩陣:
修正注意力得分scores,其中向量X 是上下文句子,向量q 是句子中的一個(gè)詞:
(2)與上述過(guò)程相似,不同之處:對(duì)標(biāo)記為1 的詞匯不作處理,對(duì)標(biāo)記為0 的詞匯得分加上負(fù)無(wú)窮-inf,得:
以上兩種策略都有助于注意力機(jī)制更好地關(guān)注到真實(shí)的輸入數(shù)據(jù),使真實(shí)詞匯的打分偏高,對(duì)應(yīng)的缺省向量的打分會(huì)變低。
通過(guò)使用注意力掩碼技術(shù)可以讓注意力網(wǎng)絡(luò)關(guān)注到真正的輸入上而非缺省向量上,但本文在實(shí)驗(yàn)中發(fā)現(xiàn),網(wǎng)絡(luò)針對(duì)相當(dāng)一部分樣本打分時(shí),即使加上了注意力掩碼偏置,網(wǎng)絡(luò)依然對(duì)缺省向量打出比真實(shí)文本更高的分?jǐn)?shù),這說(shuō)明在某些情況下特征級(jí)注意力網(wǎng)絡(luò)需要輸出的特征為0,而不是任何輸入文本特征的和。
傳統(tǒng)的特征級(jí)注意力機(jī)制通過(guò)打分函數(shù)得到相容性得分,然后使用softmax 對(duì)得分進(jìn)行歸一化,最后直接對(duì)全部輸入詞向量進(jìn)行加權(quán)求和??梢园l(fā)現(xiàn)在這個(gè)過(guò)程中,難以滿足單層自注意力神經(jīng)網(wǎng)絡(luò)丟棄一個(gè)特定維度特征而使得輸出為0 的要求。
因此本文在模型計(jì)算注意力得分之前,構(gòu)造了一個(gè)全為0(可復(fù)位)的鍵向量,其對(duì)應(yīng)的值向量也全為0。該項(xiàng)量與輸入樣本序列拼接并賦予相同的掩碼值1,當(dāng)注意力機(jī)制認(rèn)為原始輸入值上沒(méi)有重要的特征時(shí),只需提高0 向量的注意力得分即可,即將注意力轉(zhuǎn)移到了一個(gè)空向量上。經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn)此方法可以顯著提高模型的表現(xiàn)效果。
傳統(tǒng)自注意力網(wǎng)絡(luò),例如在Transformer模型中[8],Position-Wise 前饋神經(jīng)網(wǎng)絡(luò)發(fā)生在自注意力編碼之后。受LSTM 的啟發(fā),本文將Position-Wise 前饋神經(jīng)網(wǎng)絡(luò)放置在注意力編碼之前,將非線性變換的結(jié)果作為詞向量的value,而原始的embedding 作為key 和query。從而得到如下式子,其中V 相當(dāng)于對(duì)上下文X 中的每一個(gè)詞向量進(jìn)行了一次非線性變換后的結(jié)果,WV、bV分別表示權(quán)重矩陣和偏置矩陣。
用V 替換X,得到模型對(duì)輸入得編碼結(jié)果s:
實(shí)驗(yàn)發(fā)現(xiàn),經(jīng)過(guò)改進(jìn),特征級(jí)注意力模型的表現(xiàn)得到了提升。
在2.1 節(jié)、2.2 節(jié)特征級(jí)注意力機(jī)制的基礎(chǔ)上,可以得到可復(fù)位特征級(jí)注意力網(wǎng)絡(luò)。RFWA 使用一層可復(fù)位特征級(jí)注意力網(wǎng)絡(luò)完成方面詞匯與上下文之間的交互,從而得到方面級(jí)詞匯的基于上下文的表示。之后,使用均值池化方法處理超過(guò)一個(gè)詞長(zhǎng)度的方面詞,通過(guò)一個(gè)全連接層和softmax 得到分類結(jié)果,模型架構(gòu)如圖1所示。本模型使用Glove[10]預(yù)訓(xùn)練模型的詞嵌入作為原始輸入。
圖1 可復(fù)位特征級(jí)注意力情感分類模型
(1)基于2.1 節(jié)的實(shí)驗(yàn)發(fā)現(xiàn),在模型計(jì)算注意力得分之前,構(gòu)造了一個(gè)全為0 的鍵向量;(2)基于2.2 節(jié)的實(shí)驗(yàn)發(fā)現(xiàn),將Position-Wise 前饋神經(jīng)網(wǎng)絡(luò)調(diào)整放置在注意力編碼前;(3)通過(guò)將特征級(jí)注意力機(jī)制的query 變量設(shè)置成輸入向量,可得到特征級(jí)自注意力機(jī)制。結(jié)合以上3 方面,最終得到了一個(gè)改進(jìn)后的可復(fù)位特征級(jí)自注意力網(wǎng)絡(luò)。
其注意力得分計(jì)算原理如圖2 所示,在原始文本向量結(jié)合補(bǔ)全向量的基礎(chǔ)之上添加復(fù)位向量作為輸入,應(yīng)用特征級(jí)自注意力機(jī)制計(jì)算自注意力得分,利用可復(fù)位注意力掩碼修正注意力得分之后,使用行序softmax 得到可復(fù)位特征級(jí)自注意力權(quán)重矩陣。
圖2 可復(fù)位特征級(jí)注意力得分計(jì)算
如圖3 所示,RFWSA 使用位置編碼、上下文特征級(jí)自注意力網(wǎng)絡(luò)對(duì)上下文進(jìn)行編碼。同時(shí),使用位置編碼對(duì)方面詞進(jìn)行編碼。然后再使用一層自注意力網(wǎng)絡(luò)完成上下文與方面詞的交互,之后通過(guò)池化層、全連接層和softmax 完成情感分類。其中,上下文特征級(jí)自注意力網(wǎng)絡(luò)為3.1 節(jié)提出的可復(fù)位特征級(jí)自注意力網(wǎng)絡(luò)模塊。
圖3 可復(fù)位特征級(jí)自注意力情感分類模型
(1)數(shù)據(jù)集
使用SemEval 2014[11]方面級(jí)情感分析數(shù)據(jù)集進(jìn)行訓(xùn)練和驗(yàn)證算法,該數(shù)據(jù)集分為兩個(gè)子集,分別是Laptop在線評(píng)論數(shù)據(jù)、Restaurant 在線評(píng)論數(shù)據(jù),每個(gè)數(shù)據(jù)集又被分為訓(xùn)練集和測(cè)試集,每條數(shù)據(jù)包括3 類人工標(biāo)注好的標(biāo)簽。此外,還引入文獻(xiàn)[12]中的Twitter 數(shù)據(jù)集作為測(cè)試。數(shù)據(jù)組成如表1 所示。
表1 實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)表
(2)實(shí)驗(yàn)環(huán)境
使用Google Colaboratory 云計(jì)算GPU 進(jìn)行訓(xùn)練,GPU型號(hào)為K80,12 GB 顯存。
(3)超參數(shù)設(shè)置
為了防止網(wǎng)絡(luò)的過(guò)擬合,添加了L2 正則化因子,通過(guò)L2 正則因子修正損失函數(shù),將網(wǎng)絡(luò)權(quán)重限制在一個(gè)較小的值,減小了梯度消失和梯度爆炸的可能。使用Adam算法進(jìn)行梯度更新,學(xué)習(xí)率為0.01。Batch-size 為25。使用Glove 27B 300d 詞嵌入初始化詞向量,非詞典詞依正態(tài)分布置為隨機(jī)值。添加了Dropout 層,keep-rate 設(shè)置為0.8,L2 正則參數(shù)為10-4,注意力計(jì)算層隱層大小設(shè)置為200 維,輸入非線性變換層為150 維。所有代碼基于Pytorch 實(shí)現(xiàn)。
實(shí)驗(yàn)結(jié)果如表2 所示。通過(guò)結(jié)果發(fā)現(xiàn),RFWA、RFWSA 在方面級(jí)情感分類的表現(xiàn)上與現(xiàn)有主流模型相當(dāng)。其中RFWSA 在Restaurant 數(shù)據(jù)集上準(zhǔn)確度為0.819,在Laptop 數(shù)據(jù)集上準(zhǔn)確率為0.746,分別超過(guò)表現(xiàn)第2好的AOA模型0.7 個(gè)百分點(diǎn)和0.1 個(gè)百分點(diǎn),但在Twitter數(shù)據(jù)集上低于MGAN模型1.3 個(gè)百分點(diǎn)。
表2 實(shí)驗(yàn)結(jié)果對(duì)比
為了更好地比較模型在不同維度上的表現(xiàn),本文統(tǒng)計(jì)了主要模型的參數(shù)量,如表3 所示。
表3 相關(guān)模型參數(shù)量對(duì)比
從表3 中可以看出,RFWA模型僅使用19 萬(wàn)參數(shù),而其在Restaurant 數(shù)據(jù)集上的分類準(zhǔn)確率依然超過(guò)AOA模型0.2 個(gè)百分點(diǎn)。在參數(shù)使用量方面,RFWA 使用了19 萬(wàn)參數(shù),RFWSA 使用了27 萬(wàn)參數(shù),相比其他方面級(jí)情感分析模型優(yōu)勢(shì)明顯。
針對(duì)情感分析高精度、低參數(shù)化的要求,本文通過(guò)對(duì)基本特征級(jí)注意力模型進(jìn)行改進(jìn),提出了基于可復(fù)位特征級(jí)注意力的方面級(jí)情感分類模型,得到RFWA和RFWSA 兩個(gè)模型。在方面級(jí)情感分析公開(kāi)數(shù)據(jù)集SemEval 2014、Twitter 上進(jìn)行測(cè)試后,實(shí)驗(yàn)結(jié)果表明,兩個(gè)模型在取得與現(xiàn)有主流模型相當(dāng)分類效果的情況下,在參數(shù)利用率上具有明顯的優(yōu)勢(shì)。