在kaldi中,語音識別解碼用於構成靜態搜尋網路hclg所用的語言模型為n-gram模型,訓練n-gram模型三個步驟:
成功
在aishell工程中需要安裝的,可不裝
有提示
全部完成!耗時2天,實在沒解決「沒找到command「這個錯誤,最後在乙個大佬手把手幫助下完成,很感謝他!
接下來進行中文分詞
import jieba簡單的分詞結果fr = open(『data.txt』, 『r』)
sent = fr.read()
sent_list = jieba.cut(sent)
fw = open(『b.txt』, 『w』, encoding=『utf-8』)
fw.write(』 '.join(sent_list))
fr.close()
fw.close()
接下來使用srilm訓練語言模型:
詞頻統計
ngram-count -text ptb.train.txt -order 3 -write train.counttrain.count為輸出檔案
模型訓練
\data\表示個詞、2個詞、3個詞的組合次數,\1-grams:表示一元模型部分,
表示句子結尾,
表示句子開頭
測試(困惑度計算)
aishell資料集沒準備
用librispeech,使用local/lm/train_lms.sh,資料集開學準備
在tools下
輸出是困惑度,困惑度越小,出現概率越高
./rnnlm -rnnlm model -test /home/liuyuanyuan/kaldi/tools/rnnlm-hs-0.1b/******-examples/data/ptb.test.txt -nbest -debug 0 > scores.txt這些數值表示測試集中對應句子的概率的log值:
kaldi 聲學模型構建dict過程
kaldi聲學模型訓練,首先需要資料準備,在資料準備階段需要準備標註資料的發音,處理步驟如下 1.首先是把訓練資料和測試資料對應的標註 text 合成乙個檔案到text all,同時去掉其他非字母和數字的字串 cat traindatadir text testdatadir text perl p...
用 RNN 建立語言模型
今天來看迴圈神經網路的乙個重要的應用 語言模型。什麼是語言模型?語言模型的應用?為什麼用基於 rnn 的語言模型?rnn 是如何實現語言模型的?rnn 是如何實現 character level 語言模型的?character level 語言模型的具體應用 生成莎士比亞風格的文字 語言模型,它的任...
Kaldi學習手記(一) Kaldi的編譯安裝
安裝git 其中,tools src egs這三個目錄是比較重要的。tools目錄下面全部都是kaldi依賴的包。其中主要有 openfst weighted finite state transducer library,是乙個用來構造有限狀態自動機的庫。我們知道隱馬爾科夫模型就可以看成是乙個有限...