如何确定语音识别中 HMM 的观察序列长度

Posted

技术标签:

【中文标题】如何确定语音识别中 HMM 的观察序列长度【英文标题】:How to determine length of observation sequence for HMM in speech recognition 【发布时间】:2020-01-17 21:40:40 【问题描述】:

我正在重新学习如何使用隐马尔可夫模型进行语音识别,我有一个问题。似乎大多数/所有关于使用 HMM 的讨论都考虑了已知观察序列的情况:[O1, O2, O3,...,OT] 其中 T 是已知数。但是,如果我们要尝试在语音上实时使用经过训练的 HMM,或者在有人在一个接一个地说话的 WAV 文件中使用,那么究竟如何选择 T 的值呢?换句话说,如何知道说话者何时结束了一个句子并开始了另一个句子?用于语音识别的实用 HMM 是否仅使用 T 的固定值,并使用长度为 T 的固定大小窗口定期重新计算直到当前观察的最佳状态序列到过去?或者有什么更好的方法可以在任何时候动态选择 T?

【问题讨论】:

【参考方案1】:

用于语音识别的实用 HMM 是否只使用 T 的固定值,并使用长度为 T 的固定大小窗口定期重新计算到当前观察的最佳状态序列到过去?

维特比解码算法逐帧工作,因此您只需遍历帧,您可以无限迭代直到回溯矩阵填满所有内存。

训练算法会考虑训练前准备好的音频,通常是 1-30 秒。用于训练的音频长度是已知的。

如何知道说话者何时结束一个句子并开始另一个句子?

这里有不同的策略。解码器搜索静音以环绕解码。沉默并不一定意味着句子之间的中断,句子之间根本没有中断。句子中间也可以有中断。

因此找到静音解码器可以使用独立的语音活动检测算法并在 VAD 检测到静音时中断,或者解码器可以分析回溯信息以确定是否出现静音。第二种方法可靠一点。

【讨论】:

以上是关于如何确定语音识别中 HMM 的观察序列长度的主要内容,如果未能解决你的问题,请参考以下文章

声学模型GMM-HMM

机器学习---HMM模型学习笔记

GMM-HMM声学模型

基于GMM-HMM的语音识别系统

基于GMM-HMM的语音识别系统

如何解释语音识别的技术原理?