蓋赟 宿培成
摘? 要:在網(wǎng)絡數(shù)據(jù)爆炸式增長的今天,使用機器學習技術進行數(shù)據(jù)分析和數(shù)據(jù)處理是當前研究和應用的重點關注領域。文章針對網(wǎng)絡輿情分析問題,介紹使用機器學習分析網(wǎng)絡輿情的方法和改進方式。通過計算文本中情感詞的情感權重,提高機器學習模型的分析效率和分析準度。通過對酒店評論數(shù)據(jù)的驗證,證明了文章提出的改進方法的有效性,進一步分析了機器學習方法的改進方向。
關鍵詞:大數(shù)據(jù);機器學習;深度學習;網(wǎng)絡輿情;情感分析
中圖分類號:GB251? ? ?文獻標識碼:A
DOI:10.19881/j.cnki.1006-3676.2020.09.12
Abstract:With the explosive growth of network data,the use of machine learning technology for data analysis and data processing is the focus of current research and application. Aiming at the problem of network public opinion analysis,this paper introduces the method of using machine learning method to analyze network public opinion and the improvement method. It improves the analysis efficiency and accuracy of machine learning model by calculating the emotional weight of sentiment words in text. Through the verification of hotel review data,it proves the effectiveness of the improved method proposed in this paper,and further analyzes the improvement direction of machine learning method.
Key words:Big Data;Machine Learning;Deep Learning;Network Public Opinion;Sentiment Analysis
一、引言
情感分析是輿情分析的重要研究領域之一,該研究是指使用計算機技術分析人們對主題、對象、產品、服務和事件的意見、態(tài)度、情緒。近年來,用于消費評論的情感分析研究得到了學者的廣泛關注和深入研究,涉及的研究領域有數(shù)據(jù)挖掘、自然語言處理等。人們希望通過對該問題的研究能夠發(fā)現(xiàn)潛在的消費者和商業(yè)模式。消費者在購買某一產品前,希望知道其他消費者對該產品的意見,并以此為基礎做出是否購買的決定;而商家希望根據(jù)消費者的評價發(fā)現(xiàn)問題、找出解決方案,并對自身的產品或服務做出相應的調整。隨著參與在線評論的消費者人數(shù)增加,想通過人工的方式全面掌握每個消費者對不同商品的態(tài)度和意見,已經成為一件不可能的事情。對現(xiàn)有商品評論進行有效的分析和總結,能夠幫助商家盡早地發(fā)現(xiàn)潛在用戶。不僅如此,通過計算評論中包含情感的正負極性,商家還可以獲知用戶對產品的使用感受。隨著互聯(lián)網(wǎng)技術的快速發(fā)展,人們在網(wǎng)絡平臺發(fā)表的評論數(shù)量快速增長,建立一個可以自動分析用戶情感狀態(tài)和產品觀點的方法是十分必要的。
目前文本情感分析方法主要有兩類:基于情感詞典的方法和基于機器學習的方法[1]?;谇楦性~典的方法是首先構建一個包含情感詞的情感詞典,然后以這個詞典為基礎對評論文本進行情感分類[2]。部分學者認為,提高情感分類的準確性需要讓情感詞典包含盡可能多的情感詞,并投入到情感詞典分析法的改進工作當中[3-5]。近年來,Wu等[6]提出了基于數(shù)據(jù)驅動的情感詞典構建方法,該方法使用改進的互信息統(tǒng)計信息來檢測信息中的詞,從而使得情感詞典質量得到大幅提升,覆蓋范圍進一步擴大,并在實驗當中取得較好的結果。但是此類方法仍舊在很大程度上受語料環(huán)境影響,當用于語料庫中的文本包含的詞匯過于關注某一主題或包含某個情感極性,那么該語料庫對其他主題或其他極性的分析準確性就會大幅降低。因此,隨著機器學習研究的推進,基于機器學習的方法進行文本情感分析是當前研究的主流方向。
近年來,機器學習方法在情感分析工作中起著非常重要的作用,并取得了迄今為止最好的分類效果。一部分機器學習方法通過大量訓練神經網(wǎng)絡來獲得高質量的情感特征和良好的模型泛化能力。該方法的不足之處在于:訓練前需要準備大量的已標記樣本,其所需的實踐和資源是驚人的。另外一部分機器學習方法建立在數(shù)學推論之上,如支撐向量機。前兩類方法都需要人工設計目標特征,特征設計的準確性直接影響到模型訓練的結果。長短時記憶網(wǎng)絡和卷積神經網(wǎng)絡是當前情感識別領域應用最為廣泛、效果最好的方法。通常情況下,這些方法需要大量的數(shù)據(jù)作為訓練基礎,并且詞嵌入向量的準確性也會影響模型訓練的準確性。筆者首先采用TF-IDF方法計算情感詞在句子中的權重,然后將權重值和原詞向量進行加權,最后將加權的詞向量投入到模型中進行訓練,并得到最后的結果。
二、情感分析模型
筆者提出的情感分析模型首先使用TF-IDF方法得到情感詞的權重,然后將權重值和詞向量結果進行融合,并最終完成分析工作。
(一)TF-IDF
TF-TDF是一種統(tǒng)計方法,用于計算句子每個詞語的重要性[7]。該方法認為:如果某個詞語或短語在一篇文章中出現(xiàn)的頻率較高,同時在其他文章中出現(xiàn)的頻率較低,則認為該詞語能夠代表這篇文章,也就是這些詞語具有較好的類別區(qū)分能力。TF-IDF中TF表示詞頻,是指一個詞語在當前文章中出現(xiàn)的次數(shù),這個數(shù)字通常會被歸一化,以防止它偏向篇幅長的文檔。同一個詞語在長文檔中出現(xiàn)的次數(shù)可能比短文檔中更多,但它不是該長文檔中的重要詞匯。IDF表示逆向文件頻率。在有些情況下,一些通用的詞語對于主題的表達沒有太大的作用,而一些出現(xiàn)頻率較少的詞語更能夠表達文檔的主題,所以有些學者對單純使用詞頻來分析詞語的重要性持反對觀點。他們認為,越能反映主題詞語,權重應該越大,反之權重應該越小。如果一個詞在屬于某個主題的文檔中出現(xiàn)的次數(shù)越多,則認為它對該主題的表達就越重要,這個詞的權重應該設計較大。
逆向文件頻率(inverse document frequency,IDF)的主要思想是:如果一個詞被包含的文檔數(shù)量越小,則該詞的文本分類能力就越強,那么IDF值也就越大。它的計算方式為文檔總數(shù)除以包含該詞的文檔數(shù),再對此結果取對數(shù)就可以得到IDF值。
基于隨著詞w在當前文檔中的詞頻和該詞在文檔集中出現(xiàn)的文檔次數(shù)即可以得到該詞的TF-IDF值,常見的計算公式為:
(二)詞向量
使用計算機進行情感分析需要首先將文本信息轉換為計算機可以識別的形式,然后再基于數(shù)字化后的結果進行相應的分析和處理。早期詞向量采用的方法是詞袋模型。詞袋模型首先從輸入文檔集中提取所有的詞,然后基于這些詞構建一個集合,并按照一定的規(guī)則對這些詞進行排序和編碼,最后以建立好的詞集合為基礎對輸入的文檔進行編碼。詞袋模型不能體現(xiàn)出詞在句子中的先后順序,只能體現(xiàn)出它們在詞典中的編碼,所以詞袋模型在表達文檔語義方面存在不足。
Word2Vec是一種可以體現(xiàn)詞語相關性的詞向量模型,它被廣泛地應用于詞向量工作當中。Word2Vec主要有兩種實現(xiàn)模型:CBOW和Skip-Gram。CBOW模型是通過周圍的詞來預測中間的詞是什么的模型。訓練時通過不斷調整周圍詞的詞向量完成模型的訓練。訓練完成后,周圍詞的詞向量形態(tài)就是文本里所有詞的詞向量的最終表示形式。Skip-Gram模型是根據(jù)中心詞來預測周圍詞的模型。訓練時通過不斷調整中心詞的詞向量來完成模型的訓練。當詞集數(shù)量比較少時或生僻詞出現(xiàn)次數(shù)較少時,使用Skip-Gram模型獲取的詞向量更加準確。因此Skip-Gram是目前采用頻率最高的模型。Skip-Gram建模過程和自編碼器的思想很相似,即先基于訓練數(shù)據(jù)構建一個神經網(wǎng)絡。當這個模型訓練好之后,就可以使用該模型獲取輸入數(shù)據(jù)對應的隱藏層狀態(tài)。所以,訓練模型的真正目的是獲取模型的隱藏層權重。
(三)LSTM分析模型
長短時記憶網(wǎng)絡(Long Short Term,LSTM)是循環(huán)卷積神經網(wǎng)絡的一種變體,該模型通過特殊的設置避免了RNN網(wǎng)絡長時依賴的問題[8]。它通過一種叫門的機制實現(xiàn)短時記憶和長時記憶的結合,這在一定程度上緩解了梯度消失的問題。
簡單來說,RNN網(wǎng)絡是卷積神經網(wǎng)絡的一種循環(huán)模式。在這種模式的約束下,卷積神經網(wǎng)絡的輸出被再一次投入到網(wǎng)絡的輸入流中。這就涉及一個問題:如何處理新的輸入信息和已有輸出之間的關系。目前比較通用的做法是設計一個選擇機制,讓新輸入和舊輸出在概率選擇的機制下進行融合,并形成最終的輸入。標準RNN網(wǎng)絡采用的融合方法是tanh層,LSTM的信息融合結構和tanh結構類似,不同之處在于它擁有四個融合結構。LSTM通過三個門來實現(xiàn)信息的保存和傳輸,它們分別是忘記門、輸入門和輸出門。每個門都是由一個Sigmoid函數(shù)和一個點乘操作組成。Sigmoid層輸出為0到1之間的數(shù)值,0代表任何量通過,1代表允許任意量通過。下圖是標準的LSTM結構模型。
LSTM的第一步是決定哪些信息需要被丟掉,完成這個工作的結構被稱為忘記門。隱藏層的前一狀態(tài)和當前輸入被送入忘記門,該門的輸出結果是0~1之間的數(shù)值向量,向量中元素為0的位置對應信息被刪除,元素為1的對應位置被刪除。忘記門的公式為:
LSTM的第二步決定什么樣的新信息被存儲在隱藏層的單元中,完成這個工作的結構被稱為輸入門。這一結構由兩部分組成:輸入層和更新層。輸入層使用Sigmoid層決定哪些值將會被更新,然后更新層使用tanh層創(chuàng)建一個新的候選值向量。
LSTM的第三步是更新隱藏層的單元狀態(tài)信息,完成這個工作的結構被稱為輸出門。輸出門將根據(jù)隱藏層前一狀態(tài)和候選狀態(tài)得出隱藏層的最新狀態(tài),計算的方式一般采用加權求和。
最終網(wǎng)絡將根據(jù)最新的隱藏層狀態(tài)得到最新的網(wǎng)絡輸出。更新完隱藏層狀態(tài)后需要根據(jù)輸入的和來判斷輸出哪些隱藏層單元,然后將輸出的單元經過tanh處理得到一個-1~1之間的值向量。將該向量與輸出門得到的判斷條件相乘就得到了模型的最終輸出。
(四)融合方法
不同的詞在不同類別的文檔中具有不同的影響作用,經典的Word2Vec方法只是根據(jù)詞語之間的相關性來得到詞向量的結果,并不能體現(xiàn)出詞語在句子中的影響作用。如果根據(jù)每個詞對文檔情感的代表性進行加權,可以增加情感分析模型對重點詞語的感知能力。筆者基于TF-IDF方法為每一個詞向量計算對應的權重因子。標準的TF-IDF可以計算出每個詞在文檔中的權重,但是無法體現(xiàn)出該詞在不同類別文檔的概率分布。為了能夠計算出詞語在不同類別文檔中的權重,筆者使用以下公式計算每個詞語的情感權重值:
其中表示情感類別的數(shù)量,表示分詞在類文檔出現(xiàn)的頻率。在得到分詞的情感權重后,將其和值相乘,得到融合情感類別信息的分詞權重值,計算方法如下所示:
在詞向量和分詞權重融合階段,筆者同樣采用簡單加權的方式進行計算,即將每個分詞的詞向量和它的值相乘得到加權后的詞向量,計算方法如下所示:
其中表示加權后的詞向量,表示加權前的詞向量。
BILSTM是對LSTM模型的一種改進,通過雙向使用循環(huán)機制來發(fā)現(xiàn)網(wǎng)絡當前狀態(tài)與前驅輸入和后繼輸入直接的關聯(lián)性,捕獲當前詞與上下文之間的關聯(lián)性。使用加權后的詞向量進行模型訓練,可以讓模型更加關注權重大的向量,但是這種方式需要模型對文本中所有的詞進行訓練。為了進一步凸顯權重詞的重要性,挑選高權重值的分詞進行文本分類研究是常用的研究思路。目前常用的挑選方法是選擇前10個權重高的詞進行模型訓練,這前10個詞的選擇標準是通過實驗確定的。
三、實驗和評價
(一)實驗設計
筆者選擇哈爾濱工業(yè)大學譚松波教授建立的數(shù)據(jù)集:帶標記的酒店評論數(shù)據(jù)。該數(shù)據(jù)集由10000條評論組成,為了研究方便,數(shù)據(jù)被分為四個語料子集:三個平衡子集和一個非平衡子集。ChnSenticop數(shù)據(jù)集結構如表1所示。
在進行計算之前,需要先將評論文本進行數(shù)據(jù)預處理操作,這些操作包括:異常符號清除、重復數(shù)據(jù)消除和停用詞去除。經過處理后的數(shù)據(jù)將最大限度地保留有用信息并使用筆者提出的加權方法進行情感權重計算。在短文本情感評論中,用于表達特別情感或主題的詞語是由一些特定的詞語體現(xiàn)的。所以,在情感分類研究中,所需要的詞匯應該只局限于文本中的詞的一個子集。通過一定的方式獲取這個子集,并以此為基礎增加模型預測的準確性?;谀芰吭恚凑誘F-IDF值從大到小的順序選擇文本中的代表性情感詞,當所選單子的權重值大于總權重值的百分之八十時即停止采集,此時的情感詞集即為文檔情感特征。
(二)評價指標
為了驗證筆者提出算法的有效性,采用Precision、Recall、F1-Score三種指標實驗結果進行驗證。Precision是針對預測結果而言的,它表示預測為正的樣本有多少是真正的正例樣本。令TP表示將正例樣本預測為正的數(shù)量,F(xiàn)P表示將負例樣本預測為正的數(shù)量。
召回率是針對訓練樣本而言的,它表示訓練樣本中有多少正例樣本得到了正確的預測。這就說明訓練集中的正例樣本可能有兩種預測結果:一種是把正例樣本預測為正,表示為TP;一種是把原來的正例樣本預測為負,表示FN。
這兩個指標的差別僅在于分母不同,前者表示預測結果為正的樣本總數(shù),后者表示輸入樣本中正例樣本的數(shù)量。Precision和Recall其實是相互矛盾的,在不同的應用場景下,它們的關注點是不同的。F1-Score是對二者的一種綜合,該方式對類別數(shù)量不均衡的樣本集具有比較好的評價。
(三)評價結果
為了驗證算法的有效性,筆者選擇了五種詞向量和LSTM相結合的方法,進行復雜度和準確率的比較分析。這幾種方法都是用Word2vec對輸入文本進行了詞向量計算。因此,對比模型可以劃分成4種不同的情況。從表2可以看出筆者提出的方法能夠有效地區(qū)分準確率。
四、總結
筆者介紹了一種融合情感權重的機器學習網(wǎng)絡文本情感分析方法,該方法以TF-IDF為基礎對文本向量化的結果進行加權。通過加權系數(shù)將原本地位相同的分詞賦予了不同的權重,從而實現(xiàn)了情感類別和關鍵詞之間的關聯(lián)。這樣分類模型在學習時可以有效地感知到不同詞的類別判斷的重要性,并在網(wǎng)絡隱藏層的狀態(tài)中有所體現(xiàn),從而實現(xiàn)情感分類準確率的提高。TF-IDF是目前常用的詞語重要性的統(tǒng)計方法,但是該方法過于單一,在某些特定的語境下并不準確。所以筆者介紹的情感權重計算方法是在TF-IDF之上設計的權重算子和加權方法。機器學習方法是目前情感分析的主要研究路線,但是它在數(shù)據(jù)準備和模型訓練方面仍舊面臨巨大的挑戰(zhàn),如何優(yōu)化網(wǎng)絡模型和提高輸入數(shù)據(jù)的準確性是當前研究的主要目標。
參考文獻:
[1] Khan F H,Qamar U,Bashir S. eSAP:A decision support framework for enhanced sentiment analysis and polarity classification[J]. Information Sciences,2016(07):862-873.
[2] Medhat W,Hassan A,Korashy H. Sentiment analysis algorithms and applications:A survey[J]. Ain Shams Engineering Journal,2014(05):1093-1113.
[3] Miller G A,Beckwith R,F(xiàn)ellbaum C,et al. Introduction to wordnet:An on-line lexical database[J]. International Journal of Lexicography,1990(04):235-244.
[4] Strapparava C,Valitutti A. WordNet-Affect:an affective extension of WordNet[C]//Proceedings of the Fourth International Conference on Language Resources and Evaluation.Lisbon:ELRA,2004:1083-1086.
[5] Cho H,Kim S,Lee J. Data-driven integration of multiple sentiment dictionaries for lexicon-based sentiment classification of product reviews[J]. Knowledge Based Systems,2014(11):61-71.
[6] Wu F,Huang Y,Song Y,et al. Towards building a high-quality microblog-specific Chinese sentiment lexicon[J]. Decision Support Systems,2016(07):39-49.
[7] Salton G,Buckley C. Improving retrieval performance by relevance feedback[J]. Journal of the American Society for Information Science, 1990(04):288-297.
[8] Gers F A,Schmidhuber J,Cummins F. Learning to Forget:Continual Prediction with LSTM[J].Neural Computation,2000(10):2451-2471.