孫殿閣副教授
(中國勞動關系學院 安全工程學院,北京 100048)
通過對已有事故、事故征候及不安全事件的成因機理進行分析,有針對性地提取不安全事件及事故征候表征的安全風險特征,并進行有針對性地比對分析利用,是持續(xù)改進現有民航安全管理水平的有效手段,對事故預防和應急計劃的制定具有重要參考價值[1]。
專家學者針對民用機場不安全事件展開研究。倪曉梅、王華偉等[2]將不平衡數據概念引入民航不安全事件中,借助主成分分析法分析引起事故征候以及航空事故的主要危險源;單晶晶[3]利用貝葉斯網絡對民航不安全事件進行預測推理,對不安全事件進行噪聲診斷和高發(fā)風險識別;于思璇等[4]通過收集近年通用航空不安全事件的數據,建立樣本與成因列聯表,利用對應分析的多元統計方法分析不安全事件發(fā)生時間與發(fā)生原因之間的內在聯系,為通用航空安全管理提供一定支持;喬善勛[5]對人為因素造成事故的成因和分析模型進行系統梳理;呂學梅[6]引入民航不安全事件進行主成分分析法,對航空公司的不安全事件進行預測分析。周唯杰等[7]建立基于故障樹的多態(tài)貝葉斯網絡系統安全分析模型,實現定性與定量相結合的民航安全分析。
專家系統作為人工智能的一部分,自1960年被提出以來,隨著計算機科學的快速發(fā)展,已經成為一門在各個行業(yè)都廣泛應用的學科。李先鋒、頡潭成等[8]為促進制造業(yè)升級發(fā)展,對數控機床的加工精度專家系統進行研究;郭忠毅、龍飛等[9]針對智能無人飛艇的故障診斷問題,設計開發(fā)一套基于CLIPS框架的故障診斷專家系統;陳安華等[10]利用知識網格等知識獲取與數據挖掘方法,提出基于知識網格的故障診斷專家系統模型,構造基于本體的故障診斷知識庫;李進[11]針對海洋石油已積累的大量案例和故障特征數據,提出用規(guī)則和相似度的智能診斷技術研究,提高機組無故障平穩(wěn)運行時間,從而提高企業(yè)的經濟效益;林銳等[12]介紹液壓故障診斷專家系統的組成及工作原理,并對整個專家系統的實現進行分析和研究。
從上述可以看出,民航機場不安全事件分析研究較多,但是對不安全事件的標準化,以及和人工智能技術相結合,形成可供借鑒的、可重復使用的知識庫的研究卻很少;專家系統技術在機械加工、故障診斷等領域應用廣泛,但是在民航不安全事件分析方面的研究相對較少;此外,專家系統構建過程中,專家知識的獲得一直是專家系統構建過程的難點。針對此,本文以Reason模型為知識構建準則提出不安全事件分析專家系統的構建思路及方法,實現民用機場不安全事件計算機輔助分析。最后,以某機場行李車擠壓艙門不安全事件為例進行實證分析,用以證明該專家系統的可行性。
Reason模型[13]是James Reason提出的概念模型,其內在邏輯是:事故的發(fā)生不僅有一個事件本身的反應鏈,同時存在一個被穿透的組織缺陷集,事故促發(fā)因素和組織各層次的缺陷(或安全風險)是長期存在并不斷自行演化的。這些事故促因和組織缺陷并不一定導致不安全事件,當多個層次的組織缺陷在一個事故促發(fā)因子上同時或次第出現缺陷時,不安全事件就會失去多層次的阻斷屏障。其原理就如同奶酪圖一樣。Reason模型的奶酪片一共有4片,代表在一個組織中的4個層面因素,即組織影響、不安全的監(jiān)督、不安全行為的前提和不安全行為,如圖1。
圖1 Reason模型Fig.1 Reason model
民用機場不安全事件分析是一項復雜的經驗性工作,需要大量獨特的專家經驗和知識技能才能解決。專家系統是一種基于知識的人工智能系統,其實質是利用大量人類專家的知識和推理方法求解復雜實際問題的一種人工智能計算機程序。
常見專家系統知識表示方式有:邏輯表示、語義網絡表示、規(guī)則表示、框架表示等。本研究采用基于Reason模型的不安全事件分析流程圖來表示?;赗eason模型的不安全事件分析流程圖是一種圖形化知識,用來反映不安全事件分析過程與思路,它遵循一定的推理邏輯,對不安全事件發(fā)生原因按照一定順序逐個排查、確定,并進行邏輯推理與判斷,最終得出不安全事件產生的根本原因及過程。
專家系統需要成熟的數據庫技術來存儲相關的事實與規(guī)則,目前流行的各種關系型數據庫,都是以二維表的形式記錄存儲數據信息。雖然這些關系型數據庫也能存儲并反映規(guī)則間的彼此繼承關系,但是在進行數據的增添、刪除、修改、查詢(Create Retrieve Update Delete,CRUD)等操作時,就會顯得效率低下。為解決這個問題,本文采用樹形結構數據庫來完成上述工作。
樹形結構具備如下特征:數據存儲冗余度小、直觀性強;檢索遍歷過程簡單高效;節(jié)點CRUD操作高效。程序設計過程中,樹形結構常常被用來表征某些數據的關聯關系。圖2和下表展示樹形數據庫結構存儲的原理。下表中的左值(Lft)和右值(Rgt)是對樹進行前序遍歷的順序,圖2中箭頭所示為按上述次序進行遍歷的路徑。
表 樹形結構的數據庫結構Tab. Database structure of tree structure
對相關知識無限分類的過程就是專家系統對相關領域專業(yè)知識的學習認知過程。根據《民用航空安全信息管理規(guī)定》(交通運輸部令2016年第8號)對民用航空安全信息的范圍、上報、處理、分析與應用做出的界定,以及中國民航局安全咨詢通告(CAAC AC-396-AS-2016-08)對民用航空安全信息的格式做了進一步解釋。針對機場業(yè)務及部門保障特點,通過分析歷年機場事故、事故征候以及不安全事件的特點,得到常見民用機場不安全事件按業(yè)務模塊分類如下:設備設施故障,包括行李系統、安檢系統、信息系統;信息系統故障,包括地面信息系統、離港系統、航顯系統、廣播系統;航空保安,包括圍界入侵、沖破安檢門、施工非法入侵、行李口入侵、漏檢、侵入隔離區(qū)、提前登機、清倉;消防,包括飛行區(qū)失火、遠機位施工失火;應急;剮蹭,包括車輛與飛機剮蹭、廊橋與飛機剮蹭、高橋剮蹭、飛機與飛機剮蹭;運行,包括鳥擊航空器、侵入跑道、航空器地面安全、輪胎破損、助航燈光維護、不停航施工(違規(guī)進入機坪、違規(guī)操作、損壞管線)、其他。目前,本專家系統只有剮蹭4個子類民用機場不安全事件的知識模塊。
由于Reason模型是一個抽象理論,使用上沒有固定標準。維格曼(Wiegmann)、夏佩爾(Shappell)等[14]對Reason模型進行修正并形成人的因素分析與分類系統(Human Factors Analysis and Classification System,HFACS)。在此基礎上,霍志勤等[15]人結合Shell模型,對模型進行修正,提出新的4個層次:防御系統,包括相關人員、告警設備和減災系統;不安全行為,包括失誤與違章;發(fā)生不安全行為的條件,包括個人狀況不佳以及硬件、軟件、環(huán)境、相關人員缺失或缺陷等幾項;管理失效,包括組織文化、資源管理、組織架構、運行管理、督促檢查5方面。本文綜合霍志勤等人的研究成果,運用HFACS模型對民用機場不安全事件進行分析,進行民用機場不安全事件分析專家知識流程圖繪制,并形成專家知識供系統學習。以行李車擠壓艙門事件為例(如圖3),從“行李車擠壓艙門”或“行李車與飛機剮蹭”為起點進行分析,沿著箭頭指示方向逐步遍歷。分支節(jié)點分為定性因素與定量因素2種,例如“行李車在滑行飛機前200m內穿行”就是定量因素專家知識,定量因素通過閾值的比較來決定分支走向;“行李車接受民航交通管理部門檢驗不合格”等為定性因素專家知識,定性因素多通過“好”或“不好”、“不足”與“否”、“失效”與“否”等來決定分支走向。推理到“違章”“失誤”“組織缺陷”“監(jiān)管失效”“組織管理失效”等過程節(jié)點,則推理結束。如果沒有找到答案,則啟動專家?guī)炀S護程序,從而形成新的專家知識。
圖3 行李車擠壓艙門不安全事件分析流程圖Fig.3 The analysis flow chart of unsafe event of baggage cart squeezing cabin door
民用機場不安全事件分析專家系統主要由人機接口、知識庫、推理機、綜合數據庫(黑板)、知識獲取、解釋接口等6部分構成。
(1)人機接口(User Interface,UI)是專家系統與領域專家或知識工程師及一般用戶的界面,負責在輸入或輸出的過程中進行內部表示形式與外部表示形式的轉換。
(2)知識庫(Knowledge Base,KB)是知識的存儲機構,用于存儲領域內的原理性知識、專家的經驗性知識以及有關的事實等。從知識獲取機構獲取知識,同時為推理機提供問題求解所需的知識。知識庫管理系統負責對知識庫中的知識進行組織、檢索、維護等管理。
(3)推理機(Inference Engine,IE)是專家系統的核心部分,其任務是模擬領域專家的思維過程,控制并執(zhí)行對問題的求解。它能根據當前已知事實,利用知識庫中的知識,按一定推理方法和控制策略進行推理,求得問題的答案或證明某個假設的正確性。
(4)綜合數據庫(Integration Database,ID)又稱為“黑板”,它用于存放用戶提供的初始事實、問題描述以及系統運行過程中得到的中間結果、最終結果、運行信息等,表示了專家系統當前要處理對象的主要狀態(tài)和特征。
(5)知識獲取(Knowledge Acquisition Facility,KAF)用來從人類專家獲取知識,然后通過知識編輯軟件把知識輸入到知識庫中,并維持知識的一致性及完整性,建立性能良好的知識庫。
(6)解釋接口(ExplanationFacility,EF)用來跟蹤并記錄推理過程,當用戶提出詢問需要給出解釋時,根據問題要求做出相應的處理,把解答通過人機接口輸出給用戶。
其中,推理機是整個系統的核心,用以控制、協調整個系統。推理機分正向推理、反向推理及混合推理3種[16-17]。本文采用正向推理設計,基本思路為:從初始已知事實出發(fā),在KB中找出當前適用的知識,構成可用知識集(Knowledge Set,KS);按設定的沖突消解策略從KS中選出一條知識進行推理,并將推出的新事實加入到數據庫(Database,DB)中作為下一步推理的已知事實,再在KB中選取適用知識構成KS;重復上一步,直到求得問題的解或KB中再無可適用的知識。推理流程,如圖4。
圖4 正向推理機示意圖Fig.4 Schematic diagram of forward inference engine
本專家系統采用Microsoft VC++結合Access小型關系型數據庫來實現,運用CJView 6.0類庫構建專家系統界面。Microsoft VC++是Microsoft公司推出的可視化集成編程工具。通過COM(the Component Object Model)技術及VBA(Visual Basic for Applications)技術可以實現開發(fā)工具(VC++)、ADO(ActiveX Data Objects)數據庫、Office辦公軟件之間的無縫銜接,方便把分析結果導出到Word等Office辦公軟件中。此外,著名的開源專家系統CLIPS也是用C語言編寫的,可以方便的應用其推理機、知識消解等關鍵代碼。
民用機場不安全事件分析專家系統主窗口界面,如圖5。主窗口的中間部分為推理過程顯示黑板,左側部分為知識庫、原因列表、案例庫頁面,用戶可以通過這3個頁面瀏覽及條件查詢,主界面的下方顯示與當前正在分析的不安全事件最匹配的參考案例。以“行李車擠壓艙門”不安全事件為例,進行原因分析。用戶輸入“行李車擠壓艙門”名稱后,工具欄中的“分析”按鈕,即可啟動該不安全事件分析過程。在推理過程中,專家系統通過(Yes)或(No)選項與用戶互動,獲得推理條件。同時,推理的每一步(有參數測量的除外)用戶都可選擇中止將前面的推理過程保存,以便以后繼續(xù),推理結束后,程序會提示用戶是否將診斷過程保存到歷史案例庫里。如果推理不成功,系統將轉到知識庫維護界面,將新的事實知識與規(guī)則知識作為專家知識豐富到知識庫。
圖5 民用機場不安全事件分析專家Fig.5 The civil airport unsafe event analysis expert system
(1)基于Reason模型建立民用機場不安全事件分析流程圖,有效地解決了傳統專家系統知識獲取困難的問題,實現了民用機場不安全事件原因的定性、定量分析。
(2)提出了應用樹形結構數據庫來存儲知識庫的方法,方便了專家知識的CRUD等操作,有利于推理機的設計與實現。
(3)參照CLIPS設計民用機場不安全事件分析專家系統架構組成及推理機,闡述其運行基本原理;并運用Microsoft VC++開發(fā)工具結合ADO數據庫訪問技術、VBA技術及CJView 6.0類庫加以實現。
(4)通過“行李車擠壓艙門”不安全事件分析對該專家系統進行了實際應用,證明了該專家系統的可行性。