专栏首页人工智能前沿讲习语音关键词检测方法综述【附PPT与视频资料】

语音关键词检测方法综述【附PPT与视频资料】

关注文章公众号 回复"白烨"获取PPT资料 视频资料可点击下方阅读原文在线观看

导读


随着智能音箱、语音助手等应用的出现,普通人也可以像科幻场景一样使用语音与机器进行交流。语音关键词检测是实现人机语音交互的重要技术,被广泛地应用于各类智能设备、语音检索系统当中。语音关键词检测可以分成两种,一种是用于设备唤醒、设备控制keyword spotting;一种是应用于语音文档检索的spoken termdetection,二者虽然名字类似,但从功能侧重和技术路线上都有所区别。本次分享介绍语音关键词检测的主要方法与最新进展。

讲者介绍


白烨,中国科学院自动化研究所博士生,研究兴趣为语音识别、语言模型、语音关键词检测。

白烨

概述


相比于语音识别、语音合成、语音增强、说话人识别等常见语音领域,语音关键词检测相对来说较为“小众”,但是随着智能助理、智能音箱等应用的兴起,语音关键词检测越来越受到产业界的重视。

语音关键词检测关注如何和从连续语音流中检测出用户感兴趣的关键词。典型场景可以分为两类:

1. 语音设备控制:根据用户的语音指令来唤醒或控制智能设备;

2. 语音检索:从大段语音文档中定位到关键词所在位置。语音关键词检测相关的英文术语有“Keyword Spotting”、“Keyword Search”、“Spoken Term Detection”,然而它们实际上有不同的侧重,是两类不同的问题。Keyword Spotting 指的是语音设备控制这一类应用,一般来说它的关键词是固定的,关注的是低内存占用,低计算复杂度,低功耗下的高准确率;Spoken Term Detection或Keyword Search的关键词一般是可变的,需要定位出关键词在音频文档中的位置,困难点在集外词问题。下面我们分别就这两类问题,介绍相关的三种主流方法,然后在介绍几个前沿进展,最后做一个总结。

主流方法


1、补白模型(Filler Models)

补白模型有时也被称为垃圾模型,它将Keyword Spotting问题考虑为一个逐帧的序列标注问题。关键词定为不同的标注,而一个额外的“补白”标注用来匹配所有非关键词。

基于隐马尔可夫模型的补白模型最早用于Keyword Spotting。它对每一个关键词建立一个隐马尔可夫模型,对非关键词额外建立一个隐马尔可夫模型,观测概率通过混合高斯或神经网络建模。直接针对关键词建模在数据稀疏的问题。目前流行的隐马尔可夫模型则采用子词单元,如音素,进行建模。这种情况下,它与基于HMM混合模型的语音识别中的声学模型就十分类似了,只是解码图是手工设计的文法,而不是基于统计语言模型生成的。亚马逊Alexa语音助手所用的Keyword Spotting系统就是基于这一类方法的,它的隐马尔可夫模型示意图如下图所示:

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

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

2、基于样例的Keyword Spotting

基于样例的Keyword Spotting,则将问题考虑为匹配问题。考虑关键词的音频样例,和几个测试音频,分别计算它们的相似度,测试音频中和关键词相似度超过某个阈值的,就认为它是检测出来的关键词。这种方式在使用的过程中,用户可以录制自己的音频并定义为关键词,使用起来就更个性化。

基于样例的关键词检测可以分为两类,一种基于动态时间弯折(Dynamic Time Warping,DTW)算法,它使用DTW算法计算两个音频特征序列之间的相似度;另一种是基于嵌入学习的,它将两个音频分别编码为向量,然后直接计算两个向量之间的距离。基于DTW的方法从上世纪70年代就开始开始应用,但是它在匹配两个序列的时候计算复杂度比较高,目前主要用于无监督的情形;基于嵌入学习的方法,匹配的时候更为简单,在深度学习火热以后就流行起来。

如图所示就是一个基于嵌入学习的关键词检测系统。它由一个LSTM网络构成。训练时,将LSTM视为一个词级别的分类器;测试时,将测试音频和关键词音频输入进LSTM,将最后k个状态拼接起来,计算余弦距离,如果超过某个阈值,就认为是检测到了关键词。

3、基于大词汇量连续语音识别系统的关键词检测

基于大词汇量连续语音识别系统的关键词检测主要是用于音频文档检索任务。首先使用语音识别系统将语音转化为某种形式的文本,然后建立索引,供用户索引。

与一般文本索引不同的是,语音关键词检索中的索引需要包含每一个词的时间位置信息,方便用户定位检索到词的位置。另外一点就是,语音识别结果可能包含一些错误,导致关键词不能找到,所以希望索引将语音识别出的次优候选结果也包含进来,提高检索的召回率。针对这两点的主要方法是,将语音识别出的词格(Lattice)建立为索引。词格是一种保存语音识别候选结果的紧凑形式,还可以包含时间位置信息。

当前比较流行关键词检索的索引是时间因子转换器(Timed Factor Transducer,TFT),在著名的语音识别工具包Kaldi中已经被实现。它可以在线性复杂度下检索到关键词。具体的TFT的构建需要大量背景知识,这里就不展开介绍,详细请见参考文献。

由于语音识别的结果都是在词表内的词,这样如果待查的关键词是集外词,就不可能被查找到了。然而,用户喜欢查找的,往往是人名、地名、组织机构名这样的命名实体,这些词往往都是集外词。解决这一问题的一个方法是代理词:即用一个发音相近的集内词作为待查集外词的“代理”,检索的时候查找“代理”,如果找到了代理,就认为待查的集外词找到了。

前沿进展


在HMM补白模型方面,亚马逊在2017年Interspeech发表了一篇声学模型压缩的文章。具体上,采用时延神经网络(Time Delay Neural Networks,TDNNs)以及降采样结构来减小模型参数,进一步地,还使用了SVD分解,将大的仿射变换矩阵分解为两个小的矩阵相乘的结构,大大减小了参数量。

第二篇文章是基于神经网络来计算异质数据之间相似度的关键词检测。具体上,对于音频用一个循环神经网络来提取高层特征,而对于文本关键词,则采用卷积神经网络来提取高层特征,然后利用多层感知机来判断这两个高层特征是否匹配。由于语音和文本是两个模态的数据,以往的方法很难去计算它们的相似度,而深度神经网络的强大特征映射能力则给我们带来了直接计算两个模态数据相似度的可能。

最后一篇文章介绍针对关键词检测的流式序列到序列模型。RNN-Transducer是语音识别中的一种端到端方法。它可以分为3个部分:encoder是一个RNN,计算高层声学表示;Prediction Network是一个语言模型,计算预测的Label之间的转移概率;Joint Network则融合前两个模块计算出的表示,做出预测。

这篇论文在RNN-Transducer的基础上,加入关键词的编码模块与注意力机制,“引导”RNN-Transducer解码出关键词,提升了关键词检测的准确率。

总结


关键词检测分为两种:KeywordSpotting关注在计算资源有限的情况下,快速准确地从音频流中检测出关键词;Spoken Term Detection中的一大难题是如何检测出集外词。

参考文献


基于隐马尔可夫模型的补白模型

1. Wilpon JG, Lee C, Rabiner L R, et al. Application of hidden Markov models forrecognition of a limited set of words in unconstrained speech[C]. internationalconference on acoustics, speech, and signal processing, 1989: 254-257.

2. Sun M,Snyder D, Gao Y, et al. Compressed Time Delay Neural Network forSmall-Footprint Keyword Spotting.[C]. conference of the international speechcommunication association, 2017: 3607-3611.

直接用DNN进行分类的补白模型

3. Chen G,Parada C, Heigold G, et al. Small-footprint keyword spotting using deep neuralnetworks[C]. international conference on acoustics, speech, and signalprocessing, 2014: 4087-4091.

动态时间弯折

4. ItakuraF. Minimum prediction residual principle applied to speech recognition[J]. IEEETransactions on Acoustics, Speech, and Signal Processing, 1975, 23(1): 154-158.

5. Sakoe H,Chiba S. Dynamic programming algorithm optimization for spoken wordrecognition[J]. IEEE Transactions on Acoustics, Speech, and Signal Processing,1978, 26(1): 159-165.

6. MantenaG V, Achanta S, Prahallad K, et al. Query-by-example spoken term detectionusing frequency domain linear prediction and non-segmental dynamic timewarping[J]. IEEE Transactions on Audio, Speech, and Language Processing, 2014,22(5): 946-955.

7. Zhang Y,Glass J R. Unsupervised spoken keyword spotting via segmental DTW on Gaussianposteriorgrams[C]. ieee automatic speech recognition and understandingworkshop, 2009: 398-403.

基于嵌入学习的样例检索

8. Chen G,Parada C, Sainath T N, et al. Query-by-example keyword spotting using longshort-term memory networks[C]. international conference on acoustics, speech,and signal processing, 2015: 5236-5240.

9. KamperH, Wang W, Livescu K, et al. Deep convolutional acoustic word embeddings usingword-pair side information[J]. international conference on acoustics, speech,and signal processing, 2016: 4950-4954.

大词汇量连续语音识别的关键词检索:时间因子转换器索引构建

10. Can D, Saraclar M. Lattice Indexing forSpoken Term Detection[J]. IEEE Transactions on Audio, Speech, and LanguageProcessing, 2011, 19(8): 2338-2347.

大词汇量连续语音识别的关键词检索:代理词生成

11. Chen G, Yilmaz O, Trmal J, et al. Usingproxies for OOV keywords in the keyword search task[C]. ieee automatic speechrecognition and understanding workshop, 2013: 416-421.

异质数据相似度计算

12. Audhkhasi K, Rosenberg A, Sethy A, et al.End-to-end ASR-free keyword search from speech[J]. IEEE Journal of SelectedTopics in Signal Processing, 2017, 11(8): 1351-1359.

流式端到端识别系统的关键词检测

13. He Y, Prabhavalkar R, Rao K, et al. Streamingsmall-footprint keyword spotting using sequence-to-sequencemodels[C]//Automatic Speech Recognition and Understanding Workshop (ASRU), 2017IEEE.

本文分享自微信公众号 - 人工智能前沿讲习(AIFrontier),作者:白烨

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SFFAI分享 | 田正坤 :Seq2Seq模型在语音识别中的应用

    随着神经机器翻译的兴起,基于Attention的Seq2Seq模型由于其强大的建模变长序列直接转换问题的能力,也在其他领域获得了极大的关注。语音识别问题本质上也...

    马上科普尚尚
  • SFFAI分享 | 邵晨泽:非自回归机器翻译【附PPT与视频资料】

    非自回归神经机器翻译是一种新兴的翻译技术。传统的自回归机器翻译模型是逐词产生译文的,每一步的译文单词的生成都依赖于之前的翻译结果,而非自回归模型对每个译文单词的...

    马上科普尚尚
  • SFFAI分享 | 黄怀波 :自省变分自编码器理论及其在图像生成上的应用

    生成模型一直是机器学习和计算机视觉领域的重要研究方向。以生成对抗网络(GANs)和变分自编码器(VAEs)等为代表的深度生成模型已经成为当前人工智能研究的热点问...

    马上科普尚尚
  • iOS12 切换到后台请求丢失的问题

    iOS12版本后,AFNetworking请求过程中,app返回后台,会出现以下错误,并且网络请求中断(只在真机中出现,模拟器不会复现)

    freesan44
  • 基于 Hyper-V3.0 搭建 XenDesktop7 之七 配置 XenDesktop7

    用域管理员登陆DDC1,从开始菜单找到“Citrix Studio”控制台,并打开

    SuperDream
  • Python项目自动化部署最佳实践@搜狐

    今天主要介绍下我们组刚刚开源出来的一个自动化部署的工具 essay ,功能在readme上已经介绍的很详细了,这篇文章只是介绍下外围的情况,产生的环境,一些决策...

    the5fire
  • python系列(五)centos6.x

      virtualenv 是针对python的包的多版本管理,通过将python包安装到一个模块来作为python的包虚拟环境,通过切换目录来实现不同包环境间的...

    py3study
  • 2013-2014年国内PLM用户满意度调研完整版

    中国制造业20年来的辉煌发展不仅确立了中国在全球基础制造的地位,随着中国制造行业日益成熟市场化,整个行业的信息化水平不断提高,除了ERP的高度使用以外,另一样精...

    人称T客
  • Azure恢复服务-使用Windows Backup备份到云端

    通过Microsoft Azure的恢复服务,我们可以把我们本地数据中心到数据通过Windows Backup者DPM备份到Azure云端进行保护。而Azure...

    李珣
  • 如何调试nodejs

    Joel

扫码关注云+社区

领取腾讯云代金券