劉俊杰, 杜尹嵐, 閆慧娟
(中國民航大學民用航空安全科學研究所, 天津 300300)
近年來,隨著中國民航事業的發展,航空安全信息獲取渠道擴展的同時,航空安全信息的數量也有大幅度增長。但由于航空安全信息具有非常強的專業性,對其進行深入分析需要比較強的行業知識,分析方法的欠缺和人員的不足使航空安全信息的分析局限在統計分析層面階段,因此亟需開發可靠的專業分析工具。
目前,中外航空安全信息的分析主要涉及以下兩個方面:一是從某一具體事件或事件類型出發,詳細地分析事件原因,構建人為差錯模型[1-4];二是基于事件文本對導致事件的原因進行詳細分析,如劉俊杰等[5-6]采用內容分析法、語義網絡分析法發現事件原因、涉及的飛行階段以及隱患后果等。
以上分析方法獲取結果緩慢不能滿足當前信息量猛漲的現實狀況,中外學者開始嘗試利用計算機提高信息分析效率,主要采用聚類算法、關聯規則、分類算法等實現信息的自動分析,文獻[7-8]基于聚類思想,先后利用神經網絡算法和潛在語義索引法,分別實現對機場噪聲煩惱度模型的模糊集和航空報告的有效分類;Tanguy等[9]將自然語言處理(natural language processing, NLP)工具運用到航空安全報告管理中,使用監督機器學習技術處理信息文本內容,識別與指定內容相似的報告,從而找到單個事件發生的前因,實現了數據/文本挖掘和交互式信息的主動分析;王宏偉[10]提出將關鍵詞與基于本體的多層關聯規則方法結合,從而發現了詞條間存在的潛在關系;Robinson[11]利用潛在的語義分析(latent semantic analysis, LSA)過程識別語料庫之間的關聯性,并提出了一種允許宏觀和微觀數據視圖相結合的計算方法,實現了語料庫中事件各因素之間關系的可視化。Arnaldo Valdes等[12]利用貝葉斯機器學習方法以及層次結構得出具有不同復雜性和目標的統計估計和預測模型,提前識別航空安全風險;劉夢娜[13]基于卷積神經網絡算法對航空安全報告分類,最終預測航空安全風險。
上述分析發現,雖然在傳統事件分析法的基礎上數據挖掘技術[14]在航空安全信息分析方面有了初步的應用,但大部分是基于關聯規則尋找信息潛在關系,運用文本聚類和可視化技術快捷提取信息關鍵內容的研究較少。基于此,在現有航空安全信息分類的基礎上,以Python語言為工具,運用K-means 完成信息聚類,并基于多縮縮放(multi climensional scale,MDS)、詞云圖實現可視化以期挖掘航空安全信息中潛藏的安全隱患,為風險管理提供基于數據的改進方向。
聚類分析主要從數據集中按照給定的要求和規律總結出數據對象之間的關系[15],完成分類過程。在Python環境下利用文本挖掘的相關技術進行聚類分析,包括文本規范化處理和文本數據分析。具體聚類流程如圖1所示。

圖1 聚類流程
1.1.1 文本中文分詞
為了實現數值格式的特征輸入,必須對文本進行清洗、規范化預處理。而中文文本分詞[16]是對文本進行規范化處理的第一步,該過程將文本數據分解拆分為具有更小且有意義的成分。采用基于規則的jieba分詞,它提供了精確模式、全模式和搜索引擎模式3種分詞模式,雖然jieba有新詞識別的能力,但自定義詞典可確保分詞精準度。
1.1.2 去停用詞表
文本數據為非結構化的,存在各種各樣的噪聲,比如介詞、標點、副詞等無關緊要的詞語,若不移除噪聲,可能會對后面聚類分析的結果產生影響。因此,分詞過后,載入并遍歷停用詞表,清洗文本詞語,該停用詞表可以從網上下載,并能添加或刪除停用詞表中的詞語,使文本噪聲降到最低。
1.1.3 特征提取
特征提取是采用數據挖掘技術篩選出最能表達文本信息的內容。向量空間模型(vector space model)[17]是處理文本數據非常有用的概念和模型。數學上定義為假設在文本向量空間VS中有一個文本D。每個文本維度和列數量將是向量空間中全部文本中不同詞項或單詞的總數量。因此,向量空間可以表示為
VS={W1,W2,…,Wn},
(1)
式(1)中:n為全部文本中不同單詞的數量。
因此,可以把文本D在向量空間表示為
D={wD1,wD2,…,wD3}
(2)
式(2)中:wDn表示文本D中第n個詞的權重。這個權重是一個數量值,可以是文本中詞的頻率、平均頻率或者是TF-IDF權重。
在計算權重方法上, TF-TDF[18]仍存在的一定的優勢,計算tfidf在數學上的定義為
tfidf=tf*idf
(3)
式(3)中:tf表示詞頻,任何文本的詞頻是該詞在特定文本中出現的頻率值;idf表示逆文檔頻率,其的數學表達式為

(4)
式(4)中:idf(t)表示單詞t的idf;C表示數據庫中文本的總數量;df(t)表示包含單詞t的文本數量頻率。
由idf(t)可得,單詞在數據庫中出現頻數多不一定有價值,出現在數據庫中的次數少而特定文本中出現次數多的可能會是有用信息。
最終使用的TF-IDF度量是tfidf歸一化,還需要將tfidf矩陣除以矩陣的L2范數來進行歸一化處理,L2范數也稱為歐幾里得范數,它是每個單詞tfidf權重平方和的平方根,則最后為

(5)
1.2.1 文本聚類
K-means聚類算法[19]實現簡單以及可擴展大量數據,可被廣泛應用,它是一種基于質心的聚類模型。該算法基本思路為:假設有一個具有N個數據點或樣本的數據集X,將N個數據點分離為K個不想交的分離聚類Ck,并且每個聚類都可以用樣例聚類的平均值表示,這些平均值就是聚類的質心μk,它們不受X的N個樣本實際數據點這個條件的限制。該算法選擇這些質心并以慣量(inertia)最優化方式構建聚類模型,其數學表達式為

(6)
式(6)中:聚類Ci和質心μi中i∈{1,2,…,k},該優化的步驟如下。
步驟1:在數據集X中選取k個隨機樣本,選擇k個初始質心μk。
步驟2:通過將每個數據點或樣本分配到離其最近的質心來更新聚類,數學表達式可以為
Ck={xn∶‖xn-μk‖≤all‖xn-μl‖}
(7)
步驟3:通過步驟2獲得每個聚類的新聚類數據點重新計算得到新的聚類,即

(8)
以迭代重復以上步驟,直到步驟2和步驟3不再發生變化,最終使聚類效果相比較優。
1.2.2 聚類可視化
為使聚類后的信息在低維坐標中直觀、形象地展示出來,并從整體上把握信息分布情況,達到對研究對象視覺上分類的功能,聚類可視化可實現這一點。因航空安全信息屬于非結構化,采取多維縮放(MDS)減少非線性維度最佳,其核心思想是使用一個距離矩陣獲取各個數據點之間的距離,如余弦相似度[20]、歐氏距離[21]。MDS嘗試使用向量中的高維特征轉為低維特征表示,并用matplotlib工具繪制圖形。
為了有效提取文本特征,航空安全信息對事件發生經過的描述需要更加客觀,并且信息內容格式應固定。選取2017年國內不安全事件信息中的系統信息,因其機械故障客觀性較強,上報信息內容更加真實、可靠。所以,選取2017年因機械原因發生數量最多系統失效/卡阻/故障事件類型信息為樣本,信息共計931條。
結合研究對象特征,載入民航專業術語的詞典后,采用Python庫中的jieba分詞,并不斷地添加、刪除停用詞表中的詞。最終得到3 757個詞匯。部分詞匯如表1所示, Features表示特征詞匯,Index表示特征詞匯的位置,同時顯示了特征詞的類型與字符大小。對用TF-IDF計算各個特征詞權重值,表2顯示了“氣象雷達”在不同信息中的權重。

表1 部分特征詞

表2 特征詞權重
聚類分析的核心思路是輸入特征矩陣,根據信息間的距離完成分組。從Python庫中sklearn.cluster模塊中導入K-means,將參數num_cluster設置為13,即聚類標簽為13,運行后的聚類結果如表3所示。

表3 系統失效/故障/卡阻事件類型信息聚類結果

圖2 樣本信息聚類可視化
由表3可知,每個聚類標簽都被分配了一些信息,快速實現信息的整理和歸檔。同時能根據關鍵特征了解各個標簽的主要內容,同時可檢索到詳細信息。比如cluster1中包含86條信息,提取到的詳細聚類分析信息為“襟翼”“進近”“位置”“后緣”“傳感器”等,參考聚類標簽中的關鍵特征,可及時快速地掌握到:在系統失效/卡阻/故障事件類型信息中,飛機在進近階段易發生襟翼不對稱或卡阻事件,航后需更換襟翼位置傳感器。因此,安全管理或機務人員根據聚類標簽的關鍵特征提示,多加排查襟翼位置傳感器,提前找出消除安全風險的方法,及時制定預防措施。
實現基于MDS聚類可視化之前,首先需要確定一個距離矩陣,因航空安全信息是以文本的形式描述事件,而余弦距離更多的根據文本內容來區分各文本之間的相似程度或差異性,因此采用余弦距離更能滿足目前研究要求。利用Python實現基于MDS可視化結果如圖2所示。
在圖2顯示的結果中,共有13個聚類標簽,每個聚類標簽都具有自己的顏色和符號,以區分圖例框中的特征值。每個聚類由其主題描繪,主題通過最主要的特征定義該聚類,并且可以快速檢索到每條信息。例如在基于MDS的聚類可視化結果中,與“TCAS”故障相關的信息顯示為紅色圓形的聚類標簽,與“起落架”故障相關的信息顯示為黃色五邊形的聚類標簽。圖2反映了通過可視化將具有內在相對關系的信息聯系在一起,以圖形的形式展示樣本信息的相似特征,效果上更加直觀,達到了航空安全信息視覺上分類的功能。
為全面理解聚類可視化的功能及其在實際中的應用,將針對某一個聚類標簽中的信息進行詳細分析,清晰地梳理信息間的差異性。在Python環境下,使用matplotlib繪制的聚類可視化可對目標區域放大,以便清晰地查看聚類標簽中包含的特定信息及其距離相近的其他信息。例如將具有“TCAS”關鍵特征的聚類標簽放大,即圖2中顯示的紅色圓形區域放大,呈現的結果如圖3所示。

圖3 與“TCAS”相關的聚類標簽局部可視化圖
圖3不僅展示了飛機某一具體系統部件出現故障的頻次,還可以根據信息間的距離挖掘彼此之間相互關系。同聚類標簽中大多數涉及的是同種系統故障,但造成同系統故障屬性不同,如圖3中信息中主要描述的是TCAS故障,但可能會因TCAS計算機、天線或跳開關等問題引起TCAS故障。因此,根據信息在低維空間中的坐標位置,可視化感知信息間的差距及產生原因,檢索和追溯相似性更大的信息,全面尋找同類系統涉及的不同系統部件失效或故障屬性,這對具體某一系統內多層級故障的風險識別起到輔助作用。
接著利用微詞云在線分析工具對聚類標簽信息集進行可視化處理,形成關鍵詞云或關鍵詞渲染,從而過濾掉大量的無效詞語,使得在信息分析過程中能一眼掃過信息的關鍵主旨,從視覺上顯示圖3紅色圓形聚類標簽中信息內容的主要特征。詞云圖如圖4所示。

圖4 與“TCAS”相關的聚類標簽詞云圖
通過圖4可以看出,“空中防相撞系統(traffic collision avoidance system,TCAS)”“縮小垂直間隔(reduced vertical separation minimum, RVSM)”“巡航”等詞語字體相對較大,位置醒目,說明了信息集這些詞被關聯情況多,重要性大。通過此可視化方法可方便快捷地掌握該聚類標簽的關鍵主旨,輕松幫助分析或管理者鎖定關鍵項,提高信息分析者的工作效率。
而包括一些與飛行階段、地域性相關的詞語,如“滑行”“巡航”“重慶”“深圳”等詞語,這說明TCAS故障發生可能由多因素相互結合造成的,但由于對系統故障信息內容的描述不夠具體,深層次分析系統失效/故障存在局限性,需要進一步獲取詳細的事件報告信息。
(1)在Python環境下,從信息的內容出發,利用文本挖掘相關技術對樣本信息處理,及時、快速地實現航空安全信息的自動識別和聚類,從而減少人工查閱、整理、歸檔信息的時間。
(2)基于MDS對航空安全信息聚類可視化,到達信息在視覺上分類的效果,并可檢索、追溯同系統相似甚至相同部件故障信息,發現系統多層故障類型,掌握具體某一系統故障所有可能因素,可作為航空安全風險管理中系統分級管理的輔助工具。
(3)利用詞云圖對特定聚類標簽中信息內容可視化,從整體視覺把握信息特征詞匯分布情況,輕松鎖定信息關鍵項,發現系統故障可能關系到的多種因素,為下一步制定風險管控針對性措施提供參考依據,達到安全隱患預警的目標。