原创 語音識別基礎一:HMM-GMM模型

雖然現在端到端語音識別模型可以直接對後驗概率建模,可以不需要HMM結構了。但實際上目前很多state-of-the-art模型還是以HMM結構爲主,比如chain model。而且掌握HMM-GMM結構,對於深入理解語音識別過程是由有

原创 語音識別中聲學建模的各種lstm變種

由於LSTM在序列化建模中的,在聲學建模中經常使用LSTM模型。在語音識別中,通常爲了獲得更低的wer,我們通常使用多層的lstm結構。”多層“就會帶來如下顯而易見的問題: 模型參數變多,訓練慢 梯度信息迴流受阻,導致梯度消失 爲

原创 chain model(LFMMI)詳解

chain model的結構 chain model實際上是借鑑了CTC的思想,引入了blank用來吸收不確定的邊界。但CTC只有一個blank,而chain model中每一個建模單元都有自己的blank。如下圖所示: 對應kal

原创 kaldi中基於決策樹的狀態綁定

爲什麼要做狀態綁定 假如我們有218monophone,然後現在要考慮上下文音素對發音的影響,這時候我們通常使用triphone。那麼會有幾個triphone呢?答案是218的3次方。如果不進行聚類,我們需要建立(218的3次方)*3

原创 語音識別端到端解碼資料彙總

端到端模型相比於傳統的hmm-gmm模型,有如下幾個優點: 不需要發音詞典。因爲模型直接輸出character或word;在中英混輸場景下,中文的發音體系和英文的發音體系不一樣(中文有第一聲,第二聲等),如果使用傳統的hmm-gmm

原创 jieba分詞

語音識別中有一項任務就是訓練語言模型,而對於中文的語言模型,需要事先進行分詞。而語音識別中的語言模型還有個特殊的要求,就是語言模型中的所有詞都必須在發音詞典中(也就是說每個詞都要有對應的發音)。因此這就限制了我們不能使用Stanfor

原创 EM算法的原理

在基於HMM-GMM的聲學模型訓練中,我們經常要使用EM算法進行參數估計;下面我們就介紹下EM算法的原理:

原创 語音識別CTC模型的output delay問題及其解決辦法

本篇博客主要是參考谷歌2015年的一篇文章《ACOUSTIC MODELLING WITH CD-CTC-SMBR LSTM RNNS》。 什麼叫output delay(輸出延遲) 爲什麼會產生輸出延遲呢?論文原話是: With

原创 論文解讀:IMPROVING LATENCY-CONTROLLED BLSTM ACOUSTIC MODELS FOR ONLINE SPEECH RECOGNITION(LC聲學模型)

這篇文章是阿里語音團隊與2017年發表到ICASSP上的工作。 LSTM和BLSTM在聲學建模中的應用 因爲LSTM能對序列性問題進行較好的建模,而語音信號正是序列;所以語音識別的聲學建模越來越多采用LSTM結構;其中比較有名的是谷歌

原创 語音識別中字錯誤率加字正確率大於100%的原因

當我們在測試語音模型的效果的時候,常通過字錯誤率(WER)來判斷;比如下圖(用sclite工具計算的識別結果) 從圖中我們可以看出:字正確率(96.8%) + 字錯誤率(3.5%) = 100.3% > 100% 這是爲什麼呢?爲了說

原创 語音識別端到端解碼prefix beam search

要講prefix beam search之前,我們先講下beam search,以及爲什麼它不適合於語音識別的端到端解碼,從而我們引出prefix beam search。 待續。

原创 詳細介紹基於N-gram語言模型的原理--以kenlm爲例

常用的N-gram訓練工具有SRILM、IRSTLM、BerkeleyLM和KenLM等。這幾種工具所 用的算法思想基本一致,只是在實現細節上有所不同,所以我們只需理解其中一個訓 練工具即可。本文以KenLM(號稱速度最快,佔用內存最少)