发明内容
本发明实施例提供一种语种无关的关键词识别方法及系统,以降低关键词识别的虚警率,提高系统性能。
为此,本发明提供如下技术方案:
一种语种无关的关键词识别方法,包括:
接收待检测语音信号;
根据预先构建的解码网络对所述语音信号解码,得到候选关键词;
采用不同方式对所述候选关键词进行置信度评价;
对不同方式的置信度评价结果进行融合,得到所述候选关键词的有效置信度;
根据所述有效置信度确定输出的关键词。
优选地,所述采用不同方式对所述候选关键词进行置信度评价包括:基于对数似然比计算所述候选关键词的置信度;还包括:基于wVector相关度计算所述候选关键词的置信度,和/或基于状态帧方差得分计算所述候选关键词的置信度。
优选地,所述基于wVector相关度计算所述候选关键词的置信度包括:
训练通用背景模型;
根据关键词训练样本语音片段和所述通用背景模型,训练得到关键词GMM模型;
根据解码网络中对应所述候选关键词的路径获取所述候选关键词的语音片段,然后根据所述候选关键词的语音片段和所述通用背景模型,训练得到候选关键词GMM模型;
计算关键词GMM模型和候选关键词GMM模型之间的KL距离,并将所述KL距离作为所述候选关键词的置信度。
优选地,所述基于wVector相关度计算所述候选关键词的置信度包括:
训练通用背景模型;
计算关键词训练样本语音片段在所述通用背景模型上的各高斯分量似然度,组成关键词发音模型;
根据解码网络中对应所述候选关键词的路径获取所述候选关键词的语音片段,然后计算所述语音片段在所述通用背景模型上各高斯分量似然度,组成候选关键词发音模型;
计算关键词发音模型和候选关键词发音模型之间的相关度,并将所述相关度作为所述候选关键词的置信度。
优选地,所述基于状态帧方差得分计算所述候选关键词的置信度包括:
获取所述候选关键词对应的语音段;
在关键词模型上进行强制切分,得到各状态上包含所述语音段的语音帧数量;
根据各状态上语音帧数量,统计语音帧的方差作为所述候选关键词的置信度。
优选地,所述基于状态帧方差得分计算所述候选关键词的置信度包括:
获取所述候选关键词对应的语音段及在关键词模型上各状态上的语音帧;
统计各状态上的语音帧的样本方差;
综合各状态上的语音帧的样本方差获得整体状态样本方差,并将所述整体状态样本方差作为所述候选关键词的置信度。
一种语种无关的关键词识别系统,包括:
接收模块,用于接收待检测语音信号;
解码模块,用于根据预先构建的解码网络对所述语音信号解码,得到候选关键词;
置信度评价模块,用于采用不同方式对所述候选关键词进行置信度评价;
融合模块,用于对不同方式的置信度评价结果进行融合,得到所述候选关键词的有效置信度;
输出模块,用于根据所述有效置信度确定输出的关键词。
优选地,所述置信度评价模块包括:
第一评价模块,用于基于对数似然比计算所述候选关键词的置信度;
所述置信度评价模块还包括:
第二评价模块,用于基于wVector相关度计算所述候选关键词的置信度;和/或
第三评价模块,用于基于状态帧方差得分计算所述候选关键词的置信度。
优选地,所述第二评价模块包括:
背景模型训练单元,用于训练通用背景模型;
关键词模型训练单元,用于根据关键词训练样本语音片段和所述通用背景模型,训练得到关键词GMM模型;
候选关键词模型训练单元,用于根据解码网络中对应所述候选关键词的路径获取所述候选关键词的语音片段,然后根据所述候选关键词的语音片段和所述通用背景模型,训练得到候选关键词GMM模型;
距离计算单元,有于计算关键词GMM模型和候选关键词GMM模型之间的KL距离,并将所述KL距离作为所述候选关键词的置信度。
优选地,所述第二评价模块包括:
背景模型训练单元,用于训练通用背景模型;
关键词发音模型构建单元,用于计算关键词训练样本语音片段在所述通用背景模型上的各高斯分量似然度,组成关键词发音模型;
候选关键词发音模型构建单元,用于根据解码网络中对应所述候选关键词的路径获取所述候选关键词的语音片段,然后计算所述语音片段在所述通用背景模型上各高斯分量似然度,组成候选关键词发音模型;
相关度计算单元,用于计算关键词发音模型和候选关键词发音模型之间的相关度,并将所述相关度作为所述候选关键词的置信度。
优选地,所述第三评价模块包括:
语音段获取单元,用于获取所述候选关键词对应的语音段;
切分单元,用于在关键词模型上进行强制切分,得到各状态上包含所述语音段的语音帧数量;
语音帧方差统计单元,用于根据各状态上语音帧数量,统计语音帧的方差作为所述候选关键词的置信度。
优选地,所述第三评价模块包括:
语音帧获取单元,用于获取所述候选关键词对应的语音段及在关键词模型上各状态上的语音帧;
样本方差统计单元,用于统计各状态上的语音帧的样本方差;
综合单元,用于综合各状态上的语音帧的样本方差获得整体状态样本方差,并将所述整体状态样本方差作为所述候选关键词的置信度。
本发明实施例提供的语种无关的关键词识别方法及系统,在根据解码网络得到关键词解码结果后,分别采用不同方式对所述关键词解码结果进行置信度评价,并对不同方式的置信度评价结果进行融合来确定关键词解码结果的置信度,根据该置信度确定各关键词解码结果的合理性,从而使得基于置信度对关键词解码结果的过滤更加准确合理,有效地提高了系统性能。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
在HMM/Filler框架下,基于MLE(Maximum Likelihood Estimation,最大似然估计)准则的HMM训练算法以及Viterbi和WFST(weighted FinitestateTransducer,有限状态转换器)等高效的解码算法,使得基于关键词统计模型/Filler模型的解码方法在实际应用中具有良好的操作性和推广性。然而在真实环境下,待检测的语音信号往往会受到噪声、信道、地区人群等各种因素的影响,使得直接解码检索出来的关键词结果往往虚警较高,影响系统性能。对此,现有的HMM/Filler系统一般都在解码之后通过置信度过滤的方法来抑制虚警概率。
如图1所示,是现有技术中基于置信度过滤的关键词识别方法的流程图,包括以下步骤:
步骤101:分别训练关键词HMM模型及Filler模型。
步骤102:根据所述模型构建解码网络。
步骤103:对接收到的待检测语音信号,在所述解码网络内搜索最优路径,确定关键词模型所对应的语音段信号及其所在语音信号中的位置。
步骤104:对获取的关键词解码结果,包括关键词对应的语音段信号和解码路径得分等进行置信度评分,确认关键词检索结果的合理性。
步骤105:输出识别结果。
由上述流程可知,置信度得分计算合理与否,直接关系到关键词检索结果的取舍。置信度得分越高,则获取的关键词越可靠。反之若置信度得分不能真实反映检索状况,则容易导致关键词检索错误的问题。
目前,在语种无关关键词的置信度计算中,通常采用持续时间、对数似然比等得分。这些置信度计算方法主要依赖于解码路径结果,在一般情况下可以获得较好的结果,但在复杂实际应用环境下,单一依赖于解码路径结果的置信度计算很难对虚警率做出有效地过滤。
分析现有的HMM/Filler系统,基于置信度过滤获取的关键词检索结果存在的虚警错误(即将不是关键词的语音段检索为关键词),主要原因有以下两点:
1.识别结果和训练样本听感相差较远,即测试环境和训练环境差异较大
2.识别结果和训练样本发音有部分匹配,比如识别结果中存在“中国”字词,而关键词样本是“中华”,则在部分匹配的情况下,容易导致声学模型得分比较高,导致虚警错误的发生。
在传统基于解码路径得分,如对数似然比置信度得分过滤方法中,由于部分置信度得分很高从而导致虚警率较高,影响了系统性能和用户的主观感受。
基于上述对现有HMM/Filler系统中关键词检索结果产生虚警错误原因的分析,本发明实施例提供一种语种无关的关键词识别方法,使得基于置信度的过滤更加准确合理,进而提高关键词识别系统的性能。
如图2所示,是本发明实施例语种无关的关键词识别方法的流程图,包括以下步骤:
步骤201:接收待检测语音信号。
步骤202:根据预先构建的解码网络对所述语音信号解码,得到候选关键词。
所述解码网络可以是根据关键词模型及Filler模型构建的,关键词模型及Filler模型的训练、以及解码网络的构建可采用现有技术中的一些训练及构建方式,对此本发明实施例不做限定。
解码的过程主要是对接收的待检测语音信号,在所述解码网络中搜索最优路径,确定关键词模型所对应的语音段信号及其所在语音信号中的位置。
步骤203:采用不同方式对所述候选关键词进行置信度评价。
对候选关键词进行置信度评价的目的是确定各关键词解码结果的正确性。由于置信度得分计算的合理与否,直接影响到对各候选关键词的取舍。如果置信度得分不能真实反映检索状况,则容易导致关键词检索错误的问题。因此,不同于传统的基于置信度的过滤方法中采用单一置信度的方式,在本发明实施例中,采用多种方式从不同角度计算各关键词解码结果的置信度,并对这些不同方式计算得到的置信度进行融合,获得各候选关键词的有效置信度,进而使基于置信度的过滤更加准确合理。
在本发明实施例中,以基于对数似然比计算候选关键词的置信度为基础,辅之以新的具有针对性的置信度得分计算方式,并通过置信度融合来抑制虚警错误置信度得分,使得基于置信度过滤更加准确合理,进而提高系统性能。
其中,基于对数似然比计算候选关键词的置信度的过程与现有技术类似,大致如下:
根据假设检验理论,似然比定义为给定观察量在H1假设(属于某个概率分布)上的概率与在H0假设(不属于某个概率分布)上的概率的比值。由于概率分布通常假设为指数的形式,因此为了计算方便,通常用对数似然比替代似然比。在语种无关关键词中,若解码识别候选片段特征为O,对应的关键词模型为λhmm,Filler模型记为λfiller,则对数似然比得分定义为:
对数似然比反映了当前候选片段特征属于λhmm的置信度。
本发明实施例中还提出了以下两种新的置信度计算方式,即:
(1)基于wVector相关度计算候选关键词的置信度;
(2)基于状态帧方差得分计算候选关键词的置信度。
上述两种新的置信度的计算过程将在后面详细描述。
步骤204:对不同方式的置信度评价结果进行融合,得到所述候选关键词的有效置信度。
需要说明的是,在实际应用中,可以将基于对数似然比计算候选关键词的置信度与上述两种置信度中的任意一种进行融合,也可以同时与上述两种置信度进行融合,对此本发明实施例不做限定。
比如,假设识别结果语音片段在关键词模型上的基于对数似然比得分的置信度为Sllr,基于状态帧方差的置信度为Svar_frame,基于wVector相关度的置信度得分为Swvec。
在本发明实施例中,可以采用加权平均的方法对上述各置信度得分进行融合。
首先将Sllr和Svar_frame进行融合,然后再与Swvec进行融合,融合公式如下:
Sfinal=(1-β)(Sllr+αSvar_frame)+β(Swvec-μ)/σ
其中,Sllr+αSvar_frame是为了将状态帧方差作为似然比得分的一个附加部分(Svar_frame区分性比较弱,作为附加项比较合适),μ和σ的引入是为了将Swvec规整到与Sllr+αSvar_frame相同的水平。
当然,在实际应用中,还可以采用其它融合方式,对此本发明实施例不做限定。
步骤205:根据所述有效置信度确定输出的关键词。
比如,在融合得到的某个候选关键词的有效置信度高于设定的阈值时,即可输出该候选关键词。
本发明实施例提供的语种无关的关键词识别方法,在根据解码网络得到关键词解码结果即候选关键词后,分别采用不同方式对所述候选关键词进行置信度评价,并对不同方式的置信度评价结果进行融合来确定各候选关键词的置信度,根据该置信度确定各关键词解码结果的合理性,从而使得基于置信度对关键词解码结果的过滤更加准确合理,有效地提高了系统性能。
前面提到,本发明实施例中采用多种不同方式确定关键词解码结果的置信度,下面对其分别进行详细说明。
如图3所示,是本发明实施例中基于wVector相关度的置信度计算流程。
针对识别结果对应的语音片段与关键词训练样本语音片段听感相差较远的虚警问题,可以对关键词训练样本语音片段及解码出的候选关键词语音片段,分别建立混合高斯模型(GMM),然后通过计算两个混合高斯模型之间的KL距离(Kullback-Leibler Divergence),进行虚警控制。
为了保持混合模型高斯分量之间的对应,在训练关键词GMM模型和候选关键词GMM模型参数时,可以从通用背景模型(UBM模型)出发,采用最大后验概率估计算法(MAP)进行参数估计。
具体计算过程如图3所示,包括以下步骤:
步骤一:根据大量语种相关的真实数据训练通用背景模型。
步骤二:根据每个关键词的训练样本语音片段,训练得到对应该关键词的GMM模型。
具体地,可以采用MAP算法对预先估计的通用背景模型进行自适应,获取关键词文本相关的GMM模型,为了描述方便,称之为关键词GMM模型。
步骤三:根据待检测语种中识别解码结果路径获取每个候选关键词的语音片段,采用MAP算法对预先估计的通用背景模型进行自适应,获取候选关键词语音片段对应的文本相关的GMM模型,为了描述方便,称之为侯选关键词GMM模型。
步骤四:计算关键词GMM模型和候选关键词GMM模型之间的KL距离。
假设关键词GMM模型和候选关键词GMM模型表示的概率分布分别为f(x)和g(x),则KL距离定义为:
在具体计算KL距离时,可以采用蒙特卡洛采样等进行计算。
进一步地,考虑到识别结果语音片段非常短,训练得到的测试环境的关键词文本相关的模型(即前面所述的关键词GMM模型)可能不够准确,对此,本发明实施例还提出了一种替代方案,包括以下步骤:
步骤一:根据大量语种相关的真实数据训练通用背景模型。
步骤二:计算关键词训练样本语音片段在通用背景模型上的各高斯分量似然度,组成关键词发音模型。
由于通用背景模型每个高斯分量在物理意义上表示不同的发音单元,故训练样本语音片段在各高斯上的似然度的分布就表征了该关键词的发音。将不同高斯分量上的似然度组成矢量表征该关键词的发音模型。
步骤三:对于每个候选关键词的语音片段,同样计算其在通用背景模型上各高斯分量似然度,组成候选关键词发音模型。
步骤四:计算关键词发音模型和候选关键词发音模型之间的相关度,将该相关度作为置信度的度量指标。
由于通用背景模型各高斯似然度组成的发音模型与上述关键词GMM模型中的权重相似,因此可以称该方法为基于wVector相关度的置信度计算方法。
如图4所示,是本发明实施例中基于状态帧方差得分的置信度计算流程。
这里状态帧方差是根据候选关键词所对应的语音片段,分配关键词HMM模型的每个状态上语音帧集合的样本方差。
在由于部分发音匹配导致的虚警错误中,能够匹配的状态的帧数往往占据主导地位,相应地,每个状态的语音帧的样本方差通常会出现异常(即很大)。所以通过状态帧方差的检测可以对部分匹配导致的虚警错误进行抑制。其计算流程如图4所示,包括以下步骤:
步骤一:获取候选关键词对应的语音段;
步骤二:在关键词模型上进行强制切分,得到各状态上包含所述语音段的语音帧数量;
步骤三:根据各状态上语音帧数量,统计语音帧的方差作为所述候选关键词的置信度。
如图5所示,是本发明实施例中另一种基于状态帧方差得分的置信度计算流程图,包括以下步骤:
步骤一:获取候选关键词对应的语音段及在关键词模型上各状态上的语音帧;
步骤二:统计各状态上的语音帧的样本方差;
步骤三:综合各状态上的语音帧的样本方差获得整体状态样本方差,并将所述整体状态样本方差作为所述候选关键词的置信度。
相应地,本发明实施例还提供一种语种无关的关键词识别系统,如图6所示,是该系统的一种结构示意图。
该系统包括:
接收模块601,用于接收待检测语音信号;
解码模块602,用于根据预先构建的解码网络对所述语音信号解码,得到候选关键词;
置信度评价模块603,用于采用不同方式对所述候选关键词进行置信度评价;
融合模块604,用于对不同方式的置信度评价结果进行融合,得到所述候选关键词的有效置信度;
输出模块605,用于根据所述有效置信度确定输出的关键词。
在该实施例中,置信度评价模块603包括:第一评价模块,还包括第二评价模块和/或第三评价模块。其中:
第一评价模块用于基于对数似然比计算候选关键词的置信度;
第二评价模块用于基于wVector相关度计算候选关键词的置信度;
第三评价模块用于基于状态帧方差得分计算候选关键词的置信度。
上述各评价模块对候选关键词的置信度的计算过程详见前面本发明方法实施例中的描述。
需要说明的是,在实际应用中,上述第二评价模块和第三评价模块可以有多种实现方式,比如:
第二评价模块的一种实施例可以包括:
背景模型训练单元,用于训练通用背景模型;
关键词模型训练单元,用于根据关键词训练样本语音片段和所述通用背景模型,训练得到关键词GMM模型;
候选关键词模型训练单元,用于根据解码网络中对应所述候选关键词的路径获取所述候选关键词的语音片段,然后根据所述候选关键词的语音片段和所述通用背景模型,训练得到候选关键词GMM模型;
距离计算单元,有于计算关键词GMM模型和候选关键词GMM模型之间的KL距离,并将所述KL距离作为所述候选关键词的置信度。
第二评价模块的另一种实施例可以包括:
背景模型训练单元,用于训练通用背景模型;
关键词发音模型构建单元,用于计算关键词训练样本语音片段在所述通用背景模型上的各高斯分量似然度,组成关键词发音模型;
候选关键词发音模型构建单元,用于根据解码网络中对应所述候选关键词的路径获取所述候选关键词的语音片段,然后计算所述语音片段在所述通用背景模型上各高斯分量似然度,组成候选关键词发音模型;
相关度计算单元,用于计算关键词发音模型和候选关键词发音模型之间的相关度,并将所述相关度作为所述候选关键词的置信度。
第三评价模块的一种实施例可以包括:
语音段获取单元,用于获取所述候选关键词对应的语音段;
切分单元,用于在关键词模型上进行强制切分,得到各状态上包含所述语音段的语音帧数量;
语音帧方差统计单元,用于根据各状态上语音帧数量,统计语音帧的方差作为所述候选关键词的置信度。
第三评价模块的另一种实施例可以包括:
语音帧获取单元,用于获取所述候选关键词对应的语音段及在关键词模型上各状态上的语音帧;
样本方差统计单元,用于统计各状态上的语音帧的样本方差;
综合单元,用于综合各状态上的语音帧的样本方差获得整体状态样本方差,并将所述整体状态样本方差作为所述候选关键词的置信度。
另外,需要说明的是,在实际应用中,上述融合模块604可以将基于对数似然比计算候选关键词的置信度与上述两种置信度中的任意一种进行融合,也可以同时与上述两种置信度进行融合,对此本发明实施例不做限定。具体融合方式可以是采用加权平均的方法对上述各置信度得分进行融合。
本发明实施例提供的语种无关的关键词识别系统,在根据解码网络得到关键词解码结果后,分别采用不同方式对所述关键词解码结果进行置信度评价,并对不同方式的置信度评价结果进行融合来确定关键词解码结果的置信度,根据该置信度确定各关键词解码结果的合理性,从而使得基于置信度对关键词解码结果的过滤更加准确合理,有效地提高了系统性能。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块或单元可以是或者也可以不是物理上分开的,作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。