蔡智仲 曾小雨 丘新龍 宋仁敏
摘要:該文利用Python的網(wǎng)絡(luò)爬蟲技術(shù)所采集到的災(zāi)害數(shù)據(jù),通過災(zāi)害主題挖掘模型來達(dá)到將信息正確篩選和提取,并將其內(nèi)容可視化,最后推薦用戶,為用戶提供時(shí)效性、準(zhǔn)確性、多樣性的災(zāi)害可視化系統(tǒng)。
關(guān)鍵詞:數(shù)據(jù)采集;災(zāi)情分析;推薦;可視化
中圖分類號(hào):TP311? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)15-0013-02
災(zāi)害給國(guó)家和人民帶來巨大損失,因此防災(zāi)減災(zāi)成為人們關(guān)注的重點(diǎn),諸如對(duì)于災(zāi)情的發(fā)生,如何獲取相關(guān)數(shù)據(jù),通過大數(shù)據(jù)分析進(jìn)行篩選正確的內(nèi)容,實(shí)現(xiàn)數(shù)據(jù)內(nèi)容的可視化,最終精準(zhǔn)效率進(jìn)行防災(zāi)減災(zāi)推薦(如投放至相關(guān)部門與用戶手中)成為關(guān)注的熱點(diǎn)。目前最受關(guān)注的全球疫情數(shù)據(jù)來源之一——美國(guó)約翰斯·霍普金斯大學(xué)疫情可視化地圖,它的數(shù)據(jù)已經(jīng)成為國(guó)際公認(rèn)的最新數(shù)據(jù)權(quán)威來源,定期被世界各地的新聞機(jī)構(gòu)和政府機(jī)構(gòu)所采用,網(wǎng)站的每天的點(diǎn)擊量超過10億次。又如對(duì)于最近的溫嶺槽罐車爆炸事故,如能在最快時(shí)間讓政府相關(guān)部門和公眾了解事故,就有可能更大程度減少人民的傷亡等。通過Python的爬蟲技術(shù)采集數(shù)據(jù)后分析數(shù)據(jù),并且將數(shù)據(jù)進(jìn)行可視化推薦給用戶,讓用戶能更加直觀了解形勢(shì),成為本課題的研究?jī)r(jià)值和意義[1]。
1 問題分析
1.1 災(zāi)情數(shù)據(jù)采集
基于 python 的網(wǎng)絡(luò)爬蟲技術(shù),同時(shí)利用多種爬蟲技術(shù)進(jìn)行數(shù)據(jù)采集,如:分布式網(wǎng)絡(luò)爬蟲,Scrapy爬蟲等,以完善數(shù)據(jù)樣本。災(zāi)情數(shù)據(jù)的收集儲(chǔ)存主 依托于大數(shù)據(jù)的存儲(chǔ)和檢索系統(tǒng),一種是 No-SQL,另一種大數(shù)據(jù)管理工具是 Hadoop,使用 Spark 進(jìn)行操作[2]。
1.2 災(zāi)情數(shù)據(jù)分析
主要有兩個(gè)方面組成的,一是對(duì)災(zāi)害主題挖掘模型,有 LDA 模型和 TFIDF 模型等,其次是災(zāi)害主題分類算法,有樸素葉貝斯算法,KNN算法等。災(zāi)情內(nèi)容的分析利用了聚類分析、傾向性等方法。傾向性分析中從自然語言和機(jī)器學(xué)習(xí)的角度進(jìn)行研究。聚類分析通過話題的檢測(cè)技術(shù)對(duì)話題進(jìn)行組織和歸類[3]。
KNN算法:其核心思維是,如果特征空間中距離我們最近的k個(gè)樣本中大部分都屬于某個(gè)類別,那么這個(gè)樣本也屬于這個(gè)類別,并且具有該類別樣本的特征利用測(cè)量出來的不同特征值之間的距離進(jìn)行分類這就是KNN算法。它的基本思路是:假設(shè)一個(gè)樣本在特征空間中高端k個(gè)最相似(也就是特征空間中最相近)的樣本中的大部分屬于某一個(gè)類別,則此樣本也屬于這個(gè)類別。K的大小通常是小于等于20的整數(shù)。KNN算法中,所選擇好的鄰居都是已經(jīng)正確分類的對(duì)象。這個(gè)方法在定類決策上僅僅依據(jù)最接近的一個(gè)或者幾個(gè)樣本的類別來決定待分樣本的類別屬性[4]。
K-近鄰法可以表示為:設(shè)有 N 個(gè)已知樣本分屬于 c 個(gè)類 ω i,i=1,…,c,考 查新樣本 x 在這些樣本中的前 k 個(gè)近鄰,設(shè)其中有 ki 個(gè)屬于 ω i 類,則 ω i 類的判別函數(shù)就是(公式1)
1.3 災(zāi)情數(shù)據(jù)內(nèi)容可視化(數(shù)圖共意的災(zāi)害新聞)
災(zāi)害風(fēng)險(xiǎn)的視覺化是一個(gè)從語言與話語的結(jié)合到視覺修辭的反應(yīng)的連續(xù)過程。一方面,將RST理論用于災(zāi)害新聞的數(shù)據(jù)分析,在視覺修辭下將數(shù)據(jù)修辭和視覺描繪形象化。另一方面,使用可視化工具來將模型進(jìn)行數(shù)據(jù)的轉(zhuǎn)換。例如,一個(gè)稱為可視化的視覺診斷系統(tǒng)被用來可視化分類器的敏感性和特異性之間的權(quán)衡。在這組工具中,我們使用黃色磚塊的rocauc類來可視化分類器的敏感性和特異性之間的權(quán)衡[5]。
1.4 信息個(gè)性化智能投遞
實(shí)現(xiàn)精準(zhǔn)的個(gè)性化服務(wù),先是建立用戶模型,對(duì)用戶畫像進(jìn)行改進(jìn),利用現(xiàn)有推薦算法作為召回操作并添加召回方法,利用優(yōu)化算法和特征提取方法對(duì)模型進(jìn)行優(yōu)化,再利用機(jī)器學(xué)習(xí)算法的邏輯回歸模型估算點(diǎn)擊率,最后使用用戶繪圖,將圖像與召回?cái)?shù)據(jù)相結(jié)合,采用模型進(jìn)行預(yù)判。使用開源工具將用戶模型加載到引擎中,并對(duì)信息進(jìn)行優(yōu)化,使結(jié)果更加方便用戶,如圖1所示。
2實(shí)施方案
2.1網(wǎng)絡(luò)數(shù)據(jù)采集
首先需要通過爬蟲的技術(shù)在公開的網(wǎng)站上進(jìn)行爬蟲例如:騰訊新聞網(wǎng)、丁香園等,通過對(duì)網(wǎng)站發(fā)出請(qǐng)求,會(huì)得到一系列的數(shù)據(jù),當(dāng)中的數(shù)據(jù)有很多是對(duì)接下來的操作是沒有用的,因此需要進(jìn)行一定的篩選,保留下所需要的內(nèi)容[6]。
2.1.1 數(shù)據(jù)存儲(chǔ)
對(duì)于數(shù)據(jù)的存儲(chǔ),我們采用的是MYSQL數(shù)據(jù)庫(kù)。在存儲(chǔ)之前,將數(shù)據(jù)進(jìn)行分類,分為歷史數(shù)據(jù)以及詳細(xì)數(shù)據(jù)兩個(gè)大項(xiàng),在兩個(gè)表中會(huì)有例如在本次的災(zāi)害中的傷亡情況、人口失蹤情況等的數(shù)據(jù)項(xiàng),通過每次的數(shù)據(jù)更新我們能夠?qū)崟r(shí)采到當(dāng)天的我們采集到當(dāng)天的數(shù)據(jù),并且存放在了數(shù)據(jù)庫(kù)中[7]。
2.1.2 數(shù)據(jù)分析利用
通過對(duì)數(shù)據(jù)的存儲(chǔ)后,不難發(fā)現(xiàn)在這些數(shù)據(jù)中都是有可以規(guī)劃的,通過對(duì)這幾項(xiàng)的數(shù)據(jù)進(jìn)行內(nèi)容規(guī)劃,能夠?qū)⑦@些數(shù)據(jù)進(jìn)行可視化的利用。例如將各類數(shù)據(jù)的增長(zhǎng)情況通過曲線圖、餅狀圖、折線圖等等來顯示[8]。
2.2 數(shù)據(jù)可視化
2.2.1數(shù)據(jù)可視化的概述
數(shù)據(jù)可視化即利用計(jì)算機(jī)圖形學(xué)和圖像處理等技術(shù),將數(shù)據(jù)庫(kù)中的每一個(gè)數(shù)據(jù)項(xiàng)作為圖元素表示,將數(shù)據(jù)的各個(gè)屬性以多維數(shù)據(jù)的形式表示,從而將數(shù)據(jù)以形象化的視圖展現(xiàn)出來轉(zhuǎn)換為我們能夠一目了然的可視化的線條變化趨勢(shì)和圖像,清晰有效傳達(dá)信息,讓人們直觀獲取數(shù)據(jù),了解數(shù)據(jù),給人們提供一個(gè)直觀的、便捷的、交互的可視化環(huán)境,大幅度地提高人們對(duì)數(shù)據(jù)的感知和理解[9]。
2.2.2數(shù)據(jù)可視化工具
現(xiàn)今有許許多多的數(shù)據(jù)可視化工具,例如:Google Chart、Sigma、ECharts、Vega等,這些工具大體都可以分為三類,一類是面向用戶的可視化系統(tǒng),一類是面向開發(fā)者的可視化庫(kù)。
本文使用的是ECharts的數(shù)據(jù)可視化工具,ECharts是國(guó)內(nèi)一款優(yōu)良的可視化圖表控件,由Baidu前端數(shù)據(jù)可視化團(tuán)隊(duì)研發(fā),它與大多數(shù)瀏覽器兼容,而且依賴于底部的輕量級(jí)的Canvas類庫(kù),供給形象,生動(dòng),可互動(dòng),可高度個(gè)性化定制的可視化的數(shù)據(jù)圖表[10]。8039FACF-0513-41CA-B3B3-E2FAF4178601
2.2.3 數(shù)據(jù)展現(xiàn)和分析
通過數(shù)據(jù)可視化工具ECharts對(duì)Python爬取過來的數(shù)據(jù)進(jìn)行展現(xiàn)和分析,本文利用ECharts繪制了中國(guó)地圖和折線圖進(jìn)行數(shù)據(jù)的展現(xiàn)。
獲取全國(guó)地圖數(shù)據(jù)的主要代碼如下:
def get_c2_data():
sql = "select province,sum(confirm) from details " \
"where update_time=(select update_time from details " \
"order by update_time desc limit 1) " \
"group by province"
res = query(sql)
return res
通過觀察全國(guó)地圖分布顏色,當(dāng)全國(guó)各地范圍內(nèi)出現(xiàn)災(zāi)情時(shí),顏色越深則說明該地區(qū)發(fā)生的情況越不樂觀;通過全國(guó)累計(jì)趨勢(shì)圖能夠反映每天災(zāi)情傷亡情況,能夠清晰地看出災(zāi)情的走向,給人更加直觀的感受;通過全國(guó)新增趨勢(shì)圖可以直觀發(fā)現(xiàn)在該次的災(zāi)情中每天帶來的人員傷亡情況,側(cè)面也能夠反映出災(zāi)情的嚴(yán)重程度。
當(dāng)以上步驟完成后,我們會(huì)利用web工具將上面的內(nèi)容進(jìn)行整合,利用HTML和CSS技術(shù)呈現(xiàn)給用戶。
3 結(jié)語
最后通過對(duì)數(shù)據(jù)的內(nèi)容爬取以及數(shù)據(jù)的分析最終得出的呈現(xiàn)是有參考價(jià)值但是不能完全表現(xiàn)出每時(shí)每刻的變化。通過對(duì)這些數(shù)據(jù)的每次更新和我們可以實(shí)時(shí)發(fā)現(xiàn)在國(guó)內(nèi)外不同時(shí)刻發(fā)生的各種大小事情,能夠讓信息更加便捷到達(dá)每個(gè)用戶的手中,每一個(gè)人都能夠知道當(dāng)前的形勢(shì)。通過對(duì)這些數(shù)據(jù)的分析、可視化,能夠讓人們的生活更加的便捷。此外,在數(shù)據(jù)分析研究這類數(shù)據(jù)能夠提取出各個(gè)地區(qū)的情況,能夠快速掌握各個(gè)地區(qū)的災(zāi)情程度,了解其狀況,以便各個(gè)地區(qū)做出合理、有效的措施以便減少人員傷亡以及財(cái)產(chǎn)損失。
參考文獻(xiàn):
[1] 張偉.5G可視化數(shù)據(jù)新聞帶來融媒體傳播革命[J].中國(guó)傳媒科技,2019(12):52-53.
[2] 楊凱.基于Hadoop平臺(tái)的個(gè)性化新聞推薦系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2019.
[3] 楊林.基于標(biāo)記模板的分布式網(wǎng)絡(luò)爬蟲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2019.
[4] 劉麗群,劉麗華.情感與主題建模:自然災(zāi)害輿情研究社會(huì)計(jì)算模型新探[J].現(xiàn)代傳播(中國(guó)傳媒大學(xué)學(xué)報(bào)),2018,40(7):39-45.
[5] 杜臻.基于特征提取和異常分類的網(wǎng)絡(luò)流量異常檢測(cè)方法[D].南京:南京郵電大學(xué),2019.
[6] 韓雪華,王卷樂,卜坤,等.基于Web文本的災(zāi)害事件信息獲取進(jìn)展[J].地球信息科學(xué)學(xué)報(bào),2018,20(8):1037-1046.
[7] 于韜,李偉,代麗偉.基于Python的新浪新聞爬蟲系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2018(9):188,242.
[8] 田江.基于Python的新聞個(gè)性化推薦系統(tǒng)優(yōu)化與實(shí)現(xiàn)[D].景德鎮(zhèn):景德鎮(zhèn)陶瓷大學(xué),2018.
[9] 高巍,孫盼盼,李大舟.基于Python爬蟲的電影數(shù)據(jù)可視化分析[J].沈陽化工大學(xué)學(xué)報(bào),2020.
[10] 王子毅,張春海.基于ECharts的數(shù)據(jù)可視化分析組件設(shè)計(jì)實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2016,35(14):46-48,51.
【通聯(lián)編輯:光文玲】8039FACF-0513-41CA-B3B3-E2FAF4178601