基于HMM的连续语音识别系统的构建与研究

2015-12-26 03:57刘妍秀,付海东
长春大学学报 2015年2期

基于HMM的连续语音识别系统的构建与研究

刘妍秀,付海东

(长春大学教务处,长春130022)

摘要:通过阐述连续语音识别系统的结构组成,根据一般的语音识别流程,采用HTK工具应用HMM方法,设计并实现了一个连续语音识别系统。通过该系统进行连续语音识别测试及分析。

关键词:HMM;连续语音识别;HTK

收稿日期:2014-11-12

基金项目:吉林省科技厅自然科学

作者简介:刘妍秀(1984-),女,吉林长春人,实验师,硕士,主要从事计算机语音识别方面的研究。

中图分类号:TP912.32文献标志码:A

在各种交流方式中,最为快捷的方式就是用语音进行交流。一直以来,人们最大的梦想就是能与所使用的设备直接进行语音交流,期望使用语音作为一种接口,通过语音命令让设备完成相应的动作。语音技术就是通过对人类的语音信号信息进行一系列的处理,让这些设备和机器能够正确识别和理解[1]。随着语音识别的应用需求不断增加,语音识别技术正逐步成为人机交互中的关键技术。本文构建的语音识别系统是非特定人、大词汇量、基于隐马尔可夫模型的连续语音识别系统。系统在linux系统下使用HTK开发工具建立连续语音识别模型,通过该系统进行连续语音识别的测试及分析。

1系统的结构组成

语音识别系统的一般流程主要分为建模过程和识别过程,图1描述了语音识别系统的一般流程,首先对语音进行信号处理并提取语音特征,建模时对语音特征进行分类,识别时将待识别特征与模型进行对比得到分析结果。图1中虚线以上描述的是建模部分,虚线以下描述的是识别部分[2]。

图1 语音识别系统的结构组成

我们的识别系统是一个独立于说话人的、大词汇量的、基于隐马尔可夫模型的连续语音识别系统。整个系统使用HTK来建立语音识别模型,HTK是一种基于HMM的语音处理工具。利用HTK通过一系列的修改和演进,使得识别系统的性能得到了大幅度提升。

整个系统的工作流程有以下4个步骤:第一,准备数据也称预处理。是对音频数据进行音素级的标注,先将连续语音发音的罗马字用perl脚本工具和Hled进行标注,再用辅助工具将各个音素的开始帧与结束帧进行划分,并存储在文件中。第二,特征提取。编码实现信号处理,信号增强,补偿和降噪处理等技术,并形成物理音素的三元音素网络。第三,声学建模。是通过三元音素网络和语音的MFCC一起训练得到,并且融合高斯混合数进来进行状态分类,最终得到约有2000个状态的HMM声学模型。第四,语音识别。用语音识别引擎julius进行语音识别[3]。

图2显示的是连续语音识别系统的结构。整个系统是由很多模块构成的, 这些模块通过一组参数文件相结合。整个系统大致可以分为四个部分:数据准备部分提供语音文件和与语音对应的文本文件;特征提取部分为MFCC特征提取以及语音信号去噪;训练部分为根据音素列表和MFCC特征生成声学模型;识别部分使用JULIUS进行模型测试。

图2 连续语音识别系统的结构

2模型建立

连续语音识别声学模型的建立采用比较流行的HMM方式,建模时选取音素而不是音节作为训练的基本单位,音素与发音标注并不相同,可以用英语中的音标与形成单词的字母来进行类比,音素是根据语言学特点对发音进行的定义,而不是单纯的拼写。在日语发音中,音素有40个,在训练时根据实际情况引入了三个无音部分作为无音音素,分别为语音开始前、后的静音部分和连续语音中间由于人为思考、换气等原因产生的停顿无音部分,在音素中分别标记为SliB,SliE和sp[4]。所以最终参与建模的单音素共有43个。

连续语音识别模式为上下文文本相关模式,其原因在于连续语音的发音逼近收到外界的干扰,在发音过程中的相邻音素之间还会相互干扰。为了减少相邻发音之间的相互干扰,需要使用三音素模型来进行分析。三音素就是判断发音时以三个音素中间的音素为中心音素,并依据该音素的前后发音作为中心音素模型左右音素,将三个合成一个单元作为模型建立的依据,把这种方式称为三音素模型。在连续语音识别中,该方法能增加模型的鲁棒性。

其缺点是由于连续语音发音的多样性导致三音素模型会以立方级水平增加,不利于最后识别模型的建立,因此还要考虑将相同类型的三音素模型进行状态捆绑,这是根据经验和实验得出的。这个操作通过对所有的三音素模型进行多次训练,利用HEEd工具函数和决策树文件得到。

为了得到更加精确的声学模型,我们用到了很多种状态参数。任意数量的混合状态和单因素模型都可以在声学模型中使用。其中一种被称为高斯混合数的方法被用于进一步减少声学模型的计算成本。额外的单音素HMM被用于稀疏状态的预选择。首先,计算在每一帧中与声学模型的相似性。 然后计算与单音素状态相匹配的稀疏状态。最后,通过未选中的状态可以推出单音素自身的概率[5]。

3训练过程

本系统中的语法定义按照日语特有的语法结构对发音进行约束来进行处理的。为了方便HTK进行语音识别,还需要对语法定义文件进行格式转换的处理。图3中显示的是将语法定义文件转化为SLF文件。依据此文件可以得到音素之间的状态转换关系。

我们将每个音素相邻的左右音素也就是上下文文本组合在一起形成一个物理三音素模型,进行标记,该三音素根据发音的前后建立三音素隐马尔可夫模型。图4中显示的是部分三音素HMM标注图。

图3 底层SLF格式图

图4 三音素HMM标注图

4系统的数据源

系统建模语音数据来源与日文标准语音库语JNAS(Japanese news article sentences)数据库,该库中数据内容由男女播音员朗读,朗读的文本资料源自报纸《每日新闻》,男女各153人共朗读2万3千多个句子,发音均为日语标准发音。

5识别结果及分析

在识别过程使用本文提出的方法,在JULIUS中定义词典和语言模型,采用两次搜索的方式对识别结果进行匹配,第一遍根据MFCC特征与模型进行匹配搜索,生成音素级的文本,第二遍搜索根据词典和语言模型生成最终的结果,图5显示的是整个语音的识别流程。

图5 识别流程

该结果与正确的参考文本进行比较计算最终的识别正确率,识别精度,删除性错误,插入性错误和子词错误的百分比,从而实现对连续语音识别的测试及分析。

6结语

非特定人、大词汇量和连续语音这三个难题,在同一系统下要求解决从语音特征的精确化到更多的从整体的角度考虑建立最佳的语音识别系统。据此,从前端信号处理(滤波器设计),中间模型建立(隐马尔可夫模型 Hidden Markov Model HMM),识别过程(算法设计)这三个方面来进行综合考虑,针对本文应用的方法可以根据以上三个方面做进一步的改进。

参考文献:

[1]韩纪庆,张磊,郑铁冉.语音信号处理[M].北京:清华大学出版社,2004.

[2]袁里驰.基于改进的隐马尔科夫模型的语音识别方法[J].中南大学学报,2008,39(6):23-26.

[3]A.De la Torre,A.M.Peinado,J.C. Segura,J.L.Perez-Cordoba,M.C.Benitez and A.J.Rubio,Histogram equalization of speech representation for robust speech recognition [J].IEEE Transactions on Acoustics, Speech and Signal Processing, Mar,2005,50(8):355-366.

[4]蔡琴.基于HTK的维吾尔语连续数字语音识别研究[D].乌鲁木齐:新疆大学,2007.

[5]金银燕,于凤琴,何艳.基于时频分布与MFCC 的说话人识别[J].计算机系统应用,2012,21(4):189-190.

责任编辑:吴旭云

Construction and Research of a Continuous Speech Recognition System Based on HMM

LIU Yanxiu, FU Haidong

(Academic Affairs Office, Changchun University, Changchun 130022,China)

Abstract:Through describing the structural composition of the continuous speech recognition system, according to the general speech recognition process, this paper uses the HMM tool application methods of HTK to design and implement a continuous speech recognition system. Continuous speech recognition test and analysis are made by the system.

Keywords:HMM;continuous speech recognition; HTK