语音之家HI-MIA唤醒词识别实战
AI工匠
语音唤醒主流方法
keyword spotting分为补白模型与基于样例的两个主要方法
补白模型(Filler Models)
补白模型有时也被称为垃圾模型,它将Keyword Spotting问题考虑为一个逐帧的序列标注问题。关键词定为不同的标注,而一个额外的“补白”标注用来匹配所有非关键词。
基于隐马尔可夫模型的补白模型最早用于Keyword Spotting。它对每一个关键词建立一个隐马尔可夫模型,对非关键词额外建立一个隐马尔可夫模型,观测概率通过混合高斯或神经网络建模。直接针对关键词建模在数据稀疏的问题。目前流行的隐马尔可夫模型则采用子词单元,如音素,进行建模。这种情况下,它与基于HMM混合模型的语音识别中的声学模型就十分类似了,只是解码图是手工设计的文法,而不是基于统计语言模型生成的。亚马逊Alexa语音助手所用的Keyword Spotting系统就是基于这一类方法的,它的隐马尔可夫模型示意图如下图所示:

另一种基于神经网络分类的方法就更加直接了,如下图所示,连续语音流逐段地送入神经网络进行分类。类别为所有的关键词,和一个额外的填充类别(Filler),比如有10个关键词,就有11类。

分类完成后,由于输出的概率可能出现“毛刺”,所以进行平滑后处理,之后如果某一个类别概率超过一个阈值,就认为某一个关键词呗检测到了。这种方法内存占用小,不需要解码搜索,准确率高。但是由于需要准备大量包含关键词的语料,如果更换了关键词,则需要再另行搜集一批语料,所以也较难实际使用。相比之下,基于隐马尔可夫模型的Keyword Spotting由于是针对子词单元建模,语料用通用的就可以,所以更常用。