我正在重新学习如何使用隐马尔可夫模型进行语音识别,我有一个问题。似乎大多数/所有关于使用 HMM 的讨论都考虑了已知观察序列的情况:[O1, O2, O3,...,OT] 其中 T 是已知数。但是,如果我们要尝试在语音上实时使用经过训练的 HMM,或者在有人在一个接一个地说话的 WAV 文件中使用,那么究竟如何选择 T 的值呢?换句话说,如何知道说话者何时结束了一个句子并开始了另一个句子?用于语音识别的实用 HMM 是否仅使用 T 的固定值,并使用长度为 T 的固定大小窗口定期重新计算到当前观察的最佳状态序列到过去?或者有没有更好的方法在任何时候动态选择 T ?
问问题
63 次
1 回答
0
用于语音识别的实用 HMM 是否仅使用 T 的固定值,并使用长度为 T 的固定大小窗口定期重新计算到当前观察的最佳状态序列到过去?
维特比解码算法逐帧工作,因此您只需迭代帧,您可以无限迭代,直到回溯矩阵填满所有内存。
训练算法考虑训练前准备的音频,通常为 1-30 秒。对于训练音频长度是已知的。
怎么知道说话者何时结束了一个句子并开始了另一个句子?
这里有不同的策略。解码器搜索静音以环绕解码。沉默并不一定意味着句子之间的中断,句子之间根本没有中断。句子中间也可以有中断。
因此找到静音解码器可以使用独立的语音活动检测算法并在 VAD 检测到静音时中断,或者解码器可以分析回溯信息以确定是否出现静音。第二种方法更可靠一些。
于 2019-09-17T10:22:46.917 回答