王子牛,吳建華,高建瓴,陳婭先,王 許
?
基于深度神經(jīng)網(wǎng)絡(luò)和LSTM的文本情感分析
王子牛1,吳建華2,高建瓴2,陳婭先2,王 許2
(1. 貴州大學(xué)計(jì)算機(jī)網(wǎng)絡(luò)中心,貴州 貴陽 550000;2. 貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴州 貴陽 550000)
在自然語言處理任務(wù)中,詞向量的出現(xiàn)大幅度提高了模型的性能,因此通常直接使用詞向量初始化的深度模型。由于訓(xùn)練的數(shù)據(jù)集和方法會影響詞向量的質(zhì)量,為了減少這種影響,本文提出了深度神經(jīng)網(wǎng)絡(luò)結(jié)合LSTM模型來實(shí)現(xiàn)情感分析。先將詞向量輸進(jìn)到深度神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對詞向量的隱藏特征再一次提取,然后輸入到LSTM網(wǎng)絡(luò)中進(jìn)行情感分析,由此來提高情感分析的準(zhǔn)確率。實(shí)驗(yàn)表明,本文提出的模型比起單個LSTM模型,深度神經(jīng)網(wǎng)絡(luò)結(jié)合LSTM模型在文本情感分析上具有更高的性能。
情感分析;詞向量;深度神經(jīng)網(wǎng)絡(luò);LSTM
目前國內(nèi)的電商發(fā)展迅猛,網(wǎng)上購物早已普及,隨之而來的是大量的商品評論。而對商品評論進(jìn)行相應(yīng)的情感分類,不僅可以了解大眾對商品喜愛還是厭惡,而且還有利于商家對客戶提出相應(yīng)的購買建議及對其商品和服務(wù)的改進(jìn),從而提高商品的商業(yè)價值。因此,對中文商品評論進(jìn)行相應(yīng)情感傾向[1]分析是非常有必要的。
傳統(tǒng)的文本情感分類方法主要有兩種:1)基于詞典(Lexicon-based)的情感分類方法;2)基于機(jī)器學(xué)習(xí)的情感分類方法。前者核心模式是“詞典+規(guī)則”,即以情感詞典[2]作為判斷情感極性的主要依據(jù),同時兼顧評論數(shù)據(jù)中的句法結(jié)構(gòu),設(shè)計(jì)相應(yīng)判斷規(guī)則。本質(zhì)上依賴情感詞典和判斷規(guī)則的質(zhì)量,而這兩者都需要人工設(shè)計(jì),因此這類方法優(yōu)劣取決于人工設(shè)計(jì)和先驗(yàn)知識,其推廣能力差;而后者基于機(jī)器學(xué)習(xí)的情感分類方法多使用經(jīng)典分類模型如支持向量機(jī)[3]、樸素貝葉斯、最大熵模型等,其中多數(shù)分類模型的性能依賴于標(biāo)注數(shù)據(jù)集的質(zhì)量,而獲取高質(zhì)量的標(biāo)注數(shù)據(jù)也需要耗費(fèi)大量的人工成本。
隨著深度神經(jīng)網(wǎng)絡(luò)的興起,深度神經(jīng)網(wǎng)絡(luò)在自然語言處理也被廣泛應(yīng)用。2003年 Bengio等人[4]通過神經(jīng)網(wǎng)絡(luò)訓(xùn)練詞向量來表示文本。詞向量不僅可以有效獲取語義信息[5],而且避免了數(shù)據(jù)稀疏性問題,利用詞向量表示文本,并采用深度學(xué)習(xí)模型,如遞歸神經(jīng)網(wǎng)絡(luò)[6-7]、卷積神經(jīng)網(wǎng)絡(luò)(CNN)[8-9]、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[10]等進(jìn)行分類[11-13]可以獲得比傳統(tǒng)機(jī)器學(xué)習(xí)方法更優(yōu)的效果。
考慮到在對商品評論進(jìn)行情感分類時,文本對上下文有較強(qiáng)的依賴性,而傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型不能很好地解決該問題。Elman[14]在1990年提出了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN),RNN具有一定的處理長序列的能力,但存在梯度爆炸和消失的問題。為了解決這個問題,1997年,Hochreiter &Schimidhuber[15]提出了長短期記憶單元(Long Short- Term Memory,LSTM)用于改進(jìn)傳統(tǒng)的RNN模型。LSTM通過帶細(xì)胞的記憶單元來替代RNN隱藏層中的模塊,同時使用輸入門和輸出門來讓信息選擇式通過。1999年,Gers等[16]在前面的基礎(chǔ)上又引入了遺忘門。這三個門和細(xì)胞狀態(tài)的設(shè)計(jì),使得LSTM可以記憶、更新長距離的信息,從而可以實(shí)現(xiàn)對長距離信息的處理。因此本文將采用長短時記憶神經(jīng)網(wǎng)絡(luò)(LSTM)進(jìn)行情感分類。另外,引入深度神經(jīng)網(wǎng)絡(luò)對詞向量隱藏特征提取?;诖?,本文提出了一種基于深度神經(jīng)網(wǎng)絡(luò)結(jié)合LSTM模型對中文商品評論進(jìn)行情感分類。為了驗(yàn)證模型的有效性,本文采用某電商網(wǎng)站的京東網(wǎng)站對美的熱水器評論數(shù)據(jù)集對模型進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該模型取得了較好的效果。
基于深度神經(jīng)網(wǎng)絡(luò)和LSTM的模型如圖1所示。該模型主要有四個部分組成:
圖1 基于深度神經(jīng)網(wǎng)絡(luò)和LSTM的模型
(1)將文本分詞后,用詞向量來表示。
(2)利用深度神經(jīng)網(wǎng)絡(luò)對詞向量隱藏特征的提取。
(3)利用LSTM層獲取文本特征。
(4)最后利用softmax分類器進(jìn)行情感分類。
◆申請課題時,無論自己的知識儲備如何,皆敢氣吞山河地聲稱其成果將有重大創(chuàng)新與社會影響、理論價值、國內(nèi)領(lǐng)先、國際一流云云.
深度神經(jīng)網(wǎng)絡(luò)其第一層為輸入,最后一層為輸出,中間層都為隱藏層,其三層結(jié)構(gòu)大致如圖2所示:
圖2 簡單的三層深度神經(jīng)網(wǎng)絡(luò)示意圖
在構(gòu)建深度學(xué)習(xí)網(wǎng)絡(luò)層時,輸入層和輸出層只有一層,但是隱藏層則根據(jù)實(shí)際任務(wù)所需可以有很多層。其中,輸入層是輸入的數(shù)據(jù)。而隱藏層和輸出層則由神經(jīng)元構(gòu)成,而且每一層的神經(jīng)元個數(shù)不是固定的,由具體任務(wù)實(shí)現(xiàn)時而定。每個神經(jīng)元結(jié)構(gòu)如圖3所示:
圖3 神經(jīng)元
一個神經(jīng)元有n個輸入,每一個輸入對應(yīng)一個權(quán)值w,神經(jīng)元內(nèi)會對輸入與權(quán)重做乘法后求和,求和的結(jié)果與偏置做和,最終將結(jié)果放入激活函數(shù)中,由激活函數(shù)給出最后的輸出。
在處理時間序列問題上,無論是分類還是預(yù)測的問題,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)都有著很好的優(yōu)勢。它能夠?qū)⒀h(huán)神經(jīng)網(wǎng)絡(luò)的神經(jīng)單元輸出作為下個神經(jīng)單元的輸入,這樣可以有效利用前面的信息。在情感分析的問題中循環(huán)神經(jīng)網(wǎng)絡(luò)能夠利用上文信息,從而提高分類的準(zhǔn)確率。然而,傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)利用上文信息的有限,當(dāng)文本過長時,容易造成梯度爆炸和消失的問題。之后提出的LSTM能夠避免梯度爆炸和消失的問題,而LSTM也是RNN的一種,也具有對上文信息有效利用,它的模型如圖4所示:
圖4 LSTM模型
LSTM模型是一系列重復(fù)的LSTM單元構(gòu)成,每個單元模塊包含三個門:遺忘門(forget gate)ft、輸入門(input gate)it、輸出門(output gate)ot和一個記憶單元(memory cell)Ct,LSTM單元的表示如下:
1)遺忘門(forget gate):遺忘門是以上一單元的輸出ht-1和本單元輸入xt為輸入的sigmoid函數(shù),為Ct-1的每一項(xiàng)產(chǎn)生[0,1]內(nèi)的值,來控制上一單元被遺忘的程度
3)輸出門(output gate):輸出門用來控制當(dāng)前的單元狀態(tài)有多少被過濾掉。先將單元狀態(tài)激活,輸出門為其中每一項(xiàng)產(chǎn)生一個在[0,1]內(nèi)的值,控制單元狀態(tài)被過濾的程度。
為了進(jìn)行情感分類,取出LSTM模型最后的一個輸出結(jié)果H,輸入softmax層進(jìn)行結(jié)果預(yù)測,預(yù)測結(jié)果為:
將模型定義好后,采用隨機(jī)梯度下降法實(shí)現(xiàn)模型的訓(xùn)練,且為防止過擬合,本文也將使用dropout技術(shù),并進(jìn)行對dropout的設(shè)定值進(jìn)行討論。
為驗(yàn)證本文模型的有效性,采取了在京東網(wǎng)站上購買的美的熱水器評論作為數(shù)據(jù)集,且此數(shù)據(jù)集是不平衡數(shù)據(jù)集。數(shù)據(jù)集分為兩部分:(1)訓(xùn)練數(shù)據(jù)集25449評論,包含積極評論21075條和消極評論4374條;(2)測試集5576評論,包含積極評論4509條和消極評論1067條。數(shù)據(jù)集樣例見表1。
表1 數(shù)據(jù)集樣例
Tab.1 Sample data set
本文先采用jieba分詞工具對評論進(jìn)行分詞,利用停用詞文檔,刪除評論中的無用詞、無效符號和標(biāo)點(diǎn)符號。取每條評論的前50詞,不足50詞的以空格填充,使用由word2vec訓(xùn)練的模型構(gòu)建文本特征向量,且詞向量的維度為60維。構(gòu)建文本向量時,當(dāng)有word2vec模型未出現(xiàn)的進(jìn)行padding。
訓(xùn)練神經(jīng)網(wǎng)絡(luò)中參數(shù)設(shè)置非常關(guān)鍵,本文中主要參數(shù)設(shè)置為:深度神經(jīng)網(wǎng)絡(luò)設(shè)為由180個神經(jīng)元和以Leanky-ReLU作為激活函數(shù)的隱藏層,而輸出層由60個神經(jīng)元和Leanky-ReLU激活函數(shù)構(gòu)成。學(xué)習(xí)率0.01,批次處理的評論數(shù)為32。而LSTM隱藏層設(shè)為64、128和200,dropout值以1、0.8、0.7、0.6和0.5,分別進(jìn)行實(shí)驗(yàn)。
本文的實(shí)驗(yàn)環(huán)境的主要參數(shù)CPU:Intel(R) Core (TM) i7-7700HQ CPU@2.80 GHz 2.81 GHz,CPU內(nèi)存(RAM)為8 GB,操作系統(tǒng)為Windows10(基于x64處理器的64位操作系統(tǒng)),實(shí)驗(yàn)平臺為python3.6。
本文試驗(yàn)評價標(biāo)準(zhǔn)為查全率(P)、召回率(R)和F值。試驗(yàn)結(jié)果見表2。
表2 實(shí)驗(yàn)結(jié)果
Tab.2 Experimental result
通過表2可以看出:
1)無論是本文模型還是LSTM模型,在隱藏層為128和dropout值為0.6時取到最大值。并且通過整個實(shí)驗(yàn)可以看出dropout防止過擬合技術(shù),能夠有效提高模型性能,在本次實(shí)驗(yàn)中值dropout為0.6的效果最好。
2)在不平衡數(shù)據(jù)集中,P值和R值差距較大,且波動大,因此評判值F值得參考價值更大。而在本文實(shí)驗(yàn)中,無論在什么條件下,本文模型相比較于LSTM模型,F(xiàn)值都是本文模型更高,能夠說明深度神經(jīng)網(wǎng)絡(luò)對提取詞向量隱性特征是有效的,更有利于提高情感分類精度。
本文提出了一種基于深度神經(jīng)網(wǎng)絡(luò)和LSTM的情感分類模型。實(shí)驗(yàn)表明當(dāng)將以word2vec模型構(gòu)成的詞向量直接輸入深度神經(jīng)網(wǎng)絡(luò)后,是有利于提取詞向量的隱性特征的,這樣的向量輸入LSTM模型中提高模型性能。
由于用來實(shí)現(xiàn)情感分類的模型較多,在接下來的工作中將深度神經(jīng)網(wǎng)絡(luò)帶入更優(yōu)的模型中,研究是否同樣可以提高模型性能
[1] 王坤亮. 漢語情感傾向自動分類方法的研究[J]. 軟件, 2013, 34(11): 73-76.
[2] 王非. 基于微博的情感新詞發(fā)現(xiàn)研究[J]. 軟件, 2015, 36(11): 06-08.
[3] 陳海紅. 多核SVM文本分類研究[J]. 軟件, 2015, 36(5): 7-10.
[4] Yoshua Bengio, Holger Schwenk, Jean-Sébastien Senécal, et al. A Neural Probabilistic Language Model[J]. Journal of Machine Learning Research, 2003, 3: 1137-1155.
[5] Mikolov Tomas, Yih Wen-tau, Zweig Geoffrey. Linguistic regularities in continuous space word representations[C]. The Annual Conference of the North American Chapter of the Association for Computational Linguistics(NAACL-HLT), 2013: 746-751.
[6] Richard Socher, Brody Huval, Christopher D. Manning, et al. Semantic compositionality through recursive matrix vector spaces[C]. Proceedings of the 2012 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning(EMNLPCoNLL), 2012: 1201-1211.
[7] Richard Socher, Alex Perelygin, Jean Wu, et al. Recursive deep models for semantic compositionality over a sentiment Treebank[C]. Proceedings of 2013 Conference on Empirical Methods in Natural Language Processing(EMN LP), 2013: 1631-1642.
[8] Yoon Kim. Convolutional neural networks for sentence classification[C]. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing(EMN LP), 2014: 1746-1751.
[9] Nal Kalchbrenner, Edward Grefenstette, Phil Blunsom. A convolutional neural network for modelling sentences[C]. Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics(ACL), 2014: 655-665.
[10] Siwei Lai, Liheng Xu, Kang Liu, et al. Recurrent convolutional neural networks for text classification[C]. Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence, 2015: 2267-2273.
[11] 劉騰飛, 于雙元, 張洪濤, 等. 基于循環(huán)和卷積神經(jīng)網(wǎng)絡(luò)的文本分類研究[J]. 軟件, 2018, 39(01): 64-69
[12] 張玉環(huán), 錢江. 基于兩種 LSTM 結(jié)構(gòu)的文本情感分析[J]. 軟件, 2018, 39(1): 116-120.
[13] 劉騰飛, 于雙元, 張洪濤, 等. 基于循環(huán)和卷積神經(jīng)網(wǎng)絡(luò)的文本分類研究[J]. 軟件, 2018, 39(01): 64-69[14] Elman J L. Finding structure in time[J]. Cognitive science, 1990, 14(2): 179-211.
[14] Hochreiter S, Schmidhuber J. Long Short-Term Memory[J]. Neural Computation, 1997, 9(8): 1735-1780.
[15] Gers F A, Schmidhuber J, Cummins F. Learning to forget: Continual prediction with LSTM[J]. Neural computation, 2000, 12(10): 2451-2471.
Text Sentiment Analysis Based on Deep Neural Network and LSTM
WANG Zi-niu1, WU Jian-hua2, GAO Jian-ling2, CHEN Ya-xian2, WANG Xu2
(1. Guizhou University, Computer network center, Guiyang, 550000; 2. Guizhou University, School of Big Data and Information Engineering, Guiyang, 550000)
In natural language processing tasks, the appearance of word vectors greatly improves the performance of the model, so the depth model initialized by the word vector is usually used directly. Since the trained data sets and methods affect the quality of the word vector, in order to reduce this effect, this paper proposes a deep neural network combined with the LSTM model to achieve sentiment analysis. The word vector is first input into the deep neural network to realize the hidden feature of the word vector and then extracted, and then input into the LSTM network for sentiment analysis, thereby improving the accuracy of sentiment analysis. Experiments show that the proposed model has higher performance in text sentiment analysis than the single LSTM model, deep neural network combined with LSTM model.
Emotional analysis; Word vector; Deep neural network; LSTM
TP183
A
10.3969/j.issn.1003-6970.2018.12.005
云環(huán)境中半監(jiān)督聚類算法的并行化研究、貴州省科技廳基金項(xiàng)目、黔科合[2015]2045號
王子牛(1961-),男,副教授,主要研究方向:自然語言處理;高建瓴(1969-),女,副教授,主要研究方向:圖像處理;吳建華(1993-),男,研究生,主要研究方向:自然語言處理;陳婭先(1995-),女,研究生,主要研究方向:自然語言處理;王許(1993-),男,研究生,主要研究方向:自然語言處理。
王子牛,吳建華,高建瓴,等. 基于深度神經(jīng)網(wǎng)絡(luò)和LSTM的文本情感分析[J]. 軟件,2018,39(12):19-22