ZLG深度解析語音識別技術(shù)
語音識別已成為人與機器通過自然語言交互重要方式之一,本文將從語音識別的原理以及語音識別算法的角度出發(fā)為大家介紹語音識別的方案及詳細設計過程。
本文引用地址:http://butianyuan.cn/article/201903/398163.htm語言作為人類的一種基本交流方式,在數(shù)千年歷史中得到持續(xù)傳承。近年來,語音識別技術(shù)的不斷成熟,已廣泛應用于我們的生活當中。語音識別技術(shù)是如何讓機器“聽懂”人類語言?本文將為大家從語音前端處理、基于統(tǒng)計學語音識別和基于深度學習語音識別等方面闡述語音識別的原理。
隨著計算機技術(shù)的飛速發(fā)展,人們對機器的依賴已經(jīng)達到一個極高的程度。語音識別技術(shù)使得人與機器通過自然語言交互成為可能。最常見的情形是通過語音控制房間燈光、空調(diào)溫度和電視的相關(guān)操作等。并且,移動互聯(lián)網(wǎng)、智能家居、汽車、醫(yī)療和教育等領域的應用帶動智能語音產(chǎn)業(yè)規(guī)模持續(xù)快速增長, 2018年全球智能語音市場規(guī)模將達到141.1億美元。
目前,在全球智能語音市場占比情況中,各巨頭市場占有率由大到小依次為:Nuance、谷歌、蘋果、微軟和科大訊飛等。
語音識別的本質(zhì)就是將語音序列轉(zhuǎn)換為文本序列,其常用的系統(tǒng)框架如下:
接下來對語音識別相關(guān)技術(shù)進行介紹,為了便于整體理解,首先,介紹語音前端信號處理的相關(guān)技術(shù),然后,解釋語音識別基本原理,并展開到聲學模型和語言模型的敘述,最后,展示我司當前研發(fā)的離線語音識別demo。
1.前端信號處理
前端的信號處理是對原始語音信號進行的相關(guān)處理,使得處理后的信號更能代表語音的本質(zhì)特征,相關(guān)技術(shù)點如下表所述:
1)語音活動檢測
語音活動檢測(Voice Activity Detection, VAD)用于檢測出語音信號的起始位置,分離出語音段和非語音(靜音或噪聲)段。VAD算法大致分為三類:基于閾值的VAD、基于分類器的VAD和基于模型的VAD。
基于閾值的VAD是通過提取時域(短時能量、短時過零率等)或頻域(MFCC、譜熵等)特征,通過合理的設置門限,達到區(qū)分語音和非語音的目的。
基于分類的VAD是將語音活動檢測作為(語音和非語音)二分類,可以通過機器學習的方法訓練分類器,達到語音活動檢測的目的。
基于模型的VAD是構(gòu)建一套完整的語音識別模型用于區(qū)分語音段和非語音段,考慮到實時性的要求,并未得到實際的應用。
2)降噪
在生活環(huán)境中通常會存在例如空調(diào)、風扇等各種噪聲,降噪算法目的在于降低環(huán)境中存在的噪聲,提高信噪比,進一步提升識別效果。
常用降噪算法包括自適應LMS和維納濾波等。
3)回聲消除
回聲存在于雙工模式時,麥克風收集到揚聲器的信號,比如在設備播放音樂時,需要用語音控制該設備的場景。
回聲消除通常使用自適應濾波器實現(xiàn)的,即設計一個參數(shù)可調(diào)的濾波器,通過自適應算法(LMS、NLMS等)調(diào)整濾波器參數(shù),模擬回聲產(chǎn)生的信道環(huán)境,進而估計回聲信號進行消除。
4)混響消除
語音信號在室內(nèi)經(jīng)過多次反射之后,被麥克風采集,得到的混響信號容易產(chǎn)生掩蔽效應,會導致識別率急劇惡化,需要在前端處理。
混響消除方法主要包括:基于逆濾波方法、基于波束形成方法和基于深度學習方法等。
5)聲源定位
麥克風陣列已經(jīng)廣泛應用于語音識別領域,聲源定位是陣列信號處理的主要任務之一,使用麥克風陣列確定說話人位置,為識別階段的波束形成處理做準備。
聲源定位常用算法包括:基于高分辨率譜估計算法(如MUSIC算法),基于聲達時間差(TDOA)算法,基于波束形成的最小方差無失真響應(MVDR)算法等。
6)波束形成
波束形成是指將一定幾何結(jié)構(gòu)排列的麥克風陣列的各個麥克風輸出信號,經(jīng)過處理(如加權(quán)、時延、求和等)形成空間指向性的方法,可用于聲源定位和混響消除等。
波束形成主要分為:固定波束形成、自適應波束形成和后置濾波波束形成等。
2.語音識別的基本原理
已知一段語音信號,處理成聲學特征向量之后表示為,其中表示一幀數(shù)據(jù)的特征向量,將可能的文本序列表示為,其中表示一個詞。語音識別的基本出發(fā)點就是求,即求出使最大化的w文本序列。將通過貝葉斯公式表示為:
其中,稱之為聲學模型,稱之為語言模型。大多數(shù)的研究將聲學模型和語言模型分開處理,并且,不同廠家的語音識別系統(tǒng)主要體現(xiàn)在聲學模型的差異性上面。此外,基于大數(shù)據(jù)和深度學習的端到端(End-to-End)方法也在不斷發(fā)展,它直接計算,即將聲學模型和語言模型作為整體處理。本文主要對前者進行介紹。
3.聲學模型
聲學模型是將語音信號的觀測特征與句子的語音建模單元聯(lián)系起來,即計算。我們通常使用隱馬爾科夫模型(Hidden Markov Model,HMM)解決語音與文本的不定長關(guān)系,比如下圖的隱馬爾科夫模型中,
將聲學模型表示為
其中,初始狀態(tài)概率和狀態(tài)轉(zhuǎn)移概率(、)可用通過常規(guī)統(tǒng)計的方法計算得出,發(fā)射概率(
、、)可以通過混合高斯模型GMM或深度神經(jīng)網(wǎng)絡DNN求解。
傳統(tǒng)的語音識別系統(tǒng)普遍采用基于GMM-HMM的聲學模型,示意圖如下:
其中,表示狀態(tài)轉(zhuǎn)移概率,語音特征表示,通過混合高斯模型GMM建立特征與狀態(tài)之間的聯(lián)系,從而得到發(fā)射概率,并且,不同的狀態(tài)對應的混合高斯模型參數(shù)不同。
基于GMM-HMM的語音識別只能學習到語音的淺層特征,不能獲取到數(shù)據(jù)特征間的高階相關(guān)性,DNN-HMM利用DNN較強的學習能力,能夠提升識別性能,其聲學模型示意圖如下:
GMM-HMM和DNN-HMM的區(qū)別在于用DNN替換GMM來求解發(fā)射概率
,GMM- HMM模型優(yōu)勢在于計算量較小且效果不俗。DNN-HMM模型提升了識別率,但對于硬件的計算能力要求較高。因此,模型的選擇可以結(jié)合實際的應用調(diào)整。
4.語言模型
語言模型與文本處理相關(guān),比如我們使用的智能輸入法,當我們輸入“nihao”,輸入法候選詞會出現(xiàn)“你好”而不是“尼毫”,候選詞的排列參照語言模型得分的高低順序。
語音識別中的語言模型也用于處理文字序列,它是結(jié)合聲學模型的輸出,給出概率最大的文字序列作為語音識別結(jié)果。由于語言模型是表示某一文字序列發(fā)生的概率,一般采用鏈式法則表示,如w是由組成,則可由條件概率相關(guān)公式表示為:
由于條件太長,使得概率的估計變得困難,常見的做法是認為每個詞的概率分布只依賴于前幾個出現(xiàn)的詞語,這樣的語言模型成為n-gram模型。在n-gram模型中,每個詞的概率分布只依賴于前面n-1個詞。例如在trigram(n取值為3)模型,可將上式化簡:
5.語音識別效果展示
基于PC的語音識別展示demo如下視頻所示:
此處插入視頻zal_asr_demo_video.mp4
視頻包括使用“小致同學”喚醒設備,設備喚醒之后有12秒時間進行語音識別控制,空閑時間超過了12秒將再次休眠。
我們的語音識別算法已經(jīng)部分移植到了基于AWorks的cortex-m7系列M1052-M16F12 8AWI -T平臺。語音識別的聲學模型和語言模型是我司訓練的用于測試智能家居控制的相關(guān)模型demo,在支持65個常用命令詞的離線識別測試中(數(shù)量越大識別所需時間越長),使用讀取本地音頻文件的方式進行語音識別“打開空調(diào)”所需時間0.46s左右。下面是在M1052-M16F128AWI- T的實測效果:
最后附上M1052-M16F128AWI-T產(chǎn)品圖片:
6.關(guān)于算法庫獲取
目前語音識別系統(tǒng)處于研發(fā)階段,廣大客戶可將自身需求反饋給廣州立功科技股份有限公司與立功科技·致遠電子相關(guān)市場人員,我們會以最快速度研發(fā)客戶需要的產(chǎn)品。
評論