倪曉梅,王華偉,熊明蘭,王峻洲
(南京航空航天大學(xué)民航學(xué)院,江蘇南京 210016)
2021年是“十四五”的開局之年,民航局部署,到2025 年,力爭全國運輸機場容量達到20 億人次.運輸量的增加必然會給民航安全管理帶來嚴峻的挑戰(zhàn).安全風(fēng)險評估作為《民用航空安全管理規(guī)定》[1]的重要內(nèi)容,是實現(xiàn)“安全第一、預(yù)防為主、綜合治理”目標的保障.
民航安全發(fā)展的歷史,就是從事故中學(xué)習(xí)的過程.要實現(xiàn)上述管理的目標,挖掘可利用的事故數(shù)據(jù)與信息,實現(xiàn)精準的風(fēng)險評估是迫切需要解決的問題.若能深層次挖掘事故報告中描述的事故過程,拓展以往只局限于簡單查詢和統(tǒng)計的應(yīng)用,克服依靠領(lǐng)域?qū)<曳治龊脱芯康闹饔^性等問題,將更好地實現(xiàn)通過事故進行學(xué)習(xí)的功能.
機器學(xué)習(xí)和自然語言處理的發(fā)展和應(yīng)用為分析航空安全報告中的非結(jié)構(gòu)化文本數(shù)據(jù)提供了工具和可能.當前在本領(lǐng)域,陸續(xù)有學(xué)者開展了相關(guān)研究.Alkhamisi 等[2]、Zhang 等[3]和Tanguy 等[4]對于航空安全報告系統(tǒng)(Aviation Safety Reporting System,ASRS)中非結(jié)構(gòu)化數(shù)據(jù)的分類和預(yù)測都采用了支持向量機(Support Vector Machine,SVM).以上采用傳統(tǒng)機器學(xué)習(xí)的方法由于文本表示的高緯度高稀疏性,特征表達能力不強,導(dǎo)致預(yù)測精度不夠,需要通過其他方法的集成或處理來獲得更準確的預(yù)測結(jié)果.而如果風(fēng)險等級評估過高,將導(dǎo)致實際風(fēng)險管理中的“虛警”,造成資源的浪費;若風(fēng)險等級評價過低,則會導(dǎo)致實際風(fēng)險管理中的“漏警”,影響安全風(fēng)險.
最新的研究表明,深度學(xué)習(xí)技術(shù)逐漸取代了傳統(tǒng)機器學(xué)習(xí)方法,成為文本分類領(lǐng)域[5]的主流技術(shù).深度學(xué)習(xí)能夠更準確地表達對象,從海量數(shù)據(jù)中自動獲取特征,實現(xiàn)端到端地解決問題,極大地提高了準確性.卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Net?works,CNN)作為典型的深度學(xué)習(xí)方法,在文本分類領(lǐng)域有著較好的應(yīng)用.如羅文慧等[6]、蘭秋軍等[7]和GAO等[8],通過CNN構(gòu)建分類模型,有效抽取句子實體關(guān)系.
基于此,本文從文本挖掘的角度出發(fā),提出一種能夠自動評估民航運營過程中安全風(fēng)險等級的模型.通過CNN 找到非結(jié)構(gòu)化事件信息與事件結(jié)果之間的關(guān)聯(lián)關(guān)系,建立對應(yīng)風(fēng)險等級,從而協(xié)助民航總局等相關(guān)單位進行風(fēng)險量化、優(yōu)先級設(shè)置、資源分配和決策制定,實現(xiàn)主動安全管理的目標.
ASRS 是事件報告數(shù)據(jù)庫,可提供過去幾十年來發(fā)生的事件/事故信息,描述了不安全事件和危險情況[9].但由于事件結(jié)果的復(fù)雜性、數(shù)據(jù)不平衡等特點,直接建立事件概要與結(jié)果的映射在實際中需要較強的專業(yè)性,在模型算法方面的難度也較大.針對上述問題,首先建立對應(yīng)的量化指標.
搜集 從2010 年1 月 至2019 年12 月ASRS 報 告,其中與民航運營[10]相關(guān)*的事件共有33個獨立結(jié)果,如表1所示.
表1 事件結(jié)果說明表Tab.1 Incident result description
此外還有約半數(shù)的事件有多個后果,對風(fēng)險的辨識造成嚴重的干擾.由于結(jié)果的多樣性和復(fù)雜性,直接建立評估模型難以準確判斷風(fēng)險水平.
民航安全風(fēng)險具有一定的聚集特點,即表現(xiàn)為某類事件發(fā)生次數(shù)較多,某類則相對較少.
2010 年報告的所有事件單一后果分布如圖1 所示.
圖1 民航事件結(jié)果分布圖Fig.1 Distribution of civil aviation incident results
可以看出,這33 類事件具有嚴重的不平衡特性,多數(shù)類與少數(shù)類的比值超過3000,這種不平衡的類分布對假設(shè)相對平衡分布的機器學(xué)習(xí)算法提出了嚴峻的挑戰(zhàn)[11],同時難以解釋結(jié)果的客觀性和科學(xué)性.
基于以上事件后果多樣且分布不平衡兩方面的問題,量化事件后果可以更直觀地表現(xiàn)結(jié)果的嚴重度,減少對專業(yè)的依賴性,降低人力成本.
國際民航組織對嚴重度等級依據(jù)人員傷亡、經(jīng)濟損失、機場關(guān)閉時間等[12]因素分為了5 級,故本文按照此標準,將事件后果依據(jù)風(fēng)險等級劃分為5 個等級.則每個等級按照表1 中提供的事件結(jié)果,對應(yīng)風(fēng)險等級如表2 所示,表中“損失”即為國際民航組織提供的劃分依據(jù).
表2 事件結(jié)果風(fēng)險等級表Tab.2 Incident outcome risk Level Table
對于單一后果的事件,按照風(fēng)險等級劃分,對于多后果的事件,根據(jù)民航局“安全隱患零容忍”的態(tài)度和“從嚴從實管控安全風(fēng)險”的原則,遵循按風(fēng)險等級高的劃分,則事件分布如下圖2所示.
圖2 民航風(fēng)險等級分布Fig.2 Civil aviation risk level distribution
風(fēng)險等級的劃分可以很好地解決事件不平衡的問題,并明確復(fù)雜事件的風(fēng)險等級,這有助于模型準確性的提升[13-14].
在文本分類領(lǐng)域常用的深度學(xué)習(xí)方法主要有CNN、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)及其改進和集成模型等[5].
CNN 仿造生物的視覺機制構(gòu)建,能夠很好地提取特征信息,在分類問題上取得了較好的效果,Yoon Kim[15]最早將CNN 用于提取文本的特征實現(xiàn)文本分類.
基于CNN的民航事件風(fēng)險評估模型主要有兩大優(yōu)點:(1)文本表示自動化,泛化性較強,無需專業(yè)的民航背景知識即可得到較好的特征;(2)結(jié)構(gòu)靈活,基于常用結(jié)構(gòu)易于設(shè)計優(yōu)化結(jié)構(gòu),以便后續(xù)依托民航數(shù)據(jù)特點及安全風(fēng)險規(guī)律改進模型.
CNN 主要由六部分組成,輸入層、卷積層、激活層、池化層、全連接層、softmax函數(shù)等,它與普通網(wǎng)絡(luò)的區(qū)別就在于增加了由卷積層和池化層結(jié)合構(gòu)成的特征提取器.其結(jié)構(gòu)如圖3所示.
圖3 CNN風(fēng)險評估結(jié)構(gòu)圖Fig.3 CNN risk assessment structure
事件概要是一種非結(jié)構(gòu)化數(shù)據(jù),它是事件/事故的簡單說明.根據(jù)NLP 文本處理的基礎(chǔ)步驟和民航事件的特點,本文的預(yù)處理過程包括數(shù)據(jù)清洗,加載風(fēng)險源自定義字典、去停用詞和分詞4個環(huán)節(jié).
1)由于涉及到飛機型號、機場、塔臺等編號,為了便于識別,則首先清洗數(shù)據(jù):將飛機型號如(B737,A320…)等全部轉(zhuǎn)換為aircraft,機場編號全部轉(zhuǎn)換為airport等.
2)為保障文本處理的質(zhì)量,按照文獻[16]中專業(yè)術(shù)語的縮寫構(gòu)建自定義詞典.
3)停用詞和分詞按照常用英語停用詞,則轉(zhuǎn)換后的語言如圖4所示.
圖4 文本清洗Fig.4 Text cleaning
1)卷積層
卷積層的輸入為n×n的矩陣,卷積核大小為m×m,n≥m,權(quán)重為ω,卷積后的輸出為c,則對應(yīng)位置(i,j)的輸出為:
式中:xi,j,ωi,j分別為x,ω在位置(i,j)的值.
2)池化層
本文在池化層的構(gòu)造中采用Max-pooling 方法,則對應(yīng)位置(i,j)的輸出為:
3)輸出層
全連接層后生成向量f=(d1,d2,…,dg),其中dg為特征值,g為f的維度,將f輸入到softmax 分類器中進行風(fēng)險等級分類,由于風(fēng)險等級有5 級,則選用多分類交叉熵損失函數(shù)作為目標函數(shù)L:
式中:ysc為樣本s的標簽,與等級c為同一風(fēng)險等級時則為1,不同為0,psc為樣本s屬于等級c的概率.
實驗平臺為3.00 GHz,Intel(R)Core(TM)i7-9700 CPU,8GB 內(nèi)存,在Google Colab 中實施,實驗程序基于開元軟件庫Tensorflow2.0和keras.
10 年報告共28351 條信息,選取其中25%為測試數(shù)據(jù),其余為訓(xùn)練數(shù)據(jù).CNN風(fēng)險評估模型結(jié)構(gòu)和參數(shù)如圖5所示.
圖5 CNN結(jié)構(gòu)圖Fig.5 CNN structure
結(jié)構(gòu)圖說明最大詞向量維度為90,卷積層采用Conv1D.
參數(shù)設(shè)置如下:epoch 次數(shù)為60,即共訓(xùn)練60輪,迭代次數(shù)為1000,學(xué)習(xí)率為0.02,訓(xùn)練后準確率可達96.3%,結(jié)果如圖6所示.
圖6 CNN風(fēng)險分類結(jié)果圖Fig.6 CNN risk classification result
為驗證該方法的優(yōu)越性,分別通過不同量化指標和不同模型兩方面的對比說明,如下圖7所示.
圖7 對比模型準確率Fig.7 Accuracies of comparison models
其中(a)表示應(yīng)用CNN 模型分別對事件后果無分類(即保留原始數(shù)據(jù)中的33 種后果)、參考文獻[2]將事件后果風(fēng)險等級分為高,中,低三等(本文即將中高、中低等風(fēng)險全部歸結(jié)為中等風(fēng)險)和本文提出的5 級對比.結(jié)果表明同樣使用CNN,5 等級的量化指標不僅符合國內(nèi)和國際的標準,準確度也更高.
在5 等級的量化標準下,圖7(b)表示分別應(yīng)用SVM、CNN 和RNN 進行文本分類.結(jié)果說明:CNN 模型的分類效果最好;同時也表明,對于民航事件信息,以CNN 和RNN 為代表的深度學(xué)習(xí)模型準確度高于以SVM為代表的傳統(tǒng)機器學(xué)習(xí)模型.
在本實驗中,CNN模型在準確度上略優(yōu)于RNN,這是因為CNN 模型的詞向量最大為90,不屬于長序列,CNN 模型足夠處理.而民航詞匯的專業(yè)性讓CNN能夠?qū)W⒂诓蹲矫窈绞录谋镜恼Z義信息.
為進一步驗證模型的通用性,將2020 年共2111份報告輸入CNN 分類模型,預(yù)測2020 年的風(fēng)險等級,對事件進行風(fēng)險評估,結(jié)果表明準確率可達到79.6%,混淆矩陣如圖8所示:
圖8 CNN預(yù)測混淆矩陣Fig.8 CNN prediction confusion matrix
其中單個事件的風(fēng)險評估過程如圖9所示:
圖9 說明對于單個事件,當采集到一線人員的事件描述時,即可通過本模型進行風(fēng)險等級的預(yù)測,對于上述事件,風(fēng)險等級的預(yù)測結(jié)果為3 級,即中度風(fēng)險,對比原事件信息,對應(yīng)的事件后果為發(fā)布新的起降許可,符合中等風(fēng)險的損失標準,說明預(yù)測正確.
圖9 單個事件風(fēng)險評估圖Fig.9 Single event risk assessment chart
同時預(yù)測結(jié)果的有效性也說明:采用該模型,后續(xù)在工程中,采集到一線人員對事件的描述后,可以無需專家分析而直接對事件進行評估,確定風(fēng)險水平,以便民航各個部門快速響應(yīng),針對風(fēng)險等級采取對應(yīng)措施,從而減少財產(chǎn)損失和人員傷亡.
實驗結(jié)果表明CNN風(fēng)險評估模型可以有效對非結(jié)構(gòu)化的事件報告分類,而對事件結(jié)果按照風(fēng)險等級的量化可以有效提高分類的準確率,最新的實驗數(shù)據(jù)進一步驗證了模型的通用性.
本文通過提取ASRS 事件信息,針對其非結(jié)構(gòu)化、不平衡等特點,通過對事件風(fēng)險等級的量化分級與映射,設(shè)計了風(fēng)險評估模型.提高了事件概要的分類與預(yù)測準確度,為實現(xiàn)主動風(fēng)險管理提供支撐.主要結(jié)論如下:
1)結(jié)合實際風(fēng)險管理需要,將所有事件結(jié)果分成5 級,在工程上可直觀評估事件風(fēng)險,同時在算法上可解決數(shù)據(jù)不平衡問題;
2)應(yīng)用CNN 網(wǎng)絡(luò)建立民航事件風(fēng)險評估模型,專注于捕捉民航事件文本的語義信息,準確率可達96.3%,通過與不同量化指標和模型的對比說明了優(yōu)越性;
3)在事件分類的基礎(chǔ)上,進一步拓展其功能,開展風(fēng)險預(yù)測,通過2020 年的報告進行評估預(yù)測,新事件的風(fēng)險等級基本可被準確評估.
未來隨著事件分析維度的增加和事件數(shù)量的積累,為更好地發(fā)揮模型通過事件學(xué)習(xí)的功能,或可在原CNN 模型的基礎(chǔ)上通過預(yù)訓(xùn)練、正則化和集成等方法進一步提高模型性能.