林 麟
(國(guó)能和利時(shí)信息技術(shù)有限公司,北京 100011)
煤礦應(yīng)急預(yù)案管理系統(tǒng)指平時(shí)為應(yīng)急指揮救援做準(zhǔn)備,煤礦突發(fā)事故如瓦斯爆炸、火災(zāi)、水災(zāi)等災(zāi)害發(fā)生時(shí)可以快速進(jìn)行應(yīng)急管理、指揮、救援等。但是突發(fā)事故一般情況復(fù)雜,預(yù)案管理系統(tǒng)對(duì)預(yù)案結(jié)構(gòu)化管理自動(dòng)化水平不高,導(dǎo)致系統(tǒng)很難根據(jù)事故發(fā)生的實(shí)際情況快速為指揮救援提供可靠的輔助決策支持[1-2]。目前應(yīng)急預(yù)案系統(tǒng)大部分對(duì)應(yīng)急預(yù)案的結(jié)構(gòu)化管理采用2種方式:第1種人工按結(jié)構(gòu)化錄入,第2種預(yù)案導(dǎo)入之后文字識(shí)別,沒有實(shí)現(xiàn)真正的對(duì)預(yù)案自動(dòng)分析結(jié)構(gòu)化存儲(chǔ)[3-4]。在應(yīng)急預(yù)案系統(tǒng)智能化方面的研究主要集中于基于規(guī)則推理(RBR)模型和案例推理(CBR)模型[5]。RBR擅長(zhǎng)解決規(guī)則明確的問題,由于處理突發(fā)事故的規(guī)則難以總結(jié)和提煉,并且突發(fā)事故現(xiàn)場(chǎng)條件千差萬別,RBR在實(shí)際運(yùn)用過程中有很大局限性。CBR擅長(zhǎng)解決領(lǐng)域知識(shí)缺乏、模型難以建立、存在大量例外與規(guī)則的事實(shí)的問題,但是這些研究缺少對(duì)事故案例特征值定量分析。
針對(duì)這些問題本系統(tǒng)采用了網(wǎng)絡(luò)爬蟲和基于KNN算法的案例推理技術(shù),通過網(wǎng)絡(luò)爬蟲抓取到的大量事故案例利用分詞技術(shù)進(jìn)行自動(dòng)化分析結(jié)構(gòu)化存儲(chǔ),為系統(tǒng)建立一套大量高可用的事故案例庫[6];通過基于KNN算法的案例推理技術(shù)查找和突發(fā)事故相似的歷史事故案例,生成具有指導(dǎo)作用的應(yīng)急預(yù)案參考藍(lán)本,提高編制應(yīng)急預(yù)案的科學(xué)性、實(shí)用性、可靠性[7]。輔助應(yīng)急人員及時(shí)有效地實(shí)施應(yīng)急指揮工作,規(guī)范礦山事故災(zāi)難的應(yīng)急管理和應(yīng)急響應(yīng)程序,增強(qiáng)應(yīng)對(duì)和防范礦山安全生產(chǎn)事故風(fēng)險(xiǎn)和事故災(zāi)難的能力,最大限度地減少事故災(zāi)難造成的損失,為全面提升礦山應(yīng)急救援保障能力提供有力的科學(xué)支撐[8]。
網(wǎng)絡(luò)爬蟲是一個(gè)自動(dòng)提取網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成。Scrapy是用純Python實(shí)現(xiàn)一個(gè)為了爬取網(wǎng)站數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架,用戶只需要定制開發(fā)幾個(gè)模塊就可以輕松的實(shí)現(xiàn)一個(gè)爬蟲,用來抓取網(wǎng)頁內(nèi)容以及各種圖片,非常之方便。
1.1.1 基于Scrapy框架的網(wǎng)絡(luò)爬蟲技術(shù)的原理
Scrapy框架主要由:調(diào)度器、下載器、爬蟲、中間件、實(shí)體管道和引擎6大組件組成。工作原理如圖1所示:當(dāng)爬蟲要爬取某URL地址的頁面時(shí),將Request對(duì)象提交給引擎。爬蟲讀取URL,并以Parse為回調(diào)函數(shù)生成Request。Request對(duì)象進(jìn)入調(diào)度器按某種算法進(jìn)行排隊(duì),按順序送往下載器。下載器根據(jù)Request對(duì)象中的URL地址發(fā)送一次HTTP請(qǐng)求到網(wǎng)絡(luò)服務(wù)器把資源下載下來,并封裝成Response對(duì)象遞送給爬蟲的頁面解析函數(shù)進(jìn)行處理。若是解析出實(shí)體,則由爬蟲返回的實(shí)體存到數(shù)據(jù)庫或文件中。若是解析出的是鏈接,則把URL交給調(diào)度器等待抓取[9-10]。

圖1 Scrapy原理Fig.1 Scrapy schematic diagram
1.1.2 基于Scrapy框架的網(wǎng)絡(luò)爬蟲技術(shù)的應(yīng)用
網(wǎng)絡(luò)爬蟲事故案例文本:文中以抓取中國(guó)煤礦安全網(wǎng)事故案例為例說明案例的文本抓取過程。利用Scrapy框架只需要定義實(shí)體類、爬蟲、實(shí)體管道。其中①實(shí)體類包含文章標(biāo)題、內(nèi)容鏈接和內(nèi)容;②爬蟲包含爬取URL地址,爬蟲規(guī)則是從最后一頁到第一頁每頁按正則表達(dá)式過濾標(biāo)題和內(nèi)容鏈接,網(wǎng)站的字段和實(shí)體字段對(duì)應(yīng)關(guān)系;③實(shí)體管道主要描述下載之后的文本存放位置。定義完成之后,運(yùn)行爬蟲腳本完成事故案例的抓取和文本存儲(chǔ)。
在事故案例獲取之后,還要考慮網(wǎng)站對(duì)事故案例的更新問題,考慮到事故發(fā)生的頻率不高,因此對(duì)案例的更新時(shí)效性要求不強(qiáng),可以設(shè)置定時(shí)任務(wù)半天或者一天去網(wǎng)站執(zhí)行爬蟲最新頁。在實(shí)體管道中加入增量存儲(chǔ)規(guī)則,如存儲(chǔ)到本地的時(shí)候判斷文件名稱是否相同,如果相同則不需要抓取,如果名字不同則進(jìn)行下載存儲(chǔ),以此實(shí)現(xiàn)案例的定期增量爬取。
采用Python分詞庫對(duì)案例文本進(jìn)行結(jié)構(gòu)化存儲(chǔ):在抓取事故案例之后,需要對(duì)案例文本進(jìn)行分詞處理并結(jié)構(gòu)化存儲(chǔ),以便于對(duì)案例的檢索和分析。文中以瓦斯爆炸類事故案例說明結(jié)構(gòu)化存儲(chǔ)過程。Python的“結(jié)巴分詞”支持對(duì)中文的分詞,安裝方便,使用簡(jiǎn)便。“結(jié)巴分詞”支持3種分詞模式,選取搜索引擎模式,可以對(duì)文本進(jìn)行準(zhǔn)確分析。步驟如下:①建立停用詞庫,對(duì)沒有意義的符號(hào)、感嘆詞需要用Stopwords停用詞過濾;②對(duì)瓦斯爆炸相關(guān)的專業(yè)術(shù)語需要建立自定義詞典,例如針對(duì)事故地點(diǎn)建立自定義字典,如工作面、掘進(jìn)面、大巷、井筒、主井、副井、回風(fēng)井、進(jìn)風(fēng)井等;③通過對(duì)每個(gè)案例按照事故類型、事故地點(diǎn)類型、開拓方式、事故等級(jí)、礦井瓦斯等級(jí)、死亡人數(shù)、企業(yè)類別、礦井證照情況、礦井性質(zhì)、礦井生產(chǎn)狀態(tài)、瓦斯檢測(cè)監(jiān)控系統(tǒng)、防突措施、響應(yīng)等級(jí)等整理自定義字典內(nèi)容,建立瓦斯爆炸類事故自定義字典表;④根據(jù)字典表獲取事故案例中的關(guān)鍵屬性值并結(jié)構(gòu)化存儲(chǔ)在事故案例庫中。
案例推理是由目標(biāo)案例的提示而得到歷史記憶中的源案例,并由源案例來指導(dǎo)目標(biāo)案例求解的一種策略,一般分為4個(gè)環(huán)節(jié):案例檢索、案例復(fù)用、解決方案修正和案例保存。其中案例檢索是關(guān)鍵環(huán)節(jié),它由突發(fā)的事故關(guān)鍵屬性作為輸入條件,從歷史事故案例庫中去查找相似的事故案例。檢索的最終效果是搜索到的相關(guān)案例越少越好,越和突發(fā)事故相似越好。本系統(tǒng)案例推理引入K最近鄰(k-Nearest Neighbor,KNN)算法,KNN算法有成熟的理論支撐,是經(jīng)典機(jī)器學(xué)習(xí)算法之一,常常用來處理人工智能中分類回歸問題,具有對(duì)非正態(tài)類分布準(zhǔn)確性高,易于實(shí)現(xiàn)等優(yōu)點(diǎn)[11-12]。
2.2.1 基于KNN算法的案例推理原理


圖2 案例推理原理Fig.2 Case reasoning schematic diagram
2.2.2 基于KNN算法的案例推理的應(yīng)用
KNN算法總結(jié)起來是由案例和突發(fā)事故的關(guān)鍵屬性的差值與權(quán)重值的乘積累加的值。通過對(duì)每個(gè)事故案例提煉總結(jié),提取事故案例的事故類型、事故地點(diǎn)類型、事故時(shí)間、礦井開拓方式、礦井瓦斯等級(jí)、礦井生產(chǎn)能力值等作為關(guān)鍵屬性,每個(gè)案例對(duì)應(yīng)屬性值qi,突發(fā)事故的每個(gè)關(guān)鍵屬性值為xi,每個(gè)屬性對(duì)應(yīng)災(zāi)害結(jié)果影響的權(quán)重值wi,權(quán)重值wi來源于示范應(yīng)用單位一線業(yè)務(wù)專家,對(duì)權(quán)重打分再取平均分,最終運(yùn)用歐式數(shù)學(xué)距離公式得到歐拉距離值。值最小的k個(gè)值對(duì)應(yīng)標(biāo)記的Label案例作為最相似的k個(gè)案例為本次應(yīng)急響應(yīng)的預(yù)案參考,專家再根據(jù)現(xiàn)場(chǎng)綜合信息進(jìn)行分析判斷,制定高效合理的應(yīng)急救援方案[13-16]。文中經(jīng)過調(diào)查分析得到關(guān)鍵屬性表,見表1。
本系統(tǒng)設(shè)計(jì)了數(shù)據(jù)支持層、專業(yè)數(shù)據(jù)層、用戶管理層、模型算法支持層、功能應(yīng)用層,系統(tǒng)架構(gòu)圖如圖3所示。其中數(shù)據(jù)支持層利用人員定位系統(tǒng)、安全監(jiān)測(cè)聯(lián)網(wǎng)系統(tǒng)、網(wǎng)絡(luò)爬蟲等方式為專業(yè)數(shù)據(jù)層提供數(shù)據(jù),專業(yè)數(shù)據(jù)層集中存儲(chǔ)煤礦生產(chǎn)數(shù)據(jù)、人員數(shù)據(jù)、事故案例、應(yīng)急預(yù)案、礦井環(huán)境等數(shù)據(jù),為智能化應(yīng)急預(yù)案提供數(shù)據(jù)支撐。用戶管理層實(shí)現(xiàn)用戶角色權(quán)限、組織架構(gòu)等基本功能。模型算法支持層主要為實(shí)現(xiàn)智能應(yīng)急預(yù)案提供專業(yè)算法支持,包括基于KNN算法案例推理模型等。功能應(yīng)用層為系統(tǒng)結(jié)合智能化應(yīng)急預(yù)案與現(xiàn)場(chǎng)業(yè)務(wù)要求開發(fā)的各項(xiàng)功能[17-20]。

圖3 系統(tǒng)架構(gòu)Fig.3 System architecture diagram
本系統(tǒng)從中國(guó)煤礦安全網(wǎng)、中華人民共和國(guó)應(yīng)急管理部官網(wǎng)、國(guó)家煤礦安全監(jiān)察局官網(wǎng)、國(guó)家安全生產(chǎn)信息網(wǎng)、各省市煤礦安全監(jiān)管網(wǎng)和安全生產(chǎn)信息網(wǎng)等官方網(wǎng)站上抓取了歷年來發(fā)生的關(guān)于水災(zāi)、火災(zāi)、瓦斯爆炸等常見煤礦災(zāi)害類型的事故案例。最終將這些網(wǎng)站上9 200多個(gè)關(guān)于煤礦事故的事故案例以結(jié)構(gòu)化形式存儲(chǔ)到系統(tǒng)。案例庫查詢界面如圖4所示。

圖4 案例查詢Fig.4 Case query graph
系統(tǒng)最終實(shí)現(xiàn)的效果如圖5所示,本系統(tǒng)實(shí)現(xiàn)了對(duì)應(yīng)急預(yù)案的自動(dòng)分析和結(jié)構(gòu)化存儲(chǔ),實(shí)現(xiàn)了突發(fā)事故的相似案例推薦,提高了對(duì)突發(fā)事故的應(yīng)急指揮救援輔助決策能力。

圖5 系統(tǒng)首頁Fig.5 System homepage
本系統(tǒng)針對(duì)不同的網(wǎng)址編寫不同的網(wǎng)絡(luò)爬蟲腳本從而獲得大量的歷史事故案例文本,利用人工智能的分詞技術(shù),將事故案例文本進(jìn)行結(jié)構(gòu)化存儲(chǔ);通過在案例推理中引入KNN算法優(yōu)化案例檢索能力,提高在事故發(fā)生后推薦歷史相似案例的能力;得到相似案例之后作為參考并結(jié)合現(xiàn)場(chǎng)情況進(jìn)行人工修訂預(yù)案,通過有針對(duì)性的制定預(yù)案方案,進(jìn)行安全隱患排查、應(yīng)急救援培訓(xùn),將安全隱患治理從“事后處理”的傳統(tǒng)模式逐漸轉(zhuǎn)變到預(yù)控層面上,提升應(yīng)急防范治理能力,降低事故發(fā)生的可能性,提升事故發(fā)生后的應(yīng)急管理水平。
本系統(tǒng)的研究成果,提供了一套煤礦智能應(yīng)急預(yù)案平臺(tái)框架,能根據(jù)行業(yè)工作環(huán)境、日常演練情景及應(yīng)急預(yù)案要求,快速定制出符合行業(yè)特性的“真實(shí)”工作場(chǎng)景及演練腳本。目前本系統(tǒng)已經(jīng)在國(guó)家能源集團(tuán)神東煤炭集團(tuán)得到了推廣應(yīng)用,并且可進(jìn)一步針對(duì)其它板塊業(yè)務(wù)特征進(jìn)行增強(qiáng)完善,并可逐步發(fā)展成煤礦智能應(yīng)急預(yù)案系統(tǒng)、電廠智能應(yīng)急預(yù)案系統(tǒng)、煤化工智能應(yīng)急預(yù)案系統(tǒng)等專業(yè)的智能應(yīng)急預(yù)案平臺(tái),有廣闊的市場(chǎng)前景。