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

文档序号:2832331阅读:360来源:国知局
专利名称:基于语音单元语速的差异的语音识别方法及语音识别系统的制作方法
技术领域
本发明涉及语音识别技术,具体地,涉及根据语音单元语速的差异而进行语音 识别的方法及相应的语音识别系统。
背景技术
通常,语音识别过程可包括语音信号的预处理、声学特征的提取和搜索解码 等。在进行语音识别时,首先对输入的语音信号进行预处理,其包括预滤波、采样和量 化、加窗分帧、端点检测、预加重等。然后,对预处理后的语音信号进行特征提取,以 获得线性预测系数LPC、倒谱系数CEP、Mel倒谱系数MFCC和感知线性预测PLP等声 学特征。根据所获得的声学特征以及预先训练的声学模型,使用诸如Viterbi算法的搜索 策略对语音信号进行解码,以获得相应的识别结果。在语音识别的过程中,段长信息由于不受噪声或信道的影响,因此对于语音识 别的稳健性非常重要。在现有的利用段长信息进行语音识别的方法中,常见的是对语音 单元(例如状态、音素、词等)段长用随机分布(例如正态分布、Y分布、高斯混合模 型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表示第u个语音单元的语速,du表示第u个语音单元的段长,mu表示 语音库中与第u个语音单元对应的语音单元的平均段长。在步骤SllO中,首先,根据公式(1),计算该识别结果候选中的每一个语音单 元的语速,然后计算该识别结果候选的语音单元语速差异值。在一个实施例中,语音单元语速差异值被定义为某个识别结果候选的所有语音 单元的语速的最大值与最小值的差值,即语速的极差。假设识别结果候选包括N个语音 单元,则语音单元语速差异值可根据以下的公式计算
sd = max(r1, r2, ..., rN)-min(rj, r2, ..., rN),其中,sd表示语音单元语速差异值。在这种情况下,从所计算的所有语音单元 的语速中选出最大值和最小值,并计算两者之差。在另一个实施例中,语音单元语速差异值被定义为某个识别结果候选的所有语 音单元的语速的方差,即Sd = VaKr1, T2, ..., rN)。在这种情况下,根据方差公式计算所有语速的方差。在另一个实施例中,语音单元语速差异值被定义为某个识别结果候选的所有语 音单元的语速的标准差,即sd = StdvO1, r2, ..., rN)。在这种情况下,根据标准差公式计算所有语速的标准差。在另一个实施例中,语音单元语速差异值被定义为某个识别结果候选的所有语 音单元语速的变异系数,即所有语音单元语速的标准差与平均值的比值,如下列公式所 示sd = stdv(rj, 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所示的基于语音单元语速的差异的语音识别方法。
以上虽然通过一些示例性的实施例详细描述了本发明的各个实施例的基于语音 单元语速的差异的语音识别方法及语音识别系统,但是以上这些实施例并不是穷举的, 本领域技术人员可以在本发明的精神和范围内实现各种变化和修改。因此,本发明并不 限于这些实施例,本发明的范围仅由所附的权利要求限定。
权利要求
1.一种基于语音单元语速的差异的语音识别方法,包括 对所输入的语音进行预处理;提取所述语音的声学特征;基于预先训练的声学模型和所提取的所述语音的声学特征,对所述语音进行解码, 以获得所述语音的多个识别结果候选,其中所述多个识别结果候选的每一个具有声学得 分以及所包含的语音单元的段长;对于所述多个识别结果候选的每一个,基于所包含的语音单元的段长,计算该识别结果候选的语音单元语速差异值; 基于所计算的语音单元语速差异值和声学得分,计算该识别结果候选的综合得分;以及从所述多个识别结果候选中选择所述综合得分最高的识别结果候选,作为所述语音 的最终识别结果。
2.根据权利要求1所述的语音识别方法,其中,所述计算该识别结果候选的语音单元 语速差异值的步骤包括对于该识别结果候选中的每一个语音单元,计算该语音单元的语速,其中所述语速 是该语音单元的段长与语音库中对应的语音单元的平均段长的比值;以及计算所有语音单元的语速中最大值与最小值的差值,作为该识别结果候选的语音单 元语速差异值。
3.根据权利要求1所述的语音识别方法,其中,所述计算该识别结果候选的语音单元 语速差异值的步骤包括对于该识别结果候选中的每一个语音单元,计算该语音单元的语速,其中所述语速 是该语音单元的段长与语音库中对应的语音单元的平均段长的比值;以及计算所有语音单元的语速的方差,作为该识别结果候选的语音单元语速差异值。
4.根据权利要求1所述的语音识别方法,其中,所述计算该识别结果候选的语音单元 语速差异值的步骤包括对于该识别结果候选中的每一个语音单元,计算该语音单元的语速,其中所述语速 是该语音单元的段长与语音库中对应的语音单元的平均段长的比值;以及计算所有语音单元的语速的标准差,作为该识别结果候选的语音单元语速差异值。
5.根据权利要求1所述的语音识别方法,其中,所述计算该识别结果候选的语音单元 语速差异值的步骤包括对于该识别结果候选中的每一个语音单元,计算该语音单元的语速,其中所述语速 是该语音单元的段长与语音库中对应的语音单元的平均段长的比值; 计算所有语音单元的语速的标准差和平均值;以及计算所述标准差与所述平均值的比值,作为该识别结果候选的语音单元语速差异值。
6.根据权利要求1所述的语音识别方法,其中,所述计算该识别结果候选的综合得分 的步骤包括计算该识别结果候选的语音单元语速差异值的倒数值; 对所述倒数值进行加权;以及将加权后的倒数值与所述声学得分相加,以作为该识别结果候选的综合得分。
7.根据权利要求1所述的语音识别方法,其中,所述计算该识别结果候选的综合得分 的步骤包括计算该识别结果候选的语音单元语速差异值的相反数;对所述相反数进行加权;以及将加权后的相反数与所述声学得分相加,以作为该识别结果候选的综合得分。
8.根据权利要求1所述的语音识别方法,其中,所述计算该识别结果候选的综合得分 的步骤包括计算该识别结果候选的语音单元语速差异值的倒数值;对所述倒数值进行加权;以及将加权后的倒数值与所述声学得分相乘,以作为该识别结果候选的综合得分。
9.根据权利要求1所述的语音识别方法,其中,所述语音单元是状态、音素、音节、 词或者短语中的任意一个。
10.一种基于语音单元语速的差异的语音识别系统,包括预处理模块,用于对所输入的语音进行预处理;特征提取模块,用于提取所述语音的声学特征;解码模块,用于基于预先训练的声学模型和所提取的所述语音的声学特征,对所述 语音进行解码,以获得所述语音的多个识别结果候选,其中所述多个识别结果候选的每 一个具有声学得分以及所包含的语音单元的段长;语音单元语速差异值计算模块,用于对于所述多个识别结果候选的每一个,基于所 包含的语音单元的段长,计算该识别结果候选的语音单元语速差异值;综合得分计算模块,用于对于所述多个识别结果候选的每一个,基于所计算的语音 单元语速差异值和声学得分,计算该识别结果候选的综合得分;以及选择模块,用于从所述多个识别结果候选中选择所述综合得分最高的识别结果候 选,作为所述语音的最终识别结果。
全文摘要
本发明涉及一种基于语音单元语速的差异的语音识别方法,其包括对所输入的语音进行预处理;提取所述语音的声学特征;基于预先训练的声学模型和所提取的所述语音的声学特征,对所述语音进行解码,以获得所述语音的多个识别结果候选,其中所述多个识别结果候选的每一个具有声学得分以及所包含的语音单元的段长;对于所述多个识别结果候选的每一个,基于所包含的语音单元的段长,计算该识别结果候选的语音单元语速差异值;基于所计算的语音单元语速差异值和声学得分,计算该识别结果候选的综合得分;以及从所述多个识别结果候选中选择所述综合得分最高的识别结果候选,作为所述语音的最终识别结果。此外,本发明还提供了相应的语音识别系统。
文档编号G10L15/00GK102013253SQ20091017287
公开日2011年4月13日 申请日期2009年9月7日 优先权日2009年9月7日
发明者何磊, 赵蕤, 鄢翔 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1