语音机器人隐马尔可夫算法探究

2018-07-12 13:23黄哲彬
现代信息科技 2018年4期

摘 要:一直以来,人们在探索一种人与机器交流的方法。随着科学技术的飞速发展,语音机器人的出现,实现了真正意义上的人机交流。隐马尔可夫模型(HMM)作为非特定语音识别系统的主流技术在语音机器人系统中被广泛地使用。传统的隐马尔可夫模型由于初始化方法过于简单,精度和速度都达不到预期结果。实验证明,改进语音特征参数相邻帧相关性的隐马尔可夫模型初始化算法能有效地解决这一问题。

关键词:非特定人语音识别;隐马尔可夫模型;初始化算法

中图分类号:TN912.34 文献标识码:A 文章编号:2096-4706(2018)04-0095-03

Abstract:All along,people are exploring a way of communication between people and machines. With the rapid development of science and technology,the emergence of the voice robot has realized the real sense of man machine communication. Hidden Markov Model(HMM)is widely used in speech robot system as the mainstream technology of non specific speech recognition system. Because the initialization method is too simple for the traditional HMM,the accuracy and speed are not as good as expected. Experiments show that the HMM initialization algorithm with improved speech feature parameters and adjacent frames can effectively solve this problem.

Keywords:speaker independent speech recognition;hidden Markov model;initialization algorithm

0 引 言

语言是人类独特的标志,是人类进行信息交互的重要媒介。人们尝试用人类语言与机器人进行交流,让机器人听懂语音并完成相关指令,从而实现人机交流的功能。我们认为这种机器人有“人工耳朵”,这种“人工耳朵”就是语音识别技术的应用。语音识别技术是语音机器人将语音转换成计算机可读文本或命令,进行模式识别的过程。根据不同的识别对象,语音识别可分为两类。

(1)特定发音人语音识别(Speaker Dependent):指语音数据库由单人提供,只识别训练人的语音命令,其他人的语音几乎无法识别;

(2)非特定发音人语音识别(Speaker Independent):指语音数据库由多人提供,根据不同人的语音特点进行训练,能识别不同人的语音命令。

人类言语过程是一个双重随机的过程,由可观测序列和隐含状态组成。语音信号是一个可观测序列,大脑语音中枢产生发音参数流属于隐含状态。HMM模型很好地描述了这一过程,将语音信号频谱特征的整体非平稳性和局部稳定性通过模型表示出来。

1 HMM模型在语音识别系统中的应用

1.1 HMM模型基本原理

我们研究发现,语音的前后两个发音音素之间存在某种特殊关联。我们可以根据人类语言学的特点推测后一个音素发生的最大可能。在极短时间内,语音信号趋于稳定状态,由于某种可预测关联的存在,可用一个全极点模型描述这段语音,我们称之为“线性可预测模型”。将这些线性模型串接起来就是“马尔可夫链”。可預测关联是语音识别模型双状态链中的隐含状态,这种具有隐含性的马尔可夫双链模型就是“隐马尔可夫模型”。

1.2 隐马尔可夫模型的基本算法

隐马尔可夫模型是一种推测隐含状态链、转换概率和结果概率的统计模型。

1.2.1 概率P(O|λ)计算

这是解决输出概率的计算问题的方法。由已知隐含状态和转换概率,根据可见状态链,计算结果概率。

1.2.2 Viterbi识别算法

这是解决状态序列的解码问题的算法。在给定观察序列Ot和模型算法λ时,确定一个最佳序列q*。我们定义δ(t)为不同t时刻不同路径产生观察序列的最大概率:

1.2.3 Baum-Welch算法

这是解决模型参数估计问题的算法。利用递归思想,让P(O|λ)达到最大,确定模型参数λ={A,B,π}。我们用εt(i,j)表示Markov链在已知O和λ时,t时状态为i和t+1时状态为j的概率。

1.3 HMM模型的实现

设定识别基元是HMM模型最基本的工作,识别基元的全部集合组成样本数据库。以汉语为例,识别基元可为音节、声韵母、音素等。我们对三种不同的识别基元进行了实用性探究。如表1所示。

一般选取音素作为识别基元,用HMM训练算法对每个词汇进行样本多次训练,结合语言学中的语境、语意,建立对应的HMM最佳模型λi。

识别过程是根据Veterbi算法求出对待识别对象的观测序列O对应的最优状态序列。在训练好的数据库中,用前向-后向算法找出每个λi对应模型中最大概率P(O|λi)的样本参数作为识别结果。

2 HMM初始化算法改进

2.1 算法概述

HMM模型训练中的关键是参数初值的估计,不同的参数值会产生不同的训练结果,影响最终识别结果的准确度。训练过程中我们发现,传统初始化算法采取均分方式对语音进行较粗糙的划分,识别难度大,准确度低。针对这一问题,我们对该方法进行了改进,提出基于语音特征参数的相邻帧相关性重新划分初始化的改进型HMM初始化算法。

我们用这种方法重新进行初始化:

(1)计算语音特征参数相邻帧的距离,距离与相关性成反比;

比如:计算IMFCC参数相邻帧的距离:

(2)从数组D=[d1,d2,…,dN-1]中找出N-1个极大值点;

(3)将观测序列O分成N段,每个极大值点对应一个帧号的状态,重新进行分段聚类,对每一段的均方值、权重进行计算。

不难发现,这种初始化算法更符合语音信号的特征,识别基元的表征和判断也更加准确。

2.2 算法验证

我们采集了5男5女的录音文本,内容为汉语一到五,每个数字录10遍,共采集500个录音样本。从每个人的样本中随机提取3次录音样本用于训练。每个识别基元有30个训练样本。我们根据两种不同的初始化算法,对语音训练的迭代次数和训练时间进行比较。如表2所示。

根据初始化算法的不同,我们对识别可能出现的错误的概率进行重新的验证。如表3所示。

实验结果:相比于传统HMM初始化算法,改进HMM初始化算法在训练0-5的识别基元时,迭代次数由平均20.2减少到18.2次,训练时间由平均每个训练样本71.65s减少为62.47s,识别错误率由9.8%降低至6.5%。

3 结 论

改进HMM初始化算法比传统HMM初始化算法在初值状态的划分上更加合理,更好地反应了语音的平稳特性。节省了重估训练的时间成本,并且提高了语音识别的准确度。因此,改进HMM初始化算法更具优越性和实用性。

参考文献:

[1] 顾亚强.非特定人语音识别关键技术研究 [D].长沙:国防科学技术大学,2009.

[2] 胡航.现代语音信号处理 [M].北京:电子工业出版社,2014.

[3] 朱淑琴.语音识别系统关键技术研究 [D].西安:西安电子科技大学,2004.

作者简介:黄哲彬(1995-),男,汉族,福建南安人,华北水利水电大学信息工程学院,学士学位。研究方向:自然语言处理、语音识别。