何 野,楊會成,潘 玥,徐姝琪
(安徽工程大學 電氣工程學院,安徽 蕪湖 241004)
隨著電子產品及互聯(lián)網(wǎng)技術的不斷進步與革新,包含人們情感評論的大量文本信息已經(jīng)出現(xiàn)在網(wǎng)絡平臺上.在自然語言處理(NLP)領域中,尋找一種有效的數(shù)據(jù)挖掘和分析方法是一項非常重要的研究,這被稱為文本情感分析[1].文本情感分析主要包括文本分類、信息提取和文本生成技術,情感分析是一個過程,用于識別和分類意見、觀點(從文本到特定主題或產品).這些評估可以是正面、負面或中立的.分析可以在文檔級別、句子級別或單詞級別執(zhí)行.目前,基于統(tǒng)計機器學習的情感分析在各種應用中都取得了良好的效果.然而,機器學習方法中使用的函數(shù)非常簡單,這可能導致它們在處理復雜分類問題時對新的模型的適應能力較差,并且在樣本和計算單位比較少的情況下,表達復雜函數(shù)的能力在一定程度上受到限制.
歷年來,情感分類方法發(fā)生了許多變化,最早是基于初始情感詞典的方法, Bengio等[2]最早使用神經(jīng)網(wǎng)絡構建語言模型.Mikolov等[3-4]于2013 年提出了 Word2Vec 技術,推動了詞向量的快速發(fā)展.然后再到機器學習方法,例如支持向量機(SVM)[5]、樸素貝葉斯(NB)、決策樹、邏輯回歸等.盡管某些機器學習方法可以在某些任務上取得良好的結果,但是由于特征工程的復雜性,這些方法的效果非常依賴于特征表示,并且難以獲得可接受的分類結果.隨著人們對深度學習算法的進一步研究與認識,許多深度學習方法被應用于情感分類任務.與機器學習方法相比,深度學習則更加側重于取代人工使用自動提取語料特征的方式,這樣可以使文本的特征更加廣泛和豐富.但是,深度學習模型的魯棒性和泛化能力在很大程度上取決于訓練階段可用的數(shù)據(jù)量,而基于機器學習的分類系統(tǒng)的性能則主要取決于語料庫中的標記訓練及其有效特征的選擇.
卷積神經(jīng)網(wǎng)絡[6](CNN)和遞歸神經(jīng)網(wǎng)絡是兩個廣泛使用的用于情感表達的深度學習模型.Yann LeCun在1998年提出的CNN具有很強的適應性,并且非常善于從文本中提取局部特征.由于其獨特的權重共享結構,它可以顯著降低計算復雜度以及訓練參數(shù)的數(shù)量.對于句子建模,Kalchbrenner等人提出了動態(tài)卷積神經(jīng)網(wǎng)絡,它能夠獲得短時和長時關系.作為另一個流行的網(wǎng)絡,循環(huán)神經(jīng)網(wǎng)絡[7](RNN)可以處理序列數(shù)據(jù)并了解長期依賴性.RNN將當前輸出和網(wǎng)絡的上一級輸出聯(lián)系在一起,這意味著當前隱藏層的輸入不僅包括輸入層的輸出,而且還包括先前隱藏層的輸出.當RNN學習到對信息的長期依賴時,它將產生梯度衰減或爆炸.為了解決這個問題,研究人員提出了一種LSTM[8]單元,其中包含一個可以長時間保持狀態(tài)的存儲單元,這樣可以確保結構更準確地提取情感信息.筆者在研究CNN和LSTM的基礎上,將這兩種框架的部分結構結合在一起,CNN僅提取本地特征,而LSTM是一種網(wǎng)絡類型,其網(wǎng)絡內存可以記住輸入中的先前數(shù)據(jù),并根據(jù)該知識做出決策.因此,LSTM更適合直接輸入文本,因為句子中的每個單詞都具有基于周圍單詞的含義.充分利用了它們各自的優(yōu)勢,彌補了單個網(wǎng)絡框架的缺陷,并通過實驗證明了該網(wǎng)絡模型對提高文本情感分析具有較為高效的作用.
CNN是卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network)的簡稱,它本質上是一個多層感知機.該模型主要由3個部分構成:卷積層、池化層和全連接層(輸出層).結構如圖1所示.
圖1 CNN模型結構
它是一個具有多個隱層的人工神經(jīng)網(wǎng)絡.卷積和池化是網(wǎng)絡中的最關鍵的操作,也是網(wǎng)絡進行局部和全局特征提取的主要方式.CNN采用梯度下降法,通常都能夠得到最優(yōu)解,經(jīng)過多次的訓練調整提高網(wǎng)絡的參數(shù)的合理性.
在處理時間序列問題上,無論是分類還是預測的問題,循環(huán)神經(jīng)網(wǎng)絡(RNN)都有著很好的優(yōu)勢.它的神經(jīng)單元經(jīng)過運算輸出結果后,繼續(xù)將其作為下一個單元的輸入并循環(huán)往復,這樣可以有效利用前面的信息.在文本處理以及情感分析的問題上,循環(huán)神經(jīng)網(wǎng)絡能夠貫穿全文,利用上下文的信息,從而使分類問題變得更加精準.然而,傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡難以對長文本進行處理,因其容易造成梯度爆炸和消失的問題.
長短時記憶網(wǎng)絡(Long Short Term Memory Network,LSTM),是一種改進之后的循環(huán)神經(jīng)網(wǎng)絡,可以解決RNN無法處理長距離的依賴的問題,在涉及長時間滯后的任務上,其性能將優(yōu)于RNN.
LSTM網(wǎng)絡結構由4個主要部分組成:輸入門、自循環(huán)鏈接、遺忘門和輸出門.
對于輸入門i、遺忘門f和輸出門o,在t時刻分別有如下操作:
it=σ(Wixt+Uiht-1),
(1)
ft=σ(Wfxt+Ufht-1),
(2)
ot=σ(Woxt+Uoht-1),
(3)
(4)
(5)
ht=ot·tanh(ct).
(6)
其中Wi、Wf、Wo、Wc、Ui、Uf、Uo、Uc均為權重矩陣,網(wǎng)絡結構如圖2所示.
圖2 LSTM模型結構
LSTM-CNN 模型由一個初始LSTM層構成,它將接收詞向量輸入矩陣作為輸入,LSTM層為原始輸入生成一個新的編碼.然后將LSTM層的輸出緊接著輸入到期望可以提取局部特征的卷積層中.最后卷積層的輸出將被匯集到一個較小的緯度,最終輸出為正或負標簽.它的結構如圖3所示.
圖3 LSTM-CNN組合網(wǎng)絡
對于情感分析來說,英文和中文存在著差別,即英文一般都是以單詞來表達意思,而中文則以詞組來表達情感.所以在進行中文情感分析之前,首先得對數(shù)據(jù)集進行預處理,即對句子進行分詞,去除無用符號和停用詞等,其次將處理好的文本用詞向量表示.
Word2Vec是一個非常有效的工具,可以在無須人工干預的情況下提取特定域的功能.另外,對于太小的文本或單個詞語,它都可以很好地工作.通過提供龐大的語料庫上下文并使用Word2Vec,可以創(chuàng)建具有正確意義的詞語并在大型數(shù)據(jù)集上更快地運行.
單詞含義是深度學習的最終視角,使用Word2Vec對較大的實體進行分類可以完全滿足單詞的含義.在提出的方法中,數(shù)據(jù)集是在向量上訓練的.具有相同情感標簽的單詞具有相同的向量,因此可以輕松指定單詞相似度.
該網(wǎng)絡由以下3個部分組成:
1)卷積神經(jīng)網(wǎng)絡的輸入矩陣.所有的詞向量都被連接成二維矩陣,作為卷積神經(jīng)網(wǎng)絡的輸入矩陣.
2)卷積神經(jīng)網(wǎng)絡.在本文模型中,由4層卷積層構建卷積神經(jīng)網(wǎng)絡模型,以提取句子中的重要特征信息.卷積由卷積內核執(zhí)行.對于長度為l的內核,有:
ci=f(ω·xii+l-1+b).
(7)
式中,ω∈Rl×d是內核的權重矩陣,xii+l-1被用于內核嵌入基質的字.而對于長度為n的句子,則得到特征向量c=[c1,c2,…,ci,cn].
(8)
該模型訓練的損失函數(shù)是通過反向傳播算法更新參數(shù)的形式得到的,損失函數(shù)如式(9)所示:
(9)
筆者使用電子商務網(wǎng)站的產品評論為數(shù)據(jù)集,共20 065條數(shù)據(jù),使用數(shù)字1代表積極情緒,數(shù)字0代表消極情緒.其中,積極評價數(shù)據(jù)10 212條,消極評價數(shù)據(jù)9 853條.模型中,文本長度為29,詞向量維度為128,Adam的學習率為0.002,dropout 為0.5,批次大小設置為100.
為了驗證模型的性能,本次實驗另外訓練了兩種其他模型作為對比數(shù)據(jù),分別是CNN和LSTM模型,通過對比各個模型的準確率(accuracy)、精確率(precision)、召回率(recall)和F-measure的值來判斷優(yōu)化程度.
實驗結果如表1所示.
表1 模型測試結果
通過模型 1 和模型 2 的實驗對比,發(fā)現(xiàn)CNN模型在處理文本的各方面均優(yōu)于LSTM模型.
對以上3種實驗結果進行分析,LSTM-CNN模型相比其他兩種單個模型,在對評論文本情感分析上有著更好的表現(xiàn),它的F-measure值均高于其他兩種模型.
綜上所述,針對文本情感分析問題,在研究了CNN和LSTM模型的基礎上,筆者提出的基于LSTM-CNN算法的文本情感分析模型在各方面數(shù)據(jù)顯示其具有較為優(yōu)異的處理能力,實驗結果驗證了該模型的可行性和有效性.將來,可以嘗試將模型與其他自然語言處理技術串聯(lián)起來,以期在NLP問題中獲得更好的結果.