HTK中文手册纠错邮箱:jianglonghu@内部资料,请务外传HTK基础HTK是建立隐马尔可夫模型(HMM)的工具包,HMM能用于模拟任何时间序列,而HTK内核对类似过程是通用的。不过HTK主要用于设计构造基于HMM的语音处理工具,特别是识别器。因此,HTK中的一些基础组件专门用于这一任务。如上图所示,它主要有两个处理阶段。首先,HTK训练工具使用训练语料和相应的标注文件来估计HMM模型集的参数;第二阶段,使用HTK识别工具来识别未知语音。这本书主体的大部分内容都和这两个处理过程的机制相关。然而,在开始更细致的介绍之前我们需要了解HMM的基本原理,这将有利于我们对HTK工具有个整体把握,对HTK如何组织训练和识别过程也有一定的认识。本书第一部分提供简要介绍了HMM的基本原理,作为HTK的使用指南。这一章介绍了HMM的基本思想和在语音中的应用。后面一章简要介绍了HTK,。在本书的指南部分的最后一章,第三章,描述了一个简单的小词汇连续语音识别系统,以此为例介绍如何使用HTK构造一个基于HMM的语音识别系统。这本书的第二部分对第一部分进行了详细的讲解。这部分可以结合第三部分和最后一个部分(HTK的参考手册)来阅读。这个部分包括:每个工具的描述、配置HTK的各个参数和产生错误时的错误信息列表。最后需要指出的是这本书仅仅把HTK当成一个工具包,并没有提供使用HTK库作为编程环境的相关信息。HMM的一般原理语音识别系统通常假设语音信号是编码成一个或多个符号序列的信息实体()。为了实现反向操作,即识别出给定说话人的语音的符号序列,首先将连续语音波形转换成一个等长的离散参数向量序列。假设这个参数向量序列是语音波形的一个精确表示,在一个向量对应的时间段内(代表性的有10ms等等),语音信号可看成是平稳的。虽然这一假设并不严格,但是这是合理的近似。典型的参数表示法常用的是平滑谱或线性预测系数以及由此衍生的各种其它的表示法。识别器的任务是在语音向量序列和隐藏的符号序列间实现一个映射。有两个问题使得完成这一任务非常困难,第一,因为不同的隐藏符号能有相似的发音,所以符号到语音的映射不是一一对应的,而且,发音人不同的心情和环境等因素会导致语音波形产生非常多的变化。第二,从语音波形中不能准确地识别出各符号间的边界,因此,不能将语音波形当做一个静态样本连接的序列。限制识别任务为孤立词识别就可以避免第二个问题中不知道单词边界位置的问题。,这里的各段语音波形对应了固定词典中的一个简单符号(比如一个单词)。尽管我们对这一问题的简化有点理想化,然而它却有广泛的实际应用。此外,在处理更为复杂的连续语音之前介绍上述方法,为掌握基于HMM识别模型的基本思想打下了很好的基础。因此,我们首先将介绍使用HMMs的孤立词识别模型。孤立词识别模型令每个发音单词用语音向量序列或观察向量O表示,定义为: ()其中表示在时刻观察到的语音向量。就可以认为孤立词识别问题是在计算: ()其中表示第个词典词。这个概率不是直接计算的,而是由贝叶斯公式给出: ()因此,给定先验概率,最可能的发音单词就仅仅取决于概率。给定观察序列的维数,从发音单词的样本直接计算联合条件概率是很难实现的。然而,如果一个单词的参数模型假设是马尔可夫模型,当估计条件观察值密度的问题被估计马尔可夫参数的简单问题代替,由观察向量计算就可以实现了。在基于HMM的语音识别中,假设观察到的语音向量序列对应由马尔可夫模型产生的单词,。马尔可夫模型是一个有限状态机,它每隔一定时间改变一次状态,在时刻进入状态输出语音向量的概率密度为,此外,从状态到状态的转移概率为。,其中六个状态模型按状态序列X=1,2,2,3,4,4,5,6依次转移,产生了从到的输出序列。需要注意的是,在HTK中一个HMM的入口状态和出口状态是non-emitting的,在后文中我们将对整个模型的构建作更为详细地说明。模型通过状态序列产生观察序列的联合概率由转移概率和输出概率决定。: ()然而,实际情况下仅仅只知道观察序列,状态序列是被隐藏的,这就是为什么称该模型为隐马尔可夫模型了。由于是未知的,我们就要把所有可能的状态序列考虑进去,则: ()其中表示模型的初态,表示模型的终态。对等式()进行改进,仅仅考虑最有可能的状态序列,则有: ()虽然不易直接计算()式和()式,但是使用简单的递推公式可以对它们进行有效的计算。在更深地讨论之前,注意到如果()式能够求出,那么识别问题也就被解决了。假设一个模型对应一个单词,,另外假设: (
HTK手册中文版 来自淘豆网m.daumloan.com转载请标明出处.