(中國民航大學(xué)空中交通管理學(xué)院 天津 300300)
管制員和飛行員之間利用陸空通話標準用語來進行溝通,而通話用語錯誤造成飛行事故和不正常情況占總事故65%,因此規(guī)范陸空通話用語標準勢在必行。通話標準用語的培訓(xùn)通常借助空管模擬機,模擬機設(shè)有管制員席位和飛行員席位,飛行員席位通常由教員或?qū)W員自行承擔(dān),由于培訓(xùn)人員的數(shù)量限制,難以有效保證管制學(xué)員訓(xùn)練時間和訓(xùn)練效果[1]。因此,利用自然語言理解相關(guān)技術(shù),由計算機理解和回答管制員指令,從而替代飛行員席位,可有效提升管制員培訓(xùn)效率和效果,節(jié)約人力物力資源。
模擬管制訓(xùn)練流程,計算機先通過語音識別模塊將管制員指令轉(zhuǎn)化為文本指令,再利用自然語言理解模塊理解文本指令并給出文本回答,最后通過語音合成技術(shù),播報語音回答,處理流程如圖1所示。語音識別與合成技術(shù)已趨于成熟,要實現(xiàn)管制模擬機飛行員席位的自動化,必須克服自然語言理解關(guān)鍵技術(shù)問題。陸空通話語法簡單,句式簡潔,變化單一,基本無歧義,其語言特征大致符合計算語言學(xué)等相應(yīng)要求[2]。機器只需認知理解陸空通話語言,不需對其進行高層的推理,因此相較于常規(guī)自然語言的多性、復(fù)雜性、歧義性,自然語言理解相關(guān)技術(shù)在陸空通話這一特殊領(lǐng)域或能取得優(yōu)異的成績。
本文從深度學(xué)習(xí)出發(fā),旨在解決人機對話系統(tǒng)中自然語言理解關(guān)鍵問題,協(xié)助語音識別模塊實現(xiàn)飛行員席位的自動化,提升管制員培訓(xùn)效果和效率。
圖1 管制員培訓(xùn)計算機處理流程
目前深度學(xué)習(xí)已廣泛應(yīng)用于機器翻譯、問答系統(tǒng)、信息提取、情感分類、圖像識別[3]。人類語言過于復(fù)雜,且本身還在不斷演化當中。因此語言學(xué)家整理出的各種形式邏輯規(guī)則作用十分有限。而在例如機器翻譯和人機對話的語言預(yù)測上,基于統(tǒng)計學(xué)方向的深度學(xué)習(xí)看似簡單,卻能取得良好效果[4]。總結(jié)目前對話系統(tǒng)和機器翻譯系統(tǒng),模型各自得分如表1所示。
Ritter僅采用基于短語的統(tǒng)計機器翻譯(Statis?tical Machine Translation,SMT)框架[5]。Sordoni使用了上下文敏感的循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neu?ral Network,RNN)編碼器-解碼器[6]。Li利用長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)編碼器-解碼器框架來強化模型[7]。Lowe使用LSTM對問題和回答進行編碼,然后使用兩個句向量內(nèi)積來選擇候選答案[8]。Zhou在句子級卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)嵌入之上使用LSTM編碼器[9]。
在機器翻譯領(lǐng)域,基于SMT框架的模型主要通過匹配源句和目標句中短語的對應(yīng)概率來進行翻譯。Cho在SMT基礎(chǔ)上,使用RNN編碼器-解碼器來學(xué)習(xí)該翻譯概率[10]。Wu完全摒棄了傳統(tǒng)的SMT系統(tǒng),訓(xùn)練了包含8個編碼器層和8個解碼器層的深度LSTM網(wǎng)絡(luò)[11]。Gehring提出了一種基于CNN的機器翻譯seq2seq學(xué)習(xí)模型[12]。
機器翻譯和聊天機器人的實質(zhì)就是尋找兩個序列之間的對應(yīng)關(guān)系,而管制員和飛行員之間的通話其本質(zhì)也是一個序列到另一個序列的映射。借助這一思想,通過分析表1目前人機對話和機器翻譯領(lǐng)域熱門方向,本文選擇seq2seq(Sequence to Se?quence)框架來構(gòu)建陸空通話深度學(xué)習(xí)網(wǎng)絡(luò)模型,實現(xiàn)輸入管制文本指令,即可輸出飛行員文本應(yīng)答。
seq2seq,全稱Sequence to Sequence,是一種通用的編碼器-解碼器框架,可用于機器翻譯、文本摘要等場景中。2014年Kyunghyun比較了RNN編碼器-解碼器模型與現(xiàn)有翻譯模型各自得分,表明RNN編碼器-解碼器能很好地學(xué)習(xí)短語的連續(xù)空間表示,捕捉短語表中的規(guī)則性,保留了短語的上下文語義和語法結(jié)構(gòu)[13]。其網(wǎng)絡(luò)構(gòu)架可以用圖2簡單說明。
圖2 經(jīng)典seq2seq模型網(wǎng)絡(luò)架構(gòu)
編碼器(RNN層或其堆疊):是將輸入序列xi通過非線性變換編碼成一個指定長度的中間向量C,用以表示該輸入序列相關(guān)信息。解碼器(RNN層或其堆疊):根據(jù)中間向量C和上階段生成的單詞y1,y2,...,yt-1來生成t時刻要生成的單詞yt。
表1 深度學(xué)習(xí)對話系統(tǒng)和機器翻譯模型(BLEU)
圖3 改進seq2seq模型網(wǎng)絡(luò)架構(gòu)
1)編碼階段
當前時間的隱藏狀態(tài)ht由上階段和當前階段信息共同決定,f和q為非線性函數(shù)。
在獲取各階段隱藏層信息之后,由匯總信息或最后的隱藏層信息來生成語義向量C。
2)解碼階段
該階段可以看做編碼的逆過程。這個階段,我們根據(jù)給定的語義向量C和之前已經(jīng)生成的輸出序列y1,y2,...,yt-1來預(yù)測下一個輸出的單詞yt,即
seq2seq模型框架雖然非常經(jīng)典,但存在一定局限性,序列信息被編碼器壓縮進固定長度的中間向量C中,導(dǎo)致語義向量C無法完全表示整個序列的信息,且后輸入內(nèi)容將覆蓋稀釋之前輸入內(nèi)容所攜帶的部分信息。由于在一開始解碼時未能獲取足夠序列信息,解碼準確率表現(xiàn)欠佳,輸入序列越長,這個現(xiàn)象就越嚴重。為了增加長句的預(yù)測準確率,可在seq2seq框架的基礎(chǔ)上增加了注意力機制(Attention)。改進seq2seq模型框架在產(chǎn)生輸出的時候,會確定輸入序列中重點關(guān)注的部分,據(jù)此來產(chǎn)生下一個輸出,提升了文本預(yù)測的效果。
改良后模型框架和經(jīng)典seq2seq框架的不同之處在于中間向量。注意力機制模型中每一個C會自動去選取與當前所要輸出的y最合適的上下文信息。其網(wǎng)絡(luò)構(gòu)架如圖3所示。
ait用以衡量編碼時間第i階段的xi和解碼時第t階段的相關(guān)性。最后解碼器中第t階段的上下文信息輸入ct就來自于ait和第t階段隱藏信息的加權(quán)和。權(quán)重ait計算公式如式(7)。eit是一個對齊模型,用于評估輸入t和輸出i的匹配程度[14]。
模擬真實管制員飛行員用語習(xí)慣和對話規(guī)則,創(chuàng)建陸空通話數(shù)據(jù)集。數(shù)據(jù)集分為訓(xùn)練集和測試集,來源于真實英文陸空通話,涉及飛行進離場階段航向、速度、高度等指令,包括航班號、導(dǎo)航臺、跑道號等信息,共計633529條語句對。訓(xùn)練集主要用于模型訓(xùn)練,測試集主要用于模型評估。為讓機器更貼近飛行員真實回答,同時體現(xiàn)數(shù)據(jù)集中管制指令的統(tǒng)計特征,在訓(xùn)練集中加入常規(guī)自然語言,語料來源于康奈爾電影對話語料庫中的電影臺詞[15]。
陸空通話模型訓(xùn)練實驗運行環(huán)境是Py?thon3.6,Windows7操作系統(tǒng)平臺。經(jīng)過迭代訓(xùn)練50000次,直到損失函數(shù)趨于穩(wěn)定,訓(xùn)練結(jié)束。
圖4 單詞權(quán)重注意力聚焦圖
圖4通過可視化等式(6)中的權(quán)重ait,提供了一種直觀的方式來檢查生成的單詞與源句中單詞之間的對應(yīng)關(guān)系。圖中,x軸和y軸分別對應(yīng)陸空通話源句中的單詞(指令)和生成的目標單詞(應(yīng)答)。每個像素以灰度(0:黑色;1:白色)顯示第i個目標單詞和第t個源單詞的對應(yīng)權(quán)重ait,由此我們可以看到在生成目標詞時,源句中哪些位置被賦予更多注意力。
損失函數(shù)用以評估模型收斂效果,數(shù)值越小證明模型訓(xùn)練效果越好。經(jīng)過50000次訓(xùn)練,損失函數(shù)在0.01上下小幅波動,認為模型訓(xùn)練達到最佳狀態(tài)。在訓(xùn)練模型過程中,隨著訓(xùn)練迭代次數(shù)增多,損失函數(shù)逐漸減小,如圖5所示,x軸為迭代次數(shù),y軸為損失函數(shù)值。
圖5 模型損失函數(shù)遞減圖
本文選擇三段真實陸空通話資料用于測試模型準確率,并對比了單純陸空通話模型和添加電影臺詞的陸空通話模型各自效果,回答準確率分別如表2所示。圖6以統(tǒng)計圖的形式可視化了模型1和2各自準確率,以及模型2相對于模型1準確率的增長情況。
結(jié)果顯示,在當前語料數(shù)據(jù)的基礎(chǔ)上,模型1和模型2對話準確率分別為90.1%、91.3%、90.9%,91.5%、91.7%、91.2%,模型2對話準確率稍微高于模型1,證明本文采用的深度學(xué)習(xí)方法具有一定有效性和適用性,其次添加電影臺詞的陸空通話模型更能模擬真實飛行員席位用語習(xí)慣。同時經(jīng)過分析,準確率的下降主要集中在某些語句對學(xué)習(xí)效果不佳。
隨著模型的優(yōu)化和訓(xùn)練集數(shù)據(jù)的擴充,準確率將進一步提高,應(yīng)能較好滿足當前管制員訓(xùn)練要求,有效協(xié)助語音識別相關(guān)技術(shù),基本實現(xiàn)飛行員席位的自動化,提升管制員培訓(xùn)效果,減少人物力成本。
表2 陸空通話模型準確率
圖6 陸空通話模型準確率對比圖
本文利用基于統(tǒng)計原理的深度學(xué)習(xí)技術(shù),對進近階段陸空通話標準用語進行處理與建模,實現(xiàn)了輸入管制員本文指令,輸出相應(yīng)的飛行員文本應(yīng)答。三段真實陸空通話測試結(jié)果證實,本文模型具有較高準確率,證明論文方法在陸空通話領(lǐng)域具備實用性和有效性。
真實陸空通話中,飛行員席位具有一定自主性,能主動報告自身情況并提出請求。目前的深度學(xué)習(xí)模型無法勝任此類自主性語言任務(wù),同時隨著訓(xùn)練集數(shù)據(jù)的擴充,準確率雖能得到提高,但語言復(fù)雜度也將提升,因此下一步研究工作的重點將聚焦于語法規(guī)則、深度學(xué)習(xí)、模擬仿真的綜合應(yīng)用。