劉遠慶 郭曉靜 張海剛 楊金鋒
1(中國民航大學計算機科學與技術學院 天津 300300) 2(深圳職業技術學院人工智能學院 廣東 深圳 518055)
陸空通話是飛行員與管制員在整個飛行過程中按照飛行程序進行交流、溝通的語言,具有很強的專業性和情境性。在陸空通話過程中,由于通話內容不正確、通話語言模糊等原因造成陸空通話錯誤的情況時常發生[1-2]。而陸空通話錯誤增大了飛行事故發生的概率,所以正確使用陸空通話用語進行信息溝通,對航空器安全高效運行有著至關重要的作用。民航陸空通話特點如下:(1) 語言標準規范,如:“對方呼號-己方呼號-內容”;(2) 詞義固定、單一,如:stand-飛機停機位、departure-離場;(3) 句式簡短、緊湊,如:Cleared(to) touch and go(省略不定式符號to)。近幾年,隨著神經網絡再度興起,深度學習在語音識別領域得到成功應用,語音識別性能也得到大幅提升。文獻[3-4]分別將深度神經網絡(Deep Neural Network,DNN)和雙向長短時記憶網絡(BiLSTM)用于解決日常對話的語音識別問題。將語音識別技術應用到陸空通話領域不僅可以用于管制員與飛行員的訓練,減少民航通話語義表達錯誤,還可以輔助管制員工作,提高工作效率。但是傳統語音識別的效果卻不盡人意,因此將深度學習應用在民航陸空通話語音識別中以提升識別效果顯得尤為關鍵。
現在有很多語音識別技術已在民航陸空通話語音識別中應用。例如:使用動態時間規整算法來實現陸空通話的語音識別[5];利用基于混合高斯-隱馬爾可夫模型進行英文陸空通話標準用語的關鍵詞識別[6];利用基于深度神經網絡-隱馬爾可夫模型在專有的英文陸空通話語音數據庫上進行實驗,并使詞錯誤率下降到9.4%[7];將自動語音識別技術應用到空中交通管制領域構建的封閉式跑道運行預防裝置也取得一定成果[8]。文獻[9-10]在將語音識別技術應用到民航陸空通話的基礎上,又加入了雷達信息進行輔助,不僅提高了空中交通管理的效率,而且減少了管制員的工作量和飛機的油耗。文獻[11]則使用迭代半監督的方法在空中交通管制領域構建語音識別系統,該方法利用有限的轉錄數據和大量未轉錄數據進行模型訓練,得到較好的效果。文獻[12]對比了不同的模型在陸空通話語音識別和呼號識別這兩個任務中的性能,其中使用隱馬爾可夫-多層感知機的模型效果最好,詞錯誤率降至7.62%。文獻[13]提出了基于雙向長短時記憶網絡-端到端的民航陸空通話語音識別方法,用于英文陸空通話的語音識別,使詞錯誤率降至5.53%。當前大部分民航陸空通話語音識別都是針對單語進行的,但是在國內,一名管制員在工作期間會和不同的航班(國際、國內)進行交流,那么所用的語言就會涉及到英文和中文,所以有必要構建一種跨語種民航陸空通話語音識別方法。針對于跨語種語音識別的研究方法總結如下:一種方法是利用語種識別系統[14]先對輸入的語音進行語種判別,之后根據語種判別結果選擇對應的單語語音識別系統進行識別,但是其識別準確率依賴于前端的語言識別的準確率;另一種方法是建立多語言共享音素庫,構建方法有很多,例如利用巴氏系數距離[15]和聲學似然[16]等。
本文將注意力集中在民航領域的跨語種(中文、英文)陸空通話語音識別上,根據中英文陸空通話語言特點,提出一種基于深度學習的跨語種民航陸空通話語音識別方法。在構建聲學模型時,由于卷積的不變性[17]可以克服語音信號本身的多樣性,所以在DNN中引入卷積神經網絡CNN構成卷積深度神經網絡CDNN,其中CNN主要對聲學特征進行加工和處理,使其能更好地被用于DNN的分類。最終,將卷積深度神經網絡與隱馬爾可夫模型結合構建共享隱層的跨語種聲學模型。本文利用中文(聲韻母音素標注)和英文(CMU音素標注)音素直接融合的方法構建中英文混合語言模型;為了減少總的音素數量、降低識別復雜度,將基于卡內基梅隆大學(Carnegie Mellon University,CMU)標準音素表建立的英文音素映射為TIMIT標準音素,使它與中文音素進行融合重新構建語言模型,同時在提取聲學特征時加入低幀率用于縮短訓練解碼時間。實驗結果表明,基于CDNN-HMM聲學模型音素先映射再融合的方法得到的效果較好。在此基礎上,通過加入低幀率有效降低了訓練解碼時間,而且使得詞錯誤率進一步下降。
通常情況下,語音識別都是基于時頻分析后的語音譜完成的,其中語音時頻譜是具有結構特點的。要想提高語音識別率,就需要克服語音信號所面臨多樣性,包括說話人的多樣性(說話人自身、說話人間)、環境的多樣性等?;谝陨峡紤],本文將卷積神經網絡(CNN)引入到深度神經網絡(DNN)中共同構成卷積深度神經網絡(CDNN),其結構如圖1所示,以此來建立中英文民航陸空通話聲學模型。CNN主要用來處理聲學特征,利用其在時間和空間上的平移不變性卷積來克服語音信號本身的多樣性。CNN在語音識別任務中可以使用一維模型或者二維模型,由于一維模型能很好地適應語音的一維特性,而二維模型的網絡過于復雜,因此本文在構建聲學模型時選取一維模型。DNN則是用來對音素進行分類,因為DNN能夠將特征映射到獨立空間,所以DNN強大的分類能力能準確將語音的聲學特征分類到相應的HMM狀態。

圖1 CDNN結構
CNN[18]拋開輸入、輸出層不談,其主體包括卷積層和池化(采樣)層,卷積層通過卷積核在時間軸上移動對輸入的語音信號進行聲學特征提取,這樣一方面可以適應語音信號的時變的特點,另一方面保留了頻帶的相關性,對識別性能的提高有很大幫助。對給定一系列聲學特征值X,卷積層將X與k個濾波器{Wi}進行卷積,得到的激活特征映射:
Hi=sigmoid(Wi*X+bi)i=1,2,…,k
(1)
式中:符號*表示卷積運算;Wi表示權值矩陣;bi表示偏置參數。對于該模型中的所有卷積運算,卷積步幅選擇為1,最后得到的特征作為DNN的輸入向量。
池化層是對卷積層提取出的特征進行降維,一方面使特征圖變小,簡化網絡計算復雜度;另一方面進行特征壓縮,提取主要特征,減小過擬合,同時提高模型的容錯性。池化方法有最大池化和平均池化,本文選擇在語音識別中普遍使用的最大池化。

(2)
式中:σ(·)是sigmoid函數。以上元素是下一層l+1的輸入,觀測向量輸入到最底層l=0。
對于CD-DNN-HMM[21],頂層L是一個針對于每個上下文相關音素狀態的softmax函數:
(3)
DNN可以使用預訓練進行初始化,預訓練是在受限玻爾茲曼機RBM[22]上使用對比散度算法進行初始化。同時也可以使用隨機初始化的方法,頂層權重通常是隨機初始化的,初始化完成后,使用反向傳播算法的微調過程來更新所有DNN參數。損失函數選擇交叉熵函數,如式(4)所示,其中:q(t)為時刻t時的期望輸出。

(4)
訓練中英文民航陸空通話混合聲學模型時,首先要對語音數據集進行一系列的處理,例如分幀加窗,它是將時變語音信號處理成短時平穩信號,用于之后的特征提取。之所以這樣處理是因為語音信號是時變非平穩信號,平穩信號的相關的處理方法對于它并不適用。但是語音信號屬于短時平穩信號,一般認為10~30 ms內語音信號的特性是基本不變的,或者變化很慢[23]。因此需要將語音信號切分為極短的片段,這些片段稱為語音幀,幀長一般為10~30 ms,本文最初幀長取25 ms,幀移為10 ms,從而有15 ms的重疊。通過這種方式來防止幀與幀之間丟失重要的信息。
分幀是利用一個窗函數來實現。為了減少信息的泄露,所以在加窗時選擇主瓣寬度窄、旁瓣衰減大的窗函數(漢明窗):
(5)
對于一段語音進行加窗操作時設置的參數包括幀長、幀移以及重疊時間,它們之間關系:重疊=幀長-幀移。為了縮短訓練和解碼的時間,本文在提取聲學特征之前加入低幀率,原理如圖2所示。

圖2 低幀率原理圖
一幀的幀長25 ms,幀移10 ms,幀與幀之間有15 ms的重疊,然后再對每幀加窗處理。本文所講的低幀率就是在分幀時將幀長和幀移都延長,將幀長設置為30 ms、幀移15 ms,讓幀與幀之間仍有15 ms的重疊。

由上述可知,當幀移取較大值時,幀數會減少,相應的幀率降低,所以本文所講的低幀率就是通過增加幀移的值來減少幀數,從而通過降低幀率來加快訓練速度和解碼速度。
本文使用的聲學特征包括Filter-Bank(FBank)和梅爾倒譜系數(MFCC)。MFCC是在FBank的基礎上又做了一步離散余弦變換,對FBank進行去相關和壓縮處理。
CDNN聲學模型訓練流程如圖3所示。首先用經過倒譜均值歸一化(CMVN)處理的MFCC特征訓練單音素模型,即標簽到語音的映射,它是針對每個音素分別建立HMM;然后基于單音系統構造三音素模型,并在此基礎上對特征進行線性判別分析(Linear Discriminant Analysis,LDA)、最大似然線性變換(Maximum Likelihood Linear Transform,MLLT)和說話人自適應變換(Speaker Adaptation Transform,SAT);最終利用經過變換的特征和GMM-HMM模型生成的狀態對齊訓練CDNN。

圖3 CDNN聲學模型訓練流程
訓練CDNN-HMM之前首先需要用混合高斯-隱馬爾可夫模型(GMM-HMM)將各個狀態進行強制對齊,GMM-HMM的輸入為39維(標準的13維MFCC加上一階和二階差分參數)聲學特征,在訓練HMM模型的參數時,每次要求輸入到HMM中的數據是一個觀測值序列。此時每個狀態對應的觀測值為39維的向量,因為向量中元素的取值是連續的,所以需要用多維密度函數來模擬。陸空通話語音識別任務中,用提前標注好的訓練樣本對每個音素建立一個HMM模型,建立模型時分別用EM算法和Baum-Welch算法訓練出GMM-HMM的所有參數,這些參數包括初始狀態的概率向量、狀態之間的轉移矩陣、每個狀態對應的觀測矩陣。
基于GMM-HMM訓練的CDNN-HMM聲學模型的輸入特征是40維FBank,相鄰的幀由11幀窗口(每側5個窗口)連接而成。為了便于CNN對聲學特征進行進一步的處理,本文將輸入特征變成一維向量,具體的步驟是將提取的聲學特征參數按照幀的順序排列(首尾相連),例如將11幀40維FBank首尾連接,構成1×440的一維向量作為CNN的輸入。用于處理聲學特征的CNN包括兩個卷積層和一個池化層,兩個卷積層的卷積核大小分別為11×8和128×4,卷積步幅均為1;池化層池化大小、步幅均為3,最后輸出2 048維向量作為DNN的輸入。DNN的架構由4個隱藏層組成,每個層由1 024個單元組成,輸出層由3 613個單元組成。DNN模型用交叉熵準則進行訓練,使用隨機梯度下降算法來執行優化,將最小批量處理大小設定為256幀,初始學習率設定為0.008。其框架如圖4所示。

圖4 CDNN-HMM框架
本文所有的實驗都是在Linux系統下安裝的Kaldi[24]語音識別平臺上完成的。硬件配置如下:CPU為Inter酷睿i7-5690八核處理器,主頻3.3 GHz,內存32 GB,搭配顯卡GTX 1070。
語音識別的評價指標常選用詞錯誤率(Word Error Rate,WER),為了使識別出來的詞序列和標準的詞序列之間保持一致,需要進行替換(Ci)、刪除(Cd)、插入(Cs)某些詞,將這些詞的總數除以標準詞序列中詞的總數C從而得到用百分比表示的詞錯誤率:
(6)
實驗所用的數據集是根據民航陸空通話標準建立的。該語料庫由空管專業人員與一線管制員共同錄制,包含飛行各個階段的民航陸空通話語音,并標注出語音的文本序列和音素信息。
如表1所示,中英文民航陸空通話數據集共有音頻文件27 700條、57小時、說話人31名,其中:中文數據集包含13 400條(說話人21)音頻文件,27小時;英文數據集包含14 300條(說話人11)音頻文件,30小時。此數據集包括訓練集、測試集、開發集,分別占總數據集的80%、13%、7%,并且各個數據集中均包含男性和女性錄制的陸空通話音頻文件。

表1 中英文陸空通話數據集
卷積神經網絡在圖像處理任務中表現十分出色,但是將其應用到語音識別任務中就需要根據實際情況認真考慮分析。針對語音識別的卷積神經網絡可以選擇一維卷積和二維卷積,為了驗證哪種卷積更適合于民航陸空通話語音識別任務,本文進行了對比實驗。實驗分別使用相同層數(卷積層+池化層+卷積層)的一維卷積(1D-CNN)和二維卷積(2D-CNN)對上文提到的民航陸空通話語音的聲學特征進行處理,處理后的聲學特征在相同配置的深度神經網絡上進行訓練識別,識別結果如表2所示。

表2 兩種卷積神經網絡對比
可以看出,一維卷積神經網絡比二維卷積神經網絡在民航陸空通話語音識別任務中表現要好,這主要因為其在時間軸上對語音信號進行卷積時保留了語音信號的時變性和頻帶的相關性。而在訓練解碼耗時方面,由于一維卷積神經網絡的模型復雜程度較低,因此其表現明顯好于二維卷積。所以在訓練CDNN時,選擇1D-CNN來對聲學特征進行處理,然后輸入到DNN網絡中進行訓練。
本文所用語言模型是3-Gram中英文陸空通話語言模型,此語言模型是使用SRILM工具生成統計語言模型。訓練步驟:首先將已有的中英文陸空通話文本語料讀入到SRILM中生成n-gram計數文件,然后用生成的計數文件訓練語言模型,語言模型為ARPA格式文件,其中包括一、二、三元詞的總數及其出現的概率。用于中英文陸空通話語音識別的字典中共有1 118個詞,包含中文詞匯467個、英文詞匯653個,每個詞都是用對應語種的音素進行標注。
標注的目的就是為了將由句子分成的各個詞進一步劃分為更小的狀態(音素),這樣可以在音素級別對語音進行識別。對于中文而言,通常采用聲母、韻母以及音調對涉及到的字詞進行標注。對于英文的音素標注,則可以選擇CMU或TIMIT兩種標準音素表進行標注。針對民航陸空通話,初步嘗試中文應用聲韻母標注,英文使用CMU進行標注,然后將二者進行融合共同構建混合語言模型,用于最終的中英文民航陸空通話語音識別,結果如表3所示。

表3 CMU標注中英文語音識別結果
可以看出,考慮上下文信息的三音素混合高斯隱馬爾可夫模型(TRI-GMM-HMM)比單音素混合高斯隱馬爾可夫模型(MONO-GMM-HMM)的詞錯誤率減少了7.2百分點;從實驗結果可知擅長對時序序列建模的長短時記憶網絡(LSTM)在陸空通話領域表現并不突出,主要是因為陸空通話的特殊應用場合要求對話盡可能簡短、緊湊,這就使得LSTM的優勢發揮不了很大的作用;加入卷積的深度神經網絡模型(CDNN-HMM)詞錯誤率進一步降低了2.11百分點,而且比不加卷積的深度神經網絡模型(DNN-HMM)在識別性能上有了進一步提高。
在此基礎上,將英文采用的CMU標注映射為TIMIT進行標注,映射方法如圖5所示,CMU標準音素表和TIMIT標準音素表中對應英文的音標相同,但是表現形式不同,TIMIT標準音素表的形式與中文標注的聲韻母比較相近,所以融合之后比之前音素的個數少了17個。

圖5 CMU到TIMIT音素映射過程
實驗結果如表4所示。在使用TIMIT標準進行標注時,由于MONO-GMM-HMM模型只考慮單個音素,沒有考慮協同發音效應即上下文音素會對當前的中心音素發音有影響,所以效果提升不明顯。而TRI-GMM-HMM模型、DNN-HMM模型和CDNN-HMM模型的識別效果均比使用CMU標注時的效果好。由CMU映射到TIMIT之后,再與中文音素進行融合重構語言模型的識別方法,音素數量的減少使得音素彼此之間的影響降低,識別解碼復雜程度降低,詞錯誤率也有所下降。

表4 TIMIT標注中英文語音識別結果
在聲學模型的訓練過程中,將本文提出的低幀率加入其中,得到的實驗結果如表5所示。

表5 低幀率(LFR)實驗結果
可以看出,加入LFR以后,相似幀數量減少,使得不同音素對應幀之間的區分性增大,從而減小了計算量,進一步提高了識別性能。除此之外,LFR也縮短了訓練和解碼的時間。
本文將基于CDNN模型的實驗結果進行了一個簡單的對比,可以明顯看出用TIMIT標注的識別結果要比CMU標注識別的結果好;而加入LFR后,TIMIT標注的效果依然表現良好,不過在耗時方面稍顯遜色。但是從整體上看,加入LFR確實將訓練解碼時間縮小,而且性能也有所提升。
本文根據民航中英文陸空通話語言特點,提出了基于卷積深度神經網絡模型的跨語種陸空通話語音識別方法。對不同卷積模型的實驗結果分析發現,一維卷積模型更適合陸空通話語音識別任務,加入卷積的深度神經網絡聲學模型(CDNN)比單純的DNN-HMM模型性能更好。從實驗結果來看,在已有的中英文民航陸空通話語料庫上,采取不同的標注形式(CMU/TIMIT)構建的語言模型對識別性能有影響,TIMIT標注形式適用于跨語種民航陸空通話語音識別。LFR思想的加入,不僅有效地降低了詞錯誤率,而且也縮短了模型訓練解碼的時間。最終使用CDNN-HMM模型,結合詞典以及語言模型實現了跨語種民航陸空通話語音識別,將詞錯誤率降至4.28%。