劉 悅,林 軍,羅 瀟,褚 偉,劉 任
(中車株洲電力機車研究所有限公司, 湖南 株洲 412001)
為了滿足乘用車在安全及使用多樣化方面的需求,車輛生產(chǎn)商在不斷地朝車載設(shè)備智能化方向探索,開發(fā)了多種智能化功能,如采用智能語音交互技術(shù)的多媒體及導航系統(tǒng)等。車載智能化技術(shù)的不斷提升為駕駛?cè)藛T帶來了便捷及舒適的體驗。傳統(tǒng)車載設(shè)備采用觸控方式進行交互,存在因用戶注意力分散而帶來的安全隱患,而智能化功能的使用大大降低了此類安全隱患發(fā)生的概率。作為最有效且便捷的交互方式,語音為駕駛者提供了一種全新、安全的交互體驗。近年來,多數(shù)汽車生產(chǎn)商推出具有語音交互功能的車載產(chǎn)品。寶馬和奔馳部分車型采用語音交互功能實現(xiàn)系統(tǒng)控制,長安和大眾部分車型配備了語音交互功能,可實現(xiàn)多媒體及導航語音操控。科大訊飛、思必馳及云知聲等公司在為眾多車企提供語音技術(shù)支持的同時,還推出了帶有語音控制功能的汽車后視鏡產(chǎn)品。
語音技術(shù)在軌道交通領(lǐng)域的應(yīng)用起步較晚。目前,機車、動車和城市軌道交通車輛已逐步向智能化方向發(fā)展,語音技術(shù)在軌道交通車輛上的應(yīng)用研究也隨之開展。例如,智軌電車的顯示器語音交互系統(tǒng),其實現(xiàn)了語音關(guān)鍵詞識別技術(shù)、車載語音合成技術(shù)。未來可通過聲紋識別技術(shù)進行車輛的人員身份驗證;高鐵乘客區(qū)域也可以通過語音交互系統(tǒng)為乘客帶來更舒適的乘車體驗。
語音識別是語音交互系統(tǒng)中最為重要的環(huán)節(jié),是語音交互系統(tǒng)的入口,決定著語音交互體驗效果。在該技術(shù)的發(fā)展過程中,深度學習算法的出現(xiàn)及多種開發(fā)工具、框架的使用使語音識別技術(shù)得到了真正的應(yīng)用落地[1‐3]。本文介紹了語音技術(shù)及其發(fā)展歷程,在此基礎(chǔ)上,面向軌道交通場景應(yīng)用需求,開發(fā)了一套基于時延神經(jīng)網(wǎng)絡(luò)的命令詞定制語音識別系統(tǒng),最后依托列車顯示器平臺及智能計算平臺實現(xiàn)了該語音識別系統(tǒng)的應(yīng)用部署,并完成了實車測試。
以語音交互為代表的新一代智能交互模式在邏輯架構(gòu)上主要分為5層,包括基礎(chǔ)層、算法層、能力層、接口層和應(yīng)用層(圖1)。深度學習技術(shù)的出現(xiàn)使語音技術(shù)進一步發(fā)展,其對數(shù)據(jù)及計算平臺算力的需求不斷增大,算法層迭代優(yōu)化的效果對基礎(chǔ)層的依賴也不斷增強。伴隨著能力層各項技術(shù)的成熟,語音交互技術(shù)已被廣泛應(yīng)用于智慧車載、智慧醫(yī)療等應(yīng)用領(lǐng)域。
圖1 語音交互技術(shù)邏輯架構(gòu)Fig.1 Logic architecture of voice interaction technology
語音交互過程有5 個關(guān)鍵處理階段(圖2),具體如下:
圖2 語音交互技術(shù)框架Fig.2 Voice interaction technology framework
(1)拾音器所采集的音頻信息經(jīng)語音識別轉(zhuǎn)換為文本信息;
(2)文本信息經(jīng)自然語言理解模塊進行語義分析,以理解文本意圖;
(3)將文本意圖結(jié)果傳輸給對話管理模塊,為決策提供依據(jù);
(4)自然語言生成模塊將決策結(jié)果生成文本信息進行傳輸;
(5)語音合成將文本信息轉(zhuǎn)換為語音進行播放。
作為語音交互的入口,語音識別技術(shù)的研究具有重要的現(xiàn)實意義。因此,多年來對該技術(shù)的研究從未間斷。
語音識別技術(shù)的研究起源于20世紀50年代。語音識別技術(shù)的發(fā)展從算法角度主要分為模板匹配、統(tǒng)計模型和深度學習3個階段[4](圖3)。
圖3 語音識別技術(shù)發(fā)展歷程Fig.3 Development history of speech recognition technology
(1)20世紀50年代至70年代,語音識別經(jīng)典理論被先后提出和發(fā)表。在此階段,Martin提出的時間歸一化方法解決了語音時長不一致的問題;隨后,卡耐基梅隆大學的Reddy利用動態(tài)跟蹤音素實現(xiàn)了連續(xù)語音識別;蘇聯(lián)科學家Vintsyuk首次將動態(tài)規(guī)劃引入語音信號的時間規(guī)整處理;日本的Sakoe和Chiba基于該研究形成了動態(tài)時間規(guī)整(dynamic time warping,DTW)方法,將兩段不同長度的語音在時間軸上進行了對齊,這幾項工作為此后語音識別技術(shù)的發(fā)展奠定了堅實的基礎(chǔ)[4‐5]。
(2)20 世紀80 年代至90 年代,研究的重點放在大詞匯量連續(xù)語音識別系統(tǒng)上。在此階段,人們多采用基于統(tǒng)計模型的技術(shù),聲學模型和語言模型由此產(chǎn)生。語言模型以N‐gram 模型為代表;聲學模型以隱馬爾可夫模型(hidden Markov model,HMM)為代表[4,6],HMM 至今仍被看作是語音領(lǐng)域的主流技術(shù)。在這一階段產(chǎn)生了一系列著名的語音識別系統(tǒng),其中最具代表性的是李開復的SPHINX 系統(tǒng)[7]。該系統(tǒng)用HMM對語音狀態(tài)的轉(zhuǎn)移概率建模,用高斯混合模型(Gaussian mixture model,GMM)對語音狀態(tài)的觀察值概率建模,稱之為高斯混合‐隱馬爾可夫模型(Gaussian mixture model‐ hidden Markov model,GMM‐HMM)[4]。該技術(shù)的出現(xiàn)也為語音技術(shù)的落地應(yīng)用奠定了基礎(chǔ),其核心算法成為主流語音識別技術(shù),得到了更為廣泛的應(yīng)用;以此為基礎(chǔ)發(fā)展的一些自適應(yīng)方法及訓練準則進一步提升了語音識別的準確性,使其地位更加穩(wěn)固[4]。
(3)自2006 年起,深度學習技術(shù)的迅速發(fā)展為語音技術(shù)的發(fā)展提供了新的研究思路。伴隨著日常應(yīng)用對語音交互技術(shù)需求的不斷增長,多應(yīng)用場景識別難度亦增加。GMM‐HMM算法的效果無法獲得更為理想的體驗感,識別率到達了一個瓶頸(80%左右),無法突破。直到2006年,Hinton提出“深度置信網(wǎng)絡(luò)”概念,實現(xiàn)了訓練的優(yōu)化[8]。深度學習方法更易于進行深層神經(jīng)網(wǎng)絡(luò)的訓練,使訓練時間減少,模型性能提升,這項技術(shù)成為了語音識別的轉(zhuǎn)折點。2012年微軟研究院將深度學習技術(shù)與HMM 相結(jié)合,提出上下文相關(guān)的深度神經(jīng)網(wǎng)絡(luò)(context dependent deep neural network,CD‐DNN)[4,9]與HMM 融合的聲學模型(CD‐DNN‐HMM),在大詞匯量的連續(xù)語音識別技術(shù)上取得了顯著的進步。相比GMM‐HMM 方 法,CD‐DNN‐HMM 性 能 提 升 約20%。之后涌現(xiàn)了各種神經(jīng)網(wǎng)絡(luò)模型:循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[10]可以更好地利用音頻信息中的上下文;長短時記憶網(wǎng)絡(luò)(long short term memory,LSTM)[11]通過遺忘門和輸出門忘記部分信息來解決梯度消失的問題;時延神經(jīng)網(wǎng)絡(luò)(time delay neural network,TDNN)可適應(yīng)語音的動態(tài)時域變化,學習到音頻特征之間的時間依賴關(guān)系,取得了很好的識別效果[12]。
伴隨深度學習技術(shù)的飛速發(fā)展以及數(shù)據(jù)量和算力的不斷提升,端到端語音識別技術(shù)逐漸受到關(guān)注,經(jīng)典的CTC(connectionist temporal classification)算法實現(xiàn)了對語音的序列建模及輸入語音和輸出結(jié)果的直接映射[13]。各語音公司也開始了對該模型的研發(fā)和應(yīng)用。2015 年,注意力機制(Attention)擴展到語音領(lǐng)域,基于Attention 的Seq2Seq 模型取得了優(yōu)異的結(jié)果;2017 年,新的架構(gòu)Transformer 被提出,其中編碼和解碼均采用Attention,該架構(gòu)在端到端語音識別中有明顯的效果改進[14‐17]。研究人員通過不斷地嘗試新的建模方式,從HMM 和GMM 的出現(xiàn),到DNN,再到CTC 和Attention,逐步提高語音識別技術(shù)的性能,為其更加廣泛的應(yīng)用奠定了堅實的基礎(chǔ)。
語音識別系統(tǒng)的輸入是一段音頻信號序列。原始信號經(jīng)過信息處理和特征提取后進行聲學模型的訓練,同時采用文本數(shù)據(jù)進行語言模型的訓練;之后,利用聲學模型和語言模型發(fā)音詞典共同進行解碼搜索,輸出的識別結(jié)果即文本序列[4]。
軌道交通車輛顯示交互語音識別系統(tǒng)特點如下:
(1)識別內(nèi)容通常為2~5個字的關(guān)鍵詞;
(2)關(guān)鍵詞數(shù)量有限;
(3)關(guān)鍵詞隨不同車輛顯示界面的變化而變化,需針對不同場景定制開發(fā)。
針對以上特點,本文開發(fā)了一套軌道交通車輛顯示交互語音識別系統(tǒng)(圖4)。開發(fā)時需重點考慮針對軌道交通場景需求進行聲學模型數(shù)據(jù)增廣訓練及語言模型的自適應(yīng)性。
圖4 軌道交通車輛顯示交互語音識別系統(tǒng)Fig.4 Train display speech recognition system in rail transit
用O表示語音波形,用W表示文字序列。找到對應(yīng)觀察值序列O最可能的詞序列W?,一般用概率表示,并按貝葉斯準則轉(zhuǎn)化為
式中,P(O)與P(W)沒有關(guān)系,可以認為是常量,因此P(W|O)的最大值可轉(zhuǎn)換為P(O|W)和P(W)兩項乘積的最大值。P(O|W)由聲學模型決定,P(W)由語言模型決定[4]。
數(shù)據(jù)增廣訓練目的是針對特定需求,在通用模型的基礎(chǔ)上對關(guān)鍵詞進行優(yōu)化,進而提升交互效果。
3.2.1 特征參數(shù)提取及歸一化
特征參數(shù)提取的輸出就是聲學特征參數(shù)表單和用于保存聲學特征參數(shù)的二進制文檔。提取聲學特征參數(shù)的基本流程如下:
(1)預加重。采用高通濾波器突出高頻信號。
(2)滑動加窗,進行語音分幀。通常幀長25 ms,幀移10 ms,重疊15 ms保證幀內(nèi)信號平穩(wěn)性。
(3)對每一幀做快速傅里葉變換,計算功率譜。
(4)應(yīng)用梅爾濾波器組獲取每個濾波器內(nèi)的對數(shù)能量。
(5)對數(shù)能量向量做離散余弦變換。
特征參數(shù)提取后,完成了聲學特征的空間轉(zhuǎn)換。為了便于在新空間中分析參數(shù)的概率分布,縮小特征參數(shù)值域動態(tài)范圍,并盡可能避免訓練和測試環(huán)境的不匹配。
3.2.2 音素模型訓練
首先使用高斯混合模型(GMM)描述單音子(monophone)發(fā)音狀態(tài)的概率分布函數(shù)的HMM模型;然后多輪迭代訓練GMM‐HMM 模型做幀級別的標注,為后面訓練深度神經(jīng)網(wǎng)絡(luò)聲學模型做準備。在此過程中,需要解決如何獲取每一幀對應(yīng)的狀態(tài)號問題,以此作為訓練的標簽。獲取每一幀對應(yīng)狀態(tài)號的過程即對齊。在每一輪聲學模型迭代訓練完成后,都會有一次強制對齊;將文字對應(yīng)到具體的音頻發(fā)音時間片段上,或者將文字對應(yīng)的音素對應(yīng)到具體的音頻發(fā)音時間片段上。在聲學模型訓練的過程中,我們會先得到一個基礎(chǔ)的聲學模型;然后加入訓練數(shù)據(jù),不斷地迭代更新模型參數(shù),優(yōu)化模型。
單音素模型進行強制對齊后,開始迭代訓練三音素模型。此處的三音素模型還加入了差分特征變換(Delta)、線性判別分析(LDA)和最大似然線性變換(MLLT)。三音素模型屬于上下文相關(guān)的聲學模型,其訓練過程與單音素模型的建模訓練過程非常類似。三音素模型的訓練需要進行多輪反復的迭代,而每一輪迭代后都要進行強制對齊。
3.2.3 TDNN數(shù)據(jù)增廣訓練
在工程應(yīng)用中,顯示器界面的關(guān)鍵詞會根據(jù)車型的不同而變化,因此,在訓練時需適應(yīng)性地進行優(yōu)化。當有新的關(guān)鍵詞輸入時,需錄制大量關(guān)鍵詞語音信息,將新的音頻數(shù)據(jù)進行格式規(guī)范化;加入新的語音資源后,開始深度神經(jīng)網(wǎng)絡(luò)訓練。TDNN的優(yōu)點在于不僅能夠?qū)﹂L時間依賴的語音信號進行建模,而且與DNN的訓練速度和解碼效率幾乎相當。TDNN 在網(wǎng)絡(luò)傳播過程中對各隱層的輸出進行了擴展。DNN每個隱層的輸入是前一層網(wǎng)絡(luò)的輸出,而TDNN 則會參考前一層網(wǎng)絡(luò)的歷史輸出。這樣TDNN 可對更長的歷史信息進行建模,這樣可明顯降低語音誤識別率。從TDNN 的網(wǎng)絡(luò)結(jié)構(gòu)可以看出,相鄰節(jié)點之間的變化很小且包含了大量冗余信息。因此,可每隔幾幀計算一次,這樣可加快訓練和解碼速度。圖5為標準的TDNN網(wǎng)絡(luò)。
圖5 TDNN 網(wǎng)絡(luò)Fig.5 TDNN network
基于DNN‐HMM 的語音識別系統(tǒng)采用TDNN 來構(gòu)建深度神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)融合了FNN、CNN 和RNN的優(yōu)點,減少了重復計算次數(shù),擴展了知識域。
語言模型用于刻畫語言的表達合理性,描述一句話中每個詞之間的關(guān)聯(lián)性。在語音識別解碼中,詞與詞之間如何轉(zhuǎn)移就是參考語言模型的結(jié)果,因此,語言模型是提高解碼效率及識別效果的重要途徑。面對新的交互內(nèi)容,語言模型要與聲學模型同步優(yōu)化,采用兩個文本進行模型訓練,即通用大文本和定制的關(guān)鍵詞文本,可訓練出一個通用的語言大模型和一個定制化的小模型。將這兩個模型進行合并調(diào)整各模型所占權(quán)重,通過輸出詞序列的可能性概率來描述語言內(nèi)在的統(tǒng)計規(guī)律。
假定一個詞序列S=(w1,...,wt),根據(jù)連式法則及馬爾可夫假設(shè)可得其可能性概率:
計算語言模型概率值復雜度較高,計算量大,因此一般采用n個詞組合的n‐gram 模型,即每個預測變量wt只與長度為(n-1)的上下文有關(guān)。在實踐中,通常采用2‐gram 和3‐gram 統(tǒng)計模型,n過大時精度提高得不多[4],但是時間長、復雜度高。
語音識別解碼的核心是解決兩個序列的對齊問題,一個是輸入的語音特征,一個是輸出的文本特征。由于輸入語音特征的幀數(shù)要遠大于輸出的文本個數(shù),因此需要建立的映射模型需要解決多幀對一幀的問題。
主流的語音識別解碼器都是根據(jù)HMM、上下文、發(fā)音字典和語言模型構(gòu)建一個加權(quán)有限狀態(tài)轉(zhuǎn)換器(weighted finite‐state transducer,WFST),生成一個用于搜索的解碼網(wǎng)絡(luò),從中搜索到最大概率的路徑,即最佳匹配作為輸出。搜索解碼分2個階段:
(1)構(gòu)建解碼網(wǎng)絡(luò)。根據(jù)訓練階段生成的聲學模型、語言模型、字典以及上下文音素生成解碼網(wǎng)絡(luò)(圖6)。
圖6 語音識別解碼網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Architecture of speech recognition decoded network
(2)解碼。識別階段先進行一次解碼,得到詞圖網(wǎng)格;然后進行圖剪枝;最后基于剪枝后的圖進行多次解碼,搜索出一個最可能的路徑作為結(jié)果。
HCLG.fst由4部分組成:
(1)G,語言模型WFST,其輸入符號為詞,輸出符號為句子;
(2)L,發(fā)音詞典WFST,其輸入符號為音素,輸出符號為詞;
(3)C,上下文相關(guān)WFST,其輸入符號為三音素,輸出符號為音素;
(4)H,HMM 聲學模型WFST,其輸入符號為HMM狀態(tài),輸出符號為三音素。
聲學模型和語言模型的計算結(jié)果共同決定了輸入特征序列所對應(yīng)輸出識別序列,final.mdl 用來計算輸入特征可能對應(yīng)的識別狀態(tài),HCLG.fst為提前構(gòu)建好的靜態(tài)解碼器,使得輸入音頻能夠生成最優(yōu)的序列。在解碼過程中,信息存儲在狀態(tài)和狀態(tài)的轉(zhuǎn)移邊之間,輸入為狀態(tài)序列,輸出為詞序列;權(quán)值為語言模型的權(quán)值;聲學模型的后驗概率需要實時計算得出[3‐4]。
為驗證該基于TDNN的命令詞定制語音識別系統(tǒng)在不同場景下的語音識別效果,本文在智軌電車司機室顯示交互系統(tǒng)中進行測試。測試設(shè)備包括拾音器和智能硬件計算平臺,設(shè)備關(guān)聯(lián)關(guān)系如圖7所示。通過車載拾音器采集音頻信息并通過模擬信號與智能計算平臺通信,語音識別系統(tǒng)將所接收的音頻信號在智能硬件計算平臺上進行處理,轉(zhuǎn)為文本信息后再傳送給主控系統(tǒng)(顯示器)以實現(xiàn)相關(guān)邏輯控制。
圖7 車載顯示交互語音識別系統(tǒng)Fig 7 On‐board display speech recognition system
工程上廣泛使用的語音識別評價指標包括字正確率及實時率。字正確率即測試集中被正確識別的字與測試集全部字數(shù)量的比值,它能夠直觀給出測試集中正確識別的比例;實時率能夠評價模型在硬件設(shè)備上的運行是否滿足實時交互需求。
(1)測試語料
測試命令詞包括啟動運營、結(jié)束運營、安全門、上行開、上行關(guān)、下行開、下行關(guān)、菜單、查詢和設(shè)置等60余個。全局命令詞包括檢修界面、音量增大及亮度增大等7個。
(2)車載噪聲
車輛運行過程中噪聲環(huán)境較為復雜。本實驗涉及車輛靜止、車輛啟動、車輛加速、車輛穩(wěn)定行駛和車輛減速等場景,包含車載噪聲以及車輛鳴笛、車內(nèi)播報語音提示和空調(diào)噪聲等聲音。
(3)功能測試
功能測試是指語音識別準確率測試,其采用命令詞測試音頻200條、通用測試音頻200條。
(4)性能測試
性能測試為語音識別實時率測試,其采用400 條測試音頻,統(tǒng)計識別每條音頻耗費的時間并取平均值。
場景一:車輛處于靜止狀態(tài)。
場景二:車輛運行過程,包括平穩(wěn)運行、加速、減速、鳴笛和剎車等工況,運行速度為10~35 km/h。
表1和表2示出實驗結(jié)果??梢钥闯?,基于TDNN訓練的模型能夠滿足車輛不同場景的識別需求,識別率較理想,但是由于場景二中車輛運行時存在多種噪聲干擾,使得識別率出現(xiàn)一定程度的降低?,F(xiàn)階段,既往降噪系統(tǒng)可以基本消除平穩(wěn)噪聲,但對于非平穩(wěn)噪聲,還需改進。后續(xù)將在已有工程經(jīng)驗的基礎(chǔ)上,一方面通過擴展麥克風陣列數(shù)量及采用深度學習方法提高降噪效果,另一方面嘗試改進網(wǎng)絡(luò)結(jié)構(gòu),滿足不同車載設(shè)備及不同環(huán)境下的語音識別需求,從而提升整體識別率。
表1 場景一的測試結(jié)果Tab.1 Test results of scene 1
表2 場景二的測試結(jié)果Tab.2 Test results of scene 2
本文介紹了語音識別技術(shù)在語音交互中的重要作用,梳理了語音識別技術(shù)的發(fā)展歷程,在此基礎(chǔ)上進行了基于時延神經(jīng)網(wǎng)絡(luò)語音識別技術(shù)的研究,開發(fā)了面向軌道交通車輛顯示交互的語音識別系統(tǒng),重點介紹了針對顯示交互內(nèi)容的需求變化如何自適應(yīng)訓練及部署的各個環(huán)節(jié),并在智軌電車上進行了實車測試。伴隨數(shù)據(jù)及算力的不斷增長,后續(xù)將持續(xù)迭代優(yōu)化語音識別模型,并且重點關(guān)注端到端語音識別技術(shù)的進展,以滿足軌道交通不同車載環(huán)境下對語音識別技術(shù)的需求,推進語音技術(shù)在軌道交通領(lǐng)域的工程化應(yīng)用。