首页 理论教育 搭建语音识别器

搭建语音识别器

时间:2022-02-11 理论教育 版权反馈
【摘要】:幸运的是,期望最大化算法不需要已标注数据即可学习隐马尔可夫模型的转移模型以及传感器模型。其思想非常简单:给定了一个隐马尔可夫模型和一个观察序列,我们可以通过第15.2节和第15.3节所介绍的平滑算法计算出在每个时间步上每个状态的概率,并通过一个简单的扩展,得到相继时间步上的状态 – 状态对的概率。对于良好声学条件下的几千词汇和单一说话人的孤立词识别,精确度能够超过99%。

语音识别系统的品质依赖于其所有组成部分的品质——这些组成部分包括语言模型、词语发音模型、音素模型以及用于从声学信号中提取频谱(spectral)特征的信号处理算法。我们已经讨论过如何构造语言模型,而关于信号处理的细节则留给了其他教科书。还剩下发音模型和音素模型。关于发音模型的结构——诸如图15.19中所示的tomato模型——通常是手工建立起来的。现在对于英语和很多其它语言,我们已经可以找到很多大型读音词典,尽管其精确度良莠不齐。三态音素模型的结构对所有的音素都相同,如图 15.20 所示。另外,剩下概率本身。如果模型需要数十万乃至上百万个参数,这些概率又如何能够得到呢?

唯一一个似乎可能的方法是,从实际的语音数据中学习模型。下一个问题是如何进行学习。我们将在第二十章中给出完整的解答,不过在这里我们可以先提出主要的思想。考虑二元模型;我们已经解释过如何通过在真实文本中观察词对的频率进行学习。同样的做法能否应用于,比如说,发音模型中的音素转移概率呢?回答是肯定的,但这需要有人不辞辛劳地为每一个单词的每一次出现标注出正确的音素序列。这是一项困难而且容易犯错误的任务,不过已经有了一些包含数小时语音数据的标准数据集。如果我们了解音素序列,我们就可以根据音素对的频率估计出发音模型的转移概率。同样地,如果给定了每一帧中的音素状态——这是一项更加枯燥乏味的手工标注任务——那么我们就可以估计出音素模型的转移概率。给定了每帧中的音素状态和声学特征,我们也可以估计出声学模型的参数,要么直接来自频率(对于向量量化模型),要么使用统计拟合(fitting)方法(对于混合高斯模型;参见第二十章)。

由于手工标注数据代价昂贵而且稀少,以及事实上已有的手工标注数据也许不能代表一个新的识别背景中说话人的类型和声学条件,这些都可能注定这种方法会失效。幸运的是,期望最大化算法(Expected-Maximization,也称为EM算法)不需要已标注数据即可学习隐马尔可夫模型的转移模型以及传感器模型。从手工标注数据得到的估计能够用来对模型进行初始化;然后,期望最大化方法接手,并根据当前的任务对模型进行训练。其思想非常简单:给定了一个隐马尔可夫模型和一个观察序列,我们可以通过第15.2节和第15.3节所介绍的平滑算法计算出在每个时间步上每个状态的概率,并通过一个简单的扩展,得到相继时间步上的状态 – 状态对的概率。可以把这些概率看作是不确定标注。根据这些不确定标注,我们能够估计出新的转移概率和传感器概率,并重复执行期望最大化算法。该方法保证在每次迭代中不断提高模型和数据之间的一致性,并且通常收敛到一个比最初的手工标注估计所提供的参数值好得多的参数值集合。

当前最高水平的语音系统使用了庞大的数据集和大量的计算资源来训练它们的模型。对于良好声学条件(没有背景噪音或者回音)下的几千词汇和单一说话人的孤立词识别,精确度能够超过99%。但对于多个不同说话人的无限制连续语音,即使在良好的声学条件下精确度通常也只能达到 60%到 80%。当语音存在背景噪音或者在电话中传输时,精确度下降得更厉害。虽然专用系统已经不停地改进了数十年,但新思想仍然大有用武之地。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈