?

結合卷積神經網絡和最小門控單元注意力的文本情感分析

2020-09-09 03:13徐菲菲蘆霄鵬
計算機應用與軟件 2020年9期
關鍵詞:準確率向量卷積

徐菲菲 蘆霄鵬

(上海電力大學計算機科學與技術學院 上海 200090)

0 引 言

隨著互聯網的廣泛應用,越來越多的網絡用戶在各種論壇貼吧、微博,以及社交軟件如大眾點評、豆瓣等網絡平臺上通過對熱點事件、新聞人物、流行產品進行帶有個人情感色彩的評論來表達自己的情感和態度,在網絡上表達自己的情感和態度儼然已成為一種重要的生活方式。作為情感觀念的載體,通過對網絡中的文本信息的挖掘,能夠更全面地分析網絡用戶的行為,例如可以直觀地得到網絡用戶對于某熱點事物態度的變化,可以準確得到網絡用戶對某產品的滿意度。

情感是人類賴以生存的首要需求,也是人類參與日常社交生活的重要紐帶。由于文化背景以及成長環境的不同,不同的個體對同一事物會產生多樣的情感傾向,通過對文本進行情感分類可以理解網絡文本中的情感傾向,可以分為積極、消極情感或者更加細化的情感類別[1]。文本情感分析可以歸為觀點挖掘之一,通過自然語言處理結合深度學習技術,可以對帶有個人情感色彩的文本進行情感極性分類,對主觀性情緒進行歸納與推理[2]。

隨著深度學習逐漸成為自然語言處理領域的研究熱點,利用基于情感詞典匹配的深度學習方法解決情感分析問題的技術也飛速發展。眾多學者對文本情感分析的情感特征進行了一定的優化[3]。Zhang等[4]提出了一種基于情感詞典的策略,成功對在線用戶生成的文本進行了情感分類。Zhang等[5]提出了基于情感詞典的中文微博文本情感分析方法,通過計算權重來獲取微博文本的情感值,進而進行文本情感分類。Wu等[6]通過利用Web資源構建了一個易于維護和擴展的情感詞典來幫助社交媒體內容進行情感分析。

通過機器學習方法進行神經網絡模型訓練,得到相應的分類器,利用訓練好的情感分類器可以對相應的數據集進行情感極性分類。許多學者將CNN、RNN等神經網絡廣泛應用于詞性標注、機器翻譯和圖像處理等領域。Hu等[1]利用循環神經網絡對英文文本進行了多模態融合情感分析。Kim[7]提出了一種改進的CNN進行文本分類。Zhuang等[8]采用背向傳播方法改進了所提出的循環隨機游走網絡模型,成功地對Twitter的博文進行了情感分類,表現出較好的性能。白靜等[9]通過BiLSTM遞歸神經網絡提取特征并結合上下文語義對新浪微博中文文本情感進行了立場檢測。胡榮磊等[10]將循環神經網絡中的長短期記憶網絡和前饋注意力模型相結合,提出了一種文本情感分類方案。陳珂等[11]利用提出的多通道卷積神經網絡模型,對中文微博文本進行了情感分類。

CNN、RNN等神經網絡在自然語言處理中的情感分析領域取得了較好的效果,但是仍然存在一些問題。比如CNN最初被廣泛應用于圖像處理領域,在處理文本序列問題上并不是十分適用;雖然循環神經網絡RNN在自然語言處理的運用中取得良好的效果,但其具有長期依賴和可能面臨的問題,如梯度爆炸或梯度消失[12]。為了解決這一系列的問題,LSTM和GRU等眾多基于標準循環神經網絡的變體被陸續提出,并在情感分析領域成功應用。LSTM能夠記憶序列的上下文,對于文本序列情感特征提取具有較為明顯的優勢,能夠解決梯度消失的問題。作為LSTM的變體,GRU模型比標準的LSTM模型結構更為簡單、參數更少、收斂速度快,因而訓練時間更短,用于泛化的數據量更少。在最新的文本分類研究中發現,最小門控單元MGU相比于GRU具有結構更簡單、參數更少、訓練時間更少等優點,非常適用于時間依賴性很強的任務,同時使用參數較少的MGU模型,可以減少選擇參數的工作量,提高模型的泛化能力[13]。

MGU模型沒有充分學習文本在時間上產生的先后順序等序列相關特征,而卷積神經網絡CNN通過卷積運算,數據的相關特征可以被提取,強化原始數據中的某些特征,從而能夠降低來自噪聲的影響。例如當識別一幅圖片時,人的大腦不是對整幅圖片直接進行識別,而是通過圖片中的每一個特征先進行識別,然后再對所有局部特征進行深層次的整體識別,最后得到整幅圖片的相關信息。

Attention機制通過掃描全局文本獲得注意力資源重點投入的區域,篩選出高價值信息,因此被廣泛應用于自然語言處理、圖像識別等多種深度學習任務中。在自然語言處理中,Attention經常被用來和各類神經網絡相結合,進而幫助神經網絡重點關注文本序列中一些重要信息。

因此,本文結合CNN與最小門控單元MGU并引入注意力機制的網絡結構,提出一種新的注意力模型C_MGU。該模型將CNN中的卷積層和最小門控單元MGU以統一的架構進行組合,并將注意力機制加入在卷積層和MGU層之間,不僅體現了CNN模型和最小門控單元MGU各自的優勢,還利用注意力機制進一步優化了語義特征表示。實驗結果表明,該模型不僅能夠突出文本的關鍵信息,還能挖掘更豐富的語義,在文本的情感分類上有較好的表現。

1 帶有門結構的循環神經網絡

1.1 門控單元LSTM和門控單元GRU

圖1 LSTM記憶單元

由于LSTM中存在較多的學習參數設置,訓練時間較長,GRU作為LSTM的一種改良版變體被提出[15]。與LSTM相比,GRU內部少了1個門控單元,參數更少,所以運算時間與收斂速度有較大提升。其結構如圖2所示。

圖2 GRU記憶單元

GRU作為LSTM的變種,擁有更簡單的結構,只有更新門和重置門,即圖2中的zt和rt。更新門的作用類似于LSTM的遺忘門和輸入門,其負責決定對信息的篩選和記錄。重置門的作用是決定對過去狀態的信息遺忘的程度。二者的本質區別在于GRU對當前狀態信息的產生是否受過去信息產生的影響具有選擇性,其有更深層次的理解,增加了信息的聯系程度。在t時刻,對于給定的輸入xt,GRU的隱藏輸出ht計算過程如下:

rt=σ(Wr·[ht-1,xt])

(1)

zt=σ(Wz·[ht-1,xt])

(2)

(3)

(4)

1.2 最小門控單元MGU

最小門控單元MGU是一種簡化的循環神經網絡結構單元,在所有門控單元中門數最少,只有一個遺忘門,將輸入門合并入遺忘門,結構如圖3所示。

圖3 MGU記憶單元

可以看出,MGU顯然比LSTM和GRU的結構更簡單,LSTM有4組參數需要確定,GRU需要有3組參數,但是MGU只需要有2組參數,因此MGU是所有用于RNN的門控單元中,結構更簡單、參數更少、訓練更快的循環神經網絡。

2 情感分析模型

2.1 模型設計

結合CNN和MGU各自的優勢,為了實現文本情感分析的目標,本文將CNN與最小門控單元MGU進行結合并引入注意力機制的網絡結構。模型結構如圖4所示。首先,模型通過CNN的卷積層模塊來捕捉提取文本的初步特征表示;然后利用Attention機制和最小門控單元MGU模塊來對文本的初步特征表示進行關鍵信息的加強和進一步的優化;最后在MGU的隱藏層生成最終的文本深層特征表示,并將其輸入到Softmax層進行回歸處理,完成對文本的分類處理。

圖4 GRU-Att模型

2.2 算法設計

本文提出的網絡模型的具體流程是:首先通過第一層的CNN卷積層對輸入的文本數據進行初步特征提??;然后通過第二層的注意力機制,對卷積層提取到的初步特征進行信息的篩選以及關鍵信息的加強即li;最后在MGU的隱藏層生成文本的深層特征表示Yi,并輸入到Softmax中進行回歸處理,完成對文本數據的情感分類。

2.2.1卷積層特征提取

本文模型的第一個模塊為利用卷積神經網絡CNN的卷積層把長度為K的一組序列轉化為長度為K的輸出序列,利用CNN的卷積層確保輸入MGU的序列向量的合理長度以及原始語序,MGU神經網絡可以把長度為K的序列轉換為任意一組序列輸出。一維卷積核在文本序列上滑動,過濾器提取不同位置的文本局部特征表示,令wj∈RD表示句子中第j個單詞的D維詞向量,x∈RL×D表示長度為L的輸入句子,令過濾器的長度為K,f∈RK×D為用于卷積運算的過濾器。對于一個句子中的每個位置i,具有K個連續單詞向量的窗口區域向量si表示為:

si=[wi,wi+1,…,wi+k-1]

(5)

卷積層針對局部的數據窗口進行卷積計算,產生特征映射c∈RL-K+1,計算公式如下:

ci=ReLU(si°f+θ)

(6)

式中:ci為特征映射元素;° 表示元素級相乘;θ表示偏置項;ReLU函數是非線性激活函數。采用N個相同長度的過濾器來生成特征矩陣:

(7)

2.2.2注意力層

隨著深度學習的發展,注意力機制被廣地應用于自然語言處理、圖像識別處理等領域,并且取得了突出的成就[16]。注意力機制其實就是幫助網絡模型把握重點信息而忽略無關信息,可以更好地把握文本信息的重點,有助于對文本信息的語義挖掘。注意力機制和人類的視覺注意力有很大的相似性,通過對信息的全局掃描獲得重點關注區域,獲取目標細節信息。例如在過馬路時,人們首先看的是交通信號燈的顯示,而不是關注人群中的某一個人。注意力機制極大地提高了信息處理的效率和準確率[17]。本文模型中每一個輸出元素如下:

yi=F(Ci,y1,y2,…,yi-1)

(8)

(9)

(10)

eij=score(si-1,hj)=VT·tanh(Whj+Usi-1+b)

(11)

式中:yi為i時刻要生成的詞;上下文向量Ci是語句x1,x2,…,xj在經過卷積層卷積運算得到的;S(xj)表示整個序列的隱藏向量;T表示文本序列的輸入長度;aij表示注意力權重系數;eij是score函數,定義目標單詞應該考慮給每個輸入隱藏的多大的權重,相當于使用了一個全連接層;VT、W和U是權重參數矩陣;b為偏移量。由Attention機制形成的語義編碼會作為MGU模塊的輸入。

2.2.3MGU層

在Attention機制后,本文采用的是簡化的循環神經網絡結構單元,即最小門單元MGU,與LSTM和GRU相比,有著更少的參數[18]。在t時刻,MGU模型中,計算當前的狀態為:

(12)

遺忘門控制上一時刻的記憶遺忘程度以及附加了多少新信息,遺忘門的表示為:

ft=σ(Wf+Ufht-1+bf)

(13)

(14)

式中:xt是時刻的輸入。

MGU相比于LSTM和GRU有著更少的參數,更簡單的結構,收斂速度更快。通過上述模型,可以獲得一種文本深層次特征表示,最后采用Softmax進行回歸獲得最終的文本分類結果。

3 實 驗

3.1 數據集

對于情感分類任務,本文選用公開的IMDB、Sentiment140數據集。本文將數據集分別按照正負平衡的原則選取20 000條數據,并按照8∶2的比例分為訓練集和測試集。

3.2 實驗設置

本文采用上述兩個數據集進行預訓練,單詞向量采用Word2vec進行詞向量訓練,詞向量的維度為100,由此可以得到文本詞語的向量表示。為了避免在訓練過程中出現的不在詞語向量表中的詞語對模型造成的干擾,采用隨機初始化。由于卷積層模塊要求的是固定長度的輸入,所以本文將文本長度限制在MaxLen內,因此可以得到固定長度輸入的文本語句。另外本文設置區域序列長度為5,過濾器的數量設置為2。

對于基于注意力機制的C_MGU模型,本文定義上下文向量為100維,MGU的隱藏單元數為100,學習率為0.01,batch-size為20。經過注意力機制后的MGU層隱藏層狀態作為Softmax的輸入,采用隨機梯度下降法作為優化方法。

實驗采用Keras深度學習框架,底層為TensorFlow,TensorFlow平臺集成了CNN、RNN,以及LSTM、GRU、MGU等深度學習模型,使用Python語言編程實現。

3.3 實驗結果分析

采用準確率、F1值作為評價指標,將本文模型與文本情感分類常用模型進行對比。準確率與F1值的計算如下:

(15)

式中:m為所有預測正確的樣本數;M為總的樣本數。

(16)

3.3.1參數設置比較實驗

處理詞向量作為較為基本的文本處理任務,詞向量維度的大小對模型分類準確率有著重要的影響,當詞向量維度越大時,包含的詞語越多,信息量越大,但是會淡化詞與詞之間的關系,詞向量維度太小會造成無法區分詞語的結果。因此詞向量維度的選擇顯得尤為重要,通過對本文提出的Att-C_MGU以及CNN、LSTM、GRU等模型在詞向量維度不同時在數據集IMBD上的表現,從而確定本文關于詞向量維度的選擇問題。詞向量維度不同時對模型在數據集IMBD上分類效果的具體影響如圖5所示。

圖5 詞向量維度對模型準確率的影響

可以看出,采用Word2Vec對詞向量進行訓練,當詞向量維度小于100時,所有模型均表現出上升的趨勢,上升幅度略有不同,當詞向量的維度大于100時,所選模型在數據集上表現的分類性能有的顯示為波動,有的則上升幅度較小,有的模型則表現出不能很好地學習詞向量的特征信息,反而有所下降,所以本文選取詞向量維度為100。

確定詞向量的大小后,本文對于模型迭代次數的選擇也通過實驗來進行說明。迭代次數對模型的分類準確率也有重要的影響,迭代次數越多,模型的分類準確率越高,效果越好,但是當迭代超過一定的次數時,模型的泛化能力會下降,產生過擬合的結果。

迭代次數的影響如圖6所示??梢钥闯?,隨著迭代次數的增加,模型準確率會逐漸增加,當迭代次數為30左右時,準確率趨于穩定,變化幅度較為平緩,表現的效果較好。

圖6 迭代次數對模型準確率的影響

3.3.2注意力機制影響實驗

首先對獲取的IMBD和Sentiment140數據集通過去除標點符號、停用詞等進行預處理,為后續實驗減少工作量;然后采用Word2vec對詞向量進行訓練,將訓練后的詞向量輸入本文提出的注意力C_MGU模型;最終將輸出結果與已經標注好的數據進行比較從而表明本文模型的有效性。為了說明引入注意力機制的必要性和作用,在IMBD與Sentiment140數據集上比較了本文模型與不引入注意力機制的C_MGU的性能,實驗結果如圖7所示??梢钥闯?,在情感分析算法中引入注意力機制可以在一定程度上提升算法的性能,在IMBD、IMBD2、Sentiment140數據集分類上的準確率分別提升2.8%、2.3%、1.7%,由此說明Attention機制對新模型的必要性。

圖7 注意力機制的影響

3.3.3有效性對比實驗

通過對IMBD、Sentiment140數據集文本進行情感分析,將本文模型與傳統文本分類方法CNN、SVM、LSTM、GRU等模型進行對比,采用準確率、F1值作為評價指標,來驗證本模型的有效性,具體對比情況如圖8、表1和表2所示。

圖8 不同數據集上模型準確率對比

表1 不同模型的準確率對比

表2 不同模型的F1值對比

由表1和圖8可以看出,本文提出的基于注意力C_MGU模型在各個數據集上的準確率表現均優于傳統的分類模型。與GRU模型相比,由于使用的是最簡門控單元MGU模塊,參數較少,收斂速度較快,并且引入了Attention機制,在各個數據集的準確率上比GRU高1.8%、4.6%;與Attention-LSTM模型相比較,雖然二者都引入了Attention機制,但是第二層分別是LSTM層和MGU層,也從正面證實MGU與LSTM相比,雖然在準確率上相差無幾,但是在時間代價消耗上明顯優于LSTM,即MGU比LSTM模型收斂速度更快。由表2可以看出本文模型表現更為優秀。

綜上所述,在各個數據集分類上的準確率以及F1值上,本文提出的基于注意力C_MGU皆優于傳統模型。

4 結 語

本文提出一種基于注意力C_MGU混合神經網絡模型,通過對IMBD影評數據和Sentiment140數據進行情感分析實驗,從準確率、F1值上與其他主流文本分類方法對比,結果表明該模型對文本進行情感分析是有效的。MGU與GRU、LSTM相比,由于其計算量小、收斂速度快等優勢,在文本情感分析領域具有一定的優勢。

在本文的研究中,情感極性只有積極和消極兩種,情感類別沒有進行細化,情感強度問題也沒有考慮;在對Sentiment140數據進行數據處理時,舍棄了一些只有表情符號或者只有圖片并沒有文字說明的數據,無法從多角度進行全面分析,對模型造成了一定的局限性。下一步將對多模態文本情感分析進行深入的研究。

猜你喜歡
準確率向量卷積
向量的分解
基于3D-Winograd的快速卷積算法設計及FPGA實現
一種并行不對稱空洞卷積模塊①
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
聚焦“向量與三角”創新題
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合