常丹,王玉珍1,
(1、蘭州財經大學絲綢之路經濟研究院,甘肅蘭州 730020;2、蘭州財經大學信息工程學院,甘肅蘭州 730020)
近年來,隨著自然語言處理和數據挖掘技術的成熟,情感分析成了文本分析領域研究的熱點,目前的主要研究成果概括如下:支淑婷[1]等人認為不同類型的注意力機制和神經網絡獨立編碼的屬性上下語義信息,能夠有效識別情感極性,并在SemEval2014 Task4和Twitter數據集上進行實驗,結果表明,這種融合多注意力和屬性上下文的長短時記憶神經網絡模型能夠改善傳統(tǒng)神經網絡模型存在的問題,從而提高情感分析的準確率;曾子明[2]等人基于LDA主體識別模型和Ada Boost集成分類方法,在微博文本的主題特征中融入情感特征,提高了微博文本的情感分類準確性,從而有效地區(qū)分用戶的情感傾向;吳鵬[3]等人針對現有方法難以自動識別網絡輿情中的負面情感問題,提出網民負面情感識別模型,這種模型在判斷情感極性的基礎上能夠識別網民的不同負面情感;胡榮磊[4]等人在文本情感分析過程中,將長短期記憶網絡和前饋注意力模型進行結合,結果表明,這種文本情感分析方法比傳統(tǒng)的情感分析方法更具優(yōu)勢;趙冬梅[5]等人認為用戶本身和評價對象的屬性對情感分析至關重要,他通過計算用戶興趣分布矩陣,融合SVD分解和LSTM模型,實現情感分類,實驗表明,LSTM-CFA方法能夠有效提取用戶個性和產品屬性信息;劉續(xù)樂[6]等人以微博文本為研究對象,結合知網相似度,選擇情感基準詞,構建情感詞典,運用到SVM模型中,并通過條件隨機場模型對文本進行分類,結果表明,這種分類效果更好;陳珂[7]等人針對文本分類存在的耗時長和一致性差等問題,提出基于多分類器集成的self-training的情感分類方法,實驗表明,這種方法能夠提高情感分類的效率和準確性;Makoto Nakayama[8]等人通過研究日本與西方國家針對用餐體驗的評論,認為民族文化會影響用戶評論的內容,彌補了社會商業(yè)中文化影響的研究空白,等等.
可見,隨著互聯網技術的發(fā)展,情感分析掀起了國內外研究的熱潮.然而由于數據收集的難度較大,目前的情感分析方法大都基于英文文本數據,而中英文思維方式和審美情趣的不同, 導致中英文在用詞、句式、修辭等方面都各有特點[9],因此,對于中文文本來說,英文文本的情感分析方法并不完全適用.目前面向中文文本的情感分析方法還較少,一方面由于中文文本數據收集起來較為困難,另一方面,相對來說中文存在很多意譯,研究起來較為復雜.因此,本文將基于用戶的中文評論文本,運用支持向量機模型對其進行情感分析,從而為商家優(yōu)化決策提供一定的參考.
自然語言處理領域的文本一般分為三個級別的粒度:詞語級、語句級和篇章級.情感分析的觀念在于分析文本,理解其所要表達的觀點和情緒,即研究語句級文本,包括語句情感屬性的識別、客觀性文本提取和分析以及情感極性分析等.英語注重“形合”,而漢語注重“意合”[10],本文所研究的情感分析方法主要是基于中文的用戶評論信息的情感極性研究,即通過構建SVM分類模型,融合word2vec詞向量技術,研究文本情感極性的分類方法.
支持向量機SVM(Support Vector Machine)是一種常見的判別方法,主要用于分類、回歸、異常值或離群點的檢測,主要思想是輸入一組數據映射到較高維上,為高維特征空間建立一個超平面,使得這個超平面和與超平面距離最近的樣本數據點之間的距離最大化.在支持向量機數據挖掘算法中,其核心是支持向量和最優(yōu)分割超平面,而SVM的主要工作就是要找到這樣一個超平面,從而使模型達到最優(yōu)的分類效果.
圖1 SVM最優(yōu)分割超平面圖
目前來說,基于監(jiān)督學習的情感分析方法仍是研究的熱點,支持向量機針對其他傳統(tǒng)的機器學習方法來說,由于它構建出了最優(yōu)超平面,分類效果更好,因此本文通過支持向量機訓練情感分析模型,并使用準確率(Accuracy)來判定模型的預測性能,計算公式如下:
(1)
其中,TP表示正確判斷的所有屬于積極傾向的數據集合,TN表示正確判斷的所有屬于消極傾向的數據集合,P+N表示總的文本數據集.
word2vec詞向量技術是Google開源推出的一個工具包,是在Distributed representation詞向量的基礎上產生的,包含CBOW和skip-gram兩個模型,主要思想是在較大的語料集上進行高效訓練,得到訓練結果詞向量,再通過詞向量模型,將文本數據轉化成對應的詞向量從而進行計算.詞向量技術可以用來做聚類、詞性分析和其他自然語言處理的相關工作.在情感分析方面, word2vec算法能夠利用文本中心詞進行特征詞向量的訓練,訓練結果具有良好的語義特征,因此word2vec訓練的特征詞向量被用作情感分析模型的輸入.
基于SVM情感分析方法的建立主要包括兩個方面,一是構建詞向量,由于模型的輸入必須是數值型數據,為了得到模型中輸入文本對應的數據,文章通過訓練詞向量模型,將評論文本轉換成詞向量作為模型的輸入;二是分類器的訓練,即訓練分類器對文本數據進行積極和消極的分類.具體方法如下:
步驟一:數據收集,下載維基百科中文語料集,并將其轉換成計算機可讀取的文本格式;
步驟二:數據預處理,維基百科中文語料集包含繁體中文,對詞向量訓練以及文本轉換有一定影響,因此用簡體中文替換語料集中的繁體中文;
步驟三:分詞,使用結巴分詞系統(tǒng)對語料集進行分詞處理;
步驟四:模型訓練,將分詞后的文本導入Python中,使用gensim word2vec訓練腳本獲得詞向量;
步驟五:模型測試,輸入文本,并獲取相應的詞向量;
步驟六:數據集劃分,將原始數據按比例劃分成訓練集和測試集;
步驟七:數據集預處理,對訓練集數據進行結巴分詞和停用詞處理;
步驟八:獲取特征詞向量,從詞向量模型中獲取能夠描述文本的特征詞向量;
圖2 PCA維度結果圖
步驟九:降維,利用主成分分析法減少特征詞向量的維數(如圖2所示);
步驟十:模型訓練,通過python導入Scikit-Learn庫,訓練SVM分類器.
本文的實驗環(huán)境為windows7操作系統(tǒng),應用python3.6作為編程語言,來驗證基于SVM的情感分析方法的有效性.
為挖掘中文評論文本的情感傾向,本文選用了中科院譚松波博士收集整理的酒店評論語料集進行實驗.該語料集規(guī)模為10000篇,共分為四個子集,經整理匯總有積極語料7000篇左右,消極語料3000篇左右,部分數據如圖3所示.文章將根據7:3的比例構建訓練集與測試集,即隨機抽取7000條數據(包含積極語料和消極語料)作為訓練集訓練模型, 3000數據作為測試集,測試模型的有效性.
圖3 部分原始數據
在進行方法驗證之前,首先要對文本數據進行預處理,即對收集到的語料集進行分詞和去除停用詞處理.文中采用結巴分詞系統(tǒng)對文本進行分詞處理,這種分詞系統(tǒng)可以通過python命令直接調用結巴包,不僅方便,而且分詞速度較快.在分詞完成后,使用停用詞表去除文本停用詞.
經過預處理的數據采用本文所建立的方法進行分析,由于訓練詞向量時設定的維度是300維,而通過主成分分析得到前50維度的數據能夠很好的反應原始數據的情感內容,因此對模型進行降維處理,選擇前50維作為特征向量輸入模型,從而訓練分類模型,通過參數調整,最終確定當支持向量機的懲罰參數設為2時分類效果最好,最后將測試集文本輸入模型測試這種方法的有效性.
本文通過測試集文本情感極性分類的準確率來驗證模型的有效性,并通過ROC曲線來反應模型的準確性.測試結果表明,融合了word2vec的SVM情感分析方法準確率達到87%,ROC曲線如圖4所示.
圖4 ROC曲線圖
ROC曲線即在一系列不同閾值下計算其對應的FPR和TPR值.圖4中,橫軸表示用戶評論信息樣本中本屬于消極情感傾向的評論文本被判別為積極傾向的概率,即分類錯誤的文本,縱軸表示用戶評論信息樣本中本屬于積極情感傾向的評論文本被模型識別為積極傾向的概率,即分類正確的文本.AUC值是ROC曲線所覆蓋的區(qū)域,即ROC曲線下的面積.當ROC曲線越接近左上角時,AUC值就越大,表示情感分類的準確度越高.在圖4中,AUC值為0.92,表明情感分類的準確性較高,即用戶評論信息的情感分析非常準確,能很好地反映用戶的情感傾向.因此該方法可以被用來做用戶評論信息的情感分析.
情感分析是自然語言處理的重要領域,通過挖掘不同行業(yè)商品評論的情感傾向,能夠指導商家改善運營方式,提高服務質量.文章通過word2vec詞向量技術量化評論文本,并通過SVM模型分析文本的情感傾向,結果表明,融入word2vec的支持向量機模型對于情感傾向的分類有更加顯著的效果,這種方法不僅能夠更加準確的對用戶情感進行分類,而且與傳統(tǒng)的支持向量機方法相比,縮短了模型的訓練時間,從而提高了文本情感分類的準確率和效率,進而使得商家能夠根據用戶的反饋及時采取相應的解決措施,并且在改進商品、提供更高質量的服務方面有更多的決策支持.