APP下载

基于隐马尔可夫模型和聚类的英语语音识别混合算法

2020-06-06

计算机测量与控制 2020年5期
关键词:马尔可夫特征参数维特

朱 祥

(杨凌职业技术学院 文理分院,陕西 杨凌 712100)

0 引言

语言是人类用来交换信息的一种交流方式。语音处理是对语音信号[1]及其处理方法的研究,语音信号通常以数字形式处理,语音识别是对语音信号进行转换的过程。每种语言都有自己的语法,对于给定的一个英语语音,如何利用已有的知识和技术,认识和理解其内容是当前英语语音识别的难点。由于英语语音的语法与汉语不同,所以语法分析[2-3]给识别系统增加了额外的负担。

与英语单词相比,更多的特征数据和更复杂的发音变化使英语语音的语音识别更加困难。首先,英语语音的词汇量更大,发音的单词之间没有明显的停顿。也就是说,单词之间没有明确的边界。其次,英语语音中每个单词的发音通常比较自然,关联语的发音比孤立词的发音更随意,因此协同发音的效果更为严重。此外,受语境的影响,在英语发音过程中,英语语音在发音、节奏、语调、重音和语速等方面可能存在差异,甚至即使是同一个说话人,在不同的时间和环境下,其韵律特征也是不同的。

隐马尔可夫模型(Hidden Markov Model,HMM)[4-7]作为独立于大词汇量说话者的连续语音识别系统的主流技术,已经取得了相当大的成功。通过分析语音信号的短期能量,提取具有帧长特征的语音特征,对整个语音进行隐马尔可夫建模。模型训练使用由许多说话者记录的训练集,并使用统计理论来解决个体与整体之间的差异,从而使说话者独立的单句隐马尔可夫建模具有鲁棒性。HMM使用概率模型来描述统计的发音。隐马尔可夫模型中的连续状态转换可以看作是短语音段的发声,即一段相连的HMM,它代表了语音段。HMM是近年来主要用于语音识别的方法。本文以HMM作为语音识别核心。在语音识别的过程中,系统采用维特比算法[8-10]进行解码,从而找出正确的识别结果。在单个语音上使用隐马尔可夫建模,可以描述每个语音中单词的相关性。在说话者进行充分训练的条件下,可以较精确地实现说话者独立的简短的英语语音建模。然而,HMM需要语音信号的先验统计知识、分类决策能力较弱等问题,包括维特比算法的复杂度计算和高斯混合模型中的概率分布问题,这些缺点使得进一步提高单个HMM的识别性能变得困难。

语音识别领域的大多数文献都对HMM中的聚类算法进行了改进,并将其作为模式分类的方法,进行优化模型参数的估计,但对语音识别的效果并不理想。对于数据量大、发音变化较为复杂的英语语音,HMM的不足就更加明显,其识别时间更长。为了有效提高识别效率,本文在单个隐马尔科夫模型的基础上,尝试将聚类算法与隐马尔科夫模型相结合,并将其应用于英语语音识别中。根据英语语音的特点和语音之间的相似性,将英语语音的数据集分成若干组,每组由一些语音特征相似的语音组成。因此,在识别英语语音时,无需计算维特比解码中的所有语音,只需计算输入语音所属的选定组中的HMM参数即可。在选择合适的聚类组的情况下,系统将会节省大量的计算量,识别性能也会有很大的提高。这不仅为满足实时性的小型设备应用提供了一种新的语音识别参考方法,而且为新型英语语音评估系统奠定了语音识别的基础。

1 系统设计

聚类算法与隐马尔科夫模型相结合的算法流程如图1所示,首先对输入语音信号进行预处理,包括预加重,帧处理,窗口添加和端点检测。然后提取语音特征参数MFCC,通过分段平均算法降低MFCC的维数[11-13],采用动态时间规整(DTW)算法[14-15]确定语音特征聚类组K,然后计算出K组内的HMM参数,最后输出识别结果并进行后处理。

图1 基于HMM和聚类的语音识别框架图

2 隐马尔科夫模型

隐马尔可夫模型(HMM)是由随机状态转移和符号输出组成的有限状态自动化。自动化模型概率生成过程的一系列符号是由从指定的开始状态,过渡到一个新的状态的过程。

以数学方式表达模型,如式(1)~(4)所示。

隐马尔可夫模型是一个五元数组(S,A,Π,V,B)。

H=(S,A,Π,V,B)

(1)

其中:S为状态集。A={ai,j},表示是从状态i到状态j的概率。

(2)

Π={P[S1(1)]}表示在t=1时处于状态Si的概率。

V={V1,……,Vm}

(3)

其中:m为离散词汇表V中符号的个数。B={Bj(Vk)}表示符号Vk在状态Sj下的概率。

其中:

(4)

3 核心算法

3.1 分段均值算法

由于K-means聚类算法[16-17]具有随机选择采样点的迭代特性,再加上语音特征参数的维数较高,因此聚类结果的稳定性相对较差。为此,本文探讨了降维语音特征参数的分段均值算法,如图2所示。

图2 语音特征系数降维的分段平均算法

分段平均算法将语音特征参数分割成具有相同维数的片段,具体包括四个步骤:

1)将语音特征参数定义为S(K,J),其中K表示MFCC参数的阶数,J表示分段帧数。假设T为分段之前的帧数, 然后将语音特征参数分为N个片段,则为:

(5)

M(i)代表片段化语音特征参数的第i个片段。N的值设置为HMM的编号。

2)将语音特征参数分成平均段后,我们将片段M继续分成M个平均片段(M的值设置为HMM的观察序列号)。子段的计算请参见上面的公式。

表1中显示了图2中的参数总数。分段平均算法将特征参数矩阵的大小由T×K变为K×M×N。也就是说,该算法成功地从矩阵中去除了帧长T。这意味着,经过分段平均计算后,矩阵(降维)保持相同的大小,确定了语音特征参数K(语音特征参数的阶数)、N(片段大小)和M(子片段大小)的特征参数矩阵大小。这使得不同长度的语音可以被构造为相同大小的矩阵,从而极大地促进了语音特征聚类算法的实现。

3.2 聚类交叉分组算法

为了进一步提高语音特征聚类领域的性能,本文提出了一种新的二次训练方法:聚类交叉分组算法。如图3所示,聚类交叉分组算法包括3个步骤:

1)使用K-means聚类算法对训练语音样本的特征进行聚类。

表1 分段均值算法语音特征系数处理的参数表

2)使用动态时间规整(DTW)算法计算训练语音样本与聚类中心之间的距离。对于每个样本,最小距离决定其目标组。

3)检查目标组是否包含训练样本。如果包括,则说明分类是正确的;否则语音将被添加到目标组。

图3 聚类交叉分组算法

3.3 HMM分组算法

在基于单个HMM的识别系统中,使用维特比算法进行解码操作时,所有的模型参数都必须参与到计算中。假设系统词汇表的数量为n,那么HMM参数的数量为n。当识别一个语音时,每个输出概率分别通过维特比算法在n个HMMs内计算。因为每个孤立的语音都有一个唯一的HMM参数,我们能够将特征聚类组中的语音映射为相应的HMM参数。因此,我们实现了如图4所示的HMM聚类分组模型。

图4 HMM分组算法

由于聚类交叉分组算法具有良好的分组性能,所以聚类组中的HMM参数的数量总是小于或等于系统词汇表的数量。此外,改进的语音特征聚类模型可确保较高的分组准确率。因此,本文提出将特征聚类模型与HMM相结合,形成一个基于聚类与HMM的混合模型——英语语音识别系统。

在语音识别之前需要对语音信号进行预处理。语音预处理包含采样、量化、端点检测、预加重和加窗。在语音信号预处理之后,识别特征特征参数以用于随后的识别计算。在本文中,线性预测系数(LPC)是最重要的特征参数。

(6)

其中:a是线性预测编码,l是线性预测的阶数。调整系数aj,只要上式的平方误差值最小,就可以得到最优的线性预测系数aj。在求解线性预测系数之前,先确定自相关系数,然后利用所得到的自相关系数,利用Durbin算法得到期望的线性预测系数。

在确定LPC之后,从LPC推导出倒谱系数。倒谱系数[18]将声道模型与激励信号分离,可以更精确地计算声道参数,从而控制语音频谱特性。倒谱系数cj由线性预测系数aj确定,其中l是线性预测的阶数,如下所示:

(7)

(8)

(9)

根据预设的HMM状态编号,将状态和帧与语音片段的音频部分平均分开,并将帧中的特征向量用于计算平均值Mj和方差Varj,如下式所示 ,其中A是HMM的状态,i是帧,j是特征参数,T是状态下的帧数,q是倒谱特征向量的数量(本文中设置q的值为30)。

(10)

(11)

3.4 维特比算法

维特比算法是一种动态规划算法,用于寻找最有可能产生观测事件序列的维特比路径-隐含状态序列,特别是在马尔可夫信息源上下文和隐马尔可夫模型中。经过转换、转移概率、观测/发射概率等过程,形成训练有素的隐马尔可夫模型。该模型由转换和可观察/发射概率矩阵的值以及从测试数据集得出的符号序列组成,此时采用维特比算法,由此得到最可能产生该符号的状态序列。高斯概率函数可以用来确定状态和帧的相似性概率值。较高的概率值表示相应帧与状态之间的相似度较高,如式(12)所示:

表2 不同识别方法的语音1(15个样本)的识别时间表

(12)

其中:Gi(xT)为每个状态对应于其帧的概率值,d为特征向量维,xT为特征向量,τRi为状态的平均值,Ri为密度函数的协方差矩阵,Gi(xT)为特征向量xT和状态i之间相似度的概率值。

通过高斯概率密度函数可以确定帧与状态之间的概率值。HMM具有许多用于状态转换的可选路径,并且需要找到所有可能路径中具有最大总概率值的路径。本文使用的维特比算法步骤如下,其中θi(i)为在时间t停留在状态i的概率。ψt(i)为在时间t到达状态i的概率,p为维特比算法的最终概率值,ST为最佳状态序列。

步骤一:初始化。

θt(i)=πibi(o1),1≤i≤N

(13)

ψt(i)=0

步骤二:递归运算。

(14)

(15)

1≤t≤T-1,1≤j≤N

步骤三:确定概率最大路径。

(16)

(17)

步骤四:路径回溯。

St=Ψt+1(St+1),t=T-1,T-2,T-3,1

(18)

所需的命令被训练成模型,这些模型可用作语音识别的参考数据库。在识别期间,根据先前的过程确定特征参数。使用维特比算法比较数据库的参考模型,以确定每个模型的概率值并找到最佳状态序列。当语音信号的帧序列对应于状态序列时,自动解决语音信号的时间扭曲问题。语音训练过程的关键是识别帧与状态之间的相关性。通过维特比的连续路径回溯来更新帧与状态之间的关系,直到确定总概率最大的路径为止。识别过程中最重要的一步是比较训练的参考模型,获得参考模型中最大的总概率值。

4 结果验证

为了验证所提模型的有效性,在非特定人英语语音识别系统中,比较了单HMM和基于HMM和聚类的混合模型的识别率和时间。系统参数的数量为30。本实验选取30个不同的英语语音作为标准句,30个个体记录900个英语语音作为训练样本,15个个体记录450个英语语音作为测试样本。以英语语音“Can I have breakfast served in my room?”为例说明了不同识别方法的识别率和识别时间。例如,对比学生1中的语音,系统给出了如图5所示的识别结果。

图5 学生1的语音识别结果

无论是单一模型还是混合模型,识别结果都是正确的,但前者的总识别时间为1.852 7秒,后者的总识别时间为1.413 3 s,仅为前者的76.22%。也就是说,识别时间减少,并且系统效率提高。比较所有学生(学生1至15)的语音,结果如表2所示。实验表明,单个HMM和所提模型的识别率均为100%。但前者的平均识别时间为1.575 3 s,后者的平均识别时间为1.258 7 s,仅为前者的79.90%,从而提高了识别效率。

表3是不同识别方法的总体识别性能比较。实验结果表明,与基于单个HMM的英语语音识别系统相比,基于HMM和聚类(提出的模型)的英语语音识别系统的平均识别率提高了2.89%,而平均识别时间占 仅前者的69.25%,提高了系统效率。

表3 采用不同方法的总体识别性能表

在使用维特比算法获得状态与框架之间的新关系之后,更新旧状态下的平均值和方差,并使用高斯密度函数再次确定状态与框架之间的更新概率。使用维特比算法获得新的总概率值,更新将持续到最大总概率值收敛为止。

下面以常用的循环神经网络为例。例如语音“Population growth has been slow in recent years”,系统识别过程如下所示。

1)首先第一个词“Population”作为语音输入,此时产生第一个隐含状态h1,h1包含了该词的信息。

2)然后第二个词“growth”作为语音输入,并和h1进行融合,此时产生第二个隐含状态h2,h2包含了前两个词“Population growth”的信息。

3)以此类推,将例句中所有的词输入系统,每输入一个单词都会同前一时刻的隐含状态进行融合产生一个包含当前词信息和前面所有词信息的新的隐含状态。

当把整个语音所有的词输入进去之后,最后的隐含状态理论上包含了所有词的信息,便可以作为整个语音的语义向量表示,该语义向量称为源语言语音的上下文向量。

图6 基于的循环神经网络翻译过程

给定源语言的上下文向量,HMM与聚类的识别系统对该语音片段进行识别,过程如下:

1)产生第一个隐含状态S1,并基于该隐含状态预测第一个目标语言词“近”。

2)将第一个目标语言词“近”、隐含状态S1和上下文向量C1作为输入,此时产生第二个隐含状态S2。隐含状态S2包含了第一个词“近”的信息和源语言语音的信息,用来预测语言语音第二个词“几年”。

3)以此循环类推,直到预测到一个语音的结束符为止。

5 结论

在英语语音识别方法和传统的HMM语音识别技术的基础上,针对英语语音识别系统的实现,提出了一种基于HMM和聚类的改进算法。实验结果表明,按照本文方法改进的系统,不仅提高了系统的识别率,而且减少了系统的计算量(即识别时间),从而达到提高系统性能的目的。但是如何确定聚类群,进一步提高识别效率,并应用于更大规模的英语语音识别中,还需要进一步的研究。

猜你喜欢

马尔可夫特征参数维特
基于视频图像序列的船用雷达目标检测和目标特征参数提取
诗意街头
“爱到永远”
———摄影大师艾略特·厄维特拍的一组情侣照片
面向电力系统的继电保护故障建模研究
基于马尔可夫链共享单车高校投放研究
基于马尔可夫链共享单车高校投放研究
基于马尔科夫算法对预测窗户状态模型的研究
事业单位财务风险预测建模及分析
说话人识别特征参数MFCC的提取与分析
民用飞机预测与健康管理技术与系统特征参数研究