李秋伶,鄭 靜
(杭州電子科技大學經(jīng)濟學院,浙江 杭州 310018)
情感分析又被稱為觀點識別、情感挖掘、情感傾向性分析等,在社會重大輿論、商業(yè)營銷策略及平臺推薦系統(tǒng)中起著重要作用。2003年,K.Dave等[1]研究開發(fā)的ReviewSeer是全球第一個情感分析工具,2000年左右,隨著情感詞典概念的誕生,哈佛大學構(gòu)建的GI評價詞典、普林斯頓大學的WordNet,以及董振東、董強父子研發(fā)的HowNet情感詞典等受到廣泛關(guān)注,而后Google、百度、阿里巴巴等平臺也根據(jù)網(wǎng)絡(luò)評論不斷更新各自的推薦系統(tǒng)。文本數(shù)據(jù)的情感分析已成為文本數(shù)據(jù)挖掘研究的重心。2019年,E.Georgiadou等[2]使用相關(guān)工具挖掘Twitter文本情感,并將分析結(jié)果應(yīng)用于脫歐談判,輔助政府決策。早期的情感分析方法是構(gòu)造情感詞典,通過比對文本中含有的正向或負向情感詞來判斷文本表達的情感傾向[3]。詞典的構(gòu)建工作量大、時效性低。隨著深度學習方法在文本分類領(lǐng)域的廣泛應(yīng)用,長短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)在文本處理領(lǐng)域嶄露頭角。Wang Y.Q.等[4]提出了基于注意力機制的LSTM模型,加強了提取句中指定特征信息的能力。顧軍華等[5]使用卷積操作提取文本注意力信號,提出了基于卷積注意力機制的長短期記憶神經(jīng)網(wǎng)絡(luò)模型。常宸等[6]針對文本數(shù)據(jù)的真值發(fā)現(xiàn)問題,通過雙向門控循環(huán)單元模型并包含注意力機制的算法來獲得可靠的文本答案,算法優(yōu)于傳統(tǒng)真值發(fā)現(xiàn)算法。但是,上述算法需占用大量的訓練時間和資源。
隱馬爾可夫模型(Hidden Markov Model,HMM)是一類處理時序數(shù)據(jù)的弱分類器,是一種結(jié)構(gòu)最簡單的動態(tài)貝葉斯網(wǎng)的生成模型,在自然語言處理領(lǐng)域得到廣泛應(yīng)用。P.Frasconi等[7]在模型中加入了遺傳算法以減少HMM進入局部極小的概率。楊建等[8]提出將HMM應(yīng)用于自動文本分類,對文檔類別中出現(xiàn)的不同特征詞集合,進行多類別文本的分類。何建民等[9]選擇網(wǎng)民特征、信息主題和信息內(nèi)容完整度三維指標來構(gòu)建HMM,揭示微博輿情演化發(fā)展的一般規(guī)律。M.Kang等[10]構(gòu)建了基于文本的HMM,通過訓練文本中的詞序列以取代情感詞典,對文本進行分類。
HMM的訓練不需要大規(guī)模詞典集,并且能夠在狀態(tài)轉(zhuǎn)換序列中體現(xiàn)不同情感類別文檔的形成演化過程,反映一定的文本語義性質(zhì)。但在實際應(yīng)用場景中,HMM參數(shù)調(diào)試繁瑣、訓練效率低下,分類準確率也不高。自適應(yīng)增強(Adaptive Boosting,AdaBoost)算法通過訓練一系列弱分類器并對其進行組合,得到一個準確度高的強分類器,構(gòu)造過程簡單,且不易發(fā)生過擬合,是一種使用廣泛的提升算法。為了進一步優(yōu)化模型,本文HMM與Adaboost結(jié)合起來進行訓練,得到由多個HMM分類器構(gòu)成的自適應(yīng)-隱馬爾可夫模型Ada-HMM,有效提高了分類性能。
本文以互聯(lián)網(wǎng)電影資料庫(Internet Movie Database,IMDB)數(shù)據(jù)集為例進行情感分類。IMDB影評數(shù)據(jù)集包含ID、情緒和文本等3項內(nèi)容,分為訓練集和預測集。首先對訓練集進行預處理,主要包括刪去標點、數(shù)字以及特殊字符、去除停用詞、詞形還原等。然后對文本數(shù)據(jù)進行向量化,即由該文檔每個詞表示的向量集構(gòu)成文本向量。文本向量化后,對文本向量進行特征選擇,以降低向量維數(shù)。特征提取就是在保證原文含義的基礎(chǔ)上,提取出對文本特征類別最具有代表性的信息。本文選取詞頻-逆文本頻率(Term Frequency-Inverse Document Frequency,TF-IDF)進行特征提取。
為進一步簡化模型的復雜度,改進矩陣性能,提高結(jié)果精確度,本文選擇奇異值分解(Singular Value Decomposition,SVD)對特征選擇后的詞句矩陣進行降維處理。SVD分解公式如下:
HMM由兩層構(gòu)成,隱藏層是一個由馬爾可夫鏈隨機生成不可觀測的狀態(tài)隨機序列,觀測層是由各個狀態(tài)生成的一個可觀測的隨機序列。HMM由初始的概率分布、狀態(tài)轉(zhuǎn)移概率分布以及發(fā)射概率分布確定。設(shè)S是所有可能的狀態(tài)的集合,C是所有可能的觀測值的集合,即有:
S={S1,S2,S3,…,SN},C={c1,c2,c3,…,cM}
其中,N為馬爾可夫鏈狀態(tài)個數(shù),M為狀態(tài)可能生成的不同觀測值個數(shù)。
將HMM引入文本處理中,因其分類準確度不依賴情感詞典和規(guī)則集的特點,使得模型能有效應(yīng)對文本的變化。HMM在適應(yīng)話題變動與輿論環(huán)境發(fā)展的同時,還能將詞匯的概率分布特征融入模型中,提取文本中的時序信息,體現(xiàn)文檔演化過程,并且反映出一定的文本語義,尤其適用于不含顯著情感詞匯或隱含情感的文本。
對文本進行情感分析時,主要是通過分析詞匯的情感極性、情感強烈程度及隱含情緒的語法來判定其情感類別。在本文的訓練數(shù)據(jù)集中,情感分析包括正向與負向情感,因此模型中存在正向情感和負向情感這2個類別,需要訓練2個HMM。通過統(tǒng)計學方法計算模型參數(shù),得到初始狀態(tài)分布矩陣π、狀態(tài)轉(zhuǎn)移矩陣A以及發(fā)射矩陣B。
使用正向情感文本訓練得到正模型參數(shù),負向情感文本訓練得到負模型參數(shù)。λy表示相應(yīng)的HMM分類器參數(shù),y=1為正向HMM,y=-1為負向HMM,模型參數(shù)內(nèi)含相應(yīng)正向或負向的文本演化、特征詞輸出規(guī)律,包括隱含情緒的修辭手法等。以“這部電影真有趣”為例進行分類,分類器模型如圖1所示,將觀測序列轉(zhuǎn)化為對應(yīng)的隱藏狀態(tài)序列,πq1為狀態(tài)q1的初始分布概率,P(o1|q1)為隱狀態(tài)q1向觀測值o1發(fā)射的概率,Pq1,q2為隱狀態(tài)q1向q2轉(zhuǎn)換的概率。
圖1 隱馬爾可夫模型分類示例
HMM能綜合文本中的所有特征分布,考慮上下文間的影響,得出最后的分類結(jié)果。將待分類文本分別帶入正、負模型參數(shù),計算該文本在正、負HMM中的生成概率,生成概率最大的模型即為該文本的分類結(jié)果,最大生成概率為:
構(gòu)建單一的HMM分類器是弱分類器,準確度較低。因此,本文在HMM的基礎(chǔ)上,通過AdaBoost算法將若干個分類器綜合起來,提出Ada-HMM模型,大幅提高了分類準確度,具體結(jié)構(gòu)如圖2所示。
圖2 Ada-HMM模型結(jié)構(gòu)
算法主要流程如下。
(1)輸入訓練數(shù)據(jù)集L={(x1,y1),(x2,y2)…(xN,yN)},其中xi∈X?Rn表示文本向量,yi∈Y={-1,1}表示文本的情感類別。
(2)令h=1。
(4)h逐次遞增,取值為1,2,3,…,循環(huán)操作,直至h=H。
①采用自助抽樣法從數(shù)據(jù)集L中抽取正向和負向的訓練樣本。
④若eh≥0.5,則跳轉(zhuǎn)至①;否則繼續(xù)循環(huán)。
⑤h=h+1,直到h=H,結(jié)束循環(huán)。
實驗使用的數(shù)據(jù)集包括:①二元分類的影評數(shù)據(jù)集(Movie Reviews,MR),獲取地址為http://www.cs.cornell.edu/people/pabo/movie-review-data/;②消費者評論數(shù)據(jù)集(Customer Reviews,CR),獲取地址為http://www.cs.uic.edu/~liub/FBS/sentiment-analys;③斯坦福情感(Stanford Sentiment Treebank,SST-2)數(shù)據(jù)集,是MR的拓展數(shù)據(jù)集,獲取地址為http://ai.stanford.edu/sentiment/;④IMDB數(shù)據(jù)集,共計5萬條,獲取地址為http://ai.stanford.edu/amaas/data/sentiment/。
將Ada-HMM模型與具有代表性的文本分類方法及前沿分類方法進行比較,對比模型包括支持向量機(Support Vector Machines,SVM)、多項式樸素貝葉斯分類器(Multinational Na?ve Bayes,MNB)、矩陣向量遞歸神經(jīng)網(wǎng)絡(luò)(Multi-View Recurrent Neural Network,MV-RNN)模型[11]、多通道架構(gòu)的卷積神經(jīng)網(wǎng)絡(luò)模型(CNN-Multi)[12],比較結(jié)果如表1所示。
表1 不同模型的分類準確率對比 %
從表1可以看出,對每個數(shù)據(jù)集使用10折交叉驗證發(fā)現(xiàn),在除SST-2之外的測試數(shù)據(jù)集中,Ada-HMM模型的分類準確率優(yōu)于SVM,MNB,MV-RNN和CNN-Multi。在SST-2數(shù)據(jù)集中,Ada-HMM模型的分類準確率排名第2,僅次于CNN-Multi。
在IMDB數(shù)據(jù)集中,通過準確率、精確率、召回率以及F1值4個指標進行多模型對比,結(jié)果如表2所示。從表2可以看出,Ada-HMM模型不僅優(yōu)于SVM,MNB等傳統(tǒng)機器學習模型,對比LSTM,CNN等深度學習模型以及基于卷積注意力機制的雙向長短期記憶神經(jīng)網(wǎng)絡(luò)(CNN-ATT-BiLSTM)模型[6]等改進的深度學習模型,準確率等指標均有所改進。
表2 IMDB數(shù)據(jù)集實驗結(jié)果對比
基于IMDB數(shù)據(jù)集探究對Ada-HMM模型分類性能產(chǎn)生影響的主要參數(shù),包括分類器個數(shù)、特征詞個數(shù)以及SVD維數(shù)。在評估模型分類性能時可選擇的評估指標有準確率、精確率、召回率、F1值。在需兼顧精確率和召回率、讓兩者同時達到較高平衡點的情況下,選取兩者的調(diào)和平均數(shù)——F1值來評價模型的表現(xiàn)。Ada-HMM性能隨不同參數(shù)變化的情況如圖3所示。
圖3 參數(shù)變化對Ada-HMM模型性能的影響
圖3(a)中,隨著分類器個數(shù)的增加,F(xiàn)1值波動上升,并且波動幅度逐漸減弱、上升趨勢顯著,說明分類器個數(shù)與模型性能存在顯著正相關(guān)關(guān)系。圖3(b)中,隨著SVD維數(shù)的增加,F(xiàn)1值始終在0.9上下浮動,說明模型性能與SVD維數(shù)無顯著關(guān)系。圖3(c)中,隨著特征詞個數(shù)的增加,F(xiàn)1值有小幅度提升,特征詞個數(shù)的增加雖然減少了特征提取階段損失的原始數(shù)據(jù)信息,但對模型性能的影響較弱。依據(jù)TF-IDF原理,特征詞所含的文本信息依次遞減,增加特征詞改善的模型精度有限。通過圖3可知,不論改變哪個參數(shù),Ada-HMM模型在測試集與訓練集的F1值相當,表明模型有較好的適用性。
為進一步尋找模型的最優(yōu)參數(shù),進行了控制變量的參數(shù)調(diào)整實驗。當SVD維數(shù)為300,特征詞個數(shù)為1 200時,調(diào)節(jié)分類器個數(shù),得到模型各指標變化數(shù)據(jù)如表3所示。分類器個數(shù)為15,特征詞個數(shù)為1 200時,調(diào)節(jié)SVD維數(shù),得到模型各指標變化數(shù)據(jù)如表4所示。分類器個數(shù)為15,SVD維數(shù)為300時,調(diào)節(jié)特征詞個數(shù),得到模型各指標變化數(shù)據(jù)如表5所示。
表3 分類器個數(shù)對Ada-HMM模型指標的影響
表4 SVD維數(shù)對Ada-HMM模型指標的影響
表5 特征詞數(shù)對Ada-HMM模型指標的影響
實驗發(fā)現(xiàn),在HMM分類器數(shù)量逐漸上升的情況下,Ada-HMM模型的正負文本分類準確度等指標均穩(wěn)定提升。除分類器個數(shù)以外,特征詞個數(shù)以及SVD維數(shù)也是影響模型效率與性能的關(guān)鍵參數(shù)。
在構(gòu)造分類器時,需兼顧性能與效率,找到合適的最優(yōu)參數(shù)。由于分類器個數(shù)對模型表現(xiàn)影響較大,因此需確定最優(yōu)分類器個數(shù)。通過表3可知,最優(yōu)分類器個數(shù)為15時,F(xiàn)1值最高值為0.933。在此基礎(chǔ)之上,選取表4中的最優(yōu)參數(shù),由圖3(b)可知,SVD維數(shù)與分類器性能無顯著關(guān)系。盡管SVD維數(shù)為650時,F(xiàn)1值最高值為0.948,但隨著SVD維數(shù)的升高,模型訓練效率不斷降低,因此應(yīng)選取使模型訓練效率最高時的值,即SVD為300維時,F(xiàn)1值為0.933。同理,提升特征詞個數(shù)使得模型增加的訓練時間成本遠大于提升的精度,因此在表5中,特征詞個數(shù)為1 200時,模型訓練效率最高,F(xiàn)1值為0.933;特征詞個數(shù)為1 800對應(yīng)F1值雖為0.943,但模型訓練效率低下,故舍去。綜上分析,實驗得到的最優(yōu)參數(shù)為:分類器個數(shù)15,SVD維數(shù)300,特征詞個數(shù)1 200。由表4知,模型按該參數(shù)組合對數(shù)據(jù)集進行分類時,得到的F1值為0.933。
本文通過自適應(yīng)增強算法對HMM模型進行改進,提出適用于文本的Ada-HMM模型,克服了情感分析中文本不含顯著情感詞匯或運用修辭手法隱含情感傾向的問題,提高了文本情感分類模型的性能,具有較好的分類效果。但是,本文的研究是針對二分類任務(wù),下一步將對多分類文本展開研究。