猜你喜欢
语音识别:原理与应用

语音识别:原理与应用

书籍作者:洪青阳 ISBN:9787121385025
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5594
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书系统地介绍了语音识别的原理和应用,全书共分 15 章,原理部分涵盖声学特征、隐马尔可夫模型(HMM)、高斯混合模型(GMM)、深度神经网络(DNN)、语言模型和加权有限状态转换器(WFST),重点描述了 GMM-HMM、DNN-HMM 和端到端(E2E)三种语音识别框架。本书应用部分包含 Kaldi、Espnet、工业应用实践介绍,内容主要来自工程经验,极具实用性。

本书可以作为普通高等学校人工智能、计算机科学与技术、电子信息工程、自动化等专业的本科生及研究生教材,也适合作为从事智能语音系统的科研和工程技术人员的参考用书。

作者简介

洪青阳,厦门大学副教授,天聪智能创始人,主要研究方向是语音识别、声纹识别,先后主持国家自然基金两项,科技部创新基金两项。牵头组建厦门大学智能语音实验室,带领xmuspeech团队连续两届获东方语种识别(OLR)竞赛第一名,成功研发国内第一套闽南语合成系统。具有丰富的工业界研发经验,与华为、云从、掌数科技等知名企业合作,承担过大量的智能语音项目,核心技术应用到华为智能手机和全国十五个省市的司法/社保/证券/电力系统。长期从事本科生、研究生的语音识别教学工作,从动态时间规整(DTW)、隐马尔可夫模型(HMM)到E2E语音识别框架,与时俱进更新教学内容,积累了丰富的教学经验。


编辑推荐

√全彩印刷,图文并茂

√解析GMM-HMM、DNN-HMM和E2E框架,WFST和LF-MMI等关键技术全貌

√系统梳理经典算法、前沿技术

√工程实践Kaldi和Espnet

前言

语音识别技术的发展日新月异,新的理论和方案不断出现,读者除了掌握基本原理,也亟须了解语音识别最新的前沿技术,例如加权有限状态转换器(WFST)、端到端(E2E)语音识别等。

作者承担过大量的语音识别项目研究和开发工作,有丰富的工业应用经验。另外,作者从事本科生、研究生的语音识别教学十多年,从最早的动态时间规整(DTW)、隐马尔可夫模型(HMM)到最新的E2E语音识别框架,积累了丰富的教学经验,深感理论知识讲解的困难,特别是语音识别原理比较复杂,从声学特征提取到HMM建模和解码过程,涉及信号处理、概率模型和神经网络等多个领域知识,要做到浅显易懂尤为不易,因此作者很希望能编写一本符合学生掌握能力和教学进度的教材,弥补高校人工智能等专业语音教材的匮乏,同时也为产业界工程师的语音识别入门提供经验参考。

本书围绕语音识别的原理和应用讲解,理论结合实际,采用大量插图,辅以实例,力求深入浅出,让读者能较快地理解语音识别的基础理论和关键技术。为帮助读者动手操作,提高实战技能,本书最后还结合Kaldi和Espnet等开源工具,介绍了具体的工程实践方法。本书包含以下章节:

第1章 语音识别概论,介绍人类语音的产生和感知过程、语音识别的关键技术、发展历史等。

第2章 语音信号基础,介绍声音的采集和量化过程,以及编码和存储格式。

第3章 语音特征提取,介绍语音信号的频域分析、倒谱分析、声学特征提取过程等。

第4章 HMM,介绍双重随机过程,以及HMM的三大问题。

第5章 GMM-HMM,介绍高斯混合模型的定义和重估计公式,并结合例子讲解GMM如何与HMM结合,以及对应的具体参数形式。

第6章 基于HMM的语音识别,介绍单音子声学模型和Viterbi解码过程。

第7章 音素的上下文建模,介绍双音子和三音子模型,并基于问题集和决策树讲述三音子的训练过程。

第8章 语言模型,介绍语言模型训练过程及在语音识别中的作用。

第9章 WFST 解码器,介绍动态和静态解码网络,以及WFST、HCLG等关键技术。

第10章 DNN-HMM,介绍深度学习在语音识别中的应用,包括CNN、LSTM、TDNN等网络。

第11章 序列区分性训练,介绍 MMI/BMMI、MPE/sMBR等准则,以及Lattice-free MMI训练方法。

第12章 端到端语音识别,介绍CTC、RNN-T、Attention和Transformer等端到端语音识别系统。

第13章 Kaldi实践,首先介绍Kaldi的下载安装步骤,然后以aishell-1中文数据库为例,介绍如何训练和测试模型。

第14章 Espnet实践,介绍使用Espnet进行目前主流的端到端语音识别模型的训练和解码过程。

第15章 工业应用实践,介绍如何封装语音识别动态库,如何调用和调优。

本书由洪青阳完成主要章节的编写,李琳负责第3章的编写,洪青阳和李琳对全书进行了审校。特别感谢赵淼、李松、张宁、夏仕鹏、刘凯对本书的贡献,赵淼和李松分别对Kaldi和Espnet的实践过程做了深入细致的整理,他们的协助使得本书顺利完成。

感谢厦门大学智能语音实验室的童峰老师、许彬彬老师和同学们,为本书的创作提供了良好的学术氛围和精益求精的驱动力。

感谢语音学术和产业界的赵庆卫、王东、余洪涌、李明、张超、谢磊、张卫强、张鹏远等专家和学者,他们的指导和启发令本书增色不少。

感谢电子工业出版社的郑柳洁等老师的大力支持,她们认真细致的工作保证了本书的质量。

为读者写一本精品书是作者的初衷,但由于作者水平有限,书中难免有疏漏和不足之处,恳请读者批评指正!

目录

第1章 语音识别概论 1

1.1 语音的产生和感知 1

1.2 语音识别过程 4

1.3 语音识别发展历史 8

1.4 国内语音识别现状 15

1.5 语音识别建模方法 19

1.5.1 DTW 19

1.5.2 GMM-HMM 20

1.5.3 DNN-HMM 20

1.5.4 端到端 22

1.6 语音识别开源工具 22

1.7 语音识别常用数据库 22

1.8 语音识别评价指标 24

第2章 语音信号基础 28

2.1 声波的特性 28

2.2 声音的接收装置 29

2.2.1 麦克风阵列 31

2.3 声音的采样 32

2.4 声音的量化 33

2.5 语音的编码 35

2.6 WAV文件格式 38

2.7 WAV文件分析 39

第3章 语音特征提取 44

3.1 预处理 44

3.2 短时傅立叶变换 48

3.3 听觉特性 51

3.4 线性预测 54

3.5 倒谱分析 55

3.6 常用的声学特征 56

3.6.1 语谱图 57

3.6.2 FBank 58

3.6.3 MFCC 59

3.6.4 PLP 61

3.6.5 CQCC 62

第4章 HMM 67

4.1 HMM的基本概念 69

4.1.1 马尔可夫链 70

4.1.2 双重随机过程 71

4.1.3 HMM的定义 72

4.2 HMM的三个基本问题 73

4.2.1 模型评估问题 74

4.2.2 最佳路径问题 77

4.2.3 模型训练问题 79

第5章 GMM-HMM 83

5.1 概率统计 84

5.2 高斯分布 85

5.3 GMM 88

5.3.1 初始化 89

5.3.2 重估计 90

5.4 GMM-HMM 91

5.5 GMM-HMM的训练 97

5.6 模型自适应 99

5.6.1 MAP 99

5.6.2 MLLR 100

5.6.3 fMLLR 100

5.6.4 SAT 101

课程实践:基于HTK搭建GMM-HMM系统 103

第6章 基于HMM的语音识别 104

6.1 建模单元 104

6.2 发音过程与HMM状态 107

6.3 串接HMM 108

6.4 固定语法的识别 112

6.5 随机语法的识别 117

第7章 音素的上下文建模 125

7.1 协同发音 125

7.2 上下文建模 126

7.3 决策树 128

7.4 问题集 129

7.4.1 手工设计 129

7.4.2 自动生成 131

7.5 三音子模型的训练 134

第8章 语言模型 136

8.1 n-gram模型 138

8.2 评价指标——困惑度 142

8.3 平滑技术 143

8.3.1 Good-Turing折扣法 143

8.3.2 Jelinek-Mercer插值法 144

8.3.3 Kneser-Ney插值法 144

8.3.4 Katz回退法 146

8.4 语言模型的训练 148

8.5 递归神经网络语言模型 151

第9章 WFST解码器 158

9.1 基于动态网络的Viterbi解码 159

9.2 WFST理论 163

9.3 HCLG构建 168

9.3.1 H的构建 169

9.3.2 C的构建 171

9.3.3 L的构建 172

9.3.4 G的构建 173

9.3.5 HCLG合并 175

9.4 WFST的Viterbi解码 177

9.4.1 Token的定义 177

9.4.2 Viterbi算法 178

9.5 Lattice解码 185

9.5.1 主要数据结构 185

9.5.2 令牌传播过程 186

9.5.3 剪枝策略 189

9.5.4 Lattice 190

第10章 DNN-HMM 194

10.1 深度学习 194

10.2 DNN 195

10.2.1 激活函数 196

10.2.2 损失函数 198

10.2.3 梯度下降算法 199

10.3 DNN与HMM的结合 201

10.4 不同的DNN结构 205

10.4.1 CNN 205

10.4.2 LSTM 210

10.4.3 GRU 210

10.4.4 TDNN 211

10.4.5 TDNN-F 214

第11章 序列区分性训练 220

11.1 区分性准则 221

11.1.1 MMI 221

11.1.2 BMMI 222

11.1.3 MPE/sMBR 222

11.2 MMI求导过程 223

11.3 Lattice-based MMI 225

11.4 Lattice-free MMI 227

11.5 Kaldi Chain模型 230

第12章 端到端语音识别 233

12.1 CTC 234

12.1.1 损失函数 235

12.1.2 前向算法 239

12.1.3 后向算法 242

12.1.4 求导过程 243

12.1.5 CTC解码 245

12.2 RNN-T 248

12.3 Attention模型 251

12.4 Hybrid CTC/Attention 254

12.5 Transformer 256

第13章 Kaldi实践 262

13.1 下载与安装Kaldi 263

13.1.1 获取源代码 263

13.1.2 编译 264

13.2 创建与配置基本的工程目录 265

13.3 aishell语音识别工程 266

13.3.1 数据映射目录准备 267

13.3.2 词典准备和lang目录生成 269

13.3.3 语言模型训练 271

13.3.4 声学特征提取与倒谱均值归一化 273

13.3.5 声学模型训练与强制对齐 274

13.3.6 解码测试与指标计算 277

第14章 Espnet实践 280

14.1 数据准备 280

14.1.1 映射文件准备 280

14.1.2 特征提取 281

14.1.3 数据增强 282

14.1.4 词典生成 282

14.1.5 数据打包 283

14.2 Espnet配置文件 284

14.3 语言模型训练 285

14.4 声学模型训练 287

14.4.1 声学模型训练脚本 287

14.4.2 CTC声学模型训练 288

14.4.3 Attention声学模型训练 289

14.4.4 RNN-T模型训练 290

14.4.5 Transformer模型训练 292

14.5 语音识别解码 293

14.6 Espnet训练解码可视化 294

14.6.1 Espnet训练参数可视化 294

14.6.2 Espnet中的Attention可视化 295

14.6.3 Espnet解码结果可视化 296

第15章 工业应用实践 298

15.1 动态库封装 298

15.1.1 函数接口 298

15.1.2 动态库编译 306

15.1.3 动态库调用 309

15.2 语音云平台 310

15.3 识别引擎优化 315

15.3.1 加快响应速度 315

15.3.2 定制语言模型 316

15.3.3 定制声学模型 316

15.4 嵌入式移植 318

短评

质量还可以

2020-07-03 17:20:41

产品特色