语音识别装置和语音识别方法

文档序号:2834786阅读:334来源:国知局
专利名称:语音识别装置和语音识别方法
技术领域
本发明涉及一种语音识别装置和语音识别方法。本发明特别涉及这样一种语音识别装置和语音识别方法,其中,在由多个用户或在多种环境中使用该装置时,不需要用户了解对模型的适应,就可以以很高的精确度识别语音。
背景技术
一般说来,语音识别装置通过下述处理(语音识别处理)来识别输入语音。
也就是说,语音识别装置对输入语音做声学分析,由此提取指示输入语音的特征的数量的预定维数的特征向量。用来分析语音的方法有傅立叶变换等。
然后,用声学模型对特征向量做匹配处理。获取词语串(多个词语),其对应于与该特征向量序列匹配的声学模型序列,作为识别语音的结果。
在使用,例如,连续隐藏马尔可夫模型(HMM(Hidden Markov Model))方法的匹配处理中,声学模型是HMM,其使用诸如至少一个由特征向量空间定义的高斯概率分布的概率(密度)函数。在匹配处理中,通过使用高斯概率分布形成声学模型,从作为语音识别结果的多个候选者(下文中,适当地称其为理论(theory))的该声学模型序列中,计算观测该特征向量序列的似然性(分数),基于分数从多个理论中确定最终语音识别结果。换句话说,选择所估计的特征向量序列的分数为最高的理论作为多个理论中最匹配输入语音的声学模型,并输出对应于形成该理论的声学模型序列作为识别语音的结果。
近年来,提出了各种语音识别装置,其分为三类对特定讲话者的语音识别装置、对非特定讲话者的语音识别装置、模型自适应语音识别装置。
对特定讲话者的语音识别装置使用通过使用特定讲话者的语音而得到的声学模型,所以以很高的精确度(低错误率)获得识别特定讲话者的语音的结果。然而,在对特定讲话者的语音识别装置中,识别该特定讲话者之外的讲话者的语音的精确度一般会很糟。
对非特定讲话者的语音识别装置使用通过大量任意讲话者的语音得到的声学模型。所以以相对较高的精确度获得识别任意讲话者的语音的结果。然而,在对非特定讲话者的语音识别装置中,挑选特定的讲话者,然后识别被挑选的讲话者的精确度并不比对特定讲话者的语音识别装置识别语音的精确度高。
模型自适应语音识别装置首先具有与对非特定讲话者的语音识别装置相同的性能。然而,在由特定的用户(讲话者)使用该装置期间,基于特定用户的语音执行对声学模型的适应,从而改善了识别该特定用户的语音的精确度。
也就是说,模型自适应语音识别装置首先通过使用与对非特定讲话者的语音识别装置相似的声学模型来识别语音。在这种情况下,在用户的输入语音和声学模型之间分析失配,并获得将声学模型变换成模型匹配(适用于)该输入语音的变换矩阵。然后,通过使用这样通过使用变换矩阵变换声学模型而获得的声学模型,即,在对声学模型适应之后的声学模型,来识别语音。在用户正式使用模型自适应语音识别装置之前,作为训练,该装置执行上述对声学模型的适应。因此,声学模型被变换成与用户的语音匹配,从而改善了识别该特定讲话者的语音的精确度。
如上所述,在模型自适应语音识别装置中,将声学模型变换成适于识别输入语音的声学模型。从而,专用于该用户(讲话者),从而该语音识别装置匹配该用户。或者,专用于语音识别装置所处环境,从而语音识别装置变得适应于该环境。
换句话说,语音识别装置所处的环境包括用户的语音被输入到语音识别装置之前那里的噪音和信道的失真。当在预定环境中使用自适应语音识别装置时,将声学模型变换成适应在该预定环境下的声音。从这一点来说,模型自适应语音识别装置适应其环境。信道的失真取决于用于将语音变换成电信号的麦克风的特征、限制传输语音识别装置的输入语音的电话线的带宽等的传输线的特征。
在使用HMM作为声学模型时,通过使用上述变换矩阵,转换用于定义高斯概率分布的平均向量,形成HMM,从而执行对声学模型的适应。通过使用变换矩阵线性变换特征向量,并通过使用变换后的特征向量和声学模型计算分数,获得对于对用于变换声学模型的、模型的适应的有利的等价方式。所以,对模型的适应不只意味着使用变换矩阵来变换声学模型,而且还有对特征向量的变换。即,从用户的语音获得的特征向量可以被处理为适应声学模型,或者声学模型可以被处理为适应从用户的语音获得的特征向量。
执行对模型的适应,以便改善(增加)从声学模型中观测任何目标语音的特征向量的似然性,即通过形成HMM作为对应于目标语音(指示目标语音的音素等的声学模型)声学模型的高斯概率分布而计算出的特征向量的分数。所以,考虑对变换特征向量的模型的适应,理想地,用变换矩阵变换特征向量,因此将特征向量映射到用于定义形成声学模型的高斯概率分布的平均向量。
然后,在对声学模型的适应中,为了使从对应于目标语音的声学模型计算的目标语音的特征向量的分数大于从另一个声学模型计算的分数,获取变换矩阵以执行线性变换,其中目标语音的特征向量匹配用于定义形成对应于目标语音的声学模型的高斯概率分布的平均向量。可以周期性地或非周期性地计算变换矩阵。在识别语音时,通过使用由变换矩阵获得的特征向量(或声学模型)执行匹配处理。
通过使用从特定讲话者的多个语音获得的多个特征向量序列,获得用于适应该特定讲话者的声学模型的变换矩阵。所以,用于使多个特征向量中的每一个与对应的平均向量匹配的矩阵必须作为变换矩阵获得。尽管有多种获取用于将多个特征向量映射到对应的平均向量的变换矩阵的方法,这里使用了一种使用线性回归(最小二乘法)的方法。通过线性回归获得的变换矩阵使从特定讲话者的语音中获得的要被映射到对应于平均向量的特征向量与该平均向量的统计误差(这里是方差的总和)最小化。所以,一般说来,变换矩阵不使任何从特定讲话者获得的想要的特征向量能够完全地匹配对应的平均向量。
对模型适应的方法不但包括上述方法,而且包括其它有细节变化的方法。根据任何方法,与上述方法相似,基于声学模型,对目标语音的特征向量,或对应于该目标语音的声学模型做基本的变换,从而使用于观测该特征向量的似然性变得最大。
在模型自适应语音识别装置中,进行多次对一个特定用户的语音模型的适应、或者对特定环境下的模型的适应。从而可以改善识别特定用户的语音或特定环境下的语音的精确度,另一方面,却降低了识别其它用户的语音或在其它环境下的语音的精确度。作为结果,模型自适应语音识别装置与对特定讲话者的语音识别装置具有相同的性能。
在模型自适应语音识别装置,如上所述地,适应特定的用户或特定的环境之后,由其它用户或在其它环境下使用该语音识别装置,从而使得该语音识别装置能够适应其它用户或其它环境。
然而,就在由其它用户或在其它环境下开始使用该装置之后,语音识别装置的声学模型仍然适应第一个用户或第一个环境。因此,识别语音的精确度极度降低,直到声学模型变得适应其它用户或其它环境。
进一步讲,在一些情况下,适应第一个用户或用户环境的声学模型不能够完全地适应其它用户或其它环境。适应第一个用户或第一个环境的声学模型必须返回(重置)到初始声学模型,然后必须适应其它用户或其它环境。
在上述情况下,存在下述语音识别装置。即,准备多个声学模型集合,设置根据用户改变的声学模型的集合适应用户。语音识别装置通过使用适应用户的声学模型来识别多个用户的语音,所以与对特定讲话者的语音识别装置相似,获得对所有用户识别语音的精确度。
然而,上述语音识别装置通过使用适应语音的用户的声学模型来识别语音,所以必须向其通知哪个用户在讲话。因此,麻烦在于开始使用该装置之前,用户必须通过操作按钮等输入用于确定用户的信息。

发明内容
在上述情况下设计了本发明。本发明的目的是在多个用户或在多种环境下使用语音识别装置时,以高精确度识别语音,而不需要对模型的适应的用户识别。
根据本发明,提供了一种语音识别装置,包括变换函数存储装置,用于存储至少一个变换函数,所述变换函数用于当变换输入语音和声学模型中的一个,并使已变换的一个适应另一个时,变换输入语音和用来识别该语音的声学模型中的一个;分配装置,用于基于用所述变换函数存储装置中存储的至少一个变换函数变换输入语音和声学模型中的一个的变换结果,从所述变换函数存储装置中存储的至少一个变换函数中,检测最佳变换函数,并将输入语音分配给最佳变换函数,所述最佳变换函数使输入语音和对应该输入语音的声学模型中的一个适应另一个;语音存储装置,用于存储已为其分配了变换函数的输入语音;变换函数更新装置,用于通过使用分配给变换函数的所有输入语音,从所述变换函数存储装置中存储的至少一个变换函数中,更新已由所述分配装置为其分配了新输入语音的变换函数;变换函数选择装置,用于从所述变换函数存储装置中存储的至少一个变换函数中,选择用于变换输入语音和声学模型中的一个的变换函数;变换装置,用于用所述变换函数选择装置选择的变换函数变换输入语音和声学模型中的一个;以及匹配装置,用于执行匹配处理,其中,使经过变换函数变换的输入语音和声学模型中的一个与另一个匹配,和用于基于匹配处理结果,输出识别输入语音的结果。
根据本发明,提供了一种语音识别方法,包括分配步骤,基于用至少一个变换函数变换输入语音和声学模型中的一个的变换结果,从至少一个变换函数中,检测最佳变换函数,并将输入语音分配给最佳变换函数,所述最佳变换函数使输入语音和对应该输入语音的声学模型中的一个适应另一个;语音存储步骤,存储已为其分配了变换函数的输入语音;变换函数更新步骤,通过使用分配给变换函数的所有输入语音,从至少一个变换函数中,更新已在所述分配步骤中为其分配了新输入语音的变换函数;变换函数选择步骤,从至少一个变换函数中,选择用于变换输入语音和声学模型中的一个的变换函数;变换步骤,用所述变换函数选择步骤中选择的变换函数变换输入语音和声学模型中的一个;以及匹配步骤,执行匹配处理,其中使变换函数变换的输入语音和声学模型中的一个与另一个匹配,并且基于匹配处理结果,输出识别输入语音的结果。
根据本发明,提供了一种程序,包括分配步骤,基于用至少一个变换函数变换输入语音和声学模型中的一个的变换结果,从至少一个变换函数中,检测最佳变换函数,并将输入语音分配给最佳变换函数,所述最佳变换函数使输入语音和对应该输入语音的声学模型中的一个适应另一个;语音存储步骤,存储已为其分配了变换函数的输入语音;变换函数更新步骤,通过使用分配给变换函数的所有输入语音,从至少一个变换函数中,更新已在所述分配步骤中为其分配了新输入语音的变换函数;变换函数选择步骤,从至少一个变换函数中,选择用于变换输入语音和声学模型中的一个的变换函数;变换步骤,用所述变换函数选择步骤中选择的变换函数变换输入语音和声学模型中的一个;以及匹配步骤,执行匹配处理,其中使变换函数变换的输入语音和声学模型中的一个与另一个匹配,并且基于匹配处理结果,输出识别输入语音的结果。
根据本发明,提供了一种用于记录程序的记录介质,所述程序包括分配步骤,基于用至少一个变换函数变换输入语音和声学模型中的一个的变换结果,从至少一个变换函数中,检测最佳变换函数,并将输入语音分配给最佳变换函数,所述最佳变换函数使输入语音和对应该输入语音的声学模型中的一个适应另一个;语音存储步骤,存储已为其分配了变换函数的输入语音;变换函数更新步骤,通过使用分配给变换函数的所有输入语音,从至少一个变换函数中,更新已在所述分配步骤中为其分配了新输入语音的变换函数;变换函数选择步骤,从至少一个变换函数中,选择用于变换输入语音和声学模型中的一个的变换函数;变换步骤,用所述变换函数选择步骤中选择的变换函数变换输入语音和声学模型中的一个;以及匹配步骤,执行匹配处理,其中使变换函数变换的输入语音和声学模型中的一个与另一个匹配,并且基于匹配处理结果,输出识别输入语音的结果。
根据本发明,基于用至少一个变换函数变换输入语音和声学模型中的一个的变换结果,从至少一个变换函数中,检测出的使输入语音和对应于该输入语音的声学模型中的一个适应另一个的最佳变换函数。将输入语音分配给最佳变换函数。通过使用分配给变换函数的所有输入语音来更新为其分配了新输入语音的变换函数。进一步讲,从至少一个变换函数中选择用于变换输入语音和声学模型中的一个的变换函数。所选择的变换函数变换输入语音和声学模型中的一个。执行匹配处理,以便已变换的输入语音和声学模型中的一个与另一个匹配。基于匹配处理结果输出识别输入语音的结果。


图1是展示根据本发明的第一个实施例的语音识别装置的结构的例子的方框图。
图2是用于说明语音识别处理的流程图。
图3是用于说明自适应数据注册处理的流程图。
图4是用于说明变换矩阵更新处理的流程图。
图5是用于说明变换矩阵产生/删除处理的流程图。
图6是用于说明变换矩阵产生处理的流程图。
图7是用于说明变换矩阵删除处理的流程图。
图8是展示根据本发明的第二个实施例的语音识别装置的结构的例子的方框图。
图9是展示根据本发明的第三个实施例的计算机的结构的例子的方框图。
具体实施例方式
图1展示了根据本发明的第一个实施例的语音识别装置的结构的例子。
将用户的语音输入到麦克风1,麦克风1将输入语音变换成作为电信号的语音信号。将语音信号提供给模拟/数字(A/D)转换单元2。A/D转换单元2对来自麦克风1的作为模拟信号的语音信号采样,将语音信号数字化,将其转换为作为数字信号的语音数据。将语音数据提供给特征提取单元3。
特征提取单元3对来自A/D转换单元2的语音数据的每个本征(proper)帧进行声学分析处理,从而提取特征向量作为诸如唛耳频率对数倒频谱系数(MFCC(Mel Frequency Cepstrum Coefficient))的特征数量。进一步讲,特征提取单元3可以提取诸如频谱、线性预测系数、倒频谱系数(CepstrumCoefficient)、以及线性频谱对的特征向量。
把由特征提取单元3对每个帧获得的特征向量顺序提供给特征向量缓冲器4,并存储在其中。从而,在特征向量缓冲器4中存储了每一帧的特征向量的时间序列。
缓冲器4存储从语音开始到结束(语音段)获得的特征向量的时间序列。
变换单元5用从选择单元14提供的变换矩阵变换在缓冲器4中存储的特征向量,并将变换后的特征向量(下文中称其为变换特征向量)提供给匹配单元6,作为适应声学模型存储单元7中存储的声学模型的特征向量。
匹配单元6基于连续分布HMM方法等,通过参考声学模型存储单元7、词典存储单元8、以及语法存储单元9,必要时通过使用从变换单元5提供的特征向量(变换特征向量),来识别输入麦克风1的语音。
换句话说,声学模型存储单元7存储声学模型,所述声学模型为每个诸如单个音素和音节的预定单元(语音语言单元(PLL)指定声学特征,以识别语音语言中的语音。这里,基于连续分布HMM方法识别语音,所以声学模型使用计算观测预定的特征向量序列的概率的隐藏马尔可夫模型(HMM)。由平均向量和共轭分布矩阵定义HMM的高斯分布。可以通过使用高斯分布之外的概率密度函数形成HMM。
词典存储单元8存储字典,所述字典描述语音的信息(音韵)。
语法存储单元9存储语法规则(语言模型),所述语法规则描述如何连接(组合)词典存储单元8的字典中注册的词语。这里,语法规则使用基于上下文无关语法(CFG(context-free grammar))和统计词语连接概率(N-gram)的规则。
匹配单元6通过参考词典存储单元8中的字典,连接声学模型存储单元7中存储的声学模型,由此形成词语的声学模型(词语模型)。进一步讲,匹配单元6通过参考语法存储单元9中存储的语法规则,连接一些词语模型,并基于特征向量时间序列,使用上面连接的词语模型,通过连续分布HMM方法,来识别输入麦克风1的语音。即,匹配单元6,计算指示从具有上述结构的词语模型序列中观测经由变换单元5提供的特征向量时间序列的似然性的分数。匹配单元6检测分数最高的词语模型序列,并输出对应于该词语模型序列的词语串,作为识别语音的结果。
由于用HMM方法识别语音,匹配单元6积累词语串的特征向量的出现概率,所述词语串对应于已连接词语模型,输出分数最高的具有积累值的词语串,作为识别语音的结果。
一般而言,通过整体估计由声学模型存储单元7中存储的声学模型给出的声学分数(下文中适当地称其为声学分数)、和由语法存储单元9中存储的语法规则给出的语言分数(下文中适当地称其为语言分数),来计算分数。
换句话说,在使用HMM方法的情况下,基于从形成词语模型的声学模型中观测从特征提取单元3输出的特征向量序列的概率,来计算声学分数。在使用双字母组的情况下,基于将目标词语与其前面的词语连接的概率而获得语言分数。基于通过整体估计词语的声学分数和语言分数获得的最后分数(下文中适当地称其为最后分数),确定识别语音的结果。
具体说来,参考符号wk表示具有N个词语的词语串中第k个词语,参考符号A(wk)表示词语wk的声学分数,而参考符号L(wk)表示词语wk的语言分数。参考符号S表示词语串的最后分数。在这种情况下,用下面的公式计算最后分数S。
S=∑(A(wk)+L(wk))(1)附带提一下,参考符号∑表示数字k从1变到N时的总和。参考符号Ck表示词语wk的语言分数L(wk)的权重。
在匹配单元6中,执行匹配处理,以便获得具有用上述公式(1)表示的最后分数的数字N和词语串w1、w2、...、wN,作为语音的结果。输出词语串w1、w2、...、wN作为识别语音的结果。
作为上述匹配处理的结果,在图1中所示的语音识别装置中,当用户说“New York ni ikitai desu”时,对词语“New York”、“ni”、“ikitai”、“desu”给出声学分数和语言分数。当通过整体估计声学分数和语言分数而获得的最后分数最大时,数组词语串“New York”、“ni”、“ikitai”、“desu”作为识别语音的结果。
在上述情况下,假设在词典存储单元8的字典中注册了这四个词语“NewYork”、“ni”、“ikitai”、“desu”。使用上述四个词语的四词排列数为44。所以,简单地,匹配单元6估计这44个词语串,并从上述排列中确定最匹配用户的语音的词语串(最后分数最大)。如果在字典中注册的词语数增加,这一数目的词语的排列数等于词语数量的平方。所以,作为估计目标的词语串数非常大。
进一步讲,语音中所包括的词语数一般是未知的,所以不但必须估计四个词语的排列的词语串,而且还必须估计包含一个词语、两个词语、...的词语串。所以估计词语串的数目进一步增大。考虑到计算量和存储能力,极为重要的是有效地从众多词语串中确定似然性最高的词语串,作为识别语音的结果。
改善计算量和存储能力的效率的方法包括声学修剪(pruning)的方法,通过该方法,基于在用于获得声学分数的处理中获得的声学分数,停止分数计算;语言修剪方法,用于缩小作为分数计算的目标的词语的范围;以及类似方法。
这些修剪方法被称为定向(beam)搜索法。在定向搜索法中使用预定的阈值来缩小(修剪)词语的范围,并称其为定向宽度。
这里,适当地将声学分数和语言分数命名为汇总(lump)分数。
在定向搜索法中,将词语序列设置成识别语音的结果的候选者的主题,通过重新将词语与词语序列(识别语音的结果的候选者)连接为主题而产生新的主题,并且通过使用特征向量计算作为产生的主题的词语序列的分数。进一步讲,删除分数相对较低的主题,并重复相似的处理以保持主题。
当对分数的计算,在从语音中作为语音识别(在语音段中)的目标而获得的特征向量序列中,从头开始到最后结束时,将具有最高分数的作为主题的词语序列,设置成在此点剩余的主题中识别语音的结果。
注册单元10使每个语音(每个语音段)的特征向量序列能够对应于平均向量序列,所述平均向量用于定义对应于该语音的序列的声学模型(这里是如上所述的HMM)的高斯分布,并将其提供给自适应数据库11。
使用由注册单元10提供给自适应数据库的特征向量序列和与其对应的平均向量序列来更新变换矩阵,以使由特征提取单元3输出的特征向量适应声学模型存储单元7中存储的声学模型。在下文中,适当地把由注册单元10提供给自适应单元11的特征向量序列和与其对应的平均向量序列称为自适应数据。
上述自适应数据的平均向量序列是从对应的声学模型中观测其似然性(概率)最高的特征向量序列。所以,理想地,对模型适应最好的变换矩阵是将自适应数据的特征向量序列变换成对应于该特征向量的平均向量序列的变换矩阵。
自适应数据的形成需要语音的特征向量和对应于该语音的声学模型序列。通过由特征提取单元3处理输入麦克风1的用户的语音,形成自适应数据的语音特征向量。非常重要的是,如何识别对应于输入麦克风1的语音的声学模型序列。通过下述方法识别声学模型。
也就是说,根据的一种方法,在语音识别装置中,向用户请求预定词语的语音。在这种情况下,如果用户响应请求讲出预定的词语,那么就基于由用户请求的预定词语识别对应该语音的声学模型序列。
根据第二种方法,在语音识别装置中,变换单元5通过存储在变换矩阵存储单元13中的变换矩阵,如下文所述地,变换从用户的语音中获得的特征向量。然后,匹配单元6通过使用上面获得的变换特征向量执行匹配处理。在这种情况下,在识别从变换特征向量中获得的语音的结果中,分数最高的声学模型序列作为识别语音的适当结果,被识别为对应于用户语音的声学模型序列。
顺便提一下,根据第二种方法,注册单元10通过监控匹配单元6的内部状态来识别分数,并识别对应于缓冲器4中存储的语音特征向量序列的语音(分数最高的)声学模型序列。
根据第一种或第二种方法,注册单元10必须识别HMM的平均向量作为声学模型(平均矢量用于定义高斯分布,高斯分布用于计算从HMM的状态观测特征向量的概率)。然而,注册单元10通过参考声学模型存储单元7来识别平均向量。
自适应数据库11存储从注册单元10提供的自适应数据和分配信息,所述分配信息指示自适应数据已被分配给变换矩阵存储单元13中存储的变换矩阵。分配信息是从模型自适应单元12提供给自适应数据库11的。
模型自适应单元12通过使用自适应数据库11中存储的自适应数据,更新、产生、并删除用于对模型的适应的变换矩阵,所述模型中,语音的特征向量适应于存储在声学模型存储单元7中的声学模型。
进一步讲,当在自适应数据库11中存储新的自适应数据时,模型自适应单元12识别出自适应数据已被分配于变换矩阵存储单元13中存储的变换矩阵,并将自适应数据分配给该变换矩阵。
换句话说,模型适应单元12识别出新存储的自适应数据已被分配给变换矩阵存储单元13中存储的变换矩阵,并产生指示该分配的分配信息。此外,模型自适应单元12向自适应数据库11提供分配信息,并存储对应于该自适应数据的分配信息。
因此,在图1中所示的语音识别装置中(相似地,在图8中所示的下文中将描述的语音识别装置中),自适应数据库11中存储的所有自适应数据被分配给变换矩阵存储单元13中存储的变换矩阵。分配导致自适应数据分类(分为子集)为一些类(由变换矩阵指定的类)。
变换矩阵存储单元13存储至少一个变换矩阵。在初始状态中,变换矩阵存储单元13只存储一个变换矩阵。这里,与传统模型自适应语音识别装置相似,使用恒等(identical)矩阵(单位矩阵)等作为初始状态而存储的一个变换矩阵。
选择单元14监控匹配单元6的内部状态,从变换矩阵存储单元13中存储的至少一个变换函数中,选择用来变换缓冲器4中存储的特征向量的变换函数,并向变换单元5提供所选的变换函数。
接下来,将参考图2中所示的流程图描述图1中所示的语音识别装置的语音识别处理。
经由A/D转换单元2,将输入麦克风1的用户语音作为数字语音数据提供给特征提取单元3。特征提取单元3对所提供的语音数据的每一帧做声学分析,并提取特征向量。把由特征提取单元3对每一帧获得的特征向量顺序提供给缓冲器4并在其中存储。特征提取单元3对特征向量的提取和缓冲器对特征向量的存储是连续的,直到用户的语音(语音段)结束为止。
通过,例如,公知方法等,执行对语音段的检测。
如上所述,开始缓冲器4对特征向量的存储。在步骤S1中,选择单元14选择变换矩阵存储单元13中存储的所有变换矩阵,将所选的变换矩阵提供给变换单元5,而处理程序进入步骤S2。这里,下文中将选择单元14选择的变换矩阵称为所选的变换矩阵。
在步骤S2中,变换单元5开始从缓冲器4读取特征向量时间序列,以便通过使用从选择单元14提供的所选的变换矩阵,变换从缓冲器4读取的特征向量,并将通过变换获得的变换特征向量提供给匹配单元6。
也就是说,在这种情况下,变换矩阵存储单元13中存储的所有变换矩阵变成被选择的变换矩阵。所以,变换单元5通过变换矩阵变换缓冲器4中存储的特征向量,并将变换特征向量的已变换序列提供给匹配单元6。
这样,在步骤S2中,变换单元5开始将通过变换矩阵存储单元13中存储的至少一个变换矩阵变换的特征向量序列提供给匹配单元6。
其后,在步骤S3中,匹配单元6参考声学模型存储单元7、词典存储单元8、以及语法存储单元9,必要时使用所提供的特征向量序列,通过基于定向搜索修剪主题,执行匹配处理,以基于连续分布HMM方法等计算分数。
换句话说,匹配单元6通过变换矩阵存储单元13中存储的至少一个变换矩阵,执行对特征向量序列的匹配处理。
在步骤S4中,匹配单元6确定对于通过变换矩阵存储单元13中存储的至少一个变换矩阵变换的特征向量序列,是否获得了对应于从语音段开始时间起预定时间的主题。
在步骤S4中,如果确定还没有获得对应于从语音段开始时间起预定时间的主题,那么处理程序返回步骤S3,于是匹配单元6使用从变换单元5提供的特征向量序列继续匹配处理。
在步骤S4中,如果确定已经获得对应于从语音段开始时间起预定时间的主题,即,如果匹配单元6对于通过变换矩阵存储单元13中存储的至少一个变换矩阵变换的特征向量序列,获得了对应于从语音段开始时间起预定时间的主题,那么处理程序进入步骤S5,于是,选择单元14,从经过变换矩阵存储单元13中存储的至少一个变换矩阵变换的每一个特征向量而获得的对应于预定时间的主题中,选择具有分数最高的主题。进一步讲,在步骤S5中,选择单元14检测用于变换从中获得最高分数的特征向量序列的变换矩阵,而处理程序进入步骤S6。
这里,上述检测到的变换矩阵(下文中适当地称其为检测到的变换矩阵)把从声学模型存储单元7中存储的声学模型中获得的最高分数提供给用户的输入语音(的特征向量)。检测到的变换矩阵使用户的语音最佳地适应声学模型。换句话说,检测到的变换矩阵是用户语音的最佳变换矩阵。
在步骤S6中,选择单元4从变换矩阵存储单元13中存储的变换矩阵中选择在步骤S5中检测到的、检测到的变换矩阵(最佳变换矩阵),并将所选择的变换矩阵提供给变换单元5,而处理程序进入步骤S7。
在步骤S7中,变换单元5开始通过使用从选择单元14提供的所选的变换矩阵,变换从缓冲器4读取的特征向量,并将上面已变换的变换特征向量提供给匹配单元6。
也就是说,开始向匹配单元6提供由使用户的输入语音最佳地适应声学模型的变换矩阵(下文中,适当地称其为最佳变换矩阵)变换的特征向量序列。
其后,在步骤S8中,匹配单元6通过使用所提供的特征向量序列继续匹配处理。即,匹配单元6,通过使用由变换矩阵存储单元13中存储的变换矩阵中对于输入语音的最佳变换矩阵变换的特征向量序列,继续匹配处理。因此,匹配单元6通过使用由最佳变换矩阵变换的特征向量序列,计算所获得的分数。
在这种情况下,匹配单元6,删除通过由最佳变换矩阵之外的变换矩阵变换的特征向量而获得的分数和主题,所述的分数和主题是从步骤S3和S4的循环处理中获得的。
在结束分数计算之后,直到语音段的结束时间,在步骤S9中,匹配单元6从剩余主题中检测分数最高的主题,并输出检测到的主题,作为识别语音的结果。然后,处理程序进入步骤S10。
在步骤S10中,执行自适应数据注册处理,以便向自适应数据库11注册新的自适应数据,并结束语音识别处理。
接下来,将参考图3中所示的流程图描述图2中步骤S10的最佳数据注册处理。
在自适应数据注册处理中,首先,在步骤S21中,注册单元10参考匹配单元6的内部状态,从而识别关于缓冲器4中存储的一个声音的语音的特征向量序列的、对应于语音的声学模型序列(形成识别声音的语音的结果的声学模型序列)。进一步讲,在步骤S21中,注册单元10识别平均向量,用于通过参考声学模型存储单元7,定义识别出的声学模型序列的声学模型的高斯分布;并且,注册单元10还通过使对应于声学模型序列的平均向量序列与缓冲器4中存储的特征向量序列相对应,形成自适应数据。在步骤S22中,注册单元10将自适应数据提供给并存储到自适应数据库11中,而处理程序进入步骤S23。
在步骤S23中,注册单元10通过删除缓冲器中存储的一个声音的特征向量序列,清空缓冲器4,而处理程序进入步骤S24。
在步骤S24中,模型自适应单元12把步骤S22中存储到自适应数据库11中的新自适应数据设置成目标自适应数据。然后,模型自适应单元12从变换矩阵存储单元13中存储的变换矩阵中检测变换矩阵(最佳变换矩阵),用于将作为目标自适应数据的特征向量序列变换成最接近于对应于特征向量序列的平均向量序列的向量序列。
也就是说,模型自适应单元12通过使用变换矩阵存储单元13中存储的一个变换矩阵,来变换作为目标自适应数据的特征向量序列,从而获得变换特征向量序列。进一步讲,模型自适应单元21,获得变换特征向量序列的变换矩阵向量和作为目标自适应数据的平均向量序列的对应平均向量之间的距离的总和,作为变换特征向量和平均向量之间的误差。模型自适应单元21,针对从变换矩阵存储单元13中存储的变换矩阵中获得的每个变换特征向量,获得变换特征向量和平均向量序列之间的上述误差,并检测用于获得产生最小误差的变换特征向量的变换矩阵,作为最佳变换矩阵。
在步骤S25中,模型自适应单元12将目标自适应数据分配给最佳变换矩阵。即,模型自适应单元12,将指示最佳变换矩阵的信息设置到上述信息中,向自适应数据库11提供分配信息,并将分配信息以其与目标自适应数据的对应关系存储。
其后,在步骤S26中,模型自适应单元12执行变换矩阵更新处理,以通过使用自适应数据库11中存储的自适应数据,更新变换矩阵存储单元13中存储的变换矩阵,然后结束自适应数据注册处理。
接下来,将参考图4中所示的流程图描述图3中步骤S26中的变换矩阵更新处理。
在变换矩阵更新处理中,首先,在步骤S31中,模型自适应单元12在变换矩阵存储单元13中存储的变换矩阵中,把要为其分配目标自适应数据的变换矩阵设置成目标变换矩阵。然后处理程序进入步骤S32。
在步骤S32中,模型自适应单元12,通过使用被分配给目标变换矩阵的所有自适应数据,更新目标变换矩阵。
也就是说,模型自适应单元12,通过使用最小二乘法(线性回归),获得用于对分配给目标变换矩阵的自适应数据的特征向量序列作线性变换的矩阵,其给出线性变换之后的特征向量序列与对应于该特征向量序列的平均向量之间的最小误差。模型更新单元12,更新目标变换矩阵(用目标变换矩阵替换该矩阵),向变换矩阵存储单元13提供更新后的目标变换矩阵,并以覆盖形式,将更新后的目标变换矩阵存储到更新前的目标变换矩阵。
基本上,步骤S32中的更新目标变换矩阵的方法与传统模型自适应语音识别装置中对模型的识别相似。然而,不同于传统方法,使用为了对模型的适应而输入的所有语音来适应模型,在本方法的步骤S32中,只使用被分配给目标变换矩阵的自适应数据来更新目标变换矩阵。传统对模型适应的方法没有考虑到自适应数据已分配给变换矩阵。
在步骤S32中,通过参考自适应数据库11中存储的分配信息,识别分配给目标变换矩阵的自适应数据。
在步骤S32中更新目标变换矩阵之后,在步骤S33中,执行分配更新处理,以更新变换矩阵存储单元13中存储的变换矩阵的自适应数据的分配。
也就是说,在步骤S32中,更新了目标变换矩阵。所以,分配给变换矩阵存储单元13中存储的变换矩阵的自适应数据不包括当前分配的变换矩阵,而是包括已变成最佳变换矩阵的目标变换矩阵。进一步讲,分配给已更新的变换矩阵的自适应数据不包括目标变换矩阵,而是包括已变成最佳变换矩阵的另一个变换矩阵。所以,在步骤S33中的分配更新处理中,检查自适应数据库11中存储的自适应数据是否包括当前分配的变换矩阵,所述的变换矩阵是最佳变换矩阵。如果在步骤S33中为否(NO),那么重新将自适应数据分配给最佳变换矩阵。
具体说来,分配更新处理包括步骤S41至S48的处理。首先,在步骤S41中,模型自适应单元12把变换矩阵存储单元13中存储的变换矩阵的数目和自适应数据库中存储的自适应数据的数目设置成变量I和J。进一步,模型自适应单元12把用于对变换矩阵计数的变量i和用于对自适应数据计数的变量j初始化为1。
然后,在步骤S42中,模型自适应单元12,用作为变换矩阵存储单元13中存储的第i个变换矩阵的变换矩阵Mi,来变换作为自适应数据库11中存储的第j个自适应数据的自适应数据#j的特征向量序列,而处理程序进入步骤S43。在步骤S43中,模型自适应单元12,以类似于图3中步骤S24中所描述的方式,获得通过用变换矩阵Mi变换自适应数据#j获得的变换特征向量与自适应数据#j的平均向量序列之间的误差ε(i,j)。
在步骤S44中,模型自适应单元12确定变量i是否等于变换矩阵总数I。如果在步骤S44中确定变量i不等于总数I,那么处理程序进入步骤S45,于是,模型自适应单元12给变量i增加1。然后处理程序返回步骤S42,然后,重复相似的处理。
如果在步骤S44中确定变量i等于总数I,那么处理程序进入步骤S46,于是模型自适应单元12确定变量j是否等于自适应数据的总数J。如果在步骤S46中确定变量j不等于总数J,那么处理程序进入步骤S47,于是模型自适应单元12给变量j增加1,而将变量i初始化为1。然后处理程序返回步骤S42,于是重复相似的处理。
如果在步骤S46中确定变量j等于总数J,即,当获得了变换特征向量和自适应数据的平均向量序列之间的误差ε(i,j)(i=1,2,...,I;j=1,2,...,J)时,则处理程序进入步骤S48,于是模型自适应单元12将自适应数据#j分配给再次使得误差ε(i,j)最小的变换矩阵Mi,其中所述变换特征向量是通过用变换矩阵存储单元13中存储的变换矩阵来变换自适应数据库11中存储的所有自适应数据而获得的。也就是说,模型自适应单元12按其间的对应关系将指示使误差ε(i,j)最小的变换矩阵Mi的信息作为分配信息,存储(重写)到自适应数据库11中存储的自适应数据#j。
这里,当自适应数据#j被分配给变换矩阵Mi时,自适应数据的误差适当地指示自适应数据#j的平均向量序列与变换特征向量序列之间的误差ε(i,j),其中所述变换特征向量是通过用变换矩阵Mi来变换自适应数据#j的特征向量序列而获得的。
结束了上述步骤S33中包括步骤S41至S48的处理的分配更新处理,处理程序进入步骤S34,于是模型自适应单元12确定分配更新处理中是否存在已分配自适应数据已改变的变换矩阵。
如果在步骤S34中确定存在已分配自适应数据已改变的变换矩阵,那么处理程序进入步骤S35,于是,模型自适应单元12,将其中自适应数据的分配已改变的变换矩阵设置成目标变换矩阵。然后处理返回步骤S32,于是重复相似的处理。
换句话说,当存在其自适应数据的分配已改变的变换矩阵时,在步骤S35中,将变换矩阵设置成目标变换矩阵。然后,处理程序返回步骤S32,于是使用分配给该目标变换矩阵的自适应数据更新目标变换矩阵。进一步讲,在步骤S33中,重复分配更新处理。
当存在多个其自适应数据的分配已改变的变换矩阵时,在步骤S35中,将多个变换矩阵设置成目标变换矩阵。在步骤S32中,通过使用分配给该目标变换矩阵的自适应数据更新该多个目标变换矩阵。
另一方面,如果在步骤S34中确定不存在其自适应数据的分配已改变的变换矩阵,即,如果自适应数据库11中的所有自适应数据都已被分配给最佳变换矩阵,那么处理程序进入步骤S36,于是模型自适应单元12执行变换矩阵产生/删除处理,并结束变换矩阵更新处理。
接下来,将参考图5中所示的流程图描述图4中步骤S36的变换矩阵产生/删除处理。
在变换矩阵产生/删除处理中,首先在步骤S51中,模型自适应单元12确定变换矩阵存储单元13中存储的变换矩阵是否包括这样的变换矩阵,即,其满足产生新的变换矩阵时要满足的预定产生条件。
这里,作为产生条件,多于预定阈值(大于预定阈值)的数目的自适应数据被分配给变换矩阵。进一步讲,作为产生条件,分配给变换矩阵的自适应数据的误差的平均值不小于(即,大于)预定阈值,并且有预定数目的误差不小于分配给变换矩阵的自适应数据的预定阈值。即,作为产生条件,并非将分配给该变换矩阵的所有自适应数据的特征向量,根据变换矩阵,按其对应关系,以高精确度,变换成平均向量。
如果在步骤S51中确定变换矩阵存储单元13中存储的变换矩阵不包括满足产生条件的变换矩阵,则处理程序跳过步骤S52和53,进入步骤S54。
另一方面,如果在步骤S51中确定变换矩阵存储单元13中存储的变换矩阵包括满足产生条件的变换矩阵,那么处理程序进入步骤S52,于是模型自适应单元12把满足产生条件的变换矩阵设置成目标变换矩阵。然后,处理程序进入步骤S53。
在步骤S53中,模型自适应单元12执行变换矩阵产生处理,这将在下文中描述,然后处理程序进入步骤S54。
在步骤S54中,模型自适应单元12确定变换矩阵存储单元13中存储的变换矩阵是否包括这样的变换矩阵,即,其满足删除变换矩阵时要满足的预定删除条件。
这里,作为删除条件,例如,只有不多于预定阈值(少于预定阈值)的数目的自适应数据被分配给变换矩阵。进一步讲,作为删除条件,除了将不多于预定阈值的数目的自适应数据分配给变换矩阵以外,分配给变换矩阵的自适应数据的误差的平均值还不小于(大于)预定阈值。而且,作为删除条件,为变换矩阵存储单元13中存储的变换矩阵存储了图2中的语音识别处理中的步骤S6中所选择的最近的数据,并且该数据是过去的数据,即,其从当前数据起已经过去了不少于预定数目的数据。在这种情况下,被删除的变换矩阵是在图2中语音识别处理中的步骤S6中长时间未被选择的变换矩阵。
如上所述,删除条件包括不存在分配给变换矩阵的自适应数据的状态和该变换矩阵在语音识别中未被使用(未被选择)的状态。
如果在步骤S54中确定变换矩阵存储单元13中存储的变换矩阵不包括满足删除条件的变换矩阵,那么处理程序跳过步骤S55和S56,然后结束变换矩阵产生/删除处理。
如果在步骤S54中确定变换矩阵存储单元13中存储的变换矩阵包括满足删除条件的变换矩阵,那么处理程序进入步骤S55,于是模型自适应单元12把满足删除条件的变换矩阵设置成目标变换矩阵,而处理程序进入步骤S56。
在步骤S56中,模型自适应单元12执行变换矩阵删除处理,这将在下文中描述,而后结束变换矩阵产生/删除处理。
接下来,将参考图6中所示的流程图描述图5中步骤S53的变换矩阵产生处理。
在变换矩阵产生处理中,首先,在步骤S61中,模型自适应单元61基于目标变换矩阵产生第一和第二矩阵。
换句话说,在这种情况下,在图5的步骤S52中已把满足产生条件的变换矩阵设置成目标变换矩阵。在步骤S61中,拆分目标变换矩阵,从而产生两个矩阵即第一和第二矩阵。
顺便提一下,在图5的步骤S52中,当变换矩阵包括多个目标变换矩阵时,对多个目标变换矩阵中的每一个依次或并行执行图6中的变换矩阵产生处理。
这里,在步骤S61中,基于目标变换矩阵,使用目标变换矩阵作为参考,第一和第二矩阵的产生将分量改变预定的值。
也就是说,通过使用目标变换矩阵作为参考,该分量加上或减去预定的值,从而获得两个矩阵,用于映射从通过用目标变换矩阵映射(变换)预定向量而获得的位置偏移预定微小的向量Δ和-Δ的位置处的预定向量。将两个矩阵设置成第一和第二矩阵。进一步讲,将目标变换矩阵设置成第一矩阵,并使用目标变换矩阵作为参考给分量加上或减去预定的值,这样,获得矩阵,用于映射从通过用目标变换矩阵映射预定向量而获得的位置偏移预定微小的向量△的位置处的预定向量。然后,将所获得的矩阵设置成第二矩阵。
在步骤S61中产生第一和第二矩阵之后,在步骤S62中,模型自适应单元12,将已分配给目标变换矩阵的自适应数据的数目设置为变量K,并将用于对自适应数据的数目计数的变量k初始化为1。然后处理程序进入步骤S63。
在步骤S63中,模型自适应单元12用第一和第二矩阵变换自适应数据#k的特征向量序列,所述自适应数据#k是分配给目标变换矩阵的第k个自适应数据,从而获得两个变换特征向量序列。
这里,把通过用第一和第二矩阵变换特征向量序列而获得的变换特征向量序列称为第一和第二变换特征向量序列。
其后,在步骤S64中,模型自适应单元12获得第一变换特征向量序列与自适应数据#k的平均向量序列之间的误差(下文中,适当地称其为第一误差),以及第二变换特征向量序列与自适应数据#k的平均向量序列之间的误差(下文中,适当地称其为第二误差),而处理程序进入步骤S65。
在步骤S65中,模型自适应单元12确定第一误差是否小于(即,不大于)第二误差。如果在步骤S65中确定第一误差小于第二误差,即,如果拿第一矩阵与第二矩阵作比较,那么与第二矩阵相比,第一矩阵更合适地使自适应数据#k适应声学模型,处理程序进入步骤S66,于是模型自适应单元12将自适应数据#k分配给第一矩阵。然后,处理程序进入步骤S68。
如果在步骤S65中确定第一误差不小于第二误差,即,如果拿第一矩阵与第二矩阵作比较,那么与第一矩阵相比,第二矩阵更合适地使自适应数据#k适应声学模型,处理程序进入步骤S67,于是模型自适应单元12将自适应数据#k分配给第二矩阵。然后,处理程序进入步骤S68。
在步骤S68中,模型自适应单元12确定变量k是否等于分配给目标变换矩阵的自适应数据的总数K。
如果在步骤S68中确定变量k不等于K,则处理程序进入步骤S69,于是模型自适应单元12给变量k增加1,而处理程序返回步骤S63,于是重复上述处理。
如果在步骤S68中确定变量k等于K,即,如果分配给目标变换矩阵的自适应数据被分配给第一和第二矩阵中更合适的一个(将特征向量变换到更接近对应的平均向量的向量),那么处理程序进入步骤S70,于是模型自适应单元12从变换矩阵存储单元13中删除目标变换矩阵,将第一和第二矩阵设置为新的变换矩阵,并将其存储到变换矩阵存储单元13中。
换句话说,删除目标变换矩阵,并添加两个新的变换矩阵。在变换矩阵存储单元13中,实际上添加(产生)了一个变换矩阵。
然后,在步骤S71中,模型自适应单元12将两个新的变换矩阵设置成目标变换矩阵,而处理程序进入步骤S72。
在步骤S72中,与图4中所示的步骤S32的情况相似,模型自适应单元12,通过使用分配给目标变换矩阵的所有自适应数据来更新目标变换矩阵。
在这种情况下,两个新存储到变换矩阵存储单元13中的变换矩阵是目标变换矩阵。所以,通过使用为其分配的自适应数据而更新两个目标变换矩阵。
然后,在步骤S73中,与图4中的步骤S33中的情况相似,模型自适应单元12执行分配更新处理,而处理程序进入步骤S74。
在步骤S74中,模型自适应单元12确定在步骤S73中的分配更新处理之后,是否存在其中已分配的自适应数据被改变的变换矩阵。
如果在步骤S74中确定存在其中已分配的自适应数据被改变的变换矩阵,那么处理程序进入步骤S75,于是模型自适应单元12,将其中已分配的自适应数据被改变的变换矩阵设置成新的目标变换矩阵。然后,处理程序返回步骤S72,于是重复上述处理。
换句话说,如果存在其中已分配的自适应数据被改变的变换矩阵,则在步骤S75中,将该变换矩阵设置成目标变换矩阵。然后,处理程序返回步骤S72,于是,通过使用为其分配的自适应数据而更新目标变换矩阵。进一步讲,在步骤S73中,重复分配更新处理。
顺便提一下,如果存在多个其中已分配的自适应数据被改变的变换矩阵,则在步骤S75中,将该多个变换矩阵设置成目标变换矩阵。在步骤S72中,通过使用为其分配的自适应数据更新该多个目标变换矩阵。
另一方面,如果在步骤S74中确定不存在其中已分配的自适应数据被改变的变换矩阵,即,如果自适应数据库11中的所有自适应数据都被分配给最佳变换矩阵,那么结束变换矩阵产生处理。
接下来,将参考图7中的流程图描述图5中所示的步骤S56中的变换矩阵删除处理。
在变换矩阵删除处理中,首先,在步骤S81中,模型自适应单元81,从变换矩阵存储单元13中删除目标变换矩阵。
换句话说,在这种情况下,在图5中所示的步骤S55中,把满足删除条件的变换矩阵设置成目标变换矩阵。在步骤S81中,从变换矩阵存储单元13中删除目标变换矩阵。
顺便提一下,在图5中所示的步骤S55中存在多个目标变换矩阵,那么在图7中所示的步骤S81中,删除所有这些多个目标变换矩阵。
在步骤S81中删除目标变换矩阵之后,处理程序进入步骤S82,于是,模型自适应单元12将分配给目标变换矩阵的自适应数据的数目设置成K,并将用于对自适应数据计数的变量k初始化为1。然后,处理程序进入步骤S83。
顺便提一下,如果在步骤S81中删除了多个目标变换矩阵,那么在步骤S82中,将分配给该多个目标变换矩阵的自适应数据的数目设置成变量K。
在步骤S83中,与图3中步骤S24的情况相似,模型自适应单元12,从变换矩阵存储单元13中存储的变换矩阵中,检测用于将作为第k个自适应数据的自适应数据#k的特征向量序列变换成最接近于对应于特征向量序列的平均向量序列的向量序列的变换矩阵,即,最佳变换矩阵。然后,处理程序进入步骤S84。
在步骤S84中,模型自适应单元12(再次)将自适应数据#k分配给在步骤S83中检测到的变换矩阵(最佳变换矩阵),而处理程序进入步骤S85。
在步骤S85中,模型自适应单元12确定变量k是否等于分配给在步骤S81中删除了的目标变换矩阵的自适应数据的总数K。
如果在步骤S85中确定变量k不等于K,则处理程序进入步骤S86,于是模型自适应单元12给变量k增加1。然后,处理程序进入步骤S83,于是重复上述处理。
如果在步骤S85中确定变量k等于K,即,如果所有分配给在步骤S81中删除了的目标变换矩阵的自适应数据已再次被分配给变换矩阵存储单元13中存储的任何变换矩阵,那么处理程序进入步骤S87,于是模型自适应单元12将所有新分配了任何自适应数据的变换矩阵设置成新目标变换矩阵,所述自适应数据被分配给目标变换矩阵。然后处理程序进入步骤S88。
在步骤S88中,与图4中的步骤S32中的情况相似,模型自适应单元12通过使用分配给目标变换矩阵的所有自适应数据,来更新目标变换矩阵。
顺便提一下,如果有多个变换矩阵是目标变换矩阵,那么在步骤S88中,通过使用为其分配的自适应数据,来更新所有这些目标变换矩阵。
然后,在步骤S89中,与图4中所示的步骤S33中的情况相似,模型自适应单元12执行分配更新处理,而处理程序进入步骤S90。
在步骤S90中,模型自适应单元12确定在步骤S89中的分配更新处理之后,是否存在其中已分配的自适应数据被改变的变换矩阵。
如果在步骤S90中确定存在其中已分配的自适应数据被改变的变换矩阵,则处理程序进入步骤S91,于是,模型自适应单元12,将其中自适应数据的分配被改变的变换矩阵设置成目标变换矩阵,而处理程序进入步骤S88,于是重复上述处理。
换句话说,当存在其中自适应数据的分配被改变的变换矩阵时,则在步骤S91中,将该变换矩阵设置成目标变换矩阵。然后,处理程序返回步骤S88,于是,通过使用为其分配的自适应数据更新目标变换矩阵。进一步讲,在步骤S89中,重复分配更新处理。
顺便提一下,如果存在多个其中自适应数据的分配被改变的变换矩阵,那么就将这多个变换矩阵设置成目标变换矩阵。在步骤S88中,通过使用为其分配的自适应数据而更新所有的多个目标变换矩阵。
另一方面,如果在步骤S90中确定不存在其中自适应数据的分配被改变的变换矩阵,即,如果自适应数据库11中所有自适应数据都已分配给最佳变换矩阵,那么结束变换矩阵删除处理。
如上所述,在图1中所示的语音识别装置中,用户讲话,然后在图3中所示的自适应数据注册处理中,对包括用户的语音的特征向量的自适应数据进行注册。进一步讲,自适应数据被分配给变换矩阵存储单元13中存储的至少一个变换矩阵中的最佳变换矩阵。在图4中所示的变换矩阵更新处理中,通过使用为其分配的自适应数据,来更新为其分配了新自适应数据的变换矩阵,进一步讲,再次将自适应数据分配给变换矩阵,以便将自适应数据库11中存储的自适应数据分配给最佳变换矩阵。
所以,自适应数据被分类到每一个最佳变换矩阵,这样,针对自适应数据的特征向量序列适应于相应的声学模型(分组(clustering))。进一步讲,通过使用这些如上所述地被分类的类的自适应数据,来更新对应于这些类的变换矩阵。这样,用户的输入语音被自动地分类。变换矩阵被更新,这样,被分类的语音合适地适应于对应的声学模型。作为结果,通过使用上面获得的变换矩阵,使语音适应于模型,从而改善识别语音的精确度。
基于哪一个变换矩阵是最佳变换矩阵,来执行对用户的输入语音的分类。这样,用户不需要指定其语音分到哪一类。这意味着,如果语音识别装置的环境等不同,那么,即使是同一个用户的语音也被分入不同的类(分配给不同的变换矩阵)。如果同一个用户的语音被分入不同的类,则对应于该类的变换矩阵是分类到不同的类的语音的最佳变换矩阵。这样,可以根据最佳变换矩阵,使语音最佳地适应对应的声学模型。
即使不同用户的语音被分类到相同的类(被分配给相同的变换矩阵)。然而,如果不同用户的语音被分类到相同的类,那么对应于该类的变换矩阵是分入该相同的类的语音的最佳变换矩阵。所以,可以用最佳变换矩阵使语音最佳地适应对应的声学模型。
进一步讲,在图6中所示的变换矩阵产生处理中,产生新的变换矩阵,并且,通过使用具有作为最佳变换矩阵那样的变换矩阵的自适应数据,来更新变换矩阵。所以,当在与现有环境极为不同的环境下使用语音识别装置时,或者,当输入与现有用户极为不同的用户的语音时,避免了识别语音的精确度的显著降低。
也就是说,当在与现有环境极为不同的环境下使用语音识别装置时,或者,当输入与现有用户极为不同的用户的语音时,变换矩阵存储单元13中存储的变换矩阵不能使输入语音完全适应对应的声学模型,识别语音的精确度会降低。在图6中所示的变换矩阵产生处理中,产生新的变换矩阵,并且用在与现有环境极为不同的环境下输入的语音,或用与现有用户极为不同的用户的语音,来更新变换矩阵。作为结果,就有可能避免因用户或环境的改变而导致的识别语音的精确度的降低,而在传统模型自适应语音识别装置中将导致这一问题。
进一步讲,在图6中所示的变换矩阵产生处理中,当分配给变换矩阵的自适应数据的数目较大时,或当自适应数据的误差的平均值较大时,就产生用于拆分(splitting)自适应数据的分配的第一和第二矩阵,作为新的变换矩阵。进一步讲,再次将自适应数据分配给变换矩阵,用于将自适应数据的特征向量序列映射(变换)到更接近于对应的平均向量序列的序列。所以,在用户不知道的情况下,动态地产生用于使语音适应更接近的声学模型的变换矩阵。这样,用户不需要了解对声学模型的适应。
在图7中所示的变换矩阵删除处理中,当分配给变换矩阵的自适应数据的数据较小时,删除该变换矩阵。所以,有可能避免因变换矩阵存储单元13中存储的变换矩阵的数目的极度增长而导致的处理量的增长。
进一步讲,在图1中的语音识别装置中,在图2中所示的语音识别处理中,通过使用变换特征向量序列,来执行匹配处理,其中的变换特征向量序列是通过使用变换矩阵存储单元13中存储的至少一个变换矩阵,以预定的时间变换特征向量序列而获得的。相继地,通过用获得最高似然性的变换矩阵来变换特征向量序列,继续进行匹配处理。从而,用最佳地适应对应的声学模型的变换矩阵(根据本实施例,用这样的变换矩阵,即,其用于将输入语音的特征向量序列变换成最接近于平均向量序列的序列,其中的平均向量序列用于定义对应于语音的声学模型序列的高斯分布)来变换输入语音。所以,如果多个用户或在多种环境下使用该语音识别装置,可以迅速地使这多个用户的语音或多种环境下的语音适应对应的声学模型。以高精确度识别语音,而无需针对声学模型的适应的用户的识别。
也就是说,在传统的模型自适应语音识别装置中,如上所述,在执行对模型的适应以便使声学模型适应特定的用户或特定的环境之后,由另一个用户或在其它环境下开始使用该装置。那么,语音识别装置的声学模型适应第一个用户或第一种环境。所以,识别语音的精确度极度降低,直到使声学模型适应其它用户或其它环境。然而,在图1中所示的语音识别装置中,通过用最佳变换矩阵变换输入语音,使语音适应对应的声学模型。这样,迅速地使声学模型适应于其它用户或其它环境。
接下来,在图1中所示的语音识别装置中,输入语音(的特征向量)适应对应的声学模型。进一步讲,在语音识别装置中,如上所述,可以使声学模型适应输入语音。
然后,图8展示了该语音识别装置的结构的例子。参考图8,对应于图1中所示情况的部分被指定为相同的标号。下文中,适当地省略对其描述。即,在图8中所示的语音识别装置中,用于使用由选择单元14选择的变换矩阵来进行变换的变换单元5,不是位于缓冲器4和匹配单元6之间,而是位于匹配单元6和声学模型存储单元7之间。除了上述结构,图8中所示的语音识别装置基本上与图1中所示的相同。
从而,在图8中所示的语音识别装置中,变换矩阵不变换特征向量序列,而是变换声学模型存储单元7中存储的声学模型(的用于定义高斯分布的平均向量序列)。因此,在获得适应于输入语音的声学模型之后,匹配单元6通过使用所获得的声学模型执行匹配处理。
所以,在图8中所示的语音识别装置中,获得了与图1中所示的装置相同的优点。
顺便提一下,在图8中所示的语音识别装置中,声学模型适应于输入语音。这样,获得了用于将自适应数据的平均向量序列变换成最接近自适应数据的特征向量序列的序列的变换矩阵,来作为最佳变换矩阵。简单地说,图1中所示的语音识别装置所使用的变换矩阵的逆矩阵是使用于图8中所示的语音识别装置的变换矩阵。
上述系列的处理可以用硬件或软件执行。在以软件执行该系列的处理时,在通用计算机,或类似的设备上安装构成软件的程序。
然后,图9展示了根据第三个实施例的安装了用于执行上述系列的处理的程序的计算机的结构的例子。
将程序预先记录在已插入计算机中作为记录介质的硬盘105或ROM 103上。
或者,将程序临时存储(记录)在诸如软盘、光盘只读存储器(CD-ROM)、磁光(MO)盘、数字通用光盘(DVD)、磁盘、或半导体存储器的可移动记录介质111上。可移动记录介质作为所谓的软件包来提供。
除了从上述的可移动的记录介质111向计算机安装程序之外,程序被改造为从下载站点经由用于数字卫星广播的卫星通过无线电通信而发送到计算机上,或者程序被改造为经由诸如局域网(LAN)或因特网(Internet)的网络连线而发送到计算机上。计算机将上述传输的程序接收到通信单元108,并将其安装到内置硬盘105上。
计算机具有中央处理单元(CPU)102。输入/输出接口110经由总线101连接到CPU 102。用户通过操作输入单元107经由输入/输出接口110输入指令,所述输入单元107包括键盘、麦克风、鼠标等,而CPU 102根据指令执行只读存储器(ROM)103中存储的程序。或者,CPU 102将接收到通信单元108、且被安装到硬盘105上的程序、或从可移动记录介质111中读取并安装到硬盘105上的程序装载到随机存取存储器(RAM)中,并执行该程序。因此,CPU 102执行与上述流程图一致的处理、或方框图中所示的上述结构下的处理。CPU 102经由输入/输出接口110从包括液晶显示器(LCD)、扬声器等的输出单元106输出处理结果,或从通信单元108将其发射,并且还将其记录到硬盘105中。
这里,在本说明书中,描述使计算机能够执行各种处理的程序的处理步骤不必以流程图中所述的顺序的时间序列执行。其包括并行或单独执行的处理(基于并行处理、或一个对象的处理)。
进一步讲,可以用单台计算机处理程序,也可以用多台计算机分布式处理程序。此外,可以将程序传输到远程计算机并在那里执行。
根据实施例,使用矩阵(变换矩阵)来进行针对模型的适应而做的变换。然而,可以使用任何期望的函数。
除此之外,根据实施例,作为针对模型的适应而做的变换,执行线性变换。然而,也可以执行非线性变换。
除此之外,根据实施例,使用HMM作为声学模型,并且基于HMM方法执行匹配处理,从而获得指示似然性的分数,作为识别语音的结果。然而,用于识别语音的算法不限于HMM方法。
除此之外,根据实施例,自适应数据包括特征向量,并且还被存储在自适应数据库11中。然而,自适应数据可以包括语音的波形数据,来取代特征向量。
除此之外,根据实施例,图4中所示的变换矩阵更新处理是在输出识别输入语音的结果之后执行的。然而,这一处理也可以在其它任意时间,周期性地或非周期性地执行。
根据本实施例,图5中所示的变换矩阵产生/删除处理是作为图4中所示的变换矩阵更新处理的一部分来执行的。然而,变换矩阵产生/删除处理可以在其它任意时间,周期性地或非周期性地执行。
此外,根据本实施例,没有描述在对自适应数据的存储达到自适应数据库11的存储能力的上限的情况下的处理。然而,在这种情况下,避免对后提供的自适应数据的存储,或者,可以从自适应数据库11中删除旧的(过去的)自适应数据。进一步讲,搜索多个具有对应于相同的平均向量序列的近似的特征向量序列的自适应数据。然后,可以收集该多个自适应数据作为一段自适应数据,其中,该段自适应数据包括相同的平均向量序列和近似的多个特征向量中的任意一个。
根据本发明的实施例,通过连续HMM方法来识别语音。然而,也可以用其它的、例如离散HMM方法,来识别语音。
进一步讲,根据本发明的实施例,在图6中所示的变换矩阵产生处理中,从满足产生条件的变换矩阵中产生了第一和第二两个矩阵。然而,也可以产生三个或更多个矩阵。
工业实用性根据本发明,基于通过使用至少一个变换函数来变换输入语音和声学模型中的一个的变换结果,从至少一个变换函数中,检测用于使输入语音及其对应的声学模型中的一个适应另一个的最佳变换函数。将输入语音分配给最佳变换函数,并且通过使用分配给该变换函数的所有输入语音,更新已分配了新输入语音的变换函数。进一步讲,从至少一个变换函数中选择用于变换输入语音和声学模型中的一个的变换函数。所选择的变换函数变换输入语音和声学模型中的一个。执行匹配处理,以便已用变换函数变换了的输入语音及声学模型中的一个与另一个匹配。基于匹配处理的结果,输出识别输入语音的结果。所以,如果多个用户或在多种环境下使用该语音识别装置,也可以高精确度地识别语音,而无需针对声学模型的适应的用户的识别。
权利要求
1.一种用于识别语音的语音识别装置,包括变换函数存储装置,用于存储至少一个变换函数,所述变换函数用于当变换输入语音和声学模型中的一个,并使已变换的一个适应另一个时,变换输入语音和用来识别该语音的声学模型中的一个;分配装置,用于基于用所述变换函数存储装置中存储的至少一个变换函数变换输入语音和声学模型中的一个的变换结果,从所述变换函数存储装置中存储的至少一个变换函数中,检测最佳变换函数,并将输入语音分配给最佳变换函数,所述最佳变换函数使输入语音和对应该输入语音的声学模型中的一个适应另一个;语音存储装置,用于存储已为其分配了变换函数的输入语音;变换函数更新装置,用于通过使用分配给变换函数的所有输入语音,从所述变换函数存储装置中存储的至少一个变换函数中,更新已由所述分配装置为其分配了新输入语音的变换函数;变换函数选择装置,用于从所述变换函数存储装置中存储的至少一个变换函数中,选择用于变换输入语音和声学模型中的一个的变换函数;变换装置,用于用所述变换函数选择装置选择的变换函数变换输入语音和声学模型中的一个;以及匹配装置,用于执行匹配处理,其中使变换函数变换的输入语音和声学模型中的一个与另一个匹配,和用于基于匹配处理结果,输出识别输入语音的结果。
2.如权利要求1所述的语音识别装置,其中声学模型是隐藏马尔可夫模型(HMM(Hidden Markov Model)),并且所述匹配装置基于HMM方法执行匹配处理。
3.如权利要求2所述的语音识别装置,其中HMM具有高斯分布,所述高斯分布用于基于HMM计算观测预定语音的特征向量序列的概率,并且所述分配装置用所述变换函数存储装置中存储的至少一个变换函数,变换输入语音的特征向量序列和用于定义对应于该输入语音的HMM的高斯分布的平均向量序列中的一个,并且检测使特征向量序列与平均向量序列中的已变换的一个与另一个之间的误差最小化的变换函数,作为最佳变换函数。
4.如权利要求2所述的语音识别装置,其中所述变换函数更新装置更新变换函数,以便,在为分配给变换函数的至少一个语音的输入语音,用变换函数变换输入语音的特征向量序列和用于定义对应于该输入语音的HMM的高斯分布的平均向量序列中的一个时,使特征向量序列与平均向量序列中的已变换的一个和另一个之间的静态误差最小化。
5.如权利要求4所述的语音识别装置,其中所述变换函数更新装置通过最小二乘法获得变换函数,以便,在为分配给变换函数的至少一个语音的输入语音,用变换函数变换输入语音的特征向量序列和用于定义对应于该输入语音的HMM的高斯分布的平均向量序列中的一个时,使特征向量序列与平均向量序列中的已变换的一个和另一个之间的统计误差最小化。
6.如权利要求1所述的语音识别装置,其中所述变换函数更新装置更新已为其分配了新输入语音的变换函数,然后从所述变换函数存储装置中存储的至少一个变换函数中,检测最佳变换函数,并且再次将输入语音分配给最佳变换函数,其中,所述最佳变换函数对于所述语音存储装置中存储的所有输入语音,使输入语音和对应于该输入语音的声学模型中的一个适应另一个。
7.如权利要求6所述的语音识别装置,其中所述变换函数更新装置还从所述变换函数存储装置中存储的至少一个变换函数中,更新其中输入语音的分配已改变的变换函数,其后,重复下述操作从所述变换函数存储装置中存储的至少一个变换函数中,检测最佳变换函数,并且再次将输入语音分配给最佳变换函数,其中,所述最佳变换函数对于所述语音存储装置中存储的所有输入语音,使输入语音和对应于该输入语音的声学模型中的一个适应另一个,直到输入语音对变换函数的分配不再改变。
8.如权利要求1所述的语音识别装置,还包括变换函数产生装置,用于基于所述变换函数存储装置中存储的变换函数产生新变换函数。
9.如权利要求8所述的语音识别装置,其中所述变换函数产生装置基于所述变换函数存储装置中存储的至少一个变换函数中满足预定产生条件的变换函数产生新变换函数。
10.如权利要求9所述的语音识别装置,其中,所述变换函数产生装置,从所述变换函数存储装置中存储的至少一个变换函数中,将已为其分配了具有预定阈值的语音数目的输入语音的变换函数设置成满足预定产生条件的变换函数,并基于所设置的变换函数产生新变换函数。
11.如权利要求8所述的语音识别装置,其中所述变换函数产生装置通过使用所述变换函数存储装置中存储的一个变换函数作为参考,获得第一和第二两个变换函数,从第一和第二变换函数中,检测最佳变换函数,并且将输入语音分配给最佳变换函数,其中,所述最佳变换函数对于分配给一个作为参考的变换函数的所有输入语音,使输入语音和对应于该输入语音的声学模型中的一个适应另一个,通过使用分配给第一和第二变换函数的输入语音,更新第一和第二变换函数,并且在所述变换函数存储装置中存储更新后的第一和第二变换函数,取代作为参考的那一个变换函数。
12.如权利要求11所述的语音识别装置,其中所述变换函数产生装置在所述变换函数存储装置中存储更新后的第一和第二变换函数,然后从所述变换函数存储装置中存储的至少一个变换函数中,检测最佳变换函数,并且再次将输入语音分配给最佳变换函数,其中,所述最佳变换函数对于所述语音存储装置中存储的所有输入语音,将适应输入语音和对应于该输入语音的声学模型中的一个。
13.如权利要求12所述的语音识别装置,其中在再次将输入语音分配给变换函数之后,所述变换函数产生装置重复下述操作在所述变换函数存储装置中存储的至少一个变换函数中,更新其中输入语音的分配已改变的变换函数,从所述变换函数存储装置中存储的至少一个变换函数中,检测最佳变换函数,并且再次将输入语音分配给最佳变换函数,其中,所述最佳变换函数对于所述语音存储装置中存储的所有输入语音,将适应输入语音和对应于该输入语音的声学模型中的一个,直到输入语音对变换函数的分配不再改变。
14.如权利要求1所述的语音识别装置,还包括变换函数删除装置,用于删除所述变换函数存储装置中存储的变换函数。
15.如权利要求14所述的语音识别装置,其中所述变换函数删除装置删除所述变换函数存储装置中存储的至少一个变换函数中满足预定产生条件的变换函数。
16.如权利要求15所述的语音识别装置,其中所述变换函数删除装置从所述变换函数存储装置中存储的至少一个变换函数中,删除作为满足预定删除条件的变换函数的、为其分配了对应于具有不多于预定阈值的语音数目的输入语音的变换函数。
17.如权利要求14所述的语音识别装置,其中所述变换函数删除装置从所述变换函数存储装置中删除变换函数,从所述变换函数存储装置中剩余的至少一个变换函数中,检测最佳变换函数,并再次将输入语音分配给最佳变换函数,其中所述最佳变换函数对于分配给已删除的变换函数的所有输入语音,将适应输入语音和对应于该输入语音的声学模型中的一个。
18.如权利要求17所述的语音识别装置,其中在再次将输入语音分配给变换函数之后,所述变换函数删除装置重复下述操作从所述变换函数存储装置中存储的至少一个变换函数中,更新其中输入语音的分配已改变的变换函数,从所述变换函数存储装置中存储的至少一个变换函数中,检测最佳变换函数,并且再次将输入语音分配给最佳变换函数,其中,所述最佳变换函数对于所述语音存储装置中存储的所有输入语音,将适应输入语音和对应于该输入语音的声学模型中的一个,直到输入语音对变换函数的分配不再改变。
19.如权利要求1所述的语音识别装置,其中当通过使用所述变换函数存储装置中存储的至少一个变换函数,执行使已变换的输入语音和声学模型中的一个与另一个匹配的匹配处理时,所述变换函数选择装置选择从中获得具有最高似然性识别语音结果的变换函数。
20.一种识别输入语音的语音识别方法,其中使用了至少一个变换函数,所述变换函数用于当变换输入语音和声学模型中的一个,并使已变换的一个适应另一个时,变换输入语音和用来识别该语音的声学模型中的一个,所述方法包括分配步骤,基于用至少一个变换函数变换输入语音和声学模型中的一个的变换结果,从至少一个变换函数中,检测最佳变换函数,并将输入语音分配给最佳变换函数,所述最佳变换函数使输入语音和对应该输入语音的声学模型中的一个适应另一个;语音存储步骤,存储已为其分配了变换函数的输入语音;变换函数更新步骤,通过使用分配给变换函数的所有输入语音,从至少一个变换函数中,更新已在所述分配步骤中为其分配了新输入语音的变换函数;变换函数选择步骤,从至少一个变换函数中,选择用于变换输入语音和声学模型中的一个的变换函数;变换步骤,用所述变换函数选择步骤中选择的变换函数变换输入语音和声学模型中的一个;以及匹配步骤,执行匹配处理,其中使变换函数变换的输入语音和声学模型中的一个与另一个匹配,并且基于匹配处理结果,输出识别输入语音的结果。
21.一种使计算机执行识别输入语音的语音识别处理的程序,其中使用了至少一个变换函数,所述变换函数用于当变换输入语音和声学模型中的一个,并使已变换的一个适应另一个时,变换输入语音和用来识别该语音的声学模型中的一个,所述程序包括分配步骤,基于用至少一个变换函数变换输入语音和声学模型中的一个的变换结果,从至少一个变换函数中,检测最佳变换函数,并将输入语音分配给最佳变换函数,所述最佳变换函数使输入语音和对应该输入语音的声学模型中的一个适应另一个;语音存储步骤,存储已为其分配了变换函数的输入语音;变换函数更新步骤,通过使用分配给变换函数的所有输入语音,从至少一个变换函数中,更新已在所述分配步骤中为其分配了新输入语音的变换函数;变换函数选择步骤,从至少一个变换函数中,选择用于变换输入语音和声学模型中的一个的变换函数;变换步骤,用所述变换函数选择步骤中选择的变换函数变换输入语音和声学模型中的一个;以及匹配步骤,执行匹配处理,其中使变换函数变换的输入语音和声学模型中的一个与另一个匹配,并且基于匹配处理结果,输出识别输入语音的结果。
22.一种用于记录使计算机执行识别输入语音的语音识别处理的程序的记录介质,其中使用了至少一个变换函数,所述变换函数用于当变换输入语音和声学模型中的一个,并使已变换的一个适应另一个时,变换输入语音和用来识别该语音的声学模型中的一个,其中所述程序包括分配步骤,基于用至少一个变换函数变换输入语音和声学模型中的一个的变换结果,从至少一个变换函数中,检测最佳变换函数,并将输入语音分配给最佳变换函数,所述最佳变换函数使输入语音和对应该输入语音的声学模型中的一个适应另一个;语音存储步骤,存储已为其分配了变换函数的输入语音;变换函数更新步骤,通过使用分配给变换函数的所有输入语音,从至少一个变换函数中,更新已在所述分配步骤中为其分配了新输入语音的变换函数;变换函数选择步骤,从至少一个变换函数中,选择用于变换输入语音和声学模型中的一个的变换函数;变换步骤,用在所述变换函数选择步骤中选择的变换函数变换输入语音和声学模型中的一个;以及匹配步骤,执行匹配处理,其中使变换函数变换的输入语音和声学模型中的一个与另一个匹配,并且基于匹配处理结果,输出识别输入语音的结果。
全文摘要
一种语音识别装置,其能够对多个用户作高精确度的语音识别。根据用存储单元(13)中存储的一个或多个变换函数变换输入声音的变换结果,模型自适应单元(12)检测最佳地使输入声音适应声学模型的变换函数,并将输入声音分配给最佳变换函数。此外,自适应单元(12)通过使用分配给变换函数的所有输入声音,更新为其分配了新输入声音的变换函数。选择单元(14)在存储单元(13)中存储的一个或多个变换函数中选择用来变换输入声音的变换函数,而变换单元(5)通过使用所选择的变换函数变换输入声音。匹配单元(6)在用变换函数变换的输入声音和声学模型之间执行匹配。本发明适用于用来识别声音的装置。
文档编号G10L15/06GK1465043SQ02802578
公开日2003年12月31日 申请日期2002年6月7日 优先权日2001年6月8日
发明者赫尔穆特·卢克 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1