毛繼志 葉海生,2 吳 磊 湯新民 郭鴻濱
(1. 中國航空無線電電子研究所 上海200241;2. 南京航空航天大學(xué)民航學(xué)院 南京211100;3. 中國民用航空局空中交通管理局 北京100022)
對于民用航空業(yè)來說,航空器的飛行狀態(tài)是基于管制員發(fā)出的管制指令進(jìn)行調(diào)整的,當(dāng)管制指令偏差出錯導(dǎo)致產(chǎn)生飛行沖突時,需要及時采取調(diào)整措施。而通過對歷史案例進(jìn)行風(fēng)險特征挖掘分析,為管制人員做出輔助決策,便具有了重要的研究意義。隨著大數(shù)據(jù)技術(shù)的不斷發(fā)展,航空不安全案例數(shù)據(jù)量快速增加,如何合理構(gòu)建案例庫并提高案例匹配的準(zhǔn)確度將逐漸成為研究熱點(diǎn)。
民航領(lǐng)域的不安全事件多是采用航空不安全事故報告的文本記錄形式[1-3]、王宏偉[4],吳伋等[5]分別利用關(guān)聯(lián)規(guī)則和R語音解決了文本挖掘中無法識別專業(yè)生僻術(shù)語的問題。且只考慮文本特征詞匯并不能系統(tǒng)表示整個事件的風(fēng)險規(guī)律,于是,學(xué)者們考慮將風(fēng)險特征詞匯以框架的形式構(gòu)建成案例庫,且案例庫的結(jié)構(gòu)和知識需要準(zhǔn)確提取整個風(fēng)險事件的風(fēng)險規(guī)律。陳銘[6]、Gilboa[7]、Ayres[8]、Patterson[9]等都在各自的領(lǐng)域探討了基于本體、專家先驗(yàn)知識等不同案例庫的構(gòu)建方法;最后,研究重點(diǎn)是如何通過有效的案例匹配算法,準(zhǔn)確匹配出與當(dāng)前風(fēng)險態(tài)勢最相似的歷史案例。Assali 等[10]在案例檢索流程中使用了相似區(qū)域概念;Chazara 等[11]提出一種抽象化、推理化的機(jī)制來選取源案例;裴艷香[12]以模糊理論為基礎(chǔ),采用最近鄰匹配算法計(jì)算案例之間的相似度。但以上研究多是集中在如何運(yùn)用專家經(jīng)驗(yàn)或基于本體領(lǐng)域知識來構(gòu)建案例庫,未考慮事件本身的潛在風(fēng)險致因因素,而對于案例匹配也多是考慮基于傳統(tǒng)的距離函數(shù)去度量案例之間的相似程度,并不能更大程度上保證匹配的效率和精確性。
本文針對管制指令偏差案例識別與匹配問題進(jìn)行研究,在此基礎(chǔ)上,通過文本挖掘從案例本身屬性去分析案例特征,以構(gòu)建風(fēng)險模式案例庫,并提出了基于粗糙集理論的加權(quán)歐式距離進(jìn)行案例相似度匹配,通過模擬案例對該算法進(jìn)行了對比分析。
本文選取2008—2018 年的航空不安全事件報告,報告中詳細(xì)記載了不正常事件的起因、經(jīng)過和結(jié)果,并且包含專家對不正常事件的定性分析評價與相應(yīng)建議措施。以其中管制指令偏差事件作為本文數(shù)據(jù)挖掘的語料,構(gòu)建管制指令偏差案例庫。
1.1.1 文本分詞
文本挖掘需要將文本數(shù)據(jù)通過向量模型轉(zhuǎn)化為結(jié)構(gòu)化的數(shù)值數(shù)據(jù),即由詞匯或短語組成的向量,通過對文本語料進(jìn)行分詞處理之前,需要將語料進(jìn)行規(guī)范化處理,剔除掉冗余詞匯(如:虛詞,標(biāo)點(diǎn)符號,英文字符等)。本文利用Pyhton平臺的jieba分詞工具[13],可以有效的過濾掉這些冗余詞匯,為防止專業(yè)領(lǐng)域詞匯被切分,再向jieba 分詞包中導(dǎo)入民航領(lǐng)域詞典,如:民航業(yè)詞庫、民航飛行系統(tǒng)詞庫等,有效保證了民航領(lǐng)域?qū)I(yè)詞匯切分的準(zhǔn)確性。
1.1.2 基于概念模型的文本特征提取
文本特征提取的方法通常是采用TF-IDF算法[14],其算法原理如下。
TF(詞頻)的具體公式為
式中:k 為關(guān)鍵字;n 為某文檔的總詞數(shù),nk為該文檔內(nèi)關(guān)鍵字k 出現(xiàn)的次數(shù);TF 為關(guān)鍵字在某文檔內(nèi)出現(xiàn)的次數(shù),與該文檔總詞數(shù)之間的比值。
IDF(逆向文件詞頻)的計(jì)算公式為
式中:N 為所有處理文檔的數(shù)目;Nk為含有關(guān)鍵詞k 的文檔數(shù)目。
最后TF - IDF 這一評估值等于TF 和IDF 的乘積,為
筆者在處理分詞結(jié)果的過程中發(fā)現(xiàn),由于文本報告語料并沒有統(tǒng)一、規(guī)范的記載格式,出現(xiàn)大量詞匯不同但詞義相同或相近的情況,僅僅通過構(gòu)建向量模型去提取文本特征,會導(dǎo)致特征詞匯冗雜,向量維度過大。因此,考慮將概念模型引入到文本向量模型中,即通過構(gòu)建民航領(lǐng)域概念詞典[14],將語料庫中表達(dá)含義相近的詞匯放在同一概念形式下,這樣可以使特征詞匯更準(zhǔn)確,區(qū)別度更大,減少冗余特征的出現(xiàn),見表1和表2。
表1 部分民航領(lǐng)域概念詞典Tab. 1 Someconcept dictionaries in the fieldofCivilAviation
表2 構(gòu)建概念詞典前后的部分特征詞匯權(quán)重對比Tab. 2 Comparison of the weight of some feature words before and after the construction of concept dictionary
1.2.1 確定數(shù)值型風(fēng)險特征屬性
將文本挖掘出來的特征詞匯或短語放在同1個風(fēng)險屬性集下。其中,出現(xiàn)的某些風(fēng)險屬性是由確定的特征子屬性值組成,也即1個風(fēng)險事件的發(fā)生,是由其包含的子屬性集的1種或多種共同組成,見表3。
表3 確定數(shù)值型特征屬性Tab. 3 Determination of numerical characteristic attributes
1.2.2 模糊數(shù)值型風(fēng)險特征屬性
對于某些特征屬性難以用確定的值去進(jìn)行度量,或用確定的值度量對案例推理并不能起到有效的幫助,如:風(fēng)險發(fā)生時間段和發(fā)生地點(diǎn)。發(fā)生地點(diǎn),在案例中多以“航路交叉點(diǎn)附近”或“扇區(qū)移交點(diǎn)附近”這樣含義模糊的詞匯所描述;而風(fēng)險發(fā)生時間,在某一時間點(diǎn)的描述并不具有規(guī)律特征,因此,通過構(gòu)建隸屬函數(shù),用隸屬度來近似表示案例的地點(diǎn)、時間的模糊特征。
隸屬函數(shù)的定義。給定論域U 上的1個模糊子集A 是指:對于任意的u ∈U,都指定1 個數(shù)μA(u)∈[0,1],叫做u 對A 的隸屬函數(shù)或隸屬度[15-16]。
對于風(fēng)險發(fā)生地點(diǎn),將案例里出現(xiàn)的“管制移交點(diǎn)”等點(diǎn)定義為中心點(diǎn),設(shè)到中心點(diǎn)的距離為d ,最大距離為dmax=100 km,超過dmax,則認(rèn)為隸屬度為0;事故發(fā)生地點(diǎn)距離中心點(diǎn)越近,那么隸屬度越接近1,而當(dāng)距離為0~100 km 之間,其隸屬度符合高斯分布,見圖1。
圖1 距中心點(diǎn)距離的隸屬度函數(shù)Fig. 1 Membership function of distance from center
最終得到距離的隸屬函數(shù)為
式中:σ 的取值由3σ 準(zhǔn)則確定。
根據(jù)航空事故發(fā)生時間規(guī)律分布,可將時間段劃分為:高峰期、平峰期和低谷期。其中高峰期時段為11:00—13:00,15:00—17:00;平峰期時段為7:00—11:00,13:00—15:00,17:00—21:00;低谷期時段為00:00—07:00,21:00—24:00。定義每個時間區(qū)段為[tmin,tmax] ,當(dāng)t ∈[tmin,tmax] ,其隸屬度也遵循高斯分布,見圖2。
圖2 風(fēng)險時間區(qū)段的隸屬度函數(shù)Fig. 2 Membership function of risk time section
當(dāng)t <tmin,t >tmax時,其隸屬度為0,最終得到時間的隸屬度函數(shù)為
式中:σ 的取值由3σ 準(zhǔn)則確定,見表4。
表4 模糊數(shù)值型特征屬性Tab. 4 Fuzzy numerical characteristic attributes
1.2.3 風(fēng)險模式案例庫的框架表示
1個案例框架由若干個槽值表示,各槽值由若干側(cè)面來表達(dá),側(cè)面值是個側(cè)面的具體賦值[17]。對于本文來說,槽值就是各屬性特征值,不安全案例以固定的結(jié)構(gòu)被詳細(xì)的表示出來。下面是框架表示案例的1個簡例。
槽1:標(biāo)識屬性。
<事件案例編號X >:X11
槽2:風(fēng)險偏差條件屬性。
<風(fēng)險發(fā)生地點(diǎn)C1>:航路交叉點(diǎn)附近,0.9
<風(fēng)險發(fā)生時間C2>:高峰期,0.6
<環(huán)境因素C3>:危險氣象
<人為因素偏差C4>: 管制員指令錯誤
<風(fēng)險指令模式C5>:高度改變指令
<航空器運(yùn)行模式C6>:爬升—下降
<持續(xù)時間C7>:157
槽3:風(fēng)險決策屬性。
<事件類型V1>:小于規(guī)定垂直間隔
因此,案例庫的任一案例可以用這樣的框架槽值表示,再轉(zhuǎn)化為向量形式,為
式中:(a1,a2) 和(b1,b2,b3) 分別為風(fēng)險發(fā)生時間和地點(diǎn)的3個子屬性值的隸屬度大??;(c1,c2,c3,c4,c5) 為確定數(shù)值型的特征屬性值。
管制指令模式主要分為3類:高度改變指令、航向改變指令,以及速度改變指令。通過分析實(shí)時態(tài)勢的管制指令模式,結(jié)合航空器的運(yùn)動方程,對航空器軌跡進(jìn)行偏差識別,當(dāng)軌跡偏差導(dǎo)致航空器之間小于規(guī)定間隔飛行,便認(rèn)定產(chǎn)生飛行沖突。
當(dāng)管制員對航空器1 下達(dá)改變高度偏差指令后,計(jì)算航空器1 飛越到航空器2 所在高度層時間,記為偏差持續(xù)時間T 。則有
式中:ΔH 為航空器1 和2 之間的高度差;α 為爬升率;v1,v2分別為航空器1和2的速度;D 為到達(dá)航空器2高度差的1和2的間隔;ΔX 為起始水平間隔。
判斷航空器1與航空器2在時間T 后是否小于規(guī)定間隔ΔD ,若是,則認(rèn)定該指令是高度指令偏差,見圖3。
圖3 高度指令偏差導(dǎo)致的航跡沖突Fig. 3 Track conflict caused by altitude command deviation
當(dāng)管制員對航空器1 下達(dá)航向改變指令后,計(jì)算航空器1接近航空器2,直至剛好小于規(guī)定水平間隔ΔD 的時間,記為T 。設(shè)轉(zhuǎn)向角為θ ,則有
若該方程有解,計(jì)算時間T ,則認(rèn)定該指令是航向指令偏差。見圖4。
圖4 航向指令偏差導(dǎo)致的航跡沖突Fig. 4 Track conflict caused by heading command deviation
當(dāng)管制員對航空器1 下達(dá)加速指令(或?qū)娇掌?下達(dá)減速指令)時,會造成后機(jī)速度大于前機(jī)速度,當(dāng)航空器1和2之間的水平間隔小于規(guī)定水平間隔ΔD 時,便會形成飛行沖突。
管制指令中,管制員發(fā)出的指令一般為“加(減)速到XXX”,本文考慮以航空器的從速度v1變化到v2的時間為T ,加速度a 取航空器的平均加速度。則有
若該方程有解,計(jì)算時間T ,則認(rèn)定該指令是速度指令偏差。見圖5。
圖5 速度指令偏差導(dǎo)致的航跡沖突Fig. 5 Track conflict caused by speed command deviation
3.1.1 歐式距離相似度計(jì)算
案例的相似度即案例之間相似程度的數(shù)值度量,而案例庫作為1個多維數(shù)據(jù)空間向量結(jié)構(gòu),歐氏距離是測量2個向量空間距離的1種方法,向量空間距離越小,案例相似度越高。傳統(tǒng)的歐式距離計(jì)算方法如下。
式中:Xm,Xn為2 個不同風(fēng)險案例;ei,fi分別為Xm,Xn的第i 個風(fēng)險屬性值,且有i = 1,2,…,n 。
3.1.2 弊端分析
傳統(tǒng)的歐式距離標(biāo)準(zhǔn)將每個維度的向量放在同一個距離量綱下進(jìn)行計(jì)算,并沒有考慮每個案例屬性之間差異的影響,而對于文本案例來說,特征屬性差異大,指標(biāo)衡量標(biāo)準(zhǔn)也不相同,若不對屬性進(jìn)行差異化分析,便達(dá)不到案例區(qū)分的作用。
因此,需要考慮每個屬性對案例的貢獻(xiàn)權(quán)重,對每個屬性的貢獻(xiàn)賦權(quán)來修改公式,由于案例中的屬性類型和量綱都不同,且屬性權(quán)重的計(jì)算不宜采用專家打分等類似的主觀評價方法,而是基于案例本身所包含的信息量來確定屬性權(quán)重的一種客觀賦權(quán)方法。案例特征屬性權(quán)重大小直接影響案例相似度的計(jì)算結(jié)果,需要選擇一個好的權(quán)重計(jì)算方法,以提高案例匹配的準(zhǔn)確性。
針對指令偏差案例屬性差異大導(dǎo)致屬性權(quán)重?zé)o法確定的問題,本文提出基于粗糙集理論的加權(quán)歐式距離算法,粗糙集不需要任何先驗(yàn)知識,就能夠挖掘出數(shù)據(jù)中隱藏的規(guī)律,利用粗糙集可以比較客觀地確定案例特征屬性的權(quán)重。該算法主要分為2個步驟。
步驟1?;诖植诩碚摰膶傩詸?quán)重計(jì)算。對于整個管制語音指令偏差知識系統(tǒng),給定K =(U,R),對每個子集X ?U 和等價關(guān)系R[18],定義
分別稱它們?yōu)閄 的下近似和上近似。其中posR(X)=-R(X),稱為X 的R 正域。
在給定的信息系統(tǒng)中,屬性集所確定的等價關(guān)系是唯一的,所以經(jīng)常用屬性集來表示其對應(yīng)的等價關(guān)系。
步驟2。加權(quán)歐式距離相似性度量。由于各特征屬性的度量單位不一致,因此在用計(jì)算特征權(quán)重之前,需要首先對原始數(shù)據(jù)進(jìn)行歸一化處理,即把指標(biāo)的絕對值相對化,從而使所有特征向量具在同一長度上進(jìn)行比較。案例庫中的數(shù)據(jù)都是正向數(shù)據(jù),因此本文采用min-max標(biāo)準(zhǔn)化。
則x'i,j為第i 個案例的第j 個特征屬性的數(shù)值(i = 1,2,…,n; j = 1,2,…,m)。
假 設(shè) 有 2 個 案 例 Xm=(e1,e2,…,en) 和Xn=( f1,f2,…,fn),則有
式中:n 為維數(shù),也即特征屬性個數(shù);ei和fi分別為Xm和Xn第i 個屬性值;ωi為每個特征屬性的權(quán)重,
3.3.1 算法對比
對2 種算法進(jìn)行對比,本質(zhì)區(qū)別在于是否考慮案例屬性的權(quán)重大小?;诖植诩南嗨贫绕ヅ鋾?yōu)先匹配權(quán)重大的特征屬性,而傳統(tǒng)相似度匹配則不會考慮匹配的優(yōu)先性。
下面結(jié)合真實(shí)案例來對比分析改進(jìn)前后的案例屬性權(quán)重大小。選擇2008—2018 年發(fā)生的75 組歷史管制指令偏差事件作為實(shí)驗(yàn)案例庫,2018 年上半年發(fā)生的5組作為測試案例,將這2組案例同時進(jìn)行屬性歸一化處理,最后得到的案例特征向量,具體見表5和表6。
表5 實(shí)驗(yàn)案例庫的特征向量表示Tab. 5 Feature vector representation of experimental case base
利用粗糙集公式計(jì)算得到每個特征屬性的權(quán)重,結(jié)果見表7。
表6 測試案例的特征向量表示Tab. 6 Eigenvector representation of test cases
表7 風(fēng)險特征屬性的權(quán)重大小Tab. 7 Weight of risk characteristic attributes
從表7 可以看出,C4,C5表示的人為屬性偏差和風(fēng)險指令模式的權(quán)重最大;其次是航空器運(yùn)行模式和偏差持續(xù)時間;而風(fēng)險地點(diǎn)和時間,環(huán)境因素的權(quán)重最低。結(jié)合實(shí)際案例來看,人為屬性、風(fēng)險指令、模式航空器運(yùn)行模式和偏差持續(xù)時間決定整個案例的風(fēng)險類型及風(fēng)險過程,是關(guān)鍵風(fēng)險特征,而風(fēng)險地點(diǎn)和時間等并不能直接導(dǎo)致風(fēng)險事件發(fā)生,因此屬性重要度較低。
而對比傳統(tǒng)相似匹配算法,則沒有考慮屬性差異性,因此每個特征屬性權(quán)重均為1/7,這樣便不能體現(xiàn)屬性匹配的優(yōu)先性。
3.3.2 效果分析
分別利用傳統(tǒng)歐式距離和基于粗糙集理論的加權(quán)歐式距離對匹配案例與實(shí)驗(yàn)案例庫進(jìn)行相似度匹配,最后得到匹配結(jié)果,具體見表8和表9。
表8 基于傳統(tǒng)歐式距離的相似度案例匹配結(jié)果Tab. 8 Similarity case matching results based on traditional Euclidean distance
表9 基于粗糙集理論的加權(quán)歐式距離的相似度案例匹配結(jié)果Tab. 9 Similarity case matching results of weighted Euclidean distance based on Rough Set Theory
從匹配的特征屬性來看,由于傳統(tǒng)相似匹配算法并沒有考慮實(shí)際案例屬性的差異化,從表9 的測試案例Y1和Y3匹配結(jié)果來看,對于特征屬性C5即風(fēng)險指令模式,前者都為高度改變模式,后者為航向改變模式,因此,2個案例風(fēng)險致因因素就不相同,前者為穿越高度層造成的偏差,后者為改變航向造成的偏差;而基于粗糙集理論的加權(quán)歐式距離則是優(yōu)先匹配權(quán)重大的特征屬性(即關(guān)鍵風(fēng)險特征),從表9的匹配結(jié)果來看,則不會出現(xiàn)這種情況。
從匹配的距離大小(即相似程度)來看,基于傳統(tǒng)歐式距離的范圍在0.2~0.4 之間,導(dǎo)致案例相似度匹配程度不高,這也增加了匹配到錯誤案例的概率;而表9 基于改進(jìn)后的方法則將范圍縮小到0.1~0.2,案例相似度匹配程度提高,匹配準(zhǔn)確度也隨之提高。
選取發(fā)生在“2019年2月20日,浙江空管分局由于管制員指揮不當(dāng)而造成的指令偏差事件”。
首先,通過研究實(shí)時管制員語音指令來判斷出指令的偏差模式及預(yù)期偏差持續(xù)時間,實(shí)際陸空對話錄音內(nèi)容的文本報告,見表10。
表10 陸空對話錄音文本報告Tab. 10 Text report of land air communication recording
通過識別對話內(nèi)容,可以判斷該指令為高度改變指令,且航空器的運(yùn)行模式處于下降狀態(tài)。接下來,判斷航空器在該指令下可能會產(chǎn)生的偏差。
圖6是2航空器在指令剛發(fā)出所處的位置,從對話可以分析出高度改變量為3 200 m(從9 500 m下降到6 300 m),航空器的下降率為600 m/min,代入式(6),判斷預(yù)期偏差持續(xù)時間為320 s。
對于事故發(fā)生地點(diǎn)和時段,結(jié)合隸屬度計(jì)算公式可分別得到,該目標(biāo)案例Y0的特征屬性值,見表11。
表11 目標(biāo)案例X0 的特征屬性值Tab. 11 Characteristic attribute values of target case X0
對目標(biāo)案例的特征屬性值進(jìn)行歸一化處理后,Y0的特征向量可表示為
圖6 航空器雷達(dá)定位截圖Fig. 6 Screenshot of aircraft radar positioning
Y0=(0,0.71,0,0.94,0,0,0.33,0.33,0.83,0.88)
利用基于粗糙集權(quán)重的加權(quán)歐式距離進(jìn)行案例匹配,最終得到的最相似案例,具體見表12。
表12 基于粗糙集權(quán)重的加權(quán)歐式距離匹配結(jié)果Tab. 12 Weighted Euclidean distance matching results based on rough set weight
案例X21的特征描述如下C1:發(fā)生地點(diǎn)為管制移交點(diǎn)附近(成都南扇與重慶區(qū)調(diào)的管制移交區(qū)域之間);C2:發(fā)生時間為平峰期(上午10:30 左右);C3:0(無惡劣氣象或軍事活動等環(huán)境影響);C4:管制員指揮失誤(管制員讓航空器下降7 800 m 保持);C5:改變高度(離開10 800 m、下降7 800 m保持);C6:2 航空器的飛行模式:下降—平飛;C7:偏差持續(xù)時間:301 s(上午10:30—10:35)。
通過分析可以看出:基于改進(jìn)后的方法可以將人為因素偏差,指令改變模式以及航空器運(yùn)行狀態(tài)等關(guān)鍵特征完全匹配,且偏差持續(xù)時間的值也很接近,因此2 個案例都是由于管制員錯誤指揮下降高度,導(dǎo)致其穿越高度層與另1 架平飛的航空器因?yàn)榭v向間隔不足產(chǎn)生的飛行沖突,也進(jìn)一步驗(yàn)證了該算法的準(zhǔn)確性。
依據(jù)文本挖掘算法提取歷史案例的風(fēng)險特征,構(gòu)建出了風(fēng)險模式案例庫;通過管制指令模式對實(shí)時態(tài)勢的偏差進(jìn)行識別并提取出特征屬性,提出了基于粗糙集理論的加權(quán)歐氏距離匹配算法,并與傳統(tǒng)相似匹配算法進(jìn)行對比分析,驗(yàn)證了前者對于屬性差異化的案例匹配更加準(zhǔn)確。最后通過案例仿真驗(yàn)證了筆者采用的方法可以準(zhǔn)確區(qū)分案例的關(guān)鍵風(fēng)險特征,并縮小案例間的距離,從而提高案例匹配的準(zhǔn)確性,且對于屬性差異化大的案例尤為適用。未來可進(jìn)一步研究對實(shí)時指令的偏差識別改進(jìn)算法,對航空器軌跡狀態(tài)進(jìn)行更準(zhǔn)確的識別來提高實(shí)時案例的文本表征識別度。