Kaldi語音識(shí)別實(shí)戰(zhàn)
定 價(jià):89 元
- 作者:陳果果 等
- 出版時(shí)間:2020/3/1
- ISBN:9787121378744
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TN912.34
- 頁(yè)碼:336
- 紙張:
- 版次:01
- 開本:16開
Kaldi是目前語音識(shí)別領(lǐng)域,廣受歡迎并流行的開源工具包。Kaldi設(shè)計(jì)之初對(duì)通用性,可拓展性等一系列源代碼層次的考量,大大降低了Kaldi作為語音識(shí)別工具包的門檻, 同時(shí)擁有非常完整的語音識(shí)別系統(tǒng)訓(xùn)練腳本。本書通過對(duì)Kaldi已有訓(xùn)練腳本的梳理和引導(dǎo),幫助讀者快速搭建可用的語音識(shí)別系統(tǒng)。
陳果果清華大學(xué)本科學(xué)位,約翰霍普金斯大學(xué)博士學(xué)位,主要研究方向是語音識(shí)別及關(guān)鍵詞檢索,師從語音識(shí)別開源工具Kaldi主要開發(fā)者Daniel Povey,以及約翰霍普金斯大學(xué)語言語音處理中心教授Sanjeev Khudanpur。博士期間為Google開發(fā)了Google的喚醒詞Okay Google的原型,現(xiàn)在已經(jīng)用到數(shù)以億計(jì)的安卓設(shè)備及Google智能語音交互設(shè)備上。博士期間同時(shí)參與開發(fā)語音識(shí)別開源工具Kaldi,以及神經(jīng)網(wǎng)絡(luò)開源工具CNTK。博士畢業(yè)以后聯(lián)合創(chuàng)辦KITT.AI,專注于語音識(shí)別及自然語言處理,公司于2017年被百度收購(gòu),目前擔(dān)任百度智能生活事業(yè)群組(SLG)主任架構(gòu)師。都家宇本科畢業(yè)于大連理工大學(xué),后于澳大利亞新南威爾士大學(xué)電子信息工程學(xué)院學(xué)習(xí),取得信號(hào)處理專業(yè)碩士學(xué)位。研究生期間在導(dǎo)師 Julien Epps 指導(dǎo)下開始進(jìn)行語音處理、情緒識(shí)別方向的研究。畢業(yè)后先后任職于清華大學(xué)語音技術(shù)實(shí)驗(yàn)室、百度語音技術(shù)部,以及阿里巴巴iDST、達(dá)摩院語音組,從事聲學(xué)模型、解碼器、語音喚醒等方面的研發(fā)工作。參與過與 Kaldi 相關(guān)的工作有:Kaldi nnet1神經(jīng)網(wǎng)絡(luò)框架中 lstm 作者;發(fā)起并推動(dòng)全球最大規(guī)模的中文開源數(shù)據(jù)集語音項(xiàng)目AISHELL-1、AISHELL-2,已服務(wù)于清華大學(xué)、北京大學(xué)、南洋理工大學(xué)、哥倫比亞大學(xué)等近200所國(guó)內(nèi)外高校的科研項(xiàng)目。那興宇本科和博士均畢業(yè)于北京理工大學(xué),主要研究方向是語音識(shí)別和語音合成。先后任職于中國(guó)科學(xué)院聲學(xué)研究所和阿里巴巴機(jī)器人,從事語音識(shí)別模型訓(xùn)練系統(tǒng)和語音交互系統(tǒng)的開發(fā)。目前就職于微軟,擔(dān)任資深應(yīng)用科學(xué)家,從事語音識(shí)別算法和技術(shù)架構(gòu)的開發(fā)及業(yè)務(wù)支持工作。2015年開始在Kaldi開源項(xiàng)目中貢獻(xiàn)代碼,參與了nnet3和chain模型的開發(fā)工作,并維護(hù)其中若干示例及OpenSLR的中文語音識(shí)別模型。張俊博博士畢業(yè)于中國(guó)科學(xué)院聲學(xué)研究所,師從顏永紅研究員。在小米公司從零起主導(dǎo)構(gòu)建了整套語音算法研究框架,包括語音識(shí)別、智能設(shè)備語音喚醒、聲紋識(shí)別、語音增強(qiáng)、用于語音應(yīng)用的神經(jīng)網(wǎng)絡(luò)部署,均達(dá)到了當(dāng)時(shí)的先進(jìn)水平,并發(fā)表頂會(huì)論文若干篇,為后續(xù)的語音研發(fā)工作建立了基礎(chǔ)。近期上線了用于外語學(xué)習(xí)的發(fā)音質(zhì)量評(píng)測(cè)引擎,并給Kaldi貢獻(xiàn)了發(fā)音良好度評(píng)分的代碼。
1 語音識(shí)別技術(shù)基礎(chǔ)1
1.1 語音識(shí)別極簡(jiǎn)史1
1.1.1 語音識(shí)別早期探索2
1.1.2 概率模型一統(tǒng)江湖2
1.1.3 神經(jīng)網(wǎng)絡(luò)異軍突起3
1.1.4 商業(yè)應(yīng)用推波助瀾4
1.2 語音識(shí)別系統(tǒng)架構(gòu)6
1.2.1 經(jīng)典方法的直觀理解6
1.2.2 概率模型7
1.2.3 端到端語音識(shí)別10
1.3 一些其他細(xì)節(jié)11
1.3.1 語音信號(hào)處理11
1.3.2 發(fā)音和語言學(xué)12
1.3.3 語音識(shí)別系統(tǒng)的評(píng)價(jià)13
2 Kaldi概要介紹15
2.1 發(fā)展歷史15
2.1.1 名字的由來15
2.1.2 約翰霍普金斯大學(xué)夏季研討會(huì)16
2.1.3 Kaldi發(fā)展簡(jiǎn)史17
2.2 設(shè)計(jì)思想18
2.2.1 初衷18
2.2.2 開源19
2.2.3 訓(xùn)練腳本19
2.3 安裝20
2.3.1 下載Kaldi代碼20
2.3.2 安裝CUDA20
2.3.3 安裝編譯依賴庫(kù)21
2.3.4 安裝第三方工具21
2.3.5 選擇其他的矩陣庫(kù)23
2.3.6 編譯Kaldi代碼23
2.3.7 配置并行環(huán)境25
2.4 一個(gè)簡(jiǎn)單的示例26
2.4.1 運(yùn)行run.sh26
2.4.2 腳本解析28
2.5 示例介紹34
2.5.1 數(shù)據(jù)示例34
2.5.2 競(jìng)賽示例38
2.5.3 其他示例40
2.5.4 示例結(jié)構(gòu)41
3 數(shù)據(jù)整理44
3.1 數(shù)據(jù)分集44
3.1.1 Librispeech示例的數(shù)據(jù)處理過程45
3.1.2 數(shù)據(jù)下載和解壓46
3.2 數(shù)據(jù)預(yù)處理49
3.2.1 環(huán)境檢查51
3.2.2 生成表單文件52
3.2.3 數(shù)據(jù)檢查55
3.3 輸入和輸出機(jī)制56
3.3.1 列表表單57
3.3.2 存檔表單60
3.3.3 讀寫聲明符60
3.3.4 表單屬性64
3.4 常用數(shù)據(jù)表單與處理腳本69
3.4.1 列表類數(shù)據(jù)表單70
3.4.2 存檔類數(shù)據(jù)表單72
3.4.3 數(shù)據(jù)文件夾處理腳本77
3.4.4 表單索引的一致性78
3.5 語言模型相關(guān)文件79
3.5.1 發(fā)音詞典與音素集80
3.5.2 語言文件夾85
3.5.3 生成與使用語言文件夾92
4 經(jīng)典聲學(xué)建模技術(shù)94
4.1 特征提取95
4.1.1 用 Kaldi 提取聲學(xué)特征95
4.1.2 特征在 Kaldi 中的存儲(chǔ)99
4.1.3 特征的使用104
4.1.4 常用特征類型106
4.2 單音子模型的訓(xùn)練107
4.2.1 聲學(xué)模型的基本概念108
4.2.2 將聲學(xué)模型用于語音識(shí)別112
4.2.3 模型初始化113
4.2.4 對(duì)齊115
4.2.5 Transition 模型118
4.2.6 GMM 模型的迭代124
4.3 三音子模型訓(xùn)練128
4.3.1 單音子模型假設(shè)的問題128
4.3.2 上下文相關(guān)的聲學(xué)模型129
4.3.3 三音子的聚類裁剪130
4.3.4 Kaldi中的三音子模型訓(xùn)練流程130
4.4 特征變換技術(shù)139
4.4.1 無監(jiān)督特征變換139
4.4.2 有監(jiān)督特征變換141
4.5 區(qū)分性訓(xùn)練143
4.5.1 聲學(xué)模型訓(xùn)練流程的變遷143
4.5.2 區(qū)分性目標(biāo)函數(shù)144
4.5.3 分子、分母145
4.5.4 區(qū)分性訓(xùn)練在實(shí)踐中的應(yīng)用146
5 構(gòu)圖和解碼147
5.1 N元文法語言模型148
5.2 加權(quán)有限狀態(tài)轉(zhuǎn)錄機(jī)151
5.2.1 概述151
5.2.2 OpenFst153
5.3 用WFST表示語言模型156
5.4 狀態(tài)圖的構(gòu)建158
5.4.1 用 WFST 表示發(fā)音詞典158
5.4.2 WFST 的復(fù)合運(yùn)算163
5.4.3 詞圖的按發(fā)音展開165
5.4.4 LG 圖對(duì)上下文展開166
5.4.5 用 WFST 表示 HMM 拓?fù)浣Y(jié)構(gòu)169
5.5 圖的結(jié)構(gòu)優(yōu)化170
5.5.1 確定化170
5.5.2 最小化173
5.5.3 圖的stochastic性質(zhì)174
5.6 最終狀態(tài)圖的生成174
5.7 基于令牌傳遞的維特比搜索176
5.8 SimpleDecoder源碼分析178
5.9 Kaldi 解碼器家族187
5.10 帶詞網(wǎng)格生成的解碼189
5.11 用語言模型重打分提升識(shí)別率192
6 深度學(xué)習(xí)聲學(xué)建模技術(shù)195
6.1 基于神經(jīng)網(wǎng)絡(luò)的聲學(xué)模型195
6.1.1 神經(jīng)網(wǎng)絡(luò)基礎(chǔ)196
6.1.2 激活函數(shù)198
6.1.3 參數(shù)更新199
6.2 神經(jīng)網(wǎng)絡(luò)在Kaldi中的實(shí)現(xiàn)200
6.2.1 nnet1(nnet)200
6.2.2 nnet2203
6.2.3 nnet3208
6.3 神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練214
6.3.1 輸入特征的處理214
6.3.2 神經(jīng)網(wǎng)絡(luò)的初始化215
6.3.3 訓(xùn)練樣本的分批與隨機(jī)化217
6.3.4 學(xué)習(xí)率的調(diào)整222
6.3.5 并行訓(xùn)練224
6.3.6 數(shù)據(jù)擴(kuò)充227
6.4 神經(jīng)網(wǎng)絡(luò)的區(qū)分性訓(xùn)練228
6.4.1 區(qū)分性訓(xùn)練的基本思想228
6.4.2 區(qū)分性訓(xùn)練的目標(biāo)函數(shù)229
6.4.3 區(qū)分性訓(xùn)練的實(shí)用技巧231
6.4.4 Kaldi神經(jīng)網(wǎng)絡(luò)區(qū)分性訓(xùn)練示例232
6.4.5 chain模型234
6.5 與其他深度學(xué)習(xí)框架的結(jié)合242
6.5.1 聲學(xué)模型242
6.5.2 語言模型243
6.5.3 端到端語音識(shí)別243
7 關(guān)鍵詞搜索與語音喚醒245
7.1 關(guān)鍵詞搜索技術(shù)介紹245
7.1.1 關(guān)鍵詞搜索技術(shù)的主流方法245
7.1.2 關(guān)鍵詞搜索技術(shù)的主流應(yīng)用247
7.2 語音檢索247
7.2.1 方法描述248
7.2.2 一個(gè)簡(jiǎn)單的語音檢索系統(tǒng)248
7.2.3 集外詞處理之詞表擴(kuò)展254
7.2.4 集外詞處理之關(guān)鍵詞擴(kuò)展255
7.2.5 集外詞處理之音素/音節(jié)系統(tǒng)256
7.2.6 一個(gè)實(shí)用的語音檢索系統(tǒng)258
7.3 語音喚醒263
7.3.1 語音喚醒經(jīng)典框架264
7.3.2 語音喚醒進(jìn)階優(yōu)化266
7.3.3 語音喚醒的Kaldi實(shí)現(xiàn)思路267
8 說話人識(shí)別269
8.1 概述269
8.2 基于i-vector和PLDA的說話人識(shí)別技術(shù)271
8.2.1 整體流程271
8.2.2 i-vector 的提取272
8.2.3 基于余弦距離對(duì) i-vector 分類274
8.2.4 基于 PLDA 對(duì) i-vector 分類276
8.3 基于深度學(xué)習(xí)的說話人識(shí)別技術(shù)280
8.3.1 概述280
8.3.2 x-vector280
8.3.3 基于 x-vector 的說話人識(shí)別示例283
8.4 語種識(shí)別288
9 語音識(shí)別應(yīng)用實(shí)踐292
9.1 語音識(shí)別基本應(yīng)用292
9.1.1 離線語音識(shí)別與實(shí)時(shí)在線語音識(shí)別292
9.1.2 語音識(shí)別應(yīng)用模塊293
9.1.3 小結(jié)296
9.2 話音檢測(cè)模塊296
9.2.1 VAD算法296
9.2.2 離線VAD297
9.2.3 流式在線VAD298
9.3 模型的適應(yīng)299
9.3.1 聲學(xué)模型的適應(yīng)299
9.3.2 詞表的擴(kuò)展300
9.3.3 語言模型的適應(yīng)301
9.3.4 小結(jié)301
9.4 解碼器的選擇及擴(kuò)展302
9.4.1 Kaldi中的解碼器302
9.4.2 實(shí)際應(yīng)用中的常見問題及擴(kuò)展303
9.4.3 小結(jié)305
附錄A 術(shù)語列表306
附錄B 常見問題解答308
參考文獻(xiàn)313