高瑋軍,趙華洋,李 磊,朱 婧
(蘭州理工大學(xué)計(jì)算機(jī)與通信學(xué)院,甘肅 蘭州 730050)
隨著互聯(lián)網(wǎng)的發(fā)展與信息技術(shù)的普及,我國(guó)互聯(lián)網(wǎng)普及率繼續(xù)保持平穩(wěn)增長(zhǎng)。各大網(wǎng)絡(luò)社交平臺(tái)已經(jīng)成為了人們?nèi)粘I畹囊徊糠?人們通過各大門戶網(wǎng)站表達(dá)觀點(diǎn)和抒發(fā)情感[1]。商家通過對(duì)評(píng)論的分析能夠?qū)嵭懈玫匿N售策略,政府能通過輿情的監(jiān)控來進(jìn)行更好的社會(huì)管理。情感分析在電商評(píng)論、輿情分析方面有著良好的應(yīng)用前景。
目前研究情感分析的方法主要有基于情感詞典的方法、基于機(jī)器學(xué)習(xí)的方法與基于深度學(xué)習(xí)的方法?;谇楦性~典的方法和基于機(jī)器學(xué)習(xí)的方法需要大量的人工進(jìn)行數(shù)據(jù)處理與設(shè)計(jì)特征,效率低下,現(xiàn)在主流的情感分析方法是基于深度學(xué)習(xí)的方法?;谏疃葘W(xué)習(xí)的方法中,卷積神經(jīng)網(wǎng)絡(luò)模型只能進(jìn)行特定步長(zhǎng)的特征的提取,對(duì)于特征的重點(diǎn)不夠突出。對(duì)于文本情感識(shí)別,傳統(tǒng)的自然語言處理方法難以提取長(zhǎng)距離的語義信息,模型并行能力不佳,往往只能在特定的數(shù)據(jù)集上有效,而當(dāng)前網(wǎng)絡(luò)環(huán)境中存在大量較為隱晦,不易識(shí)別的反諷文本,其所使用的語言往往夾雜正面的情感傾向語義特征,沒有充分考慮其所在的語義環(huán)境,導(dǎo)致反諷文本的識(shí)別準(zhǔn)確率相對(duì)較低。
針對(duì)上述存在的問題,本文構(gòu)建了基于ALBERT-HACNN-TUP情感分析模型,利用ALBERT預(yù)訓(xùn)練語言模型充分考慮句子中詞的上下文語義信息,提取更長(zhǎng)距離的語義特征;使用HACNN進(jìn)行二次特征提取,將分層注意力機(jī)制與卷積神經(jīng)網(wǎng)絡(luò)結(jié)合,動(dòng)態(tài)分配權(quán)重突出文本的情感極性詞;再通過池化層Text Universal pooling(TUP)為每個(gè)通道選擇池化權(quán)重,并將權(quán)重與其它特征一起訓(xùn)練,充分考慮上下文語境,最大程度保留了文本更深層次的情感特征,尤其對(duì)含有復(fù)雜語義的反諷文本有更好的效果。
文本情感分析的工作最早在2002年由Bo Pang[2]提出,文本情感分析的研究提出之后,基于網(wǎng)絡(luò)的情感的分析研究有了很大的發(fā)展。早期的情感分析方法主要使用機(jī)器學(xué)習(xí)的方法支持向量機(jī)SVM(Support Vector Machine)、最大熵ME(Maximum Entropy)、樸素貝葉斯NB(Naive Bayes)等分類器進(jìn)行有監(jiān)督學(xué)習(xí)[3]。Mikolov等[4]提出了word2vec模型,將詞映射到實(shí)數(shù)向量空間,構(gòu)建了CBOW和Skip-gram兩種框架,之后Word2Vec在自然語言處理領(lǐng)域被廣泛應(yīng)用。Kim等[5]首次使用不同卷積核的CNN對(duì)文本局部語義進(jìn)行特征提取,對(duì)句子級(jí)別的文本進(jìn)行分類并取得了不錯(cuò)的效果,奠定了卷積神經(jīng)網(wǎng)絡(luò)對(duì)于文本分類的基礎(chǔ)。Jeffrey Pennington等[6]提出了GloVe(Global Vectors for Word Representation)模型,它進(jìn)行了全局詞頻的統(tǒng)計(jì),可以把一個(gè)詞匯映射成一條由實(shí)數(shù)組成的向量,這些向量能夠?qū)σ恍┪谋拘蛄姓Z義特性進(jìn)行捕捉,比如類比性、相似性等。Xingjian S H I[7]等人提出了一種卷積LSTM網(wǎng)絡(luò)在端到端之間進(jìn)行卷積操作,更好的獲取了時(shí)空序列相關(guān)性。
2017年Vaswani等[8]提出了Self-Attention機(jī)制和Transformer框架用于機(jī)器翻譯,利用自注意力機(jī)制強(qiáng)大的提取長(zhǎng)距離語義特征的能力取得了比普通神經(jīng)網(wǎng)絡(luò)模型更好的性能。2018年10月底,Google公布BERT(bidirectional encoder representation from transformers)[9]在11項(xiàng)NLP任務(wù)中創(chuàng)造紀(jì)錄。由于BERT引入了自注意力機(jī)制使得分類標(biāo)簽關(guān)注了更多詞與詞之間的離散特征,與傳統(tǒng)的關(guān)注序列特征的模型相比并行計(jì)算能力更強(qiáng),BERT的成功使得大量自然語言處理的研究人員對(duì)其產(chǎn)生濃厚興趣。ALBERT(A LITE BERT)是Google公司基于BERT基礎(chǔ)上進(jìn)行了一系列改造后的預(yù)訓(xùn)練模型[10],該模型利用參數(shù)共享與詞嵌入分解策略削減了BERT的參數(shù)量,提高了模型效率。Xiong R等[11]對(duì)Transformer中LayerNorm層做出了改進(jìn),優(yōu)化了模型效率,減少了訓(xùn)練時(shí)間。Sun J等[12]用了雙池方法和多粒度注意力網(wǎng)絡(luò)提取到了更準(zhǔn)確的上下文句法結(jié)構(gòu)特征和句法信息。Man R等[13]用BERT模型作為文章特征提取模型,并利用深度卷積神經(jīng)網(wǎng)絡(luò)提取文章的局部信息,然后連接全連接層對(duì)文章進(jìn)行分類,對(duì)輿情事件的情感分析起到了良好的效果。曹宇等[14]提出了一種中文文本情感分析的新方法,結(jié)合雙向門控神經(jīng)單元獲取文本序列的上下文特征,提高了情感分析的分類效果。陳虹等[15]提出了一個(gè)交互注意力神經(jīng)網(wǎng)絡(luò)模型,對(duì)上下文的情感相關(guān)性進(jìn)行注意力關(guān)注,對(duì)情感分類起到了良好的效果。
本文構(gòu)建了ALBERT-HACNN-TUP模型,首先利用ALBERT進(jìn)行詞向量化與預(yù)訓(xùn)練,在全局上提取文本序列的特征信息,再利用HACNN進(jìn)行二次特征提取,根據(jù)卷積層提取特征信息的重要程度進(jìn)行動(dòng)態(tài)的權(quán)重調(diào)整,最后引入改進(jìn)的Universal pooling[16]池化方法Text Universal pooling,為每個(gè)通道動(dòng)態(tài)分配權(quán)重,重點(diǎn)提取情感特征。該模型綜合考慮了上下文信息、句子結(jié)構(gòu)、與局部語義信息的特征提取,進(jìn)一步提高模型在文本情感分析中的識(shí)別性能。
模型將ALBERT與HACNN相結(jié)合,首先利用ALBERT對(duì)文本進(jìn)行詞向量化與預(yù)訓(xùn)練,考慮了更長(zhǎng)距離的語義信息,提升了句子中詞向量的表征能力,與BERT相比提高了模型效率;其次將向量化后傳出的隱藏層向量傳入Transformer特征提取器,利用Transformer中的多頭自注意力機(jī)制關(guān)注到對(duì)情感極性影響比較大的特征,與HACNN結(jié)合進(jìn)行二次特征提取,根據(jù)卷積層提取特征信息的重要程度進(jìn)行動(dòng)態(tài)的權(quán)重調(diào)整,將不同權(quán)重的信息詞與卷積神經(jīng)網(wǎng)絡(luò)先前提取的特征相連接成新的句子向量,將提取到的情感極性特征再次放大,突出了句子中重點(diǎn)情感詞信息;然后池化層使用Text Universal pooling池化方法為每個(gè)通道選擇池化權(quán)重,并將權(quán)重與其它特征一起訓(xùn)練,充分考慮上下文語境,最大程度保留了文本中更深層次的情感特征;最后傳入判別層進(jìn)行情感分析??傮w模型結(jié)構(gòu)如圖1所示。
圖1 ALBERT-HACNN-TUP模型結(jié)構(gòu)圖
ALBERT(A Lite BERT)解決了BERT模型參數(shù)量過大的問題,有效降低了訓(xùn)練過程中的資源開銷,并提高了模型運(yùn)行效率。ALBERT使用了雙向Transformer編碼器,編碼器輸出的隱藏層即自然語言序列的數(shù)學(xué)表達(dá)。圖中E是指的單個(gè)字或詞Ti指的是最終計(jì)算得出的隱藏層,其結(jié)構(gòu)如圖2所示。
圖2 ALBERT模型結(jié)構(gòu)圖
ALBERT采用了兩種參數(shù)簡(jiǎn)化技術(shù),消除了輕量化預(yù)訓(xùn)練模型的主要障礙。第一個(gè)是詞嵌入?yún)?shù)進(jìn)行分解,通過將大的詞嵌入矩陣分解成兩個(gè)小矩陣,將隱藏層與詞嵌入分開,這種分離使得在不顯著增加詞嵌入的參數(shù)大小的情況下更加容易增加隱藏層大小。第二種技術(shù)是跨層參數(shù)共享,這種技術(shù)防止參數(shù)隨著網(wǎng)絡(luò)的深度而增長(zhǎng)。這兩種技術(shù)都顯著減少了BERT的參數(shù)數(shù)量,而不會(huì)嚴(yán)重影響性能,從而提高了模型效率。
模型從ALBERT傳出的隱藏層向量形成CNN的初始輸入矩陣,在CNN模型訓(xùn)練完成時(shí),從相同卷積核中提取的特征圖進(jìn)行合并,并作為新矩陣傳送到關(guān)注層。通過使用注意機(jī)制對(duì)情感分析貢獻(xiàn)大的信息詞賦予更高的權(quán)重,提取重點(diǎn)情感特征,將不同權(quán)重的情感特征與卷積神經(jīng)網(wǎng)絡(luò)先前提取的特征相連接成新的句子向量,充分考慮了局部特征和上下文語義信息。最后將新的特征向量輸入到全連接的網(wǎng)絡(luò)層進(jìn)行情感分類。
設(shè)字嵌入維度為n,句子數(shù)量大小為s,長(zhǎng)度大小為l,文本序列經(jīng)過ALBERT詞向量化之后輸出的隱藏層向量傳入Transformer進(jìn)行二次特征提取,輸出隱藏層矩陣H={h1,h2,…,hn},對(duì)隱藏層矩陣進(jìn)行卷積操作。設(shè)卷積核大小為m,M為卷積核,則M∈Rm×n,H∈Rs×n,H經(jīng)過卷積之后的子矩陣為H[i:j],經(jīng)過多次卷積操作之后輸出序列為σ∈Rs-m+1×n。
σi=ω°H[i:i+m-1]
(1)
設(shè)b為偏置,b∈R,經(jīng)過激活函數(shù)生成的特征圖τ∈Rs-m+1。
τi=f(σi+b)
(2)
本文為了更好的獲取情感極性,對(duì)不同卷積核獲取到的特征進(jìn)行權(quán)重的調(diào)整,設(shè)每部分的特征由k個(gè)卷積核進(jìn)行提取,則有卷積核Mij∈Rmi×n與隱藏層H進(jìn)行卷積操作。在隱藏層經(jīng)過卷積操作之后,將所有經(jīng)過相同尺寸卷積核提取的特征進(jìn)行集合形成新的隱藏層矩陣A∈R1×k。
(3)
將新的隱藏層矩陣賦予權(quán)值ω∈Rk×n,在經(jīng)過激活函數(shù)激活為Vi∈Rl-m+1×n。
(4)
之后將Vi與字嵌入向量v∈Rn×1做內(nèi)積并傳入softmax進(jìn)行歸一化。
αi=softmax(Vi°v)
(5)
V初始值設(shè)置為0用來計(jì)算A中各行的權(quán)重,αi分別與Ai中每一行相乘。
(6)
卷積層之后連接的池化層,其作用是保留文本序列最重要的情感特征信息。常用的池化方式雖然可以保留較為顯著的信息,但對(duì)于特殊的語言序列反諷句式,只能提取表面的顯著信息,而對(duì)于最重要的深層次情感特征信息提取不充分。
為了提高模型的泛化能力與魯棒性,改進(jìn)了Universal pooling池化策略,其核心思想是將經(jīng)過卷積后的隱藏層中的每個(gè)通道賦予權(quán)值,并將它們與其它特征參數(shù)一起傳入卷積神經(jīng)網(wǎng)絡(luò)來進(jìn)行訓(xùn)練。
o0,0=universal_pooling(f0,0,f0,1,f1,0,f1,1)
=π0,0f0,0+π0,1f0,1+π1,0f1,0+π1,1f1,1
=π?f
(7)
其中π表示為權(quán)重,f為輸入的特征圖,其示意圖如圖3所示。
圖3 Universal pooling示意圖
本文在文本序列中所推廣使用的池化公式Text Universal pooling為
o0=universal_pooling(f0,f1,f2,f3)
=π0f0+π1f1+π2f2+π3f3
=π?f
(8)
經(jīng)過池化層之后,將每個(gè)卷積層產(chǎn)生的特征向量進(jìn)行連接傳入softmax進(jìn)行情感類別的概率分布
(9)
損失函數(shù)如下
(10)
其中T是訓(xùn)練集,c是情感類。
本文在Booling.com酒店評(píng)論網(wǎng)站與微博客戶端分別收集正負(fù)各5000條數(shù)據(jù)構(gòu)建數(shù)據(jù)集進(jìn)行訓(xùn)練實(shí)驗(yàn),在公開數(shù)據(jù)集ChnSentiCorp_h(yuǎn)tl_all、online_shopping_10_cats、weibo_senti_100k、NLPCC2014等數(shù)據(jù)集上進(jìn)行測(cè)試實(shí)驗(yàn),并在微博與酒店評(píng)論數(shù)據(jù)中經(jīng)過多人投票選出反諷預(yù)料一千條與正常正向情感語料一千條構(gòu)建反諷數(shù)據(jù)集Irony_senti_dataset,與傳統(tǒng)模型進(jìn)行精確度、泛化性與訓(xùn)練時(shí)間對(duì)比。
本文在情感分類之前使用ALBERT進(jìn)行預(yù)訓(xùn)練,預(yù)訓(xùn)練所使用的語料為中文維基百科(wiki2019zh)。在進(jìn)行預(yù)訓(xùn)練與情感分類訓(xùn)練過程中,為了減少過剩的參數(shù),將模型進(jìn)行效率最大化的處理,本文將Transformer層設(shè)置為6層,字注意力頭數(shù)設(shè)置為12。為了驗(yàn)證本模型在情感分類任務(wù)上的效果,本文與傳統(tǒng)的情感分析模型進(jìn)行實(shí)驗(yàn)對(duì)比,所采用的實(shí)驗(yàn)環(huán)境如表1所示,CNN模型參數(shù)設(shè)置如表2所示。
表1 實(shí)驗(yàn)環(huán)境配置
表2 模型參數(shù)配置
4.3.1 不同模型實(shí)驗(yàn)結(jié)果對(duì)比分析
由表3實(shí)驗(yàn)結(jié)果可知,與傳統(tǒng)TextCNN和RNN進(jìn)行模型對(duì)比,本模型利用了Transformer中自注意力機(jī)制,更好的關(guān)注到了情感極性特征并提取到了更長(zhǎng)距離的語義信息,使得模型的準(zhǔn)確率(Accuracy)、召回率(Precision)、F1(Recall)值等均有提升。與基準(zhǔn)版BERT相比,本模型利用HACNN結(jié)合進(jìn)行再次特征提取,根據(jù)卷積層提取特征信息的重要程度進(jìn)行動(dòng)態(tài)的權(quán)重調(diào)整,將不同權(quán)重的的信息詞與卷積神經(jīng)網(wǎng)絡(luò)先前提取的特征相連接成新的句子向量,將提取到的情感極性特征再次放大,重點(diǎn)突出文本的情感極性詞。與BERT-CNN和BERT-LSTM模型以及結(jié)合了CNN和BiGRU的ALBERT-CRNN模型[17]相比,本模型使用Text Universal pooling池化方法,采用局部空間注意力的原理,為每個(gè)通道動(dòng)態(tài)分配權(quán)重,重點(diǎn)提取深層次情感特征,有效提高了模型的性能。
表3 實(shí)驗(yàn)結(jié)果表
模型與BERT、BERT-CNN和BERT-LSTM模型對(duì)比,本模型在保障模型性能的情況下利用ALBERT的參數(shù)共享機(jī)制提高了模型運(yùn)行效率,運(yùn)行時(shí)間表如表4所示。
表4 時(shí)間消耗表
由表中結(jié)果可知ALBERT-HACNN-TUP模型比BERT-CNN時(shí)間效率提高了6.5%。主要原因是ALBERT使用詞嵌入分解技術(shù)與跨參數(shù)共享技術(shù)減少了BERT模型的參數(shù)量。
4.3.2 不同神經(jīng)網(wǎng)絡(luò)對(duì)模型的影響分析
由表5實(shí)驗(yàn)結(jié)果可知,通過與不同神經(jīng)網(wǎng)絡(luò)的實(shí)驗(yàn)對(duì)比,驗(yàn)證了HACNN神經(jīng)網(wǎng)絡(luò)層的有效性。與RNN、LSTM、TextCNN等神經(jīng)網(wǎng)絡(luò)相比,HACNN采用分層注意力的機(jī)制,對(duì)情感信息詞賦予更高的權(quán)重來提取重點(diǎn)特征,突出文本的情感極性,使模型有更好的效果。
表5 不同神經(jīng)網(wǎng)絡(luò)對(duì)比實(shí)驗(yàn)
4.2.3 不同池化方式對(duì)比實(shí)驗(yàn)分析
由表6實(shí)驗(yàn)結(jié)果可知,本模型與傳統(tǒng)的最大池化MP(Max pooling)、平均池化AP(Average pooling)和跨步池化(Stride pooling)進(jìn)行對(duì)比實(shí)驗(yàn),TUP(Text Universal pooling)采用局部空間注意力的原理,訓(xùn)練每個(gè)通道的權(quán)重,對(duì)權(quán)重進(jìn)行動(dòng)態(tài)調(diào)整,保留文本深層次情感特征,提高了模型的性能。
表6 不同池化方式對(duì)比實(shí)驗(yàn)
4.3.4 反諷數(shù)據(jù)集實(shí)驗(yàn)
為了驗(yàn)證ALBERT-HACNN-TUP模型識(shí)別反諷語句的能力,本文在數(shù)據(jù)集Irony_senti_dataset上與傳統(tǒng)模型進(jìn)行對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表7所示。
表7 Irony_senti_dataset數(shù)據(jù)集實(shí)驗(yàn)結(jié)果表
實(shí)驗(yàn)表明與傳統(tǒng)模型相比,ALBERT模型利用多頭自注意力機(jī)制更好的提取到了反諷語義的特征,并且利用了Text Universal pooling池化策略,通過對(duì)池化通道權(quán)重的動(dòng)態(tài)調(diào)整,保留了反諷句式的深層情感特征,使模型有了更好的效果。
4.3.5 泛化性對(duì)比實(shí)驗(yàn)
本模型在ChnSentiCorp_h(yuǎn)tl_all、online_shopping_10_cats、weibo_senti_100k、NLPCC2014等數(shù)據(jù)集選用部分?jǐn)?shù)據(jù)進(jìn)行泛化性實(shí)驗(yàn)測(cè)試,其實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 泛化性對(duì)比實(shí)驗(yàn)
本模型在不同數(shù)據(jù)集有著良好的效果,能夠針對(duì)不同的文本類型進(jìn)行評(píng)論分析,改進(jìn)商家銷售策略,促進(jìn)社會(huì)經(jīng)濟(jì)發(fā)展。并且能對(duì)各個(gè)平臺(tái)網(wǎng)絡(luò)的不同類型文本評(píng)論進(jìn)行輿情分析,實(shí)現(xiàn)政府有效的社會(huì)管理。
本文利用Transformer中多頭自注意力機(jī)制,采用預(yù)訓(xùn)練模型ALBERT與HACNN相結(jié)合深度提取文本特征向量,建立了一種新的情感分析模型ALBERT-HACNN-TUP。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的情感分析模型能夠更好的提取語義特征,結(jié)合多頭自注意力機(jī)制,能夠更長(zhǎng)距離的關(guān)注文本上下文語義信息,突出了文本感情極性特征,提高了模型精確度;結(jié)合ALBERT詞嵌入分解技術(shù)與跨參數(shù)共享技術(shù),提高了模型效率;利用分層注意力卷積神經(jīng)網(wǎng)絡(luò)(HACNN),根據(jù)卷積層提取特征信息的重要程度進(jìn)行動(dòng)態(tài)的權(quán)重調(diào)整,通過池化層進(jìn)行不同通道間的提取和融合,最大程度的保留了文本深層次的情感特征,有效提高了反諷句式的情感判別能力。最后與現(xiàn)有模型進(jìn)行實(shí)驗(yàn)對(duì)比在微博評(píng)論與酒店評(píng)論數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),結(jié)果證明了該模型提高了運(yùn)行效率與精確度,并具有良好的泛化性。
然而隨著互聯(lián)網(wǎng)的不斷發(fā)展,關(guān)于反諷句式有了更復(fù)雜的語言環(huán)境,在現(xiàn)在互聯(lián)網(wǎng)評(píng)論中,人們所使用的反諷語句往往有特定背景信息。因此,將背景信息與預(yù)訓(xùn)練模型相結(jié)合,更好的提取特殊句式的語義特征,是未來研究的重點(diǎn)。