杜夢星,王彥偉
武漢工程大學(xué)機電工程學(xué)院,湖北 武漢 430205
伴隨著當(dāng)今互聯(lián)網(wǎng)的飛速發(fā)展,面對互聯(lián)網(wǎng)渠道帶來的大量實時數(shù)據(jù),從中獲得數(shù)據(jù)并進行分析監(jiān)測已經(jīng)成為了重要途徑[1-2],在城市應(yīng)急管理體系中,建立能夠人機互動、隨需應(yīng)變、高效準(zhǔn)確的突發(fā)事件預(yù)警系統(tǒng)是提升政府應(yīng)急管理水平的重要手段[3]。對城市恐怖威脅突發(fā)事件,其存在的潛在威脅和相關(guān)部門的事后應(yīng)急救援、處理方式都會成為關(guān)注焦點,在事件傳播信息不準(zhǔn)確的情況下,就可能引發(fā)極大的負(fù)面作用,甚至影響到社會穩(wěn)定和政府公信力。因此,在當(dāng)今互聯(lián)網(wǎng)時代下,迫切需要對網(wǎng)絡(luò)傳播的恐怖威脅事件進行及時抓取、處理、分析和研判,以便及時有效地掌握事件的影響程度和演化規(guī)律。
相比于傳統(tǒng)的建模方式,采用數(shù)據(jù)獲取、分析、展示一體的智能化方式更加適應(yīng)當(dāng)今的互聯(lián)網(wǎng)環(huán)境。在數(shù)據(jù)分析部分,根據(jù)數(shù)據(jù)源類型,可以歸劃成為短文本分類的問題,傳統(tǒng)分類方法主要包含特征工程、特征選擇和機器學(xué)習(xí)算法3 個方面[4];隨著深度學(xué)習(xí)發(fā)展,越來越多的學(xué)者開始使用深度學(xué)習(xí)[5-7]來解決分類問題,這種方法基于深度神經(jīng)網(wǎng)絡(luò)的模型在無需大量人工特征的情況下取得了比傳統(tǒng)分類器更好的效果[8]。而隨著后續(xù)學(xué)者的深入研究,面對上述網(wǎng)絡(luò)模型的特征表達語義弱、文本表示維度高等問題,提出了相關(guān)改進算法,謝金寶等[9]提出基于語義理解的注意力神經(jīng)網(wǎng)絡(luò)、長短期記憶網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)(convolution neural network,CNN)的多元融合的文本分類模型,結(jié)果表明相較于傳統(tǒng)的結(jié)構(gòu)模型,該模型的文本識別能力提升較為明顯。
對傳統(tǒng)CNN 結(jié)合統(tǒng)計的方法雖然可以通過構(gòu)建詞向量和權(quán)重保留詞語上下文關(guān)系,但傳統(tǒng)CNN 表達能力卻沒有提高。本文提出通過采用結(jié)合改進型詞頻-逆文本頻率(term frequency-inverse document frequency,TI)、word2vec 的改 進型CNN為分析模型,建立了一套以當(dāng)?shù)叵嚓P(guān)安全網(wǎng)站所發(fā)布的安全新聞事件為研究對象,以挖掘和分析事件中存在的威脅隱患為目的智能化獲取、分析、展示數(shù)據(jù)研判系統(tǒng),以便獲取恐怖威脅突發(fā)事件安保預(yù)警等級,協(xié)助安保部門提升城市安全事件威脅檢測效率,從而降低對社會造成的各類損失。
系統(tǒng)的主要任務(wù)是挖掘和分析針對當(dāng)?shù)卦诨ヂ?lián)網(wǎng)中發(fā)布的突發(fā)事件相關(guān)信息并及時向城市突發(fā)事件應(yīng)急管理部門提示預(yù)警等級,用于考慮是否提升相應(yīng)地區(qū)應(yīng)急管理力度,提高應(yīng)急保障部門工作效率以減少相應(yīng)損失,因此系統(tǒng)功能設(shè)計為如圖1 所示的3 大模塊。
整個系統(tǒng)的城市恐怖突發(fā)事件的威脅分析工作流程分為3 個階段,采用python 開源框架Scrapy,實現(xiàn)對擬定網(wǎng)站的遍歷爬取,獲取突發(fā)事件相關(guān)信息,以結(jié)構(gòu)化方式存入到數(shù)據(jù)庫中。再利用分詞清洗功能進行預(yù)處理,再代入CNN 核心算法模型中分析研判,給出應(yīng)急等級,最后采用B/S(Browser/Server)技術(shù)實現(xiàn)對應(yīng)急等級和相應(yīng)數(shù)據(jù)的展示,整套系統(tǒng)具體工作流程如圖2 所示。
圖1 系統(tǒng)模塊組成及整體架構(gòu)Fig.1 Composition and overall architecture of system modules
圖2 威脅預(yù)警系統(tǒng)運行流程圖Fig.2 Operation flowchart of threat warning system
單條突發(fā)事件威脅程度的劃分,參考我國突發(fā)公共事件分類等級,結(jié)合系統(tǒng)應(yīng)用環(huán)境的實際,將單條事件的等級劃分為4 個等級,分別為I 級(紅色)、II 級(橙色)、III 級(黃色)、IV 級(藍色),威脅程度分別對應(yīng)重大威脅、較大威脅、一般威脅、輕微威脅。城市應(yīng)急等級也將分為4 種程度,分別為I、II、III、IV 級安保等級,I 級最高,同時排除無威脅度事件IV 級數(shù)量。安保等級數(shù)值計算公式為:
其中a,b,c,d 分別對應(yīng)4 種等級威脅度突發(fā)事件的數(shù)量,參照類似G.A.Millar 的9 級量化方法[10],將事件類型采用四級量化權(quán)重值,分別為0.9,0.6,0.3,0.0。由于關(guān)于突發(fā)事件威脅度的語料相對較少,采用人工篩選標(biāo)記的方法對采集樣本進行標(biāo)記分類,以最近1 個月為1 個期間段,同往期數(shù)據(jù)比較,確定表1 所示威脅等級數(shù)值T 取值范圍。
根據(jù)上述設(shè)計方案,在Windows 10 上以開發(fā)語言python 為主,采用B/S 架構(gòu)設(shè)計,集結(jié)HTML、CSS、JavaScript、Echarts 等技術(shù)開發(fā)系統(tǒng)前臺界面;使用Scrapy 爬蟲框架對指定統(tǒng)一資源定位符(uni-form resource locator,URL)數(shù)據(jù)進行抓取并利用JieBa 分詞對其進行分詞、清洗;采用結(jié)合了word2vec 的改進型CNN 模型對數(shù)據(jù)進行威脅度分類;數(shù)據(jù)庫管理系統(tǒng)采用MySQL;以Django 為Web服務(wù)器。在硬件方面,均采用Lenovo Inter(R)Core(TM)i5-7400CPU 服務(wù)器,8 GB 運行內(nèi)存,Centos7操作系統(tǒng),其中數(shù)據(jù)研判機器顯卡為NVIDIA Ge-Force GTX 1060 Founders。
表1 安保等級劃分相應(yīng)取值范圍Tab.1 Value ranges of security grade classification
在構(gòu)建威脅度研判模型時,首先需要對數(shù)據(jù)采集入庫模塊所采集的數(shù)據(jù)進行預(yù)處理,將文本數(shù)據(jù)轉(zhuǎn)換成網(wǎng)絡(luò)模型的輸入向量矩陣,系統(tǒng)采用的word2vec 是一種快速有效地訓(xùn)練詞向量模型的方法[11],具體為先對文本w 采用JieBa 分詞對整個文本進行分詞處理,處理后文本中的每1 條數(shù)據(jù)和經(jīng)過分詞后的文本轉(zhuǎn)換為低維數(shù)值向量的形式如下:
其中n 為詞語個數(shù),列向量Vwi與詞wi相對應(yīng),由多維數(shù)值構(gòu)成。而為了刻畫詞語對文本的重要度,在將單詞轉(zhuǎn)換成詞向量時用改進型詞頻-逆文本頻率[12]進行向量詞權(quán)重的計算,使得文本生成的詞向量從高緯度高稀疏的傳統(tǒng)數(shù)據(jù)變成了類似圖像的連續(xù)稠密矩陣數(shù)據(jù)。
將獲取的文本數(shù)據(jù)轉(zhuǎn)換成詞向量后,系統(tǒng)采用的卷積神經(jīng)網(wǎng)絡(luò)會通過把詞向量不同的特征拼接作為卷積神經(jīng)網(wǎng)絡(luò)的輸入,使得網(wǎng)絡(luò)模型在訓(xùn)練過程中針對不同的特征信息來學(xué)習(xí)和調(diào)整模型的參數(shù),從而獲得更多的隱藏信息。同時為了提高網(wǎng)絡(luò)的表達能力,對卷積神經(jīng)網(wǎng)絡(luò)進行了優(yōu)化,優(yōu)化后的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示,整個網(wǎng)絡(luò)結(jié)構(gòu)總共由5 個部分組成,分別為輸入層、卷積層、跨層、池化層和全連接層(包含輸出層)。
對于網(wǎng)絡(luò)結(jié)構(gòu)中添加的跨層,系統(tǒng)在傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上,在卷積層后面增加了1 個跨通道層[13],使得在面對提取特征多為非線性的情況下,可以提取出更抽象的特征,從而提高網(wǎng)絡(luò)的表達能力。其本質(zhì)是1 個1×1 的卷積核,實現(xiàn)在以原本卷積層的輸出ci作為跨層的輸入,對應(yīng)相應(yīng)通道的權(quán)重矩陣與偏差值b2,并通過非線性激活函數(shù)實現(xiàn)函數(shù)映射,得到通過式(4)運算后跨層結(jié)果C。
網(wǎng)絡(luò)模型訓(xùn)練數(shù)據(jù)采用數(shù)據(jù)采集模塊獲取的實際數(shù)據(jù),從中取4 種威脅等級突發(fā)事件共10 000條,并對數(shù)據(jù)進行人工標(biāo)記。為了評估算法模型對文本數(shù)據(jù)特征識別的有效性,統(tǒng)計模型每1 個epoch 數(shù)據(jù)個數(shù)與正確分類數(shù)據(jù)個數(shù),通過兩者的比值形成模型的準(zhǔn)確率A 及損失值L,從而驗證模型的穩(wěn)定性。
圖3 CNN 模型改進結(jié)構(gòu)圖Fig.3 Improved structure diagram of CNN model
式(5)中,nt表示總數(shù)據(jù)個數(shù),nc表示正確分類個數(shù);采用的函數(shù)為交叉熵函數(shù)f,y 為通過模型預(yù)測的類別,x 為正確的標(biāo)記值。
將上述的數(shù)據(jù)集代入到設(shè)計好的卷積神經(jīng)網(wǎng)絡(luò)模型中,采用高斯分布的方式初始化權(quán)重W 和偏差b 的矩陣,輸出類型為4(I、II、III、IV 級威脅度)、batch_size 為64、學(xué)習(xí)率為0.001、最大迭代次數(shù)為3 000、權(quán)重衰減為0.005、測試間隔區(qū)間為50個epoch,dropout 為0.5,優(yōu)化器選用Adam,其他參數(shù)參見圖3 的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。如圖4 分別為訓(xùn)練時批次損失數(shù)值和變化趨勢、訓(xùn)練時準(zhǔn)確率變化趨勢,從圖4 中可以看出隨著迭代次數(shù)的增加,損失值逐漸減小最終趨近0.2,精確度逐漸增加最終趨近94%。
圖4 CNN 模型訓(xùn)練參數(shù)變化趨勢:(a)損失值,(b)精確度Fig.4 Trend of training parameters in CNN model:(a)loss value,(b)accuracy
在訓(xùn)練的同時,按測試間隔進行測試,如圖5所示,模型損失值也是逐漸減小,而精確度在3 000 次迭代后可以達到80%以上,由于通過爬蟲獲取的多樣性數(shù)據(jù)以及人工標(biāo)記訓(xùn)練集的原因,出現(xiàn)一定范圍的偏差值屬正常現(xiàn)象,訓(xùn)練結(jié)果表明,本系統(tǒng)設(shè)計使用的改進型詞頻-逆文本頻率、word2vec 的改進型卷積神經(jīng)網(wǎng)絡(luò)模型能夠較好的識別出突發(fā)事件威脅類型。
圖5 CNN 模型測試參數(shù)變化趨勢:(a)損失值,(b)精確度Fig.5 Trend of testing parameters in CNN model:(a)loss value,(b)accuracy
為了測試研判模型的性能,對3 種不同的文本分類模型在本文獲取的數(shù)據(jù)集上進行了對比試驗,同時為了使得模型準(zhǔn)確率達到最高,參考了原論文設(shè)置了對比試驗的參數(shù),并統(tǒng)一迭代次數(shù)為3 000 次,每100 次 為1 個 批 次;試驗通過 準(zhǔn) 確 率(precision)、召回率(recall)、調(diào)和平均率(FScore)來評價模型性能。
式(6)~(8)中P 為準(zhǔn)確率,R 為召回率,F(xiàn) 為調(diào)和平均率;PTrue(mi)為正確預(yù)測為mi類的個數(shù),PFalse(mi)為錯誤 預(yù)測為mi類 的個數(shù),A(mi)為 實際mi類的個數(shù)。
通過具體試驗,得到表2 所示3 種模型訓(xùn)練后獲得的分類效果,對比分析發(fā)現(xiàn)本文所用的模型(TI-Word-CNN)在分類性能上有一定的提升,相比于Word-CNN[14]模型及Word-RCNN[15]模型調(diào)和平均率分別提升了5.4%和3%。
表2 采樣數(shù)據(jù)威脅度研判對比Tab.2 Comparison of threat degree of sampled data %
而上述3 種模型在本文篩選標(biāo)記的數(shù)據(jù)集上進行30 個批次迭代后,得到了如圖6 所示訓(xùn)練準(zhǔn)確率變化曲線圖,從圖中可以看出本文研判模型每批迭代效果都要優(yōu)于其他兩種,達到相同的分類效果所用的訓(xùn)練批次更少,這也進一步說明本文選取的研判模型可以取得更好的訓(xùn)練精度和數(shù)據(jù)分類能力。
圖6 3 種模型30 批次迭代準(zhǔn)確率變化曲線Fig.6 Variation curves of iteration accuracy rate of 30 batches of three models
為了更進一步對比分析本文采用模型的優(yōu)越性,對新抓取的網(wǎng)頁突發(fā)事件數(shù)據(jù)采用抽取數(shù)據(jù)的方式對3 種分類模型進行測試,用于測試的數(shù)據(jù)將從整體數(shù)據(jù)中隨機抽取200 條數(shù)據(jù),要求覆蓋到I、II、III、IV 四種威脅程度,且不同威脅等級的相關(guān)事件各50 條,最后將數(shù)據(jù)輸入到模型中進行分析處理,結(jié)果如表3 所示,給出了3 種模型判斷結(jié)果,通過誤差分析,系統(tǒng)采用的研判模型實際測試準(zhǔn)確率達到了93%,得出雖然系統(tǒng)存在一定的誤差,但是研判分類效果還是較好,能夠基本實現(xiàn)突發(fā)事件文本分析。
表3 實際采樣數(shù)據(jù)威脅度研判對比Tab.3 Comparison of threat degree of sampled data
以系統(tǒng)目前設(shè)定的URL 為例,系統(tǒng)利用建立的各種功能,采集了15 293 條相關(guān)數(shù)據(jù),并對近4個月的數(shù)進行了威脅度研判,針對發(fā)布時間區(qū)間設(shè)定為2019.3.1-3.29,實際研判結(jié)果如表4 所示。在此期間,系統(tǒng)共采集了110 條相關(guān)新聞事件,經(jīng)系統(tǒng)分析與判別,其中有76 條突發(fā)事件屬于IV 級威脅,有20 條數(shù)據(jù)屬于III級威脅度,II級威脅等級數(shù)據(jù)有9 條,有5 條數(shù)據(jù)被判定為I 級威脅度;采用威脅計算公式得安保等級數(shù)值T 為15.6,根據(jù)表1的安保等級劃分的取值范圍,確定安保等級為III級。
表4 2019.3.1-3.29 威脅數(shù)據(jù)數(shù)量統(tǒng)計Tab.4 Statistics of threat data during 2019.3.1-3.29
圖7 預(yù)警系統(tǒng)數(shù)據(jù)可視化界面Fig.7 Data visualization interface of early warning system
系統(tǒng)以設(shè)定的URL 鏈接對相應(yīng)的網(wǎng)頁新聞數(shù)據(jù)進行抓取,可視化界面如圖7 所示,采集的具體數(shù)據(jù)信息包括數(shù)據(jù)標(biāo)題、數(shù)據(jù)內(nèi)容、發(fā)布時間及數(shù)據(jù)的來源,并以采取時間為基準(zhǔn)創(chuàng)建數(shù)據(jù)編號、創(chuàng)建時間,并在展示頁面設(shè)置對數(shù)據(jù)的操作功能,利用散點圖和條形圖分別展示近1 個月數(shù)據(jù)分布情況和近4 個月各威脅度統(tǒng)計量,以便為人工分析提供參考依據(jù)。通過預(yù)警系統(tǒng),從圖中可以直觀的看出,近4 個月的數(shù)據(jù)展示中IV 類威脅事件相比突出,且在測試日期期間,II 類威脅事件在27 到30號之間發(fā)生較多,III 類主要居于13 到23 號,建議根據(jù)數(shù)據(jù)情況,應(yīng)該針對該段日期類結(jié)合城市實際情況勘察原因,以便及時采取相應(yīng)措施,降低突發(fā)事件對社會造成的各類損失。
由系統(tǒng)的運行結(jié)果可看出,系統(tǒng)能夠?qū)崿F(xiàn)對設(shè)定資源數(shù)據(jù)進行采集、預(yù)處理,并通過訓(xùn)練完畢的卷積神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進行分析預(yù)警,也能夠通過可視化模塊實現(xiàn)對分析后的數(shù)據(jù)結(jié)構(gòu)進行展示,總體來說,系統(tǒng)整體運行穩(wěn)定且性能良好。
本文針對互聯(lián)網(wǎng)發(fā)布的各種突發(fā)事件,結(jié)合城市安保部門的業(yè)務(wù)需求,給出了恐怖突發(fā)事件威脅預(yù)警系統(tǒng)的設(shè)計與實現(xiàn)方案。系統(tǒng)采用設(shè)定的URL 鏈接,利用Scrapy 網(wǎng)絡(luò)爬蟲框架實現(xiàn)對突發(fā)事件的數(shù)據(jù)的采集;利用JieBa 分詞實現(xiàn)對采集的單條數(shù)據(jù)進行清洗、分詞;采用結(jié)合了改進型詞頻-逆文本頻率、word2vec 的改進型卷積神經(jīng)網(wǎng)絡(luò)模型實現(xiàn)對數(shù)據(jù)威脅等級的分類,并根據(jù)往期數(shù)據(jù)評判出研判期間內(nèi)的安保等級;同時利用可視化技術(shù)分類呈現(xiàn)數(shù)據(jù)研判結(jié)果。從對比分析及實際運行結(jié)果來看,系統(tǒng)已基本達到了設(shè)計目標(biāo),可以作為相關(guān)安保部門的評判突發(fā)事件輔助預(yù)警信息系統(tǒng)。后續(xù)將在研判模型優(yōu)化上深入研究,以提高威脅度評判精確度,降低損失值。