許學添 鄒同浩 肖楓
(廣東司法警官職業(yè)學院 廣東省廣州市 510520)
輿情是指在一定的社會空間內(nèi),圍繞社會事件的發(fā)生、發(fā)展和變化,作為主體的民眾對作為客體的社會管理者、企業(yè)、個人及其他各類組織及其政治、社會、道德等方面的取向產(chǎn)生和持有的社會態(tài)度,是較多群眾關于社會中各種現(xiàn)象、問題所表達的信念、態(tài)度、意見和情緒等等表現(xiàn)的總和。隨著信息技術的發(fā)展和互聯(lián)網(wǎng)媒體的興起,截至2021年2月,我國的網(wǎng)民數(shù)量已經(jīng)達到9.89 億,網(wǎng)絡已經(jīng)成為輿情產(chǎn)生與傳播的主要途徑,特別是社會生活中的熱點事件或問題,更是會有大量網(wǎng)民通過評論表達出自己的情感態(tài)度,通過對這些網(wǎng)絡輿情進行情感分析[1],可以有效掌握和解讀民意,科學、高效地做好輿情監(jiān)控和引導工作。
網(wǎng)絡輿情一般是以文本作為表現(xiàn)形式,隨著自然語言處理技術的發(fā)展與成熟,利用其來對網(wǎng)絡輿情進行分析處理,成為目前網(wǎng)絡輿情自動監(jiān)測的一種主流方法,其中對網(wǎng)絡輿情的情感傾向分析是一個重要的研究方向。XingMou 等[2]結合了知網(wǎng)HowNet 情感詞典和其他領域詞典對微博上關于電影的評論進行了情感分析;劉志明等[3]使用了三種特征選取方法和三種特征值權重計算方法,通過訓練SVM 分類模型、貝葉斯分類模型、n 元語言模型進行情感分類的研究;Xiao Sun 等[4]通過擴展的卷積神經(jīng)網(wǎng)絡,完成對微博內(nèi)容的情感識別;李洋等[5]提出一種卷積神經(jīng)網(wǎng)絡和雙向長短時記憶特征融合的模型,利用卷積神經(jīng)網(wǎng)絡提取文本向量的局部特征,利用BiLSTM 提取與文本上下文相關的全局特征,將兩種互補模型提取的特征進行融合,提高了文本情感識別的準確率。
本文所設計的是基于深度學習的網(wǎng)絡輿情情感分析系統(tǒng),利用爬蟲技術獲取網(wǎng)絡上的輿情文本數(shù)據(jù),在標注后,由深度學習模型對句子中詞向量的情感特征進行學習,訓練后的模型可以對新采集的輿情數(shù)據(jù)進行情感分析,統(tǒng)計出網(wǎng)民們的情感傾向,并通過Web系統(tǒng)進行管理和數(shù)據(jù)顯示。
系統(tǒng)整體設計包括數(shù)據(jù)采集、數(shù)據(jù)存儲、情感分析和系統(tǒng)管理四個模塊,如圖1所示,數(shù)據(jù)采集采用分布式爬蟲,由IP 代理池和Cookie 池實現(xiàn)多IP 地址的訪問偽裝和多用戶模擬登錄,由Scrapy 爬蟲框架實現(xiàn)數(shù)據(jù)抓取,Scrapy 是Python 開發(fā)的一個快速Web 信息抓取框架,用于抓取Web 站點并從頁面中提取結構化的數(shù)據(jù),獲取的數(shù)據(jù)以文檔的形式存儲在MongoDB 數(shù)據(jù)庫。
圖1:系統(tǒng)整體結構
情感分析模塊主要完成對獲取的文本輿情數(shù)據(jù)進行情感分析,實現(xiàn)的方法主要有幾種,包括基于情感詞典的情感分析方法、基于傳統(tǒng)機器學習的情感分析方法和基于深度學習的情感分析方法等[6]。基于情感詞典的情感分析方法,主要依賴情感詞典的構建,在信息爆炸的今天,各種網(wǎng)絡流行語、諧音語、雙關語等新詞語層出不窮,這就要求情感詞典不斷擴充才能保證分析的正確率;而基于傳統(tǒng)機器學習的情感分析方法,使用統(tǒng)計機器學習算法,抽取文本情感特征,輸出情感分析結果,往往過度依賴文本情感特征的提取方法以及分類器的設計,也不能充分考慮上下文的語境信息,也存在一定的缺陷。本系統(tǒng)主要采用基于深度學習的情感分析方法,該方法可以有效解決情感詞典擴充和文本情感特征提取的問題,由深度學習的模型自主學習文本信息高維度的、深層次的情感特征信息,可以進一步提高分析的準確度。
情感分析模塊首先要對輿情文本數(shù)據(jù)進行預處理,包括:
(1)數(shù)據(jù)清洗,去除文本含有的“噪聲”;
(2)分詞處理,利用jieba 分詞工具包將語句進行中文分詞;
(3)去除停用詞,借助已有的停用詞詞典,過濾掉文本中的停用詞,降低停用詞對分析結果的影響。
預處理之后進行詞向量轉(zhuǎn)換[7],通過算法模型將文本轉(zhuǎn)化為一系列能夠表示文本的語義向量,本文借助Gensim 工具包中Word2Vec 模型完成詞向量訓練。最后,詞向量作為input,輸入一個長短期記憶網(wǎng)絡(Long Short-Term Memory, LSTM)[8]和卷積神經(jīng)網(wǎng)絡(Convolution Neural Network, CNN)[9]組成的深度學習模型,在完成調(diào)參、訓練后對文本進行情感分析。
系統(tǒng)管理模塊作為系統(tǒng)的用戶接口模塊,包括用戶管理和對輿情情感分析結果進行可視化顯示,系統(tǒng)采用瀏覽器/服務器(B/S)結構,為了方便調(diào)用深度學習模型,采用Flask Web 框架,用戶數(shù)據(jù)和情感分析結果數(shù)據(jù)存儲在MySQL 數(shù)據(jù)庫,按照事件、時間、情感傾向等因素進行結果展示,可視化工具采用Echarts 庫。
基于深度學習的情感分析模型是本系統(tǒng)的核心模塊,主要采用LSTM+CNN 建立網(wǎng)絡輿論數(shù)據(jù)的情感分類模型。
卷積神經(jīng)網(wǎng)絡是一種流行的深度學習模型,通過多維的卷積核可以獲取信息對象不同層次的多維特征,再通過池化操作來取得局部的關鍵信息。詞嵌入層(Word Embedding)[10]是一層可學習的神經(jīng)網(wǎng)絡,基于CBOW 和Skip-gram 兩種模型,將高維度稀疏的特征向量映射為低維度稠密的詞向量,并且詞向量之間具有較高的主義相關性;CNN 用一維卷積核就可以抽取不同粒度的短文本特征,可以高效地挖掘數(shù)據(jù)的局部特征,但是CNN 在處理文本信息時,比較依賴卷積核長度,對語序不敏感,CNN 的公式如下:
LSTM 網(wǎng)絡是遞歸神經(jīng)網(wǎng)絡(RNN)的一種變體,它能解決RNN 的梯度消失問題,更重要的是相對于RNN,其增加了3 個特殊的門:輸入門、輸出門和遺忘門,這樣其記憶單元就具有了保存、更新和重置功能,具有兼顧長距離歷史信息的能力,應用在文本信息處理中,可以有效提取上下文語義信息,LSTM 的計算公式如下,其中σ 為Sigmod 激活函數(shù),代表了門開關,it為輸入門的輸出,ot輸出門的輸出,ft為遺忘門輸出,W 為對應的權重,b 為對應的偏置,LSTM 的更新公式為:
本文基于深度學習的文本情感分類模型如圖2所示,每個句子分詞后,每個詞的詞向量作為輸入(Input),通過詞嵌入層(Word embeding)重新映射為長度128 的詞向量,再分別獨立經(jīng)過CNN 層和LSTM 層進行特征提取,其中CNN 層卷積核長度為512,數(shù)量為36,LSTM 層單元數(shù)量為64,之后通過RuLU 激活函數(shù)進行非線性變換,再進行dropout 處理,按照一定的概率p 將神經(jīng)網(wǎng)絡單元暫時從網(wǎng)絡中丟棄,再分別通過最大值池化操作(Max pooling),將特征進行降采樣,以減少運算量和防止過擬合,池化操作后的CNN 層特征和LSTM 層特征再進行特征融合,輸入全連接層神經(jīng)網(wǎng)絡(Full connection)進一步特征提取,最后通過Softmax 分類器輸出文本情感分類結果。
圖2:文本情感分類模型
本文采用第二十六屆全國信息檢索學術會議評測大賽提供的網(wǎng)民情緒數(shù)據(jù)集(https://www.datafountain.cn/competitions/423/datasets)進行測試,該數(shù)據(jù)集是230 個主題關鍵詞進行采集的數(shù)據(jù),其中10 萬條已經(jīng)人工標注(積極、中性和消極)的數(shù)據(jù)70%作為訓練集,30%作為驗證集,在驗證集上可以得到70.4%的準確率,F(xiàn)1 值為73.1。
本文提出了一種基于深度學習的輿情情感監(jiān)測系統(tǒng),通過爬蟲技術抓取網(wǎng)絡中的評論文本數(shù)據(jù),再調(diào)用基于CNN 和LSTM 融合的深度學習模型進行情感分類,訓練后的模型可以充分考慮句子不同粒度的短文本特征和上下文信息,因此能夠獲得較好情感分類效果,最后系統(tǒng)將情感傾向按照事件、時間等因素進行可視化展示。該系統(tǒng)可以及時監(jiān)測廣大網(wǎng)民對某一事件的態(tài)度,實現(xiàn)科學、高效的輿情分析和引導,具有較高的應用價值。