孫文龍
(中國(guó)民航大學(xué)飛行技術(shù)學(xué)院,天津 300300)
隨著我國(guó)民航事業(yè)的快速發(fā)展,民航飛機(jī)的安全性也越來(lái)越高,并且以其快捷、舒適的優(yōu)勢(shì)逐漸成為人們出行最受歡迎的交通工具之一。但一些不安全事件、事故征候還是時(shí)有發(fā)生,特別是航空事故還是無(wú)法徹底避免,在航空事故發(fā)生后必須要進(jìn)行事故調(diào)查,民航事故調(diào)查的目的是為了防止事故/事件的再次發(fā)生,為了達(dá)到這一目的,事故調(diào)查方在調(diào)查的過(guò)程中和最終調(diào)查報(bào)告發(fā)布時(shí)都會(huì)針對(duì)調(diào)查過(guò)程中發(fā)現(xiàn)的安全系統(tǒng)的缺陷發(fā)布各種安全建議。
聚類分析是數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)中常見的技術(shù),在學(xué)術(shù)和工業(yè)領(lǐng)域被大量使用,因此本研究運(yùn)用聚類技術(shù)對(duì)這些安全建議進(jìn)行處理,充分發(fā)揮計(jì)算機(jī)強(qiáng)大的計(jì)算能力,利用聚類技術(shù)實(shí)現(xiàn)安全建議文本數(shù)據(jù)的自動(dòng)分類,能夠給民航事故調(diào)查員提供思路以及各單位人員在安全管理中作為參考依據(jù),最終提高中國(guó)民航的安全水平。
文本挖掘主要涉及到數(shù)據(jù)挖掘、自然語(yǔ)言的處理、模式識(shí)別、信息檢索等技術(shù)。本研究中利用的文本聚類分析方法是文本挖掘技術(shù)的一種,在數(shù)據(jù)挖掘方面特別是在對(duì)大數(shù)據(jù)的分析與處理方面應(yīng)用廣泛,是一個(gè)非常有效的數(shù)據(jù)處理分析方法。聚類分析有以下特點(diǎn):
(1)聚類是在對(duì)數(shù)據(jù)沒(méi)有深入了解的情況下,通過(guò)聚類算法自動(dòng)把數(shù)據(jù)集劃分為多個(gè)類別,每一個(gè)類別稱為簇。
(2)聚類的目標(biāo)是:在同一個(gè)類別中的數(shù)據(jù)相似度比較高,而在不同類別中的數(shù)據(jù)相似度比較低。聚類和分類不同,它是一個(gè)無(wú)監(jiān)督學(xué)習(xí)的過(guò)程。
(3)聚類分析是一個(gè)逐步試探的過(guò)程,它根據(jù)數(shù)據(jù)集本身的特點(diǎn)進(jìn)行自動(dòng)的分類,與事先設(shè)定好的分類規(guī)則無(wú)關(guān)。
安全建議是文本的一種,因此本研究運(yùn)用文本聚類的方法對(duì)中美航空事故調(diào)查報(bào)告中的安全建議進(jìn)行文本聚類的處理,最終實(shí)現(xiàn)安全建議的自動(dòng)分類。
安全建議的文本聚類處理流程圖如圖1所示。
在對(duì)安全建議文本集進(jìn)行文本聚類的過(guò)程中,從“中英文分詞”到“特征權(quán)重表示”階段處理是通過(guò)編寫Python語(yǔ)言代碼來(lái)實(shí)現(xiàn);“聚類算法的選擇”以及“聚類結(jié)果的輸出”階段是借助于MATLAB工具來(lái)實(shí)現(xiàn)。
圖1 文本聚類過(guò)程
表1 部分中英文安全建議特征詞
本研究收集了中國(guó)民航在2017年發(fā)布的事故/事故征候/不安全事件調(diào)查報(bào)告130份,在這些報(bào)告中共發(fā)布了安全建議319條;美國(guó)NTSB在2013-2017年發(fā)布的航空類安全建議302條,針對(duì)這兩組數(shù)據(jù)進(jìn)行了分析。
分詞指的是將一些漢字序列或者是英文的句子切分成一個(gè)個(gè)單獨(dú)的詞,然后把這些詞與機(jī)器詞典中的詞條進(jìn)行匹配,如果在詞典中能夠找到上面切分出的單個(gè)詞,說(shuō)明匹配成功(識(shí)別出一個(gè)詞)。對(duì)于本研究來(lái)說(shuō),分詞結(jié)束以后,每一條安全建議就被切分成了多個(gè)詞組的形式。
由表1可知,分詞結(jié)束后也產(chǎn)生了很多無(wú)意義的詞,比如中文的像“的”、“后”、等等,英文的像“of”、“to”等等,把類似這種無(wú)意義的詞歸結(jié)為停用詞,因此為了提高最終聚類結(jié)果的準(zhǔn)確性有必要把這些停用詞過(guò)濾掉,這時(shí)本研究引入了中英文的停用詞表,其中包括中文的停用詞3832個(gè),英文的停用詞891個(gè)。
通過(guò)以上的分詞以及停用詞過(guò)濾,把最終得到的詞稱為安全建議的特征詞,Python運(yùn)行后最終得到了1740個(gè)中文特征詞,1638個(gè)英文特征詞。部分特征詞如表1所示。
建立安全建議文本的特征空間是進(jìn)行安全建議文本聚類分析的重要組成部分,本研究采用的是應(yīng)用最廣泛的向量空間模型。向量空間模型的原理是把一組文檔的集合表示成向量空間中的多個(gè)向量,在本研究中也就是把每條安全建議用一個(gè)向量來(lái)表示,每個(gè)特征詞對(duì)應(yīng)一個(gè)坐標(biāo)軸,將每個(gè)安全建議特征詞的權(quán)重大小作為對(duì)應(yīng)每個(gè)坐標(biāo)軸上的值,假設(shè)用Weight來(lái)表示權(quán)重的大小,有N個(gè)特征詞,則某一條安全建議d對(duì)應(yīng)的向量為:
WeightN
表示在安全建議d中第N個(gè)特征詞的權(quán)重大小。這樣安全建議之間的相似度計(jì)算就轉(zhuǎn)變?yōu)镹維向量之間的相似度計(jì)算。對(duì)于本研究來(lái)說(shuō),Python運(yùn)行后得到的中文安全建議N的取值為1740,英文的為1638。在權(quán)重大小的計(jì)算方面,本研究采用的是詞頻-反文檔頻率(TF-IDF)算法。
對(duì)于在某一文檔d
里的詞語(yǔ)t
來(lái)說(shuō),t
的詞頻可表示為:n
是詞語(yǔ)t
在文檔d
中的所出現(xiàn)的次數(shù)大小,分母是在文件d
中所有的詞語(yǔ)所出現(xiàn)的次數(shù)之和。IDF衡量的是某一個(gè)詞在整個(gè)文本集中的重要程度。IDF的公式表示如下:D
|是文本集中所有文檔的總數(shù),分母是其中包含詞語(yǔ)t
的所有文檔的數(shù)目。本研究通過(guò)計(jì)算某個(gè)安全建議特征詞的tf*idf來(lái)作為該特征詞的權(quán)重。最終得到了中英文安全建議的權(quán)重矩陣。本研究采用的是k-means聚類算法。在完成對(duì)安全建議數(shù)據(jù)的結(jié)構(gòu)化轉(zhuǎn)換之后,需要根據(jù)每條安全建議間的相似度進(jìn)行聚類。在k-means聚類算法中,對(duì)于每條安全建議間的距離運(yùn)算過(guò)程,本研究采用的是“歐式距離”和“余弦距離”。
歐氏距離是應(yīng)用最常見的距離度量,它衡量的是向量空間中各個(gè)點(diǎn)之間的絕對(duì)距離(直線距離)。公式如下:
X
、Y
分別指某一個(gè)文檔,x
、y
分別是對(duì)應(yīng)文檔中某個(gè)特征詞的權(quán)重大小,n
是特征詞的個(gè)數(shù)。余弦距離用向量空間中兩個(gè)向量夾角的余弦值作為衡量?jī)蓚€(gè)個(gè)體間差異的大小。相比距離度量,余弦相似度更加注重兩個(gè)向量在方向上的差異,而非距離或長(zhǎng)度上。公式如下:
X
、Y
分別指某一條安全建議,x
、y
分別是對(duì)應(yīng)安全建議中某個(gè)特征詞的權(quán)重大小,n
是特征詞的個(gè)數(shù)。本研究把Python處理得到的中英文權(quán)重矩陣分別導(dǎo)入MATLAB軟件,調(diào)用其中的聚類處理模塊,分別選擇“歐式距離”和“余弦相似度”進(jìn)行聚類。由于k-means算法需要事先設(shè)定k的大小,因此本研究設(shè)置初始簇個(gè)數(shù)分別為3、4、5,探究不同的k值對(duì)聚類結(jié)果的影響,然后根據(jù)聚類的結(jié)果統(tǒng)計(jì)每一個(gè)聚集中的中英文安全建議數(shù)目
通過(guò)分析得出:“余弦距離”在對(duì)中美安全建議的處理方面效果更好,主要基于以下評(píng)價(jià)標(biāo)準(zhǔn):
(1)類簇的數(shù)量是否合理:用“余弦距離”對(duì)安全建議進(jìn)行聚類,每一類中的數(shù)量分布相對(duì)“歐氏距離”更加均衡。
(2)類簇的可解釋程度高低方面:通過(guò)對(duì)以上不同類別中的安全建議內(nèi)容進(jìn)行分別閱讀認(rèn)知,發(fā)現(xiàn)用“余弦距離”處理得到的結(jié)果中,每一類中的安全建議相對(duì)“歐氏距離”更像一個(gè)整體,相似度更高一些,可解釋程度也更高。
一般以類中數(shù)量適中,類簇可解釋程度較高作為聚類效果較好的標(biāo)志。
在研究過(guò)程中,得出以下結(jié)論:(1)由于安全建議中也存在較多的民航專業(yè)詞匯,如果單獨(dú)用jieba詞庫(kù)進(jìn)行分詞會(huì)產(chǎn)生較多有歧義的詞,因此如果在jieba詞庫(kù)里面再加入民航專業(yè)詞匯,這樣最終的分詞效果會(huì)更好;(2)中美航空事故調(diào)查報(bào)告中的安全建議作為短文本的一種,每條安全建議大約都是幾十個(gè)詞最多也就一百個(gè)詞左右,并且安全建議的數(shù)量相對(duì)較多,中美安全建議的總詞數(shù)都分別達(dá)到了兩萬(wàn)多字,經(jīng)過(guò)文本的預(yù)處理過(guò)程最終篩選出的特征詞分別高達(dá)一千多個(gè),與每條安全建議詞的數(shù)量相差巨大,這樣會(huì)導(dǎo)致權(quán)重表格比較稀疏,最終會(huì)影響聚類的效果;(3)歐氏距離衡量的是空間各點(diǎn)的絕對(duì)距離,跟各個(gè)點(diǎn)所在的位置坐標(biāo)直接相關(guān);而余弦距離衡量的是空間向量的夾角,更加體現(xiàn)在方向上的差異,而對(duì)絕對(duì)的數(shù)值不敏感。因此造成了聚類結(jié)果的差異。