999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CNN和BiLSTM網絡特征融合的文本情感分析

2018-12-14 05:26:24董紅斌
計算機應用 2018年11期
關鍵詞:分類利用特征

李 洋,董紅斌

(哈爾濱工程大學 計算機科學與技術學院,哈爾濱 150001)(*通信作者電子郵箱852221609@qq.com)

0 引言

近年來,隨著互聯網的高速發展,每天不斷地產生大量文本、音頻、圖片、視頻等數據,其中文本信息的數據量最大,但文本信息雜亂無章,人工很難區分和整理,因此,對文本數據進行分類變得越來越重要。最初深度學習(Deep Learning)在圖像和語音識別領域取得了優異成績,而近年來深度學習在文本分類中的應用也越來越廣泛,與傳統的文本分類方法,如樸素貝葉斯、K最近鄰(KNearest Neighbor,KNN)和支持向量機(Support Vector Machine, SVM)等算法相比,不需要人工設計特征[1],而是利用深度學習模型自動提取文本特征,顯著提高了文本分類的速度,并取得比傳統文本分類更好的分類效果。

深度學習是機器學習中的一條重要分支,深度學習是利用多重非線性變換結構對數據進行高階抽象的算法[2]。最近幾年,深度學習算法在自然語言處理領域取得了十分出色的成果,其中卷積神經網絡(Convolutional Neural Network, CNN)充分利用多層感知器的結構,具備很好的學習復雜、高維和非線性映射關系的能力,在圖像識別任務和語音識別任務中得到廣泛的應用[3-4],并取得很好的效果。Kalchbrenner等[5]提出把CNN應用于自然語言處理,并設計了一個動態卷積神經網絡(Dynamic Convolution Neural Network, DCNN)模型,以處理不同長度的文本; Kim[6]提出的英文文本分類的模型,將經過預處理的詞向量作為輸入,利用卷積神經網絡實現句子級別的分類任務。雖然卷積神經網絡在文本分類中取得了巨大的突破,但是卷積神經網絡更加關注局部特征而忽略詞的上下文含義,這對文本分類的準確率有一定的影響,所以本文利用雙向長短時記憶(Bidirectional Long Short-Term Memory, BiLSTM) 網絡解決卷積神經網絡模型忽略詞上下文含義的問題。

神經網絡在特征的自動學習和表達中發揮越來越重要的作用,對于序列化輸入,循環神經網絡(Recurrent Neural Network, RNN)能夠把鄰近位置信息進行有效整合[7-8],處理自然語言處理的各項任務。RNN的子類長短期記憶網絡模型(Long Short-Term Memory, LSTM)[9-10],對序列信號進行建模的神經網絡模型,可以作為復雜的非線性單元用來構建大型的神經網絡結構,同時能避免RNN的梯度消失問題,具有更強的“記憶能力”,能夠很好地利用上下文特征信息和對非線性關系進行擬合的能力,保留文本的順序信息。RNN有多種變種循環神經網絡模型,主要應用于文本分類的有雙向循環神經網絡(Bidirectional RNN)[11],由于文本中詞的語義信息不僅與詞之前的信息有關,還與詞之后的信息有關,兩個RNN左右傳播組合而成的雙向循環神經網絡能進一步提高文本分類的準確率。

本文的主要貢獻如下:

1) 利用BiLSTM代替傳統RNN和LSTM,BiLSTM解決傳統RNN中梯度消失或梯度爆炸問題;同時一個詞的語義與它之前信息和之后信息都有關,而BiLSTM充分考慮詞在上下文的含義,克服了LSTM不能考慮詞之后信息的弊端。

2) 將卷積神經網絡和BiLSTM進行融合,既能利用卷積神經網絡提取局部特征的優勢,又能利用雙向長短時記憶網絡兼顧文本序列全局特征的優勢,利用BiLSTM解決卷積神經網絡在文本分類中忽略詞的上下文含義的問題,提高了特征融合模型在文本分類的準確率。

1 詞向量

1.1 詞嵌入

深度學習方法進行文本分類的第一步是將文本向量化,利用詞向量表示文本,作為卷積神經網絡和BiLSTM網絡模型的輸入。傳統的文本表示方法是基于向量空間模型或one-hot表示:向量空間模型中向量維度與詞典中詞的個數線性相關,隨著詞數增多容易引起維度災難;而one-hot雖然簡單但忽略了詞之間的語義相關性。詞向量解決了向量空間模型和one-hot的問題,將高維稀疏的特征向量映射為低維稠密的詞向量,有效避免了維度災難的發生,且可以直接計算詞語之間的語義相關性。Bengio等[12]提出用神經網絡概率語言模型(Neural network Probabilistic Language Model,NPLM)來處理文本信息。Mikolov等[13-14]基于NNLM(Neural Network Language Model)提出Word2vec模型,并給出了利用CBOW(Continuous Bag-Of-Words)和Skip-gram兩種模型構建詞向量。與NNLM不同的是Word2vec不局限于利用前n-1個單詞來預測第n個單詞,而是以n為大小的窗口來計算窗口中心詞出現的概率,實現了利用上下文預測。CBOW和Skip-gram兩個都是以Huffman樹作為基礎,Huffman樹中非葉子節點存儲的中間向量的初始化值是零向量,而葉子節點對應詞的詞向量是隨機初始化的。CBOW是根據上下文預測一個詞,訓練過程中由三部分構成,如圖1所示,分別為:輸入層(input)、映射層(projection)和輸出層(output);輸入層為詞W(t)周圍的n-1個單詞的詞向量,如果n取5,則詞W(t)的前兩個詞為W(t-2),W(t-1),后兩個詞為W(t+1),W(t+2),它們對應的向量記為V(W(t-2)),V(W(t-1)),V(W(t+1)),V(W(t+2)),從輸入層到映射層將4個詞的向量形式相加,而從映射層到輸出層需構造Huffman樹,從根節點開始,映射層的值沿著Huffman樹進行logistic分類,并不斷修正各中間向量與詞向量,得到詞W(t)所對應的詞向量V(W(t))。

圖1 CBOW模型

Skip-gram模型與CBOW剛好相反,如圖2所示,同樣由輸入層、映射層和輸出層構成。Skip-gram輸入是當前詞W(t)的向量形式,輸出是周圍詞的向量形式,通過當前詞來預測周圍的詞,如果上下文窗口大小設置為4,已知中間詞W(t)所對應的向量形式為V(W(t)),利用V(W(t))預測出周圍4個詞所對應的向量形式,Context(w)={V(W(t+2)),V(W(t+1)),V(W(t-1)),V(W(t-2))},Skip-gram模型計算周圍詞向量是利用中間詞向量V(W(t))的條件概率值來求解,公式如下:

P(V(W(i))|V(W(t)))

(1)

其中V(W(i))∈Context(w)。

圖2 Skip-gram模型

1.2 詞向量相似度

通過將詞向量與向量空間模型和one-hot對比,發現詞向量維度由上千維稀疏向量變為了低維稠密的向量形式,同時詞向量中包含了自然語言中的語義和語法關系,通過Skip-gram模型訓練得到的詞向量可以更加容易地計算詞語之間的語義相關性,利用詞向量之間余弦距離表示詞語之間的關系,余弦相似度值越大,詞語間關系越大,余弦相似度值越小,詞語間關系越小。如圖3所示是利用如家酒店3 000條評論分詞、去除停用詞等預處理后計算與“房間”這個詞最相關的10個詞及余弦相似度值。

圖3 詞向量語義相似度

2 CNN與BiLSTM特征融合模型

2.1 卷積神經網絡模型

本文利用圖4所示的卷積神經網絡模型提取局部特征。卷積神經網絡進行文本分類時,首先將詞W(i)利用word2vec轉化為對應的詞向量V(W(i)),并將由詞W(i)組成的句子

映射為句子矩陣Sj。

如圖4所示,其中V(W(i))∈Rk,代表句子矩陣Sj中第i個詞向量為K維詞向量,Sj∈Rm×k,m代表句子矩陣Sj中句子的個數,句子矩陣Sj作為卷積神經網絡語言模型的嵌入層的向量矩陣。其中將句子矩陣表示為Sj={V(W(1)),V(W(2)),…,V(W(m))}。

圖4 卷積神經網絡模型示意圖

卷積層用大小為r×k的濾波器對句子矩陣Sj執行卷積操作,提取Sj的局部特征;

ci=f(F·V(W(i:i+r-1))+b)

(2)

其中:F代表r×k的濾波器,b代表偏置量;f代表通過RELU進行非線性操作的函數;V(W(i:i+r-1))代表Sj中從i到i+r-1共r行向量;ci代表通過卷積操作得到的局部特征。隨著濾波器依靠步長為1從上往下進行滑動,走過整個Sj,最終得到局部特征向量集合C:

C={c1,c2,…,cr-h+1}

(3)

對卷積操作得到的局部特征采用最大池化的方法提取值最大的特征代替整個局部特征,通過池化操作可以大幅降低特征向量的大小;

di=maxC

(4)

最后將所有池化后得到的特征在全連接層進行組合輸出向量U:

U={d1,d2,…,dn}

(5)

最后將全連接層輸出的U輸入softmax分類器中進行分類,模型利用實際分類中的標簽,通過反向傳播算法進行參數優化。

P(y|U,W,b)=softmax(F·U+b)

(6)

2.2 BiLSTM模型

由于RNN能學習任意時間長度序列的輸入,但隨著輸入的增多,難以學習到連接之間的關系,產生長依賴問題,即對前面時間的一些節點的感知力下降,進而會發生梯度消失或者梯度爆炸現象。LSTM能解決RNN以上的問題,其核心是利用記憶細胞記住長期的歷史信息和用門機制進行管理,門結構不提供信息,只是用來限制信息量,加入門其實是一種多層次的特征選擇方式。如圖5所示,門機制中各個門和記憶細胞的表達式如下:

LSTM遺忘門表達式:

Zf=sigmoid(Wf·[V(W(i),ht-1]+bf)

(7)

LSTM輸入門表達式:

Zi=sigmoid(Wi·[V(W(i)),ht-1]+bi)

(8)

Z=tanh(Wc·[V(W(i)),ht-1]+bc)

(9)

LSTM細胞更新表達式:

Ct=Zf*Ct-1+Zi*Z

(10)

Zo=sigmoid(Wo·[V(W(i)),ht-1]+bo)

(11)

LSTM最后的輸出表達式:

ht=Zo*tanh(Ct)

(12)

其中:Zf、Zi、Z、Zo分別代表遺忘門,輸入門,當前輸入單元狀態和輸出門;ht-1、ht分別代表前層隱層狀態和當前隱層狀態;Wf、Wi、Wc、Wo分別代表遺忘門的權重矩陣、輸入門的權重矩陣、當前輸入單元轉態權重矩陣和輸出門的權重矩陣;bf、bi、bc、bo分別代表遺忘門偏置項、輸入門偏置項、當前輸入單元偏置項和輸出門偏置項。

圖5 LSTM單元結構圖

圖6所示為本文所用的BiLSTM模型。雖然LSTM解決了RNN會發生梯度消失或者梯度爆炸的問題,但是LSTM只能學習當前詞之前的信息,不能利用當前詞之后的信息,由于一個詞的語義不僅與之前的歷史信息有關,還與當前詞之后的信息也有著密切關系,所以本文利用BiLSTM代替LSTM,既解決了梯度消失或者梯度爆炸的問題,又能充分考慮當前詞的上下文語信息。利用BiLSTM對句子矩陣Sj={V(W(1)),V(W(2)),…,V(W(m))}學習,得到的文本特征具有全局性,充分考慮了詞在文本中的上下文信息。

圖6 BiLSTM模型

2.3 本文特征融合模型

如圖7所示,本文的特征融合模型由卷積神經網絡和雙向長短記憶網絡(BiLSTM)融合組成。卷積神經網絡部分第一層是詞嵌入層,將詞嵌入層的句子矩陣作為輸入,矩陣的列是詞向量的維度,矩陣的行為sequence_length;第二層是卷積層,進行卷積操作,提取局部特征,文獻[15]對基準卷積神經網絡的文本分類參數進行分析,當詞向量100維時,濾波器為3×100,4×100,5×100會取得較好的分類效果,所以本文分別選用3×100,4×100,5×100大小濾波器各128個,步長stride大小設置為1,padding為VALID,進行卷積運算,通過卷積操作來提取句子的局部特征;第三層進行最大池化操作,提取關鍵特征,舍棄冗余特征,生成固定維度的特征向量,將三個池化操作輸出的特征拼接起來,作為第一層全連接層輸入特征的一部分。

圖7 CNN與BiLSTM特征融合模型

BiLSTM部分第一層是詞嵌入層,將嵌入層的句子矩陣作為輸入,每一個詞向量維度設置為100維;第二層、第三層均為隱藏層,隱藏層大小均為128,當前輸入與前后序列都相關,將輸入序列分別從兩個方向輸入模型,經過隱含層保存兩個方向的歷史信息和未來信息,最后將兩個隱層輸出部分拼接,得到最后BiLSTM的輸出,代碼如下:

output_blstm=rnn.static_bidirectional_rnn(fw,bw,inputs)

利用BiLSTM模型提取詞的上下文語義信息,提取文本中詞的全局特征。本文在第一個全連接層(Fully Connected layers, FC)前,使用tensorflow框架中的concat()方法對CNN和BiLSTM輸出的特征進行融合,融合代碼如下:

output=tf.concat([output_cnn,output_blstm],axis=1)

將融合后的特征保存在output中,作為第一個全連接層的輸入,在第一個全連接層與第二個全連接層之間引入dropout機制,每次迭代放棄部分訓練好的參數,使權值更新不再依賴部分固有特征,防止過擬合,最后輸入到softmax分類器輸出分類結果,本文softmax回歸中將x分類為類別j的概率為:

(13)

3 實驗與分析

3.1 實驗環境

本文實驗環境如下:操作系統為Ubuntu16.04,CPU是Intel Core i5-7500,GPU為GeForce GTX 1050Ti,顯卡驅動為NVIDIA-SMI 384.111,內存大小為DDR3 8 GB,開發環境為Tensorflow 1.2.1,開發工具使用的是PyCharm。

3.2 實驗數據

本文數據集分為兩個部分:第一部分實驗數據為搜狗實驗室的全網新聞數據(SogouCA),來自多家新聞站點近20個欄目的分類新聞數據,SogouCA數據為2012年6月— 7月期間國內、國際、體育、社會、娛樂等18個頻道的新聞數據,提供URL和正文信息,經過預處理后,數據大小為2.3 GB左右,將其利用Skip-gram模型訓練得到100維的詞向量; 第二部分數據集是如家酒店的用戶評論數據集,正負樣本各3 000條。其中90%用作訓練集,10%用作測試集。由于SogouCA語料庫規模足夠大能訓練出高質量的詞向量,所以本文利用訓練SogouCA得到的100維詞向量去初始化第二部分的數據集,若第二部分數據集中的詞在SogouCA數據中就將當前詞利用SogouCA訓練得到的詞向量表示,若沒有則采用隨機初始化方式表示。

本文使用word Embedding將文本轉化為低維、稠密的詞向量。圖8是利用T-SNE(T-distributed Stochastic Neighbor Embedding)對如家酒店的用戶評論數據集中1 000個詞在低維空間中的可視化結果,低維空間可視化效果更直觀,相關性越大的數據距離越近,越會聚集在一塊。

圖8 詞向量空間可視化

3.3 實驗參數

實驗參數的選取直接影響最后的實驗結果,表1列出了本文融合模型的卷積部分和單CNN中的參數與對應的參數值。表2列出了本文融合模型的雙向長短時記憶網絡部分和單BiLSTM中的參數與對應參數值。

通過固定參數的方法,分別比較100維、200維的詞向量,滑動窗口大小比較3、4、5、7,滑動窗口數量分別取40、80、128進行比較,dropout的比例對比了0.3、0.5、0.6,L2正則項λ比較了3、5、7對實驗結果的影響,通過對比如上參數對模型準確率的影響,當取表1參數值時CNN模型取得了較好的分類效果。

表1 卷積神經網絡參數

BiLSTM的參數比較了100維、200維的詞向量,層數默認取2層,隱藏層大小對比了128和256,最終發現詞向量100維、隱藏層大小為128時模型分類準確率最高。Adam通過計算梯度的一階矩估計和二階矩估計而為不同的參數設計獨立的自適應性學習率,不斷迭代更新網絡參數,加快模型收斂,所以本文選取Adam作為優化函數。

3.4 實驗結果及分析

為驗證本文提出的CNN和BiLSTM特征融合模型的分類性能,分別將本文特征融合模型與單CNN模型、單BiLSTM模型、傳統機器學習SVM及其他深度學習模型進行對比實驗。

本文首先在第二部分數據集上將本文特征融合模型與單CNN模型和單模型BiLSTM進行了對比,且特征融合模型中CNN和BiLSTM的參數與單CNN模型、單BiLSTM模型中的參數相同,均為表1、表2中的參數值,且學習率均設置為0.001。

表2 BiLSTM模型參數

圖9~10分別給出了單CNN模型、單BiLSTM模型和本文模型的準確率和損失函數變化圖。

圖9 3種模型準確率比較

由圖9對比發現,融合模型在測試集上的收斂速度慢但準確率均高于單CNN、單BiLSTM模型。對比圖10發現,單CNN、單BiLSTM模型的loss值下降到穩定值的速度比融合模型下降到穩定值的速度快,但最終loss值都下降到了一個很低的穩定值,模型都取得較好收斂效果。

圖10 3種模型損失比較

如表3所示,本文所提融合模型的分類準確率比單CNN[15]模型的分類準確率上提升了4.27%,比單BiLSTM模型[16]分類準確率提升3.31%。利用CNN提取文本局部特征,BiLSTM模型提取文本全局特征,將兩種互補模型進行特征融合,取得了比單模型都好的分類準確率。

表3 單模型和融合模型結果對比

由于Sogou數據量過于龐大,本文從Sogou數據集中只選取了汽車和體育兩個類別,且從每個類別隨機抽取全部數據的一部分進行實驗,本文利用Sogou新聞數據集中的汽車和體育兩類數據集各3 000條,其中90%為訓練集,10%為測試集。

本文不僅與單模型進行了對比,還與傳統的機器學習算法SVM及其他的深度學習模型進行對比,實驗結果如表4所示。文獻[15]將文本特征提取、文本特征表示和歸一化后,輸入到SVM中學習分類決策函數,基于結構風險最小化,轉化為二次型尋優問題,求最優值,雖然取得了較好的分類效果,但本文融合模型分類效果明顯優于SVM;文獻[18]中提出的Attention Based LSTM模型,通過引入Attention model計算歷史節點對當前節點的影響力權重,有效解決了信息丟失和信息冗余等長期依賴問題,探究了文本上下文對文本分類的影響,提高了文本分類的準確性,但本文所提融合模型在分類準確率上取得了更好分類結果;文獻[19]中Bag of Words文本分類忽略了詞序、語法和句法信息,每個詞相互獨立,而文本模型充分利用了卷積神經網絡模型提取局部特征和BiLSTM兼顧文本序列全局特征取得了優于BOW文本分類的效果, 并與文獻[20]中所提C-LSTM(CNN-LSTM)的CNN和LSTM統一模型相比較,C-LSTM首先通過使用CNN提取文本特征,然后將特征編碼輸入LSTM進行分類,發現本文所提融合模型有效提高了文本分類的準確率。

表4 融合模型與其他模型結果對比

4 結語

本文提出了一種基于卷積神經網絡和BiLSTM網絡的特征融合模型用于文本分類研究,該模型既能利用卷積神經網絡有效提取文本的局部特征,又可以利用BiLSTM兼顧文本的全局特征,充分考慮了詞的上下文語義信息。將本文所提融合模型與單CNN模型、單BiLSTM模型進行了對比實驗,本文所提融合模型分類準確率優于單CNN、單BiLSTM模型。此外本文還與傳統機器學習模型SVM及其他深度學習模型進行了比較,結果表明本文所提特征融合模型在分類準確率上優于對比的模型,本文融合模型有效地提升了文本分類的準確率。然而本文融合模型并未使用深度較深的卷積神經網絡,未來將研究深度較深的卷積神經網絡融合BiLSTM模型對文本分類準確率的影響。

猜你喜歡
分類利用特征
利用min{a,b}的積分表示解決一類絕對值不等式
中等數學(2022年2期)2022-06-05 07:10:50
分類算一算
利用一半進行移多補少
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
利用數的分解來思考
Roommate is necessary when far away from home
數據分析中的分類討論
教你一招:數的分類
主站蜘蛛池模板: 天天躁夜夜躁狠狠躁图片| 国产欧美日本在线观看| 野花国产精品入口| 国产高颜值露脸在线观看| 国产欧美精品专区一区二区| 国产精品v欧美| 欧美性精品不卡在线观看| 亚洲欧美成人综合| 亚洲伊人天堂| 久草国产在线观看| 日本五区在线不卡精品| 亚洲视频免费播放| 亚洲男人的天堂网| 在线免费观看AV| 东京热高清无码精品| 日本免费一区视频| 欧美国产日韩另类| 91国内外精品自在线播放| 老司机精品一区在线视频| m男亚洲一区中文字幕| 67194成是人免费无码| 国产伦精品一区二区三区视频优播| 免费欧美一级| 在线人成精品免费视频| 亚洲男人天堂2020| 亚洲V日韩V无码一区二区| 国产一级无码不卡视频| 日韩在线永久免费播放| 97在线免费| 国产精女同一区二区三区久| 亚洲VA中文字幕| 97精品伊人久久大香线蕉| 992tv国产人成在线观看| 亚洲经典在线中文字幕| 国产成人高清精品免费5388| 香蕉eeww99国产在线观看| 久久鸭综合久久国产| 老汉色老汉首页a亚洲| 亚洲精品无码日韩国产不卡| 国产无码精品在线播放| 亚洲精品国产自在现线最新| 99精品视频九九精品| 国产美女主播一级成人毛片| 免费国产在线精品一区| 午夜福利在线观看入口| 国产精品视频第一专区| 欧美无遮挡国产欧美另类| 98精品全国免费观看视频| www.精品国产| 欧美一区国产| 午夜毛片免费看| 国产99视频在线| 免费xxxxx在线观看网站| 日韩二区三区无| 日韩第一页在线| 日韩国产亚洲一区二区在线观看| 欧美啪啪一区| 亚洲va在线观看| 国产精品30p| 国产高清又黄又嫩的免费视频网站| 亚洲黄色高清| 精品国产www| 天堂网亚洲系列亚洲系列| 国产激爽大片在线播放| 四虎影视无码永久免费观看| 99性视频| 日韩天堂视频| 日韩福利在线观看| 青青青国产精品国产精品美女| 日本不卡在线视频| 亚洲第一成人在线| 在线免费看片a| 免费看av在线网站网址| 亚洲黄色成人| 性喷潮久久久久久久久| 国产极品美女在线播放 | 99伊人精品| 国产美女丝袜高潮| 国产美女自慰在线观看| 亚洲不卡网| 国产原创第一页在线观看| 欧美笫一页|