語音識別框架
一、語音識別框架
傳統理論重點研究聲學模型,發音字典不用關心,語言模型一般用n-gram
預處理:1. 首尾端的靜音切除,降低對後續步驟造成的干擾,靜音切除的操作一般稱為VAD。
2. 聲音分幀,也就是把聲音切開成一小段一小段,每小段稱為一幀,使用移動窗函式來實現,不是簡單的切開,各幀之間一般是有交疊的。
特徵提取:主要演算法有線性預測倒譜系數(LPCC)和Mel 倒譜系數(MFCC),目的是把每一幀波形變成一個包含聲音資訊的多維向量;
聲學模型(AM):通過對語音資料進行訓練獲得,輸入是特徵向量,輸出為音素資訊;
字典:字或者詞與音素的對應,
語言模型(LM):通過對大量文字資訊進行訓練,得到單個字或者詞相互關聯的概率;計算所有可能性的概率,求對應的最大概率值的索引。即輸出文字。
語音識別流程的舉例(只是形象表述,不是真實資料和過程):
1. 語音訊號:PCM檔案等(我是機器人)
2. 特徵提取:提取特徵向量[1 2 3 4 5 6 0 ...]
3. 聲學模型:[1 2 3 4 5 6 0]-> w o s i j i q i r n重點
4. 字典:窩:w o;我:w o; 是:s i; 機:j i; 器:q i; 人:r n;級:j i;忍:r n;
5. 語言模型:我:0.0786, 是: 0.0546,我是:0.0898,機器:0.0967,機器人:0.6785;
計算所有可能性的概率,求對應的最大概率值的索引。
6. 輸出文字:我是機器人
原文:https://blog.csdn.net/nsh119/article/details/79360778
二、聲學模型
聲學模型:某音素組合條件下對應聲學特徵的概率值。反過來也可以通過概率值求索引,即特徵到音素的對映。傳統的為HMM-GMM模型,發展為NN,深度NN模型。
下圖為聲學模型框架。
https://blog.csdn.net/abcjennifer/article/details/27346787
聲學模型的輸入是由特徵提取模組提取的特徵(MFCC等)。一般來說,這些特徵是多維的向量。由於語音訊號特徵的分佈並不能用簡單的概率分佈,故而常用混合高斯模型方法對語音訊號的分佈進行擬合。引數由E-M演算法求得。對聲音序列O,進行GMM擬合,每一個GMM為HMM的一個狀態,計算狀態的概率值,通過搜尋演算法求得最大概率值對應的索引即音素序列。
注:狀態的理解。狀態通過對聲音想、特徵序列O進行GMM擬合或者DNN等擬合求得。如果聲學模型輸出的是音素,狀態應該理解為比音素更小的級別,如3個狀態對應一個音素;
https://blog.csdn.net/T7SFOKzorD1JAYMSFk4/article/details/79069909。如果聲學模型輸出的是拼音如(zhong),狀態應該理解為音素zh和ong等,或者其他聲學單元。即狀態為構成輸出的更低一級別的單元。
中文音素。
發音單元可以看成單因素加聲調、考慮協同發音等等
語言模型:給定輸入序列,計算序列的概率。
對於一個服從某個未知概率分佈P的語言L,根據給定的語言文字樣本估計P的過程被稱作統計語言建模。
在語音識別中,如果識別結果有多個,則可以根據語言模型計算每個識別結果的可能性,然後挑選一個可能性較大的識別結果。
包含:統計語言模型和神經網路語言模型。統計語言模型將詞或者詞彙,看成一個個體。神經網路語言模型也可以實現傳統的語言模型。最重要的是詞向量的提出。
統計語言模型
2元模型:
用最大似然估計計算上述概率
問題:
加入開始和結束標誌。
資料匱乏(稀疏)(Sparse Data)引起零概率問題 ,如何解決? 資料平滑
分子加1,分母加詞彙量
不管訓練語料規模多大,對於二元語法和三元語法而言 ,Kneser-Ney平滑方法和修正的Kneser-Ney平滑方法 的效果都好於其它所有的平滑方法
基於快取的語言模型(cache-based LM)
基於混合方法的語言模型
基於最大熵的語言模型
決策樹語言模型等
係數由E-M演算法求得
評價指標:
具體應用,如語音識別的表現等,
困惑度:基於該語言模型,求得的測試集的概率值的越大越好。對應的困惑度越小越好。
仍然是現今語音識別系統第一遍解碼的首選模型 研究熱點:基於N元文法語言模型平滑演算法的研究
N元模型主要研究各種平滑演算法。
神經網路語言模型:
用NN實現統計語言模型。
訓練RNN網路計算每一個句子的概率
詞向量的提出
端對端的理解:
中英文的區別:
中英文的音素不同,發音字典不同。如英文的音素k在發音字典可以是c,k;中文的音素組成的拼音shi4可以為世,事,是等。還需要語音模型計算實際的輸出。
端對端不用考慮聲學模型、發音字典、語音模型等,直接完成聲音特徵序列到文字序列的轉換。