2. 南洋理工大学 Temasek实验室, 新加坡;
3. 新加坡科技局 资讯通信研究院, 人类语言技术部, 新加坡;
4. 南洋理工大学 计算机工程学院, 新加坡
2. Temasek Lab, Nanyang Technological University, Singapore;
3. Institute for Infocomm Research, A*STAR, Singapore;
4. School of Computer Engineering, Nanyang Technological University, Singapore
语音关键词检出(spoken term detection,STD)是从给定的语料数据中查询指定关键词是否出现的任务。 该任务在语音检索、 电话监控、 舆情分析等领域具有广泛的应用。 根据关键词的输入形式,该任务可以分为基于文本[1-2]和基于语音样例[3-12]两种类型。 传统的基于文本的关键词检出技术又称为关键词搜索(keyword search,KWS),通常基于一个大词汇量连续语音识别系统,在识别的NBest结果或者网格上进行搜索。 近年来,基于样例的语音关键词检出(query-by-example spoken term detection,QbyE-STD)成为新的研究热点。 MediaEval多媒体评测组织从2011年起,已经连续4年进行了QbyE-STD方面的评测,瞄准跨语种、 少资源或零资源(low or zero-resource)场景下的关键词检出任务。 在没有任何针对待检语种的专家知识(如音素、 词、 发音字典等)和标注数据的情况下,无法建立一个有效的语音识别系统,传统基于文本的关键词检出技术无法直接应用。
QbyE-STD目前通常有3种实现方法[3-4]。 一种是借鉴传统语音关键词检出的思路,称之为声学关键词检出(acoustic keyword spotting,AKWS)[3]。 另外一种是借助其他语种成熟的语音识别系统进行解码,将查询样例和待检语音转换成音素序列或音素网格,而后进行字符串匹配,该类方法称之为字符搜索(symbolic search,SS)[5-6]。 此类方法通常采用加权有限状态机(weighted finite state transducer,WFST)建立索引并进行快速查找。 还有一种方法是基于经典的模板匹配的思路,采用动态时间规整(dynamic time warping,DTW)[6-13]将查询样例和待查语句进行匹配。 由于查询语句的时长通常远远大于样例时长,因此需要在语句上进行滑动查找,常用策略包括Segmental-DTW[8] 、 Subsequence-DTW[14]、 SLN-DTW (segmental local normalized DTW)[15]等。
本文以西北工业大学、 新加坡南洋理工大学、 新加坡资讯通信研究院联合组队参加MediaEval 2014少资源语言关键词检出评测(QUESST)[9]而提交的系统为例,介绍如何运用DTW算法有效提升关键词检出的效果。 该系统融合DTW模板匹配和字符搜索2种策略,在评测中获得综合评测第2名、 第3种复杂查询T3第1名的成绩。 本文采用SLN-DTW算法[15]进行关键词匹配,针对评测中 “模糊查询” 的复杂评测子任务,提出了基于滑动固定窗的局部匹配和基于音素边界的局部匹配两种策略。 实验表明,基于音素边界的局部匹配策略可以明显提升关键词检出效果; 将使用该策略的DTW子系统与参加评测的DTW系统进行融合后,检测效果得到进一步提升。
1 MediaEval QUESST 2014评测介绍QUESST瞄准少资源语言的关键词检出,评测数据中包含多种少资源语言的未标注语音数据,语音文件来自不同录制环境和多种说话风格,部分语音文件带有较强的背景噪声。
QUESST 2014任务提供了包含23 h的检索语料库,共12 492句话。 用于算法调试的发展集关键词560个,最终评测集关键词555个。 语料涉及斯洛伐克语、 罗马尼亚语、 阿尔巴尼亚语、 捷克语、 巴斯克语和英语等6种语言,其中英语部分多来自非母语说话人。 在评测任务期间,语料库不提供任何语种信息。
评测任务分为3种不同类型的查询[9]:
1) 精确查询T1: 在语料库中找出与查询关键词精确匹配的地方。
2) 近似查询T2: 允许前后缀不同的匹配,例如给定的关键词是“friend”,可以匹配到语料库中包含“friendly”和“friends”单词的句子。
3) 近似查询T3: 在T2类型的基础上允许填充词和次序颠倒的匹配,例如给定的关键词为“white house”,在语料库中可以找到包含“house is whiter”的句子。
评测结果采用最小交叉熵(Cnxe)和TWV(term weighted value)来衡量[9]。 为了计算这2项指标,参加评测的队伍需要提交每个关键词在语料库中每个句子上的打分,用以表示该关键词与该句子的匹配分数。
2 系统框架与特征提取图 1中,基于DTW的QbyE-STD系统通常包括特征提取和关键词匹配2个部分。 常用特征包括谱特征和后验特征。 为了提高匹配精度并提高计算效率,在进行关键词匹配之前,通常经过语音激活检测(VAD)来去除关键词与待检语句中的静音部分。
短时谱特征如Mel倒谱系数(MFCC)是目前语音识别中广泛采用的语音特征。 然而该类特征在基于模板匹配的QbyE-STD任务中效果欠佳。 与语音识别中通过大量样本建立的语音统计模型(如HMM)不同,DTW算法进行的是关键词—语句的 “一对一” 模板匹配,因此对说话人、 信道和环境不具备鲁棒性。 研究表明,MFCC特征在关键词和待检语句来自同一说话人的情况下,检出效果尚可,但是跨说话人检测效果较差[3-4]。 因此,具有统计特性的语音特征具有更好的鲁棒性。
后验特征(posterior)是一类常用的统计语音特征,在QbyE-STD任务上表现出良好的效果。 给定一帧语音的谱特征向量a,后验特征定义为在K个类别C1,C2,…,CK上的后验概率分布:
${{P}_{a}}=\left[ P\left( {{C}_{1}}|a \right),P\left( {{C}_{2}}|a \right),...,P\left( {{C}_{K}}|a \right) \right].$ | (1) |
其中P(Ck|a)是a在第k类上的后验概率。 例如,类别定义为音素,训练基于HMM的音素识别器对语音数据进行解码,得到在每个音素上的打分即为音素后验特征。 与此类似,针对语音数据训练具有K个成分Gauss混合模型(GMM),然后对每帧语音数据在K个Gauss成分上打分,即可得到GMM后验特征(GMM posterior)。 一般来说,音素后验特征在基于DTW的QbE-STD任务中的效果最好。 但是对于少资源语言来说,在没有该语种的专家知识和标注数据的情况下,通常无法训练音素识别器。 借用其他语种的音素识别器(不匹配音素识别)来获得音素后验特征,是一种普遍采用的做法[10-11, 16]。 此外,采用机器学习方法自动发现某种语言中的“类音素”子词单元,获得类音素后验特征也是一种可行的方法[17-18]。
3 基于DTW模板匹配方法本文采用SLN-DTW算法进行关键词与语句的匹配[15]。 与Segmental-DTW[8]、 Subsequence-DTW[14]等相比,SLN-DTW在效率和效果上具有明显优势[3-4]。
3.1 SLN-DTW图 2中,现给定一个以语音特征序列组成的语音关键词q=(q1,q2,…,qm),其中m为语音关键词的帧数; 语料库中待检的以语音特征序列组成的某个句子s=(s1,s2,…,sn),其中n为语音句子的帧数。 首先计算关键词q和句子s各帧之间的距离矩阵dist,其中dist(i,j) 代表关键词的第i帧与句子的第j帧之间的距离,1≤i≤m,1≤j≤n。 对于MFCC和SBN(stacked bottle-neck)[19]等特征,通常使用余弦距离:
$\text{dist}\left( i,j \right)=1-\frac{q_{i}^{T}{{s}_{j}}}{|{{q}_{i}}||{{s}_{j}}|}.$ | (2) |
对于后验特征,通常使用内积距离:
$\text{dist}\left( i,j \right)=-\text{ln}(q_{i}^{T}{{s}_{j}}).$ | (3) |
得到距离矩阵后,需对距离矩阵进行归一化处理以使距离取值在0到1之间:
$\begin{align} & \text{dis}{{\text{t}}_{\text{norm}}}\left( i,j \right)= \\ & \frac{\text{dist}\left( i,j \right)-\underset{j=1,2,...,n}{\mathop{\text{min}}}\,\left( \text{dist}\left( i,j \right) \right)}{\underset{j=1,2,...,n}{\mathop{\text{max}}}\,\left( \text{dist}\left( i,j \right) \right)-\underset{j=1,2,...,n}{\mathop{\text{min}}}\,\left( \text{dist}\left( i,j \right) \right)}. \\ \end{align}$ | (4) |
SLN-DTW算法的目的是在距离矩阵中找到一条使平均累积距离cost(i,j)=a(i,j)/l(i,j)最小的匹配路径。 其中a(i,j)代表从某个起点(1,e)到达(i,j)所经历的累计距离,而l(i,j)表示从某个起点(1,e)开始到达(i,j)所经历的路径长度。 为了得到最小匹配路径,通常采用动态规划(DP)方法 [7, 15, 20]:
步骤1 初始化a和l:
$\left\{ \begin{align} & a\left( i,1 \right)=\sum\limits_{k=1}^{i}{\text{dis}{{\text{t}}_{\text{norm}}}\left( k,l \right)}, \\ & l\left( i,1 \right)=i, \\ \end{align} \right.\text{ }$ | (5) |
$\left\{ \begin{align} & a\left( 1,j \right)=\text{dis}{{\text{t}}_{\text{norm}}}\left( 1,j \right), \\ & l\left( 1,j \right)=1. \\ \end{align} \right.$ | (6) |
步骤2 迭代计算,对于i>0且j>0的部分从{(i-1,j),(i,j-1),(i-1,j-1)}中选取一个点(u,v),使$\frac{a\left( u,v \right)+\text{dis}{{\text{t}}_{\text{norm}}}\left( i,j \right)}{l\left( u,v \right)+1}$最小,则:
$\left\{ \begin{align} & a\left( i,j \right)=a\left( u,v \right)+\text{dis}{{\text{t}}_{\text{norm}}}\left( i,j \right), \\ & \left( i,j \right)=l\left( u,v \right)+1. \\ \end{align} \right.$ | (7) |
步骤3 找到$\underset{j=1,2,...,n}{\mathop{\text{min}}}\,\left( \cos \text{t}\left( m,j \right) \right)$,即为该关键词对当前句子的匹配分数,分数越低匹配度越高。
3.2 基于滑动窗的局部匹配SLN-DTW算法在解决QUESST 评测中的T1任务时表现出绝对的优势,然而在T2、 T3上效果不佳,原因在于上述算法并没有考虑局部匹配。 为此,本文提出了2种解决模糊查询的局部匹配策略。
1) 基于滑动固定窗的局部匹配: 在上述SLN-DTW算法的基础上,在语音关键词上加一个可以滑动的固定大小的窗口[6]。 窗口的大小和每次的滑动步长均可以调整,即每次只用关键词的语音特征序列的一部分与语料库中的每一个句子做匹配。 每次窗口滑动的时候计算出一个最佳匹配分数,最后取窗口滑动过程中得到的匹配分数最小值作为该语音关键词对该句子的最终匹配分数。 该局部匹配算法策略简单、 直观。
2) 基于音素边界的局部匹配: 滑动固定窗策略虽然实现了局部匹配,但是对于固定窗长度的选取以及每次窗口的滑动步长都需要调节已达到最优。 不仅如此,对于不同关键词,最佳窗长往往是不同的,这使得该策略在实际解决近似查询问题时效果欠佳。 为了使每次取得的关键词匹配区域更“有意义”,本文借助其他语种的音素识别器对关键词进行解码,得到每个关键词所包含的“音素”边界信息。 在图 3中,以音素边界为基础,每次取固定音素长度的窗口(如取6个音素)与语料库中的句子做匹配。 在匹配中,每次移动1—2个音素的距离,最后依然取窗口滑动过程中得到的最小匹配分数作为该语音关键词对该句子的最终匹配分数。 假设现在给定的关键词是“bomb the fruit shop”,待匹配语句是 “I will attack the fruit shop at next Saturday afternoon”,采用该策略可以方便地找到部分匹配区域“the fruit shop”。
4 实验设置
在QUESST发展集和评估集上对节3中3种策略进行了关键词检出测试,采用的语音特征包括:
1) MFCC: 39维经过VTLN和CMVN预处理的MFCC特征,包括一阶和二阶差分。
2) EN SBN: 使用100个小时的SWB(SwitchBoard)数据训练基于深度神经网络的英文音素识别器,在QUESST数据上获得SBN特征,其中音素个数为42。
3) CZ 音素后验: 布尔诺科技大学(Brno University of Technology,BUT)提供的捷克语音素识别器[16]在QUESST数据上解码获得的音素后验特征,音素个数为45。
4) HU音素后验: BUT提供的匈牙利语音素识别器[16]在QUESST数据上解码获得的音素后验特征,音素个数61。
5) RU音素后验: BUT提供的俄语音素识别器[16]在QUESST数据上解码获得的音素后验特征,音素个数为52。
其中用来提取CZ、 HU和RU音素后验特征的音素识别器可以获得音素边界信息,因此基于音素边界的局部匹配策略在这3种特征上进行了实验。
对于使用基于滑动固定窗的局部匹配策略的子系统,经调试本文最终设置固定窗口的大小为60帧,窗移为5帧。 对于使用基于音素边界局部匹配策略的子系统,经调试设置窗口的大小为6个音素的长度,窗口移动的步长为1个音素。
实验结果以MinCnxe和MaxTWV衡量。 其中,MinCnxe最初用于衡量说话人辨认评测结果,它的取值越小越好,具体可以参考文[21]; MaxTWV是指给定一个最优阈值时,系统漏检率(miss)和虚警(false alarm)在所有检测关键词上的一个加权平均值,取值越大越好[22]。
5 实验结果表 1给出了全匹配、 基于滑动固定窗的局部匹配和基于音素边界的局部匹配策略在QUESST评测任务中的结果,其中包括在发展集上每种子任务的结果、 在发展集上的综合结果和在评估集上的综合结果。 全匹配策略在解决T1时,EN SBN特征的效果与BUT的HU和RUS音素后验特征的接近,但当音素后验特征加入音素边界信息后,在所有查询任务上,音素后验特征的效果均显著好于EN SBN特征的。 这说明借用其他语种成熟的音素识别器,在少资源语言上获得音素后验特征,进行基于DTW的关键词检出,是一种可行的方法。
系统 | MinCnxe/MaxTWV | |||||
特征 | 策略 | T1 | T2 | T3 | T1+T2+T3发展集 | T1+T2+T3评估集 |
MFCC | 全匹配 | 0.875/0.112 | 0.933/0.038 | 0.964/0.017 | 0.915/0.052 | 0.924/0.062 |
固定窗局部匹配 | 0.844/0.130 | 0.946/0.036 | 0.922/0.040 | 0.906/0.085 | 0.889/0.098 | |
EN SBN | 全匹配 | 0.753/0.305 | 0.883/0.129 | 0.951/0.031 | 0.847/0.186 | 0.840/0.175 |
固定窗局部匹配 | 0.772/0.196 | 0.875/0.107 | 0.878/0.087 | 0.840/0.141 | 0.796/0.157 | |
CZ音素后验 | 全匹配 | 0.690/0.361 | 0.874/0.125 | 0.911/0.017 | 0.814/0.201 | 0.786/0.178 |
固定窗局部匹配 | 0.875/0.112 | 0.933/0.038 | 0.947/0.017 | 0.915/0.051 | 0.892/0.056 | |
音素边界局部匹配 | 0.583/0.370 | 0.778/0.240 | 0.765/0.164 | 0.708/0.267 | 0.650/0.290 | |
HU音素后验 | 全匹配 | 0.763/0.307 | 0.889/0.123 | 0.923/0.014 | 0.846/0.172 | 0.831/0.151 |
固定窗局部匹配 | 0.910/0.086 | 0.930/0.043 | 0.957/0.012 | 0.927/0.043 | 0.911/0.053 | |
音素边界局部匹配 | 0.633/0.326 | 0.789/0.208 | 0.722/0.148 | 0.728/0.238 | 0.691/0.245 | |
RU音素后验 | 全匹配 | 0.764/0.317 | 0.882/0.139 | 0.933/0.015 | 0.844/0.180 | 0.825/0.167 |
固定窗局部匹配 | 0.908/0.087 | 0.933/0.047 | 0.961/0.005 | 0.930/0.043 | 0.901/0.063 | |
音素边界局部匹配 | 0.647/0.260 | 0.647/0.171 | 0.759/0.121 | 0.741/0.190 | 0.704/0.212 |
综合在所有特征上的结果,还可以看出基于滑动固定窗的局部匹配策略在3种匹配策略中表现最差,此策略在QUESST的T2和T3任务上的效果不如普通全匹配策略的。 经分析,原因主要有: 1) 窗口大小和窗口滑动步长选择没有较为合适的方法,此外对于不同关键词,窗口大小应该灵活设置; 2) 固定窗口在滑动时,从语音关键词中选择的匹配区域,没有明显的物理意义,可能将完整的音素截断。 相比之下,使用基于音素边界的局部匹配策略在解决T2和T3时,实验结果在MinCnxe和MaxTWV两项指标上均有显著改善,尤其在MaxTWV指标上的提升更加显著。 而在T1上,除RU音素后验特征外,基于音素边界的局部匹配使匹配效果也有所提升。 经过对匹配结果的分析,可以发现,这种策略可以明显提升查询的命中率,同时使虚警率略微升高。
本文将3个使用基于音素边界局部匹配策略的DTW子系统与参加QUESST评测的9个DTW子系统(9-DTW-Fusion)[6]融合,该9-DTW-Fusion系统仅使用基于滑动固定窗的方法解决近似查询的问题。 融合后得到12-DTW-Fusion的融合系统,融合前后的效果对比如表 2所示。 其中,基于符号搜索(SS)的融合系统(SS-Fusion)[5]也列入其中进行对比。 融合采用Focal工具包进行[23]。 可以看出 12-DTW-Fusion系统相比原9-DTW-Fusion系统,MinCnxe和MaxTWV两项指标在3种查询类型上均有显著改善。 同时可以看到,2个DTW融合系统的性能显著好于SS-Fusion融合系统的。
最后本文将12-DTW-Fusion 和 SS-Fusion[5] 系统进一步融合,得到新的融合系统,与BUT参加评测的系统[10]、 SPL-IT参加评测的系统[12]进行了比较,结果如表 3所示。 可以发现,最终融合系统在T1上效果较差,在T2上与BUT和SPL-IT系统效果接近,而在T3上效果显著好于其他2个系统的。 经分析,效果提升主要归功于3个基于音素边界局部匹配的DTW子系统。
6 结 论
本文提出了在DTW框架下的基于音素边界的局部匹配策略,用以解决语言独立的基于样例的语音关键词检出任务中近似查询的问题。 在QUESST 2014评测数据上分别进行单系统和融合系统的实验。 实验结果显示,该策略在解决QUESST 2014任务的近似查询任务上有显著的效果。
[1] | Mary P. Intelligence advanced research projects activity (IARPA)[Z/OL].[2015-03-20] http://www.iarpa.gov/index.php/research-programs/babel. |
[2] | NIST. OpenKWS14 keyword search evaluation plan[Z/OL].[2015-03-20]. http://nist.gov/itl/iad/mig/upload/KWS14-evalplan-v11.pdf. |
[3] | Tejedor J, Fapšo M, Sz ke I, et al. Comparison of methods for language-dependent and language-independent query-by-example spoken term detection[J]. ACM Transactions on Information Systems, 2012, 30(3): 2317–2318. |
[4] | 杨鹏, 谢磊, 张艳宁. 低资源语言的无监督语音关键词检测技术综述[J]. 中国图象图形学报, 2015, 20(2): 0211–0218. YANG Peng, XIE Lei, ZHANG Yanning. Survey on unsupervised spoken term detection for low-resource languages[J]. Journal of Image and Graphics, 2015, 20(2): 0211–0218. (in Chinese) |
[5] | Xu H, Yang P, Xiao X, et al. Language independent query-by-example spoken term detection using n-best phone sequences and partial matching[C]//2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) Proceedings. Brisbane, QLD, Australia:IEEE Press, 2015:5191-5195. |
[6] | Yang P, Xu H, Xiao X, et al. The NNI query-by-example system for MediaEval 2014[C]//Working Notes Proceedings of the MediaEval 2014 Workshop. Barcelona, Spain:CEUR-WS, 2014, 1263. |
[7] | Yang P, Leung C C, Xie L, et al. Intrinsic spectral analysis based on temporal context features for query-by-example spoken term detection[C]//INTERSPEECH 2014 Proceedings. Singapore:IEEE, 2014:1722-1726. |
[8] | Zhang Y, Glass J R. Unsupervised spoken keyword spotting via segmental DTW on Gaussian posteriorgrams[C]//Proceedings of the 2009 IEEE Workshop on Automatic Speech Recognition and Understanding. Merano, Italy:IEEE, 2009:398-403. |
[9] | Anguera X, Rodriguez-Fuentes L J, Sz ke I, et al. Query by example search on speech at MediaEval 2014[C]//Working Notes Proceedings of the MediaEval 2014 Workshop. Barcelona, Spain:CEUR-WS, 2014, 1263. |
[10] | Sz ke I, Skácel M, Burget L. BUT QUESST 2014 system description[C]//Working Notes Proceedings of the MediaEval 2014 Workshop. Barcelona, Spain:CEUR-WS, 2014, 1263. |
[11] | 张卫强, 宋贝利, 蔡猛, 等. 基于音素后验概率的样例关键词检测算法[J]. 天津大学学报:自然科学与工程技术版, 2015, 48(9): 757–760. ZHANG Weiqiang, SONG Beili, CAI Meng, et al. A query-by-example spoken term detection method based on phonetic posteriorgram[J]. Journal of Tianjin University Science and Technology, 2015, 48(9): 757–760. (in Chinese) |
[12] | Proença J, Veiga A, Perdigão F. The SPL-IT query by example search on speech system for MediaEval 2014[C]//Working Notes Proceedings of the MediaEval 2014 Workshop. Barcelona, Spain:CEUR-WS, 2014. |
[13] | Müller M. Information Retrieval for Music and Motion[M]. Berlin: Springer, 2007. |
[14] | Anguera X. Speaker independent discriminant feature extraction for acoustic pattern-matching[C]//2012 IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP 2012) Proceedings. Kyoto, Japan:IEEE Press, 2012:485-488. |
[15] | Muscariello A, Gravier G, Bimbot F. Audio keyword extraction by unsupervised word discovery[C]//Proceedings of the 10th Annual Conference of the International Speech Communication Association, INTERSPEECH 2009. Brighton, UK:IEEE Press. 2009:2843-2846. |
[16] | Schwarz P, Matejka P, Cernocky J. Hierarchical structures of neural networks for phoneme recognition[C]//2006 IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP 2006. Toulouse, France:IEEE Press, 2006:I325-I328. |
[17] | Wang H, Lee T, Leung C C. Unsupervised spoken term detection with acoustic segment model[C]//14th Annual International Conference on Speech Database and Assessments, Oriental COCOSDA 2011. Hsinchu, Taiwan, China:IEEE Press, 2011:106-111. |
[18] | Wang H, Lee T, Leung C C, et al. A graph-based Gaussian component clustering approach to unsupervised acoustic modeling[C]//INTERSPEECH 2014. Singapore:IEEE Press, 2014:875-879. |
[19] | Zhang Y, Chuangsuwanich E, Glass J R. Extracting deep neural network bottleneck features using low-rank matrix factorization[C]//2014 IEEE International Conference on Acoustics, Speech, and Signal Processing, ICASSP 2014. Florence, Italy:IEEE Press, 2014:185-189. |
[20] | Gupta V, Ajmera J, Kumar A, et al. A language independent approach to audio search[C]//Conference of the International Speech Communication Association (ICASSP) Proceedings. Florence, Italy:IEEE Press, 2011:1125-1128. |
[21] | Rodriguez-Fuentes L J, Penagarikano M. MediaEval 2013 spoken web search task:system performance measures[Z/OL].[2015-03-20]. http://gtts.ehu.es/gtts/NT/fulltext/rodriguezmediaeval13.pdf. |
[22] | Fiscus J G, Ajot J, Garofolo J S, et al. Results of the 2006 spoken term detection evaluation[C]//Proc SIGIR 2007. Amsterdam, Netherlands:ACM, 2007:51-57. |
[23] | Brummer N. FoCal:Toolkit for evaluation, fusion and calibration of statistical pattern recognizers[Z/OL].[2015-03-20]. https://sites.google.com/site/nikobrummer/focal. |