概述

相比于语音识别、语音合成、语音增强,说话人识别等常见语音领域,关键词检测相对来说比较小众,但随着智能助理、智能音箱等的兴起,关键词检测越来越受到产业界的 重视。
语音关键词检测关注如何从连续语音流中检测出用户感兴趣的关键词。典型场景分为两类:
1、语音设备控制: 根据用户指令来唤醒或者控制智能设备;
2、语音检索: 从大段语音文档中定位到关键词所在位置。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.

摘取自公众号:人工智能前言学习

论文笔记 ​​​​​​​---语音关键词检测方法综述相关推荐

  1. 基于深度学习的表面缺陷检测方法综述-论文阅读笔记

    //2022.3.2日阅读笔记 原文链接:基于深度学习的表面缺陷检测方法综述 (aas.net.cn) 个人对本篇综述内容的大致概括 论文首先介绍了表面缺陷检测中不同场景下的成像方案,主要根据表面颜色 ...

  2. 论文《基于深度学习的表面缺陷检测方法综述》学习笔记

    <基于深度学习的表面缺陷检测方法综述>学习笔记 前段时间完成了<基于图像的零部件缺陷识别系统设计>毕业课程设计,过程中收获了很多,老师也分享了很多论文,在此记录一下学习的收获. ...

  3. 行为检测论文笔记【综述】基于深度学习的行为检测方法综述

    摘 要: 行为检测在自动驾驶.视频监控等领域的广阔应用前景使其成为了视频分析的研究热点.近年来,基于深度学习的方法在行为检测领域取得了巨大的进展,引起了国内外研究者的关注,对这些方法进行了全面的梳理和 ...

  4. 线性时态逻辑ctl_计算机系统形式化验证中的模型检测方法综述论文

    计算机系统形式化验证中的模型检测方法综述论文 1 形式化方法概述 形式化方法是用数学和逻辑的方法来描述和验证系统设计是否满足需求.它将系统属性和系统行为定义在抽象层次上,以形式化的规范语言去描述系统. ...

  5. 语音端点检测 php,几种语音端点检测方法简介

    几种语音端点检测方法简介 2011年第11期福建电脑 67 几种语音端点检测方法简介 邢亚从 (苏州市职业大学江苏苏州215000) [摘要]:语音的端点检测在语音的编码.语音识别.语音增强.说话人识 ...

  6. 【西安交大】2020年最新深度学习目标检测方法综述

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 目标检测的任务是从图像中精确且高效地识别.定位出大量预定义类别的物体实例.随着深度 ...

  7. 论文精读:基于深度学习的表面缺陷检测方法综述

    摘要: 基于表面缺陷检测方法,根据数据标签的不同将其分为全监督学习模型方法.无监督学习模型方法和其他方法.细分归类,对比分析,总结每种方法优缺点,应用场景. Introduction         ...

  8. 基于深度学习的显著性目标检测方法综述

    源自:电子学报       作者:罗会兰  袁璞  童康 摘 要 显著性目标检测旨在对图像中最显著的对象进行检测和分割,是计算机视觉任务中重要的预处理步骤之一,且在信息检索.公共安全等领域均有广泛的应 ...

  9. 内容算法:新闻“标题党”检测方法综述

    业务定义 首先在我们讨论标题党的时候,我们需要定义清楚,我们说的是:(1)仅标题带来的主观感受,还是(2)通过标题点击进入文章后的阅读感受. 如果是(1)标题的感受,来源于几个 indicate: 表 ...

最新文章

  1. 使用lsof恢复进程打开的误删除文件
  2. C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板部分特例化
  3. All are Same 思维,gcd
  4. linux终端贪吃蛇,分享|nSnake: 在Linux的终端上玩经典的贪食蛇游戏
  5. Python os模块相关简介
  6. 如何平衡存储系统的一致性和可用性?
  7. java5新特性_5分钟了解Java 12 八大新特性
  8. python 三维图片 任意切片_在python中实现将一张图片剪切成四份的方法
  9. 【干货】如何利用NLP与知识图谱处理长句理解.pdf(附下载链接)
  10. MySql重启命令与数据库安装目录
  11. 实习成长之路:操作系统——CPU有哪些工作模式呢?
  12. 机器学习特征与类型概述
  13. 小巧单据打印管理软件
  14. 川师c语言实验报告9,川师c语言实验报告十.doc
  15. Bootstrap3 与Bootstrap4垂直水平居中
  16. uniapp前端向后端发送请求时,出现跨域问题的解决方法与原理
  17. 电脑系统修复之--Windows系统开机蓝屏 EFI Network 0 for IPv4(XX-XX-XX-XX-XX)boot failed.
  18. 一招恢复删除的微信好友
  19. 外资企业申请互联网信息服务经营许可证ICP注意事项有哪些?
  20. 计算机毕业设计Java牙科诊所管理系统(源码+系统+mysql数据库+Lw文档)

热门文章

  1. python初学者笔记——百度搜索关键词提取问题解决
  2. 招聘顶尖人才!旷视科技“MegEagle创视者计划”正式启动
  3. multiSIM仿真软件的元件列表
  4. TCP通信之QTcpServer和QTcpSocket,服务器和客户端通讯
  5. 桥梁模式和访问者模式
  6. (三) Nepxion-Thunder分布式RPC集成框架 - 结构管理
  7. spring的控制反转和依赖注入讲解
  8. 在for循环List中删除元素~
  9. 程序员不要仅靠经验,不多思考
  10. 非正交多址技术(NOMA)