首页 文章

隐藏的马尔可夫模型如何识别单词?

提问于
浏览
0

我刚看到这篇文章(第一个答案):

https://www.quora.com/What-is-a-hidden-Markov-Model-HMM-and-how-can-it-be-used-in-speech-recognition

我得到它,但不完全 . 没有太过技术化:单词识别究竟是如何工作的?

在帖子中,hmm应该识别由音素 /k/ /a/ /t/ 表示的单词"cat" .

那么让我们说hmm处于/ k /的状态 . 这意味着,它成功识别了/ k /,对吗?

它究竟是如何识别/ a /?在/ k /下一个状态是/ a /之后有一定的概率,但是,e . G . 下一个状态是/ e /,对吗?

这些概率来自于在语料库中训练模型吗?因此,如果语料库中的大多数单词是/ ka /而不是/ ke /,则从state / k /到/ a /的概率高于从state / k /到/ e /?

以什么方式确定下一个它将进入/ a /的状态而不是/ e /?

并且它说音素是隐藏的部分...这是否意味着,我们无法看到,模型选择了哪个音素,我们可以看到它现在处于/ k /的状态?在处理完整个单词后,我们只能看到它选择了哪个音素,结果是否正确?

这意味着它只能从/ k /到/ a /但你不能保证它找到正确的音素......?

我并不是想了解这个模型的细节,一般来说它是如何用于语音识别的 .

1 回答

  • 0

    阅读比随机Quora答案更有信誉的来源更好地了解复杂的算法 . 例如,Rabiner的HMM教程是一个好主意 . 您还可以查看像Spoken Language Processing这样的教科书,它可以为主题提供一个很好的描述 .

    语音识别中的可观察事件序列是音频帧序列 . 每帧大约是20ms的声音 . 不可观察事件的序列大致是音素序列 . 实际上它更复杂,但你可以想到音素 . 除了作为数学对象的HMM模型之外,关于称为维特比搜索的解码算法还有一个重要的部分,即根据概率找到可观察状态和隐藏状态之间的最佳匹配 . 该算法有效地评估所有可能的故障并找到最佳故障 . 最好的一个是解码结果 .

    所以让我们说hmm处于/ k /的状态 . 这意味着,它成功识别了/ k /,对吗?

    没有“状态k中的嗯”这样的东西 . 我们考虑第1帧并说它对应于“k”,然后我们考虑第2帧并决定它是否对应于“k”,“a”或“e” . 为此,我们使用先前帧的先前状态以及帧2和所有三个状态之间的声学匹配 . 这种声学匹配通常用单独的模型估计,例如高斯混合模型,不要将其与隐马尔可夫模型混淆 . 两种模型都是从语料库中估算出来的 . 在我们为第2帧存储一些可能的决定之后,我们移动到第3帧以确定它是否属于任何预期的隐藏状态 . 请注意,我们没有保留1个最佳决策,但在途中有多个可能的决策,因为本地最佳决策(2对应于a)可能不是全局最佳(2对应于e) . 在解码结束时,我们在隐藏状态和可观察状态之间存在完整关系,我们可以使用HMM估计这种关系的概率 .

    它究竟如何识别/ a /?在/ k /下一个状态是/ a /之后有一定的概率,但是,e . G . 下一个状态是/ e /,对吗?

    它将故障概率与该帧的GMM分数相结合,以更新故障概率,包括这个新帧 . GMM分数表示音频与预期的“a”声音的匹配程度,并且是从数据库中训练的 .

    它说音素是隐藏的部分......这是否意味着,我们无法看到,模型选择了哪个音素,我们可以看到它现在处于/ k /状态?在处理完整个单词后,我们只能看到它选择了哪个音素,结果是否正确?

    我们只能在处理完整个单词后看到音素 .

    这意味着它只能从/ k /转到/ a /但你无法保证它能找到正确的音素......?

    在本地你不能保证,你需要比较全局图片或者至少在当前音素之后做一些迭代 . 这就是为什么你必须在搜索过程中保留多个解码结果,而不仅仅是最好的单个解码结果 .

相关问题