鄭陽(yáng)雨,蔣洪偉
(北京信息科技大學(xué) 信息管理學(xué)院,北京100192)
近年來(lái),很多人在各種電商網(wǎng)站的評(píng)論區(qū)及其他社交平臺(tái)上發(fā)布評(píng)論來(lái)表達(dá)自己的情感或觀點(diǎn),社交平臺(tái)文本數(shù)據(jù)呈指數(shù)級(jí)增長(zhǎng)。對(duì)這些海量數(shù)據(jù)進(jìn)行情感分析有助于獲取用戶的態(tài)度信息,了解用戶的真正需求,幫助企業(yè)做出判斷和決策。方面級(jí)情感分析就是要獲取商品各方面(方面表示商品的屬性或特征)的情感[1]。
傳統(tǒng)機(jī)器學(xué)習(xí)方法通常通過(guò)構(gòu)建情感詞典或情感特征,再使用樸素貝葉斯模型(naive Bayesian model,NBM)、支持向量機(jī)(support vector machine,SVM)等分類器進(jìn)行情感分類[2-3]。但是人工構(gòu)建特征工程耗費(fèi)大量的人力,有時(shí)需要結(jié)合語(yǔ)法分析等外部知識(shí),模型的靈活性較差。
近年來(lái)興起的深度學(xué)習(xí)方法能夠自動(dòng)學(xué)習(xí)方面和上下文的低維表示,較好地彌補(bǔ)了機(jī)器學(xué)習(xí)方法的缺陷。其中深度學(xué)習(xí)方法使用的預(yù)訓(xùn)練語(yǔ)言模型將自然語(yǔ)言用向量表示,通過(guò)對(duì)向量的操作來(lái)學(xué)習(xí)自然語(yǔ)言的交互特性。在最具影響力的語(yǔ)言模型中,Devlin等[4]提出的基于轉(zhuǎn)換器的雙向編碼器表示(bidirectional encoder representations from transformers,BERT)預(yù)訓(xùn)練模型使用雙層的Transformer結(jié)構(gòu)在大型語(yǔ)料庫(kù)上訓(xùn)練,摒棄了卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的結(jié)構(gòu),取得了突破性進(jìn)展。Zeng等[5]認(rèn)為方面的情感極性與相近的上下文更相關(guān),提出了局部上下文關(guān)注(local context focus,LCF)機(jī)制,能更準(zhǔn)確地預(yù)測(cè)方面的情感。Tang等[6]將目標(biāo)方面和上下文綜合考慮完成對(duì)句子的語(yǔ)義建模。Wei Xue等[7]基于CNN和門控機(jī)制提出的基于方面詞嵌入的門控卷積網(wǎng)絡(luò)(gated convolutional network with aspect embedding,GCAE)模型易于并行訓(xùn)練。Zhang等[8]在句子的依存關(guān)系樹(shù)上建立神經(jīng)網(wǎng)絡(luò),來(lái)利用句法信息和單詞的長(zhǎng)距離依賴關(guān)系。
許多研究將注意力機(jī)制[9]和神經(jīng)網(wǎng)絡(luò)結(jié)合,關(guān)注句子中更重要的部分。梁斌等[10]將CNN和多種注意力機(jī)制結(jié)合,與單純的CNN、基于單注意力機(jī)制的CNN和基于注意力機(jī)制的長(zhǎng)短時(shí)記憶(long short-term memory,LSTM)網(wǎng)絡(luò)模型相比,取得更好的情感分類效果。Song等[11]針對(duì)RNN難以獲得由時(shí)間截?cái)嗟姆聪騻鞑?lái)的長(zhǎng)期依賴關(guān)系,采用注意力機(jī)制構(gòu)建上下文和方面之間的模型。Ma等[12]通過(guò)方面和上下文的交互式學(xué)習(xí)提高情感分類性能。Huang等[13]通過(guò)注意力機(jī)制為方面和句子建模,模型性能優(yōu)于以前基于LSTM的模型。
以上神經(jīng)網(wǎng)絡(luò)算法雖然考慮了方面的局部上下文,但忽略了其中隱含的情感信息。本文基于LCF模型,將門控卷積網(wǎng)絡(luò)(gated convolutional network,GCN)[14]作為補(bǔ)充,進(jìn)一步選擇與方面相關(guān)的情感特征,并且采用表現(xiàn)出色的BERT預(yù)訓(xùn)練模型獲得詞嵌入,用于情感分類。
為了進(jìn)行方面級(jí)情感分析,本文提出一種基于局部上下文和門控卷積網(wǎng)絡(luò)的方面級(jí)情感分類模型(aspect level sentiment classification model based on local context and gated convolutional network,LCGCN)。模型結(jié)構(gòu)如圖1所示,共包括5層:第一層是詞向量輸入層,使用預(yù)訓(xùn)練的BERT模型對(duì)輸入的文本進(jìn)行編碼;第二層是動(dòng)態(tài)加權(quán)層,使用上下文特征動(dòng)態(tài)加權(quán)(context features dynamic weighted,CDW)的方法[5]捕捉局部上下文和方面的相關(guān)信息;第三層是門控卷積層,使用GCN捕捉與方面相關(guān)的情感特征;第四層是注意力層,采用多頭自注意力(multi-head self-attention,MHSA)機(jī)制捕捉句子內(nèi)部的語(yǔ)義關(guān)聯(lián);最后是輸出層,使用Softmax分類器計(jì)算情感極性的概率分布,完成情感極性分類。
圖1 LCGCN模型結(jié)構(gòu)
該層的任務(wù)是將語(yǔ)言文字映射為低維向量。本文使用BERT模型獲得詞嵌入矩陣,來(lái)獲取文本的雙向語(yǔ)義關(guān)系,充分抓取文本的語(yǔ)義特征。面對(duì)詞語(yǔ)在不同句中擁有不同語(yǔ)義的問(wèn)題,使模型更好地理解句子的整體語(yǔ)義,模型捕捉局部上下文特征的同時(shí)構(gòu)建全局上下文表示。
局部上下文是指方面的鄰近詞,且與方面的語(yǔ)義相關(guān)。為了確定句子中的哪些詞是方面的局部上下文,將評(píng)論語(yǔ)句作為初始局部上下文序列,使用CDW方法捕捉局部上下文特征。全局上下文包含詞與詞在句子層次上的依賴關(guān)系,為了充分保留句子的整體語(yǔ)義,并學(xué)習(xí)全局上下文和方面之間的相關(guān)性,把整個(gè)評(píng)論語(yǔ)句和方面詞組合成句子對(duì),作為全局上下文序列,例如“All of my co-workers stated that the food was amazing”,對(duì)于方面“food”,“that the”和“was amazing”可定義為“food”的局部上下文,它們與“food”的語(yǔ)義更相關(guān),而全局上下文考慮整條語(yǔ)句,來(lái)學(xué)習(xí)方面的特征。
該層對(duì)全局上下文不做處理,以充分保留方面信息和句子的整體語(yǔ)義。為了捕捉方面和局部上下文的相關(guān)信息,本文采用Zeng等[5]提出的語(yǔ)義相關(guān)距離(semantic-relative distance,SRD)衡量初始局部上下文單詞和特定方面的相關(guān)程度,接著使用CDW方法[5]獲得與方面語(yǔ)義相關(guān)的上下文特征。
第i個(gè)位置的上下文詞和特定方面之間的語(yǔ)義相關(guān)距離定義為
(1)
式中:p為方面的中心位置;m為方面的長(zhǎng)度。當(dāng)di高于閾值時(shí),語(yǔ)義相關(guān)的局部上下文的特征將得到絕對(duì)保留,而當(dāng)di不超過(guò)閾值時(shí),與語(yǔ)義較不相關(guān)的局部上下文的特征將得到加權(quán)衰減,因此需要為每個(gè)局部上下文詞構(gòu)造特征向量來(lái)對(duì)特征加權(quán),第i個(gè)位置的局部上下文詞對(duì)于特定方面的語(yǔ)義相關(guān)的權(quán)重向量定義為
(2)
(3)
門控卷積層采用GCN選擇與方面相關(guān)的情感特征,GCN包含卷積網(wǎng)絡(luò)和門控單元,卷積網(wǎng)絡(luò)用于提取不同粒度的上下文特征,且通過(guò)并行計(jì)算減少運(yùn)行時(shí)間,門控單元輸出情感特征。
(4)
式中:frelu為ReLU激活函數(shù),Wa和Va為權(quán)重矩陣;ba為偏置;a表示方面特征。
(5)
式中:ftanh為Tanh激活函數(shù):Ws為權(quán)重矩陣:bs為偏置:s表示情感特征。選擇方面特征和情感特征的相關(guān)信息:
cGCN=s·a
(6)
式中:cGCN是與方面相關(guān)的情感特征;“·”為向量點(diǎn)積。
ocon=[cGCN;cG]×Wo
(7)
式中:“;”表示水平拼接;Wo為權(quán)重矩陣。
MHSA首先計(jì)算注意力分?jǐn)?shù),再對(duì)輸入句子加權(quán)求和,在不同子空間中獲得句子內(nèi)部的語(yǔ)義關(guān)聯(lián)。本文使用縮放點(diǎn)積注意力(Scaled dot-product attention,SDA)函數(shù)計(jì)算詞的注意力分?jǐn)?shù):
(8)
(9)
式中:Q、K和V通過(guò)注意力層的輸入ocon和各自的權(quán)重矩陣Wq∈Rdh×dq、Wk∈Rdh×dk、Wv∈Rdh×dv相乘得到,維度分別為dq、dk、dv,它們都通過(guò)dh/h得到,dh為隱藏層的維度,h為頭的數(shù)量,fSoftmax表示Softmax函數(shù)。
假設(shè)第i個(gè)頭部學(xué)習(xí)到的注意力表示為
Hi=fSDA(Qi,Ki,Vi)
(10)
式中:Qi、Ki、Vi是在第i個(gè)頭部通過(guò)注意力層的輸入和權(quán)重矩陣相乘得到。所有頭部學(xué)習(xí)到的注意力將拼接起來(lái),對(duì)輸入特征表示加權(quán),再經(jīng)過(guò)一次線性映射得到注意力層的輸出oMHSA:
oMHSA=ftanh({H1;H2;…;Hh}·WMHSA)ocon
(11)
式中:“;”表示向量拼接;ftanh為Tanh激活函數(shù),以增強(qiáng)該層的學(xué)習(xí)能力;WMHSA為權(quán)重矩陣;oMHSA為注意力層的輸出,包含句子內(nèi)部的語(yǔ)義關(guān)聯(lián)。
該層的任務(wù)是輸出每條評(píng)論語(yǔ)句中方面的情感極性,包括積極、中性和消極3種情感。取出特征矩陣的第一條向量,它匯集了該矩陣的所有信息,再經(jīng)過(guò)線性變換并輸入到激活函數(shù)中得到特征表示:
xpool=ftanh(oMHSA[:,0]·Wd×d)
(12)
式中:oMHSA[:,0]表示特征矩陣oMHSA的第一條向量;Wd×d表示維度為d×d的權(quán)重矩陣;d為隱藏層的維度;ftanh表示Tanh激活函數(shù)。將xpool輸入到全連接網(wǎng)絡(luò)中,得到最終表示:
xdense=xpool·Wd×C
(13)
式中:Wd×C表示維度為d×C的權(quán)重矩陣;d為隱藏層的維度;C為情感類別的數(shù)量。最終使用Softmax預(yù)測(cè)情感極性y:
(14)
式中,fSoftmax為Softmax函數(shù)。
本文通過(guò)最小化交叉熵?fù)p失函數(shù)對(duì)模型進(jìn)行訓(xùn)練和更新,得到最優(yōu)模型參數(shù)。由于中性情感是一種非常模糊的情感狀態(tài),標(biāo)記中性情感的訓(xùn)練樣本是不可靠的,因此在損失函數(shù)中加入標(biāo)簽平滑正則化(label smoothing regularization,LSR)[15],來(lái)防止模型在訓(xùn)練過(guò)程中給每個(gè)訓(xùn)練實(shí)例分配完全的概率,進(jìn)而減少過(guò)擬合,如用0.1和0.9的平滑值替換分類器的完全概率0和1。
對(duì)于訓(xùn)練樣本x,原始的真實(shí)分布為q(c|x),平滑的真實(shí)分布q′(c|x)通過(guò)LSR計(jì)算:
q′(c|x)=(1-ε)q(c|x)+εu(c)
(15)
式中:ε為平滑參數(shù);c為情感標(biāo)簽;u(c)為標(biāo)簽的先驗(yàn)分布,設(shè)置為均勻分布u(c)=1/C,C為情感類別的數(shù)量。模型將預(yù)測(cè)分布p(c)和平滑的真實(shí)分布q′(c)的交叉熵作為損失函數(shù),損失值為
(16)
本文采用的數(shù)據(jù)是SemEval2014 Task4的競(jìng)賽數(shù)據(jù)集,包含筆記本和餐廳兩個(gè)領(lǐng)域的用戶評(píng)論子數(shù)據(jù)集,有3種情感標(biāo)簽:積極、中性和消極。數(shù)據(jù)集在不同情感極性下的訓(xùn)練集和測(cè)試集評(píng)論數(shù)量如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)
實(shí)驗(yàn)中,Glove[16]詞向量維度為300,BERT預(yù)訓(xùn)練模型的維度為768。為了避免過(guò)擬合,本文在試驗(yàn)中采用了Dropout機(jī)制,LCGCN模型在兩個(gè)子數(shù)據(jù)集上采用相同的超參數(shù)設(shè)置,如表2所示。
表2 模型的參數(shù)設(shè)置
為了全面評(píng)價(jià)和分析本文模型的性能,在SemEval2014 Task4數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),并與基線模型進(jìn)行對(duì)比?;€模型如下:
1)AOA(attention-over-attention)[13]、交互注意力網(wǎng)絡(luò)(interactive attention networks,IAN)[12]、基于方面詞嵌入的注意力LSTM(attention-based LSTM with aspect embedding,ATAE-LSTM)[17]均使用Glove訓(xùn)練詞向量,結(jié)合LSTM和注意力機(jī)制提取文本特征。AOA使用一個(gè)LSTM建模文本,IAN使用兩個(gè)LSTM為方面和上下文單獨(dú)建模,ATAE-LSTM按照注意力權(quán)重對(duì)LSTM的隱層狀態(tài)加權(quán)求和,用于情感分類。
2)特定方面圖卷積網(wǎng)絡(luò)(aspect-specific graph convolutional network,ASGCN)[8]、記憶網(wǎng)絡(luò)(memory networks,MemNet)[18]、目標(biāo)獨(dú)立的LSTM(target-dependent LSTM,TD-LSTM)[6]同樣使用Glove訓(xùn)練詞向量。ASGCN使用圖卷積網(wǎng)絡(luò)抽取方面特征,MemNet結(jié)合深度記憶網(wǎng)絡(luò)和注意力機(jī)制,實(shí)現(xiàn)情感分類,TD-LSTM使用兩個(gè)反向的LSTM分別構(gòu)建左上下文和右上下文,實(shí)現(xiàn)情感分類。
3)GCAE-Glove和GCAE-BERT[7]分別使用Glove和BERT模型訓(xùn)練詞向量,結(jié)合CNN和門控機(jī)制進(jìn)行情感分類。
4)LCF[5]使用BERT訓(xùn)練詞向量,使用CNN和MHSA處理全局上下文和局部上下文,實(shí)現(xiàn)情感分類。
為了保證實(shí)驗(yàn)結(jié)果的準(zhǔn)確性,本次實(shí)驗(yàn)的模型均運(yùn)行在相同的實(shí)驗(yàn)環(huán)境下。各模型的準(zhǔn)確率和F1值如表3所示。
表3 各模型的準(zhǔn)確率和F1值對(duì)比
從表3可以看出,相較于基線模型,本文提出的模型LCGCN在兩個(gè)數(shù)據(jù)集上取得了比其他模型更好的分類效果,與LCF模型相比,準(zhǔn)確率和F1值提高1~2個(gè)百分點(diǎn),表明GCN能準(zhǔn)確選擇與方面相關(guān)的情感特征。相較于本文模型,GCAE-BERT模型沒(méi)有區(qū)分局部上下文和全局上下文,未能充分獲取上下文特征,也沒(méi)有使用自注意力機(jī)制獲取句子內(nèi)部的語(yǔ)義關(guān)聯(lián),模型準(zhǔn)確率和F1值較低。相比于使用Glove訓(xùn)練詞向量的模型(如AOA、IAN、ASGCN、ATAE_LSTM、MemNet、TD_LSTM、GCAE-Glove),使用BERT的模型(如LCF、LCGCN、GCAE-BERT)實(shí)驗(yàn)效果更好,表明BERT預(yù)訓(xùn)練模型能更好地編碼詞語(yǔ)語(yǔ)義。
僅使用循環(huán)神經(jīng)網(wǎng)絡(luò)建模句子和方面的模型TD_LSTM效果總體上不夠理想,原因是模型很難記住長(zhǎng)距離信息,AOA模型和IAN模型都使用了循環(huán)神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制,結(jié)果顯示在餐廳數(shù)據(jù)集上IAN的模型效果只差1%~2%,而在筆記本數(shù)據(jù)集上IAN的準(zhǔn)確率和F1值比AOA模型分別高出4%和6%,原因可能是IAN使用了兩個(gè)LSTM建模方面和句子,有效避免筆記本數(shù)據(jù)集中方面和句子之間的依賴關(guān)系。ASGCN模型與ATAE_LSTM模型相比,忽略了不同上下文信息對(duì)方面的重要性,模型效果較差。MemNet模型比基于LSTM的模型效果更好,可能是LSTM通過(guò)順序的方式對(duì)所有的上下文執(zhí)行相同的操作,不能明確反映出每個(gè)上下文詞的重要性。
本文基于LCF模型進(jìn)行改進(jìn),提出了一種基于局部上下文和GCN的方面級(jí)情感分類模型LCGCN,保留了LCF模型中方面的局部上下文與該方面更相關(guān)的思想,使用門控卷積網(wǎng)絡(luò)獲得與方面相關(guān)的情感特征,采用多頭自注意力機(jī)制捕捉句子內(nèi)部的語(yǔ)義關(guān)聯(lián),還通過(guò)標(biāo)簽平滑正則化進(jìn)一步解決過(guò)擬合問(wèn)題,將BERT向量表示方法用于模型中,增強(qiáng)了模型性能。通過(guò)實(shí)驗(yàn)將本文模型和已有的模型作對(duì)比,證明了本文模型在情感分類任務(wù)中的有效性。
在下一步的工作中,考慮將句法結(jié)構(gòu)特征融入到模型中,利用外部知識(shí)提高情感分類效果。
北京信息科技大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年1期