高洪波
(應急管理部信息研究院,北京 100029)
煤礦生產過程常伴隨著安全風險和事故隱患。在煤礦事故發生時,迅速而有效的應急救援是保障人民群眾生命安全和減少經濟損失的關鍵。然而,煤礦事故救援工作既復雜又危險,對救援人員的專業知識和快速決策能力提出了極高的要求。傳統的煤礦應急救援決策主要依賴于人工經驗和現場指揮,在面臨信息匱乏和時間緊迫的情況下,難以迅速做出準確的決策,而主觀判斷容易導致誤判和錯誤決策。因此,煤礦應急救援工作迫切需要高效、科學的輔助決策系統。
目前,已有研究致力于煤礦應急救援輔助決策技術的探索。這些研究主要集中于應急預案的數字化技術、基于歷史案例的推理技術等。在應急預案的數字化技術方面,一些學者通過將煤礦應急預案的文本內容進行數字化,建立相應的數據庫,實現煤礦應急預案的編制、審核、存儲、瀏覽及智能查詢等功能,為煤礦應急救援提供了預案的快速生成和檢索能力[1-4]。然而,目前應急預案的數字化技術主要集中在應急預案本身的數字化處理,對于應急預案的智能化處理如指令構建、任務規劃、方案生成等方面研究較為有限,導致應急預案在實際救援過程中應用不足、應用效率低,難以發揮其在實戰中的作用。在基于歷史案例的推理技術方面,一些研究通過對歷史事故案例進行分析、建模,并構建案例庫和案例推薦系統,以在救援過程中匹配并推薦最相似的案例給指揮人員[5-8]。然而,目前基于歷史案例的推理技術推薦的歷史案例雖具有一定的參考價值,但缺乏與事故現場信息和煤礦實際應急能力的綜合考量,難以在復雜多變的決策過程中生成適用于現場實際情況且具備可執行性的救援方案。
為提高我國煤礦應急救援輔助決策系統的決策準確性、科學性和智能化水平,提出了基于應急預案的煤礦應急救援輔助決策系統設計方法。采用信息提取技術從煤礦應急預案中獲取救援任務信息并建立元任務庫。當煤礦發生安全事故時,系統采集事故信息,從元任務庫中匹配篩選出相關的元任務,并結合煤礦安全監控、人員定位等系統的實時數據,形成詳細且可執行的指令清單。通過任務規劃技術對指令優先級進行規劃,最終生成救援方案并發送給指揮人員。
系統業務流程如圖1所示,主要包括5個步驟:① 預案信息抽取與元任務庫構建;② 事故信息提取與元任務篩選;③ 動態信息采集;④ 救援指令構建;⑤ 任務規劃。
根據GB/T 29 639—2020《生產經營單位生產安全事故應急預案編制導則》的規定[9],煤礦應急預案可分為綜合應急預案、專項應急預案和現場處置方案。系統通過對應急預案的文本進行分析,運用基于大語言模型的信息抽取技術,從應急預案的組織機構及職責、應急響應、處置措施等文本內容中識別并提取關鍵的實體要素,并構建應急救援過程中的最小任務單元[10],即元任務,包括任務名稱、觸發條件、執行部門和任務內容等屬性。為了在事故發生時實現更高效的觸發條件匹配、讀取元任務和構建詳細指令等功能,系統采用關系型數據庫技術來存儲和管理元任務,形成根據事故類型和級別對元任務進行分類存儲的元任務庫,同時采用索引優化和緩存機制,以減少磁盤I/O操作和網絡傳輸延遲,確保快速檢索和訪問所需的元任務信息。
發生煤礦安全事故時,系統從煤礦值班值守系統中提取事故信息,包括事故類型、人員傷亡情況、事故內容、發生地點和發生時間等關鍵信息,并根據事故類型和人員傷亡情況對事故進行分類和分級。事故分類包括瓦斯、頂板、機電、放炮、水災、火災、運輸和其他等8類事故。事故分級主要根據傷亡人數劃分:若造成30人以上死亡,為特別重大事故;造成10人以上30人以下死亡,為重大事故;造成3人以上10人以下死亡,為較大事故;造成3人以下死亡,為一般事故。
事故分類分級后,系統利用語義匹配技術進一步從元任務庫中篩選出與當前事故最匹配的元任務集。在語義匹配過程中,事故內容和任務觸發條件的文本被轉換為向量形式,通過計算相似度篩選出與當前事故匹配度最高的元任務。由于元任務是基于應急預案生成的,而應急預案是在事故發生前事先編制的,所以匹配出的元任務僅包含觸發條件、執行部門和任務內容等信息,需通過救援指令構建過程對元任務補充行動地點、行動時間、執行人員及周邊環境等現場動態信息,才能使救援指令具體化和可執行。
由于井下現場環境復雜且事故態勢瞬息萬變,為確保救援任務的可行性和及時性,系統必須實時采集現場動態信息并融合到救援任務中。系統對接煤礦安全監控、人員定位、水文地質監控、頂板監控及礦用重大設備監控系統,實時采集事故區域的主要環境參數(如甲烷、一氧化碳、風速、煙霧等)、被困人員數量、人員位置信息、行走軌跡,以及水位、水溫、頂板壓力和井下重大設備的運行狀態等動態信息數據。由于安全感知數據產生頻率高,系統采用Kafka消息隊列作為數據傳輸媒介。動態信息數據經過Flink流式處理[11]后被存入時序數據庫中。系統與煤礦通信錄系統進行接口對接,獲取救援人員的聯系方式和相關信息。系統與煤礦應急物資管理系統進行對接,獲取可用的救援物資類型和庫存數量等信息。這些數據通過Kettle數據抽取工具從源系統中提取,通過ETL(Extract-Transform-Load)過程同步到系統中。系統通過整合來自不同系統的各類數據,構建全面且準確的現場動態數據集,以供后續的指令構建過程使用。
煤礦應急救援方案的核心為救援指令集,因此,構建完整且明確的救援指令成為輔助決策過程的關鍵步驟。系統基于指令模板進行指令構建,模板的構成要素包括任務名稱、觸發條件、執行部門、執行人員、任務內容、任務周邊環境、任務時間、任務空間及行動物資等,如圖2所示。系統將采集到的靜態信息和實時數據替換至指令模板的相應占位符中,生成詳細的救援指令。在救援指令構建過程中,需確保替換的數據與模板中的占位符類型和格式相匹配,避免數據丟失或錯誤。

圖2 煤礦應急救援指令模板構成要素Fig.2 Coal mine emergency rescue instruction template components
救援指令構建后,系統運用任務規劃技術確定任務指令的優先級。任務規劃技術是一種基于約束條件的優化算法,它根據任務的目標、資源限制、時間要求等因素來比較不同的任務組合,從而確定最優的任務執行順序和資源分配方案,即形成救援方案。系統將救援方案推送給指揮人員,指揮人員可對其進行手動修訂,一旦確認批準,方案即被下發給執行人員進行實施。隨著事故應急處置工作的推進和現場情況的變化,系統的數據持續獲取和指令動態生成能力確保救援方案在不斷變化的情況下保持高效和準確,直至應急救援工作結束。
煤礦應急救援輔助決策系統架構如圖3所示,自下而上依次為數據層、模型層、業務層、應用層、訪問層。數據層負責采集和存儲系統需要的應急預案、通信錄、環境監測、人員定位、應急物資等數據。模型層主要部署大語言模型ChatGLM[12]及語義匹配模型SBERT[13]等,模型層基于從數據層獲取的各類數據,通過數據標注、模型訓練、模型發布、迭代優化等過程對模型進一步訓練,為業務層提供支持。業務層實現主要業務邏輯,包括預案信息抽取、元任務庫構建、事故信息抽取、任務匹配篩選、任務清單構建、任務清單規劃、救援方案生成等。應用層承載系統的主要功能和應用服務,包括安全態勢、數字預案、輔助決策、方案管理等功能模塊。訪問層實現指揮人員、救援人員等系統用戶通過大屏端、PC端、移動端等方式訪問系統。

圖3 煤礦應急救援輔助決策系統架構Fig.3 Architecture of coal mine emergency rescue auxiliary decision system
安全態勢功能模塊通過對煤礦井下實時數據的監控、分析和視覺化呈現,實現對煤礦安全態勢的全面把握。實時數據包括系統接收的環境感知信息、人員定位信息、應急物資信息及事故信息。通過采用趨勢分析和關聯分析等方法深入挖掘和分析數據,形成安全態勢分析結果,并以多維度的形式進行可視化展示。
數字預案功能模塊基于煤礦各類典型事故災害預案實現快速生成數字化應急預案。預案編制必須嚴格遵循預先設定的數字化模板,確保預案的規范性和一致性。系統支持對預案進行修改、刪除、查詢等維護管理功能,同時也支持對紙質預案的導入和處理,方便預案管理。
輔助決策功能模塊從值班值守系統獲取事故信息,通過語義匹配技術從元任務庫中篩選出與事故相關的救援任務,結合現場實時動態數據生成詳細的任務指令集,應用任務規劃技術在有限資源、時間要求等約束條件下對指令執行順序進行優化和調整,形成包含詳細任務指令、時間計劃、資源需求等信息的高效科學的救援方案。
方案管理功能模塊實現救援方案的預覽、查詢和導出功能。預覽功能幫助決策人員全面了解方案內容和細節;查詢功能允許按照關鍵詞和特定條件篩選救援方案,以協助做出科學的救援決策;導出功能支持將救援方案以不同格式(如Word、PDF等)進行分享和交流。此外,該模塊還具備自動備份能力,以防止因系統故障等原因導致救援方案的丟失。
信息抽取技術是一種處理自然語言文本的關鍵技術[14-16],旨在根據特定的抽取需求從非結構化文本中提取出任務所需的實體、關系和屬性等關鍵信息,以結構化形式進行描述并存入結構化數據庫中。信息抽取技術應用于元任務構建過程中從煤礦應急預案文本中抽取任務實體要素和任務篩選過程中從事故接報信息中抽取事故關鍵要素。
常用的信息抽取方法包括基于規則引擎、詞典匹配或傳統機器學習算法,這些方法通常需依賴領域知識、規則設計和手動特征工程。相比之下,以GPT為代表的大語言模型具有更高的自動化程度、更強的上下文理解能力、更少的數據需求、更好的靈活性[17-19]。系統采用開源大語言模型ChatGLM實現信息抽取。ChatGLM是一款基于GLM架構的大語言模型,由多個編碼器和解碼器組成,可支持本地部署,最多擁有1 300億個參數。在預訓練階段,ChatGLM使用了大量的無監督和有監督數據進行訓練,從而學習到自然語言文本中的通用知識和語言規律。在微調階段,通過使用煤礦應急救援領域的數據集進行微調,模型能夠強化領域知識,進一步提高信息抽取的質量。經過微調的ChatGLM模型在處理煤礦應急預案的實體要素抽取任務時,能夠準確識別并提取出關鍵的任務要素,包括任務名稱、觸發條件、執行部門和任務內容等,即構建元任務,而在處理事故接報信息的事故關鍵要素抽取任務時,同樣能夠準確提取出事故類型、時間、地點及傷亡情況等關鍵信息,為事故分類分級和元任務的篩選奠定基礎。
語義匹配技術實現根據煤礦事故信息從元任務庫中篩選元任務。系統采用孿生網絡SBERT模型進行語義相似度計算,以提升語義匹配的準確性和效率。SBERT是一種基于預訓練語言模型BERT[20]實現的句子級嵌入模型,通過對輸入的句子進行編碼,生成語義豐富的句子向量表示,并用于語義相似度計算。
SBERT模型結構如圖4所示,SBERT模型的子網絡均使用BERT模型,且2個BERT模型共享參數。在語義匹配的過程中,系統首先從煤礦事故接報信息中提取關鍵文本要素,將其輸入到BERT模型中,并應用池化策略(pooling)生成句子表示向量u。同時,系統還將各個元任務觸發條件文本輸入BERT模型中,通過池化策略生成句子表示向量v。通過對煤礦事故接報信息與元任務觸發條件的余弦相似度進行計算(cosine-sim(u,v)),實現精準、高效的語義匹配。

圖4 SBERT模型結構Fig.4 SBERT model structure
在完成基本任務指令列表創建之后,由于多個任務之間可能存在時間或資源依賴關系,且現有應急資源有限,可能無法完全滿足所有任務的需求。所以,有必要將這些任務按照優先級進行劃分,以確保高優先級任務優先執行。
系統采用層次任務網絡(Hierarchical Task Network,HTN)[21-22]規劃器JSHOP2來實現救援任務規劃。JSHOP2具有靈活的規劃語言和豐富的規劃功能,能夠有效應對復雜的任務規劃需求。其規劃過程如下:
1) 領域建模。在JSHOP2中,定義救援任務的領域模型,包括操作(Actions)和謂詞(Predicates)。操作描述可執行的救援任務,如現場偵察、瓦斯排放、人員搜尋等,謂詞描述救援任務中的狀態和約束,如可用的應急物資數量、遇險人員位置信息等。
2) 問題建模。在JSHOP2中,定義具體的救援任務問題,包括初始狀態和目標狀態。初始狀態描述救援任務的觸發條件,如瓦斯爆炸、水害、火災等不同事故情景下的現場環境和人員狀況;目標狀態描述救援任務的期望目標,如控制災情、救出被困人員等。
3) 規劃策略制定。JSHOP2規劃器使用啟發式搜索算法,重點關注如何合理調配有限的隊伍、物資、設備等應急資源,解決任務間的時間和資源依賴關系,并生成符合實際情況的救援方案。
4) 優先級規劃。在問題模型中,為每個任務操作定義優先級屬性,以指定任務的優先級,如優先確保遇險人員的生命安全、維持通風系統的正常運行等。
5) 解決方案生成。當JSHOP2規劃器找到一個可行的解決方案時,系統將解析該方案,并生成規劃結果,包括每項任務的執行順序、責任歸屬團隊及預期的完成時間等。
通過使用JSHOP2規劃器,系統可根據任務的優先級和約束,生成適應緊急情況的任務規劃解決方案,從而可高效地管理和分配有限的資源,確保高優先級任務得到及時執行。
1) 煤礦應急救援輔助決策系統業務流程主要包括:預案信息抽取與元任務庫構建、事故信息提取與元任務篩選、動態信息采集、救援指令構建、任務規劃。系統架構自下而上依次為數據層、模型層、業務層、應用層、訪問層。
2) 應用基于大語言模型的信息抽取技術,實現從應急預案中自動識別和提取關鍵任務要素,并建立元任務庫,形成后續救援任務規劃和決策的數據基礎,提升了應急預案信息的易用性和檢索效率。
3) 應用基于SBERT模型的語義匹配技術,迅速而精準地從元任務庫中篩選出與當前事故情景高度相關的任務集合,加快了響應時間,增強了救援計劃的相關性與適應性。
4) 通過預設的指令模板生成結合現場數據與元任務信息的行動指令,通過任務規劃技術對指令的執行順序進行優化和調整,形成更具可操作性和高效率的救援方案。