袁 勛,劉 蓉,劉 明
(1. 華中師范大學(xué)物理科學(xué)與技術(shù)學(xué)院,湖北 武漢 430079;2. 華中師范大學(xué)計(jì)算機(jī)學(xué)院,湖北 武漢 430079)
隨著科學(xué)技術(shù)的飛速發(fā)展,移動(dòng)互聯(lián)網(wǎng)已成為人們?nèi)粘I钪忻懿豢煞值囊徊糠?文本數(shù)據(jù)因其容易編輯、表達(dá)簡(jiǎn)單、存儲(chǔ)空間占比小等優(yōu)點(diǎn)在互聯(lián)網(wǎng)上的應(yīng)用最廣,如何對(duì)這些數(shù)據(jù)進(jìn)行分析并為實(shí)際應(yīng)用場(chǎng)景提供支持是自然語(yǔ)言處理(Natural language processing,NLP)的主要研究方向。情感分析是當(dāng)下NLP領(lǐng)域中最熱門的任務(wù)之一[1],它能夠利用計(jì)算機(jī)技術(shù)實(shí)現(xiàn)對(duì)情感文本的極性判斷,有著重要的研究?jī)r(jià)值。
情感分析最早由Nasukawa[2]在研究商品評(píng)論時(shí)提出,互聯(lián)網(wǎng)商品評(píng)論往往帶有強(qiáng)烈的個(gè)人情感傾向,用戶評(píng)論對(duì)于商家來(lái)說(shuō)是非常重要反饋信息,通過(guò)對(duì)海量用戶的評(píng)價(jià)進(jìn)行情感分析,可以量化用戶對(duì)產(chǎn)品及其競(jìng)品的褒貶程度,從而針對(duì)性的對(duì)自己的產(chǎn)品進(jìn)行迭代升級(jí)。早期的情感分析主要基于情感詞典對(duì)廣泛使用的情感詞進(jìn)行歸納整理[3-5]所得,通過(guò)將文本語(yǔ)句與情感詞典進(jìn)行對(duì)比來(lái)判斷文本的情感極性,但這種方法無(wú)法解決詞典的邊界問(wèn)題。
近年來(lái),隨著機(jī)器學(xué)習(xí)特別是深度學(xué)習(xí)的快速發(fā)展,深度學(xué)習(xí)方法逐漸應(yīng)用在情感分析領(lǐng)域,并取得了顯著的成果。在深度學(xué)習(xí)方法中,如何將自然語(yǔ)言轉(zhuǎn)換為計(jì)算機(jī)可理解的語(yǔ)義特征是文本情感分析的首要任務(wù)。Kim等[6]采用類似多元語(yǔ)法的方法提取多個(gè)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)特征進(jìn)行拼接,得到多個(gè)文本局部特征從而增強(qiáng)了模型的特征感知能力。Johnson等[7]用類似圖像卷積的思路設(shè)計(jì)了一種高維度文本卷積方法,使用深層次卷積方法將文本詞向量與遠(yuǎn)距離單詞進(jìn)行交互,在情感分析任務(wù)上取得了不錯(cuò)的結(jié)果。陶永才等[8]針對(duì)單一文本詞向量無(wú)法全面表示文本中的情感特征信息等問(wèn)題,將情感詞特征、情感符號(hào)特征與詞性特征進(jìn)行融合,設(shè)計(jì)了一種多特征融合的情感分析方法。然而,卷積神經(jīng)網(wǎng)絡(luò)主要通過(guò)卷積核窗口式抽取特征,在長(zhǎng)距離建模方面能力有限,且對(duì)文本的位序不敏感,缺乏對(duì)文本的整體感知能力。針對(duì)文本位序不敏感問(wèn)題,Mikolov等[9]提出循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),RNN是一種帶有記憶性質(zhì)的特征提取網(wǎng)絡(luò),可以方便的提取上下文之間的位置關(guān)聯(lián)。Li等[10]認(rèn)為傳統(tǒng)RNN網(wǎng)絡(luò)無(wú)法解決長(zhǎng)文本梯度消失的問(wèn)題,采用長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[11]提取長(zhǎng)文本上下文間的語(yǔ)義關(guān)聯(lián),在情感多分類問(wèn)題中取得了比RNN更好的成績(jī)。但是,循環(huán)神經(jīng)網(wǎng)絡(luò)由于其記憶模塊逐級(jí)傳遞的特性,難以實(shí)現(xiàn)并行操作。Devlin等[12]提出基于雙向Transformer[13]的BERT(Bidirectional Encoder Representations from Transformers)語(yǔ)言模型,該模型采用自注意力而非記憶傳遞的方式將每個(gè)詞映射為矩陣,因此能夠?qū)崿F(xiàn)并行操作,并且該模型是一種雙向的預(yù)訓(xùn)練模型,在預(yù)處理階段為每個(gè)元素添加位置信息,因此BERT輸出編碼包含整體文本的位序關(guān)系,為情感分析任務(wù)提供了語(yǔ)義表示基礎(chǔ)。針對(duì)卷積網(wǎng)絡(luò)整體感知不足問(wèn)題,Severyn等[14]在處理推特情感分析任務(wù)中使用平均池化和最大池化交互的方式,將提取到的文本特征圖中的紋理特征和數(shù)據(jù)特征拼接起來(lái),提升了模型對(duì)文本整體的感知能力。
受以上方法的啟發(fā),本文基于BERT提出一種融合多特征感知的情感分析模型(BERT MeanMaxpool CNN,BMMC)。首先,該模型將情感語(yǔ)料輸入BERT進(jìn)行編碼,提取文本整體的位序關(guān)系,然后對(duì)編碼信息進(jìn)行卷積操作提取局部特征,并采用池化操作提取文本的紋理特征和數(shù)據(jù)特征,再將紋理特征和數(shù)據(jù)特征級(jí)聯(lián)構(gòu)造全局特征,最后將局部特征與全局特征進(jìn)行融合得多特征感知網(wǎng)絡(luò),既補(bǔ)全了卷積神經(jīng)網(wǎng)絡(luò)位序不敏感問(wèn)題,又提升了編碼向量的整體特征感知,使模型達(dá)到了更好的分類性能。
模型將待分類文本從編碼層輸入,通過(guò)BERT將原始文本編碼轉(zhuǎn)換為詞向量矩陣,然后分別對(duì)句子編碼進(jìn)行局部特征挖掘和全局特征提取,最后將兩種特征進(jìn)行融合以進(jìn)行情感預(yù)測(cè)。BMMC模型由編碼層、多特征感知層和輸出層三部分構(gòu)成。模型的整體結(jié)構(gòu)如圖1所示。
圖1 BMMC模型架構(gòu)
編碼層用于將輸入原始文本轉(zhuǎn)換為帶有文本位序關(guān)系的詞向量。本文使用BERT來(lái)完成文本編碼,為保證特征融合維度匹配,編碼層使用的詞嵌入維度為原始BERT的一半。編碼層的輸入為帶有情感色彩的文本語(yǔ)料,經(jīng)過(guò)BERT中的雙向Transformer轉(zhuǎn)換為句子編碼,編碼采用自注意力機(jī)制,計(jì)算公式如下
(1)
Pout=(α1,α2,…,αn)
(2)
其中,Q、K、V為輸入單詞的詞嵌入矩陣經(jīng)過(guò)線性變換所得,dk是Q、K和V矩陣的向量維度,α為句中單個(gè)單詞編碼,(α1,α1,…,αn)為輸入句子所有單詞的編碼組合,文本編碼Pout是后續(xù)局部特征層與全局特征層的基礎(chǔ)。
文本特征抽取是對(duì)文本進(jìn)行科學(xué)的抽象,建立數(shù)學(xué)模型,用以描述和代替原始文本。在文本卷積網(wǎng)絡(luò)中,往往卷積核尺度遠(yuǎn)小于輸入文本的維度,需要使用滑動(dòng)窗口來(lái)提取對(duì)應(yīng)文本片段的特征,這使得文本卷積網(wǎng)絡(luò)可用來(lái)提取文本局部特征,使用多種不同大小的卷積核可以獲得多個(gè)局部特征信息,將局部的特征組合可得更豐富的文本抽象特征。然而卷積神經(jīng)網(wǎng)絡(luò)主要靠卷積核窗口式抽取特征,在長(zhǎng)距離建模方面能力有限,且對(duì)文本的語(yǔ)序不敏感,缺乏對(duì)文本的整體感知能力,因此需要在BERT編碼層來(lái)獲取文本位序關(guān)系。同時(shí),對(duì)預(yù)訓(xùn)練輸出編碼信息進(jìn)行最大池化可以保留編碼文本的整體紋理特征,而平均池化則可以提取文本編碼的數(shù)據(jù)特征,將兩種池化方案結(jié)合可有效地獲取上下文依賴關(guān)系,提升模型對(duì)文本整體淺層特征的感知能力。
2.2.1 局部特征層
在局部特征層,本文模型分別使用3種大小不同的感知器來(lái)提取文本的局部特征。文本特征提取通常使用卷積操作完成,通過(guò)卷積核與對(duì)應(yīng)文本上進(jìn)行乘法操作就可以得到當(dāng)前卷積核的局部視野。卷積核長(zhǎng)度遠(yuǎn)小于文本長(zhǎng)度,卷積核在整個(gè)文本上進(jìn)行滾動(dòng),可得到當(dāng)前卷積核對(duì)全文本的局部特征,使用多種不同尺寸卷積核可以得到多窗口的文本視野,從而能夠捕捉文本向量局部依賴關(guān)系。
圖1中編碼層BERT輸出為詞嵌入矩陣,記詞嵌入維度為d。使用3種長(zhǎng)度不同但詞嵌入維度相同的卷積核與矩陣進(jìn)行卷積就可以得到3種不同尺寸的特征圖(feature maps),局部特征層結(jié)構(gòu)如圖2所示。
圖2 局部特征層
如圖2所示,Xhidden[1]與Xhidden[2]分別表示句子編碼Pout的長(zhǎng)度與詞嵌入維度,不同大小的卷積核可以得到不同視野的語(yǔ)料文本,從而提取出多個(gè)角度的局部特征。本文設(shè)計(jì)的卷積核的個(gè)數(shù)為詞嵌入維度大小的2/3,即2d/3,卷積核的尺寸有3種,分別是[2,d]、[3,d]和[4,d],分別卷積可得到3種大小不一的特征圖,特征圖維度計(jì)算公式如下。
(3)
padding為填充0,stride為滑動(dòng)窗口長(zhǎng)度,大小與詞嵌入維度一致,convkernel為卷積核橫向長(zhǎng)度,convin為輸入文本長(zhǎng)度,convkernel為輸出文本長(zhǎng)度。由圖2可知每種尺寸對(duì)應(yīng)特征圖數(shù)量為2d/3。則featuremaps層維度為[2d/3,convout,1],經(jīng)過(guò)最大池化層轉(zhuǎn)換為[2d/3,1]大小的矩陣,將3類池化層拼接可得維度為[2d,1]的特征矩陣,該特征矩陣可與下文全局特征進(jìn)行級(jí)聯(lián)。
2.2.2 全局特征層
為強(qiáng)化模型對(duì)遠(yuǎn)距離文本的情感感知能力,從全局視角提取文本的紋理特征與數(shù)據(jù)特征并進(jìn)行交互,以獲取完整語(yǔ)義特征。在BERT的訓(xùn)練中,情感文本數(shù)據(jù)是按批次輸入,本文采用動(dòng)態(tài)填充的方式對(duì)每個(gè)小批次中的短文本數(shù)據(jù)進(jìn)行補(bǔ)0,以保證所有句子編碼等長(zhǎng),這樣可以減少計(jì)算資源浪費(fèi)以提高訓(xùn)練速度。由于待分類文本需按批次輸入,所以利用分批池化策略來(lái)提取全局特征。全局特征層的設(shè)計(jì)如圖3所示,其輸入為BERT的輸出編碼,為保留更多的有效信息防止模型過(guò)擬合,分別提取同一批次句子中所有單詞的詞嵌入數(shù)據(jù)的平均值作為文本的數(shù)據(jù)特征,再用同樣的方法提取詞嵌入數(shù)據(jù)的最大值作為文本的紋理特征,最后將兩種特征進(jìn)行級(jí)聯(lián)得全局特征。
圖3 全局特征層
全局特征層按批次輸入文本,其中橫向表示詞嵌入維度,大小為d維不可再分,縱向表示句子長(zhǎng)度,隨著當(dāng)前批次句子最大長(zhǎng)度的變化而變化,可歸一化成一維向量而不丟失語(yǔ)義,所以使用圖3所示的縱向池化方法進(jìn)行mean pooling與max pooling,兩種池化結(jié)果都是d維,再將其級(jí)聯(lián)相加并轉(zhuǎn)置可得維度[2d,1]。這本質(zhì)是一種Doc2Vec[15]方法,可以獲得文本的固定長(zhǎng)度向量表達(dá)。
可以發(fā)現(xiàn)局部特征與全局特征的大小都是2d維,將局部特征與全局特征拼接可得多特征感知結(jié)果Sout,公式表示如下
Sout=∑conv(Pout)T+
concat(meanpool(Pout),maxpool(Pout))
(4)
通過(guò)線性層映射并用sigmoid[16]激活,可得到模型的推斷結(jié)果。
在獲得兩種特征融合結(jié)果Sout之后,再送入一個(gè)全連接層,然后通過(guò)softmax分類器可得到數(shù)據(jù)樣本的分類概率p,計(jì)算過(guò)程如式(5)和式(6)所示
p=softmax(WcSout+bc)
(5)
(6)
(7)
其中,C為分類類別,y為真實(shí)標(biāo)簽,從數(shù)據(jù)集中讀取,λ‖θ‖2為正則化表達(dá)。
為了驗(yàn)證本文模型的情感分類效果,在譚松波酒店評(píng)論語(yǔ)料[17]公開(kāi)數(shù)據(jù)集上進(jìn)行對(duì)照實(shí)驗(yàn),該數(shù)據(jù)集共10000條語(yǔ)料評(píng)論,其中正負(fù)樣本各5000條,每條數(shù)據(jù)都由評(píng)論語(yǔ)句和情感極性組成,情感極性分為:樂(lè)觀、消極。將語(yǔ)料劃分,90%做訓(xùn)練集,10%做測(cè)試集,數(shù)據(jù)集長(zhǎng)度分布如表1所示。
表1 數(shù)據(jù)集數(shù)據(jù)集長(zhǎng)度分布
由上表可以看出,可見(jiàn)句子大部分長(zhǎng)度維持在0-250之間,300個(gè)字以下占比93.5%,所以設(shè)300為允許最大長(zhǎng)度,超出長(zhǎng)度則截?cái)唷?/p>
本文實(shí)驗(yàn)的操作系統(tǒng)是centOS7,配備Tesla V100 32GB顯卡,開(kāi)發(fā)環(huán)境是python3.6和pytorch1.7.0,部分參數(shù)配置如表2所示。實(shí)驗(yàn)使用Adam優(yōu)化器[18]自適應(yīng)學(xué)習(xí)率來(lái)加快收斂速度,通過(guò)L2正則防止過(guò)擬合,epoch迭代次數(shù)定義為初值定義為1000,但并不是表示模型需要迭代這么多次,每個(gè)epoch之后模型都會(huì)記錄當(dāng)前最好的評(píng)估指標(biāo),若10次迭代沒(méi)有更新指標(biāo),則終止訓(xùn)練。
表2 實(shí)驗(yàn)參數(shù)
經(jīng)過(guò)線性分類層輸出的預(yù)測(cè)是一個(gè)小數(shù),模型分類的依據(jù)是將當(dāng)前預(yù)測(cè)值與分類閾值對(duì)比以對(duì)情感極性進(jìn)行分類。將閾值邊界設(shè)定為0.5可能會(huì)造成分類不均,因此從0到1以0.01為間隔定義99個(gè)備選閾值,計(jì)算0.01-0.99所有的閾值對(duì)應(yīng)的F1值,找出使F1值最大的閾值作為分類邊界。
本文模型使用上述方法得到的情感分析實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 模型實(shí)驗(yàn)結(jié)果
上圖中橫軸代表epoch,縱軸代表AUC[19]值??梢钥闯鰧?shí)驗(yàn)在前100個(gè)epoch增長(zhǎng)較快,測(cè)試集的性能表現(xiàn)比訓(xùn)練集更好,這是因?yàn)橛?xùn)練集在訓(xùn)練時(shí)為防止過(guò)擬合而加入了dropout策略,往后增長(zhǎng)較為平緩,在200個(gè)epoch趨于穩(wěn)定,整體表現(xiàn)AUC達(dá)到了0.95以上,相比以往模型有更好的分類效果。
為了進(jìn)一步評(píng)估模型的性能,文章列舉了其它研究的方面情感分析模型與之進(jìn)行對(duì)比。度量指標(biāo)統(tǒng)一使用AUC和Macro-F1,在數(shù)據(jù)樣本不均衡時(shí),F1指標(biāo)具有更好的評(píng)估性能。
1) TEXT-CNN[6]:使用多個(gè)不同大小卷積核來(lái)提取句子關(guān)鍵信息的文本卷積方法,更好地捕捉句子局部相關(guān)性。
2) DPCNN[7]:使用多組卷積層和池化層堆疊而成都深層次循環(huán)卷積網(wǎng)絡(luò),通過(guò)不斷卷積擴(kuò)大單詞向量的感受野,以獲取情感文本遠(yuǎn)距離依賴關(guān)系。
3) BI-LSTM[11]:雙向LSTM網(wǎng)絡(luò),相比于LSTM網(wǎng)絡(luò)可以更好的捕捉句子上下文的雙向語(yǔ)義依賴。
4) BERT[12]:預(yù)訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)大規(guī)模與具體任務(wù)無(wú)關(guān)的文本數(shù)據(jù)自監(jiān)督學(xué)習(xí)得到,再經(jīng)過(guò)下游情感分析文本針對(duì)性進(jìn)行微調(diào)。
5) BERT-CNN[6,12]:以BERT為基礎(chǔ)的文本卷積神經(jīng)網(wǎng)絡(luò),在BERT編碼的基礎(chǔ)之上,使用卷積神經(jīng)網(wǎng)絡(luò)捕捉詞向量局部相關(guān)性。
在譚松波酒店評(píng)論語(yǔ)料數(shù)據(jù)集上各模型對(duì)比結(jié)果如表3所示。
表3 不同模型實(shí)驗(yàn)對(duì)比結(jié)果
從表3可以看出,基于BERT的情感分類模型相比于未基于BERT的模型無(wú)論在AUC還是F1指標(biāo)上都有質(zhì)的提升,可以證明預(yù)訓(xùn)練模型在情感分類任務(wù)上的性能優(yōu)勢(shì)。BMMC模型在譚松波酒店評(píng)論語(yǔ)料數(shù)據(jù)集上的AUC與F1指標(biāo)分別為95.86%和86.61%,對(duì)比基于BERT的網(wǎng)絡(luò)模型可知,其AUC指標(biāo)比BERT基準(zhǔn)模型高1.01%,比BERT-CNN也提升了0.47%,證明在局部特征上加入位序關(guān)系并與全局特征進(jìn)行交互構(gòu)造多特征感知網(wǎng)絡(luò)是有意義的。
在文本情感分析任務(wù)中,為提升對(duì)文本淺層特征的感知能力,本文結(jié)合BERT模型設(shè)計(jì)了一種多特征感知模型BMMC。由于使用單一特征提取器可能會(huì)導(dǎo)致模型特征抽取不足,本文在預(yù)訓(xùn)練模型的基礎(chǔ)之上融合局部特征和全局特征,通過(guò)構(gòu)造多個(gè)卷積核提取文本的局部信息,然后將局部信息與全局信息進(jìn)行交互構(gòu)造多特征感知網(wǎng)絡(luò),提升了模型對(duì)文本淺層特征的感知能力。本文在情感分析任務(wù)上與多個(gè)基準(zhǔn)模型進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果表明將局部特征與全局特征進(jìn)行融合在情感分析任務(wù)上是有效的。