一、语音识别方法(1)
一、語音識(shí)別方法(1)
1 語音識(shí)別原理
一段語音信號(hào),在處理為聲學(xué)特征向量后表示為:
X=[x1,x2,x3,...]X=[x_1, x_2, x_3,...] X=[x1?,x2?,x3?,...]
其中,xix_ixi? 表示一個(gè)音頻幀(Frame)的特征向量。而對(duì)應(yīng)的候選文本序列則表示為:
W=[w1,w2,w3,...]W=[w_1,w_2,w_3,...] W=[w1?,w2?,w3?,...]
其中 wiw_iwi? 表示一個(gè)詞向量。
語音識(shí)別的基本出發(fā)點(diǎn)在于,根據(jù)給定輸入聲學(xué)特征向量,求得最可能的文本序列,即概率 P(W∣X)P(W|X)P(W∣X) 最大時(shí)的文本序列 W?W^*W?,表示為:
W?=argmaxWP(W∣X)W^* = argmax_W \ P(W|X) W?=argmaxW??P(W∣X)
根據(jù)貝葉斯公式,傳統(tǒng)語音識(shí)別任務(wù)將后驗(yàn)概率1分解為先驗(yàn)概率2P(W)P(W)P(W)和似然概率3 P(X∣W)P(X|W)P(X∣W) ,即:
P(W∣X)=P(X∣W)P(W)P(X)∝P(X∣W)P(W)\begin{aligned} P(W|X) = \frac {P(X|W)P(W)}{P(X)} \\ \propto P(X|W)P(W) \end{aligned} P(W∣X)=P(X)P(X∣W)P(W)?∝P(X∣W)P(W)?
其中 P(X∣W)P(X|W)P(X∣W) 為聲學(xué)模型,即給定文本序列 WWW 時(shí)產(chǎn)生的聲學(xué)特征向量為 XXX 的概率;P(W)P(W)P(W) 為語言模型,負(fù)責(zé)計(jì)算文本序列在語料庫中出現(xiàn)的概率。
P(X)P(X)P(X) 為待解碼語音的概率,在實(shí)際應(yīng)用中,對(duì)于不同候選文本其待解碼語音的概率認(rèn)為是一個(gè)不變的固定值,不含任何與語言相關(guān)的信息,因此可忽略不計(jì)。
早期語音識(shí)別工作大多將聲學(xué)模型P(X∣W)P(X|W)P(X∣W) 與 語言模型 P(W)P(W)P(W) 分開看待,通過不斷改進(jìn)聲學(xué)模型來求取最優(yōu)的文本序列 W?W^*W? 。
P(W∣X)↑∝P(X∣W)↑P(W)P(W|X) \uparrow \ \ \propto \ P(X|W) \uparrow P(W) P(W∣X)↑??∝?P(X∣W)↑P(W)
在深度學(xué)習(xí)技術(shù)出現(xiàn)后,基于深度學(xué)習(xí)和大數(shù)據(jù)的端到端模型,可以直接計(jì)算后驗(yàn)概率P(W∣X)P(W|X)P(W∣X),實(shí)現(xiàn)聲學(xué)模型和語言模型的融合。
2 總體思路與實(shí)現(xiàn)方法
明確了語音識(shí)別任務(wù)原理后,實(shí)現(xiàn)該任務(wù)的關(guān)鍵在于實(shí)現(xiàn)輸入語音與候選文本序列的對(duì)齊。但由于存在外界因素的干擾,語音與文本序列之間存在多對(duì)一而非一對(duì)一的映射關(guān)系,因此在早期研究中,直接構(gòu)建一個(gè)通用函數(shù),將多個(gè)同內(nèi)容語音直接映射到同一個(gè)文本序列上是不現(xiàn)實(shí)的。
針對(duì)這一問題,后續(xù)研究人員的思路是分別找到語音和文本序列的基本組成單位,就像物質(zhì)中的原子一般,二者的基本單位是精確、規(guī)整且可控的,基于這種基本單位的映射也會(huì)更簡單、清晰些。
語音中選取的基本單位為幀(Frame),一幀就是一個(gè)語音向量,由聲學(xué)特征提取模塊產(chǎn)生,涉及離散傅里葉變換、梅爾濾波器組等技術(shù)。為了適應(yīng)不同的文本單位,幀的跨度是可調(diào)的,但維度固定不變。
注:語音分幀的意義
在語音信號(hào)處理中,為了弄清語音中各頻率成分的分布,常采用 傅里葉變換 進(jìn)行處理。但傅里葉變換要求輸入信號(hào)是一個(gè)平穩(wěn)信號(hào),而語音信號(hào)在宏觀上是振蕩的。但從微觀來看,由于人口腔和喉部等發(fā)聲器官在發(fā)聲時(shí)運(yùn)動(dòng)速度沒那么快,因此可以在一個(gè)較短時(shí)間內(nèi)將其看作是平穩(wěn)信號(hào),從而截取出來進(jìn)行傅里葉變換。而截取出的這一小段,就是一「幀」
宏觀來看,口型變化是導(dǎo)致信號(hào)不穩(wěn)定的重要因素,因此一幀期間口型不能有明顯變化,即一幀長度應(yīng)小于一個(gè)音素的長度,而音素持續(xù)時(shí)間為50~200ms50 \sim 200ms50~200ms ,故幀長一般小于 50ms50ms50ms。但從微觀來看,一個(gè)幀又需要包含足夠的振動(dòng)周期,因?yàn)橹挥兄貜?fù)多次才能供傅里葉變換分析頻率。對(duì)于語音來說,男聲的基頻在100hz100hz100hz 左右,女聲在200hz200hz200hz 左右,換算成周期就是 10ms10ms10ms 和 5ms5ms5ms ,為了包含多個(gè)周期,因此一般取至少20ms20ms20ms。
綜上,幀長一般取值為20~50ms20 \sim 50ms20~50ms,常用值為20、25、30、40、50等。
在實(shí)現(xiàn)了語音與文本序列的對(duì)齊后,常見的語音識(shí)別基本途徑有如下幾種,分別是基于注意力機(jī)制、CTC以及DNN-HMM方法:
- 整段語音到整句文本序列的映射,通過基于注意力機(jī)制的端到端深度學(xué)習(xí)模型實(shí)現(xiàn)。
- 每個(gè)詞或每個(gè)音素的發(fā)音范圍到對(duì)應(yīng)詞和音標(biāo)的映射,通過基于CTC損失函數(shù)的端到端結(jié)構(gòu)實(shí)現(xiàn)。
- 三音素和隱馬爾可夫模型狀態(tài),通過考慮上下文范圍,將語音建模尺度由單個(gè)音素長度拓展為三音素發(fā)音范圍,長度則保持與單音素相同。隨后對(duì)每個(gè)三音素都采用一個(gè)三狀態(tài)隱馬爾可夫模型表示,以每個(gè)狀態(tài)為建模粒度,使得對(duì)應(yīng)的語音建模尺度進(jìn)一步縮短。通過DNN-HMM(深度神經(jīng)網(wǎng)絡(luò)-隱馬爾可夫)模型結(jié)構(gòu)實(shí)現(xiàn)。
3 聲學(xué)模型、解碼器、語言模型的作用與關(guān)系
在實(shí)際語音識(shí)別系統(tǒng)中,聲學(xué)模型、解碼器以及語言模型等各模塊間的關(guān)系如圖所示:
- 語音輸入后,特征提取階段對(duì)語音信號(hào)進(jìn)行分幀、加窗等預(yù)處理,將其分為小段清晰片段,通過傅里葉變換提取特征,存為特征向量
- 特征向量通過隱馬爾可夫模型、混合高斯模型等轉(zhuǎn)化為發(fā)音最小單元,如音素特征。隨后借助發(fā)音詞典將特征映射為對(duì)應(yīng)單詞,將最終識(shí)別成果存在一張圖中(詞圖)。同時(shí)引入n元語法模型作為先驗(yàn),并將單詞以及聲學(xué)和語言模型的分?jǐn)?shù)保存在圖的路徑上。
- 從詞圖上生成識(shí)別結(jié)果的過程就叫搜索與解碼(decoding),即從在圖上通過搜索算法找出最短的 n 條路徑。保留最好的n個(gè)假設(shè)生成結(jié)果,通過第二個(gè)語言模型進(jìn)行重打分,選取得分最高的作為最終結(jié)果。
(decoding),即從在圖上通過搜索算法找出最短的 n 條路徑。保留最好的n個(gè)假設(shè)生成結(jié)果,通過第二個(gè)語言模型進(jìn)行重打分,選取得分最高的作為最終結(jié)果。
后驗(yàn)概率:考慮相關(guān)數(shù)據(jù)XXX后所獲得的條件概率,即一個(gè)未知隨機(jī)變量θ\thetaθ基于試驗(yàn)和調(diào)查后得到的概率分布P(θ∣X)P(\theta|X)P(θ∣X) ??
先驗(yàn)概率:不依賴觀測數(shù)據(jù)的概率分布,即與其他因素獨(dú)立的分布P(θ)P(\theta)P(θ) ??
似然概率:關(guān)于統(tǒng)計(jì)模型參數(shù)的函數(shù),對(duì)于一組數(shù)據(jù),需要構(gòu)建一組參數(shù)對(duì)這些數(shù)據(jù)進(jìn)行建模,在多組參數(shù)中選出令模型盡可能擬合這組數(shù)據(jù)的過程就是求最大似然概率 argmaxP(X∣θ)argmax \ P(X|\theta)argmax?P(X∣θ) 的過程。 ??
總結(jié)
以上是生活随笔為你收集整理的一、语音识别方法(1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国主要王朝疆域面积(转自铁血)
- 下一篇: MATLAB | πDay快乐,pi居然