吳敏,馬延周
(1.信息工程大學(xué)洛陽校區(qū)語言信息處理系,洛陽471000;2.信息工程大學(xué)洛陽校區(qū)基礎(chǔ)系,洛陽471000)
語種識別,即語音的自動語言辨識技術(shù)就是通過計算機識別出語音段所屬語言的過程。語音識別是通過計算機識別語音信號對應(yīng)的文字信息,在上世紀語音識別的研究都是基于單一語種的,識別系統(tǒng)并沒有考慮到語音信號可能來源于不同的語言,因此隨著語音識別技術(shù)的不斷發(fā)展,并且考慮到語音信號中可能出現(xiàn)的多語種現(xiàn)象,作為語音識別的重要分支的語種識別技術(shù)被提了出來。通過提供包含不同語言對應(yīng)的語音信號,能讓系統(tǒng)識別出語音信號所屬語言。
語種識別在信息檢索和軍事領(lǐng)域都有很重要的應(yīng)用,包括自動轉(zhuǎn)換服務(wù)、語音實時翻譯、多語種信息補償?shù)取T谛畔⒎?wù)方面,很多信息查詢系統(tǒng)數(shù)據(jù)庫都包含多語言數(shù)據(jù),并提供多語言服務(wù),在以往通過用戶選擇特定的語種來對數(shù)據(jù)進行增刪改查等操作。這類服務(wù)被廣泛應(yīng)用于旅游行業(yè)、應(yīng)急服務(wù)、客服服務(wù)以及購物和銀行業(yè)務(wù)。最常見的例子是手機營業(yè)廳的電話客服服務(wù),在最開始的機器處理過程中就提示用戶選擇語言。語種識別技術(shù)還能夠用于多語言機器翻譯,可以被應(yīng)用在機器翻譯系統(tǒng)前端,在一對一的多語言機器翻譯系統(tǒng)中,必須先確定語言類型,才能通過特定的語言到語言的翻譯系統(tǒng)對語音進行翻譯。另外,在語音實時翻譯系統(tǒng)即直接將一種語言轉(zhuǎn)換成另一種語言的通信系統(tǒng)中也使用了語種識別技術(shù)。此外語種識別在軍事上還可以用來進行說話人的信息識別,通過語種識別出說話人的身份信息和國籍,來對說話人進行監(jiān)聽或識別。隨著全球的發(fā)展日趨國際化,語言問題已經(jīng)越來越受到關(guān)注,語種識別更是作為一種代表技術(shù)越來越顯示出其應(yīng)用價值。
語種識別系統(tǒng)的從某種意義上看也是一種分類系統(tǒng),因此系統(tǒng)最重要的就是找到分類(即識別)的關(guān)鍵特征。由此,隨著人們對聲學(xué)的研究,語種識別技術(shù)的發(fā)展經(jīng)歷了以下幾個階段:首先是上世紀60 年代隱馬爾科夫模型(Hidden Markov Model,HMM)的問世,被廣泛地應(yīng)用到了各種統(tǒng)計學(xué)的模型中,出現(xiàn)了基于HMM的語種識別系統(tǒng);在此之后人們對聲學(xué)進行了研究,出現(xiàn)了基于音素識別器的語種識別方法[3];隨著人們對語音信號以及人耳結(jié)構(gòu)特征、聽音特征的研究深入,出現(xiàn)了以梅爾頻率倒譜系數(shù)(Mel-Frequency Cepstral Coefficients,MFCC)為代表的基于底層聲學(xué)特征的語種識別方法[4];為了進一步提升語種識別的準確率,減少噪聲的干擾,出現(xiàn)了許多基于其他特征(例如韻律特征)的語種識別方法[2]。
廣義的語種識別包括對文本進行語種識別和對語音進行語種識別,本文介紹的都是根據(jù)語音進行的語種識別,以下簡稱語種識別。
語種識別主要分三個過程,首先根據(jù)語音信號進行特征提取,然后進行語種模型的構(gòu)建,最后是對測試語音進行語種判決[5]。訓(xùn)練過程只需要建立不同語種的語音特征相關(guān)模型,測試過程根據(jù)不同的識別策略對待識別語音信號的特征進行處理,如圖1 所示。在訓(xùn)練階段,系統(tǒng)首先對語音信號進行預(yù)處理,方便系統(tǒng)提取不同種語音數(shù)據(jù)的特征,然后用提取出的特征構(gòu)建一個特征向量序列,利用特定的特征訓(xùn)練算法,產(chǎn)生一個或多個包含語種信息的模型并存儲起來。在識別階段,同樣需要對待識別語音信號進行預(yù)處理、特征提取并構(gòu)建向量,然后采用一些分類模型或者算法,根據(jù)訓(xùn)練階段訓(xùn)練好的對應(yīng)語種模型進行相似度度量,根據(jù)相似度來判決待識別語音的語種。

圖1 語種識別一般過程
本文將語種識別系統(tǒng)分為了兩類,一類是基于目前研究熱點——深度神經(jīng)網(wǎng)絡(luò)的語種識別系統(tǒng),稱之為神經(jīng)網(wǎng)絡(luò)語種識別系統(tǒng),另一類未使用神經(jīng)網(wǎng)絡(luò)的稱為傳統(tǒng)語種識別系統(tǒng)。
傳統(tǒng)的語種識別系統(tǒng)包括基于HMM 的語種識別、基于音素識別器(Phoneme Recognizer,PR)的語種識別、基于底層聲學(xué)特征的語種識別等。
(1)PR 的語種識別系統(tǒng)
本文選取了兩種傳統(tǒng)語種識別方法進行介紹,分別是基于PR 的語種識別和基于底層聲學(xué)特征的語種識別。選取這兩種作為傳統(tǒng)語種識別系統(tǒng)的代表進行描述。基于PR 的語種識別利用音素識別器,對訓(xùn)練語音進行轉(zhuǎn)換得到一個最優(yōu)的音素序列,然后根據(jù)這個序列,生成N-Gram 基元,通過對基元采用統(tǒng)計語言模型(Language Model,LM)或者支持向量機(Support Vector Machine,SVM)來進行分類,即識別。整個系統(tǒng)是建立在LM 或SVM 模型上的,音素識別器只用于獲取特定的分類特征。整體過程如圖2 所示。在基于音素的語種識別系統(tǒng)中,PR 是一個與語種識別任務(wù)無關(guān)的黑盒子[2],語種識別系統(tǒng)所需要的,是在給定的PR 下識別出來的序列因語種的不同而產(chǎn)生的差異,采用音素搭配關(guān)系來作為語種識別差異,也就是說不同語種的語音信號經(jīng)過音素識別器得到的最優(yōu)序列會有所差異。

圖2 基于音素識別器的語種識別
(2)基于底層聲學(xué)特征MFCC 的語種識別
隨著人們對人耳構(gòu)造的進一步研究,有學(xué)者發(fā)現(xiàn)人類聽覺系統(tǒng)所感知到的聲音頻率(單位:Mel)與該聲音的物理頻率(單位:Hz)并不是完全線性的對應(yīng)關(guān)系,而是在一定范圍內(nèi)呈對數(shù)關(guān)系。另外,還存在屏蔽效應(yīng),即當兩個音調(diào)的頻率差小于臨界帶寬時,人耳便無法區(qū)分出兩個音調(diào),而是會認成同一個音調(diào)[4]。臨界帶寬的大小并不是固定的,隨著頻率的升高呈對數(shù)關(guān)系。梅爾頻率倒譜系數(shù)(MFCC)就是通過這些特性被提取出來的。
基于MFCC 的語種識別就是通過提取出語音信號的MFCC 特征,再根據(jù)MFCC 特征采用不同的分類模型來構(gòu)建語種識別系統(tǒng)。此系統(tǒng)的核心就是提取MFCC 特征,分類可以采用常用的SVM 或是K-means 聚類方法。提取MFCC 特征的步驟可以細分為六步[6]:首先,對語音信號預(yù)加重,以減少尖銳噪聲的影響;第二步,加窗處理,減少吉布斯效應(yīng);接下來對信號進行離散傅里葉變換,將語音信號從時域轉(zhuǎn)移到頻域中去;第四步便是采用三角濾波器組處理上一步得到的頻譜參數(shù),在人耳聽覺敏感的各個頻段都設(shè)定一個三角濾波器,得到的一組系數(shù)各個值都來自其對應(yīng)的濾波器;接下來計算每個濾波器輸出的對數(shù)能量;最后經(jīng)過離散余弦變換得到MFCC 特征。
早期底層聲學(xué)特征往往采用的是MFCC 及其一階、二階差分,然后利用這些特征組成的一個特征向量進行語種識別,而通過大量的研究發(fā)現(xiàn),這些特征作為語種識別的依據(jù)并不能很好地區(qū)分不同語種,使得傳統(tǒng)的基于底層聲學(xué)特征的語種識別系統(tǒng)性能受限。目前的基于底層聲學(xué)特征的語種識別系統(tǒng)往往采用的是移位差分倒譜特征(Shift Delta Cepstral,SDC)[7],SDC 特征是在MFCC 或者感知線性預(yù)測特征(Perceptual Linear Predictive)的基礎(chǔ)上通過移位差分擴展而來:首先對提取的MFCC 特征或PLP 特征使用RASTA 濾波,然后通過移位差分擴展,再經(jīng)過高斯化及倒譜域減去均值的操作就得到了SDC 特征。該特征通過將底層聲學(xué)譜參數(shù)進行時域擴展使其能夠接近一個因素單元的長度,從而能夠更好地對應(yīng)內(nèi)容相關(guān)語音信號,進而極大地提升了語種識別的性能。

圖3 基于底層聲學(xué)特征的語種識別
為了模擬生物學(xué)習(xí)的計算模型,即大腦的學(xué)習(xí)過程的模型,人們提出了最早的學(xué)習(xí)算法,即最早的人工神經(jīng)網(wǎng)絡(luò)算法。最早的神經(jīng)網(wǎng)絡(luò)是用來進行數(shù)值預(yù)測的,而人們結(jié)合統(tǒng)計學(xué)的成果將其運用在了模型參數(shù)的預(yù)測上,進而使得神經(jīng)網(wǎng)絡(luò)被用在了各個領(lǐng)域中。而經(jīng)過六七十年的曲折發(fā)展,目前的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)效果更為明顯,在各個學(xué)科領(lǐng)域都得到了廣泛的應(yīng)用并取得了性能上質(zhì)的飛躍[8]。
在神經(jīng)網(wǎng)絡(luò)被用在語種識別系統(tǒng)之前,語種識別系統(tǒng)往往通過特殊的手工設(shè)計方法預(yù)處理輸入信號來獲取包含語種信息的特征。而神經(jīng)網(wǎng)絡(luò)的迅速發(fā)展,使得直接從原始輸入中學(xué)習(xí)特征變得可能,并且通過大量實驗證明神經(jīng)網(wǎng)絡(luò)提取的特征用來進行語種識別在準確率上要明顯高于使用傳統(tǒng)手工提取的特征。
(1)基于深度神經(jīng)網(wǎng)絡(luò)的語種識別系統(tǒng)
本文選取基于深度神經(jīng)網(wǎng)絡(luò)的語種識別系統(tǒng)及其改進系統(tǒng)——融合深度瓶頸特征的DNN 語種識別系統(tǒng)進行介紹。基于DNN 的語種識別系統(tǒng)分為兩部分,前端深度神經(jīng)網(wǎng)絡(luò)部分,構(gòu)建深度神經(jīng)網(wǎng)絡(luò)來完成特征提取,后端為判別部分,通過已有的分類模型分類。許多基于DNN 的語種識別系統(tǒng)并不是將語音信號簡單地預(yù)處理之后就用作輸入,而往往是使用語音信號的MFCC 特征及其n階差分等特征作為輸入,將輸出解碼為音素序列,再通過聲學(xué)模型和分類模型進行語種識別。通過實驗表明[9],一個包含5 個隱層的DNN,輸入特征為13 維MFCC 及其一階和二階差分及4 維基頻特征,使用SVM 進行區(qū)分訓(xùn)練的基于DNN 的語種識別系統(tǒng),其識別率相比基于PR-SVM 的語種識別系統(tǒng)性能在不同時長的語音測試集上均有所提高。
(2)融合深度瓶頸特征的DNN 語種識別系統(tǒng)
深度神經(jīng)網(wǎng)絡(luò)中,有的隱層的單元數(shù)目被人為地調(diào)小,這種隱層被稱為瓶頸層。語音識別中的研究已經(jīng)證明,利用瓶頸層的輸出作為聲學(xué)特征能夠有效提升語音識別系統(tǒng)的性能,瓶頸層作為輸入的一種非線性變換形式,有效地去除了因素?zé)o關(guān)的噪聲影響[10]。因此,將深度神經(jīng)網(wǎng)絡(luò)的輸出和網(wǎng)絡(luò)中間瓶頸層的輸出融合作為后端分類模型的輸入是可行的,該語種識別系統(tǒng)結(jié)構(gòu)如圖4 所示。相關(guān)研究已經(jīng)證明[9],融合瓶頸層輸出的DNN 語種識別系統(tǒng)的識別性能要明顯優(yōu)于基于DNN 輸出層的語種識別系統(tǒng)。

圖4 融合瓶頸層特征的DNN語種識別系統(tǒng)
從20 世紀80 年代到直到2012 年,最先進的語音識別系統(tǒng)是GMM-HMM[8],GMM 對聲學(xué)特征和音素之間的關(guān)系建模[11],HMM 對音素序列建模。該系統(tǒng)的錯誤率達到了約30%的語音識別錯誤率。上世紀80 年代開始,神經(jīng)網(wǎng)絡(luò)被大量用于語音識別系統(tǒng),并且在2009 年[12]將音素級別的錯誤率從大約26%降到了20.7%。而直到現(xiàn)在,基于GMM-HMM 的系統(tǒng)的傳統(tǒng)技術(shù)沒有任何進步,使用神經(jīng)網(wǎng)絡(luò)來進行語音識別的浪潮正盛。同樣,在語音識別重要分支的語種識別系統(tǒng)中也在廣泛應(yīng)用神經(jīng)網(wǎng)絡(luò)。
從根本上語種識別系統(tǒng)可以分成兩個部分,分別是特征提取以及按特征分類。傳統(tǒng)的語種識別限于聲學(xué)的研究和計算能力的不足,在這兩個方面均存在的很大的不足。如今的語種識別系統(tǒng),基本上都采用的高性能的“神經(jīng)網(wǎng)絡(luò)來提取特征”搭配“高斯混合-分類模型”的系統(tǒng)架構(gòu),通過采用更加高效的神經(jīng)網(wǎng)絡(luò)算法來提取更加能代表語種特性而又更加簡潔的特征,采用更加適配特征的聲學(xué)模型和分類模型,來獲取更加高效的性能。
目前語種識別系統(tǒng)的識別率隨著深度學(xué)習(xí)的不斷發(fā)展在不斷提升,雖然系統(tǒng)識別率不低但仍存在提升空間。現(xiàn)階段的語音識別領(lǐng)域仍然并將在一段時間內(nèi)被深度學(xué)習(xí)算法所引領(lǐng),因此不僅要不斷地尋找嘗試適合特定語音任務(wù)的深度學(xué)習(xí)算法,還需要盡可能地減少深度學(xué)習(xí)算法帶來的巨大開銷。但從長遠來看,要能夠再次大幅提升系統(tǒng)的性能只有兩種可能:一是研究出包含在深度學(xué)習(xí)中的各種非線性變換與具體任務(wù)的某些性質(zhì)之間的聯(lián)系,這樣才能真正地推動深度學(xué)習(xí)在該領(lǐng)域的發(fā)展;二是對領(lǐng)域的更深一步研究,探索該學(xué)科領(lǐng)域的本質(zhì),使得無需使用復(fù)雜的學(xué)習(xí)算法就能完成該領(lǐng)域的任務(wù)。