CN107851435A - 用于降低语音识别应用中的延时的方法和装置 - Google Patents

用于降低语音识别应用中的延时的方法和装置 Download PDF

Info

Publication number
CN107851435A
CN107851435A CN201680043832.9A CN201680043832A CN107851435A CN 107851435 A CN107851435 A CN 107851435A CN 201680043832 A CN201680043832 A CN 201680043832A CN 107851435 A CN107851435 A CN 107851435A
Authority
CN
China
Prior art keywords
asr
audio
voice
results
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680043832.9A
Other languages
English (en)
Inventor
M·凡提
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nuance Communications Inc
Original Assignee
Nuance Communications Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nuance Communications Inc filed Critical Nuance Communications Inc
Publication of CN107851435A publication Critical patent/CN107851435A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/01Assessment or evaluation of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本公开涉及用于降低语音识别应用中的延时的方法和装置。该方法包括接收包括来自计算设备的用户的语音的第一音频、检测第一音频中的语音的结束、至少部分地基于第一音频在检测到的语音的结束之前的一部分来生成ASR结果、确定安装在计算设备上的启用语音的应用是否能够使用ASR结果执行有效动作、以及当确定启用语音的应用不能使用ASR结果执行有效动作时处理第二音频。

Description

用于降低语音识别应用中的延时的方法和装置
背景技术
诸如智能电话和平板计算机的一些电子设备包括语音识别能力或与语音识别能力相关联,该语音识别能力使用户能够经由语音输入来访问设备的功能。语音输入由自动语音识别(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系统可以用于促进用户与虚拟助理(例如,被实现为在诸如智能电话的电子设备上执行的应用)之间的交互。但是,这只是本文描述的技术的一个说明性用途,因为它们可以与任何环境中的任何NLU系统一起使用。
图1示出了根据本发明的一些实施例的可以使用的说明性计算环境100。计算环境100包括电子设备110。在一些实施例中,电子设备110可以是客户端-服务器体系架构中的客户端设备,如下面更详细讨论的。电子设备110包括被配置为接收用户输入的输入接口112。输入接口可以采取任何形式,因为本发明的各方面在这方面不受限制。在一些实施例中,输入接口112可以包括多个输入接口,每个输入接口被配置为接收一种或多种类型的用户输入。例如,输入接口112可以包括键盘(例如,QWERTY键盘)、小键盘、触摸敏感屏幕、鼠标或任何其它合适的用户输入设备。作为另一个示例,输入接口可以包括麦克风,当其被激活时接收语音输入,并且系统可以在电子设备上本地地、远程地(例如,在服务器上)或在两者之间分布地执行自动语音识别(ASR)。接收到的语音输入可以被存储在与电子设备110相关联的数据存储库(例如,本地存储装置140)中以便于ASR处理。
电子设备110还包括被配置为从电子设备110输出信息的输出接口114。输出接口可以采取任何形式,因为本发明的各方面在这方面不受限制。在一些实施例中,输出接口114可以包括多个输出接口,每个输出接口被配置为提供一种或多种类型的输出。例如,输出接口114可以包括一个或多个显示器、一个或多个扬声器或任何其它合适的输出设备。在电子设备110上执行的应用可以被编程为显示用户界面以便于执行与应用相关联的一个或多个动作。在本文描述的一个示例中,应用显示向用户提供动态生成的提示以帮助用户完成正在进行的输入的用户界面,如下面更详细讨论的。
电子设备110还包括被编程为执行多条指令以执行电子设备110上的一个或多个功能的一个或多个处理器116。示例性功能包括但不限于便于用户输入的存储、启动和执行电子设备110上的一个或多个应用、以及经由输出接口114提供输出信息。示例性功能还包括执行语音识别(例如,使用ASR引擎130)和执行自然语言理解(例如,使用NLU系统132),如下面更详细描述的。
电子设备110还包括被配置为使得电子设备110能够经由网络120与一个或多个计算机通信的网络接口122。一些实施例可以使用客户端/服务器系统来实现,其中ASR和/或NLU过程的至少一部分是从电子设备110远程执行的。在这样的实施例中,网络接口122可以被配置为向一个或多个服务器设备150提供信息以执行ASR、NLU过程、ASR过程和NLU过程两者、或者一些其它合适的功能。服务器150可以与便于由服务器进行处理的一个或多个非瞬态数据存储库(例如,远程存储装置160)相关联。
网络120可以使用使得能够在电子设备与一个或多个计算机之间进行通信的任何合适的(一条或多条)通信信道以任何合适的方式来实现。例如,网络120可以包括但不限于局域网、广域网、内联网、互联网、有线和/或无线网络、或者局域网和广域网的任何合适的组合。此外,网络接口122可以被配置为支持使得能够与一个或多个计算机进行通信的一种或多种类型的网络中的任何一种。
在一些实施例中,电子设备110被配置为处理经由输入接口112接收到的语音,并且使用ASR引擎130产生至少一个语音识别结果。ASR引擎130被配置为使用自动语音识别来处理包括语音的音频以确定与语音的至少一部分对应的文本表示。ASR引擎130可以
实现任何类型的自动语音识别来处理语音,因为本文描述的技术不限于所使用的特定(一个或多个)自动语音识别过程。作为一个非限制性示例,ASR引擎130可以采用一个或多个声学模型和/或语言模型来将语音数据映射到文本表示。这些模型可以是与讲话者无关的,或者模型中的一个或两者可以与特定讲话者或讲话者类别相关联。此外,(一个或多个)语言模型可以包括由ASR引擎130用于确定识别结果的领域无关的模型和/或针对特定领域定制的模型。(一个或多个)语言模型可以可选地结合自然语言理解(NLU)系统(例如,NLU系统132)来使用,如下面更详细讨论的。ASR引擎130可以输出任何合适数量的识别结果,因为本发明的各方面在这方面不受限制。在一些实施例中,如上所述,ASR引擎130可以被配置为使用声学和/或语言模型来输出基于对输入语音的分析而确定的N个最佳结果。
电子设备110还包括NLU系统132,该NLU系统132被配置为处理文本表示以获得对输入的一些语义理解,并且至少部分地基于文本表示输出一个或多个NLU假设。在一些实施例中,由NLU系统132处理的文本表示可以包括从ASR引擎(例如,ASR引擎130)输出的一个或多个ASR结果(例如,N个最佳结果),并且NLU系统可以被配置为为每个ASR结果生成一个或多个NLU假设。应该认识到的是,除了ASR结果之外,NLU系统132还可以处理其它合适的文本表示。例如,经由键盘、触摸屏输入或者使用一些其它输入接口接收到的文本表示可以附加地由NLU系统根据本文描述的技术进行处理。此外,从搜索引擎返回的或者以某种其它方式提供给电子设备110的基于文本的结果也可以由NLU系统根据本文描述的技术中的一种或多种技术进行处理。NLU系统及其输出的形式可以采取许多形式中的任何一种,因为本文描述的技术不限于与以任何特定方式操作的NLU系统一起使用。
图1所示的电子设备110包括在电子设备110上本地执行的ASR过程和NLU过程两者。在一些实施例中,这些过程中的一个或两者可以全部或部分地由远离电子设备110的一个或多个计算机(例如,服务器150)执行。例如,在包括ASR部件的一些实施例中,语音识别可以使用与电子设备110相关联的嵌入式ASR引擎本地执行,由经由一个或多个网络与电子设备110进行网络通信的远程ASR来执行,或者语音识别可以使用包括嵌入式部件和远程部件两者的分布式ASR系统来执行。在一些实施例中,NLU系统132可以远离电子设备110,并且可以使用被配置为提供远程ASR处理中的一些或全部的相同或不同的远程计算机中的一个或多个来实现。此外,应该认识到的是,根据ASR引擎130和NLU系统132中的任何一个或多个所使用的计算资源也可以远离电子设备110,以便于本文描述的ASR过程和/或NLU过程,因为与这些过程相关的本发明的各方面不以任何方式限于基于计算环境100内的这些部件的特定实现或布置。
图2图示了根据一些实施例的用于评估输入语音是否包括足以允许启用语音的应用执行有效动作的信息的过程。在动作210中,接收包括语音的音频。音频可以以任何合适的方式被接收。例如,电子设备可以包括被配置为接收包括语音的音频的语音输入接口,如以上所讨论的。该过程然后进行到动作212,其中接收到的音频的至少一部分由ASR引擎处理以生成ASR结果。如以上所讨论的,可以使用任何合适的ASR过程来识别接收到的音频的至少一部分,因为本发明的各方面在这方面不受限制。例如,在一些实施例中,ASR引擎处理接收到的音频以检测音频中的语音的结束,并且音频在检测到的语音的结束之前的部分被处理以生成ASR结果。
过程然后进行到动作214,其中确定接收到的音频中的语音是否包括足以允许启用语音的应用执行有效动作的信息。确定语音是否包括足以允许启用语音的应用执行有效动作的信息可以以任何合适的方式来确定。在一些实施例中,可以由NLU系统处理从ASR引擎输出的ASR结果以生成NLU结果,并且确定语音是否包括足以允许启用语音的应用执行有效动作的信息可以至少部分地基于NLU结果。如以上所讨论的,一些NLU系统可以处理输入文本并返回错误和/或输入文本不足以使应用能够执行有效动作的指示。错误和/或输入到NLU的文本包括不足以允许启用语音的应用执行有效动作的信息的指示可以至少部分地用于确定ASR引擎进行的终点判定被过早执行(即,在完成终点判定过程之前用户还没有完成期望的输入)。
在一些实施例中,确定接收到的语音是否包括足以允许启用语音的应用执行有效动作的信息可以至少部分地基于从ASR引擎输出的ASR结果的内容来确定。例如,如下面更详细讨论的,一些实施例将ASR结果与存储在电子设备上的本地存储装置中的一个或多个前缀进行比较,并且确定接收到的语音是否包括足以允许启用语音的应用执行有效动作的信息至少部分地基于ASR结果是否与本地存储的前缀中的一个或多个前缀匹配来做出。
如果在动作214中确定接收到的音频中的语音包括足以允许启用语音的应用执行有效动作的信息,则该过程结束并且该话语被处理,就像否则在没有本文描述的技术的情况下那样。相反,如果确定接收到的音频中的语音不包括足以允许启用语音的应用执行有效动作的信息,则该过程前进到动作216,其中指令ASR引擎处理附加音频。由ASR引擎处理的附加音频可以用于补充接收到的具有不足以允许启用语音的应用执行有效动作的信息的音频,如下面更详细讨论的。
如以上所讨论的,在使用包含NLU技术的语音驱动的应用期间可能导致处理延时增加的因素是过早的终点检测。典型地,终点检测通过以下实现:即,通过检测接收到的音频中的语音的结束(例如,通过检测静音)并且确定自从语音的结束被检测到开始已过去特定阈值时间量(例如,三秒)来假定用户已完成讲话。用于确定何时到终点的超时值可以是由应用程序员设置的固定值,或者可以基于电子设备的(一个或多个)用户使用一个或多个启用语音的应用而变化。如以上所讨论的,选择长的超时值对于所有话语导致处理延时延迟,并且选择短的超时值对于一些话语(例如,其中讲话者在考虑下一步要说什么时暂停的话语)可能导致过早终点检测。
一些实施例涉及用于在用于终点检测过程的超时值已经期满之后通过处理音频来恢复和/或防止过早的终点检测的技术。图3图示了根据一些实施例的用于从过早的终点检测恢复的过程。在动作310中,确定接收到的音频中的语音的结束。语音的结束可以以任何合适的方式来确定,因为本发明的各方面在这方面不受限制。例如,语音的结束可以至少部分地基于音频信号中检测到的能量水平来确定,或者语音的结束可以通过分析音频信号的一个或多个其它特性来确定。
如以上所讨论的,一些常规的终点检测技术在检测到语音的结束后已过去阈值时间量之后确定用户已停止讲话。可以以任何合适的方式来确定是否已过去阈值时间量。例如,在与首次检测到语音结束时对应的时间,可以启动计时器,并且如果在启动计时器之后过去了特定的时间量,则可以确定已过去阈值时间量,并且讲话者已完成讲话。
响应于检测到第一音频中语音的结束,过程进行到动作312,其中对第一音频(例如,在检测到的终点之前接收到的音频)执行ASR以为第一音频生成第一ASR结果。虽然对第一音频执行ASR被示出为仅在第一音频中检测到语音的结束之后才执行,但是在一些实施例中,ASR过程可以在接收到第一音频的至少一部分之后的任何时间启动,因为本发明的各方面在这方面不受限制。例如,ASR可以在检测到第一音频中的语音结束之前对第一音频的一个或多个时间段执行,以确定第一音频是否包括本地存储的前缀,如下面更详细讨论的。
在动作312中已经为第一音频生成ASR结果之后,过程前进到动作314,其中对ASR结果执行NLU以生成第一NLU结果。可以对为第一音频生成的ASR结果的全部或一部分执行NLU,并且可以在使用ASR过程识别出第一音频的至少一部分之后的任何时间启动NLU过程。可选地,可以存储第一ASR结果,以便与至少部分地基于接收到的第二音频生成的第二ASR结果进行可能的组合,如下面更详细描述的。
在动作314中生成第一NLU结果之后,可以在动作316中分析NLU结果以确定第一NLU结果是否包括足以允许启用语音的应用执行有效动作的信息或者是否需要附加的音频输入以允许启用语音的应用执行有效动作。第一NLU结果是否包括足以允许启用语音的应用执行有效动作的信息可以以任何合适的方式来确定。例如,如果启用语音的应用是导航应用,则当结果包括要执行的动作(例如,“提供到...的方向”)和用于执行动作的信息(例如,目的地)时,NLU结果可以被认为包括足够的信息。
如果确定第一NLU结果包括足以允许启用语音的应用执行有效动作的信息,则将NLU结果提供给启用语音的应用,并且过程结束。否则,过程进行到动作320,其中包括在第一音频中检测到语音的结束之后记录的音频的第二音频被处理。在一些实施例中,分析第二音频包括作为包括第一音频的至少一些的单个话语的一部分处理第二音频的至少一些。
虽然处理第二音频在图3中示出为在确定NLU结果包括不足以允许启用语音的应用执行有效动作的信息时启动,但是在一些实施例中,处理第二音频可以在确定第一音频的NLU结果包括这样的不足信息之前启动。例如,第二音频中的至少一些的处理可以在处理第一音频之后立即(或紧接其后)开始,使得处理第一音频和处理第二音频之间的时间短。在一些实施例中,第二音频的处理可以附加地或替代地由任何合适的触发器(包括但不限于,检测到用户已经恢复讲话的证据)来启动。在一些实施例中,事件的组合可以触发对第二音频的处理。无论触发第二音频处理的(一个或多个)事件如何,第二音频中的信息都可以补充第一音频中的信息,以降低对于启用语音的应用的过早的终点判定,如下面更详细讨论的。
第二音频可以具有任何合适的持续时间。在一些实施例中,第二音频可以包括固定时间量(例如,三秒)的音频,而在其它实施例中,第二音频可以包括可变时间量(例如,基于检测到第二音频中语音的结束)的音频。过程然后进行到动作322,其中确定第二音频是否包括语音。确定第二音频是否包括语音可以以任何合适的方式进行,例如,使用用于检测音频记录中的语音的众所周知的技术。
如果在动作322中确定第二音频不包括语音,则过程前进到动作324,其中第二音频被丢弃并且过程结束。如果确定第二音频包括语音,则过程进行到动作326,其中对第二音频的至少一部分执行ASR以生成第二ASR结果。在一些实施例中,至少部分基于对第一音频的至少一部分和第二音频的至少一部分的分析来生成第二ASR结果。在其它实施例中,仅基于对第二音频的至少一部分的分析来生成第二ASR结果。可以在任何合适的时间对第二音频的至少一部分执行ASR,并且实施例在这方面不受限制。例如,可以在检测到第二音频中的语音之后的任何时间执行ASR,使得可以在接收到整个第二音频之前开始ASR处理。
过程然后进行到动作328,其中至少部分地基于第一ASR结果和/或第二ASR结果来执行NLU。在一些实施例中,可以仅基于第二ASR结果来执行NLU以生成第二NLU结果,并且第二NLU结果可以与在动作318中生成的第一NLU结果组合以产生用于由启用语音的应用解释的组合NLU结果。在其它实施例中,NLU系统可以接收第一ASR结果和第二ASR结果两者,并且可以在对组合的ASR结果执行NLU之前将ASR结果进行组合。在还有的其它实施例中,如以上所讨论的,可以至少部分地基于第一音频的一部分和第二音频的至少一部分来生成第二ASR结果。后两种方法的好处在于由NLU系统处理的ASR结果对于NLU系统看起来就像它从单个话语中识别出的,并且因此可以更可能生成可以由启用语音的应用进行解释以执行有效操作的NLU结果。
如以上结合图2的过程所讨论的,一些实施例被配置为响应于确定接收到的第一音频不包括足以允许启用语音的应用执行有效动作的信息而处理第二音频。确定接收到的第一音频包括不足以允许启用语音的应用执行有效动作的信息可以以任何合适的方式进行,包括但不限于,从NLU系统接收与接收到的第一音频对应的包括这种不足信息的NLU结果。
发明人已识别出并认识到,在对客户端设备可访问的本地存储装置中存储或“高速缓存”一个或多个前缀可以在缺省的超时值(例如,三秒)用于终点判定的情况下,便于识别可能包括不足以允许启用语音的应用执行有效动作的信息的音频。例如,已知与用户暂停相关联的共同和/或频繁使用的前缀可以由客户端设备在本地存储,并且在接收到的音频中识别本地存储的前缀可以减少过早的终点判定。相应地,在一些实施例中,可以将与接收到的音频对应的ASR结果与本地存储在客户端设备上的一个或多个前缀进行比较,并且可以至少部分地基于与匹配的本地存储的前缀相关联的阈值时间动态地调整用于终点判定的阈值时间,如下面更详细讨论的。通过基于特定的检测到的前缀动态地调整用于终点判定的阈值时间,可以降低过早的终点判定发生的次数。例如,经常与在该前缀之后的用户暂停相关联的前缀可以与较长的阈值时间相关联,从而在终点判定之前允许那些话语有较长的音频记录时间。此外,由于没有对所有话语延长阈值时间,因此与语音识别和/或自然语言处理相关联的延时没有显著增加,从而导致比在对所有话语增加阈值时间的情况下的更为理想的用户体验。
图4图示了根据一些实施例的用于动态地调整用于终点判定的阈值时间的过程。在动作410中,接收到(例如,来自麦克风的)音频。该过程然后进行到动作412,其中分析接收到的音频(例如,通过ASR处理和/或NLU处理)以确定音频是否包括本地存储的前缀。如以上所讨论的,一个或多个前缀可以被本地存储在被配置为接收语音输入的客户端设备上。本地存储的(一个或多个)前缀可以包括经常跟着可能引起终点判定过程超时的暂停的任何合适的前缀。例如,某些前缀(诸如“去往…”)经常跟着讲话者考虑接下来要说什么时的暂停。在一些实施例中,前缀“去往…”和/或其它合适的前缀可以被本地存储在客户端设备上。
接收到的音频可以以任何合适的方式被处理并且与本地存储的(一个或多个)前缀进行比较,并且实施例在这方面不受限制。例如,接收到的音频的至少一部分可以由ASR引擎处理,并且从ASR引擎输出的ASR结果可以与本地存储的前缀进行比较,以确定ASR结果是否与任何本地存储的前缀匹配。ASR处理和比较应该足够快地发生,以便如果识别出与本地存储的前缀的匹配,则即时(on thefly)更改用于终点判定的超时值。例如,如果用于终点判定的缺省超时是三秒,则高速缓存的前缀查找应该优选地花费少于3秒,以使得用于终点判定的超时值能够在适当的情况下基于接收到的音频中的高速缓存前缀的识别而被延长。
在一些实施例中,ASR引擎可以处理第一音频的多个短时间段(例如,20ms),以促进至少部分地基于接收到的音频的至少一部分确定ASR结果的速度。随着更多的音频被接收到,ASR处理可以不断地更新从ASR引擎输出的ASR结果。在这个过程期间,从ASR引擎输出的当前ASR结果可以与高速缓存的前缀进行比较,以尝试识别匹配。至少部分地并行地执行ASR过程和比较过程还可以加快在接收到的音频中识别本地存储的前缀的过程。
如果在动作412中确定接收到的音频不包括本地存储的前缀,则过程结束,并且使用用于终点判定的缺省超时值。如果在动作412中确定接收到的音频包括本地存储的前缀,则过程进行到动作414,其中用于终点判定的超时值至少部分地基于与识别出的本地存储的前缀相关联的阈值时间来动态地设定。
本地存储的前缀及其相关联的阈值时间可以使用一个或多个数据结构以任何合适的方式存储,并且该一个或多个数据结构可以被周期性地和/或响应于这样做的请求来更新。存储的前缀及其对应的阈值时间可以以任何合适的方式来确定,并且可以是与用户无关的和/或特定于用户的。例如,本地存储的前缀可以至少部分地基于多个用户的ASR数据来确定,以识别引起ASR超时的最常见的前缀。在一些实施例中,可以基于个体用户行为来更新基于用户无关的数据分析的初始前缀集合。在其它实施例中,可以不使用用户无关的前缀集合,并且前缀的本地高速缓存可以通过手动选择或对在其上执行ASR的客户端设备进行编程来确定和/或前缀的高速缓存可以仅在用户已使用客户端设备特定时间量之后才建立,以使得高速缓存能够基于用户的个体行为用适当的前缀进行填充。在一些实施例中,本地存储的高速缓存可以包括基于用户无关的数据分析确定的一个或多个第一前缀以及基于特定于用户的数据分析确定的一个或多个第二前缀。不是所有的实施例都需要使用用户无关的前缀和特定于用户的前缀,因为一些实施例可以仅包括特定于用户的前缀,一些实施例可以仅包括用户无关的前缀,并且其它实施例可以既包括特定于用户的前缀又包括用户无关的前缀。
如以上所讨论的,每个本地存储的前缀可以与适合用作前缀的终点判定超时值的阈值时间相关联。用于每个前缀的阈值时间可以以任何合适的方式来确定,并且阈值时间中的一个或多个可以是用户无关的和/或特定于用户的,如以上所讨论的。在一些实施例中,用于本地存储的前缀的阈值时间至少部分地基于对发出该前缀的多个讲话者的暂停长度的分析确定。例如,用于前缀“去往…”的阈值时间可以至少部分地基于使用针对说出该前缀的不同讲话者的1000个话语的平均暂停长度来确定。与本地存储的前缀相关联的阈值时间可以随着从多个讲话者和/或从个体讲话者接收到针对特定前缀的更多数据而以任何合适的间隔进行更新。通过从各个讲话者确定前缀的阈值时间,可以为讲话者建立用于每个前缀的合适的阈值时间,从而提供适应特定讲话者的讲话风格的、具有降低的过早终点判定的ASR系统。
在客户端设备上执行ASR和NLU两者提供了低延时,并且即使当与服务器的网络连接不可用时也能工作。但是,服务器经常包括比客户端设备更多的处理和/或存储资源,这可能导致与基于客户端的ASR处理和/或NLU处理相比更好的准确性。混合ASR或NLU系统试图通过在客户端-服务器环境中的客户端和服务器之间分布ASR处理和/或NLU处理来权衡准确度与处理延时。
发明人已识别出并认识到,基于服务器的NLU系统的增加的延时和间歇性服务器不可用性是造成用户对这种系统的挫折感的一个因素。为了提高对在服务器上执行至少一些NLU处理的基于语音的系统的用户体验,一些实施例在客户端设备上本地存储近期和/或频繁话语的表示(例如,话语的ASR结果)和与这些表示相关联的NLU结果。通过本地高速缓存针对近期和/或频繁话语的NLU结果,即使客户端设备本身不执行任何NLU处理,也可以在客户端设备上快速获得对应的NLU结果。
图5图示了根据一些实施例的用于在客户端-服务器体系架构中的客户端设备上存储针对一个或多个近期和/或频繁话语的NLU结果的过程。在动作510中,通过ASR过程来生成针对包括语音的第一音频的ASR结果。可以使用客户端设备和/或服务器上的ASR引擎完全或部分地执行ASR过程。该过程然后进行到动作512,其中服务器执行NLU过程以至少部分地基于ASR结果来生成NLU结果。NLU结果然后返回给客户端设备。
在生成NLU结果之后,过程进行到动作514,其中确定是否将生成的NLU结果存储在与客户端设备相关联的本地存储装置中。确定是否在本地高速缓存生成的NLU结果可以基于一个或多个因素,包括但不限于,从服务器多么频繁地接收到NLU结果、客户端设备的可用存储资源、以及话语使用多么靠近当前。例如,在一些实施例中,假设客户端设备具有足够的存储资源,则可以在客户端设备上本地高速缓存前24小时时段内的所有话语的表示及其对应的NLU结果。在其它实施例中,在特定时间段内被频繁地(例如,在过去24小时内五次)识别出的话语的表示可以与它们对应的NLU结果一起在本地高速缓存,而在相同的时间段内较不频繁地(例如,在过去24小时内一次)识别出的话语的表示及它们的NLU结果可以不在本地高速缓存。可以使用任何合适的(一个或多个)标准来建立用于确定何时在客户端设备上本地高速缓存话语的表示及其NLU结果的界限,并且前述非限制性示例仅仅是为了说明而提供的。
如果在动作514中确定不在本地高速缓存NLU结果,则过程结束。如果在动作514中确定在本地高速缓存NLU结果,则过程进行到动作516,其中话语的表示(例如,与话语相关联的ASR输出)和从服务器返回的对应的NLU结果被存储在本地存储装置中。例如,话语的表示及其对应的NLU结果可以被添加到存储在本地存储装置上的一个或多个数据结构。在一些实施例中,可以附加地创建使得能够由客户端设备进行快速且高度受限的ASR处理的小型本地语法,以在识别频繁发生的话语时使用。但是,应该认识到的是,不是所有的实施例都需要创建语法,并且本发明的方面在这方面不受限制。
图6图示了根据一些实施例的用于使用本地高速缓存的NLU结果的过程。在动作610中,客户端设备对包括语音的音频执行ASR过程以产生ASR结果。该过程然后进行到动作612,其中确定ASR结果是否包括由客户端设备本地存储的话语的一个或多个表示中的任一个。
如果在动作612中确定ASR结果不包括任何高速缓存的话语表示,则该过程结束。否则,如果在动作612中确定ASR结果包括本地存储的话语表示,则过程进行到动作614,其中将与识别出的本地存储的话语表示相关联的高速缓存的NLU结果提交给启用语音的应用以允许启用语音的应用至少部分地基于本地高速缓存的NLU结果来执行一个或多个有效动作。例如,如果标识出的本地存储的话语表示是“在家时呼叫Bob”,则客户端设备可以访问客户端设备上的联系人列表以确定联系人“Bob”的家庭电话号码,并且电话呼叫可以由电话应用向那个电话号码发起。通过在客户端设备上本地高速缓存至少一些NLU结果,对客户端设备上基于NLU的应用的用户体验由于NLU结果的可用性增加并且与获得NLU结果相关联的延时降低而得到改善。此外,与一些ASR结果相关联的一个或多个动作可以存储在客户端设备上。通过经由本文描述的技术直接访问存储的动作,即使客户端设备不具有NLU处理能力,客户端设备也可以看起来像对频繁的话语执行NLU处理。
虽然上述高速缓存NLU结果的示例描述了高速缓存近期和/或频繁的NLU结果,但是应该认识到的是,可以附加地或替代地在客户端设备上本地高速缓存任何合适类型的NLU结果。例如,在一些实施例中,针对与紧急情况对应的话语(例如,“呼叫消防部门”)的NLU结果由于其重要性可以在本地高速缓存。
一些实施例涉及包括在客户端设备上执行的诸如虚拟助理软件的启用语音的应用的基于NLU的系统。发明人已识别出并认识到,用户经常难以获知用于与一些启用语音的应用交互的可用选项,并且经常通过试验和犯错或者通过阅读应用的发布备注来获知。一些实施例涉及这样的技术,其用于训练用户关于他们可以对启用语音的应用说什么的选项,同时通过在客户端设备的用户界面上显示动态生成的提示来提供实时反馈来同时帮助用户完成正在进行的输入。
图7示出了根据一些实施例的用于在客户端设备的用户界面上显示动态生成的提示的说明性过程。在动作710中,至少部分地基于针对第一音频确定的ASR结果来创建第一提示。例如,如果ASR结果是“创建会议”,则可以生成第一提示,诸如在“进行在<天>从<开始时间>到<结束时间>题为<指示>的会议”。过程然后进行到动作712,其中在客户端设备的用户界面上显示第一提示。通过向客户端设备的用户显示第一提示,客户端意识到启用语音的应用正在期望接收的话语的结构和组成部分,以能够执行动作,诸如安排会议。
在用户界面上显示第一提示之后,过程进行到动作714,其中包括语音的第二音频被客户端设备接收到。例如,用户可以说“在星期五一点进行会议”。过程然后进行到动作716,其中至少部分地基于与第二音频对应的ASR结果来创建第二提示。例如,继续这个示例,第二提示可以是“进行星期五1点<持续时间>题为<指示>的会议”。然后过程进行到动作718,其中在客户端设备的用户界面上显示第二提示。通过动态地更新向用户显示的提示,用户获知如何与启用语音的应用交互并且理解在当前的话语中必须向启用语音的应用提供哪些附加信息以执行特定动作。教导用户说特定的词语,诸如“题为”可以便于话语的解析,以可靠地将话语分离成其组成片段,从而改善ASR过程和/或NLU过程。
在一些实施例中,至少一些接收到的第二音频可以由ASR引擎和/或NLU引擎至少部分地基于当前或先前显示的提示来处理。例如,以上示例中的第二音频可以由ASR引擎使用将语音识别限制为第一提示的组成部分的语法来处理,这可以提高第二音频的ASR准确度。
本发明的上述实施例可以以多种方式中的任何一种来实现。例如,实施例可以使用硬件、软件或其组合来实现。当用软件实现时,软件代码可以在任何合适的处理器或处理器集合上执行,不管这些处理器或处理器集合是在单个计算机中提供还是分布在多个计算机之间。应该认识到的是,执行上述功能的任何部件或部件集合通常可以被认为是控制上述功能的一个或多个控制器。一个或多个控制器可以以多种方式来实现,诸如用专用硬件或者用通用硬件(例如,一个或多个处理器),其使用微代码或软件进行编程以执行上述功能。
在这方面,应该认识到的是,本发明的实施例的一个实现包括编码有计算机程序(即,多条指令)的至少一个非瞬态计算机可读存储介质(例如,计算机存储器、USB驱动器、闪存存储器、光盘等),当在处理器上被执行时,该计算机程序执行本发明的实施例的上述功能。计算机可读存储介质可以是可移动的,使得存储在其上的程序可以被加载到任何计算机资源上,以实现本文讨论的本发明的各方面。此外,应该认识到的是,对当被执行时执行以上讨论的功能的计算机程序的引用不限于在主机计算机上运行的应用程序。相反,术语计算机程序在本文中以一般意义使用来指示可以被采用来编程处理器以实现本发明以上讨论的各方面的任何类型的计算机代码(例如,软件或微代码)。
本发明的各个方面可以被单独使用、组合使用、或者在前面描述的实施例中没有具体讨论的各种布置中使用,并且因此不限制其应用到前面描述或附图中图示的部件的细节和布置。例如,在一个实施例中描述的方面可以以任何方式与在其它实施例中描述的各方面组合。
而且,本发明的实施例可以被实现为已经提供了示例的一个或多个方法。作为(一个或多个)方法的一部分执行的动作可以以任何合适的方式排序。相应地,可以构造实施例,其中动作按照与图示不同的次序执行,其可以包括同时执行一些动作,即使这些动作在说明性实施例中被示出为顺序的动作。
在权利要求中使用诸如“第一”和“第二”等序数术语来修改权利要求要素本身并不意味着一个权利要求要素相对于另一个权利要求要素的任何优先级、优先顺序或次序,或者按其执行方法的动作的时间次序。这些术语仅仅用作标签来区分具有特定名称的一个权利要求要素与具有相同名称的另一个要素(除了使用序数术语之外)。
本文使用的措辞和术语是为了描述的目的,并且不应该被认为是限制性的。“包括”、“含有”、“具有”、“包含”、“涉及”及其变体的使用意味着涵盖其后列出的项目和附加的项目。
已经详细描述了本发明的若干实施例,本领域技术人员将容易想到各种修改和改进。这样的修改和改进旨在在本发明的精神和范围内。相应地,前面的描述仅仅是作为示例,而不旨在是限制性的。本发明仅由以下权利要求及其等同物限定。

Claims (20)

1.一种计算设备,所述计算设备包括安装在其上的启用语音的应用,所述计算设备包括:
输入接口,被配置为从所述计算设备的用户接收包括语音的第一音频;
自动语音识别(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所述的计算设备,其中所述输入接口还被配置为接收第二音频,其中所述ASR引擎还被配置为处理第二音频以生成第二ASR结果,并且其中所述至少一个处理器还被编程为:
至少部分地基于所述第一ASR结果和/或所述第二ASR结果来创建第二提示,其中所述第二提示向用户提示与能够由所述启用语音的应用执行的有效动作对应的语音输入;以及
经由所述计算设备的用户界面呈现所述第二提示。
13.如权利要求11所述的计算设备,其中经由用户界面呈现所述第一提示包括在所述用户界面上可视地显示所述第一提示,并且其中所述第一提示提示向第一音频补充用于执行有效动作的附加信息。
14.如权利要求11所述的计算设备,其中所述输入接口还被配置为接收第二音频,其中所述ASR引擎还被配置为处理所述第二音频,其中处理所述第二音频包括至少部分地基于包括在所述第一提示中的信息对所述第二音频执行ASR处理。
15.如权利要求1所述的计算设备,还包括:
至少一个存储设备,被配置为存储至少一个数据结构,所述至少一个数据结构包括描述多个自然语言理解(NLU)结果和用于生成所述多个NLU结果的对应ASR输出的信息;
其中所述至少一个处理器还被编程为:
确定是否将所述第一ASR结果和使用所述第一ASR结果生成的对应NLU结果添加到存储在所述至少一个存储设备上的所述至少一个数据结构;以及
响应于确定应该添加所述第一ASR结果和所述对应NLU结果,将所述第一ASR结果和使用所述第一ASR结果生成的对应NLU结果添加到存储在所述至少一个存储设备上的所述至少一个数据结构。
16.如权利要求15所述的计算设备,其中确定是否将所述第一ASR结果和使用所述第一ASR结果生成的对应NLU结果添加到所述至少一个数据结构包括:
确定所述计算设备已经从远离所述计算设备的NLU引擎接收到对应NLU结果的次数;以及
当所述计算设备已经接收到所述对应NLU结果的次数超过阈值时,确定所述第一ASR结果和所述对应NLU结果应该被添加到所述至少一个数据结构中。
17.如权利要求15所述的计算设备,其中所述输入接口还被配置为从所述计算设备的用户接收包含语音的第三音频,其中所述ASR引擎还被配置为至少部分地基于所述第三音频的至少一部分生成第二ASR结果,并且其中所述处理器还被编程为:
识别存储在所述至少一个数据结构中的与所述第二ASR结果对应的ASR输出;以及
将与识别出的存储在所述至少一个数据结构中的ASR输出对应的NLU结果提交给所述启用语音的应用,以使得所述启用语音的应用能够基于提交的NLU结果来执行动作。
18.如权利要求17所述的计算设备,其中所述至少一个处理器被编程为将与所述识别出的存储在所述至少一个数据结构中的ASR输出对应的NLU结果提交给所述至少一个数据结构而不向远离所述计算设备的NLU引擎发送对所述第三音频的远程NLU处理的请求。
19.一种方法,包括:
由计算设备的输入接口接收包括来自所述计算设备的用户的语音的第一音频;
由所述计算设备的自动语音识别(ASR)引擎检测所述第一音频中的语音的结束;
由所述ASR引擎至少部分地基于所述第一音频在检测到的语音的结束之前的一部分来生成ASR结果;
确定安装在所述计算设备上的启用语音的应用是否能够使用所述ASR结果执行有效动作;以及
当确定所述启用语音的应用不能使用所述ASR结果执行有效动作时,指令所述ASR引擎处理第二音频。
20.一种编码有多条指令的计算机可读存储介质,当被计算设备执行时,所述指令执行一种方法,所述方法包括:
接收包括来自所述计算设备的用户的语音的第一音频;
检测所述第一音频中的语音的结束;
至少部分地基于所述第一音频在检测到的语音的结束之前的一部分来生成ASR结果;
确定安装在所述计算设备上的启用语音的应用是否能够使用所述ASR结果执行有效动作;以及
当确定所述启用语音的应用不能使用所述ASR结果执行有效动作时,处理第二音频。
CN201680043832.9A 2015-05-26 2016-05-23 用于降低语音识别应用中的延时的方法和装置 Pending CN107851435A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/721,252 US9666192B2 (en) 2015-05-26 2015-05-26 Methods and apparatus for reducing latency in speech recognition applications
US14/721,252 2015-05-26
PCT/US2016/033736 WO2016191352A1 (en) 2015-05-26 2016-05-23 Methods and apparatus for reducing latency in speech recognition applications

Publications (1)

Publication Number Publication Date
CN107851435A true CN107851435A (zh) 2018-03-27

Family

ID=56116560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680043832.9A Pending CN107851435A (zh) 2015-05-26 2016-05-23 用于降低语音识别应用中的延时的方法和装置

Country Status (3)

Country Link
US (2) US9666192B2 (zh)
CN (1) CN107851435A (zh)
WO (1) WO2016191352A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111899737A (zh) * 2020-07-28 2020-11-06 上海喜日电子科技有限公司 音频数据处理方法、装置、服务器及存储介质
CN111986654A (zh) * 2020-08-04 2020-11-24 云知声智能科技股份有限公司 降低语音识别系统延时的方法及系统
CN112259108A (zh) * 2020-09-27 2021-01-22 科大讯飞股份有限公司 一种引擎响应时间的分析方法及电子设备、存储介质
WO2021063101A1 (zh) * 2019-09-30 2021-04-08 华为技术有限公司 基于人工智能的语音断点检测方法、装置和设备

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9666192B2 (en) * 2015-05-26 2017-05-30 Nuance Communications, Inc. Methods and apparatus for reducing latency in speech recognition applications
US10559303B2 (en) * 2015-05-26 2020-02-11 Nuance Communications, Inc. Methods and apparatus for reducing latency in speech recognition applications
KR101942521B1 (ko) 2015-10-19 2019-01-28 구글 엘엘씨 음성 엔드포인팅
US10269341B2 (en) 2015-10-19 2019-04-23 Google Llc Speech endpointing
US20170365249A1 (en) * 2016-06-21 2017-12-21 Apple Inc. System and method of performing automatic speech recognition using end-pointing markers generated using accelerometer-based voice activity detector
KR20180084394A (ko) * 2017-01-17 2018-07-25 삼성전자주식회사 발화 완료 감지 방법 및 이를 구현한 전자 장치
CN107146602B (zh) * 2017-04-10 2020-10-02 北京猎户星空科技有限公司 一种语音识别方法、装置及电子设备
CN110392913B (zh) 2017-05-16 2023-09-29 谷歌有限责任公司 在共用的启用语音的装置上处理呼叫
WO2018226779A1 (en) 2017-06-06 2018-12-13 Google Llc End of query detection
US10929754B2 (en) 2017-06-06 2021-02-23 Google Llc Unified endpointer using multitask and multidomain learning
CN107195303B (zh) * 2017-06-16 2021-08-20 云知声智能科技股份有限公司 语音处理方法及装置
KR102445382B1 (ko) * 2017-07-10 2022-09-20 삼성전자주식회사 음성 처리 방법 및 이를 지원하는 시스템
KR102412523B1 (ko) 2017-07-18 2022-06-24 삼성전자주식회사 음성 인식 서비스 운용 방법, 이를 지원하는 전자 장치 및 서버
WO2019031268A1 (ja) * 2017-08-09 2019-02-14 ソニー株式会社 情報処理装置、及び情報処理方法
US10453454B2 (en) * 2017-10-26 2019-10-22 Hitachi, Ltd. Dialog system with self-learning natural language understanding
CN107919130B (zh) * 2017-11-06 2021-12-17 百度在线网络技术(北京)有限公司 基于云端的语音处理方法和装置
CN110111793B (zh) * 2018-02-01 2023-07-14 腾讯科技(深圳)有限公司 音频信息的处理方法、装置、存储介质及电子装置
JP7431163B2 (ja) 2018-02-09 2024-02-14 ヴィスタゲン セラピューティクス、インコーポレイテッド 4-クロロキヌレニンおよび中間体の合成
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US10923122B1 (en) * 2018-12-03 2021-02-16 Amazon Technologies, Inc. Pausing automatic speech recognition
JP7286772B2 (ja) * 2018-12-28 2023-06-05 グーグル エルエルシー 選択されたサジェスチョンによる自動アシスタントへのボイス入力の補足
KR20200099036A (ko) * 2019-02-13 2020-08-21 삼성전자주식회사 음성 인식 기능을 이용한 동작을 수행하는 전자 장치 및 이를 이용한 동작과 관련된 알림을 제공하는 방법
KR20200107058A (ko) 2019-03-06 2020-09-16 삼성전자주식회사 복수 개의 엔드 포인트가 포함된 플랜들을 처리하는 방법 및 그 방법을 적용한 전자 장치
JP7151606B2 (ja) * 2019-04-17 2022-10-12 日本電信電話株式会社 コマンド解析装置、コマンド解析方法、プログラム
CN110534109B (zh) * 2019-09-25 2021-12-14 深圳追一科技有限公司 语音识别方法、装置、电子设备及存储介质
EP4191577A4 (en) * 2020-09-25 2024-01-17 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND ASSOCIATED CONTROL METHOD
CN112382285B (zh) * 2020-11-03 2023-08-15 北京百度网讯科技有限公司 语音控制方法、装置、电子设备和存储介质
KR20220112596A (ko) * 2021-02-04 2022-08-11 삼성전자주식회사 음성 인식을 지원하는 전자 장치 및 그 동작 방법
CN113744726A (zh) * 2021-08-23 2021-12-03 阿波罗智联(北京)科技有限公司 语音识别方法、装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080096A1 (en) * 2004-09-29 2006-04-13 Trevor Thomas Signal end-pointing method and system
CN1773605A (zh) * 2004-11-12 2006-05-17 中国科学院声学研究所 一种应用于语音识别系统的语音端点检测方法
CN101681621A (zh) * 2007-05-17 2010-03-24 微软公司 语音识别宏运行时环境
US7720683B1 (en) * 2003-06-13 2010-05-18 Sensory, Inc. Method and apparatus of specifying and performing speech recognition operations
CN102509548A (zh) * 2011-10-09 2012-06-20 清华大学 一种基于多距离声传感器的音频索引方法
CN103578470A (zh) * 2012-08-09 2014-02-12 安徽科大讯飞信息科技股份有限公司 一种电话录音数据的处理方法及系统

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535851B1 (en) * 2000-03-24 2003-03-18 Speechworks, International, Inc. Segmentation approach for speech recognition systems
US7194409B2 (en) 2000-11-30 2007-03-20 Bruce Balentine Method and system for preventing error amplification in natural language dialogues
US8229753B2 (en) * 2001-10-21 2012-07-24 Microsoft Corporation Web server controls for web enabled recognition and/or audible prompting
US20040121812A1 (en) * 2002-12-20 2004-06-24 Doran Patrick J. Method of performing speech recognition in a mobile title line communication device
US8363865B1 (en) 2004-05-24 2013-01-29 Heather Bottum Multiple channel sound system using multi-speaker arrays
JP2009500656A (ja) 2005-06-30 2009-01-08 エルジー エレクトロニクス インコーポレイティド オーディオ信号をエンコーディング及びデコーディングするための装置とその方法
US9088855B2 (en) 2006-05-17 2015-07-21 Creative Technology Ltd Vector-space methods for primary-ambient decomposition of stereo audio signals
US8204237B2 (en) 2006-05-17 2012-06-19 Creative Technology Ltd Adaptive primary-ambient decomposition of audio signals
US20080219466A1 (en) 2007-03-09 2008-09-11 Her Majesty the Queen in Right of Canada, as represented by the Minister of Industry, through Low bit-rate universal audio coder
US8588427B2 (en) 2007-09-26 2013-11-19 Frauhnhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for extracting an ambient signal in an apparatus and method for obtaining weighting coefficients for extracting an ambient signal and computer program
US8831936B2 (en) 2008-05-29 2014-09-09 Qualcomm Incorporated Systems, methods, apparatus, and computer program products for speech signal processing using spectral contrast enhancement
US9922640B2 (en) * 2008-10-17 2018-03-20 Ashwin P Rao System and method for multimodal utterance detection
ES2733878T3 (es) 2008-12-15 2019-12-03 Orange Codificación mejorada de señales de audio digitales multicanales
US8457963B2 (en) * 2009-03-31 2013-06-04 Promptu Systems Corporation Mechanism for providing user guidance and latency concealment for automatic speech recognition systems
US8762150B2 (en) * 2010-09-16 2014-06-24 Nuance Communications, Inc. Using codec parameters for endpoint detection in speech recognition
EP2464145A1 (en) 2010-12-10 2012-06-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for decomposing an input signal using a downmixer
WO2012160472A1 (en) 2011-05-26 2012-11-29 Koninklijke Philips Electronics N.V. An audio system and method therefor
US9549253B2 (en) 2012-09-26 2017-01-17 Foundation for Research and Technology—Hellas (FORTH) Institute of Computer Science (ICS) Sound source localization and isolation apparatuses, methods and systems
US9437186B1 (en) * 2013-06-19 2016-09-06 Amazon Technologies, Inc. Enhanced endpoint detection for speech recognition
US9514747B1 (en) * 2013-08-28 2016-12-06 Amazon Technologies, Inc. Reducing speech recognition latency
US9613619B2 (en) * 2013-10-30 2017-04-04 Genesys Telecommunications Laboratories, Inc. Predicting recognition quality of a phrase in automatic speech recognition systems
US9767846B2 (en) 2014-04-29 2017-09-19 Frederick Mwangaguhunga Systems and methods for analyzing audio characteristics and generating a uniform soundtrack from multiple sources
CN105336332A (zh) 2014-07-17 2016-02-17 杜比实验室特许公司 分解音频信号
US9558740B1 (en) * 2015-03-30 2017-01-31 Amazon Technologies, Inc. Disambiguation in speech recognition
US9484021B1 (en) * 2015-03-30 2016-11-01 Amazon Technologies, Inc. Disambiguation in speech recognition
US10559303B2 (en) * 2015-05-26 2020-02-11 Nuance Communications, Inc. Methods and apparatus for reducing latency in speech recognition applications
US9666192B2 (en) * 2015-05-26 2017-05-30 Nuance Communications, Inc. Methods and apparatus for reducing latency in speech recognition applications
US10121471B2 (en) * 2015-06-29 2018-11-06 Amazon Technologies, Inc. Language model speech endpointing
US10134388B1 (en) * 2015-12-23 2018-11-20 Amazon Technologies, Inc. Word generation for speech recognition

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7720683B1 (en) * 2003-06-13 2010-05-18 Sensory, Inc. Method and apparatus of specifying and performing speech recognition operations
US20060080096A1 (en) * 2004-09-29 2006-04-13 Trevor Thomas Signal end-pointing method and system
CN1773605A (zh) * 2004-11-12 2006-05-17 中国科学院声学研究所 一种应用于语音识别系统的语音端点检测方法
CN101681621A (zh) * 2007-05-17 2010-03-24 微软公司 语音识别宏运行时环境
CN102509548A (zh) * 2011-10-09 2012-06-20 清华大学 一种基于多距离声传感器的音频索引方法
CN103578470A (zh) * 2012-08-09 2014-02-12 安徽科大讯飞信息科技股份有限公司 一种电话录音数据的处理方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021063101A1 (zh) * 2019-09-30 2021-04-08 华为技术有限公司 基于人工智能的语音断点检测方法、装置和设备
CN111899737A (zh) * 2020-07-28 2020-11-06 上海喜日电子科技有限公司 音频数据处理方法、装置、服务器及存储介质
CN111986654A (zh) * 2020-08-04 2020-11-24 云知声智能科技股份有限公司 降低语音识别系统延时的方法及系统
CN111986654B (zh) * 2020-08-04 2024-01-19 云知声智能科技股份有限公司 降低语音识别系统延时的方法及系统
CN112259108A (zh) * 2020-09-27 2021-01-22 科大讯飞股份有限公司 一种引擎响应时间的分析方法及电子设备、存储介质
CN112259108B (zh) * 2020-09-27 2024-05-31 中国科学技术大学 一种引擎响应时间的分析方法及电子设备、存储介质

Also Published As

Publication number Publication date
WO2016191352A1 (en) 2016-12-01
US20200175990A1 (en) 2020-06-04
US20160351196A1 (en) 2016-12-01
US10832682B2 (en) 2020-11-10
US9666192B2 (en) 2017-05-30

Similar Documents

Publication Publication Date Title
CN107851435A (zh) 用于降低语音识别应用中的延时的方法和装置
US9998597B2 (en) Systems and methods for facilitating communication using an interactive communication system
KR102373905B1 (ko) 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축
JP6789320B2 (ja) 選択的に辿ることが可能な状態機械のパーソナルアシスタントモジュールへの提供
US10559303B2 (en) Methods and apparatus for reducing latency in speech recognition applications
US11363140B2 (en) Systems and methods for operating an interactive voice response system
JP2013541042A (ja) 音声対応アプリケーション・プログラムに入力を与える方法および装置
CN108028044A (zh) 使用多个识别器减少延时的语音识别系统
US11677871B2 (en) Methods and apparatus for bypassing holds
JP2021089438A (ja) 呼び出しフレーズの検出における雑音低減技術の選択的適応および利用
EP4393144A1 (en) Determination and visual display of spoken menus for calls
US11557281B2 (en) Confidence classifier within context of intent classification
US11146678B2 (en) Determining the context of calls
US11533283B1 (en) Voice user interface sharing of content
CN115620720A (zh) 会话静音的方法、装置、电子设备及计算机可读存储介质
WO2023027833A1 (en) Determination and visual display of spoken menus for calls

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180327

WD01 Invention patent application deemed withdrawn after publication