语音关键词检索(Keyword Search, KWS)[1-2] 或关键字检索,关键词定位是指确定一段语音是否包含给定的关键词,如果包含的话,则系统应定位该关键词出现在语音中的位置,并估计出置信度,即系统对检测结果的确信程度。根据是否直接使用自动语音识别(Automatic Speech Recognition, ASR)系统,关键词搜索可以分为两类:基于语音识别的关键词检索(ASR-based KWS)[3- 4]和无语音识别的关键词检索(ASR-free KWS)[1]。基于语音识别的关键词检索一般首先通过解码获得语音识别的结果(通常是词格形式),然后从中搜索关键词。不同的是,无语音识别的关键词检索直接搜索关键词而不需要进行语音识别。通常,训练语音识别系统是一项数据密集型任务,这意味着要获得性能良好的系统,我们通常需要大量的训练数据。但是,对于低资源语言[5- 6],训练数据是有限的(例如40小时训练数据)甚至是极其有限的(例如少于10小时训练数据),此时训练一个具有可接受性能的语音识别系统往往是比较困难的。换句话说,低资源下,语音识别系统往往很难获得良好性能,从而最终影响关键词检索的性能。然而,当我们所需要的仅仅是关键词检索时,即,我们唯一感兴趣的是用户指定的关键词是否出现在语音中及其大致出现的位置,理论上来说,我们不必将整个语音都转换成文本。因此,避免训练语音识别系统,缓解训练数据稀缺的限制便是使用无语音识别关键词检索的主要原因。根据用户输入关键词的方式,即,是通过文本还是语音来输入关键词,可以把关键词检索系统分为两类。本文讨论的关键词检索系统仅限于文本输入的关键词检索系统,即,来自用户输入的关键词全部为文本形式。
近年来,随着深度神经网络(DNN,Deep Neural Network)的流行,端到端(E2E,End-to-End)系统受到愈来愈多的欢迎[7-11]。在训练端到端系统时,一个很大的方便之处在于,我们只需要注意整个系统的输入和输出,而不必像传统方法那样单独训练某些组件然后再将它们组合在一起,一般来说后者通常需要大量的工作。此外,对于传统的关键词检索系统,集外词(OOV, Out-Of-Vocabulary)是一个重要且比较麻烦的问题[12],尤其是对于词汇量稀少或者说低资源的情况而言。当然,有一些技术[6,12]可以解决传统方法中的OOV问题,但是它们更像是一些额外添加的技术手段,而不是一个统一的框架。与之相比,端到端无语音识别的关键词检索系统(E2E ASR-free KWS, End-to-End ASR-free Keyword Search System)允许用户以字符序列(例如字母和标点符号所组成的序列)作为输入,因此无需对OOV进行特殊处理。
端到端序列建模中的一种比较流行的方法是联结时序分类(CTC, Connectionist Temporal Classification)[13],我们可以利用CTC在没有对齐信息[8,14]的情况下训练序列模型。为了解决对齐信息的缺失,CTC的核心思想在于计算所有可能的对齐情况之下的损失函数之和来对模型进行训练。通常而言,缺少对齐信息是训练语音识别系统时经常遇到的情况,因此,这个技术是非常有用的。基于CTC,有学者[15]提出了一种端到端的关键词检索体系结构,其核心思想是使用CTC来进行语音识别,并从其语音识别的过程中获得后验概率矩阵来计算关键词存在的置信度分数。但是,这个方法需要一个基于CTC的语音识别系统,也就是说,这个系统将关键词检索系统明确地分为两个部分,因此其端到端的程度不是完全的。此外,训练基于CTC的语音识别系统通常需要一定量的数据,这通常对于许多低资源语言而言是不太可行的。
Audhkhasi等人在2017年提出了一种无语音识别的关键词检索系统[1],这也是本文所使用的基线系统。整个系统可分为三部分,包括基于递归神经网络(RNN,Recurrent Neural Network)的声学自动编码器,卷积神经网络(CNN, Convolutional Neural Network)-递归神经网络字符语言模型和关键词检索系统。其中,前两个组件具有相同的核心思想,它们使用编码器将输入转换为固定长度的特征向量,并使用解码器从特征向量恢复原始输入。如果解码器恢复出来的与原始输入完全相同,则我们认为在将输入的语音或关键词压缩成一个固定长度的向量的过程中,任何信息都没有丢失。得到文本和语音特征之后,将它们输入到关键词检索系统从而得到置信度分数。
近年来,注意力机制在序列建模领域也取得了很多成就[11,16-18]。特别地,在文献[11]中,作者提出了一种用于关键词检索的称为DenseNet-BiLSTM的体系结构。但是,在他们的任务中,允许输入的关键词是从一小组命令词中选择的,而我们所提出的模型的应用场景允许输入的关键词是该语言的任何单词或词组。
受以上架构的启发,我们提出了一个类似的框架。不同的是,对于音频编码器和解码器,我们期待解码器可以输出输入语音所对应的字符或音素序列而不是最原始的输入语音。为了结合音频编码器和文本编码器所编码出音频和文本特征,我们没有像基线系统那样直接将它们联结起来,而是引入了注意力机制,它可以帮助寻找和定位关键词,并且对语音中出现关键词的地方赋予更高的权重。
在本文接下来的内容中,我们将首先在第2节中介绍系统架构,包括分别用来处理语音和文本的编码器和解码器,注意力机制和判别器。之后,我们将在第3节中描述我们的实验,并给出结果以及分析。最后,结论以及未来的工作将在第4节中给出。
在本节中,我们将首先介绍所提出的端到端无语音识别关键词检索系统的总体架构,然后再分别深入地讨论每个组件的具体结构和功能。
系统的结构如图1所示。在此图中,可以看到该框架的四个基本组件是文本编码器(Query Encoder),语音编码器(Audio Encoder),注意力机制(Attention Mechanism)和判别器(Discriminator)。文本编码器处理输入的关键词(字符序列)以获得文本特征(或文本特征向量)。音频编码器将输入的语音特征转换为编码的音频特征。为了同时考虑文本和音频特征,我们引入注意力机制,其输出我们称之为上下文特征(Context)。最后,上下文特征将被送入到判别器从而获得取值范围在0至1之间的置信度得分。
具体而言,给定输入音频A=(A1,A2,…,AT)和输入关键词Q=(Q1,Q2,…,QU),有音频特征FA和文本特征FQ:
FA=AudioEncoder(A)
(1)
FQ=QueryEncoder(Q)
(2)
其中,Ai∈RN,i=1,2,…,T, Qi∈[0,M], M+1是字符总数,其中加一表示空字符,表示音频特征,FQ∈RE表示文本特征。
注意机制结合FA和FQ来输出上下文特征C
C=Attention(FA,FQ)
(3)
其中C=(C1,C2,…,CT),Ci∈RC,i=1,2,…,T。
最后,判别器通过上下文特征C计算出置信度得分P,
P=Discriminator(C)
(4)
其中P∈[0,1]。
图1 端到端无语音识别关键词检索系统基本框架
Fig.1 Basic structure of our end-to-end ASR-free KWS system
需要注意的是,在本文所提出的系统中没有单独的语言模型,声学模型或语音识别解码器。然而,这些通常是语音识别系统中的基本组件。语音识别系统中每个模块通常都具有明确的物理含义。例如,语言模型可以用于在给定词序列的情况下预测下一个词,而声学模型可以根据输入的音频特征来给出最为可能的音素序列。然而,端到端系统将语音和关键词作为输入并直接输出置信度得分,即使将整个系统人为地分为几个部分,但整体而言,它依然像黑盒一样,缺乏可解释性。因此,为了缓解系统缺乏可解释性的问题,我们引入了解码器,其主要作用在于引导编码器提取包含字符或音素序列信息的特征,即,解码器可以从编码的特征中可以恢复出真实的音素或字符序列。我们需要指出的是,解码器仅在模型训练过程中被用到。即,当系统在执行关键词检索时,解码器是被忽略掉的。与基线系统相比,原作者使用自编码器将固定长度的音频特征恢复成原始语音输入,这是一种过度的苛求。本文所提系统则只要求从音频中提取发音或拼写信息,这是后续关键词检索所需的最重要的信息。我们可以使用不同类型的标注(真实的音素或字符序列)来对解码器的输出进行监督,从而引导编码器提取不同类别的信息,进而最终影响系统的性能。需要指出的是,由于模型中包含音频解码器,使用了基于CTC的损失函数,所以训练过程并不是无语音识别的。然而,这不妨碍我们称呼它为无语音识别的关键词检索,因为在进行关键词检索时,无需进行语音识别。
在本节中,我们将介绍文本编码器和两种文本解码器。文本编码器从输入的文本中提取特征向量,而文本解码器对编码器得到的特征向量进行处理从而输出音素或字符序列。
2.2.1 文本编码器
文本编码器的结构如表1所示。其结构与文献[1]中的CNN-RNN字符语言模型是相同的。输入的字符序列首先经过嵌入层(Embedding)。然后,使用一维卷积神经网络(Convolutional Neural Network, CNN)和一维全局最大池化(Max Pooling 1D)来提取文本特征(一个固定长度的向量)。为了避免过拟合,此处只使用了一层CNN来提取文本特征。
表1 文本编码器的网络结构
Tab.1 The network structure of query encoder
类型参数值输出形状输入层30嵌入层嵌入维度=12830×128一维卷积层卷积核大小=3滤波器数=128填充模式=same激活函数=ReLU30×128全局最大池化层s128
2.2.2 字符文本解码器
字符文本解码器的网络结构如表2所示。在文本编码器完成特征提取之后,我们获得了一个固定长度的文本特征向量。它将被输入到字符文本解码器中,并重复一定的次数,此处重复的次数等于原始输入文本序列的长度。之后,将其传递给GRU-RNN(Gated Recurrent Unit-Recurrent Neural Network),然后经过以softmax为激活函数的全连接层(Fully Connected Layer, FCL),其中,FCL的神经单元数量等于字符的数量(NC)加一(表示空字符)。如果解码器的输出与原始输入完全相同,则说明编码器从输入文本中提取了拼写信息。
表2 字符文本解码器的网络结构
Tab.2 The network structure of character query decoder
类型参数值输出形状文本特征128重复向量重复次数=3030×128GRU-RNN神经元数=12830×128全连接层神经元数=Nc+1激活函数=softmax30×(Nc+1)
2.2.3 音素文本解码器
字符文本解码器可以引导文本编码器从输入中提取拼写信息,此外,我们还可以引导文本编码器提取输入文本的发音信息,这就需要用到音素文本解码器。其结构如表3所示。与字符文本解码器不同之处在于,此处FCL神经元数等于总的音素数NP加一。
表3 音素文本解码器的网络结构
Tab.3 The network structure of phoneme query decoder
类型参数值输出形状文本特征128重复向量重复次数=3030×128GRU-RNN神经元数=12830×128全连接层神经元数=NP+1激活函数=softmax30×(NP+1)
本节将介绍音频编码器和音频解码器。音频编码器从输入的语音音频中提取音频特征,音频解码器则对音频编码器的功能进行引导。与文本解码器相同,音频解码器也可以分为两种:字符音频解码器和音素音频解码器。
2.3.1 音频编码器
音频编码器的结构如表4所示,在此使用了双向GRU-RNN(Bi-GRU-RNN),另外使用了批标准化(Batch Normalisation, BN)[19]来加速训练过程。与文本编码器输出固定长度的特征向量不同,音频编码器提取的音频特征是一个矩阵。之所以没有像基线系统那样将音频压缩成一个固定长度的特征向量,而是将其转换成一个二维的特征矩阵,原因有二,一是保留了时间的维度从而配合音频解码器对音频编码器的引导,二是可以保留更多原始音频的信息,因为把整段音频压缩成一个固定长度的向量所损失的信息是比较多的。
表4 音频编码器的网络结构
Tab.4 The network structure of audio encoder
类型参数值输出形状输入层100×120一维卷积层卷积核大小=3滤波器数=128填充模式=same激活函数=ReLU100×128一维卷积层卷积核大小=3滤波器数=128填充模式=same激活函数=ReLU100×128批标准化层100×128最大池化层窗宽=2步长=250×128Bi-GRU-RNN神经元数=12850×256
2.3.2 字符音频解码器
字符音频解码器的网络结构如表5所示,其中FCL中的神经元数等于字符数(NC)加一。通过输出和目标字符序列之间的CTC损失函数来对网络进行训练。如果字符音频解码器的输出与输入语音所对应的字符序列相同,则说明音频编码器所提取的音频特征包含输入音频的拼写信息。
表5 字符音频解码器的网络结构
Tab.5 The network structure of character audio decoder
类型参数值输出形状音频特征50×256全连接层神经元数=NC+1激活函数=softmax50×(NC+1)
2.3.3 音素音频解码器
类似地,音素音频解码器接受音频编码器所提取的音频特征并将其转换为原始输入音频所对应的音素序列。同样地,我们通过最小化解码器输出与目标音素序列之间的CTC损失函数,来引导音频编码器提取含有发音信息的音频特征。其网络结构如表6所示,其中FCL中的神经元数等于音素的数量(NP)加上一。
表6 音素音频解码器的网络结构
Tab.6 The network structure of phoneme audio decoder
类型参数值输出形状音频特征50×256全连接层神经元数=NP+1激活函数=softmax50×(NP+1)
在2.2.1和2.3.1小节中,我们介绍了文本和音频编码器,它们分别将文本和音频输入转换为文本和音频特征。现在,我们介绍注意力机制,它将上述两个特征结合起来从而进行关键词检索。注意机制的网络结构如表7所示。
表7 注意力机制的网络结构
Tab.7 The network structure of attention mechanism
类型参数值输出形状文本特征128重复向量(1)重复次数=5050×128音频特征50×256连接(2)音频特征和(1)的输出50×384LSTM-RNN神经元数=25650×256全连接层(3)神经元数=50激活函数=softmax50×50注意力机制加权求和(2)和(3)二者的输出50×384批标准化层50×384
首先将重复的文本特征和音频特征连接起来,即得到表7中(2)的输出,在公式(5)中用F表示。
(5)
在这里我们重复文本特征的目的只是因为我们需要将其更改为适当的形状,以便可以将其与音频特征连接在一起。接着,我们将其通过LSTM-RNN (Long Short Term Memory Recurrent Neural Network),并将LSTM-RNN的输出经过以softmax为激活函数的全连接层,得到权重矩阵(表7中的(3)),由等式(5)中的W表示。最后,将F和W作为输入,输入到注意力机制加权求和操作中,这一部分是此注意机制的核心部分。这一部分的结果由公式(5)中的C表示。其中a∘ b表示标量a乘以向量b中的每个元素。具体而言,对于公式(5),我们可以进行如下的说明,由于经过了softmax的激活函数,权重矩阵W的任意一个行向量的全部元素之和等于1,我们可以将其视为一组权重。将这组权重用于对总特征F的所有行向量进行加权求和可以得到一个向量,我们称之为上下文向量。对于W的每个行向量都进行相同的操作,即,按照这个行向量对F中的行向量进行加权求和,便可以得到许多个(在本文的模型参数中为50个)上下文向量。最终,将所有上下文向量放在一起,组成了上下文矩阵C,或称为上下文特征(Context)。
注意力机制使我们可以在搜索关键字时注意某一些特别的区域。正如我们将在3.4节中看到的那样,我们的注意力机制可以更加关注整体特征F中的某些特定区域。
至此,经过注意力机制的处理,我们获得了上下文特征,接着将通过判别器来获得最终的关键词检索的置信度得分。其网络结构如表8所示。首先使用全局最大池化(Global Max Pooling 1D)来去除掉时间维度,其目的在于从上下文中获得相对最为鲁棒的输出。接着,将其通过具有S型激活函数(Sigmoid)的全连接层从而以获得从0到1的置信度得分。
表8 判别器的网络结构
Tab.8 The network structure of discriminator
类型参数值输出形状上下文特征50×384全局最大池化层384全连接层神经元数=1激活函数=sigmoid1
本节展示实验过程并对实验结果进行深入分析。首先描述数据的准备和实验设置。然后展示注意力机制在关键词检索过程中的表现。接着,给出不同种类音频和文本解码器组合情况下的关键词检索性能。在这个过程中,我们发现了一个制约系统性能的主要问题,为此,最后介绍了两种缓解此问题的方法。
此次实验使用了IARPA Babel计划中的普什图语数据集,IARPA-babel104b-v0.4bY的FullLP数据集。该数据集包含80小时的语音和对应的文本标注。此外,数据集还提供了一个简易的发音辞典,因此可以获得该数据集中每个单词所对应的音素序列。为了展示数据资源对系统性能的影响,在实验中使用了不同数量的训练数据,包括FullLP训练集(以下用FLP表示,大约80小时),40HrFLP(以下用40 H表示,大约40小时)和LimitedLP(以下用LLP表示,大约10个小时)。此外,为了验证模型在其他低资源语种数据集上的性能,还使用了IARPA Babel的阿萨姆语的LimitedLP部分,大约10小时的有标注的数据集。
首先,将所有语音切分为1秒的小段。这样做是因为需要定位关键词的位置,并且假设,所有被搜索的关键词持续的时长都不超过一秒钟,通常来说这是合理的假设。然后我们提取40维梅尔谱特征(fbank)并对其进行一阶和二阶差分,从而获得每帧120维的输入音频特征,其中帧长为25 ms,帧移(帧步长)为10 ms。最终,每个一秒的语音段都转换为形状为(100×120)的音频输入特征。对于语音所对应的文本标注,我们首先使用Kaldi[20]进行词级别的对齐,以便准确知道每个语音段包含哪些单词。每个语音段所包含的单词或单词组合都算作该语音段所对应的正样本。对于网络来说,输入的关键词可以用单词或词组所对应的字符序列来表示。至此,一个语音段(一个形状为100×120的矩阵)和一个关键词(字符序列)组成一个正样本。
为了获得负样本,对于每个语音片段,我们随机选定若干个该语音片段中未包含的单词,在这个过程中还考虑了所有单词在语料中的出现频率。即,出现频率高的单词应该更有可能被选中从而作为负样例。设定生成的负样本数等于正样本数,目的是使系统尽可能地不具有任何固有倾向性。
对于音频解码器,每段输入语音所对应的的字符/音素序列即作为字符/音素音频解码器的目标输出。类似地,字符文本解码器和音素文本解码器所对应的标签便分别是原始输入的文本(字符序列)和输入文本所对应的的音素序列。
我们使用OpenSAT19中的普什图语数据集来进行评测。OpenSAT19是美国国家标准技术研究院(NIST, National Institute of Standard and Technology)于2019年举办的评测竞赛。该评测数据集包含约5小时的语音数据。对于Babel的阿萨姆语数据集,测试数据大约10个小时左右。
测试时,我们将测试语音连续切分为一秒钟长的小段,因为OpenSAT19要求(1)https:∥www.nist.gov/system/files/documents/2019/04/01/opensat19_evaluation_plan_v4_3-28-19_1.pdf时间定位精度在一秒钟之内即可,将一个又一个语音段和待查找的关键词输入到模型中便可以进行关键词的检索。
我们在上文中介绍了四个解码器,包括用于音频和文本的字符和音素解码器。因此,存在四种组合,即C-C,P-P,C-P和P-C,其中P-C表示音素音频解码器和字符文本解码器的组合,其他名称具有类似的含义。显然,不同的组合代表不同的关键词检索系统,在本文中,有四个不同的关键词检索系统。在模型训练方面,采用了多任务学习的训练方法。即,整个系统的损失函数LMTL是三个部分的加权和,最终关键词检索损失函数LKWS,音频解码器的损失函数LAD和文本解码器的损失函数LQD,如公式(6)所示。
LMTL=λKWSLKWS+λQDLQD+λADLAD
(6)
经过在开发集上对超参数的调优,此处权重λKWS, λQD和λAD分别设置为0.6、0.2和0.2。对于最终的关键词检索和字符文本解码器的损失函数,应用了二元交叉熵和多分类交叉熵。对于音素/字符音频解码器和音素文本解码器,使用了CTC损失函数。使用了Tensorflow[21]和Keras[22]深度学习框架,在单块Tesla P100 GPU上,占用8GB的显存,以0.001的学习率和256的批量大小应用Adam优化器进行训练。为了与传统的基于语音识别的关键词检索系统进行比较,我们使用Kaldi[20]关于Babel数据集的 SGMM模型来作为传统方法的基线系统。为了说明注意力机制的重要性,实验还测试了没有注意力机制的系统性能。在移除了注意力机制后,将表7当中(2)的结果直接输入到判别器当中来进行关键词检索。为了探究训练数据量对结果的的影响,我们使用3种不同大小的训练集(FLP,40H和LLP)来训练C-C模型。
我们从训练集中随机选择10%的数据作为验证集。在训练过程中,验证集的准确率和召回率如表9所示,其中所有的模型都是在FLP(80小时的训练集)上训练所得到的。我们发现C-C系统是最好的,且远优于基线系统。
表9 模型准确率和召回率
Tab.9 Precision and Recall of models
模型准确率召回率C-C0.920.91C-P0.900.89P-C0.880.88P-P0.870.86C-C-no-attend0.580.68Baseline0.740.77
当我们将一个字符解码器替换为音素解码器时,即C-P系统和P-C系统,它们的性能会稍差一些。这应该是因为Babel数据集中的发音辞典比较粗糙而导致的。当我们对音频和文本同时使用音素解码器时,与其他系统相比,我们得到的性能最差,但是即使如此,P-P系统仍然优于端到端基线系统。我们注意到的另一个重要的事情是,如果没有注意机制,系统的性能将极度下降,甚至比基线系统还要差,这说明了注意力机制对系统的重要性。
在第2.4节中,我们介绍了注意力机制,它可以将文本编码器和音频编码器所提取的文本和音频特征进行融合。具体而言,注意力机制可以对于每个时间步生成一组权重。然后,根据这组权重,对文本和音频特征所结合的特征进行加权求和,如式(5)所示。注意力机制所输出的权重如图2所示。其中,(a)和(b)分别展示了在训练刚开始的时候,对于负样本和正样本,注意机制的输出,图中底部的高亮水平线表示此时注意机制仅仅无差别的关注了最末端所对应的特征,此时对于关键词检索,注意力机制没有起到我们预想的作用。(c)和(d)分别表示在经过训练模型收敛后,负样本和正样本对应的注意力机制输出,可以看到,注意机制关注正样本的总体特征的上半部分(也就是语音段中比较靠前的部分),而对于负样本的注意力机制则几乎无差别地关注了所有时间步。
图2 不同时期注意力机制输出权重的可视化结果
Fig.2 Visualisation of attention mechanism at different time
需要指出的是,在基于注意力机制的语音识别系统中,注意力机制输出的图像一般是类似于阶梯状的,其原理在于训练模型的对齐能力。然而,对于关键词检索系统的注意力机制中,仅仅需要使注意力机制更多地注意到关键词可能存在的地方,而并不需要对齐,所以此处的注意力机制所输出的权重是不呈阶梯状的。这是语音识别中和关键词检索中的注意力机制的主要差别。
我们使用TWV(Term Weighted Value)[23]来评估关键词检索系统。其定义如式(7)所示,
(7)
其中θ是阈值,β是权重参数,Q表示所有的关键词,Pmiss是漏报率,Pfa是虚警率。可以看到,β越大,系统所被允许的虚警就越少。在此β=999.9,这是OpenSAT19评测中的默认值,意味着对虚警的惩罚是非常重的。
为了让评测的结果具有可比性,我们使用了官方的名为F4DE的开源评测工具(2)https:∥github.com/usnistgov/F4DE。在TWV的定义中,我们可以看到,TWV实际上是阈值θ的函数。当使用关键词检索系统的默认阈值(0.5)时,得到的是ATWV(Actual TWV)。如果变更阈值,选择某一个特定的阈值来最大化ATWV,便可以得到MTWV(Maximum TWV),显然,MTWV是ATWV的上界。接着,如果允许为每个关键词设置各自的最佳阈值,将得到OTWV(Optimum TWV),显然,OTWV是MTWV的上限。最后,在OTWV的条件下,如果将β设置为0,则将得到STWV(Supremum TWV),而它显然是OTWV的上限。ATWV, MTWV,OTWV以及STWV都可以通过官方评估工具F4DE直接计算得到。
我们首先从两个方面进行实验。一个是不同种类音频文本解码器组合下的系统性能(表10和表11)。另一个是训练数据量对于系统性能的影响(表12)。我们使用ALL和OOV分别表示全部要被检索的关键词和其中的集外词,当然,集外词OOV是全部关键词ALL的一个真子集。具体而言,集外词是指训练集中不曾出现的单词或短语。因此,对于FLP,40H和LLP,有不同数量的OOV关键词。在我们的实验中,FLP,40H和LLP训练集中分别有240、383和976个OOV关键词,而全部要被检索的关键词,也就是ALL,有4203个。另外,我们对模型在阿萨姆语数据集上的性能进行了测试(表13和表14),其中,对于阿萨姆语LLP训练集,有3324个关键词,其中OOV关键词为739个。
在表10中,关于ATWV和MTWV,由于虚警率很高,所以端到端关键词检索系统与基于语音识别的SGMM系统相比是不具有竞争力的。出现这种情况的原因在于,在MTWV和OTWV中β=999.9,使用F4DE进行评测时,将会选择一个很大的接近甚至完全等于一的阈值来尽可能降低虚警率。另一方面,不幸的是,端到端关键词检索系统输出的负样本置信度得分是可能大于正样本的,最终导致了MTWV为零。其深层次的原因在于,端到端系统试图学习的是两个嵌入空间(即文本和音频特征空间)之间的映射,而这种映射相对而言是缺乏鲁棒性的,而另一方面基于语音识别的关键词检索是在语音识别的解码结果之上进一步执行的,这也确实让整个系统更加的鲁棒。出于同样的原因,即端到端系统不依赖于语音识别,而是学习两个空间之间的映射关系,可以看到在表10中,就STWV而言,所提系统在OOV方面比SGMM更好。基于语音识别的关键词检索在训练语音识别系统的时候没有经历过这些集外词,所以,在对这些词的检测方面,基于语音识别的关键词检索相比于所提系统性能要差。需要指出的是,表10和表11二者之间是不能进行比较的,因为在ALL和OOV之下,对应了不同的关键词集合,即式(7)中的Q在ALL和OOV的情况下是不相同的。尽管如此,仍然可以看到,所提模型在OOV上的性能几乎与在ALL上的性能相同,原因与之前相同,端到端系统试图学习两个嵌入空间之间的映射,所以在集外词的适应性上要比基于语音识别的关键词检索更好一些。事实上,在端到端系统中,处理ALL和OOV关键词的方法是相同的。和基线系统相比,所提系统在不同的解码器组合之下均优于之。
表10 不同模型对所有关键词ALL的TWV结果
Tab.10 TWV results for different models in ALL
模型ATWV虚警率漏报率MTWV虚警率漏报率OTWVSTWVC-C-26.32800.00000.026710.6180.000001.0000.03220.3850P-C-24.30460.00000.024690.6170.000001.0000.04250.4054C-P-26.66770.00000.027020.6470.000001.0000.00200.3559P-P-26.60130.00000.026950.6570.00001.0000.00000.3456Baseline-0.53350.00000.000530.9990.000001.0000.00160.0974SGMM0.35810.36600.000070.5750.000080.5550.50150.6445
表11 不同模型对集外词OOV的TWV结果
Tab.11 TWV results for different models in OOV
模型ATWV虚警率漏报率MTWV虚警率漏报率OTWVSTWVC-C-23.80050.00000.024130.06740.000001.0000.02510.3358P-C-20.45590.00000.020820.6440.000001.0000.02640.4232C-P-23.67630.00000.024000.6820.000001.0000.00660.3185P-P-25.01680.00000.025380.06390.000001.0000.00000.3856Baseline0.00000.00000.000011.0000.000001.0000.00000.1406SGMM0.02340.05720.000040.9360.000010.9360.11870.2993
表12 不同训练数据量训练的不同模型对所有关键词ALL的TWV结果
Tab.12 TWV results for different models trained with different amount of data in ALL
模型ATWV虚警率漏报率MTWV虚警率漏报率OTWVSTWVC-C-FLP-26.32800.00000.026710.6180.000001.0000.03320.3850C-C-40H-26.58920.00000.026860.7360.000001.0000.00000.2690C-C-LLP-25.11430.00000.025250.8640.000001.0000.00000.1475Baseline-FLP-0.53350.00000.000530.9990.000001.0000.00160.0974Baseline-40H-23.98710.00000.024130.8640.000001.0000.00000.0760Baseline-LLP-26.33800.00000.026400.9370.000001.0000.00000.0665SGMM-FLP0.35810.36600.000070.5750.000080.5550.50150.6455SGMM-40H0.31210.31900.000070.6210.000100.5840.45670.5997SGMM-LLP0.00900.00900.000010.9850.000010.9850.01450.0345
表13 不同的模型对所有关键词ALL在阿萨姆语LLP数据集上的TWV结果
Tab.13 TWV results in ALL for different models trained on Assamese LLP dataset
模型ATWV虚警率漏报率MTWV虚警率漏报率OTWVSTWVC-C-16.94760.00000.017060.8870.000001.0000.00000.4029Baseline-13.48750.00000.013530.9620.000001.0000.00000.0404SGMM0.14370.16520.000110.7410.000070.7690.26820.3984
表14 不同的模型对集外词OOV在阿萨姆语LLP数据集上的TWV结果
Tab.14 TWV results in OOV for different models trained on Assamese LLP dataset
模型ATWV虚警率漏报率MTWV虚警率漏报率OTWVSTWVC-C-12.95860.00000.013050.9120.000001.0000.00000.4057Baseline-26.58920.00000.026860.7360.000001.0000.00000.2690SGMM-0.09310.01700.000140.9540.000010.9770.05920.2003
总结如下,与基于语音识别的关键词检索系统相比,本文所提系统的主要差距在于其较高的虚警率,可以看到,对于端到端关键词检索系统,STWV(β=0)都比OTWV和MTWV(β=999.9)大得多。这种较高的虚警率目前是比较难以避免的,因为端到端基线系统同样也面临同样的问题。然而,参考STWV这个性能指标,对于集外词(表11)而言,所提系统要比传统系统更具优越性,这是一个优势。
表12中列出了我们使用不同训练数据量下训练出的模型性能,我们注意到,在LLP的条件下,也就是只有大约10小时的训练数据的情况下,由于训练数据的减少,传统的基于语音识别的系统STWV严重恶化。而在另一方面,所提系统的性能也的确会下降,但是当训练数据量减少时,其性能不会恶化的如此严重。
最后,可以看到,在表13和表14中,不同模型在阿萨姆语LLP数据集上的实验结果,基本和普什图语的LLP上的结果类似,说明我们的模型可以同样应用于其他语种。
正如在上一节中看到的那样,所提系统的ATWV受到了高虚警率的限制。为了缓解这个问题,在此提出两种方法。第一个是调整训练过程中正负样本的比例。第二个是融合多个系统的输出,以便获得更可靠的检测结果。
3.7.1 调整正负样本比例
对于第一种方法,调整正样本和负样本的比例,分别将正样本和负样本的比例设置为0.1、0.2、0.5和1.0(默认值),并在FLP训练集上对C-C系统和基线系统进行重新训练。结果示于表15,其中C-C-0.1表示C-C模型在正负样本比例为0.1的训练集上训练得到的模型,其他的名称具有相似的含义。
表15 不同正负样本比例数据训练的模型性能
Tab.15 Results for models trained with different ratio of positive and negative samples
模型FaMissATWVC-C-0.10.005120.850-4.9738C-C-0.20.012230.741-11.9652C-C-0.50.021470.654-21.1257C-C-1.00.026710.618-26.3280Baseline-0.10.000001.0000.0000Baseline-0.20.000001.0000.0000Baseline-0.50.000240.998-0.2396Baseline-1.00.000530.999-0.5335
可以看到,随着正样本比例的降低,C-C系统的误报率下降了。令人意外的是,我们发现在正样本比例极低的情况下(如0.1和0.2时),基线系统是无法很好地被训练的,可以看到正样本比例为0.1或0.2时,事实上基线系统无法进行任何检测了。因此,所提系统在适应正样本比例变化方面比基线系统更好很多。
3.7.2 模型融合
减少虚警率并提高TWV性能的另一种方法是将多个系统的输出融合起来。从直观的角度来看,与单个系统相比,多个系统同时输出虚警的可能性是比较小的。我们从两个不同的角度对多个系统进行了融合。一个是融合在正样本的比例条件下训练出来的系统,另一个是不同音频文本解码器组合下的系统。结果展示在表16中,其中All-Ratio表示将不同正负样本比例训练集所训练出来的C-C模型融合得到的模型,All-Mode表示将C-C, C-P, P-C, P-P在正负样本比例为1.0的训练集上训练并融合所得到的模型,All-FLP表示所有以上模型融合在一起的模型。
表16 不同组合的模型融合之后的性能
Tab.16 Results for different combinations of models
模型ATWV虚警率漏报率MTWV虚警率漏报率OTWVSTWVAll-FLP-12.26620.00170.012650.6200.000000.9950.08570.4993All-Ratio-6.43070.00150.006720.7100.000000.9970.07520.4700All-Mode-22.85320.00040.023300.5580.000000.9980.08110.4738
最终获得了一个正的MTWV,这说明可以通过融合多个系统的输出来减少虚警率,从而提升ATWV和MTWV。同时可以看到OTWV和STWV的差距相比于表10和表11缩小了很多,且都要比表10和表11中的单个系统要好(除SGMM外)外,这预示着通过融合可以让系统逼近其性能的上限。
我们提出了一种新的端到端无语音识别的关键词检索系统。文本和音频编码器分别将输入的关键词文本和语音转换为文本和音频特征。文本和音频解码器分别将编码器提取的特征转换为对应的字符或音素序列,从而监督文本和音频编码器的工作。注意机制结合文本和音频特征并输出上下文特征。它会对可能含有关键词的时间位置给予更高的权重。最终,判别器对注意力机制输出的上下文特征作出处理,并给出置信度分数。实验表明,注意力机制对于所提系统至关重要,新系统的性能也优于基线端到端系统。与传统的关键词检索系统相比,其优势在于对集外词的适应程度。另一方面,在训练资源受限的条件下,新系统比传统的关键词检索系统更不易受到影响。同时,其主要缺点在于虚警率较高。这背后的深层次原因是端到端系统尝试去学习到两个编码空间之间的映射关系,而这种映射关系对于虚警率而言,目前还没有超越语音识别系统。最后,为了缓解高虚警率的问题,本文提出了两种方法,均取得了对虚警率的有效抑制。
[1] Audhkhasi K, Rosenberg A, Sethy A, et al. End-to-end ASR-free keyword search from speech[J]. IEEE Journal of Selected Topics in Signal Processing, 2017, 11(8): 1351-1359.
[2] Kingsbury B, Cui Jia, Cui Xiaodong, et al. A high-performance Cantonese keyword search system[C]∥2013 IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2013: 8277- 8281.
[3] 李鹏, 屈丹. 采用词图相交融合的语音关键词检测方法[J]. 信号处理, 2015, 31(6): 702-709.
Li Peng, Qu Dan. Keyword spotting using the lattice intersection fusion[J]. Journal of Signal Processing, 2015, 31(6): 702-709.(in Chinese)
[4] Chen Guoguo, Khudanpur S, Povey D, et al. Quantifying the value of pronunciation lexicons for keyword search in lowresource languages[C]∥2013 IEEE International Conference on Acoustics, Speech and Signal Processing. IEEE, 2013: 8560- 8564.
[5] Rosenberg A, Audhkhasi K, Sethy A, et al. End-to-end speech recognition and keyword search on low-resource languages[C]∥2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2017: 5280-5284.
[6] Hartmann W, Le V B, Messaoudi A, et al. Comparing decoding strategies for subword-based keyword spotting in low-resourced languages[C]∥Fifteenth Annual Conference of the International Speech Communication Association, 2014.
[7] Tjandra A, Sakti S, Nakamura S. End-to-end speech recognition sequence training with reinforcement learning[J]. IEEE Access, 2019, 7: 79758-79769.
[8] Zhao Yue, Yue Jianjian, Xu Xiaona, et al. End-to-end-based Tibetan multitask speech recognition[J]. IEEE Access, 2019, 7: 162519-162529.
[9] Nassif A B, Shahin I, Attili I, et al. Speech recognition using deep neural networks: A systematic review[J]. IEEE Access, 2019, 7: 19143-19165.
[10] Wang Yiyan, Long Yanhua. Keyword spotting based on CTC and RNN for Mandarin Chinese speech[C]∥2018 11th International Symposium on Chinese Spoken Language Processing (ISCSLP). IEEE, 2018: 374-378.
[11] Zeng Mengjun, Xiao Nanfeng. Effective combination of DenseNet and BiLSTM for keyword spotting[J]. IEEE Access, 2019, 7: 10767-10775.
[12] Chen Guoguo, Yilmaz O, Trmal J, et al. Using proxies for OOV keywords in the keyword search task[C]∥2013 IEEE Workshop on Automatic Speech Recognition and Understanding. IEEE, 2013: 416- 421.
[13] Graves A, Fernndez S, Gomez F, et al. Connectionist temporal classification: labelling unsegmented sequence data with recurrent neural networks[C]∥Proceedings of the 23rd International Conference on Machine Learning, 2006: 369-376.
[14] Amodei D, Ananthanarayanan S, Anubhai R, et al. Deep speech 2: End-to-end speech recognition in English and Mandarin[C]∥International Conference on Machine Learning, 2016: 173-182.
[15] Lengerich C, Hannun A. An end-to-end architecture for keyword spotting and voice activity detection[J]. arXiv preprint arXiv: 1611.09405, 2016.
[16] Chan W, Jaitly N, Le Q, et al. Listen, attend and spell: A neural network for large vocabulary conversational speech recognition[C]∥2016 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2016: 4960- 4964.
[17] Cho K, Van Merri⊇nboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv preprint arXiv: 1406.1078, 2014.
[18] Cho K, Van Merri⊇nboer B, Bahdanau D, et al. On the properties of neural machine translation: Encoder-decoder approaches[J]. arXiv preprint arXiv: 1409.1259, 2014.
[19] Ioffe S, Szegedy C. Batch normalization: Accelerating deep network training by reducing internal covariate shift[J]. arXiv preprint arXiv: 1502.03167, 2015.
[20] Povey D, Ghoshal A, Boulianne G, et al. The Kaldi speech recognition toolkit[C]∥IEEE 2011 workshop on automatic speech recognition and understanding. IEEE Signal Processing Society, 2011 (CONF).
[21] Abadi M, Barham P, Chen J, et al. Tensorflow: A system for large-scale machine learning[C]∥12th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 16). 2016: 265-283.
[22] F. Cholletetal., “Keras,” https:∥github.com/fchollet/keras, 2015.
[23] Rodriguez-Fuentes L J, Penagarikano M. MediaEval 2013 spoken web search task: System performance measures[J]. n.TR-2013-1, Department of Electricity and Electronics, University of the Basque Country, 2013.
Reference format: Zhao Zeyu, Zhang Weiqiang, Liu Jia. End-to-End Keyword Search System Based on Attention Mechanism and Multitask Learning[J]. Journal of Signal Processing, 2020, 36(6): 839-851. DOI: 10.16798/j.issn.1003- 0530.2020.06.005.
赵泽宇 男, 1995年生,辽宁人。清华大学2017级电子工程系硕士在读生。主要研究方向为关键词检索、语音识别和机器学习。
E-mail: zzy17@mails.tsinghua.edu.cn
张卫强(通信作者) 男, 1979年生。清华大学电子工程系副研究员。主要研究方向为语音与音频信号处理、统计模式识别以及机器学习。
E-mail: wqzhang@tsinghua.edu.cn
刘 加 男, 1954年生。清华大学电子工程系教授。主要研究方向为语音与音频信号处理。
E-mail: liuj@tsinghua.edu.cn