用于降低语音识别应用中的延时的方法和装置制造方法及图纸

技术编号:17573774 阅读:67 留言:0更新日期:2018-03-28 21:09
本公开涉及用于降低语音识别应用中的延时的方法和装置。该方法包括接收包括来自计算设备的用户的语音的第一音频、检测第一音频中的语音的结束、至少部分地基于第一音频在检测到的语音的结束之前的一部分来生成ASR结果、确定安装在计算设备上的启用语音的应用是否能够使用ASR结果执行有效动作、以及当确定启用语音的应用不能使用ASR结果执行有效动作时处理第二音频。

【技术实现步骤摘要】
【国外来华专利技术】用于降低语音识别应用中的延时的方法和装置
技术介绍
诸如智能电话和平板计算机的一些电子设备包括语音识别能力或与语音识别能力相关联,该语音识别能力使用户能够经由语音输入来访问设备的功能。语音输入由自动语音识别(ASR)系统处理,该ASR系统将输入音频转换为识别出的文本。电子设备还可以包括自然语言理解(NLU)引擎或与NLU引擎相关联,该NLU引擎解释用户输入并且基于所确定的用户输入的语义内容采取动作(例如,通过促进与经由电子设备可访问的一个或多个应用的动作)。虚拟代理或虚拟助理是受益于NLU处理以帮助用户执行诸如搜索网络(例如,互联网)上的内容和与其它应用接口的功能的一类这种应用。用户可以通过键入、触摸、语音或某种其它接口与虚拟代理进行交互。为了确定用户输入的含义,NLU引擎解释用户输入,并且虚拟代理可以尝试基于NLU结果来推断用户想要执行的动作。
技术实现思路
一些实施例涉及一种包括安装在其上的启用语音的应用的计算设备。该计算设备包括:输入接口,被配置为从计算设备的用户接收包括语音的第一音频;自动语音识别(ASR)引擎,被配置为至少部分地基于用于终点判定(endpointing)的阈值时间来检测第一音频中的语音的结束,以及至少部分地基于第一音频的在检测到的语音的结束之前的一部分来生成第一ASR结果。计算设备还包括至少一个处理器,其被编程为确定启用语音的应用是否能够使用第一ASR结果来执行有效动作,以及当确定启用语音的应用不能使用第一ASR结果执行有效动作时指令ASR引擎处理第二音频。其它实施例涉及一种方法。该方法包括通过计算设备的输入接口接收包括来自计算设备的用户的语音的第一音频、由计算设备的自动语音识别(ASR)引擎检测第一音频中的语音的结束、由ASR引擎至少部分地基于第一音频在检测到的语音的结束之前的一部分来生成ASR结果、确定安装在计算设备上的启用语音的应用是否能够使用ASR结果执行有效动作、以及当确定启用语音的应用不能使用ASR结果执行有效动作时,指令ASR引擎处理第二音频。其它实施例涉及一种用多条指令编码的计算机可读存储介质,当由计算设备执行时,所述指令执行一种方法。该方法包括从计算设备的用户接收包括语音的第一音频、检测第一音频中的语音的结束、至少部分地基于第一音频在检测到的语音的结束之前的一部分来生成ASR结果、确定安装在计算设备上的启用语音的应用是否能够使用ASR结果来执行有效动作、以及当确定启用语音的应用不能使用ASR结果执行有效动作时,处理第二音频。应该认识到的是,下面更详细地讨论的前述概念和附加概念的所有组合(假设这些概念相互不一致)被认为是本文公开的专利技术主题的一部分。附图说明附图不旨在按比例绘制。在附图中,在各个图中图示的每个相同或几乎相同的部件由相似的标号表示。为了清楚起见,不是每个部件都可能在每个附图中被标注。在附图中:图1是根据一些实施例的与启用语音的应用一起使用的客户端-服务器系统的示意图;图2图示了根据一些实施例的用于确定是否可以基于ASR结果执行针对启用语音的应用的有效动作的过程;图3图示了根据一些实施例的用于降低过早终点判定的过程;图4图示了根据一些实施例的用于动态设置ASR过程的超时值的过程;图5图示了根据一些实施例的用于在客户端设备的本地存储装置上存储NLU结果的过程;图6图示了根据一些实施例的用于使用存储在客户端设备的本地存储装置上的NLU结果的过程;以及图7图示了根据一些实施例的用于在客户端设备的用户界面上显示动态生成的提示的过程。具体实施方式包括自动语音识别(ASR)和/或自然语言理解(NLU)处理或与ASR和/或NLU处理相关联的电子设备的用户经常报告在提供语音输入之后接收结果的延时是影响积极的用户体验的重要因素。为了降低延时,大部分或全部ASR和/或NLU处理可以在设备上本地执行。但是,对于具有有限存储器和/或处理资源的一些设备而言,这种方法可能是不可取的。如下面进一步详细讨论的,其中ASR和/或NLU处理的至少一部分由客户端/服务器体系架构中(例如,经由一个或多个网络)连接到设备的一个或多个服务器提供的分布式系统被频繁地用于降低客户端设备上的资源负担。通过(一个或多个)网络发送和接收信息增加了与ASR和/或NLU处理相关联的延时,并且下面进一步讨论的一些实施例涉及用于降低与分布式ASR和/或NLU处理相关联的延时的技术,以提高对使用ASR和/或NLU处理的客户端设备上的应用的用户体验。处理包括用于ASR的语音输入的音频的系统通常基于对语音输入的分析来确定用户何时已经完成讲话。用于确定用户何时已经完成讲话的过程通常被称为“终点(endpoint)检测”。终点检测可以通过确定何时用户的语音已结束超过阈值或超时值的时间量(例如,三秒)来实现。包括语音的音频由ASR引擎处理以生成文本ASR结果。如以上所讨论的,ASR结果然后可以由NLU引擎处理,以推断用户想要执行的预期动作。过早的终点检测(即,在用户完成用户期望提供的输入之前确定用户已完成讲话)通常导致NLU引擎利用对于NLU引擎正确推断针对用户期望输入的预期动作而言不足的信息来处理ASR结果。本专利技术人已经识别出并认识到,过早的终点检测经常在用户话语中间当用户考虑接下来要说什么时暂停的情况下出现。例如,向启用语音的应用询问方向的用户可能会说:“我想要去往…”,随后是在用户考虑目的地位置时的暂停。与话语“我想要去往…”对应的ASR结果通常将由与启用语音的应用相关联的NLU引擎解释为是错误的和/或解释为是不完整的。为了使得NLU引擎能够确定可以由启用语音的应用使用以执行有效动作的NLU结果,用户可能被要求重新开始或者在新的话语中提供附加信息,其中任何一个都是耗时的并且降低了用户体验。用于降低过早终点检测的频率的技术是要增加用于终点检测的超时值。但是,这样做会导致所有话语的延时更高,从而导致不利的用户体验。本文描述的一些实施例涉及用于在处理语音输入期间选择性地且动态地控制终点检测过程以便降低发送给NLU引擎并由其处理的具有不足信息的ASR结果的数量的技术。其它实施例涉及通过在客户端设备的本地存储设备中存储至少一些NLU结果(例如,近期的、频繁的和/或任何其它期望类型的话语的NLU结果)来降低与远程NLU处理相关联的延时。通过在客户端设备上本地存储或“高速缓存”至少一些NLU结果,与基于服务器的NLU处理相比,可以在降低延时的情况下获得高速缓存的NLU结果,并且甚至当与服务器的网络连接不可用时,也可以获得高速缓存的NLU结果。其它实施例涉及通过在客户端设备的用户界面上显示动态生成的提示来关于用来与安装在客户端设备上的启用语音的应用(例如,启用声音的虚拟助理应用)进行交互的选项来训练用户。由于动态生成的提示是至少部分地基于用户已经说过的内容而生成的,因此用户知道如何在未来话语中与启用语音的应用进行交互,并且提示也向用户提供了关于如何完成正在进行的输入的信息。本文描述的技术可以在使用基于NLU的处理的任何应用或系统中实现。在下面描述的一些实施例中,使用本文描述的技术的NLU系统可以用于促进用户与虚拟助理(例如,被实现为在诸如智能电话的电子设备上执行的应用)之间的交互。但是,这只是本文描述的技术的一个说明性用途,因为本文档来自技高网...
用于降低语音识别应用中的延时的方法和装置

【技术保护点】
一种计算设备,所述计算设备包括安装在其上的启用语音的应用,所述计算设备包括:输入接口,被配置为从所述计算设备的用户接收包括语音的第一音频;自动语音识别(ASR)引擎,被配置为:至少部分地基于用于终点判定的阈值时间来检测所述第一音频中语音的结束;以及至少部分地基于所述第一音频在检测到的语音结束之前的一部分来生成第一ASR结果;以及至少一个处理器,被编程为:确定所述启用语音的应用是否能够使用所述第一ASR结果来执行有效动作;以及当确定所述启用语音的应用不能使用所述第一ASR结果执行有效动作时,指令所述ASR引擎处理第二音频。

【技术特征摘要】
【国外来华专利技术】2015.05.26 US 14/721,2521.一种计算设备,所述计算设备包括安装在其上的启用语音的应用,所述计算设备包括:输入接口,被配置为从所述计算设备的用户接收包括语音的第一音频;自动语音识别(ASR)引擎,被配置为:至少部分地基于用于终点判定的阈值时间来检测所述第一音频中语音的结束;以及至少部分地基于所述第一音频在检测到的语音结束之前的一部分来生成第一ASR结果;以及至少一个处理器,被编程为:确定所述启用语音的应用是否能够使用所述第一ASR结果来执行有效动作;以及当确定所述启用语音的应用不能使用所述第一ASR结果执行有效动作时,指令所述ASR引擎处理第二音频。2.如权利要求1所述的计算设备,其中确定所述启用语音的应用是否能够使用所述第一ASR结果来执行有效动作至少部分地基于使用所述第一ASR结果生成的自然语言理解(NLU)结果。3.如权利要求2所述的计算设备,其中所述处理器还被编程为将NLU结果提交给所述启用语音的应用,并且其中确定所述启用语音的应用是否能够使用所述第一ASR结果来执行有效动作包括响应于将所述NLU结果提交给所述启用语音的应用,从所述启用语音的应用接收不能执行有效动作的指示。4.如权利要求1所述的计算设备,其中所述输入接口还被配置为接收第二音频,其中所述第二音频包括在检测到所述第一音频中的语音结束之后记录的音频,并且其中所述ASR引擎还被配置为处理所述第二音频。5.如权利要求4所述的计算设备,其中处理所述第二音频包括:确定所述第二音频是否包括语音;以及响应于确定所述第二音频包括语音,至少部分地基于所述第二音频的至少一部分来生成第二ASR结果。6.如权利要求5所述的计算设备,其中生成第二ASR结果包括至少部分地基于所述第一音频的至少一部分和所述第二音频的至少一部分来生成所述第二ASR结果。7.如权利要求5所述的计算设备,其中所述至少一个处理器还被编程为:确定所述启用语音的应用是否能够使用至少部分地基于所述第一ASR结果的至少一部分和所述第二ASR结果的至少一部分生成的自然语言理解(NLU)结果来执行有效动作;以及响应于确定能够使用所述NLU结果来执行有效动作,指令所述启用语音的应用执行所述有效动作。8.如权利要求5所述的计算设备,还包括:至少一个存储设备,被配置为存储一个或多个前缀,每个所述前缀与对应的用于终点判定的阈值时间相关联;以及其中确定所述启用语音的应用是否能够执行有效动作包括确定所述第一音频中的语音是否包括存储在所述至少一个存储设备上的所述一个或多个前缀中的前缀。9.如权利要求8所述的计算设备,其中所述ASR引擎还被配置为:在检测到所述第一音频中的语音的结束之前处理所述第一音频的多个时间片段,并且其中确定所述第一音频中的语音是否包括存储在所述至少一个存储设备上的前缀包括将基于处理后的多个时间片段确定的所述ASR引擎的输出与存储在所述至少一个存储设备上的所述一个或多个前缀进行比较。10.如权利要求8所述的计算设备,其中所述至少一个处理器还被编程为:响应于确定所述第一音频中的语音包括存储在所述至少一个存储设备上的前缀,更新由所述ASR引擎用于终点判定的阈值时间,其中更新所述阈值时间包括指令所述ASR引擎使用在第一音频中的语音中识别出的与存储在所述至少一个存储设备上的所述前缀相关联的用于终点判定的阈值时间来检测所述第一音频中的语音的结束。11.如权利要求1所述的计算设备,其中所述至少一个处理器还被编程为:至少部分地基于所述第一ASR结果来创建第一提示,其中所述第一提示向用户提示与能够由所述启用语音的应用执行的有效动作对应的语音输入;以及经由所述计算设备的用户界面呈现所述第一提示。12.如权利要求11所述的计算设备,其中所述输入接口还被配...

【专利技术属性】
技术研发人员:M·凡提
申请(专利权)人:纽昂斯通讯公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1