这两种模型都很重要。准确指定什么语音听起来相似是不可能的。而且,人类的语音很少遵循可以轻松定义的严格且正规的语法规则。生成好模型的一个必要因素是获得大量可表示的数据。另一个同等重要的因素是用于分析该数据以生成实际模型的技术的复杂性。
当然,同一个单词不会存在两次发音完全相同的情况,因此识别器也无法找到一个准确的匹配。而且对于给定的声音片段,说话者的言语中可能包含了很多潜在含意。因此,识别器的质量取决于它提炼搜索、排除不适当匹配以及选择更类似匹配的能力。识别器的准确性依赖于它是否具有优秀的语言和发音模型,以及用于处理声音和跨模型搜索的算法。模型和算法越好,错误就越少,而且找到结果也越快。无庸置疑,这是一项非常困难的技术。
虽然识别器的内置语言模型旨在表示一个广泛的语言域(例如,英文日常用语),但是任何给定的应用程序通常有非常具体的语言模型要求。特定的应用程序通常只需要某些对它而言具有特定语义的说话方式。因此,除了使用通用语言模型外,应用程序还应该使用一种语法来限制识别器只收听应用程序关注的语音。这有很多好处:增加了识别的准确性,确保了所有识别结果对应用程序有意义,而且使识别引擎能够指定在识别文本中固有的语义值。
目前具有代表性的语音识别方法主要有动态时间规整技术(DTW)、隐马尔可夫模型(HMM)、矢量量化(VQ)、人工神经网络(ANN)、支持向量机(SVM)等方法。
动态时间规整算法(Dynamic TimeWarping,DTW)是在非特定人语音识别中一种简单有效的方法,该算法基于动态规划的思想,解决了发音长短不一的模板匹配问题。是语音识别技术中出现较早、较常用的一种算法。在应用DTW算法进行语音识别时,就是将已经预处理和分帧过的语音测试信号和参考语音模板进行比较以获取他们之间的相似度,按照某种距离测度得出两模板间的相似程度并选择最佳路径。
隐马尔可夫模型(HMM)是语音信号处理中的一种统计模型,是由Markov链演变来的,所以它是基于参数模型的统计识别方法。由于其模式库是通过反复训练形成的与训练输出信号吻合概率最大的最佳模型参数而不是预先储存好的模式样本.且其识别过程中运用待识别语音序列与HMM参数之间的似然概率达到最大值所对应的最佳状态序列作为识别输出,因此是较理想的语音识别模型。
矢量量化(VectorQuantization)是一种重要的信号压缩方法。与HMM相比,矢量量化主要适用于小词汇量、孤立词的语音识别中。其过程是将若干个语音信号波形或特征参数的标量数据组成一个矢量在多文空间进行整体量化。把矢量空间分成若干个小区域,每个小区域寻找一个代表矢量。量化时落入小区域的矢量就用这个代表矢量代替。矢量量化器的设计就是从大量信号样本中训练出好的码书.从实际效果出发寻找到好的失真测度定义公式,设计出最佳的矢量量化系统,用最少的搜索和计算失真的运算量实现最大可能的平均信噪比。在实际的应用过程中.人们还研究了多种降低复杂度的方法,包括无记忆的矢量量化、有记忆的矢量量化和模糊矢量量化方法。
人工神经网络(ANN)是20世纪80年代末期提出的一种新的语音识别方法。其本质上是一个自适应非线性动力学系统.模拟了人类神经活动的原理。具有自适应性、并行性、鲁棒性、容错性和学习特性。其强大的分类能力和输入一输出映射能力在语音识别中都很有吸引力。其方法是模拟人脑思文机制的工程模型,它与HMM正好相反,其分类决策能力和对不确定信息的描述能力得到举世公认。但它对动态时间信号的描述能力尚不尽如人意.通常MLP分类器只能解决静态模式分类问题.并不涉及 C#文本朗读与语音识别软件开发与设计(3):http://www.751com.cn/jisuanji/lunwen_9583.html