李漢巨, 梁浩波
(廣東電網(wǎng)有限責(zé)任公司東莞供電局, 東莞 523008)
基于關(guān)聯(lián)規(guī)則的自然災(zāi)害預(yù)測(cè)系統(tǒng)①
李漢巨, 梁浩波
(廣東電網(wǎng)有限責(zé)任公司東莞供電局, 東莞 523008)
建立自然災(zāi)害預(yù)測(cè)模型, 對(duì)自然災(zāi)害進(jìn)行預(yù)測(cè)和分析, 有利于提升防災(zāi)減災(zāi)的技術(shù)水平. 基于關(guān)聯(lián)規(guī)則和Web文本挖掘技術(shù)提出自然災(zāi)害預(yù)測(cè)系統(tǒng)的設(shè)計(jì)方案及實(shí)現(xiàn)方法. 該系統(tǒng)利用成熟開(kāi)源的爬蟲框架從權(quán)威的災(zāi)害信息發(fā)布平臺(tái)中定向抓取非結(jié)構(gòu)化的自然災(zāi)害信息, 通過(guò)中文分詞技術(shù)進(jìn)行數(shù)據(jù)清理將其整理成結(jié)構(gòu)化的自然災(zāi)害數(shù)據(jù)庫(kù), 并利用改進(jìn)的關(guān)聯(lián)規(guī)則算法從中挖掘出自然災(zāi)害事件的關(guān)聯(lián)規(guī)則, 進(jìn)而可通過(guò)實(shí)時(shí)監(jiān)控關(guān)聯(lián)規(guī)則的前端信息, 實(shí)現(xiàn)對(duì)自然災(zāi)害事件的預(yù)測(cè). 試運(yùn)行結(jié)果表明該系統(tǒng)能有效挖掘出自然災(zāi)害信息的關(guān)聯(lián)規(guī)則, 并具有較高置信度.
Web文本; 自然災(zāi)害; 災(zāi)害預(yù)測(cè); 關(guān)聯(lián)規(guī)則; 文本挖掘
Web文本中蘊(yùn)含豐富的以自然語(yǔ)言描述的非結(jié)構(gòu)化自然災(zāi)害信息[1-4]. 通過(guò)Web文本挖掘技術(shù)為災(zāi)害數(shù)據(jù)源, 自動(dòng)抽取并整理包含災(zāi)害事件類型、時(shí)間、空間位置以及影響范圍等結(jié)構(gòu)化的自然災(zāi)害信息, 是對(duì)傳統(tǒng)結(jié)構(gòu)化災(zāi)害數(shù)據(jù)庫(kù)的重要補(bǔ)充[5,6]. 而基于Web文本自動(dòng)提取和構(gòu)造結(jié)構(gòu)化、綜合性災(zāi)害信息, 是災(zāi)害信息領(lǐng)域研究的前沿問(wèn)題[7], 目前國(guó)內(nèi)外利用Web文本挖掘技術(shù)在災(zāi)時(shí)與災(zāi)后的應(yīng)急響應(yīng)與救援, 災(zāi)害的早期預(yù)警和風(fēng)險(xiǎn)分析等方面開(kāi)展應(yīng)用研究.
從自然災(zāi)害發(fā)生機(jī)理研究發(fā)現(xiàn), 同一地區(qū)不同類型自然災(zāi)害的發(fā)生、不同地區(qū)同一類型自然災(zāi)害的發(fā)生以及不同地區(qū)不同類型自然災(zāi)害的發(fā)生之間存在著聯(lián)系[8]. 一方面, 通過(guò)對(duì)區(qū)域范圍內(nèi)大量積累的、文本語(yǔ)言記錄的歷史災(zāi)害信息進(jìn)行分析和挖掘, 有利于發(fā)現(xiàn)災(zāi)害事件存在的聯(lián)系, 進(jìn)而對(duì)災(zāi)害發(fā)生的類型、時(shí)空分布特征進(jìn)行分析, 為不同地域空間的自然災(zāi)害事件發(fā)生的關(guān)聯(lián)性提供決策支持. 另一方面, 在突發(fā)災(zāi)害事件下, 需要針對(duì)事件可能發(fā)生的前兆和演化過(guò)程的數(shù)據(jù)進(jìn)行快速收集獲取、整理, 以實(shí)現(xiàn)對(duì)自然災(zāi)害的預(yù)警、預(yù)測(cè), 提升自然災(zāi)害的應(yīng)急處理能力.
基于上述背景, 本文設(shè)計(jì)并研發(fā)了自然災(zāi)害預(yù)測(cè)系統(tǒng), 該系統(tǒng)利用成熟開(kāi)源爬蟲框架(WebMagic)從權(quán)威的災(zāi)害信息發(fā)布平臺(tái)中定向抓取非結(jié)構(gòu)化的自然災(zāi)害信息, 并利用中文分詞技術(shù)進(jìn)行數(shù)據(jù)清理將其轉(zhuǎn)換成結(jié)構(gòu)化的自然災(zāi)害數(shù)據(jù)庫(kù). 接著通過(guò)關(guān)聯(lián)分析算法從中挖掘出不同區(qū)域?yàn)?zāi)害事件發(fā)生的關(guān)聯(lián)規(guī)則, 最后通過(guò)實(shí)時(shí)監(jiān)控某災(zāi)害事件發(fā)生的前兆, 結(jié)合關(guān)聯(lián)規(guī)則,進(jìn)而實(shí)現(xiàn)自然災(zāi)害事件的預(yù)測(cè).
2.1 系統(tǒng)功能及設(shè)計(jì)
自然災(zāi)害預(yù)測(cè)系統(tǒng)實(shí)現(xiàn)如下功能:
(1) 定向抓取自然災(zāi)害Web文本信息, 通過(guò)數(shù)據(jù)清理, 形成結(jié)構(gòu)化數(shù)據(jù), 并存儲(chǔ)在MySQL數(shù)據(jù)庫(kù).
(2) 利用改進(jìn)關(guān)聯(lián)規(guī)則算法對(duì)MySQL數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行挖掘, 產(chǎn)生關(guān)聯(lián)規(guī)則庫(kù).
(3) 利用關(guān)聯(lián)規(guī)則庫(kù)和實(shí)時(shí)抓取的自然災(zāi)害Web文本信息監(jiān)測(cè)關(guān)聯(lián)規(guī)則的前端信息, 實(shí)現(xiàn)對(duì)關(guān)聯(lián)規(guī)則的后端信息的預(yù)測(cè).
系統(tǒng)設(shè)計(jì)如圖1所示.
圖1 系統(tǒng)設(shè)計(jì)
用戶界面設(shè)計(jì)如圖2所示.
2.2 Web技術(shù)架構(gòu)
采取如圖3所示的Web技術(shù)架構(gòu).
2.3 自然災(zāi)害預(yù)測(cè)技術(shù)原理
關(guān)聯(lián)規(guī)則采取形如X→Y(時(shí)間間隔)的蘊(yùn)涵式,X和Y分別稱為關(guān)聯(lián)規(guī)則的前端和后端, 該關(guān)聯(lián)規(guī)則表示X發(fā)生, 經(jīng)過(guò)時(shí)間間隔后, Y將發(fā)生. 比如關(guān)聯(lián)規(guī)則:
表示桂林發(fā)生暴雨15天后東莞將發(fā)生臺(tái)風(fēng). 因此假設(shè)上述關(guān)聯(lián)規(guī)則成立, 那么只要監(jiān)測(cè)到桂林發(fā)生暴雨, 那么就可以預(yù)測(cè)15天后東莞發(fā)生臺(tái)風(fēng).
圖2 用戶界面設(shè)計(jì)
圖3 Web技術(shù)架構(gòu)
因此自然災(zāi)害預(yù)測(cè)系統(tǒng)實(shí)現(xiàn)的關(guān)鍵點(diǎn)是:
(1) 自然災(zāi)害Web文本信息抓取, 并通過(guò)數(shù)據(jù)清洗,形成結(jié)構(gòu)化的數(shù)據(jù);
(2) 如何從結(jié)構(gòu)化數(shù)據(jù)中挖掘關(guān)聯(lián)規(guī)則;
(3) 實(shí)時(shí)抓取關(guān)聯(lián)規(guī)則的前端信息.
3.1 Web文本數(shù)據(jù)收集
3.1.1 數(shù)據(jù)收集的難點(diǎn)
目前國(guó)內(nèi)還沒(méi)有統(tǒng)一的結(jié)構(gòu)化自然災(zāi)害數(shù)據(jù)信息庫(kù), 因此存在災(zāi)害數(shù)據(jù)標(biāo)準(zhǔn)不同、數(shù)據(jù)來(lái)源的可靠性與廣泛性難以界定、缺乏統(tǒng)一的收錄數(shù)據(jù)標(biāo)準(zhǔn)界定和數(shù)據(jù)管理范式(包括災(zāi)害特征類、字段名稱、對(duì)應(yīng)數(shù)據(jù)類型等規(guī)范的確定)等種種數(shù)據(jù)質(zhì)量問(wèn)題, 很難實(shí)現(xiàn)災(zāi)害信息的應(yīng)用層面共享. 此外, 由于災(zāi)害信息發(fā)布來(lái)源在區(qū)域尺度、時(shí)間尺度、信息的精度、信息的時(shí)效性、信息條目的全面性等方面往往存在較大的偏差,因此如何得到統(tǒng)一標(biāo)準(zhǔn)的、規(guī)范的、可統(tǒng)計(jì)分析的結(jié)構(gòu)化數(shù)據(jù)成為本系統(tǒng)實(shí)現(xiàn)的技術(shù)難點(diǎn).
3.1.2 數(shù)據(jù)源選取
為確保災(zāi)害數(shù)據(jù)來(lái)源的可靠性以及能夠覆蓋地震、洪澇等十余種主要災(zāi)害類型, 經(jīng)過(guò)調(diào)查分析研究,最終選擇下面國(guó)家權(quán)威機(jī)構(gòu)的災(zāi)害信息數(shù)據(jù)發(fā)布平臺(tái)作為本系統(tǒng)的災(zāi)害歷史數(shù)據(jù)來(lái)源. 具體網(wǎng)站信息如下:
(1) 中國(guó)農(nóng)業(yè)部種植業(yè)管理司歷史災(zāi)害查詢網(wǎng)站(www.zzys.moa.gov.cn);
(2) 中國(guó)森林防火網(wǎng)(www.slfh.gov.cn);
(3) 國(guó)家減災(zāi)網(wǎng)(www.jianzai.gov.cn);
(4) 中國(guó)地震信息網(wǎng)(www.csi.ac.cn).
3.1.3 數(shù)據(jù)收集方式
由于系統(tǒng)的數(shù)據(jù)源來(lái)自不同資料平臺(tái), Web文本數(shù)據(jù)形式以及內(nèi)容均不一樣, 因此系統(tǒng)使用第三方爬蟲軟件進(jìn)行歷史數(shù)據(jù)收集, 根據(jù)不同的數(shù)據(jù)源定制化采集網(wǎng)頁(yè)中指定的文本信息. 最終完成原始數(shù)據(jù)的采集.
3.2 數(shù)據(jù)清洗
3.2.1 數(shù)據(jù)清洗目標(biāo)
災(zāi)害信息的原始數(shù)據(jù)均是Web文本中非結(jié)構(gòu)化的自然語(yǔ)言, 如何從大段的Web文本中提取結(jié)構(gòu)化的滿足需求的有用災(zāi)害信息成為本系統(tǒng)實(shí)現(xiàn)的難點(diǎn). 對(duì)文本災(zāi)害信息的語(yǔ)義理解和抽取, 重點(diǎn)是解決文本語(yǔ)言信息的形式化問(wèn)題, 建立模糊的、定性的語(yǔ)言與定量化的計(jì)算機(jī)模型之間的聯(lián)系, 實(shí)現(xiàn)從大段敘述性的Web文本中整理抽取成形如“時(shí)間+地點(diǎn)+災(zāi)害類型”的結(jié)構(gòu)化數(shù)據(jù). 因此需要按照一定的規(guī)則從文本中抽取匹配有關(guān)災(zāi)害事件的命名實(shí)體, 如災(zāi)害類型、時(shí)間、地點(diǎn), 確定實(shí)體之間的關(guān)系, 進(jìn)而實(shí)現(xiàn)非結(jié)構(gòu)化災(zāi)害信息向結(jié)構(gòu)化災(zāi)害信息的轉(zhuǎn)換.
3.2.2 基于中文分詞的數(shù)據(jù)清洗方法
根據(jù)數(shù)據(jù)來(lái)源復(fù)雜、數(shù)據(jù)內(nèi)容雜亂無(wú)序等特點(diǎn),采用了機(jī)械匹配法(又稱為字符串匹配法)的自然語(yǔ)言分詞方法, 實(shí)現(xiàn)從文本數(shù)據(jù)中提取有效災(zāi)害關(guān)鍵信息(災(zāi)害類型、時(shí)間、地點(diǎn)).
機(jī)械分詞方法又叫基于字符串匹配的分詞方法,它是按照一定的策略將待分析的字符串與一個(gè)“充分大的”機(jī)器詞典中的詞條進(jìn)行匹配, 若在詞典中找到某個(gè)字符串, 則匹配成功(識(shí)別出一個(gè)詞). 該方法是目前Web文本數(shù)據(jù)提取的主流實(shí)現(xiàn)方法之一, 具有易實(shí)現(xiàn)、可維護(hù)、可擴(kuò)展等優(yōu)點(diǎn). 但該方法也存在難以處理未登錄詞, 無(wú)法有效克服歧義切分的缺點(diǎn). 由于本系統(tǒng)中Web文本不涉及語(yǔ)義分析, 同時(shí)“時(shí)間”、“地點(diǎn)”、“災(zāi)害類型”的匹配詞庫(kù)量較小, 因此綜合考慮最終使用機(jī)械匹配法來(lái)實(shí)現(xiàn)數(shù)據(jù)提取清洗.
3.2.3 數(shù)據(jù)清洗規(guī)則
目前收集的Web文本數(shù)據(jù)存在如下數(shù)據(jù)質(zhì)量問(wèn)題:
(1) 原始數(shù)據(jù)針對(duì)時(shí)間要素相關(guān)的描述存在多種格式, 沒(méi)有統(tǒng)一的規(guī)范格式. 以1990年1月1日為例,Web文本數(shù)據(jù)中存在“1990年1月1日”、“1990-01-01”、“19900101”等多種形式.
(2) 原始數(shù)據(jù)針對(duì)地點(diǎn)要素相關(guān)的描述存在描述地域粒度不同, 缺乏統(tǒng)一的唯一標(biāo)示. 在Web文本中存在類似“廣東省”、“東莞市”、“珠江三角洲流域”、“華南地區(qū)”等不同級(jí)別不同粒度的地域描述說(shuō)明, 無(wú)法形成統(tǒng)一的結(jié)構(gòu)化要素.
(3) 原始數(shù)據(jù)針對(duì)災(zāi)害類型要素相關(guān)的描述存在縮略語(yǔ)或者同義詞, 缺乏統(tǒng)一的定義. 例如Web文本中“雪災(zāi)”災(zāi)害類型可能存在被描述成“暴雪”、“大雪”等同義詞.
(4) 原始數(shù)據(jù)針對(duì)時(shí)間要素相關(guān)的描述存在模糊缺省的情況, 例如“1990年1月, ....”.
(5) 原始數(shù)據(jù)來(lái)源復(fù)雜, 數(shù)據(jù)排列無(wú)序.
(6) 數(shù)據(jù)中存在由于錄入錯(cuò)誤等行為導(dǎo)致的違背常識(shí)錯(cuò)誤無(wú)效數(shù)據(jù), 例如(1月56日)等.
根據(jù)對(duì)以上原始數(shù)據(jù)質(zhì)量問(wèn)題進(jìn)行歸納整理, 得出如下數(shù)據(jù)清洗規(guī)則:
(1) 將時(shí)間要素提取成格式統(tǒng)一的結(jié)構(gòu)化要素, 為方便后續(xù)關(guān)聯(lián)分析算法使用, 時(shí)間要素格式定位為4位數(shù)字表示年份、2位數(shù)字表示月份、2位數(shù)字表示日期的格式, 即“19900101”的形式.
(2) 將地點(diǎn)要素提取成格式統(tǒng)一的結(jié)構(gòu)化要素, 將地區(qū)性的地點(diǎn)描述、省級(jí)的地點(diǎn)描述轉(zhuǎn)換成相應(yīng)城市的地點(diǎn)描述, 將地點(diǎn)要素統(tǒng)一成以行政市為單位的數(shù)據(jù).
(3) 將災(zāi)害類型要素統(tǒng)一定義, 最終形成地震、洪災(zāi)、干旱等十類災(zāi)害.
(4) 針對(duì)時(shí)間要素缺省日期的情況, 在當(dāng)月時(shí)間內(nèi)實(shí)現(xiàn)隨機(jī)日期補(bǔ)全, 針對(duì)時(shí)間要素缺省月份的情況則視該條數(shù)據(jù)為無(wú)效數(shù)據(jù).
(5) 將各條原始數(shù)據(jù)提取信息后按照時(shí)間順序進(jìn)行排序, 形成結(jié)構(gòu)化、有序的數(shù)據(jù)集.
(6) 針對(duì)清洗后的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行常識(shí)性容錯(cuò)檢查, 發(fā)現(xiàn)錯(cuò)誤后將該條無(wú)效數(shù)據(jù)剔除.
按照以上規(guī)則進(jìn)行數(shù)據(jù)清洗, 最終獲取33717條結(jié)構(gòu)化數(shù)據(jù)(表1所示), 并存入MySQL數(shù)據(jù)庫(kù)中.
表1 MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)集示例
3.3 自然災(zāi)害Web文本信息實(shí)時(shí)抓取
3.3.1 實(shí)現(xiàn)思路
針對(duì)成熟開(kāi)源爬蟲框架(WebMagic)進(jìn)行二次開(kāi)發(fā), 定制化實(shí)現(xiàn)“標(biāo)題+發(fā)布時(shí)間+災(zāi)害類型”的原災(zāi)害Web文本信息采集. 對(duì)采集到的非結(jié)構(gòu)化文本信息數(shù)據(jù)按照上節(jié)方法進(jìn)行數(shù)據(jù)清洗, 檢索其文本內(nèi)容, 解析生成“時(shí)間+地點(diǎn)+災(zāi)害類型”的結(jié)構(gòu)化前端信息.
3.3.2 WebMagic框架介紹
WebMagic框架介紹內(nèi)容來(lái)源于網(wǎng)絡(luò)參考文獻(xiàn)《WebMagic爬蟲框架學(xué)習(xí)》, 本文摘取和修改其中重要內(nèi)容方便讀者閱讀. WebMagic的框架由四大組件Downloader、PageProcessor、Scheduler和Pipeline組成,而Spider負(fù)責(zé)將它們組織起來(lái). 這四大組件對(duì)應(yīng)爬蟲生命周期中的下載、處理、管理和持久化等功能. Spider是WebMagic內(nèi)部流程的核心. 四大組件都是Spider的一個(gè)屬性, 可以自由設(shè)置這些屬性, 從而實(shí)現(xiàn)不同的功能. Spider也是WebMagic操作的入口, 它封裝了爬蟲的創(chuàng)建、啟動(dòng)、停止、多線程等功能. WebMagic總體架構(gòu)圖如下:
(1) Downloader負(fù)責(zé)下載頁(yè)面, 供后續(xù)處理.WebMagic默認(rèn)以Apache HttpClient作為下載工具.
(2) PageProcessor負(fù)責(zé)解析頁(yè)面, 抽取有用信息, 以及發(fā)現(xiàn)新的鏈接. WebMagic使用Jsoup作為HTML解析工具, 并基于其開(kāi)發(fā)了解析XPath的工具Xsoup. Page-Processor對(duì)于每個(gè)站點(diǎn)每個(gè)頁(yè)面都不一樣, 是需要使用者定制的部分.
圖4 WebMagic總體架構(gòu)圖
(3) Scheduler負(fù)責(zé)管理待抓取的URL和去重工作.WebMagic默認(rèn)提供了JDK的內(nèi)存隊(duì)列來(lái)管理URL, 并用集合來(lái)進(jìn)行去重. 也支持使用Redis進(jìn)行分布式管理.除非有一些特殊的分布式需求, 否則無(wú)需自己定制Scheduler.
(4) Pipeline負(fù)責(zé)抽取結(jié)果, 包括計(jì)算、持久化到文件、數(shù)據(jù)庫(kù)等. WebMagic默認(rèn)提供了“輸出到控制臺(tái)”和“保存到文件”兩種結(jié)果處理方案. Pipeline定義了結(jié)果保存的方式, 如果你要保存到指定數(shù)據(jù)庫(kù), 則需要編寫對(duì)應(yīng)的Pipeline. 對(duì)于一類需求一般只需編寫一個(gè)Pipeline.
3.4 關(guān)聯(lián)規(guī)則算法介紹及改進(jìn)
3.4.1 算法介紹及選擇
R.Agrawal等[9]于1993年提出了關(guān)聯(lián)規(guī)則的概念,用于挖掘顧客交易數(shù)據(jù)的頻繁模式. 關(guān)聯(lián)規(guī)則挖掘算法最常用的就是Apriori和FP-Growth算法. 嚴(yán)格地說(shuō)Apriori和FP-Growth都是尋找頻繁項(xiàng)集的算法. 其中最經(jīng)典的算法是Apriori[10], 但是其致命的缺點(diǎn)是需要多次掃描事務(wù)數(shù)據(jù)庫(kù). FP-Growth算法是韓家煒等人在2000年提出的關(guān)聯(lián)分析算法[11,12], 它采取如下分治策略: 將提供頻繁項(xiàng)集的數(shù)據(jù)庫(kù)壓縮到一棵頻繁模式樹(FP-tree), 但仍保留項(xiàng)集關(guān)聯(lián)信息. 該算法和Apriori算法最主要不同點(diǎn)有: 第一, 不產(chǎn)生候選集; 第二, 只需要兩次遍歷數(shù)據(jù)庫(kù), 大大提高了效率. 因此我們選擇FPGrowth算法挖掘關(guān)聯(lián)規(guī)則.
FP的全稱是Frequent Pattern, 在算法中使用了一種稱為頻繁模式樹(Frequent Pattern Tree)的數(shù)據(jù)結(jié)構(gòu). FP-tree是一種特殊的前綴樹, 由頻繁項(xiàng)頭表和項(xiàng)前綴樹構(gòu)成. 所謂前綴樹, 是一種存儲(chǔ)候選項(xiàng)集的數(shù)據(jù)結(jié)構(gòu), 樹的分支用項(xiàng)名標(biāo)識(shí), 樹的節(jié)點(diǎn)存儲(chǔ)后綴項(xiàng), 路徑表示項(xiàng)集.
FP_growth算法描述如下[13](偽代碼):
輸入: 事務(wù)數(shù)據(jù)庫(kù)D; 最小支持度閾值min_sup;
輸出: 頻繁模式的完全集;
方法:
(1) 按以下步驟構(gòu)造FP樹:
(a) 掃描事務(wù)數(shù)據(jù)庫(kù)D一次. 收集頻繁項(xiàng)的集合F和它們的支持度計(jì)數(shù). 對(duì)F按支持度計(jì)數(shù)降序排序, 結(jié)果為頻繁項(xiàng)列表L;
(b) 創(chuàng)建FP樹的根結(jié)點(diǎn), 以“null”標(biāo)記它. 對(duì)于D中每個(gè)事務(wù)Trans, 執(zhí)行: 選擇Trans中的頻繁項(xiàng), 并按L中的次序排序. 設(shè)Trans排序后的頻繁項(xiàng)列表[p|P], 其中p是第一個(gè)元素, 而P是剩余元素的列表. 調(diào)用insert_tree([p|P], T). 該過(guò)程執(zhí)行情況如下. 如果T有子女N使得N.item-name=p.item-name, 則N的計(jì)數(shù)增加1; 否則,創(chuàng)建一個(gè)新結(jié)點(diǎn)N, 將其計(jì)數(shù)設(shè)置為1, 鏈接到它的父結(jié)點(diǎn)T, 并且通過(guò)結(jié)點(diǎn)鏈結(jié)構(gòu)將其鏈接到具有相同itemname的結(jié)點(diǎn). 如果P非空, 則遞歸地調(diào)用insert_tree(P, N).
(2) FP樹的挖掘通過(guò)調(diào)用FP_growth(FP_tree,null)實(shí)現(xiàn). 該過(guò)程procedure FP_growth(Tree, α)實(shí)現(xiàn)如下:
(a) if Tree包含單個(gè)路徑P then;
(b) for路徑P中結(jié)點(diǎn)的每個(gè)組合(記作β);
(c) 產(chǎn)生模式β∪α, 其支持度計(jì)數(shù)support_count等于β中結(jié)點(diǎn)的最小支持度計(jì)數(shù);
(d) else for Tree的頭表中每個(gè)ai;
(e) 產(chǎn)生一個(gè)模式β=ai∪α, 其支持度計(jì)數(shù)support_count=ai. Support_count;
(f) 構(gòu)造β的條件模式基, 然后構(gòu)造β的條件FP樹Treeβ;
(h) 調(diào)用FP_growth(Treeβ, β).
3.4.2 算法輔助改進(jìn)
系統(tǒng)使用Hadoop平臺(tái)mahout庫(kù)中自帶的FPGrowth算法進(jìn)行頻繁模式的挖掘. 由于算法的特性, 根據(jù)本系統(tǒng)涉及問(wèn)題進(jìn)行算法輔助改進(jìn).
問(wèn)題1. 關(guān)聯(lián)分析的輸入數(shù)據(jù)類型為標(biāo)稱型數(shù)據(jù),而從數(shù)據(jù)采集結(jié)果得到的是具有時(shí)間、地點(diǎn)、災(zāi)害類型三個(gè)屬性的數(shù)據(jù).
輔助改進(jìn): 編寫shell腳本將數(shù)據(jù)采集結(jié)果整理成算法需要的標(biāo)稱型數(shù)據(jù), 首先把地點(diǎn)與災(zāi)害類型合并,再將同一時(shí)間發(fā)生的災(zāi)害作為一個(gè)事務(wù)進(jìn)行處理.
問(wèn)題2. FP-Growth算法的結(jié)果得到的是關(guān)于災(zāi)害預(yù)測(cè)的頻繁項(xiàng)集, 而本系統(tǒng)需要的是帶有特定結(jié)構(gòu)的關(guān)聯(lián)規(guī)則.
輔助改進(jìn): 編寫python腳本, 將頻繁項(xiàng)集整理輸出為本系統(tǒng)需要的關(guān)聯(lián)規(guī)則.
問(wèn)題3. 本系統(tǒng)需要分析出具有時(shí)間間隔的關(guān)聯(lián)規(guī)則.
輔助改進(jìn): 首先編寫python腳本將數(shù)據(jù)采集結(jié)果整理為具有時(shí)間間隔的標(biāo)稱型數(shù)據(jù), 再利用大平臺(tái)環(huán)境進(jìn)行后續(xù)的頻繁模式挖掘, 最后利用對(duì)解決問(wèn)題2而編寫的python腳本整理輸出為具有時(shí)間間隔的關(guān)聯(lián)規(guī)則.
3.4.3 關(guān)聯(lián)規(guī)則庫(kù)設(shè)計(jì)及示例
關(guān)聯(lián)規(guī)則作為重要的發(fā)現(xiàn)知識(shí), 被單獨(dú)存在MySQL數(shù)據(jù)庫(kù), 與圖1中的災(zāi)害信息數(shù)據(jù)庫(kù)是分開(kāi)的.關(guān)聯(lián)規(guī)則庫(kù)(或關(guān)聯(lián)規(guī)則數(shù)據(jù)庫(kù))的數(shù)據(jù)集結(jié)構(gòu)設(shè)計(jì)為“前端+時(shí)間間隔(天)+后端+置信度”, 其中字段“前端”和“后端”由地點(diǎn)和災(zāi)害類型合并而成, 比如前端“貴港_洪澇”是指關(guān)聯(lián)規(guī)則的前端信息, 表示貴港發(fā)生洪澇災(zāi)害. 置信度是指前端發(fā)生的條件下, 后端發(fā)生的概率.
對(duì)表1所示的數(shù)據(jù)集用改進(jìn)后的FP-Growth算法進(jìn)行挖掘, 并按照閾值(置信度為60%)對(duì)關(guān)聯(lián)規(guī)則進(jìn)行篩選, 得到137620條有效關(guān)聯(lián)規(guī)則(見(jiàn)表2).
3.5 自然災(zāi)害預(yù)測(cè)實(shí)現(xiàn)
預(yù)測(cè)任務(wù)由系統(tǒng)的預(yù)測(cè)程序負(fù)責(zé), 操作接口如圖5所示.
表2 關(guān)聯(lián)規(guī)則庫(kù)數(shù)據(jù)集示例
圖5 自然災(zāi)害預(yù)測(cè)
對(duì)預(yù)測(cè)效果的評(píng)估存在一些困難, 因?yàn)轭A(yù)測(cè)準(zhǔn)確性受到很多因素影響, 一是災(zāi)害信息報(bào)道不及時(shí), 導(dǎo)致抓取實(shí)時(shí)災(zāi)害信息延期, 影響最后預(yù)測(cè)結(jié)果; 二是預(yù)測(cè)結(jié)果的驗(yàn)證存在困難, 如預(yù)測(cè)結(jié)果確實(shí)發(fā)生了, 但在指定的網(wǎng)絡(luò)上不存在相關(guān)的報(bào)道(或許在別的網(wǎng)站上有相關(guān)報(bào)道), 導(dǎo)致無(wú)法抓取到真實(shí)信息. 目前在系統(tǒng)上設(shè)計(jì)自動(dòng)驗(yàn)證程序存在技術(shù)難點(diǎn), 因此預(yù)測(cè)效果的評(píng)估靠人工核實(shí).
自然災(zāi)害嚴(yán)重威脅著人民生命和國(guó)家財(cái)產(chǎn)的安全,隨著國(guó)家經(jīng)濟(jì)發(fā)展和人口增長(zhǎng), 自然災(zāi)害所造成的巨大損失正在日益加重. 本文基于關(guān)聯(lián)規(guī)則和Web文本挖掘技術(shù)提出了一種自然災(zāi)害預(yù)測(cè)系統(tǒng)設(shè)計(jì)方案及設(shè)計(jì)方法, 該系統(tǒng)可定向抓取自然災(zāi)害的Web文本信息,通過(guò)中文分詞技術(shù)將非結(jié)構(gòu)化的Web文本信息轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù), 并利用改進(jìn)的關(guān)聯(lián)規(guī)則算法從結(jié)構(gòu)化數(shù)據(jù)中挖掘出自然災(zāi)害關(guān)聯(lián)規(guī)則庫(kù), 最后通過(guò)實(shí)時(shí)抓取自然災(zāi)害Web文本信息監(jiān)測(cè)關(guān)聯(lián)規(guī)則的前端信息, 即某特定自然災(zāi)害事件發(fā)生的前兆, 結(jié)合關(guān)聯(lián)規(guī)則庫(kù)以實(shí)現(xiàn)該自然災(zāi)害事件的預(yù)測(cè). 試運(yùn)行結(jié)果表明該系統(tǒng)能挖掘出有效的關(guān)聯(lián)規(guī)則, 有效提升自然災(zāi)害的防災(zāi)減災(zāi)能力. 該系統(tǒng)還存在一些不足, 比如缺少有效的預(yù)測(cè)效果評(píng)估程序, 這也是本研究后期努力改進(jìn)的方向.
1Brunt J. Using the world wide web to advance data management in LTER. LTER Network News, 1998, 11(1):18–19.
2周寧. 信息資源數(shù)據(jù)庫(kù). 2版. 武漢: 武漢大學(xué)出版社, 2006.233–235.
3韋方強(qiáng), 崔鵬, 胡凱衡, 等. 泥石流災(zāi)害信息共享的方法與實(shí)現(xiàn). 災(zāi)害學(xué), 2002, 17(3): 60–64.
4林孝松, 趙純勇. GIS在重慶市地質(zhì)災(zāi)害信息管理系統(tǒng)中的應(yīng)用. 災(zāi)害學(xué), 2003, 18(1): 71–76.
5Dunbar PK. Increasing public awareness of natural hazards via the Internet. Natural Hazards, 2007, 42(3): 529–536. [doi:10.1007/s11069-006-9072-3]
6Peduzzi P, Dao H, Herold C. Mapping disastrous natural hazards using global datasets. Natural Hazards, 2005, 35(2):265–289. [doi: 10.1007/s11069-004-5703-8]
7李衛(wèi)江, 溫家洪. 基于Web文本的災(zāi)害信息挖掘研究進(jìn)展.災(zāi)害學(xué), 2010, 25(2): 119–123, 128.
8任振球. 關(guān)于加強(qiáng)特大自然災(zāi)害預(yù)測(cè)新途徑新方法研究的討論. 地球信息科學(xué), 2000, 2(2): 76–77.
9Agrawal R, Imieliński T, Swami A. Mining association rules between sets of items in large databases. Proc. 1993 ACM SIGMOD International Conference on Management of Data.Washington DC, USA. 1993. 207–216.
10Agrawal R, Srikant R. Fast algorithms for mining association rules. Proc. 20th International Conference on Very Large Data Bases. Santiago, Chile. 1994. 487–499.
11Han JW, Pei J, Yin YW. Mining frequent patterns without candidate generation. Proc. 2000 ACM SIGMOD International Conference on Management of Data. Dallas, Texas,USA. 2000. 1–12.
12楊勇, 王偉. 一種基于MapReduce的并行FP-growth算法. 重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版), 2013, 25(5): 651–657, 670.[doi: 10.3979/j.issn.1673-825X.2013.05.016]
13Han JW, Kamber M, Pei J, 等. 數(shù)據(jù)挖掘: 概念與技術(shù).范明,孟小峰, 譯. 北京: 機(jī)械工業(yè)出版社, 2012.
Natural Disaster Forecasting System Based Association Rules
LI Han-Ju, LIANG Hao-Bo
(Guangdong Power Grid Co. Ltd., Dongguan Power Supply Bureau, Dongguan 523008, China)
The establishment of natural disaster prediction model to predict and analyze the occurrence of natural disasters is conducive to enhance the technical level of disaster prevention and mitigation. We present a design and implementation of natural disaster forecasting system based on association rules and the Web text mining technology. The system uses a mature open source crawler framework to capture the unstructured natural disaster information from the authoritative disaster information release platforms. By using the Chinese word segmentation technique the data are cleaned up and organized into a structured natural disaster database, and mining association rules of natural disaster events are worked out from improved association rule algorithm. And then by monitoring the front-end information of association rules in real time, the prediction of natural disasters can be achieved. Experimental results show that the system can effectively mine the association rules of natural disaster information with high confidence.
Web text; natural disaster; disaster prediction; association rules; text mining
李漢巨,梁浩波.基于關(guān)聯(lián)規(guī)則的自然災(zāi)害預(yù)測(cè)系統(tǒng).計(jì)算機(jī)系統(tǒng)應(yīng)用,2017,26(7):50–55. http://www.c-s-a.org.cn/1003-3254/5877.html
廣東電網(wǎng)有限責(zé)任公司職工創(chuàng)新項(xiàng)目(GDZC-031920160256)
2016-11-18; 收到修改稿時(shí)間: 2017-01-04