1、語音識別的基本架構
上式中W表示文字序列,Y表示語音輸入。公式1表示語音識別的目標是在給定的語音輸入下,找到可能性最大的文字序列。根據(jù)貝葉斯公式可以得到公式2,其中分母表示出現(xiàn)這條語音的概率,它相比于求解的文字序列沒有參數(shù)關系,可以在求解時忽略,進而得到公式
3。公式3中第一部分表示給定一個文字序列出現(xiàn)這條音頻的概率,它就是語音識別中的聲學模型;第二部分表示出現(xiàn)這個文字序列的概率,它就是語音識別中的語言模型。
無論是傳統(tǒng)的方法還是深度神經(jīng)網(wǎng)絡的方法,目前的語音識別架構都沒有脫離上面的公式,也就是說都離不開AM和LM。
語音識別主要包括特征工程、聲學模型和語言模型三個部分。
2、語音特征工程
2.1好的語音特征
1)包含區(qū)分音素的有效信息,良好的時域分辨率,良好的頻域分辨率
2)分離基頻F0以及它的諧波成分
3)對不同的說話人具有魯棒性
4)對噪音或通道失真具有魯棒性
5)有著良好的模式識別特性,低維特征,特征獨立。
2.2提取MFCC特征
1)A/D轉換(采樣)
通過采樣將模擬信號轉化為數(shù)字信號,便于數(shù)字化處理,采樣方法使用Nyquist采樣,采樣原理:一個信號不論多么復雜,總可以分解為若干個正(余)弦信號的和,對應了信號的最大頻率分量,利用其最大頻率的2倍(或高于)頻率進行采樣,將連續(xù)型的信號轉化為離散型的信號。預濾波,若采樣頻率確定,可用截止頻率(低于1/2采樣頻率)模擬低通濾波器進行濾波來防止頻域混疊失真。
2)預加重
增加語音信號相較于低頻分量的高頻分量幅度,語音能量主要集中在低頻,提高高頻,有助于提高信噪比,去除聲門激勵、口鼻輻射、傳播時高頻衰減更大的影響。公式如下:
3)分幀、加窗
信號處理算法通常假設信號是固定的,而語音信號不斷變化,分幀后每一幀假定為靜止的,xt[n]=w[n]x‘[td+n],0<=n<=l-1,l 是幀長,每次移動一個幀移。通常ASR中,幀長取25ms,幀移取10ms,幀移使得幀與幀之間過渡更加平穩(wěn),否則,幀與幀連接處的信號會因為加窗而被弱化,這部分信息就丟失了,加窗后對每一幀計算短時平均能量(一幀樣本點的加權平方和)
4)DFT+取平方
離散傅里葉變換,從加窗信號中提取頻譜信息,計算時用FFT,取平方是為了剔除相位信息。
5)梅爾濾波
對DFT功率譜應用一個梅爾級濾波器組,獲得梅爾級功率譜,每個濾波器從DFT多個頻帶中收集能量,DFT頻譜是等距頻段的,但人類聽覺在較高頻率下較不敏感。
對頻譜進行平滑化,并消除諧波的作用,突顯原先語音的共振峰。(因此一段語音的音調或音高,是不會呈現(xiàn)在 MFCC參數(shù)內(nèi),換句話說,以 MFCC為特征的語音辨識系統(tǒng),并不會受到輸入語音的音調不同而有所影響)此外,還可以降低運算量。
6)取對數(shù)
采用log壓縮動態(tài)范圍,人類對信號能量的感知是對數(shù)的。
7)IDFT
生成倒譜系數(shù),DFT估計的功率譜包含F(xiàn)0的諧波,使得頻譜包絡難以估計。
8)動態(tài)特征
描述倒譜系數(shù)隨著時間的變化,一共39維(標準),0-2階MFCCs(12維)差分,0-2階能量差分。
3、聲學模型
3.1聲學模型類型
3.2混合聲學模型架構
在英文中這個聲學符號可以是音節(jié)(syllable)或者更小的顆粒度音素(phoneme);在中文中這個聲學符號可以是聲韻母或者是顆粒度同英文一樣小的音素。那么公式3中的聲學模型就可以表示為下面的公式4的形式:
其中Q表示發(fā)音單位的序列。從公式中可以看到,聲學模型最終轉換成了一個語音到發(fā)音序列的模型和一個發(fā)音序列到輸出文字序列的字典。這里的發(fā)音序列通常是音素,到此為止聲學模型是從語音到音素狀態(tài)的一個描述。為了對不同上下文的音素加以區(qū)分,通常使用上下文相關的“三音子”作為建模單元??梢杂孟聢D表示:
其中字典部分表示為如下公式5,其意義是把每個文字拆分成若干發(fā)音符號的序列。
基于上面的推到,聲學模型是一個描述語音和狀態(tài)之間轉換的模型。
此時,引入HMM假設:狀態(tài)隱變量,語音是觀測值,狀態(tài)之間的跳轉符合馬爾科夫假設。那么聲學模型可以繼續(xù)表示為如下公式:
其中a表示轉移概率,b表示發(fā)射概率。用圖來表示的話就是下圖中的結構 :
3.3混合聲學模型GMM+HMM
聲學模型的主要功能是:對特征向量序列進行音素標記,利用詞典({詞:音素})生成字符串序列,簡而言之,實現(xiàn)特征到字符的生成。
實現(xiàn)的方法:1、采用參數(shù)估計的方法,對GMM和HMM的參數(shù)進行估計,GMM參數(shù)的估計采用EM算法,HMM參數(shù)估計采用Baum-Welch算法;2、給定相關特征向量,通過GMM輸出概率,作為發(fā)射概率,結合HMM和viterbi算法標記音素序列;3、根據(jù)詞典,生成字符串序列。
GMM模型的主要作用是生成發(fā)射概率P(X),其中X是特征向量,多元混合高斯分布的概率密度函數(shù)是:
混合權重的累加和等于一,即cm的和等于1,∑是D×D 維協(xié)方差矩陣,|∑|是∑的行列式,參數(shù)估計采用EM算法。
HMM模型是描述音素狀態(tài)轉換關系的,該模型包括五個參數(shù),初始概率,轉移概率,發(fā)射概率,觀測序列,隱含序列,在聲學模型中主要是通過HMM和viterbi標記處音素序列,HMM模型圖如下:
其中,隱含狀態(tài)為音素,通過初始概率,轉移概率,發(fā)射概率,觀測序列可以求出各個時刻各音素的概率,結合viterbi算法求出音素序列,HMM參數(shù)估計采用Baum-Welch算法,
4、語言模型
語言模型的目的是根據(jù)聲學模型輸出的結果,給出最大概率的文字序列
n-gram語言模型:
P(S)被稱為語言模型,基于馬爾科夫假設,下一個詞的出現(xiàn)僅僅依賴于它前面一個或幾個詞,假設僅僅依賴前面一個詞:
通常通過極大似然估計構造語言模型,公式如下:
對于音字轉換問題,輸入拼音nixianzaiganshenme,可能對應著很多轉換結果,對于這個例子,可能的轉換結果如下圖所示(只畫出部分的詞語節(jié)點),各節(jié)點之間構成了復雜的網(wǎng)絡結構,從開始到結束的任意一條路徑都是可能的轉換結果,從諸多轉換結果中選擇最合適的結果的過程就需要解碼算法。
常用的解碼算法是viterbi算法,它采用動態(tài)規(guī)劃的原理能夠很快地確定最合適的路徑。