袁瓊芳,張志強(qiáng)
(貴州師范學(xué)院 數(shù)學(xué)與大數(shù)據(jù)學(xué)院,貴州 貴陽 550018)
突發(fā)公共衛(wèi)生事件是近年來熱點比較高的新聞事件,非常容易引起社會公眾的關(guān)注和大面積的網(wǎng)絡(luò)輿情討論,這類輿情次生輿情爆發(fā)風(fēng)險高,需要政府和相關(guān)部門具備全面的應(yīng)急管理和輿情識別的技能。傳統(tǒng)輿情情感分類技術(shù)在面對海量文本數(shù)據(jù)識別中存在速度慢、準(zhǔn)確率低、成本高等問題,深度學(xué)習(xí)是近年來輿情情感分類的熱點技術(shù),可以快速準(zhǔn)確低成本地對海量輿情進(jìn)行情感分類。TextCNN是Kim[1]在2014年提出的文本分類模型,該模型將深度學(xué)習(xí)CNN推廣應(yīng)用到文本分類領(lǐng)域?;谏鲜霰尘?本文采用TextCNN模型對突發(fā)公共衛(wèi)生事件網(wǎng)絡(luò)輿情分類工作展開相關(guān)研究。
深度學(xué)習(xí)在網(wǎng)絡(luò)輿情情感識別方面的研究和應(yīng)用是國內(nèi)學(xué)者近年來研究的熱點。鄧?yán)诘萚2]搭建了基于深度學(xué)習(xí)的網(wǎng)絡(luò)輿情監(jiān)測系統(tǒng)框架;李芳等[3]設(shè)計了深度語義框架,構(gòu)造自媒體網(wǎng)絡(luò)輿情情緒分類模型,并在開放數(shù)據(jù)集中進(jìn)行了實證研究;邵輝[4]提出了BERT-TextCNN 網(wǎng)絡(luò)模型,并將該模型用于外賣中文評論數(shù)據(jù)集上進(jìn)行情感分析;董晨[5]提出了基于深度學(xué)習(xí)算法的改進(jìn)TextCNN分類模型且對新聞短文本數(shù)據(jù)進(jìn)行了準(zhǔn)確情感分類;彭清泉等[6]提出了基于ChineseBERT-BiSRU-AT的醫(yī)療文本分類模型,并對醫(yī)學(xué)影像報告文本數(shù)據(jù)集進(jìn)行了實驗。
突發(fā)公共衛(wèi)生事件發(fā)生后,新浪微博等互聯(lián)網(wǎng)平臺上充斥著社會公眾對突發(fā)公共衛(wèi)生事件的各種輿情信息,如何對海量輿情數(shù)據(jù)進(jìn)行快速識別和有效引導(dǎo)是政府和相關(guān)企業(yè)工作的重要內(nèi)容。本文的研究思路如圖1所示。
圖1 研究思路
(1)突發(fā)公共衛(wèi)生事件在新浪微博平臺上相關(guān)網(wǎng)絡(luò)輿情的數(shù)據(jù)采集和數(shù)據(jù)預(yù)處理。
(2)TextCNN卷積神經(jīng)網(wǎng)絡(luò)文本分類模型對訓(xùn)練集數(shù)據(jù)進(jìn)行訓(xùn)練和對驗證集數(shù)據(jù)進(jìn)行驗證。
(3)運用調(diào)試好的TextCNN模型對待分類海量數(shù)據(jù)集進(jìn)行輿情情感分類。
2.2.1 數(shù)據(jù)采集
新浪微博是社會公眾關(guān)注了解突發(fā)公共衛(wèi)生事件新聞和發(fā)展趨勢的主要平臺,由此新浪微博上聚集了大量網(wǎng)民關(guān)于突發(fā)公共衛(wèi)生事件的輿情討論,也由此產(chǎn)生了大量的網(wǎng)絡(luò)輿情數(shù)據(jù)。本文研究過程中通過相關(guān)爬蟲工具從新浪微博平臺爬取網(wǎng)民評論的輿情數(shù)據(jù),將數(shù)據(jù)進(jìn)行整理后形成待分類輿情數(shù)據(jù)集。
2.2.2 數(shù)據(jù)預(yù)處理
研究中采集得到的數(shù)據(jù)較多,很多是重復(fù)無效的評論,首先進(jìn)行文本清洗,可通過Excel和Python對原始數(shù)據(jù)進(jìn)行重復(fù)值刪除、缺失值刪除、數(shù)據(jù)合并與整合等文本清洗操作;文本清洗之后通過Python的jieba對評論文本數(shù)據(jù)進(jìn)行中文分詞、去停用詞、統(tǒng)計詞頻操作;最后將中文分詞后的每個詞映射到一個數(shù)值索引,再通過字典將文本分詞后的序列轉(zhuǎn)為數(shù)值索引的序列。本文實驗過程中轉(zhuǎn)換時統(tǒng)一序列長度為20,以便輸入模型,不滿20長度的填充0,0對應(yīng)
2.2.3 TextCNN模型
TextCNN模型針對輿情文本分類和情感識別工作都能夠得到比較準(zhǔn)確的結(jié)果,該模型經(jīng)過以下4個步驟完成。
(1)輸入層。
輸入層的關(guān)鍵問題在于文本表示。本文研究中將數(shù)據(jù)預(yù)處理階段處理后的數(shù)值序列導(dǎo)入模型,通過Embedding層,初始化權(quán)重使用Baidu Encyclopedia 百度百科中文詞向量(300維)[7],將每個詞表示成一個向量,此時數(shù)值序列轉(zhuǎn)化為20×300的矩陣向量。
(2)卷積層。
卷積層中涉及多個超參數(shù)的設(shè)置,需要在具體實驗任務(wù)中嘗試才能得到最優(yōu)的卷積效果,本文研究中對卷積層的參數(shù)調(diào)試后設(shè)置如下:卷積核數(shù)量(卷積中濾波器數(shù)量)設(shè)置為256,卷積核大小設(shè)置為3,激活函數(shù)設(shè)置為relu,初始化權(quán)值he_normal,strides設(shè)置為1。卷積操作之后將輸入層向量轉(zhuǎn)變成18×256的卷積特征矩陣。
(3)池化層。
池化層(Pooling)的主要作用是通過一定處理來減少模型參數(shù)個數(shù),且在該過程中可以有效地防止模型出現(xiàn)過擬合現(xiàn)象。Pooling的方法很多,本文研究中選擇的是全局最大池化 GlobalMaxPool1D,通過GlobalMaxPool1D操作將卷積層18×256的特征轉(zhuǎn)化為一維的特征。
(4)全連接及輸出層。
池化層操作之后進(jìn)入全連接層,通過 Dropout 操作預(yù)防模型過擬合,最后通過 Softmax 計算每個情感類別的概率。
2.2.4 模型訓(xùn)練與驗證
TextCNN模型基本框架設(shè)計出來之后,需要對模型中的參數(shù)進(jìn)行不斷調(diào)試,以確定最佳模型參數(shù)。對此,研究中從原始待分類數(shù)據(jù)集提取一部分?jǐn)?shù)據(jù)(分為訓(xùn)練集和驗證集)進(jìn)行訓(xùn)練和驗證。
為評估TextCNN模型文本情感分類算法的性能,本文選取準(zhǔn)確率和損失函數(shù)兩個指標(biāo)對模型進(jìn)行評價。
準(zhǔn)確率(Accuracy)是指文本分類器判別的所有情緒類別中正確的情緒類別的占比,計算公式為:
其中,ncorrect表示突發(fā)公共衛(wèi)生事件輿情評論被文本分類器正確分類的數(shù)量;ntotal表示突發(fā)公共衛(wèi)生事件輿情評論的總數(shù)量。
損失函數(shù)(Lossfunction)一般指單個訓(xùn)練樣本預(yù)測值與真實值之間的誤差,在模型不存在過擬合的情況下,損失函數(shù)Loss值應(yīng)該越小越好。損失函數(shù)有很多選擇,對于解決多分類工作的情況,可以選擇交叉熵?fù)p失函數(shù)來評價模型的誤差情況。交叉熵的公式為:
其中,p(xi)表示樣本的真實分布,q(xi)表示預(yù)測分布,n是總樣本個數(shù)。
2.2.5 對待分類數(shù)據(jù)進(jìn)行情感分類
為及時掌握網(wǎng)民對突發(fā)公共衛(wèi)生事件的看法和情感走向,需要對爬取的輿情數(shù)據(jù)進(jìn)行快速有效的情感識別和分類?;谏鲜鰳?gòu)建的TextCNN模型,對待分類的數(shù)據(jù)集進(jìn)行情感區(qū)分,本文將網(wǎng)民的情感區(qū)分為正面、中立、負(fù)面3種不同狀態(tài)。
本研究數(shù)據(jù)運行需要的實驗環(huán)境配置如表1所示。
表1 實驗環(huán)境配置
本文通過大數(shù)據(jù)爬蟲軟件從新聞微博上爬取2020年和2021年的突發(fā)公共衛(wèi)生事件相關(guān)新聞的輿情評論數(shù)據(jù),通過數(shù)據(jù)預(yù)處理后共得到27 260條數(shù)據(jù)。
TextCNN模型的最佳狀態(tài)不是唯一的,需要通過訓(xùn)練集數(shù)據(jù)進(jìn)行多次實驗測試才能確定模型的最佳參數(shù),還需要通過驗證集數(shù)據(jù)對模型的預(yù)測準(zhǔn)確性進(jìn)行評價。從原始評論數(shù)據(jù)中選取1 200條輿情評論數(shù)據(jù)進(jìn)行情感人工標(biāo)注,為了使人工標(biāo)注結(jié)果更具代表性,共標(biāo)注出1 200條情感評論(400條正面評論、400條中立評論、400條負(fù)面評論),將1 200條人工標(biāo)注情感的數(shù)據(jù)再次分為訓(xùn)練集數(shù)據(jù)(720條)和驗證集數(shù)據(jù)(480條),將訓(xùn)練集數(shù)據(jù)代入TextCNN模型進(jìn)行訓(xùn)練后,代入驗證集數(shù)據(jù)進(jìn)行驗證,epoch次數(shù)會影響模型準(zhǔn)確率,對dropout參數(shù)也做了多次調(diào)試,通過實驗對比,確認(rèn)最佳關(guān)鍵參數(shù)設(shè)置如表2所示。
表2 模型主要參數(shù)設(shè)置
模型準(zhǔn)確率和損失值會隨著epoch次數(shù)調(diào)整發(fā)生改變,通過模型訓(xùn)練,當(dāng)epoch次數(shù)為50時,模型綜合效果最優(yōu),訓(xùn)練集準(zhǔn)確率達(dá)到99.86%,驗證集準(zhǔn)確率達(dá)到74.17%,訓(xùn)練集損失函數(shù)值0.117 2,驗證集損失函數(shù)值0.698 9,具體如圖2所示。
圖2 不同epoch次數(shù)對應(yīng)的模型準(zhǔn)確率和損失值變化
圖2中,左圖的橫坐標(biāo)epoch表示模型訓(xùn)練次數(shù),縱坐標(biāo)Accuracy表示準(zhǔn)確率;右圖的橫坐標(biāo)epoch表示模型訓(xùn)練次數(shù),縱坐標(biāo)表示Loss損失函數(shù)值。
通過訓(xùn)練集訓(xùn)練得到最優(yōu)的TextCNN模型后對待分類數(shù)據(jù)集進(jìn)行情感分類,通過分類結(jié)果可以對網(wǎng)民的輿情情感進(jìn)行判斷。
突發(fā)公共衛(wèi)生事件是近年來熱點比較高的新聞事件,非常容易引起社會公眾的關(guān)注和大面積的網(wǎng)絡(luò)輿情討論,對網(wǎng)民的情感評判和引導(dǎo)是政府和相關(guān)企業(yè)工作的重要內(nèi)容。本文基于TextCNN模型對突發(fā)公共衛(wèi)生事件網(wǎng)絡(luò)輿情進(jìn)行情感分類,通過網(wǎng)絡(luò)爬蟲工具爬取微博平臺上的突發(fā)公共衛(wèi)生事件網(wǎng)絡(luò)輿情數(shù)據(jù),采用人工標(biāo)注方式挑選出訓(xùn)練集數(shù)據(jù)和驗證集數(shù)據(jù),運用Python軟件代入TextCNN模型進(jìn)行訓(xùn)練測試后得到了較優(yōu)的分類模型,該模型可以運用到突發(fā)公共衛(wèi)生事件的具體實踐分類中。本文的實證成果對政府相關(guān)部門快速判斷公眾輿情走向、把握輿論引導(dǎo)的最佳時機(jī)、掌握輿論引導(dǎo)的分寸火候均有一定參考意義。