項(xiàng) 恒,張 馳,李 猛
(中國(guó)民航大學(xué)空中交通管理學(xué)院,天津 300300)
隨著中國(guó)民航業(yè)的快速發(fā)展,飛行員需要處理的與飛行相關(guān)的信息越來越多,導(dǎo)致飛行員在短時(shí)間內(nèi)無法全面了解其中的關(guān)鍵信息。 這些信息主要集中在飛行前收到的飛行前信息通報(bào)(PIB,preflight information bulletin)中。飛行前信息通報(bào)中對(duì)飛行安全影響最大的是航行通告(NOTAM,notice to airman)。這些航行通告中包括很多與本次飛行不相關(guān)的航行通告,也包括一些不規(guī)范的航行通告,對(duì)航班飛行有著重大安全隱患。
對(duì)航行通告的處理,相關(guān)學(xué)者進(jìn)行了諸多研究。陳鳳蘭[1]采用改進(jìn)的模糊評(píng)價(jià)法對(duì)造成不規(guī)范航行通告的因素進(jìn)行識(shí)別;徐慧[2]通過對(duì)某地區(qū)的不規(guī)范航行通告進(jìn)行統(tǒng)計(jì)分析,與實(shí)際工作流程相結(jié)合,提出航行通告安全風(fēng)險(xiǎn)管理方法;王小文等[3]針對(duì)傳統(tǒng)航行通告中E 項(xiàng)文本沒有固定格式、表述不規(guī)范的問題,提出了一種事件驅(qū)動(dòng)的數(shù)字化航行通告時(shí)空數(shù)據(jù)模型和編碼方法,構(gòu)建了一種新的數(shù)據(jù)集規(guī)范;張珣[4]基于新型數(shù)據(jù)訪問面向服務(wù)架構(gòu)(SOA,service oriented architecture)構(gòu)建出航行通告處理系統(tǒng),具備新報(bào)瀏覽、本場(chǎng)運(yùn)行圖標(biāo)注等功能;胡靜[5]基于數(shù)據(jù)分發(fā)服務(wù)(DDS,data distribution service)規(guī)范及服務(wù)質(zhì)量(QoS,quality of service)策略完成航行通告發(fā)布/訂閱模型的中間件設(shè)計(jì),實(shí)現(xiàn)航行通告的高效分發(fā)。近年來,國(guó)內(nèi)對(duì)航行通告的研究多為改進(jìn)航行通告系統(tǒng)的處理方法與分發(fā)方式,鮮有關(guān)于航行通告內(nèi)容翻譯處理及不規(guī)范航行通告識(shí)別等方面的研究。針對(duì)航行通告中存在Q 代碼與E 項(xiàng)正文不匹配的問題,可使用文本相似度技術(shù)進(jìn)行不規(guī)范航行通告的識(shí)別,該技術(shù)被廣泛應(yīng)用于智能問答、文本推薦等領(lǐng)域。 張海超等[6]采用文本相似度技術(shù)計(jì)算專利要求書之間的相似度,以對(duì)專利侵權(quán)現(xiàn)象進(jìn)行檢測(cè)。 航行通告E 項(xiàng)正文部分存在大量專業(yè)術(shù)語(yǔ)及縮略語(yǔ),飛行員解讀需要花費(fèi)大量時(shí)間,可通過機(jī)器翻譯技術(shù)將其翻譯為中文。 由于機(jī)器翻譯在術(shù)語(yǔ)翻譯時(shí)準(zhǔn)確度較低,周珂等[7]使用融合主題的機(jī)器翻譯技術(shù), 將術(shù)語(yǔ)翻譯與特定語(yǔ)料訓(xùn)練出的翻譯模型融合,提高了術(shù)語(yǔ)翻譯的準(zhǔn)確度。
本研究基于統(tǒng)計(jì)機(jī)器翻譯完成對(duì)航行通告E 項(xiàng)正文部分的翻譯,利用數(shù)據(jù)庫(kù)技術(shù)對(duì)Q 代碼進(jìn)行翻譯;采用特定語(yǔ)料訓(xùn)練的Word2vec 模型計(jì)算兩者之間文本相似度,并通過數(shù)據(jù)實(shí)驗(yàn)制定不規(guī)范航行通告的識(shí)別標(biāo)準(zhǔn)。
飛行中有關(guān)安全的短期或臨時(shí)更改的信息,如跑道關(guān)閉或限制,都是通過PIB 中的航行通告?zhèn)鬟_(dá)。 因此,航行通告的規(guī)范與否對(duì)于飛行安全有至關(guān)重要的作用。
近年來,隨著民航業(yè)的快速發(fā)展,航行通告數(shù)量呈爆發(fā)式增長(zhǎng),其中不規(guī)范的航行通告數(shù)量也在迅速增加。以中國(guó)民用航空西北地區(qū)空中交通管理局為例,2018年共發(fā)出航行通告5 511 份,其中不規(guī)范航行通告165 份[8]。不規(guī)范航行通告分布情況如圖1 所示,其類別如下:1.航行通告代碼(Q 代碼)選擇不合理;2.航行通告正文描述口語(yǔ)化;3.取消通告正文描述不規(guī)范;4.同樣內(nèi)容的航行通告不同日期拍發(fā)Q 項(xiàng)和A 項(xiàng)不同;5.Q 項(xiàng)未填寫坐標(biāo)半徑;6.航行通告正文描述不規(guī)范;7.航行通告未按編發(fā)要求描述了兩個(gè)事件;8.雪情通告道面摩擦系數(shù)估算不合理;9.航行通告B 項(xiàng)不合理。
從圖1 中可看出,由于Q 代碼及E 項(xiàng)正文導(dǎo)致航行通告不規(guī)范的共有136 份,約占不規(guī)范航行通告數(shù)量的82.4%。因此,采用語(yǔ)義相似度對(duì)不規(guī)范航行通告中的Q 代碼和E 項(xiàng)正文部分不規(guī)范的航行通告進(jìn)行識(shí)別。
圖1 不規(guī)范航行通告分布情況Fig.1 Distribution of non-normative NOTAMs
2008年,中國(guó)民用航空局頒發(fā)了《航行通告填發(fā)指導(dǎo)手冊(cè)》[9],規(guī)定了航行通告的拍發(fā)規(guī)則和格式要求。航行通告中:Q 代碼“QXXXX”(其中Q 為識(shí)別碼,其后兩個(gè)連續(xù)字母表示主題,最后兩個(gè)字母描述主題的狀態(tài))是目前情報(bào)人員用于提取航行通告的主要依據(jù)[10];E項(xiàng)正文為航行通告主體部分,用于描述本條航行通告的具體內(nèi)容,是對(duì)航行通告Q 代碼描述的展開。E 項(xiàng)正文和Q 代碼具有一定關(guān)聯(lián)度。
基于自然語(yǔ)言處理(NLP, natural language processing)的不規(guī)范航行通告識(shí)別方法主要分為兩部分:①將航行通告中的E 項(xiàng)正文和Q 代碼翻譯成中文;②通過特定語(yǔ)料訓(xùn)練的Word2vec 模型計(jì)算兩者之間文本相似度,并通過數(shù)據(jù)實(shí)驗(yàn)制定不規(guī)范航行通告的識(shí)別標(biāo)準(zhǔn)。 整體方法設(shè)計(jì)如圖2 所示。
圖2 不規(guī)范航行通告識(shí)別方法設(shè)計(jì)Fig.2 Design of non-normative NOTAMs identification method
統(tǒng)計(jì)機(jī)器翻譯中的翻譯模型(簡(jiǎn)稱翻譯模型)通過對(duì)大量源語(yǔ)言和目標(biāo)語(yǔ)言的平行語(yǔ)料進(jìn)行統(tǒng)計(jì)分析(其中,源語(yǔ)言為E 項(xiàng)正文,目標(biāo)語(yǔ)言為中文),找到單詞之間隱含的對(duì)應(yīng)關(guān)系,從而進(jìn)行源語(yǔ)言翻譯。雙語(yǔ)平行語(yǔ)料庫(kù)中,單詞的一一對(duì)應(yīng)關(guān)系不是固定的,一個(gè)或多個(gè)目標(biāo)語(yǔ)言單詞都有一定概率對(duì)應(yīng)一個(gè)或多個(gè)源語(yǔ)言單詞,只是概率不同。訓(xùn)練翻譯模型的目的是從雙語(yǔ)平行語(yǔ)料庫(kù)中找到單詞之間最大的對(duì)應(yīng)概率。 翻譯模型的構(gòu)建步驟(圖3)如下。
圖3 翻譯模型構(gòu)建流程Fig.3 Construction process of translation model
1)語(yǔ)料預(yù)處理
收集到的航行通告中E 項(xiàng)正文數(shù)據(jù)格式比較雜亂,需要進(jìn)行預(yù)處理,使其成為機(jī)器可識(shí)別的文本。
語(yǔ)料預(yù)處理包括分詞、刪除無關(guān)符號(hào)等階段。由于數(shù)字、日期等不可枚舉,故用正則表達(dá)式對(duì)特殊類型進(jìn)行泛化,最終形成源語(yǔ)言和目標(biāo)語(yǔ)言兩個(gè)平行文件。兩個(gè)文件中的每句話都具有一一對(duì)應(yīng)的順序關(guān)系。
2)詞對(duì)齊處理
使用分詞工具GIZA++進(jìn)行詞對(duì)齊處理,圖4 為對(duì)齊結(jié)果的可視化顯示。GIZA++的缺點(diǎn)是無法找到詞之間映射關(guān)系。為了找到該種映射關(guān)系,可使用默認(rèn)的探索法grow-diag-final 算法[11]進(jìn)行句子對(duì)齊。
圖4 對(duì)齊矩陣Fig.4 Alignment matrix
3)詞語(yǔ)評(píng)分
詞語(yǔ)評(píng)分是用來檢查經(jīng)過訓(xùn)練之后雙語(yǔ)平行語(yǔ)料庫(kù)中的單詞之間的對(duì)齊關(guān)系[12]。grow-diag-final 算法處理完訓(xùn)練數(shù)據(jù)后,就可進(jìn)行源語(yǔ)言到目標(biāo)語(yǔ)言詞語(yǔ)的評(píng)分計(jì)算,計(jì)算方法如下
式中:Pw為詞翻譯概率;f 為詞語(yǔ)原文;e 為詞語(yǔ)譯文;f′為詞語(yǔ)原文均值。
4)短語(yǔ)抽取
使用分詞工具GIZA++進(jìn)行詞對(duì)齊處理后,需要進(jìn)行短語(yǔ)抽取。對(duì)于目標(biāo)語(yǔ)言短語(yǔ)中的所有單詞都能在源語(yǔ)言短語(yǔ)中找到與之對(duì)應(yīng)的單詞,相應(yīng)地,對(duì)于源語(yǔ)言短語(yǔ)中的所有單詞都能在目標(biāo)語(yǔ)言短語(yǔ)中找到與之對(duì)應(yīng)的單詞。由對(duì)齊矩陣(圖4)可得短語(yǔ)抽取表[13],如表1 所示。
表1 短語(yǔ)抽取表Tab.1 Table of phrase extraction
5)短語(yǔ)評(píng)分
短語(yǔ)評(píng)分計(jì)算如下
式中:pphi為短語(yǔ)由源語(yǔ)言翻譯成目標(biāo)語(yǔ)言的概率;f為短語(yǔ)原文;為短語(yǔ)譯文;a 為無關(guān)變量, 用來表示短語(yǔ)()中已進(jìn)行詞對(duì)齊。短語(yǔ)由源語(yǔ)言翻譯成目標(biāo)語(yǔ)言,概率越大,短語(yǔ)評(píng)分越高。
統(tǒng)計(jì)機(jī)器翻譯模型中的語(yǔ)言模型是用于計(jì)算源語(yǔ)言句子在目標(biāo)語(yǔ)言中出現(xiàn)的可能性,即計(jì)算該句子在目標(biāo)語(yǔ)言中句法、語(yǔ)義上的合理程度,通常表示為目標(biāo)語(yǔ)言的N 元模型或其變形。
通過訓(xùn)練好的翻譯模型翻譯出來的譯文可能有多個(gè),但由于翻譯模型只是對(duì)源語(yǔ)言進(jìn)行準(zhǔn)確翻譯,并沒有考慮到語(yǔ)序問題,導(dǎo)致一部分翻譯出來的譯文可能不符合中文的表達(dá)方式或語(yǔ)法規(guī)則,從而出現(xiàn)詞序扭曲[14]的情況。通過語(yǔ)言模型對(duì)不符合中文表達(dá)方式或語(yǔ)法規(guī)則的譯文排除掉,留下經(jīng)過語(yǔ)言模型篩選的最優(yōu)譯文。
采用IRSTLM 工具包訓(xùn)練語(yǔ)言模型[15],句子概率計(jì)算如下
式中:P(w1)表示句子第1 個(gè)詞為w1的概率;P(w2|w1)是在已知第1 個(gè)詞w1的前提下第2 個(gè)詞w2出現(xiàn)的概率;P(w3|w2w1)是在已知前兩個(gè)詞的前提下第3 個(gè)詞w3出現(xiàn)的概率。
機(jī)器翻譯質(zhì)量評(píng)測(cè)算法(BLEU,bilingual evaluation understudy)是一種比較常用的機(jī)器翻譯評(píng)測(cè)方法。該評(píng)測(cè)方法的基本思想是將機(jī)器翻譯結(jié)果與人工翻譯結(jié)果進(jìn)行比較,通過評(píng)分來判斷機(jī)器翻譯結(jié)果的優(yōu)劣及翻譯結(jié)果的準(zhǔn)確性。 BLEU 評(píng)測(cè)的計(jì)算方式如下
式中:S 為BLEU 算法的得分;N 為考察的語(yǔ)法階數(shù),一般取N=4, 即BLEU-4;pn是翻譯結(jié)果中n 元詞語(yǔ)出現(xiàn)次數(shù)占人工翻譯結(jié)果中n 元詞語(yǔ)出現(xiàn)次數(shù)的比例;B 是句子長(zhǎng)度過短的懲罰因子,即
式中:c 為機(jī)器翻譯結(jié)果中的單詞數(shù)量;r 為人工翻譯結(jié)果中與機(jī)器翻譯結(jié)果中意思相近的單詞數(shù)量。S 的取值范圍在0~1 之間,得分越高,說明翻譯結(jié)果越準(zhǔn)確[16]。
Word2vec 算法的原理是將單詞以向量表示,通過向量計(jì)算單詞與單詞、句子與句子之間的關(guān)系,如詞語(yǔ)相似性、語(yǔ)義關(guān)聯(lián)性等[17]。
Word2vec 算法計(jì)算文本相似度主要采用連續(xù)詞袋(CBOW,continuous bag-of-words)模型和跳字(Skip-Gram)模型。 CBOW 模型和Skip-Gram 模型的區(qū)別在于:CBOW 模型原理是利用上下文計(jì)算當(dāng)前單詞出現(xiàn)的概率;Skip-Gram 模型則是利用當(dāng)前單詞來計(jì)算上下文出現(xiàn)的概率[18]。模型計(jì)算前,每個(gè)單詞都是隨機(jī)生成的M 維向量,經(jīng)過中文語(yǔ)料庫(kù)數(shù)據(jù)訓(xùn)練后,獲得單詞的最佳向量。
訓(xùn)練模型采用的是Skip-Gram 模型,Skip-Gram模型在詞向量上具有更高的準(zhǔn)確性。 對(duì)于訓(xùn)練單詞序列w1,w2,…,wT,Skip-Gram 模型是通過單詞之間的關(guān)系,求出最大平均對(duì)數(shù)概率,即得到句子的向量表示,計(jì)算方法為
式中:d 表示以wt作為中心詞上下文中相鄰單詞的個(gè)數(shù)(即訓(xùn)練窗口),d 值越大,準(zhǔn)確率越高,訓(xùn)練時(shí)間也越長(zhǎng);p(wt+j|wt)定義為已知中心詞wt計(jì)算上下文單詞wt+j出現(xiàn)的概率。
統(tǒng)計(jì)機(jī)器翻譯需要人工翻譯大量的航行通告E項(xiàng)正文作為翻譯模型的訓(xùn)練數(shù)據(jù),其訓(xùn)練數(shù)據(jù)中的航行通告主要來源于美國(guó)聯(lián)邦航空管理局網(wǎng)站。
統(tǒng)計(jì)機(jī)器翻譯中的翻譯模型訓(xùn)練采用的是開源機(jī)器翻譯軟件Moses,采用GIZA++工具進(jìn)行詞對(duì)齊處理,采用IRSTLM 工具包進(jìn)行3 元語(yǔ)言模型訓(xùn)練。解碼部分使用Moses 解碼器,詞匯化(MSD,mono swap discontinuous)調(diào)序模型。 評(píng)價(jià)模型采用BLEU-4 作為評(píng)價(jià)系統(tǒng)翻譯標(biāo)準(zhǔn)。 通過數(shù)據(jù)翻譯測(cè)試,平均得分達(dá)到0.223,翻譯效果較為理想。
Word2vec 模型訓(xùn)練數(shù)據(jù)分布情況如表2 所示。
表2 語(yǔ)料庫(kù)分布情況Tab.2 Distribution of corpus
Word2vec 算法計(jì)算中文文本相似度的程序采用Python 語(yǔ)言編寫。 算法的主要訓(xùn)練參數(shù)設(shè)置如下:①采用Skip-Gram 模型計(jì)算文本相似度;②詞向量維度與訓(xùn)練語(yǔ)料庫(kù)的大小有關(guān),本次模型訓(xùn)練取M=100;③由于航行通告文本一般較短,訓(xùn)練窗口d 取默認(rèn)值5。
對(duì)航行通告中Q 代碼與E 項(xiàng)正文的中文語(yǔ)義相似度進(jìn)行計(jì)算。將Word2vec 算法計(jì)算出的結(jié)果與余弦相似度、詞頻-逆文檔頻率(TF-IDF,term frequencyinverse document frequency)等算法計(jì)算結(jié)果進(jìn)行對(duì)比,如表3 所示,其中:第1、2 組數(shù)據(jù)為不規(guī)范航行通告中翻譯結(jié)果;第3 組為規(guī)范航行通告翻譯出的結(jié)果。
表3 不同算法相似度對(duì)比Tab.3 Comparison of similarity between different algorithms
通過表3 對(duì)比可以看出,通過特定數(shù)據(jù)訓(xùn)練出來的Word2vec 模型,在航行通告文本相似度計(jì)算方面具有更好的效果,具體分析如下。
(1)利用余弦相似度算法計(jì)算,沒有考慮句子長(zhǎng)度等問題,只是從方向上進(jìn)行判定;TF-IDF 方法以詞語(yǔ)出現(xiàn)的頻率作為衡量相似度的標(biāo)準(zhǔn),不夠全面,且沒有考慮單詞位置對(duì)句子產(chǎn)生的影響;Word2vec 算法充分考慮單詞上下文,能夠較好識(shí)別測(cè)試文本的語(yǔ)義,對(duì)短文本的相似度計(jì)算有較高精度。
(2)通過特定語(yǔ)料庫(kù)訓(xùn)練出的Word2vec 模型在一些民航專有名詞的識(shí)別上精度更高,針對(duì)不規(guī)范航行通告的識(shí)別方法更加可靠,但在某些相似的專有名詞識(shí)別上,精確度不夠,如“停機(jī)坪”“停機(jī)位”等名詞。
從美國(guó)聯(lián)邦航空管理局網(wǎng)站上隨機(jī)抽取500 組航行通告作為模型測(cè)試數(shù)據(jù),使用翻譯模型進(jìn)行E 項(xiàng)正文翻譯,然后通過Word2vec 算法計(jì)算E 項(xiàng)正文與Q代碼間的相似度,如圖5 所示。
圖5 數(shù)據(jù)測(cè)試結(jié)果Fig.5 Data testing result
由圖5 數(shù)據(jù)測(cè)試結(jié)果可看出,500 條航行通告E項(xiàng)正文與Q 代碼文本相似度值主要分布在0.7~1.0 之間。 基于此,設(shè)定0.7 作為不規(guī)范航行通告的識(shí)別標(biāo)準(zhǔn)。通過所提識(shí)別方法測(cè)得,共481 條航行通告相似度值在0.7 以上,不規(guī)范航行通告識(shí)別準(zhǔn)確率為96.2%。實(shí)驗(yàn)結(jié)果表明,基于NLP 的不規(guī)范航行通告識(shí)別方法在判斷Q 代碼與E 項(xiàng)正文不規(guī)范的航行通告上具有可行性和適用性。
通過NLP 技術(shù)進(jìn)行不規(guī)范航行通告的識(shí)別,得到如下結(jié)論。
(1)航行通告中Q 代碼用于系統(tǒng)的自動(dòng)識(shí)別,不規(guī)范的Q 代碼將影響PIB 的正確提取,所提出的基于NLP 方法來識(shí)別不規(guī)范航行通告,可有效識(shí)別航行通告中Q 代碼選擇錯(cuò)誤的情況。
(2)航行通告的E 項(xiàng)文本沒有明確拍發(fā)標(biāo)準(zhǔn),對(duì)于不同的情報(bào)人員,相同的狀況會(huì)有多種描述方法,飛行員需要花費(fèi)較長(zhǎng)時(shí)間進(jìn)行解讀,而航行通告系統(tǒng)中采用統(tǒng)計(jì)機(jī)器翻譯中的翻譯模型,將E 項(xiàng)文本翻譯成中文,可以減少飛行員閱讀航行通告的時(shí)間,提高飛行安全。
(3)現(xiàn)階段,航行情報(bào)不斷朝著數(shù)字化方向發(fā)展,航行通告可視化已成為航行通告的發(fā)展趨勢(shì),提出的基于統(tǒng)計(jì)機(jī)器翻譯方法及不規(guī)范航行通告的識(shí)別方法對(duì)未來航行通告可視化發(fā)展具有一定意義。
(4)本研究提出了通過將民航領(lǐng)域航行通告中的專用術(shù)語(yǔ)翻譯成中文,并結(jié)合文本內(nèi)容與主題之間的語(yǔ)義關(guān)系進(jìn)行不規(guī)范信息的識(shí)別,此方法也可以推廣到其他領(lǐng)域,為其他領(lǐng)域的相關(guān)術(shù)語(yǔ)翻譯及與主題不符的信息識(shí)別提供了借鑒。
目前該方法由于數(shù)據(jù)訓(xùn)練量較小,在E 項(xiàng)長(zhǎng)文本的翻譯上效果較差,下一步的研究還需要通過更多的數(shù)據(jù)訓(xùn)練模型,使得機(jī)器翻譯效果更準(zhǔn)確。