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