語言是人與人之間最重要的交流方式、能與機器進行自然的人機交流,是人類一直期待的事情。隨著人工智能快速發(fā)展。語音識別技術作為人機交流接口的關鍵技術、發(fā)展迅速。在AI領域也是經(jīng)常被提及。作為人工智能領域的從業(yè)者認識語音識別也是必須的。接下來就讓我們科普科普。話不多說,直接上菜!
語音識別概述
語音識別技術就是讓機器通過識別和理解過程,把語音信號轉(zhuǎn)變?yōu)橄鄳奈谋净蛎畹募夹g。
語音識別涉及的領域包括:數(shù)字信號處理、聲學、語音學、計算機科學、心理學、人工智能等,是一門涵蓋多個學科領域的交叉科學技術。
語音識別的技術原理是模式識別,其一般過程可以總結為:
預處理---特征提取---基于語音模型庫下的模式匹配---基于語言模型庫下的語言處理---完成識別
預處理
聲音的實質(zhì)是波。語音識別所使用的音頻文件格式必須是未經(jīng)壓縮處理的文件,如人類正常的語音輸入等
語音輸入所面對的環(huán)境是復雜的主要存在以下問題
對自然語言的識別和理解。首先必須將連續(xù)的講話分解為詞、音素等單位,其次要建立一個理解語義的規(guī)則。
語音信息量大,語音模式不僅對不同的說話人不同,對同一說話人也是不同的,例如,一個說話人在隨意說話和認真說話時的語音信息是不同的。一個人的說話方式隨著時間變化。
語音的模糊性。說話者在講話時,不同的詞可能聽起來是相似的。這在英語和漢語中常見。
單個字母或詞、字的語音特性受上下文的影響,以致改變了重音、音調(diào)、音量和發(fā)音速度等。
環(huán)境噪聲和干擾對語音識別有嚴重影響,致使識別率低。
所以預處理環(huán)節(jié)需要做到兩個方面 靜音切除、噪音處理和語音增強
01靜音切除
又稱語音邊界檢測或者說是端點檢測是指在語音信號中將語音和非語音信號時段區(qū)分開來,準確地確定出語音信號的起始點然后從連續(xù)的語音流中檢測出有效的語音段。它包括兩個方面,檢測出有效語音的起始點即前端點,檢測出有效語音的結束點即后端點。經(jīng)過端點檢測后,后續(xù)處理就可以只對語音信號進行,這對提高模型的精確度和識別正確率有重要作用。
在語音應用中進行語音的端點檢測是很必要的,首先很簡單的一點,就是在存儲或傳輸語音的場景下,從連續(xù)的語音流中分離出有效語音,可以降低存儲或傳輸?shù)臄?shù)據(jù)量。其次是在有些應用場景中,使用端點檢測可以簡化人機交互,比如在錄音的場景中,語音后端點檢測可以省略結束錄音的操作。有些產(chǎn)品已經(jīng)使用循環(huán)神經(jīng)網(wǎng)絡( RNN)技術來進行語音的端點檢測。
02噪音處理
實際采集到的音頻通常會有一定強度的背景音,這些背景音一般是背景噪音,當背景噪音強度較大時,會對語音應用的效果產(chǎn)生明顯的影響,比如語音識別率降低,端點檢測靈敏度下降等,因此在語音的前端處理中,進行噪聲抑制是很有必要的。噪聲抑制的一般流程:穩(wěn)定背景噪音頻譜特征,在某一或幾個頻譜處幅度非常穩(wěn)定,假設開始一小段背景是背景噪音,從起始背景噪音開始進行分組、Fourier變換,對這些分組求平均得到噪聲的頻譜。降噪過程是將含噪語音反向補償之后得到降噪后的語音。
03語音增強
主要任務就是消除環(huán)境噪聲對語音的影響。目前,比較常見的語音增強方法分類很多。其中基于短時譜估計增強算法中的譜減法及其改進形式是最為常用的,這是因為它的運算量較小,容易實時實現(xiàn),而且增強效果也較好。此外,人們也在嘗試將人工智能、隱馬爾科夫模型、神經(jīng)網(wǎng)絡和粒子濾波器等理論用于語音增強,但目前尚未取得實質(zhì)性進展。
聲學特征提取
人通過聲道產(chǎn)生聲音,聲道的形狀決定了發(fā)出怎樣的聲音。聲道的形狀包括舌頭,牙齒等。如果我們可以準確的知道這個形狀,那么我們就可以對產(chǎn)生的音素進行準確的描述。聲道的形狀在語音短時可以由功率譜的包絡中顯示出來。因此,準確描述這一包絡的特征就是聲學特征識別步驟的主要功能。接收端接收到的語音信號經(jīng)過上文的預處理以后便得到有效的語音信號,對每一幀波形進行聲學特征提取便可以得到一個多維向量。這個向量便包含了一幀波形的內(nèi)容信息,為后續(xù)的進一步識別做準備
本文主要介紹使用最多的MFCC聲學特征。
01MFCC簡介
MFCC是Mel-Frequency Cepstral Coefficients的縮寫,顧名思義MFCC特征提取包含兩個關鍵步驟:轉(zhuǎn)化到梅爾頻率,然后進行倒譜分析
Mel頻率倒譜系數(shù)的縮寫。Mel頻率是基于人耳聽覺特性提出來的,它與Hz頻率成非線性對應關系。Mel頻率倒譜系數(shù)(MFCC)則是利用它們之間的這種關系,計算得到的Hz頻譜特征
02MFCC提取流程
MFCC參數(shù)的提取包括以下幾個步驟:
預濾波:CODEC前端帶寬為300-3400Hz的抗混疊濾波器。
A/D變換:8kHz的采樣頻率,12bit的線性量化精度。
預加重:通過一個一階有限激勵響應高通濾波器,使信號的頻譜變得平坦,不易受到有限字長效應的影響。
分幀:根據(jù)語音的短時平穩(wěn)特性,語音可以以幀為單位進行處理,實驗中選取的語音幀長為32ms,幀疊為16ms。
加窗:采用哈明窗對一幀語音加窗,以減小吉布斯效應的影響。
快速傅立葉變換(Fast Fourier Transformation, FFT):將時域信號變換成為信號的功率譜。
三角窗濾波:用一組Mel頻標上線性分布的三角窗濾波器(共24個三角窗濾波器),對信號的功率譜濾波,每一個三角窗濾波器覆蓋的范圍都近似于人耳的一個臨界帶寬,以此來模擬人耳的掩蔽效應。
求對數(shù):三角窗濾波器組的輸出求取對數(shù),可以得到近似于同態(tài)變換的結果。
離散余弦變換(Discrete Cosine Transformation, DCT):去除各維信號之間的相關性,將信號映射到低維空間。
譜加權:由于倒譜的低階參數(shù)易受說話人特性、信道特性等的影響,而高階參數(shù)的分辨能力比較低,所以需要進行譜加權,抑制其低階和高階參數(shù)。
倒譜均值減(Cepstrum Mean Subtraction, CMS):CMS可以有效地減小語音輸入信道對特征參數(shù)的影響。
差分參數(shù):大量實驗表明,在語音特征中加入表征語音動態(tài)特性的差分參數(shù),能夠提高系統(tǒng)的識別性能。在本系統(tǒng)中,我們也用到了MFCC參數(shù)的一階差分參數(shù)和二階差分參數(shù)。
短時能量:語音的短時能量也是重要的特征參數(shù),本系統(tǒng)中我們采用了語音的短時歸一化對數(shù)能量及其一階差分、二階差分參數(shù)。
MFCC提取一般流程
模式匹配 和語言處理
」
通過語音特征分析以后接下來就是模式匹配和語言處理
聲學模型是識別系統(tǒng)的底層模型,并且是語音識別系統(tǒng)中最關鍵的一部分。聲學模型的目的是提供一種有效的方法計算語音的特征矢量序列和每個發(fā)音模板之間的距離。聲學模型的設計和語言發(fā)音特點密切相關。聲學模型單元大?。ㄗ职l(fā)音模型、半音節(jié)模型或音素模型)對語音訓練數(shù)據(jù)量大小、系統(tǒng)識別率,以及靈活性有較大的影響。必須根據(jù)不同語言的特點、識別系統(tǒng)詞匯量的大小決定識別單元的大小。
語言模型對中、大詞匯量的語音識別系統(tǒng)特別重要。當分類發(fā)生錯誤時可以根據(jù)語言學模型、語法結構、語義學進行判斷糾正,特別是一些同音字則必須通過上下文結構才能確定詞義。語言學理論包括語義結構、語法規(guī)則、語言的數(shù)學描述模型等有關方面。目前比較成功的語言模型通常是采用統(tǒng)計語法的語言模型與基于規(guī)則語法結構命令語言模型。語法結構可以限定不同詞之間的相互連接關系,減少了識別系統(tǒng)的搜索空間,這有利于提高系統(tǒng)的識別。語音識別過程實際上是一種認識過程。就像人們聽語音時,并不把語音和語言的語法結構、語義結構分開來,因為當語音發(fā)音模糊時人們可以用這些知識來指導對語言的理解過程,但是對機器來說,識別系統(tǒng)也要利用這些方面的知識,只是如何有效地描述這些語法和語義還有困難:
小詞匯量語音識別系統(tǒng)。通常包括幾十個詞的語音識別系統(tǒng)。
中等詞匯量的語音識別系統(tǒng)。通常包括幾百個詞至上千個詞的識別系統(tǒng)。
大詞匯量語音識別系統(tǒng)。通常包括幾千至幾萬個詞的語音識別系統(tǒng)。這些不同的限
制也確定了語音識別系統(tǒng)的困難度。模式匹配部是語音識別系統(tǒng)的關鍵組成部分,它一般采用“基于模式匹配方式的語音識別技術”或者采用“基于統(tǒng)計模型方式的語音識別技術”。前者主要是指“動態(tài)時間規(guī)整(DTW法”,后者主要是指“隱馬爾可夫(HMM)法”。
隱馬爾可夫模型(HMM)是語音信號處理中的一種統(tǒng)計模型,是由Markov鏈演變來的,所以它是基于參數(shù)模型的統(tǒng)計識別方法。由于其模式庫是通過反復訓練形成的與訓練輸出信號吻合概率最大的最佳模型參數(shù)而不是預先儲存好的模式樣本,且其識別過程中運用待識別語音序列與HMM參數(shù)之間的似然概率達到最大值所對應的最佳狀態(tài)序列作為識別輸出,因此是較理想的語音識別模型。
動態(tài)時間歸整)算法:在孤立詞語音識別中,最為簡單有效的方法是采用DTW(Dynamic Time Warping,動態(tài)時間歸整)算法,該算法基于動態(tài)規(guī)劃(DP)的思想,解決了發(fā)音長短不一的模板匹配問題,是語音識別中出現(xiàn)較早、較為經(jīng)典的一種算法,用于孤立詞識別。HMM算法在訓練階段需要提供大量的語音數(shù)據(jù),通過反復計算才能得到模型參數(shù),而DTW算法的訓練中幾乎不需要額外的計算。所以在孤立詞語音識別中,DTW算法仍然得到廣泛的應用。
小結:語音識別在移動終端上的應用最為火熱,語音對話機器人、智能音箱、語音助手、互動工具等層出不窮,許多互聯(lián)網(wǎng)公司紛紛投入人力、物力和財力展開此方面的研究和應用。語音識別技術也將進入工業(yè)、家電、通信、汽車電子、醫(yī)療、家庭服務、消費電子產(chǎn)品等各個領域。尤其是在智能家居系統(tǒng)中語音識別將成為人工智能在家庭重要的入口,同時,未來隨著手持設備的小型化,智能穿戴化也將成為語音識別技術的重要應用領域。