胡均毅,李金龍
(中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230027)
文本分類作為自然語(yǔ)言處理(Natural Language Processing,NLP)中的一項(xiàng)基礎(chǔ)性工作,被廣泛應(yīng)用于文本檢索[1]、文本排序[2]和情感分類[3]等任務(wù)中。文本的情感分類要求按照文本整體情感傾向?qū)ξ臋n進(jìn)行分類。其中,識(shí)別文檔中的積極、消極、中立情感及其表達(dá)強(qiáng)度,是取得良好分類效果的關(guān)鍵。
文本由單詞等符號(hào)信息構(gòu)成,因此,在進(jìn)行情感分類前首先需要對(duì)這些符號(hào)信息進(jìn)行向量化表示。為了生成更富有情感信息的文本表示并獲得較高的分類準(zhǔn)確率,本文提出一種基于情感評(píng)分的分層注意力網(wǎng)絡(luò)框架,該框架對(duì)文本中的單詞、句子進(jìn)行分層編碼,并利用注意力機(jī)制加權(quán)求和獲得文檔的最終表示。評(píng)估每個(gè)單詞表現(xiàn)的情感信息,促使注意力機(jī)制更加關(guān)注文本中的情感內(nèi)容。在此基礎(chǔ)上,提出一種輔助的情感評(píng)分網(wǎng)絡(luò)(SAN)來(lái)評(píng)估每個(gè)單詞的情感得分,設(shè)計(jì)分階段的聯(lián)合損失函數(shù)來(lái)訓(xùn)練框架中的分類器和輔助網(wǎng)絡(luò)SAN。SAN利用文檔標(biāo)簽信息結(jié)合當(dāng)前的單詞表示和注意力權(quán)重來(lái)評(píng)估每個(gè)單詞的情感信息,并將其作為監(jiān)督信號(hào)以進(jìn)一步調(diào)整注意力權(quán)重分布。
自然語(yǔ)言處理任務(wù)中一種常見(jiàn)的文本表示方式是由文本中的單詞或短語(yǔ)來(lái)組成句子/文檔[4-5]。由于單詞是語(yǔ)義的基本單位,經(jīng)過(guò)學(xué)習(xí)后的詞表示(如預(yù)先訓(xùn)練的詞向量)可以作為捕捉單詞語(yǔ)義信息的特征。較多學(xué)者關(guān)注上下文共現(xiàn)信息,提出了捕捉句法和語(yǔ)義信息的單詞嵌入方法,如word2vec[6]、GloVe[7]。這些詞嵌入方法通常將上下文相似但情感相反的單詞,如good和bad,映射到向量空間中的相鄰位置上,這對(duì)于詞性標(biāo)注等任務(wù)而言已經(jīng)包含足夠的語(yǔ)義信息,但對(duì)于情感分類來(lái)說(shuō),可能影響對(duì)其情感傾向的判斷。為了更好地嵌入情感信息,文獻(xiàn)[5,8]提出學(xué)習(xí)情感專用詞嵌入(SSWE)方法。SSWE對(duì)C&W[9]模型進(jìn)行了擴(kuò)展,利用文檔的類別標(biāo)簽設(shè)計(jì)了一個(gè)新的損失函數(shù)來(lái)同時(shí)對(duì)文本的語(yǔ)義和情感信息進(jìn)行編碼。然而,由于SSWE是將文檔全局情感直接分配給每個(gè)詞,因此當(dāng)文檔內(nèi)詞的情感傾向與文檔整體情感傾向相反時(shí),學(xué)習(xí)和表示其情感信息會(huì)比較困難。SSPE[10]在短語(yǔ)表示方面也做了類似的工作,通過(guò)將SkipGram[6]進(jìn)行擴(kuò)展,把句子情感信息納入其中。然而,上述工作都致力于改進(jìn)詞或短語(yǔ)本身的泛化表示,忽略了其所在的特定上下文。因此,在特定的上下文語(yǔ)境中學(xué)習(xí)更富有語(yǔ)義的單詞表示,并結(jié)合上下文來(lái)評(píng)估每個(gè)單詞所含的情感信息仍然是一個(gè)挑戰(zhàn)。
情感分類任務(wù)中的另一個(gè)挑戰(zhàn)是將單詞表示更好地編碼為文檔表示。根據(jù)compositionality[11]的原則,一個(gè)較長(zhǎng)的表達(dá)(一個(gè)句子或文本)的語(yǔ)義來(lái)源于它所含單詞的語(yǔ)義信息。因此,分類任務(wù)中通常使用基于神經(jīng)網(wǎng)絡(luò)的模型將單詞表示結(jié)合成文檔表示,然后再進(jìn)行分類。FastText[12]使用單隱層集成所有的單詞表示,并取得了較好的效果。但是,FastText只關(guān)注單詞向量的平均值,而忽略了單詞順序的信息。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[13-14]在文本序列建模方面更有優(yōu)勢(shì),可以更好地捕捉上下文信息,適合對(duì)依賴長(zhǎng)距離的信息進(jìn)行建模。卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[15-16]通過(guò)類似n-gram的方式逐層提取局部信息構(gòu)成文本表示,但卷積窗口的大小較難確定[17]。文獻(xiàn)[18]提出了一種應(yīng)用于全局最大池化層的GMP-CNN,以快速提取不同窗口的語(yǔ)義特征。
與RNN和CNN相比,注意力機(jī)制[19-20]能夠根據(jù)不同詞的重要程度決定其在構(gòu)建文本表示時(shí)的貢獻(xiàn)度。在此基礎(chǔ)上,文獻(xiàn)[21]提出了分層注意力網(wǎng)絡(luò)(HAN)模擬文本的構(gòu)成方式,對(duì)單詞和句子進(jìn)行分層編碼,并根據(jù)注意力權(quán)重將其融合成文本表示。文獻(xiàn)[22]將用戶和產(chǎn)品信息與單詞/句子的注意力機(jī)制相結(jié)合,進(jìn)一步改進(jìn)了層次注意力機(jī)制。文獻(xiàn)[23]提出了一種基于層次結(jié)構(gòu)的文檔表示通用框架。為了引入針對(duì)不同層次中注意力機(jī)制的監(jiān)督信息以減少模型過(guò)擬合現(xiàn)象,文獻(xiàn)[24]提出了一種基于情感詞典監(jiān)督的注意力模型(LBSA),其將情感詞典和注意力機(jī)制通過(guò)軟約束方法[25]相結(jié)合。實(shí)驗(yàn)結(jié)果表明,當(dāng)情感詞典引導(dǎo)神經(jīng)網(wǎng)絡(luò)模型中的注意力機(jī)制關(guān)注富有情感信息的詞匯時(shí),情感分類性能會(huì)得到改善。然而,基于情感詞典的方法難以找到具有領(lǐng)域和上下文特定關(guān)系的意見(jiàn)詞[26]。為此,本文提出了基于情感評(píng)分的分層注意力網(wǎng)絡(luò)框架HSAN,其在上下文語(yǔ)境中評(píng)價(jià)詞的情感信息,以生成更富有情感信息的文本表示。
基于情感評(píng)分的分層注意力網(wǎng)絡(luò)框架HSAN如圖1所示,其主要由分層注意力機(jī)制分類器H-BiGRU和情感評(píng)分網(wǎng)絡(luò)SAN組成。H-BiGRU分類器是指基于分層注意力機(jī)制的雙向GRU編碼分類器,它包含詞表示層、句表示層和注意力機(jī)制模塊。SAN包含詞表示層、注意力機(jī)制模塊以及情感分析模塊,其中,分類器與SAN共享詞表示層和注意力機(jī)制模塊。分類器首先計(jì)算單詞表示和注意力權(quán)重分布,然后在句表示層最后生成文檔表示并進(jìn)行分類。SAN中的情感評(píng)分機(jī)制評(píng)估每個(gè)單詞的情感信息得分以及強(qiáng)度,并將其作為注意力權(quán)重的監(jiān)督信息。本文假設(shè)一個(gè)文檔有L個(gè)句子si,i∈[1,L],每個(gè)句子都包含Ti個(gè)單詞xit,t∈[1,Ti]。
圖1 HSAN框架結(jié)構(gòu)
2.1.1 基于雙向GRU的單詞表示層
在本文模型中,使用雙向GRU來(lái)編碼單詞及其上下文以生成單詞的表示。GRU[19]使用門(mén)控機(jī)制跟蹤序列狀態(tài)update gatezt和reset gatert。其中,zt決定保留多少過(guò)去的信息以及添加多少新的信息,rt控制過(guò)去狀態(tài)對(duì)候選狀態(tài)的貢獻(xiàn)大小。如果rt等于0,其就會(huì)忘記之前的狀態(tài)。zt和rt更新如式(1)所示:
zt=σ(Wzxt+Uzht-1+bz)
rt=σ(Wrxt+Urht-1+br)
(1)
zt和rt一起控制t時(shí)刻的狀態(tài)信息如何更新,xt是序列在t時(shí)刻的輸入向量,ht-1是GRU在前一時(shí)刻的狀態(tài)。GRU按照式(2)計(jì)算新?tīng)顟B(tài)ht:
(2)
(3)
為了權(quán)衡每個(gè)單詞的貢獻(xiàn),詞表示hit將通過(guò)tanh激活的單層全連接網(wǎng)絡(luò)得到其隱狀態(tài)表示uit,并與單詞上下文向量uw相乘,以計(jì)算它們與uw的相似度。單詞上下文向量uw可以看作是單詞級(jí)別的固定查詢(Question)——“什么是富含信息量的詞”的高級(jí)表示[27]。uw隨機(jī)初始化,并在訓(xùn)練過(guò)程中隨其他參數(shù)共同訓(xùn)練。通過(guò)softmax函數(shù)對(duì)相似度進(jìn)行歸一化后,計(jì)算出單詞的注意力權(quán)重αit以衡量單詞對(duì)句子的重要性。以上過(guò)程可以總結(jié)為式(4):
uit=tanh(Wwhit+bw)
(4)
根據(jù)注意力權(quán)重αit,通過(guò)單詞表示的加權(quán)和形式計(jì)算句子向量si,如式(5)所示:
(5)
2.1.2 基于雙向GRU的句子表示層
給定句子向量si,可以用2.1.1節(jié)類似的方法得到文檔向量表示。如式(6)所示,首先仍使用雙向GRU對(duì)句子進(jìn)行上下文編碼,得到句子表示hi:
(6)
為了提高關(guān)鍵句對(duì)文檔編碼的貢獻(xiàn)度,再次使用注意力機(jī)制,引入一個(gè)語(yǔ)句上下文向量us來(lái)衡量句子的重要性。同樣,根據(jù)句子注意力權(quán)重αi對(duì)句子表示hi進(jìn)行加權(quán)求和,得到文檔的向量表示。以上過(guò)程可以總結(jié)為式(7):
ui=tanh(Wshi+bs)
(7)
(8)
設(shè)數(shù)據(jù)集共有J個(gè)類別,使用正確分類標(biāo)簽的負(fù)對(duì)數(shù)似然作為訓(xùn)練損失,如式(9)所示,其中,j∈[1,J]是文檔d的類標(biāo)。
(9)
2.2.1 單詞/句子的情感評(píng)價(jià)
情感分析模塊是SAN的一個(gè)核心組件,用于評(píng)價(jià)每個(gè)詞、句所含的情感信息,并生成相關(guān)監(jiān)督信息以引導(dǎo)注意力機(jī)制更多地關(guān)注情感詞匯。如前文所述,每個(gè)單詞級(jí)別的最終表示hit都捕獲了上下文語(yǔ)義,因此,可以用式(10)來(lái)計(jì)算情感得分向量pit:
qit=tanh(Wqhit+bq)
(10)
其中,Wq、Wpolar是2個(gè)可訓(xùn)練參數(shù),bq和bpolar是它們的偏差。
(11)
如式(12)所示,情感得分p也可以用來(lái)預(yù)測(cè)文檔的類別,因此,本文同樣使用負(fù)對(duì)數(shù)似然來(lái)訓(xùn)練情感評(píng)分模型,即將文檔標(biāo)簽所含的情感信息根據(jù)當(dāng)前的注意力權(quán)重分配給每個(gè)單詞,用于獲得當(dāng)前詞表示hit的情感得分。
(12)
為了評(píng)價(jià)每個(gè)單詞和句子所體現(xiàn)的情感強(qiáng)度,本文定義了式(13):
(13)
2.2.2 注意力權(quán)重調(diào)整
為了使注意力機(jī)制更多地關(guān)注情感強(qiáng)烈的詞,本文引入了軟約束方法[25],以情感強(qiáng)度占比引導(dǎo)注意力權(quán)重分布,使它們的分布盡可能相似。如式(14)所示,Δ(Ppolar,α)表示2個(gè)向量之間的交叉熵。
Δ(Ppolar,α)=-∑Ppolar·ln(α)
(14)
其中,λ1、λ2為交叉熵?fù)p失的系數(shù),可以用來(lái)平衡模型在分類與注意力約束之間的側(cè)重。考慮到HSAN的有效泛化性,本文加入了L1正則使得pit盡可能稀疏,減輕輔助模型SAN的過(guò)擬合現(xiàn)象。HSAN分階段進(jìn)行訓(xùn)練,E1、E2是控制訓(xùn)練階段的2個(gè)超參數(shù)。最終損失函數(shù)如式(15)所示,其中,λ3用于調(diào)整分類器和評(píng)分模型占最終損失的比例。
(15)
本文在Yelp 2013、Yelp 2014、Yelp 2015和IMDB 4個(gè)大型情感分類數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)評(píng)估。數(shù)據(jù)集的統(tǒng)計(jì)信息如表1所示,本文將80%的數(shù)據(jù)用于訓(xùn)練,10%用于驗(yàn)證,其余10%用于測(cè)試。Yelp點(diǎn)評(píng)來(lái)自2013年—2015年的Yelp數(shù)據(jù)集挑戰(zhàn)賽,評(píng)分范圍為1~5。IMDB點(diǎn)評(píng)來(lái)自互聯(lián)網(wǎng)電影數(shù)據(jù)庫(kù),評(píng)分范圍為1~10。所有數(shù)據(jù)集均可在http://ir.hit.edu.cn/~dytang/上獲取[3]。
表1 實(shí)驗(yàn)數(shù)據(jù)集信息Table 1 Information of experiment datasets
對(duì)于實(shí)驗(yàn)數(shù)據(jù)集,本文只保留在該數(shù)據(jù)集中出現(xiàn)5次以上的單詞并添加到詞匯表中,通過(guò)word2vec[6]獲得它們預(yù)先訓(xùn)練的詞向量。對(duì)于詞匯表之外的單詞(Out-Of-Vocabulary,OOV),本文使用(-0.1,0.1)之間的均勻分布來(lái)進(jìn)行隨機(jī)初始化。在實(shí)驗(yàn)過(guò)程中,模型的超參數(shù)在驗(yàn)證集上進(jìn)行調(diào)優(yōu),詞向量維數(shù)和GRU維度分別為200和50,batch_size設(shè)置為64,并盡可能地保證同一batch中的文本長(zhǎng)度相似。另外,使用SGD優(yōu)化器與Cyclical Learning Rate(CLR)[28]、Cyclical Learning Momentum(CLM)[29]取代逐步衰減初始學(xué)習(xí)速率的方法,CLR中的超參數(shù)base_lr和max_lr根據(jù)SMITH論文中所述的LR_Range_Test進(jìn)行調(diào)整[28]。實(shí)驗(yàn)中的所有訓(xùn)練和測(cè)試都在GTX-1080Ti上完成。
3.3.1 性能對(duì)比
本文將HSAN與以下2組基準(zhǔn)方法進(jìn)行情感分類準(zhǔn)確率比較:
1)基于支持向量機(jī)的方法,包括SVM+AverageSG[3]、SVM+SSWE[3]。
2)基于神經(jīng)網(wǎng)絡(luò)的方法,包括CNN-word[3]、CNN-char[16]、LSTM[16]、Conv-GRNN[3]、LSTM-GRNN[3]和LBSA[24]。
所有數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果如表2所示。其中,H-LSTM代表基于分層注意力的LSTM網(wǎng)絡(luò),H-BiLSTM和H-BiGRU分別代表基于分層注意力的雙向LSTM和GRU網(wǎng)絡(luò)。從表2可以看出,HSAN在所有數(shù)據(jù)集上都有較好的表現(xiàn),在4個(gè)數(shù)據(jù)集上都達(dá)到了最優(yōu)的準(zhǔn)確率,其中,有3個(gè)數(shù)據(jù)集均超過(guò)了最優(yōu)對(duì)比模型,另一個(gè)數(shù)據(jù)集與最優(yōu)對(duì)比模型持平。對(duì)于較小的數(shù)據(jù)集,如Yelp 2013和IMDB,本文模型的分類準(zhǔn)確率分別達(dá)到了68.7%和49.4%,在Yelp 2013上超過(guò)最優(yōu)的LSTM-GRNN模型3.6個(gè)百分點(diǎn),并在IMDB上達(dá)到了與最優(yōu)H-BiLSTM + LBSA相同的準(zhǔn)確率。對(duì)于較大的數(shù)據(jù)集,本文模型在Yelp 2014和Yelp 2015上的準(zhǔn)確率分別達(dá)到了70.5%和71.1%,分別超過(guò)最優(yōu)LSTM-GRNN模型3.4個(gè)和3.5個(gè)百分點(diǎn)。另外,從對(duì)基準(zhǔn)分層網(wǎng)絡(luò)的分類準(zhǔn)確率提升效果上來(lái)看,LBSA在原本H-BiLSTM的基礎(chǔ)上通過(guò)情感詞典對(duì)注意力機(jī)制添加了監(jiān)督信息,減輕了模型的過(guò)擬合現(xiàn)象,使得模型的準(zhǔn)確率在Yelp 2013、Yelp 2014和IMDB上分別提高了0.3%、0.3%和0.2%[24]。文獻(xiàn)[30]通過(guò)遷移學(xué)習(xí)技術(shù),利用基于類噪聲估計(jì)的樣例遷移算法對(duì)不同數(shù)據(jù)集進(jìn)行篩選和合并,例如,在Yelp 2013上遷移了部分IMDB數(shù)據(jù)集的數(shù)據(jù),使得準(zhǔn)確率提高了0.3%[30]。本文在H-BiGRU的基礎(chǔ)上添加了輔助情感評(píng)分網(wǎng)絡(luò)SAN,通過(guò)讓模型自動(dòng)評(píng)價(jià)所有詞、句的情感信息,并得到它們的情感強(qiáng)度占比來(lái)監(jiān)督注意力機(jī)制。在Yelp 2013、Yelp 2014、Yelp 2015和IMDB上,HSAN均優(yōu)于H-BiGRU模型,而且HSAN不依賴于外部的情感詞典,也無(wú)需擴(kuò)增、合并數(shù)據(jù)集。
表2 各模型的分類準(zhǔn)確率對(duì)比Table 2 Comparison of classification accuracy of each model %
3.3.2 輔助網(wǎng)絡(luò)參數(shù)分析
控制輔助情感評(píng)分網(wǎng)絡(luò)SAN占最終損失函數(shù)比例的參數(shù)λ3和pit中的L1正則化系數(shù)對(duì)模型性能的影響如圖2所示。從圖2可以看出,在Yelp 2013數(shù)據(jù)集上,隨著參數(shù)λ3的增大,模型在性能表現(xiàn)最優(yōu)時(shí)SAN的L1正則化系數(shù)也需要隨之增大,這說(shuō)明隨著SAN的變化,要得到更好的訓(xùn)練,需要更大的正則化系數(shù)來(lái)防止SAN快速過(guò)擬合。同時(shí)也可以看到,模型的最優(yōu)準(zhǔn)確率隨著λ3∈[0.45,0.60]先增大后減小,這說(shuō)明輔助模型損失占比不能過(guò)大,否則會(huì)影響分類器的訓(xùn)練效果。當(dāng)模型準(zhǔn)確率達(dá)到最優(yōu)(68.7%)時(shí),λ3的取值為0.50。L1正則化系數(shù)的取值為0.000 05。
圖2 情感評(píng)分網(wǎng)絡(luò)SAN參數(shù)分析結(jié)果
Fig.2 Parameter analysis results of sentiment evaluation network SAN
3.3.3 情感評(píng)價(jià)網(wǎng)絡(luò)評(píng)分分析
表3 情感評(píng)分統(tǒng)計(jì)結(jié)果Table 3 Statistics results of sentiment evaluation
由表3可以看出,excellent和awful這類情感傾向明顯的詞平均情感占比最高,good和bad次之,pet最低。而在具體的情感傾向方面,因?yàn)閅elp數(shù)據(jù)集中1分代表最消極,5分代表最積極,而excellent和awful分別在第5維和第1維情感得分最高,證明excellent所表達(dá)的情感最為積極,而awful最為消極。類似地,可以發(fā)現(xiàn)在Yelp中g(shù)ood的平均情感傾向整體偏向積極,而bad偏向消極,而pet在每個(gè)維度的情感得分都較低,且相對(duì)平均,證明pet這個(gè)詞并沒(méi)有明顯的情感傾向。
3.3.4 注意力可視化分析
本文從Yelp 2013中隨機(jī)抽取4個(gè)樣例,并對(duì)其注意力權(quán)重進(jìn)行可視化,結(jié)果如圖3所示,其中,GT表示該文檔的正確類標(biāo),H-BiGRU和HSAN分別表示 2個(gè)模型的分類結(jié)果。本文用句子的注意力權(quán)重來(lái)規(guī)范單詞的權(quán)重,以確保只強(qiáng)調(diào)重要句子中的重要單詞。
圖3 注意力可視化結(jié)果
為了便于可視化,在圖3中,為每個(gè)單詞顯示正比于αit的背景灰度,為每個(gè)句子顯示正比于αi的背景灰度。其中,αit和αi分別是注意力機(jī)制中的單詞注意力權(quán)重和句子注意力權(quán)重。從圖3可以看出,利用注意力機(jī)制,H-BiGRU選取了good、great、delicious等情感色彩較強(qiáng)的詞對(duì)文檔表示做出較大的貢獻(xiàn)。然而,在H-BiGRU出現(xiàn)分類錯(cuò)誤的第2個(gè)~第4個(gè)文檔,一些不太具有情感信息的單詞(如第2個(gè)文檔中的pets、第3個(gè)文檔中的knowledge以及第4個(gè)文檔中的three)也被賦予了較大權(quán)重,但是這些內(nèi)容對(duì)于情感分類結(jié)果并沒(méi)有很大的幫助。而與情感分類密切相關(guān)的單詞(如第3個(gè)文檔中最后一句fresh、第4個(gè)文檔中的solid和fun)卻被忽視。本文HSAN情感評(píng)分模型對(duì)每個(gè)單詞和句子進(jìn)行評(píng)價(jià),識(shí)別出了knowledge、pets、three這類單詞與類別相關(guān)度較低,因此,HSAN在最終注意力分布上忽略了這些單詞,識(shí)別出了fresh、solid、fun這類單詞,并對(duì)not、high、great、good、friendly這類單詞給予了更多的關(guān)注。
本文提出一種基于情感評(píng)分的分層注意力網(wǎng)絡(luò)框架HSAN,以進(jìn)行文本情感分類。H-BiGRU按照文本結(jié)構(gòu)先后對(duì)文本進(jìn)行詞編碼與句編碼,情感評(píng)分網(wǎng)絡(luò)SAN利用文檔標(biāo)簽以及每個(gè)詞對(duì)文檔表示的貢獻(xiàn)度對(duì)每個(gè)單詞的情感強(qiáng)度進(jìn)行評(píng)分,并將其作為監(jiān)督信息返回給分類網(wǎng)絡(luò)以調(diào)整注意力權(quán)重分布。實(shí)驗(yàn)結(jié)果表明,HSAN的分類準(zhǔn)確率較高,能夠有效地檢測(cè)出帶有強(qiáng)烈情感色彩的詞和句子,并生成文檔的語(yǔ)義表示以用于情感分類。下一步將探究一種更普適的方法來(lái)評(píng)估每個(gè)詞的情感強(qiáng)度,使得SAN盡可能少地遺漏或誤判一些情感詞匯,進(jìn)一步提升情感分類的準(zhǔn)確率。