第5章
基于Kaldi的俄语语音识别原型系统
接正文本章主要根据前文的研究成果,基于Kaldi平台设计并实现一个俄语连续语音识别原型系统,属于理论方法探讨向工程应用的转化研究,涉及各类知识的综合运用,是本书的实践成果展示部分。主要内容为首先阐述系统设计的目标与原则,其次介绍设计与实现连续语音识别系统、优化声学模型和语言模型建模的方法及过程,最后对实验的结果进行详细分析,验证系统的有效性。
5.1系统设计的目标与原则〖*4/5〗5.1.1系统设计的目标基于标注新闻语料的连续俄语语音识别原型系统设计建立在前文研究的基础之上,旨在对前述算法及模型优化方法进行编码与实现,主要目标包括:
① 实现俄语语言模型的建模及优化,将Katz、KN等算法体现在训练过程中,用来测试语言模型的有效性,并检验算法的可靠性;
② 基于Kaldi进行二次开发,设计可复用的代码模块,为其他语种的语音识别研究提供示范应用和程序保障;
③ 设计一个开放平台,为成果转化提供一种可操作的技术方案。
5.1.2系统设计的原则
本书设计的基于Kaldi的俄语连续语音识别原型系统主要遵循如下原则。
① 代码复用性。系统的主界面的核心代码可以复用,以减少系统的工作量,只需要更改部分参数设置即可应用于不同语种的识别应用。
② 界面易用性。人机交互界面往往决定了系统的易懂度和易用度,对用户来说,主界面的易用性体现在用户的首次使用感受,界面能够反映系统的主体功能,能够使用户在最短时间内掌握其使用方法。
③ 平台兼容性。当前绝大多数用户对Windows系统界面比较容易接受,而对Linux系统界面的掌握尚有一定难度,因此在系统开发的过程中应考虑平台的兼容性,以达到用户最容易接受的程度。
以上原则的主要目的是降低系统开发的成本及难度,增强用户的使用体验。
〖4〗新一代人工智能与语音识别〖2〗第5章基于Kaldi的俄语语音识别原型系统〖4〗5.2系统的开发环境与整体架构〖*4/5〗5.2.1系统的开发环境基于Kaldi平台的二次开发;
服务器端ASR运行环境: Ubuntu 14.0;
客户端的操作系统: Windows 7;
软件开发环境: Microsoft Visual Studio 2010;
开发语言: C#、.NET Framework 4.0。
5.2.2系统的整体架构
基于Kaldi的俄语语音识别原型系统的整体架构如图51所示。
图51俄语语音识别原型系统Gstreamer用于搭建ASR服务器,供用户远程访问、传入语音文件、返回该语音文件的识别结果,Gstreamer ASR的架构如图52所示。
图52Gstreamer ASR的架构
5.3Kaldi环境的搭建〖*4/5〗5.3.1Kaldi及实验环境〖*2〗1. Kaldi简介2009年,在约翰霍普金斯大学的夏季研讨会上,Daniel Povey提出了一种新的子空间高斯混合模型(Subspace Gaussian Mixture Model,SGMM),同时发布了Kaldi语音识别系统。Kaldi是一个开源的语音识别系统,主要通过C++实现,通过Github发布更新,可以在通用的类UNIX环境和Windows环境下编译。
Kaldi语音识别系统主要基于带权有限状态转换器对模型进行训练和识别,同时使用OpenFst库实现语音识别功能。此外,声学模型训练有着大量的矩阵运算,Kaldi 封装了部分CLAPACK、ATLAS和TNT 库以满足上述需求。Kaldi的特征主要有: 与文本无关的LVCSR系统;基于FST的训练和解码;最大似然训练;有VTLN、SAT的脚本;Kaldi支持标准的机器学习训练模型和线性变换,如LDA HLDA,MLLT/STC;说话人自适应,如fMLLR、MLLR。声学模型方面支持GMM、SGMMs、DNN。其中,Kaldi的最大优点在于提供了多套DNN训练方法,以方便用户训练自己的DNN声学模型。
① 由Karel Vesely提供的训练方法,称为nnet1,该方法仅支持一个GPU或CPU进行训练,训练速度较慢。
② 由Daniel Povey提供的训练方法,称为nnet2,该方法同时支持多个GPU或者多个CPU,使用更加灵活,训练速度也有较大幅度的提高。识别率与nnet1相比有轻微的下降,但与其出色的训练效率相比,结果是可以接受的。该方法也是目前Kaldi最受欢迎的DNN训练方法。
③ 由Daniel Povey维护,持续更新中,称为nnet3,同样支持多个GPU或多个CPU,可训练LSTM声学模型,但还没有提供在线解码程序。
2. 实验环境
本实验环境的拓扑结构如图53所示。
图53实验室拓扑结构
其中,1号服务器硬件配置: 曙光云图W760G20高性能服务器,16核i7至强CPU,128GB内存,4块600GB硬盘,2块K40m 12GB的GPU,主要用来训练俄语声学模型。
2号服务器硬件配置: 曙光I620G20服务器,16核i7至强CPU,64GB内存,4块600GB硬盘,主要用来进行俄语语言模型的训练。
3号服务器硬件配置: 曙光I620G20服务器, 16核i7至强CPU,64GB内存,4块600GB硬盘,主要用来提供ASR引擎,实现俄语在线和离线语音识别。
客户端通过GUI远程登录服务器实现语音识别等功能。