基于动态匹配词格检索的关键词检测

2014-02-21 11:47郑永军张连海
应用科学学报 2014年2期
关键词:音素后验检索

郑永军, 张连海

信息工程大学信息系统工程学院,郑州450002

关键词识别(keyword recognition,KWR)又称为关键词检测(keyword spotting,KWS),是一种特殊的语音识别技术,指在连续的无限制的自然语音流中识别出给定的词即关键词的过程[1].语音关键词检测技术被看作是处理口语、跨越人机交流障碍最有效的解决方案之一[2],已成为语音识别研究领域的一个热点,在语音文档检索、信息查询、语音实时监听、命令控制以及口语对话系统等现实领域中都发挥着非常重要的作用.

随着信息技术的发展,语音数据呈爆炸式增长,迫切需要能够高效索引和检索这些数据的技术.目前,解决此问题的一种方法是应用语音转写机(speech-to-text transcription,STT)创建文本形式的索引,然后应用传统的文本检索引擎进行快速检索,但该方法受关键词表的限制,不适用于集外词(out-of-vocabulary,OOV)的检测领域,如新闻广播索引、语音文档检索、实时监听等.这些领域通常采用与关键词表、任务无关的检测方法,目前基于子词Lattice(如音素Lattice)的关键词检测[3-4]已成为一种主流的解决方法,因为Lattice能够保存多候选识别结果来补偿识别错误带来的影响,并取得了不错的检测效果,但仍存在子词识别错误和Lattice结构复杂等不足.

文献[5]充分考虑音素识别结果的错误规律和模糊发音现象,提出了一种基于动态匹配词格检索(dynamic match lattice spotting,DMLS)的方法,将基于Lattice的快速检测和动态序列匹配技术融合在一起,实现了快速而准确的关键词检测.文献[6]提出了音素误判惩罚矩阵的方法,综合考虑替换、插入和删除3种识别错误,通过训练语料来估计代价函数,其性能相对更好.文献[7]在DMLS中融合了维特比得分和Jaro-Winkler距离两种关键词置信度,提升了系统的性能.但在DMLS中,动态匹配并不能完全补偿音素识别错误,这是因为音素Lattice的精度直接影响了关键词检测的性能.因此,如何进一步提高前端识别结果的性能是解决问题的关键.TRAP(temporal pattern)特征是一种长时性特征,能有效利用语音信号的帧间相关性信息,不仅提高了声学特征的噪声鲁棒性,而且有助于解决音素的协同发音问题.鉴于此,本文采用基于TRAP特征的音素Lattice识别器作为前端,利用DMLS方法搭建了一个关键词检测系统,与传统的前端基于MFCC和PLP特征的识别器相比,该关键词检测系统的召回率提升显著.本文首先研究了基于TRAP特征的音素Lattice生成方法,然后研究了DMLS算法,最后搭建了语音关键词检测系统,并分析了实验结果.

1 基于TRAP特征的Lattice生成

1.1 Lattice结构

Lattice是由连续语音识别器一遍解码直接生成的中间结果,是一个有向无环图,代表识别中间过程的解码信息.在生成的Lattice结构中,基本元素包括节点信息和弧信息,如图1所示.每个节点包含识别单元信息、时间信息、以此节点为起点的弧及以此节点为终点的弧.每条弧包含识别单元的声学模型得分、语言模型得分、同起点的邻弧和同终点的邻弧[8].解码生成的Lattice提供了每个语音片段详细的音素表示形式,构成了后续索引和检索操作的基础.

图1 “start”的音素Lattice结构Figure 1 Phone Lattice structure of“start”

本文采用基于TRAP特征的音素Lattice生成方法.首先提取TRAP特征,然后将TRAP特征分割组合后输入高低两层多层感知器(multilayer perceptron,MLP)得到音素状态的后验概率,并以得到的音素状态的后验概率作为新的观测特征应用HMM建模,解码得到更精准的音素Lattice.

1.2 TRAP特征

目前,梅尔频域倒谱系数(mel frequency cepstrum coefficient,MFCC)和感知线性预测系数(perceptual linear predictive,PLP)是应用最广泛的特征参数,是语音识别领域特征提取技术的基础.这些特征描述的是语音信号一个短时间帧(通常为20-30ms)内的频谱包络特性,容易受到通信信道和窄带噪声等因素的影响而变得不稳定,从而导致音素识别器性能的下降[9-10].另外,语音学理论和相关实验分析表明,音素的一些重要信息分布在数百毫秒的时间跨度内,而不只是音素本身的持续时间.由于协同发音现象的存在,音素发音在时间上并不是完全独立存在的,相邻音素发音部分重叠且互相影响.这些都表明语音识别中需要应用能够捕捉长时信息的特征或模型[11].

图2 传统频谱特征和TRAP特征比较Figure 2 Comparison between conventional spectral feature and TPAP feature

针对上述问题,文献[9]提出把频谱特征进行时域扩展,即在帧长25ms帧移10ms的条件下,将当前帧的Mel子带能量和其前后各50帧的子带能量进行组合,得到1s长的时域扩展特征,这种时域子带特征被称为TRAP特征.TRAP特征主要是基于具有长时上下文信息的窄带频谱,其特征矢量描述的是各个Mel子带在长时间内的能量变化轨迹.该方法能有效利用语音信号的帧间相关性信息,不仅提高了声学特征的噪声鲁棒性,而且有助于解决音素的协同发音现象.文献[12]研究TRAP结构,通过实验得出音素识别最优的TRAP特征长度约为310ms,如图2所示.从此以后,基于TRAP特征及其改进方法获得了广泛应用[13].

1.3 多层感知器

多层感知器(MLP)是一种典型的多层前馈神经网络,能把输入的多个数据集映射到单一的输出数据集上,因具有较强的非线性映射能力而成为神经网络研究的热点之一.如图3所示,MLP是一个3层的神经网络,通常由3部分构成:一组感知单元(源节点)组成的输入层、一层或多层计算节点的隐含层、一层计算节点的输出层.同层神经元节点之间没有连接,相邻层的神经元节点间相互连接,前层节点的输出即为后层节点的输入.在隐含层上,通常采用sigmoid非线性激活函数(logistic函数和双曲正切函数)将输入映射到非线性空间.MLP具有良好的区分性,广泛应用于语音识别领域.它可以完成声学层特征与识别单元之间的非线性变换,将声学层特征映射为识别单元后验概率的同时,能够有效抑制声学层特征中的冗余信息及噪声,从而将区分性信息保留在识别单元的后验概率中[14].

图3 3层MLP结构Figure 3 MLP structure with three layers

1.4 Lattice生成

本文将TRAP特征和MLP应用于音素Lattice的生成,可以得到比传统的频谱特征更精准的音素Lattice,进而提高后端关键词检测的性能,具体流程如图4所示.

1)提取TRAP特征,选择帧长和帧移分别为25ms和10ms.语音信号经过汉明窗后变为短时信号,进行FFT变换后计算短时能量谱;将频谱转化为Mel域后通过三角带通滤波器,使每帧语音信号的输出为23个Mel子带能量的一维向量;接着将当前帧的子带能量和其前后各15帧进行组合,得到每帧语音信号所对应的时域扩展特征,即TRAP特征.

2)分割TRAP特征为左右两个部分,即中心帧及其左边15帧的子带能量称作左子带特征(left context,LC),中心帧及其右边15帧的子带能量称作右子带特征(right context,RC).LC和RC相应地加汉明窗的左右半窗,可以起到对中心帧及其附近帧加权的作用,更好地促进分类.对特征进行离散余弦变换(discrete cosine transform,DCT),可以降低特征的维数和帧间的相关性.然后对DCT变换后的特征进行均值和方差归一化,并将各个子带的特征拼接起来,得到了输入MLP的特征矢量.

3)应用两层MLP将前期得到的特征矢量映射为识别单元的后验概率,识别单元为音素或是音素状态,本文选择音素状态.高、低两层MLP的识别目标一致,均为识别单元的后验概率.将两个低层MLP的输出进行取对数、均值和方差归一化后拼接成新的向量作为高层MLP的观测特征,则高层MLP的输出为最终的映射结果.最后将这些后验概率作为特征应用HMM建模,使用HTK工具包中的Hvite解码得到音素Lattice.

图4 基于TRAP特征的Lattice生成框架Figure 4 Architecture of Lattice generation based on TRAP features

2 动态匹配词格检索

2.1 索引建立

语音解码生成的Lattice可以直接被检索,但需要对每一个新的关键词进行密集的Lattice遍历,严重限制了检索的速度.取而代之的Lattice遍历和处理是在索引阶段离线完成的,通过执行一个改进的维特比算法遍历Lattice来创建一个固定长度的音素序列数据库(sequence database,SDB).假设目标音素序列的最大长度已知,并且小于索引音素序列的长度,索引音素序列长度[15]通常设为N=10.DMLS的检索就可以限制在SDB中近似匹配音素序列,简化了近似匹配的过程,过程如下:

步骤1 Θ={θ(1),θ(2),···}表示Lattice中所有为N的节点序列的集合,其中θ(i)={θ1,θ2,···,θN}是一个节点序列,每个θk对应一个单独的节点,每个节点存储一个识别出的音素.

步骤2 节点序列所对应的音素标签序列Φ(θ)=(φ(θ1),φ(θ2),···,φ(θN))也能从Lattice中得到,同时节点序列的起始时间由Y(θ)给出.

步骤3 对于每一个音素Lattice中的节点n,所有以其为终止节点的序列集合被称为观察序列集,定义为Q(Θ,n)={θ∈Θ|θN=n}.

步骤4 Q′(Θ,n)定义为Q(Θ,n)的子集,包含K个路径得分最高的音素序列.节点序列θ的路径得分从Lattice中计算得到,为累加θ回溯得到的路径上全部声学和语言模型得分,也为每条弧的似然得分SArclike的累加.Lattice中每条弧的似然得分SArclike为

式中,Saclike为声学模型得分,Slmlike为语言模型得分,τlmscale为语言模型比例因子,ηwdpenalty为词插入惩罚.在通常情况下,假设K=10.应用子集Q′(Θ,n)而不是Q(Θ,n)是为了以最小的信息损失代价来降低SDB的存储要求.

在音素Lattice中的所有节点上重复以上过程,得到一个节点序列的集合,A=∪nQ′(Θ,n).这一阶段的最终输出是节点序列的集合θ∈A,共同构成SDB.相应的音素序列和时间边界信息分别由Φ(θ)和Y(θ)给出.

2.2 动态匹配检索

在检索阶段,当一个关键词提交给系统时,首先利用发音字典将其转化为音素的表示形式,如果关键词在字典中不存在,则应用letter-to-sound的规则估计其相应的音素发音[16].关键词的发音,即一个音素序列,被称为目标序列,记作ρ.检索涉及到将目标音素序列ρ和SDB中存储的每一个索引音素序列Φ(θ)进行比较,需要计算目标音素序列ρ和索引音素序列Φ(θ)之间的距离Δ(Φ(θ),ρ).所得结果的集合R仅仅包含距离小于某一特定阈值δ的节点序列,即

定义Δ(Φ,ρ)为这样的距离,当Φ表示正确的检出结果时其取值较小,当Φ表示虚警错误时其取值较大.本文Δ(Φ,ρ)定义每一个观察音素序列Φ和目标序列ρ之间的最小编辑距离(minimum edit distance,MED).MED包含匹配、替换、插入、删除等4种操作.由于音素解码过程中出现的常见错误主要是替换错误,故本文MED的计算仅仅考虑音素的替换错误代价,令Ci=Cd=∞,可将MED的计算认为是音素序列对中每个音素替换代价的总和,即

式中,M为目标音素序列的长度.替换代价Cs(φi,ρi)表示和一个后验概率相关联的惩罚,这个后验概率则是观察到的音素为φi而实际目标音素为ρi的概率.一些先验信息可以用来估计音素替换错误的概率.可以直接观察音素识别器的输出,即通过观察音素识别器实际产生的音素识别错误训练得到改进的音素混淆度估计.实现此方法的一种途径是:首先在训练语料库中解码得到一个音素识别结果,然后比较音素识别结果和参考的音素标注.此比较主要基于一个动态规划的字符串对齐过程,而没有应用音素边界的时间位置信息.HTK工具包中的HResults被用于对齐音素识别结果和参考的音素标注,生成一个音素混淆矩阵,此矩阵编码如下:在给定对齐结果的条件下,音素识别结果中音素x和参考标注中的音素y对齐的次数为s(x,y),插入音素x的次数为i(x),每个音素的删除次数为d(y).

给定混淆矩阵的统计量,音素识别器输出音素x作为实际语音音素y的识别结果的概率定义为P(Ex|Ry),于是从混淆矩阵中估计得到

在关键词检索中,替换代价和索引中音素x作为实际语音音素y的识别结果的后验概率是相关的,即

式(6)中的音素先验概率同样可以从混淆矩阵中统计得到

因此,音素的替换代价被定义为在给定观察值音素x的条件下,出现目标音素y的后验概率的相关信息,即

3 实验配置及结果

3.1 实验配置

本文实验采用TIMIT语料库,该语料库是由DARPA支持赞助,MIT、SRI、TI等几家机构共同完成的. 它包含来自美国8个不同方言区的共630人的语音文件,每人10句总共6300个语句,分为TRAIN和TEST两个文件集合.本文实验选择TRAIN中3696个语句作为训练集,选择TEST中1344个语句作为测试集,未采用其中适合于说话人实验的SA1和SA2中的语句.TIMIT语料库中总共含有61个音素单元,按照BUT的划分标准将TIMIT中61个音素映射为39个音素,如将塞音的成阻(closure)和除阻(burst)部分合并(bcl b→b),这种划分较为精细.

实验采用的关键词词表规模为150个,各关键词在测试集TEST中共出现725次,关键词包含的音素数目为3~10个,平均关键词的音素数目为6个.实验使用3层的MLP,应用QuickNet工具按照经典的反向传播算法训练MLP.TRAP特征提取时使用了Mel域的23个频带(频带间互有交叠),时域扩展时向前向后各扩展了15帧,相当于每帧特征使用了310ms的信息.每个频带上的TRAP特征分割并作DCT变换后变为11维,最终得到的LC和RC特征维数为253维,作为低层MLP的输入特征.此外,需要音素state-level标注来训练MLP,因此先用一个应用MFCC特征的GMM/HMM音素识别器进行强制对齐,得到state-level标注信息.每个音素均匀切分为3状态,因此低层MLP的输出维数为117维.最后将这两个MLP的输出合并为234维作为高层MLP的输入,输出维数为117维.高低两层MLP的隐含层神经元的数量均为500.

3.2 评价标准

召回率(recall)和虚警率(false alarm rate)是衡量关键词检测性能的两项重要指标.召回率PRecall又称查全率,表示正确的关键词检测结果数量Ncorrect占实际出现的关键词数量Ntrue的百分比.虚警率PFA定义为虚警数目NFA被分母归一化后的结果,本文虚警率的分母定义为语音文档长度H与关键词词表大小S的乘积,物理含义为每个关键词每小时的虚警数目,如式(11)和(12)所示.另外,本文以接收机工作特性(receiver operating characteristics,ROC)曲线和品质因数(f igure of merit,FOM)作为评价指标来综合衡量虚警率和召回率的关系.根据NIST的定义可知,ROC曲线的横轴为虚警率,纵轴为召回率,FOM定义为虚警率在0~10范围内的平均召回率,如式(13)所示:

3.3 M ED代价阈值对系统性能的影响

MED的代价阈值δ是关键词检测的关键参数之一,直接影响关键词检测的性能.图5和6分别给出了召回率PRecall和虚警率PFA随δ的变化曲线,从图中可以看出,随着δ的增大,关键词检出数量增多,但虚警错误的数量也增加得很快.一般而言,两个指标是互相对立的.在应用过程中,一般寻找两者的平衡点,能使召回率与虚警率均满足实际的需求,通常取PFA=10时接收机工作点附近的召回率作为比较.经过实验验证,δ最优的取值为所有可能出现的替换代价的均值

式中,Mphn为所有可能出现替换错误的音素对的总数,可以通过在音素混淆矩阵中统计得到,Pphn为BUT的39个音素集,G(ρ)是与目标音素序列ρ的长度相关的一个偏移量.当调整最优系统性能时,对于音素发音较长的关键词,阈值δ可以通过G(ρ)调整设置稍大一点,即取值偏离代价均值右边一些;对于较短的关键词,阈值δ可以通过G(ρ)调整设置小一点,取值偏离代价均值左边一些.

图5 不同代价阈值下的召回率曲线Figur e 5 Recall curve for different cost thresholds

图6 不同代价阈值下的虚警率曲线Figure 6 False alarm rate curve for different cost thresholds

3.4 系统性能比较

本文中系统性能对比实验采用的是传统的频谱特征MFCC和PLP的关键词检测系统.以MFCC特征参数为例,包括语音归一化对数能量、12维MFCC参数及其一阶、二阶差分系数,共计39维特征参数.实验应用HTK工具包对39个音素单元进行HMM建模,声学模型分别采用16个高斯混元的单音子模型(monophone)和8个高斯混元的三音子模型(triphone).表1和2分别给出了各系统的音素识别准确率和关键词检测性能,图7给出了相应的ROC曲线.可以看出,应用基于TRAP特征和DMLS的关键词检测方法在PFA=10的工作点附近时,召回率比基线系统约提升了5%,综合指标FOM提升了0.038.系统性能提升的主要原因是:TRAP特征有效利用了语音信号的帧间相关性信息;MLP良好的区分性抑制了声学特征中的冗余信息和噪声;DMLS中的动态序列匹配技术补偿了音素识别错误.

表1 不同系统音素识别准确率的比较Table 1 Accuracy rate comparison of different phone recognition systems %

表2 不同系统检测性能的比较Table 2 Detection performance comparison of different systems

4 结语

图7 不同关键词检测系统的ROC曲线Figure 7 ROC curves of various keyword spotting systems

本文将TRAP特征和多层感知器引入到动态匹配词格检索中.实验结果表明,TRAP特征作为一种长时性特征,能够有效利用语音信号的帧间相关性信息.应用TRAP特征和具有良好区分能力的MLP在关键词检测的前端能够得到更精准的Lattice,在后端则根据动态匹配补偿音素识别错误,从而提升关键词检测的性能,相比应用传统MFCC和PLP频谱特征的基线系统具有一定的优势.下一步的研究工作是MED计算时综合考虑音素识别的插入和删除错误,更好地补偿音素识别错误,另外可以融合基于Lattice后验概率的置信度方法,寻求多种置信度之间的互补性,进一步提升系统的性能.

[1]王炳锡,屈丹,彭煊.实用语音识别基础[M].北京:国防工业出版社,2005:287-291.

[2]孙成立.语音关键词识别技术的研究[D].北京:北京邮电大学,2008:1-2.

SUNChengli.A study of speech keyword recognition technology[D].Beijing:Beijing University of Posts and Telecommunications,2008:1-2.(in Chinese)

[3]NGK,ZUEV W.Subword-based approaches for spoken document retrieval[J].Speech Communication,2000,32:157-186.

[4]AKBACAK M,BURGET L,WANG W,VAN H J.Rich system combination for keyword spotting in noisy and acoustically heterogeneous audio streams[C]//IEEE International Conference on Acoustic,Speech and Signal Processing,2013:8267-8271.

[5]THAMBIRATNAM K,SRIDHARAN S.Rapid yet accurate speech indexing using dynamic match lattice spotting[J].IEEE Transactions on Audio,Speech,and Language Processing,2007,15(1):346-357.

[6]HAN C,KANG S,LEE C.Phone mismatch penalty matrices for two-stage keyword spotting via multipass phone recognizer[C]//The 11th Annual Conference of the International Speech Communication Association,2010:202-205.

[7]RAJABZADEH M,TABIBIAN S,AKBARI A.Improved dynamic match phone lattice search using viterbi scores and jaro winkler distance for keyword spotting system[C]//International Symposium on Artif icial Intelligence and Signal Processing,2012:423-427.

[8]李文昕,屈丹,李弼程,王炳锡.语音关键词检测系统中基于时长和边界信息的置信度[J].应用科学学报,2012,30(6):588-594.

LIWenxin,QUDan,LIBicheng,WANGBingxi.Conf idence measure based on time and boundary features for speech keyword spotting system[J].Journal of Applied Sciences,2012,30(6):588-594.(in Chinese)

[9]HERMANSKY H,SHARMA S.TRAPs-classif iers of temporal patterns[C]//International Conference on Spoken Language Processing,1998:1003-1006.

[10]SHARMA S,ELLIS D,KAJAREKAR S,JAIN P,HERMANSKY H.Feature extraction using non-linear transformation for robust speech recognition on the aurora database[C]//IEEE International Conference on Acoustic,Speech and Signal Processing,2000:1117-1120.

[11]SCHwARZP.Phonemerecognition based on long temporal context[D].Brno:Brno University of Technology,2008:7-40.

[12]MATEJKA P,SCHwARZ P,CERNOCKY J.Recognition of phoneme strings using TRAP technique[C]//European Conference on Speech Communication and Technology,2003:1-4.

[13]GREZL F,KARAFIAT M.Integrating recent MLP feature extraction techniques into TRAP architecture[C]//The 12th Annual Conference of the International Speech Communication Association,2011:1229-1232.

[14]TUSKEZ,PLAHLC,SCHLUTERR.A study on speaker normalized MLP features in LVCSR[C]//The 12th Annual Conference of the International Speech Communication Association,2011:1089-1092.

[15]WALLACER.Fast and accurate phonetic spoken term detection[D].Queensland:Queensland University of Technology,2010:51-90.

[16]WANG D,KING S,FRANKEL J.Stochastic pronunciation modeling for out-of-vocabulary spoken term detection[J].IEEE Transactions on Audio,Speech,and Language Processing,2011,19(4):688-698.

[17]LIN H,SYUPAKOV A,BILMES J.Improving multilattice alignment based spoken keyword spotting[C]//IEEE International Conference on Acoustic,Speech and Signal Processing,2009:4877-4880.

猜你喜欢
音素后验检索
依托绘本课程,培养学生英语音素意识
小学英语课堂中音素意识与自然拼读整合训练的探索
在拼读阅读课中培养学生英语阅读素养
基于贝叶斯理论的云模型参数估计研究
零基础速记48个音标音素
一种基于最大后验框架的聚类分析多基线干涉SAR高度重建算法
专利检索中“语义”的表现
基于后验预测分布的贝叶斯模型评价及其在霍乱传染数据中的应用
贝叶斯方法在决策分析中的应用
国际标准检索