馬遠(yuǎn)浩,曾衛(wèi)明,石玉虎,徐鵬
(上海海事大學(xué)信息工程學(xué)院,上海201306)
隨著信息時代的來臨,各種社交媒體得到了迅速發(fā)展。其中,微博作為一種通過關(guān)注機制分享簡短實時信息的社交網(wǎng)絡(luò)平臺,越來越多的網(wǎng)民選擇利用微博來發(fā)表自己的觀點情感。由于微博文本內(nèi)容的長度限定在140個字符以內(nèi),與傳統(tǒng)的評論內(nèi)容長度相差較大,內(nèi)容簡短,其原創(chuàng)性特別強。因此,對微博文本數(shù)據(jù)進行分析挖掘,從中發(fā)掘出用戶的興趣愛好、發(fā)現(xiàn)熱點話題、以及開發(fā)個性化推薦系統(tǒng)都具有非常大的研究價值。然而,由于微博其龐大的數(shù)據(jù)信息量以及文本語言信息不規(guī)范性等原因,使得要從這些龐大的文本信息中去分析判斷人們的情感態(tài)度變得非常困難,所以僅僅依靠傳統(tǒng)的人工方法進行挖掘分析顯然不夠準(zhǔn)確。因此,想要在最短的時間內(nèi)挖掘出有價值的文本信息,就需要一些自動化的文本信息挖掘技術(shù)的幫助。其中,自然語言處理技術(shù)(NLP)是目前解決該類問題的重要途徑,通過對微博上用戶發(fā)表的評論進行分析,可從中判斷出用戶的主觀情感傾向。
自上世紀(jì)50年代開始就已經(jīng)開始了對文本分類的研究。Zhang等[1]利用One-hot Representation對文本進行向量化表示的基礎(chǔ)上,借助支持向量機(Sup?port Vector Machine,SVM)和反向傳播(Back Propaga?tion,BP)神經(jīng)網(wǎng)絡(luò)實現(xiàn)對文本的高效分類。Hinton等人[2]提出了Distributed Representation概念,通稱詞向量(Word Embedding)。龔靜等人[3]利用改進的TF-IDF算法提取文本特征,并利用樸素貝葉斯分類器進行文本分類。豆孟寰[4]基于N-Gram統(tǒng)計語言模型對文本分類,N-Gram模型根據(jù)每個詞出現(xiàn)在其前面n個詞的概率來表示文本。Bengio等人[5]提出用神經(jīng)網(wǎng)絡(luò)來構(gòu)建語言模型,一定程度上解決了N-Gram模型的問題。上述方法分析過程中對文本進行數(shù)值化表示時面臨數(shù)據(jù)稀疏以及建模之間語義相似度較大等問題。
針對上述問題,本文首先利用Google提出的一個NLP工具Word2Vec進行微博文本詞向量訓(xùn)練,同時通過TF-IDF模型對詞向量進行加權(quán)賦值,判斷出詞語之間的重要程度。其次,對于輸入樣本數(shù)據(jù)的序列化,循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)能夠有效地對鄰近位置信息進行整合。其中,RNN的子類LSTM(Long Short-Term Memory)模型是為了解決RNN的Gradient Vanish的問題所提出的。因此,本文在上述詞向量的基礎(chǔ)上,借助LSTM與CNN混合模型對微博文本內(nèi)容進行自動選擇特征,進而實現(xiàn)準(zhǔn)確分類。
首先,文本分類需要對數(shù)據(jù)集進行必要的預(yù)處理。然后,利用Word2Vec模型與TF-IDF模型進行詞向量訓(xùn)練;最后,采用LSTM與CNN神經(jīng)網(wǎng)絡(luò)進行特征提取,最后用Softmax分類器進行分類預(yù)測。其分析流程圖如圖1所示。
圖1 方法流程圖
微博上的文本數(shù)據(jù)帶有大量的噪聲,例如不規(guī)范的字符、標(biāo)點等,這些噪聲會干擾我們對文本信息的挖掘,所以在文本分類前首先要將數(shù)據(jù)集進行預(yù)處理。
因為中文與英文不同,中文以字為單位,單獨的字不能表達意思,因此對中文文本分類要進行分詞處理。本文采用Python的結(jié)巴(Jieba)分詞模塊,以精確模式進行分詞。中文停用詞對文本研究沒有太大價值,故需將文本中介詞、代詞、虛詞等停用詞以及特殊符號去除。
Word2Vec是一款Google開源的詞向量計算工具,通常采用CBOW和Skip-Gram兩種模型。與傳統(tǒng)的詞向量相比,Word2Vec詞向量的維度通常在100-300維之間,減少了計算的復(fù)雜度。
本文采用Skip-Gram模型,Skip-Gram與CBOW正相反,給定input word來預(yù)測上下文,而COBW是給定上下文,來預(yù)測input word。該模型包括三個層:輸入層、投影層和輸出層,如圖2所示。
圖2 Skip-Gram模型
Skip-Gram模型的訓(xùn)練目標(biāo)就是使得下式的目標(biāo)值最大:
其中,c>0是窗口的大小,T是訓(xùn)練文本的大小。并利用梯度下降法對其進行優(yōu)化?;镜腟kip-gram模型計算條件概率如下式:
其中,vw和v′w分別是詞w的輸入和輸出向量。
LSTM是長短期記憶網(wǎng)絡(luò),是一種時間遞歸神經(jīng)網(wǎng)絡(luò),屬于RNN的一個變種,主要就是在它的算法中加入一個判斷信息是否有用的“處理器”,這個結(jié)構(gòu)被稱為cell,通過精心設(shè)計的結(jié)構(gòu)來去除或者增加信息到細(xì)胞狀態(tài)的能力。如圖3所示。
圖3 LSTM cell結(jié)構(gòu)
LSTM的第一步是決定我們要從細(xì)胞狀態(tài)中扔掉哪些信息。該決定由一個叫做“遺忘門”的Sigmoid層控制。首先讀取ht-1和xt,使用Sigmoid函數(shù)輸出一個在0-1之間的數(shù)。0表示“完全舍棄”,1表示“完全保留”,ft的計算公式為:
式中σ表示sigmoid函數(shù),Wf遺忘門權(quán)重,bf遺忘門偏置。
更新值為it,它決定我們要更新什么值。另一部分是tanh層創(chuàng)造了一個新的候選值向量Cˉt,該值會被加入到細(xì)胞狀態(tài)中去。
式中σ為sigmoid函數(shù),wi更新門權(quán)重,bi更新門偏置,tanh雙曲正切函數(shù),wc更新候選值,bc更新候選值偏置,候選值
最后將舊狀態(tài)與ft相乘,丟棄我們確定要丟棄的信息,根據(jù)我們所需要的狀態(tài)變化。
其中,Ct表示新狀態(tài)。最后,我們決定最后的輸出,公式如下所示:
式中wo更新輸出值的權(quán)重,bc更新輸出值偏置,ht最終確定輸出的那部分。LSTM通過梯度下降法實現(xiàn)損失函數(shù)最小化的參數(shù)估計。
為了有效提高微博文本分類的準(zhǔn)確率,本文提出了一個LSTM-CNN的混合模型,模型結(jié)構(gòu)如圖4所示:
(1)卷積層
首先,卷積層接受大小為n×d的微博詞向量特征矩陣X,矩陣X的每一行為句子中一個詞的詞向量。然后選取尺寸為m×d的卷積核w∈Rm×d對矩陣X進行卷積操作得到向量值vi。卷積過程如下式所示:
式中f表示ReLU(Rectified Linear Units)激活函數(shù),m表示卷積計算滑動窗口大小,b為偏置項,Xi:i+m-1表示在X的第i行到第i+m-1行范圍內(nèi)抽取的局部特征。ReLU激活函數(shù)如下式所示:
(2)池化層
最大池化(max pooling)采用Pooling窗口中最大值作為采樣值,能夠有效的降低網(wǎng)絡(luò)訓(xùn)練參數(shù)及模型的過擬合程度。因此,在完成卷積計算后采用最大池化的方法。
(3)Softmax層
最后將LSTM層的輸出送入Softmax分類器進行分類,公式如下所示:
其中,p(y=i|x;θ)為樣本x屬于i類的概率。
本文所采用的數(shù)據(jù)來自CSDN(https://www.csdn.net/)下載的微博文本數(shù)據(jù),該數(shù)據(jù)集經(jīng)過繁簡轉(zhuǎn)換、去重、去掉4字以下過短評論,形成最終的數(shù)據(jù)集。數(shù)據(jù)集提供了3000條已標(biāo)注立場類別的訓(xùn)練數(shù)據(jù),1000條已知立場標(biāo)簽的測試數(shù)據(jù)。數(shù)據(jù)集共分為五個描述主體,分別是:#春節(jié)放鞭炮,#深圳禁摩限電,#俄羅斯在敘利亞的反恐行動,#iPhone SE,#開放二胎。
為了評價本文提出的模型對分類結(jié)果的準(zhǔn)確性,實驗采用了常用的分類評價標(biāo)準(zhǔn)——精確率對模型進行檢驗,根據(jù)實驗結(jié)果建立兩分類結(jié)果混合矩陣如下表1所示:
表1 兩類分類結(jié)果混合矩陣
文本分類評價標(biāo)準(zhǔn)繼承信息檢索評價指標(biāo),一般采用精度(precision)、召回率(recall)、F-score和準(zhǔn)確率(accuracy)。根據(jù)表(1)可得它們的計算公式如下:
實際應(yīng)用中,通常使用precision和recall加權(quán)調(diào)和平均作為一個綜合的評價標(biāo)準(zhǔn),稱之為F-score:
為了驗證本文提出的LSTM-CNN混合模型的有效性,本文進行了四組實驗,分別是基于Word2Vec和SVM,基于Word2Vec和LSTM,基于Word2Vec加權(quán)詞向量和LSTM以及基于Word2Vec加權(quán)詞向量和LSTM-CNN,得到了如表2所示的實驗結(jié)果。
表2 實驗結(jié)果
從表2中實驗結(jié)果可知,相比于傳統(tǒng)機器學(xué)習(xí)SVM,LSTM具有更高的準(zhǔn)確率。而將Word2Vec詞向量加權(quán)后準(zhǔn)確率提高了3%左右。但是基于本文提出的LSTM-CNN混合模型要比LSTM分類效果更高。由此可以得到,基于Word2Vec與TF-IDF合并模型,可以很好地降低向量的維度和高稀疏性。然后利用LSTM-CNN混合模型對文本特征進行提取,進行微博文本分類具有良好的效果。
本文的Word2Vec模型加上TF-IDF模型相比于傳統(tǒng)模型,解決了傳統(tǒng)向量空間模型的高維稀疏特征,還解決了傳統(tǒng)模型所不具有的語義特征,但是因為Word2Vec模型無法識別詞的權(quán)重,所以引入TF-IDF模型計算詞向量的權(quán)重,結(jié)合兩種模型,最后用LSTMCNN混合模型進行特征提取,最后利用Softmax分類器進行分類,取得了較好的結(jié)果。但是本文對數(shù)據(jù)的大小,數(shù)據(jù)的復(fù)雜性沒有進行更深層次的研究,還有更多的影響因素影響文本分類的準(zhǔn)確性。