韋芬
(西安航空職業(yè)技術(shù)學(xué)院,陜西西安 710089)
隨著媒體技術(shù)與傳播形式的不斷演變,目前已進(jìn)入了數(shù)字化信息時(shí)代。數(shù)字化媒體基于互聯(lián)網(wǎng)及移動(dòng)通信技術(shù),向互聯(lián)網(wǎng)用戶提供各種數(shù)字化形式的信息。當(dāng)前數(shù)字化媒體的種類繁多,例如信息流媒體、網(wǎng)絡(luò)社區(qū)、微博與門戶網(wǎng)站等,這類媒體可便于用戶交流意見和發(fā)表觀點(diǎn),但也會(huì)引發(fā)輿情危機(jī),導(dǎo)致謠言或不實(shí)信息病毒式蔓延。因此,進(jìn)行快速、精準(zhǔn)的網(wǎng)絡(luò)輿情數(shù)據(jù)分析及預(yù)警已成為當(dāng)前學(xué)校思政管理與網(wǎng)絡(luò)信息監(jiān)控部門的首要任務(wù)[1-3]。
分析網(wǎng)絡(luò)輿情數(shù)據(jù)的思路是將文本信息送入服務(wù)器后臺(tái),由算法或人工對(duì)信息進(jìn)行判斷。其中,由于人工審核速度慢且成本高,所以無法滿足用戶在實(shí)時(shí)信息流平臺(tái)中進(jìn)行交流的需求;而傳統(tǒng)算法雖然審核速度快,但普通服務(wù)器有時(shí)難以承載當(dāng)前海量的信息流數(shù)據(jù),因此會(huì)出現(xiàn)宕機(jī)、服務(wù)器卡頓等現(xiàn)象。然而隨著大數(shù)據(jù)及云服務(wù)器技術(shù)的發(fā)展,海量數(shù)據(jù)的采集、存儲(chǔ)與分析也成為可能。因此,該文使用并行計(jì)算手段,依托于并行云服務(wù)器構(gòu)建網(wǎng)絡(luò)輿情數(shù)據(jù)分析平臺(tái),進(jìn)而建立完善的輿情預(yù)警及引導(dǎo)機(jī)制。
Hadoop 平臺(tái)[4-7]是由Google 公司設(shè)計(jì)、基于Java語言開發(fā)的分布式數(shù)據(jù)處理架構(gòu)。其兼容性較強(qiáng),且擁有良好的跨平臺(tái)屬性,使用者無需了解分布式計(jì)算架構(gòu)即可調(diào)用API 接口實(shí)現(xiàn)數(shù)據(jù)的分布式存儲(chǔ)與管理。Hadoop 平臺(tái)架構(gòu)如圖1 所示。

圖1 Hadoop平臺(tái)架構(gòu)
Hadoop 架構(gòu)主要由管理層節(jié)點(diǎn)與任務(wù)層節(jié)點(diǎn)組成。該平臺(tái)主要包含兩大核心模塊,分別為負(fù)責(zé)文件存儲(chǔ)的HDFS(Hadoop Distribute File System)及負(fù)責(zé)數(shù)據(jù)并行計(jì)算的MapReduce。
1)HDFS 分布式文件系統(tǒng)
HDFS 是一種分布式文件存儲(chǔ)系統(tǒng),該系統(tǒng)支持大吞吐量的數(shù)據(jù)交換及超大型文件的存儲(chǔ)。其成本較低、容錯(cuò)率高,且支持?jǐn)?shù)據(jù)回滾,故可有效保證數(shù)據(jù)存儲(chǔ)的安全性。
HDFS 架構(gòu)通常使用主從機(jī)體系結(jié)構(gòu),由一個(gè)NameNode 和多個(gè)DataNode 混合節(jié)點(diǎn)組成,如圖2 所示。其中,NameNode 節(jié)點(diǎn)負(fù)責(zé)主機(jī)管理的任務(wù),其可管理文件命名空間,同時(shí)也能受理從節(jié)點(diǎn)的管理請(qǐng)求。而DataNode 節(jié)點(diǎn)則為從機(jī)存儲(chǔ)節(jié)點(diǎn),該節(jié)點(diǎn)可將文件加以存儲(chǔ),并與NameNode 節(jié)點(diǎn)進(jìn)行交互。

圖2 HDFS架構(gòu)
2)MapReduce 編程模型
MapReduce 是一種分布式的編程模型,該模型可對(duì)海量數(shù)據(jù)進(jìn)行并行處理,且其容災(zāi)率較高。MapReduce 解決分布式問題的思路是將大型的計(jì)算任務(wù)小型化、分解化,并將分解后的子問題進(jìn)行集中計(jì)算。此外,該算法主要依靠Map 與Reduce 函數(shù)來實(shí)現(xiàn)。
對(duì)于輸入系統(tǒng)的大型數(shù)據(jù)而言,MapReduce 會(huì)將數(shù)據(jù)分解成若干個(gè)小數(shù)據(jù)塊,并形成多個(gè)鍵值文件。同時(shí),將其輸入至Map 子函數(shù)中,該函數(shù)便會(huì)對(duì)鍵值數(shù)據(jù)進(jìn)行過程處理與排序,形成的中間值能夠緩存至HDFS 系統(tǒng)中,然后再不斷送入Reduce 函數(shù)中進(jìn)行處理,最終便可得到處理結(jié)果。MapReduce架構(gòu)如圖3 所示。

圖3 MapReduce架構(gòu)
輿情數(shù)據(jù)的特點(diǎn)即情緒化和主觀化,因此該數(shù)據(jù)包含的文本信息通常存在較大的關(guān)聯(lián)。分析輿情數(shù)據(jù)的第一步是對(duì)該數(shù)據(jù)進(jìn)行分類,該文使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練,并得到分類結(jié)果。
CNN[8-11]是自然語言處理領(lǐng)域中常見的算法之一,該算法首先應(yīng)用于圖像處理領(lǐng)域。而在國外學(xué)者發(fā)現(xiàn)其可對(duì)文本數(shù)據(jù)進(jìn)行有效分析后,便被應(yīng)用至自然語言處理領(lǐng)域。CNN 算法由輸入層、卷積層、池化層及全連接層幾個(gè)部分組成,如圖4 所示。

圖4 CNN結(jié)構(gòu)
輸入層:當(dāng)使用CNN 模型處理文本數(shù)據(jù)時(shí),首先需要將輸入數(shù)據(jù)轉(zhuǎn)換成為詞向量,再將詞向量轉(zhuǎn)化為二維矩陣。輸入層的輸入過程如下:
式中,xinput為文本輸入,w表示文本中的詞向量,youtput1表示該層的輸出結(jié)果。
卷積層:該層為CNN 中的數(shù)據(jù)處理結(jié)構(gòu),其主要是對(duì)詞向量進(jìn)行卷積計(jì)算,進(jìn)而完成詞向量特征的抓取。卷積的計(jì)算過程為:
式中,Mi為數(shù)據(jù)源,youtput1和youtput2分別為卷積層的輸入與輸出數(shù)據(jù),kij為卷積窗口,bj為卷積層的偏置量,f則為卷積層的激活函數(shù)。
池化層:該層對(duì)卷積層數(shù)據(jù)進(jìn)行下采樣,主要是對(duì)輸入數(shù)據(jù)進(jìn)行采樣,再對(duì)輸出特征值進(jìn)行削減,進(jìn)而增強(qiáng)網(wǎng)絡(luò)的特征判斷能力。池化過程可表征為:
式中,Pooling()為池化算法,youtput2和youtput3為池化層的輸入及輸出數(shù)據(jù),f為池化層的激活函數(shù)。
雖然CNN 模型具備的結(jié)構(gòu)可對(duì)文本特征進(jìn)行提取,但該結(jié)構(gòu)無法獲取上下文數(shù)據(jù)的含義。因此為了增強(qiáng)其數(shù)據(jù)處理能力,該文將CNN 模型與BiLSTM(Bi-directional Long Short-Term Memory)模型結(jié)合,使其具備雙向性,便可提取文本全局特征,從而提高分類的準(zhǔn)確性。
BiLSTM 也被稱為雙向長短時(shí)神經(jīng)網(wǎng)絡(luò)[12-13],該網(wǎng)絡(luò)能進(jìn)行雙向?qū)W習(xí),進(jìn)而得到文本的前后含義,其網(wǎng)絡(luò)結(jié)構(gòu)如圖5 所示。基于CNN 與BiLSTM 的網(wǎng)絡(luò)結(jié)構(gòu)如圖6 所示。

圖5 BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)

圖6 CNN-BiLSTM網(wǎng)絡(luò)結(jié)構(gòu)
由圖6 可知,模型首先對(duì)輸入的文本數(shù)據(jù)進(jìn)行分層,將詞向量轉(zhuǎn)換為矩陣;之后再使用CNNBiLSTM 算法進(jìn)行分類,即采用CNN 提取局部優(yōu)勢(shì),利用BiLSTM 獲取文本全局特征;最終便可對(duì)特征加以合并,進(jìn)而輸出結(jié)果。
卷積神經(jīng)網(wǎng)絡(luò)與BP 神經(jīng)網(wǎng)絡(luò)的求解方式相似,也是串行的計(jì)算過程。該計(jì)算過程由三個(gè)步驟組成,分別為數(shù)據(jù)前向傳遞、更新權(quán)重后的后序傳遞及網(wǎng)絡(luò)權(quán)重值參數(shù)的調(diào)整。該文使用累計(jì)BP 算法[14]進(jìn)行數(shù)據(jù)的并行訓(xùn)練。數(shù)據(jù)訓(xùn)練的并行計(jì)算過程如圖7 所示。

圖7 并行計(jì)算過程
總體程序的主要執(zhí)行流程為:
1)數(shù)據(jù)經(jīng)過打包,形成DataSet 樣本數(shù)據(jù)包文件,同時(shí)從CNN-BiLSTM 為卷積神經(jīng)網(wǎng)絡(luò)模型接收數(shù)據(jù)[15-16]。
2)數(shù)據(jù)預(yù)處理,首先將DataSet 樣本存入HDFS并行存儲(chǔ)結(jié)構(gòu),同時(shí)將原始的CNN-BiLSTM 模型存入HDFS。
3)進(jìn)入MapReduce 進(jìn)行處理,且分多輪進(jìn)行,Map 算子的輸入和輸出均為鍵值,輸入鍵為文本的偏移量,輸入值為文本的實(shí)際內(nèi)容。輸出鍵則為占位符,輸出值為迭代后的CNN-BiLSTM 模型值。通過該算法程序,可大幅提升數(shù)據(jù)處理時(shí)的速度。
實(shí)驗(yàn)在PC 機(jī)平臺(tái)進(jìn)行,使用四臺(tái)服務(wù)器搭建了具有四個(gè)節(jié)點(diǎn)的Hadoop 架構(gòu),其中一臺(tái)服務(wù)器為主節(jié)點(diǎn),其余三臺(tái)則為從節(jié)點(diǎn)。服務(wù)器的具體配置如表1 所示。

表1 實(shí)驗(yàn)軟硬件環(huán)境配置
數(shù)據(jù)集選擇清華大學(xué)的中文新聞數(shù)據(jù)集合THUCnews。該數(shù)據(jù)集包括財(cái)經(jīng)、游戲、房產(chǎn)、生活等10個(gè)類別的新聞數(shù)據(jù),且在每個(gè)類別中選擇10 000條文本,并按照3∶1 的比例將數(shù)據(jù)劃分為訓(xùn)練集與測(cè)試集。
文中對(duì)算法的分類性能進(jìn)行測(cè)試,分類所使用的指標(biāo)為準(zhǔn)確率、召回率及F1 值。對(duì)比算法選擇CNN、BiLSTM、SVM,所有算法對(duì)同樣的數(shù)據(jù)樣本進(jìn)行訓(xùn)練,之后在測(cè)試集中進(jìn)行驗(yàn)證。測(cè)試結(jié)果如表2所示。

表2 測(cè)試結(jié)果
由表2 可知,各個(gè)算法在體育、政治、教育、游戲類目的新聞均能實(shí)現(xiàn)文本分類。但該文使用CNNBiLSTM 算法,在分類的同時(shí)加入了提升上下文含義的訓(xùn)練。故在分類結(jié)果中,該文算法的準(zhǔn)確率、召回率與F1 值在對(duì)比算法中均為最優(yōu),充分證明了該文算法的性能優(yōu)勢(shì)。
此外,該文將算法部署在Hadoop 并行計(jì)算集群中,為驗(yàn)證Hadoop 集群對(duì)算法計(jì)算時(shí)間和速度的影響,分別將算法布置在單機(jī),雙機(jī)及四機(jī)平臺(tái)中,以算法開始運(yùn)行至迭代完成所耗費(fèi)的時(shí)間為指標(biāo),計(jì)算結(jié)果如表3 所示。

表3 并行計(jì)算效果測(cè)試
從表3 中可以看出,當(dāng)數(shù)據(jù)量為1 000 條時(shí),單機(jī)與集群的訓(xùn)練時(shí)間大致相當(dāng),這是因?yàn)橛?xùn)練數(shù)量較少時(shí),集群計(jì)算的優(yōu)勢(shì)發(fā)揮并不突出;當(dāng)數(shù)據(jù)量增至5 000 條時(shí),雙機(jī)與四機(jī)的集群優(yōu)勢(shì)逐漸顯現(xiàn);而當(dāng)數(shù)據(jù)量增加至10 000 條時(shí),四機(jī)優(yōu)勢(shì)較為明顯,這說明在計(jì)算量較大時(shí),并行計(jì)算集群能夠顯著提升數(shù)據(jù)訓(xùn)練速度。
該文研究了一種基于并行計(jì)算的網(wǎng)絡(luò)輿情數(shù)據(jù)分析方法。針對(duì)傳統(tǒng)輿情數(shù)據(jù)處理系統(tǒng)分析速度慢,準(zhǔn)確率較低的問題,設(shè)計(jì)了一套網(wǎng)絡(luò)輿情數(shù)據(jù)分析系統(tǒng)。該系統(tǒng)分為并行計(jì)算系統(tǒng)及文本分類算法。文本分類算法將CNN 網(wǎng)絡(luò)與BiLSTM 網(wǎng)絡(luò)相結(jié)合,使算法具備更強(qiáng)的分類能力。而并行計(jì)算系統(tǒng)使用Hadoop 集群,有效提升了輿情數(shù)據(jù)的訓(xùn)練速度。系統(tǒng)的整體綜合性能較好,部署在并行集群中有效地提升了運(yùn)行速度。