?

基于集成算法的微博評論情感分析

2022-11-09 04:38王德廣黃丹婷
微型電腦應用 2022年10期
關鍵詞:分類器準確率卷積

王德廣, 黃丹婷

(大連交通大學, 軟件學院, 遼寧, 大連 116028)

0 引言

如今微博作為國內主流的社交媒體產品,憑借迅速獲取實時資訊、簡潔方便的操作等優勢,其用戶量從2009年成立至今增長迅速。用戶們在實時熱點下面發表自己的意見和建議,在自己的空間分享對某些事務的看法。隨著這些評論文本越來越多,分析用戶評論中帶有的情感色彩,不僅可以幫助各類企業分析出用戶的消費心理,也可以及時地幫助政府了解大眾對社會熱點和輿情的情感傾向,進而快速準確地制定出解決問題的有效方法,以免造成社會恐慌。

1 情感分析研究現狀

情感分析(sentiment analysis)是人們對想了解的商品、社會提供的服務、自身所處的環境及其關系屬性的各種情緒、評價和一系列心理態度等綜合計算分析的一種研究。該研究的快速發展與社交傳播媒體的迅猛發展有著相輔相成的關系,如論壇、博客、微博等平臺的發展,讓人們的情感和體會能夠有機會表達?,F有研究表明,情感分析和多項工作的技術中監督方法和無監督的方法被廣泛應用。在監督方法中,早期論文使用所有監督機器學習方法(如支持向量機、最大熵、樸素貝葉斯等)和特征組合。無監督方法包括使用情感詞典、語法分析和句法模式的不同方法?,F有多本綜述書籍和論文,廣泛地涵蓋了早期的方法和應用。大約10年前,深度學習成為強大的機器學習技術,在很多應用領域產生了當前最優的結果,包括計算機視覺、語音識別、NLP 等。近期將深度學習應用到情感分析也逐漸變得流行[1]。

2 相關理論

2.1 邏輯回歸(logistic regression)

Logistic模型回歸數據模型分析又稱之為Logistic模型回歸數據分析,是一種基于廣義的二維線性模型回歸數據分析模型,常被廣泛應用于對數據挖掘、文本數據分類、社會經濟學數據預測等基礎研究應用領域。通過對Logistic的各個回歸輸出進行取值分析,可以幫助計算和得出一個邏輯上的回歸給出輸入中各個元素自變量的取值權重,從而可以使我們理解有哪些因素對回歸輸出值有所影響。

2.2 決策樹

決策樹是(decision tree)是機器學習領域中具備易實現、易解釋、應用廣泛的一種算法,以數據的屬性為判斷依據來得到分類或回歸的結果。

2.3 樸素貝葉斯

樸素貝葉斯(naive bayes, NB)具有扎實的數學基礎、低時長的分類條件、較簡單的操作等優點,NB分類器對結果的說明很清晰并且表現強度和數據健壯性都比較高。當數據集屬性之間的關系相對比較獨立時,樸素貝葉斯分類算法會有較好的效果[2-3]。

給定B1,B2,…,Bn表示數據點,那么該類型的數據點被表示為來自類別Ai的概率分解公式為

(1)

2.4 支持向量機

支持向量機(support vector machine, SVM)的一個基礎精度模型就是通過它來尋找在一個特征精度空間上同樣能夠將精度達到最好的一種分離超平面。SVM被廣泛用于處理二分類模型問題。

2.5 隨機森林

隨機森林(random forest)是一種集成算法(integrated algorithm),簡單來說是將多個決策樹捆綁在一起就得到了一個隨機森林。將數據分出不同的結果,進行投票得出平均值作為最終結果輸出。隨機森林的工作原理如圖1所示。

圖1 隨機森林原理

2.6 卷積神經網絡模型

卷積神經網絡(convolutional neural network,CNN)是一種使用多個卷積核進行計算操作的前饋神經網絡[4]。CNN將神經網絡的模型劃分為多個層級,主要由輸入層、卷積管理層、池化管理層、全連接管理層和輸出管理層等5個部分共同完成。

2.7 循環神經網絡

循環神經網絡(recurrent neural network, RNN)是一類以序列(sequence)數據為輸入,在序列的演進方向進行遞歸(recursion)且所有節點(循環單元)按鏈式連接的遞歸神經網絡(recursive neural network)[5]。

2.8 長短期記憶網絡

RNN對于短期記憶效果很好,但是結構較為簡單,難以勝任長期記憶任務,運算效率低下。長短期記憶網絡(long short-term memory, LSTM)[6]是RNN模型的改進,通過對“循環體”進行刻意設計來克服RNN的缺陷。LSTM是一組特殊的分層記憶處理模塊,將單元直接自動替換為基于遞歸記憶神經網絡的多個隱藏和分層記憶神經元,這些記憶模塊單元能夠直接用來自動記憶整個隱藏層任何一個層的時間和梯度狀態,從而有效解決時間梯度信息消失等復雜問題。

2.9 循環卷積神經網絡

循環卷積神經網絡(recurrent convolutional neural network, RCNN)將卷積神經網絡的卷積層替換為內部具有遞歸結構的循環卷積層(recurrent convolutional layer, RCL),并按前饋連接建立深度結構[7]。RCNN在文本表示上與RNN有所區別,不是直接使用最后時間進一步的隱狀態作為文本表示,而是用max-pooling層進行特征選擇。

3 模型設計

數據來源于新浪微博網友對熱點事件的評論,用到的算法分別為機器學習算法和深度學習算法。機器學習算法包括:Logistic、Decision Tree、NB、SVM、Random Forest和集成模型,深度學習算法包括:CNN、RNN和RCNN算法。傳統機器學習模型準確率低但效率高,深度學習模型可以有效提高準確率等指標但用時很久。為了將二者的性能取長補短得到最優的算法,將機器學習算法與深度學習算法分別進行集成后得到各項指標結果的對比,找出機器學習中準確率最高的模型作為輸入,將深度學習效果最好的集成模型RCCR與之結合,得到的最優分類器與其他分類器進行各項指標評估對比,以此實現對算法性能的改進。模型設計如圖2所示。

圖2 模型設計圖

3.1 數據采集

八爪魚網頁采集器是網絡爬蟲的一種。用戶可以設置從哪個網站爬取數據,爬取哪些數據,爬取什么范圍的數據,什么時候去爬取數據,爬取的數據如何保存,等等。八爪魚采集系統是一款免費網絡爬蟲軟件,系統采用分布式云構架,聯合客戶要求,整個系統部署在騰訊云平臺之上[8]。

采集的數據主要來源于熱點事件微博用戶評論,其中包括正向評論、中性評論和負向評論。情感傾向和語料分布見表1、表2。

表1 部分評論展示及情感傾向

表2 語料庫分布概況

接下來,把所有的數據按順序進行打亂和重排,并將所有的數據劃分訓練集、驗證集和測試集,比例為0.7∶0.2∶0.1。

3.1.1 數據清洗

用戶在微博評論時內容會存在重復、繁體字、特殊字體等情況。在進行實驗之前,需要對數據進行處理。

(1) 數據去重,重復的評論只保留1條。

(2) 將繁體字用簡體字替換,使用開源庫opencc來進行繁簡轉化。

(3) 正確標注每個詞語的詞性,即確定每個詞是名詞、動詞、形容詞或其他詞性。

(4) 去除停用詞,刪掉那些對情感分析沒有幫助的冗余詞匯。

3.1.2 分詞、詞性標注及詞頻統計

主要使用jieba進行中文分詞標注,具有高性能、準確率、可擴展性等特點。針對詞頻的統計與分析,可以看出微博用戶對熱點事件評論時最常使用的話語。部分詞頻統計結果如圖3、圖4所示。

圖3 動詞詞頻統計

圖4 形容詞詞頻統計

從圖3、圖4可以看出,用戶們對不同事件會發表不同的看法。積極的、中性的和消極的情緒可能會存在于同一熱點問題上。

3.2 機器學習模型設計

用gridsearch遍歷模型參數,分別選擇最優的Logistic、Decision Tree、NB、SVM、Random Forest模型。模型參數如表3所示。

表3 機器學習模型參數

3.3 深度學習模型設計

分別訓練CNN模型、RNN模型和RCNN模型進行文本的情感分析。

CNN的卷積核大小分別為2、3和4,即CNN可以提取到bi-gram、tri-gram和four-gram的信息,卷積核數量為32。模型結構如圖5所示。

圖5 CNN模型結構

RNN中雙向LSTM的隱藏層大小為32,隱藏層層數為2層。將正向LSTM的輸出和反向LSTM的輸出拼在一起,經過全連接層和softmax層后輸出結果。模型結構如圖6所示。

圖6 RNN模型結構

RCNN模型與經典結構有所不同。本項目采用LSTM隱藏層神經元的個數為32,隱藏層數為2層,并將詞向量與LSTM輸出鏈接在一起,經過max-pooling層提取特征后輸出分類結果。模型結構如圖7所示。

圖7 RCNN模型結構

三者都采用Adam優化算法進行優化,學習率設置為1e-4,epoch設置為20。

3.3.1 分類算法評價指標

為明確不同分類器的優缺點,應先了解怎樣計算評價指標。TP 代表將正類樣本判斷為正類的數量,FN代表將正類樣本判斷為負類的數量,FP 代表將負類樣本判斷為正類的數量,TN 代表將負類樣本判斷為負類的數量。通過計算得到相對應的精確率、準確率、召回率和f1值,計算公式分別如下:

(3)

(4)

(5)

(6)

4 實驗結果及分析

4.1 機器學習模型結果

為了驗證本文提出的傳統機器學習模型與深度學習模型準確率對比的結果,將單一的機器學習模型(邏輯回歸、決策樹、樸素貝葉斯、支持向量機和隨機森林)與集成模型1(決策樹+樸素貝葉斯+邏輯回歸)、集成模型2(支持向量機+邏輯回歸+決策樹)和集成模型3(支持向量機+邏輯回歸+決策樹+樸素貝葉斯)進行測試結果比對,結果見表4。

表4 機器學習模型和其集成模型測試結果

由表4可知,集成模型1的accuraty最高,樸素貝葉斯的precision最高,集成模型1和支持向量機的recall最高,決策樹f1的 score最高,基于準確率高的前提下集成模型1的用時最短。

4.2 深度學習模型結果及分析

基于RNN和CNN單一分類器、RCNN分類器以及RCCR分類器進行了4組實驗,分析深度學習模型各項指標,得到實驗結果如表5所示。

表5 深度學習模型和集成模型測試結果

由表5可知,集成模型RCCR因為綜合了RNN、CNN和RCNN的優點,準確率有了明顯的提升,缺點是用時隨著準確率的提升也明顯增加了。

4.3 最優模型結合結果及分析

選取機器模型中準確率最高,用時最少的集成模型1與深度學習模型中準確率最高,但用時最多的集成模型RCCR進行結合,得到各項性能最優的模型best1,結果見表6。

表6 best1測試結果

通過表6可以看出,將集成模型1和RCCR相結合之后的算法best1,不僅中和了機器學習和深度學習模型的缺點,而且提高了準確率并且有效地縮短了用時,新的模型相對機器學習算法準確率提高了近20%,所用時長相對于深度學習集成模型也縮短了近二分之一。

5 總結

從評估結果的對比可以看出,深度學習的評估值均優于傳統機器學習模型,但是在效率性能方面深度學習模型卻遠遠不如傳統機器學習模型。在進行了一系列的實驗后,最終將深度學習模型與機器學習模型相整合,得到的best1模型不但有效提升了文本分類的準確率而且可以中和深度學習耗時久的缺點,這樣得出的分類器才可以更好地被應用。

本文對數據的大小和復雜性沒有做出較為深入的研究,會存在其他因素影響到文本劃分的準確度。利用機器學習和深度學習算法及模型集成,可以對微博評論做出情感分析,判斷該條評論整體是呈現消極還是積極的情感態度,并且經過反復對比優化后得到準確率高的分類器可以保存并運用在其他微博評論中,達到智能、高效的輿情管控及情緒引導效果。

猜你喜歡
分類器準確率卷積
學貫中西(6):闡述ML分類器的工作流程
基于3D-Winograd的快速卷積算法設計及FPGA實現
乳腺超聲檢查診斷乳腺腫瘤的特異度及準確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準確率比較探討
2015—2017 年寧夏各天氣預報參考產品質量檢驗分析
基于樸素Bayes組合的簡易集成分類器①
頸椎病患者使用X線平片和CT影像診斷的臨床準確率比照觀察
卷積神經網絡的分析與設計
從濾波器理解卷積
一種自適應子融合集成多分類器方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合