一 语音识别基本概念( 二 )


音素也可以构成子词单元,如音节() 。有时,音节被定义为“减少的稳定实体”(- ) 。举个例子,当语音变得快的时候,音素经常会变化,但是音节就可以保持不变 。同时,音节还可以反映语调轮廓( ) 。除了音节,还有其他方式构建子词,即基于形态学的(-based)或者基于发音的(-based) 。子词常常被用于开放词汇(open )语音识别 。
子词构成词 。在语音识别中,词是很重要的,因为它们极大地限制了音素的组合 。如果有40个音素,平均每个词有7个音素,那就有 40740 7 个词 。庆幸的是,在实际生活中,人们的常用词汇不超过20000个,这使得语音识别变得更可行 。
词和其他非语言的声音(non- ,这些声音我们称为填充物(),具体有呼吸声、表示犹豫或说话中间停顿的嗯声(um)、表示不肯定、不清楚或征求同意的啊声(uh)以及咳嗽声)构成了语音片段(,语音学概念,人在说话时,两个较长停顿之间说的语音片段称为一个,与句子(,语言学概念,句子是具有更强的语义概念的)不是一个概念) 。
还有其他的一些概念这里就不表了( acts like turns) 。
识别过程
目前通用的语音识别方式如下:有一段波形,通过静音()将它分割成若干个语音片段(),然后识别每一个语音片段说的是什么 。要想实现上述想法,我们需要穷举出所有可能的词的组合,然后和音频进行匹配(match),选择最好的匹配组合 。
在匹配过程中,有几个重要的概念 。第一是特征() 。因为参数的数量非常大,我们尝试减少它 。通常会将语音分成帧(),然后在帧的单位上计算参数数量 。对于每一帧,通常选择10ms作为一帧的长度,然后提取39个数来表示语音 。这39个数就构成了一个特征向量 。至于这39个数怎么计算是一个活跃的研究方向,但是一个简单的方式是,它可以从声谱()中得到 。
第二个概念是模型(model) 。一个模型描述了一些数学对象,这些对象集合了口语说的话( word)的共同属性 。实际上,对于一个音频模型,模型就是指它的三个状态的高斯混合,简单地说,它是最有可能的特征向量(这里是按照原文翻译的,可能不太好理解,我个人理解是模型就是通过高斯混合模型去刻画每一帧特征向量的分布,并将特征向量对齐到HMM每一个状态上去) 。从模型的概念,可以导出如下议题:
- 1.模型对实际语音的刻画能力有多好
- 2.如果模型内部有问题,可以使模型变得更好吗
- 3.如果条件发生变化模型的适应能力有多强
语音的模型称为隐马尔可夫模型(Model,HMM) 。它是一个用于刻画黑盒通信信道(black-box)的通用模型 。在这个模型中,过程被描述为一系列状态以特定的概率进行跳转 。这个模型试图去描述包括语音在内的任何序列过程 。HMMs已经被证明在语音解码( )中是确实有效的 。
第三,就是匹配过程本身 。因为将所有的特征向量和所有的模型进行比较是非常耗时的,因此通常会应用很多技巧来优化搜索过程 。在任何时候,我们保存最佳匹配的变量,并随着时间推移对其进行扩展,为下一帧生成最佳匹配变量(动态规划的思想,对于每一帧来说,它前面走过的路径是最优的) 。
模型
按照语音结构,在语音识别中有三个被用到的模型去进行匹配:
-声学模型( model)
对于每一个,声学模型包含了其声学特性 。有上下文无关的模型和上下文相关的模型两种 。
-发音字典( )
发音字典包含了从词到音素的映射关系 。这个映射并不是非常有效 。例如,对大多数音素,字典中只记录了两种或三种不同的发音方式 。但是,这在绝大多数情况下也够用了 。字典并不是将词映射到音素的唯一方法 。你也可以使用一些通过机器学习算法学习到的复杂的函数来进行映射 。