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