语音识别模式错误校正系统和方法

文档序号:6346067阅读:3250来源:国知局
专利名称:语音识别模式错误校正系统和方法
技术领域
本发明通常涉及计算机系统领域,特别涉及当预先选择了错误模式以及已将语音输入错误输入程序时在计算机软件程序中校正语音识别模式错误。
自从发明计算机以来,人们与计算机主要通过键盘交互作用。一般,当用户想将信息或命令输入计算机时,在与计算机连接的键盘上键入该信息或命令。其它输入装置可作为键盘的补充输入装置,包括鼠标、触摸屏、集成指点器和扫描仪。这些输入装置的使用节省了用户花在向计算机输入数据或命令的时间。
基于计算机的话音识别和语音识别系统还用于将数据或命令输入个人计算机。话音识别和语音识别系统将人的语音转换成计算机能理解的格式。当计算机装备了话音识别或语音识别系统时,可只通过向计算机说出数据或命令而实现该数据和命令输入。用户说话的速度一般快于普通数据或命令输入。因此,通过人说话传播数据或命令的固有速度是将话音识别和语音识别系统与计算机结合追求的优点。
在公开的其余内容中,术语“话音识别”和“语音识别”作为同义词使用。有时,话音识别和语音识别之间是有区别的。但是,话音识别和语音识别系统都存在下述同样的问题,对两种识别技术应用相同的方法以克服现有技术中的缺点。
装备语音识别系统的用户操作个人计算机的高效率促使了该系统在工作场所的使用。各行业的许多工作人员现在将语音识别系统使用于多种应用中。例如,由DRAGON、IBM和LERNOUT & HAUSPIU制造的使用话音识别和语音识别技术的计算机软件程序。当用户大声读文件或对语音识别程序进行听写时,程序可将用户说的话直接输入操作个人计算机的字处理程序。
通常,基于计算机的语音识别程序将人的语音转换成一系列数字化频率。这些频率与预先存储的一组字或音素匹配。当计算机确定正确匹配这一系列频率时,则完成人语音部分的计算机识别。直到选择用于使计算机起作用的足够信息时,才编译频率匹配。计算机然后对所说的一定话起作用,将人语音存储在存储器中、将人语音记录成字处理程序的文件或执行程序模块如应用程序中的命令。
但是,语音识别系统不是100%的可靠。即使有硬件和软件修正,最好的语音识别系统也只能达到大约97-99%的可靠性。内部和外部因素会影响语音识别系统的可靠性。依赖于识别技术本身的因素包括以有限的字或音素集和词汇表来比较说话者的输入。环境因素如方言、外部噪声和麦克风会降低输入的质量,因而影响用户说话的频率,并将潜在错误带入字或音素匹配中。
语音识别软件程序可以用于将命令或文本输入其它应用程序。例如,Kurzweil的“VOICEPRO”语音识别软件可以用于将文本或命令输入由字处理应用程序如MICROSOFT WORD产生的文件中。当用户选择使用语音识别程序输入命令时,用户人工选择语音识别程序中的命令模式。用户然后说出命令,如“删除”。语音识别程序处理该命令并将“删除”命令发送给字处理程序以执行该命令。多数模式选择是自动进行的,错误来自于获得模式错误的机器,而不是用户的错误。但最终的影响是相同的。如果用户选择使用语音输入程序将文本输入一个文件,则用户人工选择语音识别程序中的听写模式。然后用户开始读要输入的文本,如“wheredo you want to go today”。语音识别程序处理该语音,并将处理的语音发送到字处理程序,从而将其处理成文件。为使语音识别软件正确处理用户语音输入,模式的用户选择是必要的。在用户说话前人工选择语音识别模式是很麻烦和费时的。
偶尔,用户忘记在说话前改变语音识别程序模式。例如,如果语音识别程序是在命令模式中,用户说“copy machine make copies not coffee”,用户识别程序会将语音输入“copy machine make copies not coffee”处理成命令。语音输入“copy”将由应用程序处理,但是剩余语音不能理解成命令,则应用程序不会处理该语音。
在其它时候,语音识别程序会处于听写模式,用户想要文字处理器执行一命令。如果用户忘记改变该模式并说“copy”,语音识别程序将该语音处理为听写,并将该语音输入作为文本输入应用程序。
已经尝试各种解决模式错误问题的办法。典型校正过程包括上述的情况,当用户在说话前忘记改变模式时,会造成模式错误。有时,模式错误混合有用户没有意识到他是在错误模式中的情况,从开始产生模式错误的时间在错误模式中处理语音输入。如果语音输入错误输入成听写,则用户可人工删除该已经作为文本输入计算机的听写。用户通过在说话前人工选择命令模式继续正确过程。如果语音输入作为命令错误输入,则用户人工选择“撤消”应用程序中的该已执行命令。用户再通过在说话前人工选择听写模式继续正确过程。正确语音识别模式的人工选择和“撤消”或“删除”命令的人工校正是很麻烦和费时的。
这样,本领域需要一种节省用户校正语音识别模式错误的方法。
本领域进一步需要一种减少校正语音识别模式错误中击键或命令数量的方法。
本发明满足上述用于校正语音识别模式错误的语音引擎校正模块中的需要。该语音引擎校正模块可以节省在校正语音识别模式错误中的用户时间。此外,语音引擎校正模块可减少需要校正语音识别模块错误的击键和命令数量。
一般说来,本发明是具有语音识别程序或语音引擎的语音引擎校正模块。语音识别程序配置成接收用于输入程序如字处理程序文件的语音。当语音识别程序接收语音输入时,程序处理由语音引擎识别的语音输入。语音识别程序然后向语音引擎发送语音输入。
该语音引擎从语音识别程序接收语音输入,并进一步处理该语音输入。命令处理器和听写处理器分别将语音输入处理成命令和听写。每个处理器的结果存储在存储器中,如RAM,供以后检索。
语音引擎采用模式选择处理器确定语音输入的语音识别模式。模式选择处理器使用条件如语音输入的上下文和内容来确定语音输入的语音识别模式。在模型选择处理器选择了模型后,由语音引擎将语音输入发送给程序,以作为听写或命令输入文件。
当出现语音识别模式错误时,模式校正处理器可检测到。一般,用户可从程序发送命令以指示发生了语音识别模式错误。当该模式校正处理器接收到指示语音识别模式错误的命令时,模式校正处理器启动对应于该类型的语音识别模式错误的校正例行程序。
当发生命令语音识别错误时,即当语音输入已经错误输入成命令时,则由语音引擎执行听写例行程序的命令。模式校正处理器向程序发送“UNDO”命令以删除应用于文件的输入命令。接着,模式校正处理器从存储在RAM中的可选听写选择候选选择。模式校正处理器从RAM复制可选选择,然后将替换选择发送给程序。候选选择然后作为输入文件的听写进入程序。
当发生听写错误时,即当语音输入错误输入为听写时,由语音引擎执行对命令例行程序的听写。模式校正处理器发送“删除”命令以删除输入文件的听写输入。接着,模式校正处理器从存储在RAM中的替换选择来选择候选选择。模式校正处理器处理候选选择,并将程序中的候选选择输入成文件中的命令。
根据本发明的一个方面,在使用听写处理器和命令处理器处理语音输入前,模式选择处理器可确定用于语音输入的语音识别模式。语音输入是由选择的模式处理器处理的,结果存储在RAM中。模式选择处理器将该语音输入存储在RAM中供以后检索。当由模式校正处理器检测到语音识别模式错误时,模式校正处理器发送“UNDO”命令以删除一命令,或执行“删除”命令以从文件删除听写。然后,从RAM检索语音输入,并由替换模式处理器进行处理,从而获得校正模式错误的结果。替换结果然后发送给程序以将其输入文件。
本发明克服了现有技术的缺点并获得上述优点,对实施例的详细描述和附图以及权利要求使上述优点更显而易见。


图1是提供本发明举例性实施例操作环境的个人计算机系统的功能方框图;图2是根据本发明举例性实施例用于校正语音识别模块错误的语音引擎校正模块组成的功能方框图3是显示校正语音识别模式错误的举例性方法的逻辑流程图;图4是显示对听写语音识别模式错误的校正命令的举例性方法的逻辑流程图;图5是显示对命令语音识别模式错误的校正听写的举例性方法的逻辑流程图;图6是显示校正语音识别模式错误的另一方法的逻辑流程图;图7是显示对听写语音识别模式错误的校正命令的另一方法的逻辑流程图;图8是显示对命令语音识别模式错误的校正听写的另一方法的逻辑流程图。
本发明提供一种可实现文件的模式校正例行程序的语音引擎校正软件模块。作为一种面向对象程序,该语音引擎校正模块提供一种标准接口,使客户程序可以与语音引擎校正模块进行通信。面向对象设计允许多个不同客户程序,如字处理程序、桌面排版程序、应用程序等等,使用该语音引擎校正模块。例如,语音引擎校正模块可以和应用程序如Microsoft WORD一起使用。
由语音引擎校正模块给出的接口使该模块可以接收程序输入。语音引擎校正模块接收程序的语音输入,将语音输入处理为听写和/或命令,存储作为听写和/或命令的处理的语音输入,选择该语音输入的语音识别模式,当语音识别模式错误发生时进行删除,并校正用于程序的文件中的语音识别模式错误。
语音引擎校正模块配置成两个部分,语音识别程序和语音引擎。语音识别程序接收用于程序的用户语音输入,将用户语音输入处理成用于语音引擎的随机结果,与程序相互作用,必要时向语音引擎调用。语音引擎与语音识别程序相互作用以接收随机结果或语音识别输入,处理该随机结果或语音输入作为听写和/或命令,存储处理的听写和/或命令,选择随机结果或语音输入的语音识别模式,检测语音识别模式错误,校正语音识别模式错误,必要时向程序调用。
图1和下面的说明试图提供实现本发明的适当计算机环境100的简洁而一般性说明。举例性操作环境100包括普通个人计算机系统120,该个人计算机系统120包括处理器121、系统内存122和将系统内存122连接到处理器121的系统总线123。系统内存122包括只读存储器(ROM)124和随机存取存储器(RAM)。基本输入/输出系统126(BIOS)存储在ROM124内,BIOS126包含帮助在个人计算机系统120内的各组成之间传送信息的基本例行程序,如在启动中。
个人计算机120还包含硬盘驱动器127、可换磁盘式驱动器128和光盘驱动器130,可换磁盘式驱动器128可在可换式磁盘129上读写,光盘驱动器130用于读CD-ROM盘131或在另一光媒体上读写。硬盘驱动器127、可换磁盘式驱动器128和光盘驱动器130分别通过硬盘驱动器接口132、可换磁盘式驱动器接口133和光盘驱动器接口134连接到系统总线133上。驱动器和其相关的计算机可读媒体向个人计算机系统120提供非易失性存储器。尽管上述的计算机可读的媒体指的是硬盘驱动器、可换式磁盘和CD-ROM盘,但是本领域的技术人员应该理解在实施例操作系统中还可采用其它类型的计算机可读媒体,如磁卡、快速内存卡、数字视频盘、伯努里盒式盘和类似的部件。
用户可通过普通输入装置包括键盘140和指点器如鼠标142向个人计算机120输入命令或信息。可采用麦克风161向计算机系统120输入声频输入,如语音。用户可以通过使用输入笔在书写板162绘制图形信息而将图形信息如图或手迹输入计算机系统。计算机系统120可包括附加输入装置(未示),如控制杆、游戏垫、卫星盘、扫描仪或类似装置。麦克风161可以通过与系统总线相连的声频适配器160与处理器121连接。其它输入装置通常通过与系统总线连接的串行端口接口146与处理器121连接,但是也可通过其它接口连接,如游戏端口或通用串行总线(USB)。
还可通过接口如视频适配器148将监视器147或其它类型显示器连接于系统总线123。除监视器外,个人计算机一般包含其它外围输出装置(未示),如扬声器或打印机。
个人计算机系统120可在采用与一个或多个远程计算机如远程计算机149逻辑连接的网络环境中工作。远程计算机149可以是服务器、路由器、对等器或其它公共网络节点,一般包含许多或所有上述与个人计算机系统120相关的部件,尽管图1中只给出了内存存储器150。图1所示的逻辑连接包含局域网(LAN)151和广域网(WAN)152。该网络环境广泛使用在办公室、企事业范围的计算机网络、内部网络和互联网中。
当使用在LAN网络环境中时,个人计算机系统120通过网络接口153连接到LAN151上。当使用在WAN网络环境中时,个人计算机系统120一般包含调制解调器154或其它在WAN152如互联网上建立通讯的装置。调制解调器154可以是内置的或外置的调制解调器,可通过串行端口接口146连接到系统总线123上。在网络环境中,显示的关于个人计算机120的程序模块或其组成部分可以存储在远程内存存储器150上。应理解图示的网络连接只是举例性的,还可使用在计算机之间建立通信连接的其它装置。还可进一步理解本发明可同样使用在主计算机系统或服务器计算机系统上,而不是使用在个人计算机系统上,并能通过除CD-ROM以外的其他装置同样传输到主计算机系统上,例如通过网络连接接口153。
多个程序模块可存储在计算机系统120的驱动器和RAM125上。程序模块通过I/O装置或其他计算机控制计算机系统120的操作并与用户交互作用。程序模块包括例行程序、操作系统135、应用程序模块138、数据结构、浏览器和其他软件或固件元件。本发明便于在一个或多个程序模块中实现,如基于详细说明的方法的语音引擎校正模块137。
应用程序模块138可包括多个与本发明一起使用的应用程序,其中一些程序如图2所示。在描述图2的文本中,这些程序模块中的一些模块的目的和它们之间交互作用的目的得到更充分的讨论。这些程序模块包括字处理程序(如由华盛顿州雷德蒙德的微软公司设计的WORD)、手写体识别程序模块、语音引擎校正模块137和输入方法编辑器(IME)。
将不对用于实现各详细说明的过程的特别程序语言进行说明,因为考虑到附图中说明和显示的操作、步骤和过程足以向本领域普通技术人员公开本发明的举例性实施例。此外,有由许多用于实现实施例的计算机和操作系统,因此不提供可应用于所有这些不同系统的详细的计算机程序。特定计算机的每个用户会知道最能满足用户的需要和目的的语言和工具。
本领域的技术人员会理解本发明可以与其它计算机系统配置一起使用,包括便携式装置、多处理器系统、基于微处理器或可编程的用户电子装置、微型计算机、主计算机和类似装置。本发明还可在分布式计算机环境中使用,在该分布式计算机环境中由通过通讯网络连接的远程处理器来完成任务。在分布式计算机环境中,程序模块可设置在本地内存存储器和远程内存存储器。
程序模块概述图2提供语音引擎校正模块200的组成和模块概图。一般,图2所示的组成和模块的目的是校正当语音输入到应用程序138如字处理器时产生的语音识别模块错误。
图2所示的组成和模块使用户校正输入应用程序138文件的语音输入的语音识别模式错误。语音引擎校正模块200包括微应用程序138接收语音输入204的语音识别程序202。语音识别程序202通过由操作系统135中的麦克风驱动模块控制的麦克风161接收来自用户的语音输入204。由于许多单词听起来相似但却具有不同意思和拼法,因此操作系统135中的麦克风启动模块常常难于译解语音,从而语音识别程序202产生随机结果。随机结果可以存储在RAM206中,供以后由语音引擎模块200检索。
语音引擎校正模块200还包括具有下述组成的语音引擎208模块选择处理器210、听写处理器212、命令处理器214和模式校正处理器216和存储器如RAM206。模型选择处理器210接收来自语音识别程序202的语音输入,并确定语音输入204的语音识别模块。在一个实施例中,模型选择处理器210可以是旁通的,有效地将语音输入204发送给听写处理器212和命令处理器214进行处理。
当由听写处理器212接收语音输入204时,听写处理器212处理语音输入204作为听写输入给应用程序138。采用自然语言模型218如统计语言模型(SLM),听写处理器212返回给定语音输入的文本串204。可以使用其它语言模型处理语音输入204,以返回作为用于应用程序138中的文本串。
当由命令处理器214接收语音输入204时,命令处理器214处理语音输入作为命令输入给应用程序138。采用上下文无关语法(CFG)语言模型220,命令处理器214返回给定语音输入204的命令。可以使用其它语言模型处理语音输入204,以返回用于应用程序138的命令。
在另一实施例中,模式选择处理器210确定语音输入204的语音识别模式,并根据所选模式将语音输入204发送给特定处理器。确定语音识别模式的选择标准可以是语音输入204的内容和语音输入204的上下文。
在由听写处理器212和/或命令处理器214返回语音识别模式结果后,模式校正处理器216接收该结果,并向应用程序138调用该结果以将其输入文件。模式校正处理器216还可将该结果存储在存储器如RAM206中,供以后检索。
存储器如RAM206用于存储语音输入204或经处理的语音输入204。RAM206包括能存储语音输入204数据如随机模型的数据结构。两个有此作用的有用结构是格和“n-最佳(n-best)”替换列表。格是一种本领域技术人员公知的结构,因此不做全面说明。但是,简单说来,格存储由节点中的语音输入源产生的单词或词组。由于每个单词或词组是语音输入数据,因此节点还存储赋予相关单词或词组的概率。为了产生由语音输入数据表示的文本段的相似替换,可采用本领域技术人员公知的方法将格切断。此外,表示文本相邻块的格可以通过称为连接的方法合并成大格。然后切断较大格以产生文本相邻块的替换。另外,语音输入数据可以由一列n-最佳替换和其相关概率表示。对于任何单词或词组,n-最佳替换列表可以产生于表示单词或词组的格。
模式校正处理器216还可检测来自应用程序138的模式校正命令,并等待将模式校正命令发送给语音引擎校正模块200。当接收或检测模式校正命令时,模式校正处理器216根据语音识别错误的类型、已预先存储在RAM206中的结果或语音输入204启动模式校正例行程序。
在实施例中,返回来自听写处理器212和命令处理器214产生的语音输入204。模式校正处理器216可以从RAM206检索替换结果。这些结果然后传给应用程序138以将其输入文件。
在模式选择处理器210选择费校正处理器的替换实施例中,模式校正处理器216可以从RAM206检索语音输入204。由替换的而不是模式选择处理器210最初选择的处理器处理语音输入204。然后将来自替换处理器的结果向应用程序138调用以将其输入文件。
在应用程序138接收结果后,用户可浏览替换结果,以便确定语音输入204的准确性。例如,如果听写结果有语音输入204的一个或多个替换听写,则用户可以选择通过图形用户界面呈现给用户的候选项。如果用户选择替换听写中的一个,然后应用程序138可用选择的候选项代替该听写,并将选择的候选项输入文件。
尽管已经分别说明了各个部分和模块,本领域技术人员应该认识到各个部分和模块可以以各种方式组合,产生新程序部分和模块以获得相似结果。
语音引擎模块例行程序图3是显示校正文件中的语音识别模式错误的计算机例行程序逻辑流程图。图3显示的步骤由与应用程序138一起工作的语音引擎校正模块200完成。步骤302开始由语音引擎校正模块200执行的例行程序300。
步骤302后接着运行步骤304,其中语音引擎校正模块200等待来自应用程序138的语音输入204。当由语音引擎校正模块200接收语音输入204时,步骤304后接着运行步骤306。
在步骤306中,听写处理器212处理语音输入204。听写处理器212使用自然语言模型218如统计语言模型(SLM)确定语音输入204的听写内容。这样的模型通常用于本领域,以将语音输入转换成计算机可读文件的文本。模型可使用线索如语法和文本段的整个意思或单词序列的概率以产生候选列表的附加替换并计算这些替换的概率。合适的自然语言模型218总是返回作为给定语音输入的文本结果。在听写处理器212确定语音输入204的文本结果后,步骤306后接着运行步骤308。
在步骤308,命令处理器214处理语音输入204。命令处理器214使用上下文无关语法(CFG)语言模型220用于确定语音输入204的命令内容。这样的模型通常用于本领域,以将语音输入转换成给定语音输入的命令结果。合适的CFG模型总是返回非常类似于语音输入204的应用程序命令。在命令处理器214确定语音输入204的命令结果后,步骤308后接着运行步骤310。
在步骤310,模型选择处理器210确定语音输入204的语音识别模式。根据听写选择标准,模式选择处理器210确定语音识别模式,并根据选择语音识别模式继续处理语音输入204。合适的选择标准可以是语音输入和文件的上下文以及语音输入的内容。例如,当模型选择处理器210相遇包括单个单词“删除”的语音输入时,模式选择处理器210可根据语音输入204和文件的文字上下文以及从语音输入204的内容确定语音输入204是个命令。这样,模型选择处理器210继续处理作为命令的语音输入204。当语音输入识别模式已经由模式选择处理器210选择后,步骤310后接着运行步骤312。
在步骤312,模式选择处理器210向应用程序138发送选择的模型处理器结果。例如,如果命令处理器214返回命令“删除”,模式选择处理器210确定语音输入204的模式是个命令,然后模式选择处理器210会将语音输入“删除”作为命令发送给应用程序138。当选择的模式处理器结果已经发送给应用程序时,步骤312后接着运行步骤314。
在步骤314,语音引擎校正模块200在RAM206中存储替换模型处理器结果,或其它类似类型的存储器。存储替换模式处理器结果使语音引擎校正模块200可在以后检索这些结果。例如,当语音引擎或用户确定已经犯了模式错误,则选择的模式应该是由语音引擎校正模块200非初始选择的替换模式。
步骤314后接着运行决定块316,其中模式校正处理器216检查语音识别模块校正命令。可以选择或由指示出现模式错误的模块校正处理器216接收其它类似命令或功能。如果删除了语音识别模式校正命令,则沿“是”支路运行到决定块318,其中模块校正例行程序继续。如果没有删除语音识别模式校正命令,则沿“非”支路运行到步骤326以返回例行程序300的开始。
模式校正例行程序300随决定块318继续,其中模式校正处理器216确定是否需要进行听写对命令校正。如果模式错误需要命令转换成听写,则沿“是”支路运行到步骤320,其中执行例行程序400(如图4所示)。如果模式错误不需要转换成听写的命令,则沿“非”支路运行到决定块322。
在决定块322中,模式校正处理器216确定是否需要进行听写对命令模式校正。如果语音识别模式错误需要听写转换成命令,则沿“是”支路运行到步骤324,其中执行例行程序500(如图5所示)。如果语音识别模式错误不需要听写转换成命令,则沿“非”支路运行到步骤326,其中例行程序300返回开始。
图4显示了例行程序400,其中语音识别校正模块200校正命令语音识别模式错误。即当用户需要时,将已经作为命令输入应用程序138的语音输入204转换成应用程序138的听写输入。步骤402开始由语音引擎校正模块200执行的例行程序400。
步骤402后接着运行步骤404,其中语音引擎校正模块200将初始语音输入204存储在RAM206中,或任何其它类似存储器中。存储的初始语音输入204允许在以后再调用或再处理语音输入204。例如,当例行程序400中断并且需要再调用初始语音输入204时,RAM206是很有用的。
步骤404后接着运行步骤406,其中“撤消”命令作为命令输入文件。模式校正处理器216向应用程序138发送“撤消”命令,应用程序138在文件上执行“撤消”。该“撤消”命令再调用由应用程序138在文件上执行的上次命令或命令串,并取消或撤消在文件上执行的上次命令或命令串。通过执行“撤消”命令,在模式错误发生之前,文件可返回其初始内容,语音输入204是作为命令而不是作为听写而输入文件的。
步骤406后接着运行步骤408,其中模式校正处理器216从听写处理器212结果选择候选听写,该结果作为替换模式处理器结果存储在RAM中。如图3中的步骤314所述,替换模式处理器结果存储在RAM206中供以后在检测到语音识别模式错误的情况下进行检索。并且选择模式应该是替换模式而不是由语音引擎模块200最初选择的模式。模式校正处理器216根据文件的上下文使用选择标准从替换模式处理器结果选择候选听写。
为了提高校正模式错误的速度,模式校正处理器216可以自动向应用程序138发送候选听写,并将候选听写输入文件而不提示用户。否则,模式校正处理器216可简单提示用户候选听写是最可能的校正语音输入204听写结果,并等待用户确认或将候选听写输入该文件。
步骤410后接着运行步骤408,其中模式校正处理器216向应用程序138发送RAM206中的候选选择和所有替换结果。应用程序138然后在其它替换听写结果中以选亮选择显示该候选结果。用户可接着选择候选选择以将其输入应用程序138,或用户向下滚动替换听写以选择想要的听写结果。在有些时候,如为了提高校正模式错误的速度,候选选择是发送给应用程序138的唯一替换结果,可以提示用户输入候选选择,或候选选择可以自动插入该文件。
步骤412后接着运行步骤410,其中选择的听写选择是作为文件的听写输入而输入应用程序138的。在语音引擎校正模块200或用户已经分析了存储在RAM206中用于存储想要的听写结果的替换结果,并已经确定哪个结果是最想作为输入文件的听写的语音输入204以后,该步骤提供文件的听写输入。步骤412后接着运行步骤414,其中通过返回图3的步骤326而结束例行程序400。
图5显示例行程序500,其中语音引擎校正模块200校正听写对命令语音识别模式错误。即,当模式校正处理器216检测到语音输入204是作为听写的错误输入时,语音输入204应该作为命令输入文件。图5是例行程序500的逻辑流程图,其开始沿“是”支路由图3的决定块322运行,例行程序500从步骤502开始。
步骤502后接着运行步骤504,其中语音引擎校正模块200将接收的语音输入204存储在RAM206中,或任何其它类似的内存或存储器中。如果例行程序500中断,需要再调用初始语音输入204,则存储的初始语音输入204对语音输入204再调用或再处理。例如,当例行程序500中断时,需要再调用初始语音输入204时,RAM206是很有用的。
步骤504后接着运行步骤506,其中模式校正处理器216向应用程序138发送“删除”命令以删除作为听写错误输入文件的语音输入204。可以将“删除”命令或任何类似功能发送到应用程序138以删除作为听写错误输入该文件的语音输入204。
步骤506后接着运行步骤508,其中模式校正处理器216从存储在RAM206中的替换模式处理器结果选择候选命令。如图3的步骤314中所述,替换模式处理器结果存储在RAM206中,供以后在当检测到语音识别模式错误的情况下进行检索,选择的模式应该是替换模式而不是由语音引擎校正模块200最初选择的。模式校正处理器216根据文件的上下文或预先发出的命令使用选择标准从替换模式处理器结果选择候选命令。
步骤508后接着运行步骤510,其中模式校正处理器216向应用程序138发送候选命令和RAM206中的所有替换结果。应用程序138然后在其它替换命令结果中将候选选择作为显亮选择显示。为提高校正模式错误的速度,模式校正处理器136可自动向应用程序138发送候选命令而不提示用户。否则,模式校正处理器216可只注意到该候选命令是最可能选择的正确语音输入204命令结果。
步骤510后接着运行步骤512,其中将选择的命令输入应用程序138。在语音引擎校正模块200或用户分析存储在用于存储所需命令结果的RAM206中的替换结果,并确定哪个结果是最需要作为输入文件的命令的语音输入204后,该步骤提供文件的命令输入。步骤512后接着运行步骤514,其中通过返回图3的步骤326而结束例行程序500。
图6是显示用于校正文件中的语音识别模式错误的替换计算机例行程序流程图。图6中显示的步骤由与应用程序138一起工作的语音引擎校正模块200执行。步骤602开始由语音引擎校正模块200执行的例行程序600。
步骤602后接着运行步骤604,其中语音引擎校正模块200等待来自应用程序138的语音输入204。当语音输入204由语音引擎模块200接收时,步骤604后接着运行例行程序606。
在步骤606,模式选择处理器210确定语音输入204的语音识别模式。
根据听写选择标准,模式选择处理器210确定语音识别模式,并根据选择的语音识别模式继续处理语音输入204。合适的选择标准可以是语音输入204和文件的上下文以及语音输入204的内容。例如,当模式选择处理器210遇到包括单个词“删除”的语音输入204时,模式选择处理器210可根据语音输入204和文件的文字上下文以及从语音输入204的内容确定该语音输入204是命令。这样,模式选择处理器210继续处理作为命令的语音输入204。合适的语音识别模式可以是听写和命令或用于应用程序138的文件中的任何其它有用模式。当选择了语音识别模式时,步骤606后接着运行步骤608。
在步骤608中,根据在步骤606中选择的选择语音识别模式,模式处理器212、214处理语音输入204。如果选择了听写模式,听写处理器212使用用于确定听写内容的自然语言模型218。在本领域通常使用该模型将语音输入转换成计算机可读文件的文本。模型可使用线索,如语法和文本段的整个内容,或字串的概率,以产生候选列表的附加替换,并计算这些替换的概率。合适的语言模型总是返回作为给定语音输入的文本结果。在听写处理器218确定语音输入204的文本结果后,步骤608后接着运行步骤610。
另外,如果选择了命令模式,则命令处理器214处理语音输入204。命令处理器214使用与上下文无关的语法(CFG)语言模型229确定命令的内容。在本领域通常使用模型将语音输入204转换成给定语音输入204的命令结果。合适的CFG模型返回的应用程序命令非常类似于语音输入204。在命令处理器214确定了语音输入204的命令结果后,步骤608后接着运行决定块610。
在决定块610中,模式校正处理器216检查语音识别模式校正命令。可以由模式校正处理器216检测或接收其它类似命令或功能以指示模式错误。如果检测到语音识别模式校正命令,则沿“是”支路运行到决定块612,其中模式校正例行程序继续。如果没有检测到语音识别模式校正命令,则沿“非”支路运行到步骤308以采用选择模式继续处理语音输入。
模式校正例行程序600继续决定块612,其中模式校正处理器216确定是否需要进行命令对听写模式校正。如果模式错误需要将命令转变成听写,则沿“是”支路运行到步骤614,其中执行例行程序700(如图7所示)。如果模式错误不需要将命令转变成听写,则沿“否”支路运行到决定块616。
在决定块616中,模式校正处理器216确定是否需要进行听写对命令校正。如果语音识别模式错误需要将听写转变成命令,则沿“是”支路运行到步骤618,其中执行例行程序800(如图8所示)。如果语音识别模式错误不需要将命令转变成听写,则沿“否”支路运行到决定块620,其中例行程序600返回开始块602。
图7显示替换例行程序700,其中语音引擎校正模块200校正命令语音识别模式错误。即,通过再输入作为由用户指定的听写的语音输入204,语音引擎模块校正作为命令错误输入应用程序138的语音输入204。步骤702开始由语音引擎校正模块200的例行程序700。
步骤702后接着运行步骤704,其中语音引擎校正模块200在RAM206中存储初始语音输入204。其它存储器和结构可以用于存储初始语音输入204。存储初始语音输入204容许在以后再调用和再处理语音输入。例如,当例行程序700中断和需要再调用初始语音输入204时,RAM206是很有用的。
步骤704后接着运行步骤706,其中“撤消”命令是作为命令输入文件的。模式校正处理器216向应用程序138发送“撤消”命令,应用程序138在文件上执行“撤消”。“撤消”命令再调用由应用程序138在文件上执行的上次命令或命令串,并取消或撤消在文件上执行的上次命令或命令串。通过执行“撤消”命令,在语音输入204作为命令而不是听写错误地输入前,文件可以返回到初始状态。
步骤706后接着运行步骤708,其中模式校正处理器216向听写处理器212发送存储在RAM206中的初始语音输入204。
步骤708后接着运行步骤710,其中语音输入204作为听写由听写处理器212处理。听写处理器212使用统计语言模型(SLM)218或其它类似语言模型处理语音输入204。文本结果由听写处理器212返回以输入该文本。
步骤710后接着运行步骤712,其中模式校正处理器216向应用程序138发送听写结果。应用程序138接着将该听写输入输进该文件。步骤712后接着运行步骤714,其中例行程序700通过返回图6的步骤608而结束。
图8显示替换例行程序800,其中语音引擎校正模块200校正听写语音识别模式错误。即,当模式校正处理器216检测到语音输入204已经作为听写错误输入,而语音输入204应该作为命令输入文件。图8是显示例行程序800的逻辑流程图,接着图6的步骤616开始。例行程序800在步骤802开始。
步骤802后接着运行步骤804,其中语音引擎校正模块200将接收的语音输入204存储在RAM206。其它存储器可以用于存储该语音输入204。存储初始语音输入204容许在以后再调用和再处理语音输入。例如,当例行程序800中断并且需要再调用初始语音输入204时,RAM206是很有用的。
步骤804后接着运行步骤806,其中模式校正处理器216向应用程序发送“删除”命令以删除作为听写错误输入该文件的语音输入204。其它类似命令或功能可以发送给应用程序138以取消作为听写错误输入该文件的语音输入204。
步骤806后接着运行步骤808,其中模式校正处理器216向命令处理器214发送存储在RAM206中的初始语音输入204。
步骤808后接着运行步骤810,其中语音输入204是作为命令由命令处理器214处理的。命令处理器214使用与上下文无关语法(CFG)语言模型220或其它类似语言模型来处理语音输入214。命令结果由命令处理器214返回以输入应用程序138。
步骤810后接着运行步骤812,其中模式校正处理器216向应用程序138发送命令结果。应用程序138接着可将命令输入输进该文件。步骤812后接着运行步骤814,其中例行程序800通过返回图6的步骤608而结束。
综上所述,会理解本发明提供一种语音引擎校正模块以校正程序文件中的语音识别模式错误。应该明白上述内容只涉及本发明的举例性实施例,可以对其做出各种改变,而不会背离由下述权利要求所限定的本发明的精神和范围。
权利要求
1.一种具有计算机可执行指令的计算机可读媒体,包括用于将语音输入输进文件的语音引擎;处理所述语音以获得第一结果和第二结果;选择语音输入的语音识别模式;以及根据所述选择的语音识别模式将第一结果和第二结果发送给所述文件。
2.如权利要求1所述的计算机可读媒体,其中语音引擎进一步包括存储所述替换结果;检测所述文件中的语音识别模式错误;根据预先结果的输入撤消任何对所述文件的改变;将替换结果发送给所述文件以将其输入所述文件。
3.一种具有计算机可执行指令的计算机可读媒体,包括用于将语音输入输进文件的语音引擎;存储所述语音输入;选择所述语音输入的语音识别模式;处理所述语音输入以获得第一结果;以及将第一结果输入所述文件。
4.如权利要求3所述的计算机可读媒体,其中语音引擎进一步包括检测所述文件中的语音识别模式错误;根据所述第一结果撤消任何对所述文件的改变;处理所述语音输入以获得第二结果;以及将所述第二结果输入所述文件。
5.一种具有计算机可执行指令的计算机可读媒体,包括用于将输入输进所述文件的应用程序;处理所述应用程序的输入的语音引擎;在处理器中处理所述输入以获得第一结果;在所述处理器中处理所述输入以获得第二结果;用所述模式选择处理器确定所述输入的模式;用所述模式选择处理器根据所述选择的模式选择结果;向所述应用程序发送所述选择结果以将其输入所述文件;在存储器中存储替换结果;用模式校正处理器模式错误;响应检测模式错误,根据所述预先选择结果撤消对所述文件的改变;检索替换模式结果;以及向所述应用程序发送所述替换模式结果以将其输入所述文件。
6.如权利要求5所述的计算机可读媒体,其中输入所述文件的所述输入包括人的语音。
7.如权利要求5所述的计算机可读媒体,其中所述处理器进一步包括处理所述输入以获得命令结果。
8.如权利要求5所述的计算机可读媒体,其中所述处理器进一步包括处理所述输入以获得听写结果。
9.如权利要求5所述的计算机可读媒体,其中所述模式包括命令或听写,或命令和听写两者的组合。
10.如权利要求5所述的计算机可读媒体,其中所述存储器包括可再读的存储器如RAM。
11.如权利要求5所述的计算机可读媒体,其中用所述模式校正处理器检测模式错误的所述步骤进一步包括接收来自用户的已经发生模式错误的命令。
12.如权利要求5所述的计算机可读媒体,进一步包括步骤从所述替换模式结果确定候选模式结果。
13.如权利要求12所述的计算机可读媒体,进一步包括步骤提示用户在替换模式结果列表中选择所述侯选模式结果。
14.如权利要求5所述的计算机可读媒体,进一步包括步骤将所述替换结果输入所述文件。
15.一种具有计算机可执行指令的计算机可读媒体,包括用于将输入输进所述文件的应用程序;处理所述应用程序的输入的语音引擎;用模式选择选择输入的模式;在处理器中处理所述输入以获得第一结果;向所述应用程序发送第一结果以将其输入所述文件;在存储器中存储所述输入;用模式校正处理器检测模式错误;响应检测模式错误,根据预先选择结果撤消对所述文件的改变;从所述存储器检索所述输入;在所述处理器中处理所述输入以获得第二结果;向所述应用程序发送所述替换模式结果以将其输入所述文件。
16.如权利要求15所述的计算机可读媒体,其中输入所述文件的所述输入包括人的语音。
17.如权利要求15所述的计算机可读媒体,其中所述处理器进一步包括处理所述输入以获得命令结果。
18.如权利要求15所述的计算机可读媒体,其中所述处理器进一步包括处理所述输入以获得听写结果。
19.如权利要求15所述的计算机可读媒体,其中所述模式包括命令或听写,或命令和听写两者的组合。
20.如权利要求15所述的计算机可读媒体,其中所述存储器包括可再写的存储器如RAM。
21.如权利要求15所述的计算机可读媒体,进一步包括步骤接收来自用户的已经发生模式错误的命令。
22.如权利要求15所述的计算机可读媒体,进一步包括步骤将所述第二结果输入所述文件。
23.一种校正文件中的语音识别模式错误的方法,包括从应用程序接收语音输入以输入所述文件;在处理器中处理所述语音以获得第一结果;在处理器中处理所述语音以获得第二结果;用模式选择处理器确定语音输入的语音识别模式;根据所述选择的语音识别模式选择结果;向所述应用程序发送所述选择结果以将其输入所述文件;将替换结果存储在存储器中;用模式校正处理器检测语音识别模式错误;响应检测的语音识别模式错误,根据预先选择结果撤消对所述文件的改变;检索所述替换模式结果;以及向所述应用程序发送所述替换模式结果以将其输入所述文件。
24.如权利要求23所述的方法,其中所述第一结果是命令结果。
25.如权利要求23所述的方法,其中所述第一结果是听写结果。
26.如权利要求23所述的方法,其中所述模式校正处理器可进一步操作以接收来自用户的已经发生模式错误的命令。
27.如权利要求23所述的方法,其中所述模式校正处理器可进一步操作以确定来自所述替换模式结果的候选模式结果。
28.如权利要求27所述的方法,其中所述模式校正处理器可进一步操作以提示用户在替换模式结果列表中选择所述候选模式结果。
29.如权利要求23所述的方法,其中所述模式校正处理器可进一步操作以将所述替换结果输入所述文件。
30.一种存储一组用于执行如权利要求23所述方法的计算机可执行指令的计算机可读存储器。
31.一种执行如权利要求23所述方法的步骤的设备。
32.用于校正文件中语音识别模式错误的方法,包括接收来自应用程序语音输入以输入所述文件;用模式选择处理器选择所述语音输入的语音识别模式;在处理器中处理所述语音输入;向应用程序发送第一结果以将其输入所述文件;将所述语音输入存储在存储器中;用模式校正处理器检测模式错误;响应检测的模式错误,根据预先选择结果撤消对所述文件的改变;从存储器检索所述语音输入;在处理器中处理所述语音以获得第二结果;向所述应用程序发送第二结果以将其输入所述文件。
33.如权利要求32所述的方法,其中所述第一结果是听写结果。
34.如权利要求32所述的方法,其中所述第一结果是命令结果。
35.如权利要求32所述的方法,其中所述模式校正处理器可进一步操作以接收来自用户的已经发生模式错误的命令。
36.如权利要求32所述的方法,其中所述模式校正处理器可进一步操作以将所述第二结果输入所述文件。
37.一种存储一组用于执行如权利要求32所述方法的计算机可执行指令的计算机可读存储器。
38.一种实现如权利要求32所述方法的步骤的装置。
39.一种具有计算机可执行指令的计算机可读媒体,包括用于将文本或命令输入文件的应用程序;语音引擎程序,设置为处理所述应用程序的文本或命令的所述语音输入;在听写处理器中处理所述语音输入以获得听写结果;在命令处理器中处理所述语音输入以获得命令结果;确定所述语音输入的语音识别模式;根据所述语音识别模式选择结果;向所述应用程序发送所述选择结果以将其输入存储器;检测语音识别模式错误;响应检测语音识别模式错误,根据所述预先选择结果撤消对文件的改变;检索所述替换语音识别模式结果;向所述应用程序发送所述替换语音识别模式结果;将所述替换语音识别模式结果输入所述文件。
40.一种具有计算机可执行指令的计算机可读媒体,包括用于将文本或命令输入文件的应用程序;用于处理所述应用程序的所述文本或命令的语音引擎;用第一模式选择来选择所述文本或命令的第一模式;在处理器中处理所述文本或命令以获得第一结果;向所述应用程序发送所述第一结果以将其输入所述文件;在存储器中存储所述文本或命令;用模式校正处理器检测模式错误;响应检测的模式错误,根据预先选择结果撤消对所述文件的改变;从所述存储器检索所述文本或命令;在处理器中处理所述文本或命令以获得第二结果;向所述应用程序发送第二结果;将所述第二结果输入所述文件。
全文摘要
一种语音识别模式错误校正系统和方法,语音识别程序模块接收来自用户的语音输入并向语音引擎发送。命令处理器将语音输入处理成命令结果,听写处理器将语音输入处理成听写结果。模式选择处理器确定语音输入的语音识别模式,并将选择的模式结果发送到该应用程序。模式校正处理器检测发生的语音识别模式错误,并将其输入例行程序以校正模式错误。如果命令模式错误已经发生,则模式校正处理器允许用户选择候选听写或替换模式结果以输入该文件。
文档编号G06F3/16GK1293427SQ0013019
公开日2001年5月2日 申请日期2000年10月19日 优先权日1999年10月19日
发明者杰弗里·C·雷纳, 埃里克·拉克, 保罗·基扬·万·金, 戴维·艾伦·考尔顿 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1