?

新浪微博地震輿情數據庫的設計與實現1

2023-03-01 11:02陳亞男熊政輝
震災防御技術 2023年4期
關鍵詞:新浪輿情預處理

陳亞男 薄 濤 王 洋 王 喆 高 爽 熊政輝

1)北京市地震局, 北京 100080

2)中國地震應急搜救中心, 北京 100049

3)中國地震局地球物理研究所, 北京 100081

4)聯通數字科技有限公司, 北京 102600

引言

地震發生后的首要任務是準確高效地開展地震應急處置、維護正常社會秩序并保障人民生命財產安全(閃淳昌等,2012)。地震災情輿情信息的收集是決策者制定有效應急指揮方案重要且不可替代的基礎(何晶,2012;郁璟貽等,2018)。近年來,隨著互聯網技術的快速發展,地震發生后,社交媒體涌現出了大量的地震輿情信息,這些信息實時海量高效地反映了災區的真實情況,為震后72 h 黃金救災救援提供重要的應急服務支持(聶高眾等,2012)。隨著地震輿情在應急中受重視程度不斷加深,研究者對震后社交媒體輿情數據開展了一系列的研究工作,并結合實際需求進行了綜合利用,有利于應急期震后信息的獲取與共享、災情輿情的快速研判及政府的應急救援決策(褚俊秀等,2016;曹彥波等,2017a;薄濤等,2018)。在地震輿情數據獲取挖掘方面,楊菁等(2014)通過對雅安地震后不同時間節點的新浪微博數據的統計分析,探索地震發生后微博輿情結構主體及其應急反應特征。王艷東等(2016)基于新浪微博文本數據,探尋不同主題下突發事件隨時間的發展趨勢并分析可能的影響。徐敬海等(2015)、褚俊秀等(2016)提出了基于地震應急期新浪位置微博的提取方法,分別以永善5.0 級地震、魯甸6.5 級地震為例進行應用。曹彥波等(2017a,2017b,2018)分別對景谷6.6 級地震、九寨溝7.0 級地震、云南省通??h2 次5.0 級地震的新浪微博開放平臺API 數據進行了清洗挖掘與時空演變規律分析。李亞芳等(2020)運用網絡爬蟲技術,對新疆伽師6.4 級地震后48 h 內發布的新浪微博文本數據進行了輿情信息分析及可視化研究。劉婉婷等(2021)基于新浪微博數據,運用網絡爬蟲技術,獲取西藏自治區那曲市比如縣6.1 級地震震后24 h 及震后7 d 的相關微博及評論,對數據進行清洗和預處理,并進行時空特征分析,實現微博輿情數據的可視化表達。劉耀輝等(2022)以2021 年云南漾濞6.4 級地震為例,基于新浪微博數據,結合熱搜詞條的變化趨勢,研究此次地震事件中網絡輿情的時空擴散特征、民眾情緒反應特征及可視化結果呈現。

由上述研究可知,現階段震后輿情數據挖掘及輿情信息情感分析雖取得一定進展,但大多數研究者僅針對單次地震的數據開展挖掘分析,缺乏系統全面的社交媒體地震輿情數據庫。從大量、不完全、有噪聲、模糊、隨機的社交媒體數據中提取有價值的地震輿情數據加以分析及利用具有重要意義。薄濤(2018)以2010-2018 年破壞性地震為研究對象,建立了我國大陸地區首個基于社交媒體平臺的破壞性地震災情數據庫,但該數據庫主要收集的是歷史數據,無法對實時發生的地震自動進行數據獲取與存儲,在數據完備性上也與實際需求存在一定差距。為此,本文選取新浪微博移動端作為數據源,對接EQIM(Earthquake Instant Messager),建立準實時新浪微博地震輿情數據庫,對2021 年1 月1 日以來我國大陸地區3.0 級及以上地震實現輿情數據的準實時獲取、加工與入庫,數據庫的準實時功能和預處理技術提升了使用效率與數據完備度,為后續的輿情監控與災情研判工作提供了數據支持。

1 數據獲取與預處理

1.1 震后微博輿情數據準實時獲取

目前常見的新浪微博地震輿情數據獲取方式有微博開放平臺API、網絡爬蟲、數據源鏡像及開放數據平臺,對上述方法原理及優缺點進行了梳理,如表1 所示(袁浩,2009;廉捷等,2011;劉曉娟等,2013;游翔等,2014;楊飛等,2016)。其中,作為官方途徑獲取數據的新浪微博開放平臺API 和不受身份驗證限制的網絡爬蟲最為常用。

表1 微博數據獲取方法Table 1 Data acquisition methods of Weibo

震后對于以新浪微博為代表的社交媒體平臺進行數據獲取,其需求主要來自于兩方面,即輿情監控與災情研判。獲取的微博數據在滿足全面性和高效性的基礎上,對距極震區較近區域的時空數據有較高需求,以反映輿情影響范圍,因此在輿情數據精準性的要求上較高。單一的新浪微博地震輿情獲取具有一定局限性,難以滿足日益增長的數據需求。因此,本文通過新浪微博開放平臺API 與分布式網絡爬蟲相結合的方式獲取我國大陸地區新浪微博地震輿情數據,保證數據可高效、全面與穩定獲取。

對于獲取途徑,微博信息讀取接口與EQIM 接口對接,地震發生后,EQIM 觸發,地震三要素信息推送進入微博信息讀取接口,自動創建地震事件,實現微博地震輿情數據準實時獲取。依據關鍵詞檢索方法,調用微博全量數據接口與地震局官方微博客戶端數據接口(其中微博全量數據檢索設定查詢關鍵詞為地震、震、搖、晃、搖晃、振動等,地震局官方微博評論檢索包含中國地震臺網中心及各省地震局官方微博ID,設定查詢關鍵詞為地震發震時間、地震發震地點等),獲取震后72 h 內的微博地震輿情數據,并對地震輿情數據進行預處理和結構化加工。在獲取過程中,通過分布式網絡爬蟲,爬取微博開放平臺API 接口中無法獲取的微博用戶信息,并將信息存入數據庫中,實現微博地震輿情數據的全量檢索。數據獲取流程如圖1 所示,通常情況下,新浪微博地震輿情數據庫在震后15 min 內完成數據的檢索下載及入庫工作。

圖1 新浪微博地震輿情數據獲取流程Fig.1 Weibo earthquake public opinion data acquisition flowchart

1.2 數據清洗與預處理

由于微博平臺具有大眾化、不受時空限制、靈活度較高等特點,用戶在發表微博過程中會發送如網址HTML 標簽、話題標簽、無用的表情符號、不相關內容等噪聲數據,這些噪聲數據對文本的分詞和詞頻統計均會造成影響,因此需對下載數據中無意義的信息進行數據清洗與預處理,流程如圖2 所示。在處理過程中,將微博全量數據檢索與地震局官方微博檢索中重合的ID 值數據自動剔除,實現重復文本數據的單一提取。對于數字、符號、無用網址、表情等無關文本內容數據,使用正則表達式進行清洗與刪除,提取文本內容。對于地震相關性準確分類,由于傳統方法依靠機器學習模型,通過分析字符的統計特征達到分類和識別是否與地震相關的目的,難以實現地震相關性的準確分類。因此,本文提出基于fastText 模型的地震相關性識別方法,通過預處理和詞嵌入將社交媒體文本轉化為多維詞向量,經過隱藏層對詞向量進行疊加平均,通過輸出層輸出特定的目標類別,流程如圖3 所示。該模型在訓練過程中模擬fastText 的標準3 層架構,依次使用詞嵌入層、一維全局平均池化層和全連接層拼接成最終的分類模型。

圖2 數據清洗與預處理流程Fig.2 Flow chart of data cleaning and preprocessing

圖3 基于fastText 的地震相關性二分類學習模型Fig.3 Seismic correlation dichotomous learning model based on fastText

本文訓練文本數據采用薄濤(2018)建立的我國大陸地區破壞性地震社交媒體災情數據庫中的數據,隨機抽取2010-2018 年12 000 條文本數據(其中訓練集8 000 條,測試集4 000 條),對12 000 條數據使用python 中的JIEBA 分詞進行微博文本數據分詞處理操作。詞向量采用預訓練的中文維基百科詞向量,每個詞向量維度為300?;趂astText 的地震相關性分類模型方法對訓練集數據進行二分類,將與地震相關的文本數據標記為1,將與地震不相關的文本數據標記為0,隨后用測試集數據進行驗證。

在持續不斷的文本數據入庫后,數據量持續增多,數據庫中會有大量不相關的數據積累,因此通過更多的訓練次數和更大的學習速率對文本分類模型進行持續迭代優化。提升準確率流程如圖4 所示,具體方法如下:①增加每個訓練用例的重復使用次數,目前fastText 在訓練期間對每個訓練用例僅重復使用5 次,對于8 000 條訓練樣例而言稍少,因此通過增加每個樣例的使用次數提高模型質量;②改變模型學習速度,良好的學習率為0.1~1.0,可通過測試得到更優的學習速率,進而提高模型能力;③提升訓練速度,目前幾千個示例模型僅需要幾秒鐘,但如果數據集增大、標簽增多,模型訓練速度會變慢,從而考慮使用分層softmax,加快訓練速度,提升模型質量。經過2021 年實際震例檢測,該方法預處理的文本數據準確率為79.5%,微博文本數據預處理前后結果對比如圖5 所示。通過預處理可較好地解決數據冗余問題,并自動提升數據準確性。

圖4 迭代優化流程Fig.4 Flow chart of iterative optimization

圖5 微博文本數據預處理前后結果對比Fig.5 Comparison of results before and after processing of Weibo text data

2 數據庫的建立

2.1 數據庫整體設計

新浪微博地震輿情數據庫主要應用PostGIS 地理空間數據庫與MySQL 關系型數據庫分別存儲GIS 數據與關系數據。在邏輯上,數據庫的總體設計劃分為主體數據庫與元數據庫,主體數據庫主要包含微博評論數據、實時微博數據、地震事件數據、數量統計數據和系統運行數據,建設邏輯如圖6 所示。在數據表的設計上,主要包含微博內容和用戶關系兩部分。數據字段包含地震事件、微博用戶、微博內容等14 個字段,具體字段屬性如表2 所示。其中,數據庫的唯一標識為微博唯一標識碼,字段名稱命名依據數據庫名稱縮寫、習慣名稱與下劃線組合的方式進行。

圖6 新浪微博地震輿情數據庫建設邏輯Fig.6 Concrete construction logic diagram of Weibo earthquake public opinion database

表2 新浪微博地震輿情數據庫字段屬性Table 2 Field attribute table of Weibo earthquake public opinion database

為方便數據查詢與管理,采用阿里云平臺,建立了Web 端新浪微博地震輿情數據庫及管理平臺(圖7),設計了快速查詢、精準查詢及數據下載模塊。其中,快速查詢模塊基于時間與震級進行標簽式快速檢索;精準查詢模塊基于發震日期、經緯度、震級、發震地點、震源深度等多維參數進行精準檢索;數據下載模塊中的數據通過JSON 格式請求調用,具體數據列表可進行Excel 下載,下載結果包括地震事件名稱、發震時間、發震位置、經緯度、震級、抓取的微博數據等。

圖7 Web 端新浪微博地震輿情數據庫管理平臺設計架構Fig.7 Design framework of Weibo earthquake public opinion database management platform on Web

2.2 數據庫構建

一般情況下,當地震震級MS為3.0 級及以上時,一般人群可感受到地震的發生,故中國地震臺網中心對我國大陸地區3.0 級及以上的地震實現了微博信息的自動推送,因此,本文研究對象為我國大陸地區3.0級及以上地震。通過對2021 年1 月1 日至2022 年3 月31 日我國大陸地區3.0 級及以上地震的新浪微博輿情數據進行抓取與預處理后,入庫至搭建完成的新浪微博地震輿情數據庫中,共包含447 次地震,共獲得732 949 條地震輿情數據,如表3 所示。新浪微博地震輿情數據庫使用界面如圖8、圖9 所示,地震發生后下載的新浪微博地震輿情事例如圖10 所示。

圖8 新浪微博地震輿情數據庫快速查詢界面Fig.8 Quick query interface of Weibo earthquake public opinion database

圖9 新浪微博地震輿情數據庫精準查詢界面Fig.9 Accurate query interface of Weibo earthquake public opinion database

圖10 單次地震新浪微博地震輿情示例Fig.10 Weibo earthquake public opinion case excel display chart for a single earthquake

表3 部分地震輿情數據(2021 年1 月1 日至2022 年3 月31 日)Table 3 List of earthquake public opinion data catalogue (From January 1, 2021 to March 31, 2022)

3 分析與討論

對社交媒體新浪微博地震輿情數據庫中的輿情數據進行初步研究分析,得出以下結論:

(1)在時間特征方面,震后輿情信息峰值一般出現在震后2~3 h,隨后關注度會逐漸降低(圖11);地震輿情信息時間曲線受晝夜變化影響,峰值會出現延后現象,且曲線多呈連續U 形。在空間特征方面,對發震地為云南、四川等地的地震頻次及地震微博數據量進行對比,結果表明小震發生頻次高,但獲取的微博數據量小,即輿情熱度低;大震發生頻次低,但獲取的微博數據量大,即輿情熱度高,說明破壞性地震在社交媒體上獲得關注度較高,此類地震發生時應做好輿情管理工作(圖12)。在數據方面,新浪微博地震輿情數據庫中存在部分數據抓取量為0 的地震,主要位于新疆和西藏,這可能是因為該次地震發生在無人區或荒無人煙的地方,地震影響小,公眾關注度低,也可能因震級過小未引起公眾關注。

圖11 地震輿情時間特征分布示例Fig.11 Example of time feature distribution of earthquake public opinion

圖12 云南、四川地區震級與地震頻次及單次地震微博發布量關系Fig.12 Relationship between magnitude,frequency of earthquakes and Weibo release of single earthquake in Yunnan and Sichuan

(2)2021 年5 月21 日云南漾濞發生6.4 級地震,為前-主-余型地震,余震頻發,在新浪微博地震輿情數據庫中第一次出現地震輿情信息被劃分到前震、主震及余震的多次地震事件中,實時統計到的主震輿情數據為11 960 條。經后期統計發現,此次地震事件實際共獲取輿情數據59 159 條。對輿情數據進行挖掘分析時,時空特征分析等具有一定難度,云南漾濞地震發生后,筆者所在研究團隊及時進行了數據獲取策略變更,將同一發震地區震后72 h 內的輿情信息全部歸置到首次地震發生時的地震輿情信息中,如果此次地震為前主余型,人工將記錄至前震的地震輿情數據修改至主震地震輿情數據中。經查,數據獲取策略變更后,本數據庫中涉及的震后72 h 內余震輿情數據均實現了歸集。

(3)新浪微博地震輿情數據庫可提升的方面包括:①數據來源單一,僅涉及新浪微博的結構化文本數據,對非結構化的圖片和視頻數據并未涉及;②隨著我國相關法律的實施,微博對位置信息的獲取進行了技術限制,本數據庫在架構設計時雖設計了微博發布位置的信息提取功能,但今后本數據庫的位置微博獲取將受到一定影響,影響程度有待進一步評估。

4 結論

社交媒體作為大數據收集、存儲與傳播的新途徑,越來越受到重視。本文在已有研究的基礎上,采用新浪微博移動端為數據源,使用關聯數據庫管理系統MySQL,收集并建立了我國大陸地區3.0 級及以上地震準實時新浪微博地震輿情數據庫。該數據庫中獲取了2021 年1 月1 日至2022 年3 月31 日我國大陸地區有地震輿情的3.0 級及以上地震共447 次,共獲得地震輿情數據732 949 條。通過研究實現了微博信息讀取接口與EQIM 接口的對接及新浪微博地震輿情數據的準實時抓取,通過分布式爬蟲與新浪微博開放平臺API 接口相結合的方式高效、全面、穩定地獲取了我國大陸地區震后地震輿情數據。采用fastText 模型的地震相關性識別方法開展數據相關性分析,數據準確率為79.5%。建立了Web 端新浪微博地震輿情數據庫及管理平臺,實現了數據下載、快速查詢及精確查詢,方便數據查詢與管理。通過對數據庫中的數據進行時空分析,發現新浪微博地震輿情數據庫中的輿情數據較豐富完備,對使用過程中發現的問題進行及時修正,可使輿情數據滿足研究工作需求,新浪微博地震輿情數據庫的建立為今后社交媒體地震輿情數據挖掘提供了參考,將進一步提升挖掘的深度與廣度,提升繼續學習的準確率,拓寬數據庫來源并在深度學習方面進行完善。

猜你喜歡
新浪輿情預處理
猴子雖小
基于預處理MUSIC算法的分布式陣列DOA估計
新浪讀書排行榜
輿情
輿情
淺談PLC在預處理生產線自動化改造中的應用
輿情
絡合萃取法預處理H酸廢水
基于自適應預處理的改進CPF-GMRES算法
微博的輿情控制與言論自由
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合