关键词检测(Spoken keyword spotting或Spoken Term Detection)

这周要写一篇语音信号处理相关的调查报告,主要要求是选定一个方向,了解研究背景和意义,再根据参考文献了解一个细分领域的前沿消息,目前的主流问题和可能存在的解决方案。

 
 

看了几天论文,我总结了以下十个大方向

 
  1. 实时口令式语音识别系统的DSP实现

  2. 关键词识别及其应用

  3. 语音合成的应用及汉语语音合成的特点

  4. 音频合成及其应用

  5. 声纹识别及其应用

  6. 人机交互中的语音情感识别

  7. 汉语语调的确定方法

  8. 基于内容的音频检索

  9. 信息安全中的音频篡改取证

  10. 公共安全中的异常音频信号检测

 
 

在这里我选择了第二个关键词识别(keyword spotting)

 

 

 

如图是2018到2020年间的IEEE Xplore的keyboard recognition的搜索结果

把前25篇快速都看了一遍之后,我选择了这两篇作为主要的参考资料

 

 

 

 

 

 

(咦?!很有意思,不少作者都是中国人)

接下来今天晚上和明天下午有空会开始着手翻译和查阅新文献。

2020.06.08.10:39

 

 

 

 

好的,现在是2020.06.09.06:52,我又来做这个报告相关的内容啦

 

 

 

首先我们要明确一件事,所有的报告都是从研究背景和意义开始的

 

 

 

好的,先看看维基百科:

关键词检测(Spoken keyword spotting或Spoken Term Detection)是语音识别领域的一个子领域,其目的是在语音信号中检测指定词语的所有出现位置[1]。
主要有以下几种类型:

无约束语音中的关键词检测
孤立词识别
无约束语音中的关检测检测主要针对关键词没有被其他词分隔,并且在原句中没有语法信息。以下算法常被用于该目的:

滑动窗口和垃圾模型
K最优假设
迭代Viterbi解码
孤立词识别主要针对关键词在文本中通过静音进行分隔。应用到该问题的主要技术手段是动态时间规整技术。

  





emmmmmm,没了?!

 

康康英文版本的

 

Keyword spotting
From Wikipedia, the free encyclopedia


Jump to navigationJump to searchKeyword spotting (or more simply, word spotting) is a problem that was historically first defined in the context of speech processing.[1][2] In speech processing, keyword spotting deals with the identification of keywords in utterances.
Keyword spotting is also defined as a separate, but related, problem in the context of document image processing.[1] In document image processing, keyword spotting is the problem of finding all instances of a query word that exist in a scanned document image, without fully recognizing it.
In speech processing[edit]
The first works in keyword spotting appeared in the late 1980s.[2]
A special case of keyword spotting is wake word (also called hot word) detection used by personal digital assistants such as Alexa or Siri to "wake up" when their name is spoken.
In the United States, the National Security Agency has made use of keyword spotting since at least 2006.[3] This technology allows analysts to search through large volumes of recorded conversations and isolate mentions of suspicious keywords. Recordings can be indexed and analysts can run queries over the database to find conversations of interest. IARPA funded research into keyword spotting in the Babel program.
Some algorithms used for this task are:

Sliding window and garbage model
K-best hypothesis
Iterative Viterbi decoding
Convolutional neural network on Mel-frequency cepstrum coefficients[4]
In document image processing[edit]
Keyword spotting in document image processing can be seen as an instance of the more generic problem of content-based image retrieval (CBIR). Given a query, the goal is to retrieve the most relevant instances of words in a collection of scanned documents. [1] The query may be a text string (query-by-string keyword spotting) or a word image (query-by-example keyword spotting).
References[edit]

^ Jump up to:a b c Giotis, A.P; Sfikas, G.; Gatos, B.; Nikou, C. (2017). "A survey of document image word spotting techniques". Pattern Recognition. 68: 310–332. doi:10.1016/j.patcog.2017.02.023.
^ Jump up to:a b Rohlicek, J.; Russell, W.; Roukos, S.; Gish, H. (1989). "Continuous hidden Markov modeling for speaker-independent word spotting". Proceedings of the 14th IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP). 1: 627–630.
^ Froomkin, Dan. "THE COMPUTERS ARE LISTENING". The Intercept. Retrieved 20 June 2015.
^ Sainath, Tara N and Parada, Carolina (2015). "Convolutional neural networks for small-footprint keyword spotting". Sixteenth Annual Conference of the International Speech Communication Association. arXiv:1711.00333.

Categories: 
Pattern recognition

  

也没好到哪里去

再去看看百度百科,哇,简直是直接抄的维基,知乎上倒是有一篇相关的介绍,可惜无功无过,写的不痛不痒,几乎没有营养。

 

突然想到,这种综述性报告,在知网有大量的文章是这个方向相关的啊,虽然大部分是学术垃圾,但我的报告可能连学术垃圾都算不上。

但是让人悲伤的是,知网的文章里,背景介绍也没有好好写,基本就是把知乎的那篇和百度百科弄来重组了下语言……

那还是自己来吧,查了两个小时的资料之后,我也像模像样的把知乎的内容和维基百科混在一起重组了下语言……哈哈。

 

2020.06.10.12:57我去睡午觉了

 
 
 

现在是2020.06.11.08:07,现在有一个老师在上课,可他讲的东西我之前在实验室已经学过了……

 

好的,接着来搞这个报告.

 
 

现在要处理的是关键技术难题的问题。

 
 

这篇的abstract里写的是

关键字识别(KWS)系统构成了人机界面的一个重要组成部分,它能从一个连续的音频流的关特检测出特定的关键词。KWS的目标是提供一个误报率低,检测精度高,同时误报率小,对内存和计算需求。基于DNN的KWS系统在训练过程中面临着很大的类不平衡,这是因为在训练过程中,大量关键词的可用数据通常比背景语音少得多,这就使训练不堪重负,导致了一个退化的模型。在本文中,我们探讨了焦点损失对训练一个占比小的KWS系统。它可以自动降重在训练过程中,容易样本的贡献,并将模型的重点放在以下方面
硬样本,自然解决了阶级不平衡的问题,让我们要有效地利用所有可用的数据。此外,中文会话助手的很多关键词都是重复词,如'XIAO DU XIAO DU(小度小度)'。我们建议
一种重复关键词的双缘触发检测方法。相对于单一的阈值法显著降低了误报率,系统实验表明,与基线系统相比有的改显著进。
索引词-关键词发现,焦点损失,双边缘触发检测法,语音识别。

  

嘛,没什么。看看另外一篇

 

在当代世界,人们对自动识别系统的兴趣越来越大。
ASR)和关键词检测(KWD)。此外,最近重大
在关键词的性能方面有所改进。
使用VAD检测连续语音信号的音调。这
论文开发了一种新的噪声鲁棒关键词检测系统。
在连续语音信号中。语音活动检测(VAD
在频域中用于检测语音部分。
从句子。而我们提出的VAD系统是专门
基于音调频率,由短时计算的
自相关函数(ACF)。基本上,两个步骤构成了
关键词检测的过程--关键词搜索和?
关键词识别。在我们的研究中,我们专注于关键词的
搜索,然后从连续语音中提取出来
信号。所提出的VAD系统在音高方面表现出良好的效果。
的高关键词检测率的性能,在持续的
语音信号,即使在低信噪比的情况下也是如此。
索引术语-自动语音识别,关键词检测,语音活动检测,音调估计,噪声鲁棒性。

  

直接用deepl翻的,大体意思明白就行,问题不大。

好的,报告剩下来的内容基本就是看懂这篇文章,再大致上总结和翻译一下了,那么今天就能完成这件事了。

 

 

 

 
概述

相比于语音识别、语音合成、语音增强、说话人识别等常见语音领域,语音关键词检测相对来说较为“小众”,但是随着智能助理、智能音箱等应用的兴起,语音关键词检测越来越受到产业界的重视。
语音关键词检测关注如何和从连续语音流中检测出用户感兴趣的关键词。典型场景可以分为两类:
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的构建需要大量背景知识,这里就不展开介绍,详细请见参考文献。
由于语音识别的结果都是在词表内的词,这样如果待查的关键词是集外词,就不可能被查找到了。然而,用户喜欢查找的,往往是人名、地名、组织机构名这样的命名实体,这些词往往都是集外词。解决这一问题的一个方法是代理词:即用一个发音相近的集内词作为待查集外词的“代理”,检索的时候查找“代理”,如果找到了代理,就认为待查的集外词找到了。

  

 

posted on 2020-06-11 15:13  Ray_Zang  阅读(4494)  评论(0)    收藏  举报