首页> 中国专利> 基于语音单元语速的差异的语音识别方法及语音识别系统

基于语音单元语速的差异的语音识别方法及语音识别系统

摘要

本发明涉及一种基于语音单元语速的差异的语音识别方法,其包括:对所输入的语音进行预处理;提取所述语音的声学特征;基于预先训练的声学模型和所提取的所述语音的声学特征,对所述语音进行解码,以获得所述语音的多个识别结果候选,其中所述多个识别结果候选的每一个具有声学得分以及所包含的语音单元的段长;对于所述多个识别结果候选的每一个,基于所包含的语音单元的段长,计算该识别结果候选的语音单元语速差异值;基于所计算的语音单元语速差异值和声学得分,计算该识别结果候选的综合得分;以及从所述多个识别结果候选中选择所述综合得分最高的识别结果候选,作为所述语音的最终识别结果。此外,本发明还提供了相应的语音识别系统。

著录项

  • 公开/公告号CN102013253A

    专利类型发明专利

  • 公开/公告日2011-04-13

    原文格式PDF

  • 申请/专利权人 株式会社东芝;

    申请/专利号CN200910172875.9

  • 发明设计人 赵蕤;鄢翔;何磊;

    申请日2009-09-07

  • 分类号G10L15/00(20060101);G10L15/02(20060101);G10L19/00(20060101);

  • 代理机构11247 北京市中咨律师事务所;

  • 代理人于静;刘薇

  • 地址 日本东京都

  • 入库时间 2023-12-18 02:09:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-10-27

    未缴年费专利权终止 IPC(主分类):G10L15/00 授权公告日:20120606 终止日期:20160907 申请日:20090907

    专利权的终止

  • 2012-06-06

    授权

    授权

  • 2011-06-01

    实质审查的生效 IPC(主分类):G10L15/00 申请日:20090907

    实质审查的生效

  • 2011-04-13

    公开

    公开

说明书

技术领域

本发明涉及语音识别技术,具体地,涉及根据语音单元语速的差异而进行语音识别的方法及相应的语音识别系统。

背景技术

通常,语音识别过程可包括语音信号的预处理、声学特征的提取和搜索解码等。在进行语音识别时,首先对输入的语音信号进行预处理,其包括预滤波、采样和量化、加窗分帧、端点检测、预加重等。然后,对预处理后的语音信号进行特征提取,以获得线性预测系数LPC、倒谱系数CEP、Mel倒谱系数MFCC和感知线性预测PLP等声学特征。根据所获得的声学特征以及预先训练的声学模型,使用诸如Viterbi算法的搜索策略对语音信号进行解码,以获得相应的识别结果。

在语音识别的过程中,段长信息由于不受噪声或信道的影响,因此对于语音识别的稳健性非常重要。在现有的利用段长信息进行语音识别的方法中,常见的是对语音单元(例如状态、音素、词等)段长用随机分布(例如正态分布、γ分布、高斯混合模型GMM等)进行显式建模,然后将段长得分结合声学得分一起进行语音的解码。这样的方法能够在一定程度上提高语音识别的性能。

例如,在David Burshtern所著的文章“Robust Parametric Modeling of Durations in Hidden Markov Models”(发表于International Conference on Acoustics,Speech and Signal Processing(ICASSP),1995)中详细地描述了使用γ分布对状态建模的方案。在D.Povey所著的文章“Phone Duration Modeling for LVCSR”(发表于International Conference on Acoustics,Speech and Signal Processing(ICASSP),2004)中详细地描述了使用离散分布对音素建模的方案。

然而,段长信息本身容易受到语速的影响,因此,将语速信息加入段长模型中可以进一步提高语音识别的性能。然而,如何在语音识别中同时考虑段长信息和语速信息而不增加时间和内存消耗成为研究的重点。

现有的将语速信息加入段长模型的方法的基本思想是除去语速对段长模型的负面影响。

一种常用的方法是用语速对段长进行归一化处理,其中语速被定义为一句话内所有语音单元的平均段长。然而,由于语速只有在获得整句话才能计算,因此,无法在识别过程中实时地进行段长的归一化。关于这种利用语速对段长归一化的方法,在Gadde和V.R.R.所著的文章“Modeling Word Duration for Better Speech Recognition”(Proc.Of Speech Transcription Workshop,2000)中进行了详细的描述。

另一种方法是对不同语速的段长分别建模,例如,对高语速、中语速和慢语速各自建一个模型,然后在识别过程中,选择得分最高的模型。然而,这些模型的精确度不高,并且由于需要分别计算三种模型的概率,因此,将大幅增加计算量和计算时间。关于这种对不同语速分别建模的方法,在Yun Tang、Wenju Liu和Bo Xu所著的文章“Trigram Duration Modeling in Speech Recognition”(发表于International Symposium on Chinese Spoken Language Processing,2004)以及Wern-Jun Wang和Chun-Jen Lee所著的文章“Duration Modeling for Mandarin Speech Recognition Using Prosodic Information,Speech Prosody”(发表于2004)中都进行了详细的描述。

另一种段长归一化方法是利用前一个语音单元段长对当前语音单元段长进行归一化,然而,在该方法中,需要预先计算并存储所有可能的两个上下文语音单元的归一化段长模型,因此,内存消耗较大。这种方法在美国专利US patent:Masahide Arui,Shinichi Tanaka,Takashi Masuko,“Apparatus,Method and Computer Program Product for Speech Recognition”中进行了详细的描述。

发明内容

本发明正是基于以上技术问题而提出的,其目的在于提供一种基于语音单元语速的差异的语音识别方法以及语音识别系统,其考虑了语速对于段长的影响,能够提高语音识别性能,但无需对段长进行建模,并且内存消耗和计算时间都很小。

根据本发明的一个方面,提供一种基于语音单元语速的差异的语音识别方法,包括:对所输入的语音进行预处理;提取所述语音的声学特征;基于预先训练的声学模型和所提取的所述语音的声学特征,对所述语音进行解码,以获得所述语音的多个识别结果候选,其中所述多个识别结果候选的每一个具有声学得分以及所包含的语音单元的段长;对于所述多个识别结果候选的每一个,基于所包含的语音单元的段长,计算该识别结果候选的语音单元语速差异值;基于所计算的语音单元语速差异值和声学得分,计算该识别结果候选的综合得分;以及从所述多个识别结果候选中选择所述综合得分最高的识别结果候选,作为所述语音的最终识别结果。

根据本发明的另一个方面,提供一种基于语音单元语速的差异的语音识别系统,包括:语音处理模块,用于对所输入的语音进行预处理;特征提取模块,用于提取所述语音的声学特征;解码模块,用于基于预先训练的声学模型和所提取的所述语音的声学特征,对所述语音进行解码,以获得所述语音的多个识别结果候选,其中所述多个识别结果候选的每一个具有声学得分以及所包含的语音单元的段长;语音单元语速差异值计算模块,用于对于所述多个识别结果候选的每一个,基于所包含的语音单元的段长,计算该识别结果候选的语音单元语速差异值;综合得分计算模块,用于对于所述多个识别结果候选的每一个,基于所计算的语音单元语速差异值和声学得分,计算该识别结果候选的综合得分;以及选择模块,用于从所述多个识别结果候选中选择所述综合得分最高的识别结果候选,作为所述语音的最终识别结果。

附图说明

图1是根据本发明的一个实施例的基于语音单元语速的差异的语音识别方法的流程图;

图2是根据本发明的第一个实施例的基于语音单元语速的差异的语音识别系统的示意性方框图;

图3是根据本发明的第二个实施例的基于语音单元语速的差异的语音识别系统的示意性方框图;

图4是根据本发明的第三个实施例的基于语音单元语速的差异的语音识别系统的示意性方框图;

图5是根据本发明的第四个实施例的基于语音单元语速的差异的语音识别系统的示意性方框图。

具体实施方式

通过以下结合附图对本发明的具体实施例的详细描述,本发明的上述和其它发明目的、技术特征和优点,将会更加明显。

图1示出了根据本发明的一个实施例的基于语音单元语速的差异的语音识别方法的流程图。下面结合附图,对本实施例进行详细的描述。

在本实施例中,假定一句话内的语速是稳定的,即一句话内每个语音单元的语速基本上相同,因此,对于声学得分相似的语音识别结果候选,语音单元的语速差异小的识别结果候选比语速差异大的识别结果候选更可能是正确的识别结果。本实施例正是基于上述的事实,利用语音单元的语速差异,并结合声学得分来选择最佳的识别结果。

如图1所示,在步骤S101,对所输入的语音进行预处理,然后提取所输入的语音的声学特征。语音的预处理和特征提取操作,对于本领域的普通技术人员来说是熟知的,因此,在此省略其详细的说明。通过步骤S101,可以获得语音的声学特征,例如,线性预测系数LPC、倒谱系数CEP、Mel倒谱系数MFCC和感知线性预测PLP等。

接着,在步骤S105,基于预先训练的声学模型并利用所提取的声学特征,对语音进行解码,以获得该语音的多个识别结果候选。通常,语音的解码是根据搜索策略,例如Viterbi算法、N-best搜索、多遍搜索等,寻找所输入的语音的词解码序列。语音的解码对于本领域的普通技术人员来说是熟知的,因此,在此省略其详细说明。在本实施例中,搜索策略可采用Viterbi算法。经过解码后得到的每一个识别结果候选都具有相应的声学得分以及所包含的语音单元的段长。

然后,在步骤S110,对于在步骤S105中得到的多个识别结果候选的每一个,基于所包含的语音单元的段长,计算该识别结果候选的语音单元语速差异值。

在本实施例中,语音单元可以是状态、音素、音节、词或者短语中的任意一个。语音单元的语速被定义为在步骤S105中获得的语音单元的实际段长与语音库中对应的语音单元的平均段长的比值,即

ru=dumu---(1)

其中,ru表示第u个语音单元的语速,du表示第u个语音单元的段长,mu表示语音库中与第u个语音单元对应的语音单元的平均段长。

在步骤S110中,首先,根据公式(1),计算该识别结果候选中的每一个语音单元的语速,然后计算该识别结果候选的语音单元语速差异值。

在一个实施例中,语音单元语速差异值被定义为某个识别结果候选的所有语音单元的语速的最大值与最小值的差值,即语速的极差。假设识别结果候选包括N个语音单元,则语音单元语速差异值可根据以下的公式计算:

sd=max(r1,r2,...,rN)-min(r1,r2,...,rN),

其中,sd表示语音单元语速差异值。在这种情况下,从所计算的所有语音单元的语速中选出最大值和最小值,并计算两者之差。

在另一个实施例中,语音单元语速差异值被定义为某个识别结果候选的所有语音单元的语速的方差,即

sd=var(r1,r2,...,rN)。

在这种情况下,根据方差公式计算所有语速的方差。

在另一个实施例中,语音单元语速差异值被定义为某个识别结果候选的所有语音单元的语速的标准差,即

sd=stdv(r1,r2,...,rN)。

在这种情况下,根据标准差公式计算所有语速的标准差。

在另一个实施例中,语音单元语速差异值被定义为某个识别结果候选的所有语音单元语速的变异系数,即所有语音单元语速的标准差与平均值的比值,如下列公式所示:

sd=stdv(r1,r2,...,rN)/mean(r1,r2,rN)

在这种情况下,分别计算所有语音单元语速的标准差以及平均值,并计算两者的比值。

虽然以上描述了几种计算语音单元语速差异值的方法,但本领域的普通技术人员应当理解,还可以使用其它的计算语音单元语速差异值的方法,只要能够获得所有语音单元语速的总体差异即可。

这样,通过步骤S110,能够得到每个识别结果候选的语音单元语速差异值。然后,在步骤S115,根据所计算的每个识别结果候选的语音单元语速差异值以及声学得分,计算每个识别结果候选的综合得分。

对于综合得分的计算,考虑到对于最佳的识别结果,其声学得分应当越高越好,而语音单元语速差异值越低越好,因此,在基于语音单元语速差异值和声学得分计算综合得分时,通常对语音单元语速差异值进行取反操作,再结合声学得分进行计算。下面给出几种计算综合得分的实施例。当然,本领域的普通技术人员应当理解,除了以下所述的计算综合得分的方法,还可以采用其它的方法计算综合得分。

在一个实施例中,对于每个识别结果候选,首先计算语音单元语速差异值的倒数值,再根据预先确定的权重系数对该倒数值进行加权,然后将加权后的倒数值与声学得分相加,从而得到该识别结果候选的综合得分。

在另一个实施例中,首先计算语音单元语速差异值的相反数,再根据预先确定的权重系数对该相反数进行加权,然后将加权后的相反数与声学得分相加,从而得到该识别结果候选的综合得分。

在另一个实施例中,首先计算语音单元语速差异值的倒数值,再根据预先确定的权重系数对该倒数值进行加权,然后将加权后的倒数值与声学得分相乘,从而得到该识别结果候选的综合得分。

在上述的计算综合得分的实施例中,权重系数可以根据不同的识别任务进行调整。

最后,在步骤S120,根据每个识别结果候选的综合得分,选择综合得分最高的识别结果候选,作为所输入的语音的最终识别结果。

通过以上描述可以看出,本实施例的基于语音单元语速的差异的语音识别方法考虑了语音识别中语速对段长的影响,从而能够提高语音识别的性能,并且避免了对段长的建模。另外,本实施例的方法只需预先存储每个语音单元的平均段长,内存消耗较少,而且语音单元语速差异值的计算简单,计算时间短。本实施例的方法适用于任何语音识别系统,特别是小词汇量语音识别系统。

在同一个发明构思下,图2示出了根据本发明的第一个实施例的基于语音单元语速的差异的语音识别系统200的示意性方框图。下面结合附图,对本实施例进行详细的描述,其中对于与前面实施例相同的部分,适当省略其说明。

如图2所示,本实施例的基于语音单元语速的差异的语音识别系统200包括:预处理模块201,其对所输入的语音进行预处理;特征提取模块202,其提取该语音的声学特征;解码模块203,其基于预先训练的声学模型并利用所提取的语音的声学特征,对语音进行解码,以获得该语音的多个识别结果候选;语音单元语速差异值计算模块204,其对于多个识别结果候选的每一个,基于所包含的语音单元的段长,计算该识别结果候选的语音单元语速差异值;综合得分计算模块205,其对于多个识别结果候选的每一个,基于所计算的语音单元语速差异值和声学得分,计算该识别结果候选的综合得分;以及选择模块206,其从多个识别结果候选中选择综合得分最高的识别结果候选,作为所输入的语音的最终识别结果。

在本实施例中,当语音被输入预处理模块201后,进行语音的预处理,然后特征提取模块202提取该语音的声学特征。所提取的声学特征与预先训练的声学模型一起被提供给解码模块203,由解码模块203根据搜索策略对语音进行解码,以获得多个识别结果候选,其中每一个识别结果候选都具有声学得分以及所包含的语音单元的段长。如前所述,语音单元可以是状态、音素、音节、词或者短语中的任意一个。

在解码模块203输出多个识别结果候选后,语音单元语速差异值计算模块204对每一个识别结果候选,基于所包含的语音单元的段长,计算语音单元语速差异值。

在本实施例中,在语音单元语速差异值计算模块204中,首先,语速计算单元2041对于每一个识别结果候选中的每一个语音单元,计算该语音单元的语速。如前所述,语速被定义为语音单元的段长(即通过解码模块203获得的语音单元的实际段长)与语音库中对应的语音单元的平均段长的比值。然后,极差计算单元2042计算所有语音单元的语速中最大值与最小值的差值,作为该识别结果候选的语音单元语速差异值。

然后,在综合得分计算模块205中,根据每个识别结果候选的语音单元语速差异值和声学得分,计算该识别结果候选的综合得分。在本实施例中,首先,倒数计算单元2051计算该识别结果候选的语音单元语速差异值的倒数值,然后,加权单元2052根据预先确定的权重系数对所计算的倒数值进行加权,最后,求和单元2053将加权后的倒数值与声学得分相加,以作为该识别结果候选的综合得分。

可选地,在计算识别结果候选的综合得分时,还可以用相反数代替倒数值,即,在综合得分计算模块205中,首先相反数计算单元计算该识别结果候选的语音单元语速差异值的相反数,接着,加权单元根据预先确定的权重系数对所计算的相反数进行加权,然后求和单元将加权后的相反数与声学得分相加,以作为该识别结果候选的综合得分。

另外,可选地,综合得分计算模块205也可以包括:倒数计算单元,其计算该识别结果候选的语音单元语速差异值的倒数值;加权单元,其根据预先确定的权重系数对所计算的倒数值进行加权;以及乘积计算单元,其将加权后的倒数值与声学得分相乘,以作为该识别结果候选的综合得分。

在上述的综合得分计算模块205中,权重系数可以根据不同的语音识别任务进行调整。

最后,所有的识别结果候选及其综合得分都被提供给选择模块206,由选择模块206根据综合得分,从多个识别结果候选中选择综合得分最高的识别结果候选,作为语音的最终识别结果。

图3示出了根据本发明的第二个实施例的基于语音单元语速的差异的语音识别系统300的示意性方框图,其中,与前面实施例相同的部分使用相同的附图标记,并适当省略其说明。下面结合附图,对本实施例进行详细描述。

本实施例的语音识别系统300的结构与图2所示的语音识别系统200的基本相同,区别在于:语音单元语速差异值计算模块304的结构不同。

在本实施例的语音单元语速差异值计算模块304中,首先,语速计算单元3041对于每个识别结果候选中的每一个语音单元,计算该语音单元的语速。然后,由方差计算单元3042计算每个识别结果候选的所有语音单元的语速的方差,以作为该识别结果候选的语音单元语速差异值。

同样,图4所示出的根据本发明的第三个实施例的基于语音单元语速的差异的语音识别系统400与图2和图3所示的语音识别系统200、300的区别也在于:语音单元语速差异值计算模块404的结构不同。

在本实施例的语音单元语速差异值计算模块404中,首先,语速计算单元4041对于每个识别结果候选中的每一个语音单元,计算该语音单元的语速。然后,标准差计算单元4042计算每个识别结果候选的所有语音单元的语速的标准差,作为该识别结果候选的语音单元语速差异值。

同样,图5所示出的根据本发明的第四个实施例的基于语音单元语速的差异的语音识别系统500与图2、图3和图4所示的语音识别系统200、300、400的区别也在于:语音单元语速差异值计算模块504的结构不同。

在本实施例的语音单元语速差异值计算模块504中,首先,语速计算单元5041对于每个识别结果候选中的每一个语音单元,计算该语音单元的语速。然后,标准差计算单元5042和平均值计算单元5043分别计算每个识别结果候选的所有语音单元的语速的标准差和平均值,再由比值计算单元5044计算上述标准差与平均值的比值,作为该识别结果候选的语音单元语速差异值。

应当指出,上述实施例的基于语音单元语速的差异的语音识别系统200、300、400和500及其各个组成部分可以用专用的电路或芯片构成,也可以通过计算机(处理器)执行相应的程序来实现。并且,上述实施例的基于语音单元语速的差异的语音识别系统在操作上可以实现图1所示的基于语音单元语速的差异的语音识别方法。

以上虽然通过一些示例性的实施例详细描述了本发明的各个实施例的基于语音单元语速的差异的语音识别方法及语音识别系统,但是以上这些实施例并不是穷举的,本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不限于这些实施例,本发明的范围仅由所附的权利要求限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号