语音识别方法和语音识别装置的制作方法

文档序号:2829439阅读:302来源:国知局
专利名称:语音识别方法和语音识别装置的制作方法
技术领域
本发明涉及一种用于实现高精度语音识别的方法,在该高精度语音识别中,执行包括按下按钮等输入开始发声命令的语音识别,并且可以在按下按钮前进行发声。
背景技术
当执行语音识别时,为了防止环境噪声所导致的错误,需要适当设置用户的嘴与麦克风之间的距离和输入水平,以及适当输入开始发声的命令(通常通过按下按钮)。如果没有适当地进行该设置或输入,则会在识别性能上出现大幅的降低。然而,用户不总是适当地进行该设置或输入,因而有必要采取措施以防止这种情况下的性能降低。特别地,有时不正确地输入开始发声的命令,例如,在按下按钮前进行发声。在这种情况下,由于在输入开始发声的命令后通过麦克风导入语音,因此语音的开头部分将被遗漏。当基于所遗漏的语音执行传统的语音识别时,与正确地输入开始发声的命令的情况相比,识别率将大大降低。
考虑到这样的问题,日本专利2829014号讨论了这样一种方法除了用于存储在输入开始识别处理的命令后导入的语音数据的数据缓冲器以外,该方法还提供一直导入恒定长度的语音的环缓冲器。在输入该命令后,使用由数据缓冲器所导入的语音来检测该语音的头。在未检测到该语音的头的情况下,通过另外使用在输入该命令前存储在环缓冲器中的语音来进行该语音头的检测。在该方法中,由于环缓冲器必须不断地执行语音导入处理,因此与仅采用数据缓冲器的情况相比,需要额外的CPU负荷。即,在电池驱动的装置例如可移动装置中,使用该方法未必是合适的方法。
而且,日本专利3588929号讨论了在单词的开头遗漏了半音节或单音节的单词也是要识别目标的方法。通过该方式,在嘈杂的环境中防止了语音识别率的下降。而且,日本专利3588929号讨论了用于执行控制以根据噪声水平来判定遗漏了开头部分的单词是否应该是要识别的目标单词。在该方法中,基于单词的开头处的半音节或单音节的类型或者噪声水平,进行关于是否遗漏单词的开头处的半音节或单音节的判定。如果判定有遗漏,则没有遗漏的单词不被指定为要识别的目标单词。另外,当判定是否遗漏单词的开头时,没有考虑是否正在正确地执行通过用户操作输入的开始发声的命令或动作。因此,在日本专利3588929号中,单词开头的遗漏达到一个音节,并且在安静的环境中,单词的开头没有被遗漏。结果,在按下按钮前进行发声,例如,在安静的环境中遗漏语音中的两个音节的情况下,不能避免识别性能的下降。
由于以上问题,本发明的目的在于提供这样一种方法在缺失或遗漏语音的开头的情况下,通过简单和容易的处理来防止识别性能的下降。当用户不适当地输入开始发声的命令时,出现这种遗漏。

发明内容
本发明的一个方面是语音识别方法,其包括语音导入步骤,用于根据用户输入开始导入由用户发出的语音;判定步骤,用于判定导入的语音的开头是否有缺失;设置步骤,用于基于该判定步骤的结果,设置要识别的目标单词的发音信息;以及语音识别步骤,用于使用所设置的发音信息识别所导入的语音。
本发明的另一方面是语音识别方法,其包括语音导入步骤,用于根据用户输入开始导入由用户发出的语音;判定步骤,用于判定是否在由用户发出语音的中间开始语音的导入;设置步骤,用于基于该判定步骤的结果,设置要识别的目标单词的发音信息;以及语音识别步骤,用于使用所设置的发音信息识别所导入的语音。
本发明的又一方面是语音识别装置,其包括语音导入单元,用于根据用户输入开始导入由用户发出的语音;判定单元,用于判定所导入的语音的开头是否有缺失;设置单元,用于基于该判定单元的结果,对要识别的目标单词设置发音信息;以及语音识别单元,用于使用所设置的发音信息识别所导入的语音。
本发明的又一方面是语音识别装置,其包括语音导入单元,用于根据用户输入开始导入由用户发出的语音;判定单元,用于判定是否在用户语音的中间开始语音的导入;设置单元,用于基于该判定单元的结果,设置要识别的目标单词的发音信息;以及语音识别单元,用于使用所设置的发音信息识别所导入的语音。
通过以下参考附图对典型实施例的详细说明,本发明的其它特征将显而易见。


包括在说明书中并构成说明书的一部分的附图,示出了本发明的典型实施例,并与说明书一起用来解释本发明的原理。
图1是信息装置的硬件结构的框图,在该信息装置中安装了根据本发明的第一典型实施例的语音识别方法;图2是根据本发明的第一典型实施例的语音识别方法的模块结构的框图;图3是不需要登记型的语音识别方法的典型模块结构的框图;图4是需要登记型的语音识别方法的典型模块结构的框图;
图5是根据本发明的第一典型实施例的语音识别方法的整个处理的流程图;图6A和6B是由于输入开始发声的命令的定时的不同所导致的语音遗漏的示意图;图7是要识别的目标单词的例子;图8是删除了第一发音序列的图7中要识别的目标单词的例子;图9是删除了第一和第二发音序列的图7中要识别的目标单词的例子;图10是删除了第一到第四发音序列的图7中要识别的目标单词的例子;图11是删除了第一到第四发音序列的图7中要识别的目标单词的所有组合的例子;图12是通过隐马尔科夫模型(hidden Marcov model,HMM)的三种状态对音素/t/进行建模的例子;图13是要识别的目标单词的例子。由HMM的状态序列来表示图7中要识别的单词的发音信息;图14是删除了第一状态序列的图13中要识别的目标单词的例子;图15A、15B和15C是示出删除发音序列和删除状态序列之间的差异的示意图;图16A、图16B和16C是示出如何通过删除参考模式序列来设置发音信息的示意图;图17是语音识别方法的模块结构的框图。该语音识别方法包括语音识别处理内的所导入语音的判定和发音信息的设置。
具体实施例方式
下面参考附图对本发明的典型实施例进行详细说明。
第一典型实施例图1是根据本发明的第一典型实施例的语音识别装置的框图。CPU 101根据存储在ROM 102中的或者从外部存储装置104载入RAM 103的控制程序,执行该语音识别装置中的各种控制功能。ROM 102存储各种参数和由CPU 101执行的控制程序。RAM 103提供CPU 101执行各种控制功能时的工作区,并且还存储由CPU101执行的控制程序。图5的流程图中所示的方法是优选由CPU101执行的、并且存储在ROM 102、RAM 103或存储装置104中的程序。
附图标记104表示外部存储装置,例如硬盘、软盘(floppy,注册商标)、CD-ROM、DVD-ROM以及存储卡。在外部存储装置104为硬盘的情况下,其存储从CD-ROM或软盘(floppy,注册商标)安装的各种程序。语音输入装置105例如麦克风导入执行语音识别的语音。显示装置106例如CRT或LCD执行处理内容的设置、显示输入信息、以及输出处理结果。辅助输入装置107例如按钮、数字键、键盘、鼠标或输入笔,用于给出指令以开始导入由用户发出的声音。辅助输出装置108例如扬声器,用于通过声音确认语音识别结果。总线109连接上面所有装置。要识别的目标语音可以通过语音输入装置105来输入,或者可以通过其它装置或单元来获取。由其它装置或单元获取的目标语音被保持在ROM 102、RAM103、外部存储装置104或通过网络连接的外部装置中。
图2是语音识别方法的模块结构的框图。语音导入单元201导入通过语音输入装置105的麦克风输入的语音。通过按下辅助输入装置107中的按钮等的用户的操作,给出开始导入语音的指令。导入语音判定单元202判定由语音导入单元所导入的语音的开头或开头部分是否有缺失或被遗漏。发音信息设置单元203基于导入语音判定单元202的结果来设置目标单词的发音信息。语音识别单元204使用由发音信息设置单元203设置的发音信息来识别由语音导入单元201导入的语音。
图3是用于识别未登记的语音或独立于说话者的语音的典型语音识别方法的模块的框图。语音输入单元301识别通过语音输入装置105输入的语音。语音特征参数提取单元302对由语音输入单元301输入的语音执行谱分析,并提取特征参数。发音字典305保持要识别的目标单词的发音信息。声学模型306保持音素模型(或音节模型或单词模型),并使用根据发音字典305的发音信息的声学模型来构建要识别的目标单词的参考模式。语言模型307保持单词列表和单词连接的概率值(或语法限制)。搜索单元303计算使用语言模型307从发音字典305配置的参考模式和由语音特征参数提取单元302获得的语音的特征参数之间的距离。搜索单元303还计算可能性,或执行搜索处理。结果输出单元304将搜索单元303所获得的结果显示在显示装置106上,将该结果作为语音输出到辅助输出装置108上,或为了执行预定的操作输出该识别结果。发音信息设置单元203的发音信息的设置对应于发音字典305的设置。
图5是语音识别方法的整个处理的流程图。利用该流程图对整个处理进行详细说明。在步骤S501,等待开始发声的命令的输入。根据用户的操作或动作输入该命令。该命令输入可以采用允许该用户给出开始发声的指令的任何方法,例如,按下数字键、键盘或开关等按钮;单击鼠标;或在触摸式面板上按压。另外,如果使用传感器,例如包括红外线传感器的光源传感器、天线传感器或超声波传感器,则可以检测正靠近语音识别装置的用户的动作。如果将用户的这种动作当作为开始发声的命令,则可以将传感器的检测用作开始发声的命令。在步骤S502,步骤S501中的命令触发通过麦克风的语音导入。在步骤S504,判定是否遗漏了所导入的语音的开头,并在步骤S503执行该判定所需要的语音分析。
图6A和6B是由于输入开始发声的命令的定时的差异所导致的语音遗漏的示意图。水平轴为时间刻度,并在时刻S开始发声。图6A是在时刻P(P<S)输入开始发声的命令的情况。由于可以在时刻P(或紧接P后)开始语音导入,因此,不遗漏语音,并将其适当导入。另一方面,图6B是在时刻Q(S<Q)输入开始发声的命令的情况。由于在该情况下在时刻Q(或紧接Q后)开始语音导入,因此遗漏了语音的开头部分。通过下面的方法进行是否遗漏语音的开头部分的语音分析和判定。
有各种方法用于执行语音分析和判定。简单且容易的方法是使用所导入的语音波形的头部分(例如,300个采样)计算波形功率,并将结果与预定的阈值进行比较。如果该结果超过该阈值,则可以判定遗漏了语音的开头部分。还可以通过执行其它分析,例如过零率(zero-crossing rate)分析、谱分析或基频分析来进行判定。
通过带符号表示导入的语音数据(例如,在16位有符号的短整型的情况下,采用-32768与32767之间的值),并通过计数符号改变的次数,可以获得过零率。对于语音波形的头部分获得过零率,并将结果与上述作为波形功率的阈值相比较。因而,如果该结果大于该阈值,则可判定该语音的开头部分被遗漏,如果该结果小于或等于该阈值,则可以判定该语音的开头部分没有被遗漏。
例如,可以以与语音识别特征参数提取单元302中语音识别的特征参数提取相同的方式执行谱分析。接着,使用所提取的特征参数获取语音模型和非语音模型的可能性(或概率),如果语音模型的可能性大于非语音模型的可能性,则判定该语音被遗漏。如果语音模型的可能性小于非语音模型的可能性,则判定该语音没有被遗漏。预先根据语音部分的特征参数和非语音部分的特征参数准备作为统计模型的语音模型和非语音模型。可以通过任何现有的方法,例如高斯混合模型(GMM),生成这些模型。还可采用使用表示通过与在语音特征参数提取单元302中的语音识别的特征参数提取不同的分析获得的其它谱的特征参数的方法。
对于基频分析,可以使用自相关技术和倒频谱(cepstrum)技术等现有的分析。使用与周期相关的值,而不是直接使用基频值,来判定遗漏。为了更准确,在基于倒频谱技术的基频分析的情况下,可以使用逆频(quefrency)(对数振幅谱的逆离散傅里叶变换)中的序列的预定范围内(人的声音音调的范围内)的最大值。对于语音波形的头部分获得该值,并与波形功率情况下相同将其与阈值相比较。如果该值大于该阈值,则判定该语音被遗漏,如果该值小于或等于该阈值,则判定该语音没有被遗漏。此外,可以使用以下方法进行分析以获得谐波结构而不是基频,并将该结果用作特征参数。
如果在步骤S504判定语音被遗漏,则在步骤S505设置具有遗漏的语音的发音信息。然后,在步骤S506使用该发音信息执行语音识别。如果在步骤S504判定语音没有被遗漏,则在步骤S506执行通常的语音识别。参考图7至图11对在S505中所执行的处理进行说明。在S505的处理中,要识别的目标单词是“Tokyo”、“Hiroshima”、“Tokushima”和“Tu”。图7示出要识别的目标单词的例子,并保持关于单词ID、拼写(transcription)和发音(音素)的信息。根据发音(音素)序列(在“Tokyo”情况下为7个音素/tookyoo/)通过连接到声学模型306(例如,音素HMM)生成语音识别处理中的参考模式。图8示出从图7中的发音信息中删除第一个音素的情况下的要识别的目标单词。例如,在“Tokyo”的情况下,删除第一个音素/t/使得要识别的目标单词变为/ookyoo/。图9和图10示出删除了到第二和第四个音素的情况下的要识别的目标单词。在“Tu”的情况下,发音序列是两个音素,/tsu/。因此,如果删除多于两个的音素,则将没有发音序列。在这种情况下,将静音模型(SIL)分配为发音序列。另外,在图10中的“Hiroshima”和“Tokushima”的情况下,如果删除前四个音素,则获得相同的发音序列(/shima/)。如果在步骤S504判定语音没有被遗漏,则在步骤S506仅对图7中的目标单词执行语音识别。另一方面,如果在步骤S504判定语音被遗漏,则在步骤S506中,除了图7中的目标单词外,还对图8到图10中的目标单词执行语音识别。在图8到图10的目标单词中,已经删除了发音序列的头部分。通过执行S503中的语音分析和步骤S504中的语音遗漏判定,可以判定语音是否被遗漏。然而,不能估计遗漏的语音的长度或音素的数量。因此,有必要预先确定将被添加的目标单词的删除音素的适当数量。该数量可以根据经验来设置、或考虑到根据用户的操作或动作遗漏的语音的倾向来设置、或考虑到识别性能来设置。已删除第一到第四个音素的发音序列的单词的所有组合都可以是要识别的目标。在这种情况下,图11中所示的目标单词被设置为语音遗漏的发音信息。
步骤S503中的谱分析或基频分析是与语音识别处理中的语音特征参数提取相同或相似的处理。因此,可以将这些处理包括在语音识别单元204中,并将其作为配置在语音识别单元204内来执行。图17是语音识别方法的模块结构的框图,该语音识别方法包括语音识别处理中的导入语音判定和发音信息设置。在图3的处理中包括分别作为导入语音判定单元603和发音信息设置单元604的导入语音判定单元202和发音信息设置单元203。由于从语音输入单元601到语言模型609的组件与图2和图3中的组件相同,因此省略其说明。
而且,在步骤S503不必只使用第一帧语音进行语音分析,也可以使用多帧(例如,从第一帧到第五帧)的信息。另外,如步骤S504中所示,为了判定语音是否被遗漏,当与阈值进行比较时,本发明不局限于使用预定的值。可以执行其它处理,例如,比较第一帧和第十帧的波形功率。在这种情况下,如果第一帧的波形功率远小于第十帧的波形功率(例如,小10%),则判定没有语音遗漏。
在步骤S504,给出判定语音是否被遗漏的例子。然而,本发明不局限于该例子,并且可将其配置成使得判定是否在用户语音的中间开始语音导入。
根据上述典型实施例,即使用户没有在正确的时刻输入开始发声的命令,也可以防止识别性能的下降。结果,不习惯于操作语音识别装置的用户也可以在执行该操作时感觉很容易。
第二典型实施例在第一典型实施例中,要识别的单词的发音被用音素写出(phonemicize),并删除读音的发音序列,以在步骤S505中设置被遗漏的语音的发音信息。然而,本发明不局限于该实施例。可以使用与音素相比更详细的发音序列来表示要识别的目标单词的发音,并删除该详细的发音序列。为了更准确,当基于隐马尔科夫模型(HMM)执行语音识别时,通常通过多个状态对音素进行建模。该状态序列被视作详细的发音序列,并在该状态水平被删除。这样,与在音素水平的删除相比,可以更准确地设置发音信息。图12是通过HMM的三个状态(t1、t2、t3)对音素/t/进行建模的例子。当通过该状态序列描述图7中的发音时,可能是图13中所示的表达。在这种情况下,如果在图13的状态序列中删除第一状态序列,则可以获得图14。
图15A、15B和15C是说明发音(音素)序列的删除和状态序列的删除之间的差异的示意图。在通过HMM的三个状态对所有音素进行建模的情况下,通过如图15A所示的HMM的链接来表示“Tokyo”/tookyoo/的发音序列。如果删除第一音素(/t/),则如图15B所示,删除/t/的所有三个HMM状态。然而,如果通过HMM的状态序列来表示“Tokyo”的详细发音序列,则如图15C所示,有可能只删除HMM的第一状态t1。也就是说,可以通过在状态水平而不是在音素水平的删除来设置更详细的发音信息。作为可选,还可以使用通用的状态转换模型而不是上述的HMM,来执行相同的处理。
第三典型实施例在可将要识别的目标单词表示为发音序列或详细的发音序列的情况下,设置根据上述典型实施例的发音信息。然而,上述设置还可被应用于基于音素HMM的被广泛使用的独立于说话者的语音识别(不需要登记型的语音识别方法)。更具体地,在依赖于说话者的语音识别(需要登记型的语音识别方法)中,不能从参考模式中识别音素或状态序列。在依赖于说话者的语音识别中,在使用语音识别前通过语音来登记参考模式。因此,不能使用在以上典型实施例中所述的方法。然而,如果直接使用该参考模式的特征参数序列,则有可能对遗漏的语音设置发音信息。
图4是示出需要登记型的语音识别方法的模块结构的框图。由于从语音输入单元401到结果输出单元404的模块与语音输入单元301至到结果输出单元304的相同,因此,省略对这些单元的说明。通过语音预先登记要识别的目标单词。参考模式405被保持为登记的语音的特征参数序列。假定该特征参数序列被保存为第十二阶倒频谱和作为第十二阶倒频谱的基本回归系数的差量倒频谱(deltacepstrum)(c1-c12,Δc1-Δc12)。在这种情况下,单词“Tokyo”的所登记的语音的特征参数序列被保持为如图16A中所示的参考模式序列(24维的矢量序列)(T1是在分析所登记的语音中的帧数)。如果在步骤S504判定语音被遗漏,则从该参考模式中删除前几帧,如图16B(删除第一帧)或图16C(删除第一和第二帧)所示。通过对包括删除过的特征参数序列进行语音识别,对于语音的开头被遗漏的语音输入,也能以较小的性能下降实现语音识别。
还可以通过将存储实现上述典型实施例的功能的软件的程序代码的存储介质提供给系统和装置,并由该系统或装置的计算机(或CPU或MPU)读取并执行存储在该存储介质中的程序代码来实现本发明的目。
在这种情况下,从存储介质读取的程序代码本身实现上述典型实施例的功能,并且存储该程序代码的存储介质可构成本发明。
用来提供该程序代码的存储介质的例子包括软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R、磁带、非易失性存储卡以及ROM。
而且,除了通过由计算机执行所读取的程序代码来实现上述典型实施例的功能外,本发明还包括以下情况运行在计算机上的操作系统(OS)根据该程序代码的指令执行部分或全部实际处理,该处理实现上述典型实施例的功能。
而且,本发明还包括以下情况在从存储介质中读取程序代码并将该程序代码加载到插入计算机中的功能扩展板、或与计算机连接的功能扩展单元中的存储器之后,在该功能扩展板或功能扩展单元中的CPU根据该程序代码的指令执行部分或全部实际处理,该处理实现上述典型实施例的功能。
当然,可以在硬件中或通过硬件和软件的结合来实现本发明。
尽管参考典型实施例说明了本发明,但应当理解,本发明不局限于所公开的实施例。下面的权利要求书的范围符合最宽的解释,以包含所有修改、等同结构和功能。
权利要求
1.一种语音识别方法,包括语音导入步骤,用于根据用户输入开始导入由用户发出的语音;判定步骤,用于判定所导入的语音的开头是否有缺失;设置步骤,用于基于该判定步骤的结果,设置要识别的目标单词的发音信息;以及语音识别步骤,用于使用所设置的发音信息识别所导入的语音。
2.一种语音识别方法,包括语音导入步骤,用于根据用户输入开始导入由用户发出的语音;判定步骤,用于判定是否在由用户发出语音的中间开始语音的导入;设置步骤,用于基于该判定步骤的结果,设置要识别的目标单词的发音信息;以及语音识别步骤,用于使用所设置的发音信息识别所导入的语音。
3.根据权利要求1或2所述的语音识别方法,其特征在于,使用关于语音波形功率、过零率、谱信息和表示谐波结构的特征参数中的至少一个信息,进行该判定步骤中的该判定。
4.根据权利要求1或2所述的语音识别方法,其特征在于,该发音信息是与要识别的目标单词的读音有关的发音序列、与发音序列有关的详细发音序列和与要识别的目标单词相关的参考模式序列中的至少一个。
5.根据权利要求4所述的语音识别方法,其特征在于,该详细发音序列是已通过状态转换模型进行了建模的发音序列的状态序列。
6.根据权利要求4所述的语音识别方法,其特征在于,该参考模式序列是在需要登记型的语音识别装置中的所登记的语音的特征参数序列。
7.根据权利要求1或2所述的语音识别方法,其特征在于,该语音导入步骤根据用户的操作开始语音的导入。
8.根据权利要求1或2所述的语音识别方法,其特征在于,该语音导入步骤根据由传感器检测到的用户的动作开始语音的导入。
9.一种语音识别装置,包括语音导入单元,用于根据用户输入开始导入由用户发出的语音;判定单元,用于判定所导入的语音的开头是否有缺失;设置单元,用于基于该判定单元的结果,对要识别的目标单词设置发音信息;以及语音识别单元,用于使用所设置的发音信息识别所导入的语音。
10.一种语音识别装置,包括语音导入单元,用于根据用户输入开始导入由用户发出的语音;判定单元,用于判定是否在用户语音的中间开始语音的导入;设置单元,用于基于该判定单元的结果,设置要识别的目标单词的发音信息;以及语音识别单元,用于使用所设置的发音信息识别所导入的语音。
11.根据权利要求9或10所述的语音识别装置,其特征在于,使用关于语音波形功率、过零率、谱信息和表示谐波结构的特征参数中的至少一个信息,进行该判定单元中的该判定。
12.根据权利要求9或10所述的语音识别装置,其特征在于,在该设置单元中的发音信息是与要识别的目标单词的读音有关的发音序列、与发音序列有关的详细发音序列和与要识别的目标单词有关的参考模式序列中的至少一个。
全文摘要
一种语音识别方法和语音识别装置,包括由用户发出的语音的导入。根据用户的操作或动作开始该导入。然后判定所导入的语音的开头是存在的还是缺失的。基于语音判定单元的结果设置要识别的目标单词的发音信息,并使用所设置的发音信息识别所导入的语音。
文档编号G10L15/20GK1831939SQ20061005722
公开日2006年9月13日 申请日期2006年3月9日 优先权日2005年3月9日
发明者深田俊明 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1