[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN107430852B - 在支持语音的电子设备中对语音输入的在线处理的选择性中止 - Google Patents

在支持语音的电子设备中对语音输入的在线处理的选择性中止 Download PDF

Info

Publication number
CN107430852B
CN107430852B CN201680018124.XA CN201680018124A CN107430852B CN 107430852 B CN107430852 B CN 107430852B CN 201680018124 A CN201680018124 A CN 201680018124A CN 107430852 B CN107430852 B CN 107430852B
Authority
CN
China
Prior art keywords
voice
online
query processor
processing
input
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.)
Active
Application number
CN201680018124.XA
Other languages
English (en)
Other versions
CN107430852A (zh
Inventor
成相洙
高宇立
普拉塔博·穆鲁格桑
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN107430852A publication Critical patent/CN107430852A/zh
Application granted granted Critical
Publication of CN107430852B publication Critical patent/CN107430852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • 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/26Speech to text 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/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/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

每当确定针对支持语音的电子设备的语音输入能够被设备成功地本地处理,则选择性地中止对针对支持语音的电子设备的语音输入的在线处理。这样做在某些实例下可以减少响应语音输入的时延。

Description

在支持语音的电子设备中对语音输入的在线处理的选择性 中止
背景技术
基于语音的用户接口越来越多地用于计算机和其他电子设备的控制。基于语音的用户接口的一个特别有用的应用是便携式电子设备,诸如移动电话、手表、平板计算机、头戴式设备、虚拟现实或增强现实设备等。另一个有用的应用是车载电子系统,诸如包含导航和音频能力的汽车系统。这样的应用通常特征在于非传统的形状因素,其限制了更传统的键盘或触摸屏输入的利用和/或期望鼓励用户专注于其他任务上——例如当用户驾驶或步行时的情形中的使用。
基于语音的用户接口从早期的基本接口——其只能理解简单和直接的命令——持续发展到更复杂的接口——其对自然语言请求做出响应以及可以理解场境(context)并管理与用户的来回对话或会话。许多基于语音的用户接口包含将人类语音的音频记录转换为文本的初始话音转文本(或语音转文本)转换,以及分析文本以尝试确定用户的请求的含义的语义分析。基于用户的已记录语音的所确定含义,可以采取诸如执行搜索或以其他方式控制计算机或其他电子设备的动作。
基于语音的用户接口的计算资源需求——例如在处理器和/或存储器资源方面——可能是大量的并且作为结果,一些常规的基于语音的用户接口方式采用客户端-服务器架构,其中由相对低功率的客户端设备接收和记录语音输入,通过诸如互联网的网络将该记录传送到用于话音转文本转换和语义处理的在线服务,并且由该在线服务生成适当的响应并将其传送回到客户端设备。在线服务可以投入大量的计算资源来处理语音输入,使得能够实现比否则在客户端设备内本地实现的更复杂的话音识别和语义分析功能。然而,在处理语音输入时,客户端-服务器方式必需要求客户端在线(即,与在线服务通信)。特别是在移动应用和汽车应用中,在任何时间和所有地点可能无法保证持续在线连接,因此每当该设备“离线”并且因此不连接到在线服务时基于语音的客户端-服务器用户接口在客户端设备中可能会被禁用。此外,即使当设备连接到在线服务时,考虑到客户端设备和在线服务之间的双向通信的需要,与语音输入的在线处理相关联的时延可能是用户不期望察觉到的。
发明内容
本说明书大体涉及各个实施方式,其中每当确定语音输入可以被设备成功地本地处理时,其选择性地中止对针对支持语音的电子设备的语音输入的在线处理。通过这样做,在某些实例下可以降低响应语音输入的时延。
因此,在一些实施方式中,一种方法可以利用支持语音的电子设备接收语音输入,并且在所述支持语音的电子设备中,并响应于接收所述语音输入的至少一部分,由在线基于语音的查询处理器发起所述语音输入的至少一部分的在线处理;执行对所述语音输入的至少一部分的本地处理以在利用所述支持语音的电子设备完全接收所述语音输入之前动态构建语音动作的至少一部分;在所述本地处理期间确定所述语音动作是否能够在没有从所述在线基于语音的查询处理器接收的数据的情况下通过所述本地处理完成;以及响应于确定所述语音动作能够在没有从所述在线基于语音的查询处理器接收的数据的情况下通过所述本地处理完成,中止由所述在线基于语音的查询处理器对所述语音输入的至少一部分的在线处理,以及利用所述本地处理完成所述语音动作的构建。
在一些实施方式中,所述支持语音的电子设备包括移动设备,所述移动设备被配置为在与无线网络通信时与所述在线基于语音的查询处理器进行通信。此外,在一些实施方式中,执行对所述语音输入的部分的本地处理包括:使用所述支持语音的电子设备的流送语音转文本模块将所述语音输入的数字音频信号转换为文本,其中所述流送语音转文本模块从所述数字音频信号动态地生成多个文本令牌,并且使用所述支持语音的电子设备的流送语义处理器从所述多个文本令牌中的至少一部分动态构建所述语音动作的部分。
在一些实施方式中,发起在线处理包括将与所述语音输入相关联的数据发送到所述在线基于语音的查询处理器。在一些这样的实施方式中,发送所述数据包括发送所述语音输入的数字音频信号的至少一部分,其中所述在线基于语音的查询处理器被配置为执行对所述数字音频信号的一部分的语音转文本转换和语义处理以对于所述语音输入生成在线动作。在其他这样的实施方式中,执行对所述语音输入的部分的本地处理包括从所述语音输入的数字音频信号生成多个文本令牌,其中发送所述数据包括将所述多个文本令牌中的至少一部分发送到所述在线基于语音的查询处理器,并且其中所述在线基于语音的查询处理器被配置为执行对所述数字音频信号的所述部分的语音转文本转换和语义处理以对于所述语音输入生成在线动作。
此外,在一些实施方式中,中止由所述在线基于语音的查询处理器对所述语音输入的部分的在线处理包括向所述在线基于语音的查询处理器发送数据以终止由所述在线基于语音的查询处理器对所述语音输入的部分的在线处理。在其他实施方式中,中止由所述在线基于语音的查询处理器对所述语音输入的部分的在线处理包括忽略从所述在线基于语音的查询处理器接收到的响应。在另外的实施方式中,中止由所述在线基于语音的查询处理器对所述语音输入的部分的在线处理包括旁路将与所述语音输入相关联的数据向所述在线基于语音的查询处理器的发送。
在进一步的实施方式中,在所述本地处理期间确定所述语音动作是否能够在没有从所述在线基于语音的查询处理器接收到的数据的情况下通过所述本地处理完成包括确定所述语音输入所请求的动作是否能够在所述支持语音的电子设备中本地执行。此外,一些实施方式可以进一步包括响应于确定所述语音动作无法在没有从所述在线基于语音的查询处理器接收的数据的情况下通过所述本地处理完成,推迟利用所述本地处理完成对所述语音动作的构建,直到接收到来自所述在线基于语音的查询处理器的响应,使用来自所述响应的数据完成对所述语音动作的构建。一些这样的实施方式还可以包括响应于所述确定所述语音动作无法在没有从所述在线基于语音的查询处理器接收到的数据的情况下通过所述本地处理完成,向所述在线基于语音的查询处理器查询所述数据。
一些实施方式还可以包括利用所述本地处理完成对所述语音动作的构建,然后基于从所述在线基于语音的查询处理器接收的数据来验证所述语音动作。在一些这样的实施方式中,验证所述语音动作包括响应于基于从所述在线基于语音的查询处理器接收的数据对所述语音动作验证失败而校正所述语音动作。
此外,一些实施方式可以包括装置,其包括存储器和可操作以执行存储在所述存储器中的指令的一个或多个处理器,其中指令被配置为执行上述任何方法。一些实施方式还可以包括存储可由一个或多个处理器执行以执行上述任何方法的计算机指令的非暂时计算机可读存储介质。
应当理解,本文更详细地描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,本公开所附的要求保护的主题的所有组合都被认为是本文公开的主题的一部分。
附图说明
图1图示了计算机系统的示例架构。
图2是示例分布式语音输入处理环境的框图。
图3是图示使用图2的环境来处理语音输入的示例方法的流程图。
图4是图示使用图2的环境选择性地中止对语音输入的在线处理的示例方法的流程图。
图5是图示使用图2的环境处理语音输入的另一示例方法的流程图。
图6是由图2中引用的流送语音转文本模块所执行的示例离线语音转文本例程的流程图。
图7是由图2中引用的语义处理器模块所执行的示例处理文本令牌例程的流程图。
图8是由图2中引用的语义处理器模块所执行的示例接收输入结束例程的流程图。
图9是由图2中引用的语义处理器模块执行的示例接收在线响应例程的流程图。
图10是由图2中引用的语音动作模块执行的示例在线服务上传例程的流程图。
具体实施方式
在下文讨论的实施方式中,每当确定语音输入可以被设备成功地本地处理时,则选择性地中止针对支持语音的电子设备的语音输入的在线处理。关于所选择的实施方式的进一步细节将在下文中讨论。然而,应当理解其他实施方式也被设想到,因此本文公开的实施方式不是排他的。
示例硬件和软件环境
现在转向附图,其中各附图中相似的附图标记标示相似的部分,图1是示例计算机系统10中的电子组件的框图。系统10通常包括至少一个处理器12,其经由总线子系统14与多个外围设备通信。这些外围设备可以包括存储子系统16,其包括例如存储器子系统18和文件存储子系统20、用户接口输入设备22、用户接口输出设备24、和网络接口子系统26。输入和输出设备允许用户与系统10进行交互。网络接口子系统26提供到外部网络的接口并耦合到其他计算机系统中的对应接口设备。
在一些实施方式中,用户接口输入设备22可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的指示设备、扫描仪、并入显示器中的触摸屏、诸如语音识别系统、麦克风的音频输入设备、和/或其他类型的输入设备。一般而言,术语“输入设备”的使用旨在包括将信息输入计算机系统10或通信网络的所有可能类型的设备和方法。
用户接口输出设备24可以包括显示子系统、打印机、传真机、或非视觉显示器,诸如音频输出设备。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备、或用于创建可视图像的一些其它机构。显示子系统还可以诸如经由音频输出设备来提供非视觉显示。通常,术语“输出设备”的使用旨在包括从计算机系统10向用户或另一机器或计算机系统输出信息的所有可能类型的设备和方法。
存储子系统16存储提供本文所述的一些或全部模块的功能的编程和数据构造。例如,存储子系统16可以包括用于执行下文所公开的方法的所选方面的逻辑。
这些软件模块通常由处理器12单独地或与其他处理器组合执行。存储子系统16中使用的存储器子系统18可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)28和存储固定指令的只读存储器(ROM)30。文件存储子系统20可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器连同关联的可移动介质、CD-ROM驱动器、光驱动器、或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统20存储在存储子系统16中,或者存储在由处理器12可访问的其他机器中。
总线子系统14提供用于允许系统10的各种组件和子系统按预期彼此通信的机制。虽然总线子系统14被示意性地示出为单个总线,但是总线子系统的替选实施方式可以使用多个总线。
系统10可以是不同的类型,包括移动设备、便携式电子设备、嵌入式设备、台式计算机、膝上型计算机、平板计算机、可穿戴设备、工作站、服务器、计算群集、刀片服务器、服务器群、或任何其他数据处理系统或计算设备。此外,由系统10实现的功能可以分布在通过一个或多个网络彼此互连的多个系统中,例如在客户端-服务器、对等、或其他网络布置中。由于计算机和网络的不断变化的性质,为了说明一些实施方式的目的,图1所示的系统10的描述仅旨在作为特定示例。系统10的许多其他配置可能具有比图1所示的计算机系统更多或更少的组件。
下文讨论的实施方式可以包括实现本文所公开的功能的各种组合的一个或多个方法。其他实施方式可以包括存储指令的非暂时性计算机可读存储介质,该指令可由处理器执行以执行诸如本文所述的一个或多个方法。其他实施方式还可以包括装置,其包括存储器和一个或多个处理器,该处理器可操作以执行存储在存储器中的指令以执行诸如本文所述的一个或多个方法的方法。
下文描述的各种程序代码可以基于在特定实施方式中实现该程序代码的应用来识别。然而,应当理解,以下的任何特定程序命名仅用于方便。此外,考虑到计算机程序可以被组织为例程、程序、方法、模块、对象等中的无限数量的方式,以及可以在驻留在典型的计算机中(例如,操作系统、库、API、应用、小应用等)的各种软件层之间分配程序功能的各种方式,应当理解,一些实施方式可以不限于本文所描述的程序功能的特定组织和分配。
此外,应当理解,可以由任何程序代码执行或在任何例程、工作流程等中执行的本文描述的各种操作可以被组合、拆分、重新排序、省略、顺序或并行执行和/或补充其他技术,并且因此,一些实施方式不限于本文描述的特定操作序列。
分布式语音输入处理环境
图2图示了示例分布式语音输入处理环境50,例如,用于与诸如在线搜索服务54的在线服务通信的支持语音的设备52一起使用。在下文所述的实施方式中,例如,支持语音的设备52(此处也称为支持语音的电子设备)被描述为诸如蜂窝电话或平板计算机的移动设备。然而,其他实施方式可以利用广泛多种其他支持语音的设备,因此下文中对移动设备的引用仅仅是为了简化下面的讨论的目的。无数其他类型的支持语音的设备可以使用本文描述的功能,包括例如膝上型计算机、手表、头戴式设备、虚拟现实或增强现实设备、其他可穿戴设备、音频/视频系统、导航系统、汽车和其他车载系统等。此外,许多这样的支持语音的设备可能被认为是资源受限的,因为这样的设备的存储器和/或处理能力可以基于技术、经济或其他原因而受限制,特别是当与可以将几乎无限制的计算资源用于各任务的在线服务或基于云的服务的能力相比时。一些这样的设备在这样的设备可以能够在至少一部分时间上“离线”并且不连接到在线服务的意义上也可以被认为是离线设备,例如预期这样的设备基于在普通使用下可能不时经历临时的网络连接中断。
一些实施方式中在线搜索服务54可以例如使用运行适合于处置来自多个用户的大量请求的软件的服务器群或高性能计算机的群集来被实现为采用云基础设施的基于云的服务。在所示实施方式中,在线搜索服务54能够查询一个或多个数据库以定位所请求的信息,例如以提供包括所请求信息的网站列表。在线搜索服务54可以不限于基于语音的搜索,并且还可以能够处置其他类型的搜索,例如基于文本的搜索、基于图像的搜索等。在其他实施方式中,在线系统不一定需要处置搜索,并且可以被限制为处置对于非搜索动作的基于语音的请求,例如设置警报或提醒,管理列表,经由电话、文本、电子邮件等发起与其他用户的通信,或执行可能经由语音输入而发起的其他动作。为了本公开的目的,基于语音的请求和其他形式的语音输入可以统称为基于语音的查询,而不管基于语音的查询是否寻求发起搜索、提出问题、发出命令等。因此,通常,例如,包括一个或多个词或短语的任何语音输入可以被认为是在所示实施方式的场境中的基于语音的查询。
在图2的实施方式中,由支持语音的设备52接收的语音输入由支持语音的应用(或“app”)56进行处理,其在某些实施方式中可以是搜索应用。在其他实施方式中,语音输入可以在支持语音的设备的操作系统或固件内处置。所示实施方式中的应用56包括语音动作模块58、在线接口模块60和呈现/同步模块62。语音动作模块58接收针对应用的语音输入,并协调对于支持语音的设备52的用户的语音输入的分析和一个或多个动作的执行。在线接口模块60提供与在线搜索服务54的接口,包括将语音输入转发到服务54并且接收对其的响应。呈现/同步模块62例如经由视觉显示器、说出的音频、或适合于特定的支持语音的设备的其他反馈接口来管理对用户的响应的呈现。此外,在一些实施方式中,模块62还处置与在线搜索服务54的同步,例如,每当响应或动作影响在在线搜索服务中为用户维护的数据(例如,在语音输入请求创建在基于云的日历中维护的约会的情况下)。
应用56依赖于各种中间件、框架、操作系统和/或固件模块来处置语音输入,包括例如流送语音转文本模块64和语义处理器模块66,其包括解析器模块68、对话管理器模块70和动作构建器模块72。
模块64接收例如以数字音频数据的形式的语音输入的音频记录,并将数字音频数据转换为一个或多个文本词或短语(此处也称为令牌)。在所示实施方式中,模块64还是流送模块,使得语音输入以逐个令牌的方式实时或近实时地被转换为文本,使得令牌可以有效地与用户的话音同时从模块64输出,并且因此先于用户讲出完整的说出的请求。模块64可以依赖于一个或多个本地存储的离线声学和/或语言模型74,它们共同建模语言中的音频信号和语音单元(phonetic unit)之间的关系连同语言中的词序列。在一些实施方式中,可以使用单个模型74,而在其他实施方式中,可以支持多个模型,例如支持多种语言、多个扬声器等。
尽管模块64将话音转换为文本,模块66尝试分辨由模块64输出的文本的语义或含义,以供制定适当的响应的目的。例如,解析器模块68依赖于一个或多个离线语法模型76来将文本映射到特定动作,并且识别约束这样的动作的执行的属性——例如对这样的动作的输入变量。在一些实施方式中,可以使用单个模型76,而在其他实施方式中,可以支持多个模型,例如,以支持不同的动作或动作域(即,相关动作的集合,相关动作诸如通信相关动作、搜索相关动作、音频/视频相关动作、日历相关动作、设备控制相关的动作等)。
作为示例,离线语法模型76可以支持诸如“设置提醒”的动作具有:指定要设置的提醒的类型的提醒类型参数、指定与提醒相关联的一个或多个项目的项目参数、以及指定激活提醒并提醒用户的时间的时间参数”的。解析器模块64可以接收诸如“remind me to(提醒我)”、“pick up(去买)”、“bread(面包)”和“after work(下班之后)”的令牌序列,并将令牌序列映射到设置提醒的动作,其中提醒类型参数设置为“shopping reminder(购物提醒)”,项目参数设置为“bread(面包)”,以及时间参数为“5:00pm”,使得当天下午5:00用户接收到提醒“buy bread(买面包)”。
解析器模块68还可以与管理与用户对话的对话管理器模块70结合工作。在这种场境下,对话指代与两个体之间的对话相似的语音输入和响应集。因此,模块70维持对话的“状态”,以使得能够在处置随后的语音输入时使用在先前的语音输入中从用户获得的信息。因此,例如,如果用户说“remind me to pick up bread(提醒我买面包)”,则可以生成响应来说“ok,when would you like to be reminded?(好的,你希望什么时候被提醒?)”以使得“after work(下班之后)”的随后的语音输入会被绑定回原始请求以创建提醒。
动作构建器模块72从解析器模块68接收表示语音输入解释的经解析文本,并且生成动作连同任何相关联的参数以供由支持语音的应用56的模块62进行处理。动作构建器模块72可依赖于一个或多个离线动作模型78,其包含用于根据经解析文本来创建动作的各个规则。在一些实施方式中,例如,动作可以被定义为函数F,使得F(IT)=Au,其中T表示输入解释的类型,并且U表示输出动作的类型。因此,F可以包括被映射到彼此的多个输入对(T,U),例如,作为f(it)=au,其中it是类型t的输入原变量(proto variable),并且au是输出模块实参或类型u的参数。应当理解,一些参数可以作为语音输入被直接接收,而一些参数可以以其他方式确定,例如基于用户的位置、人口统计信息,或者基于用户特有的其他信息。例如,如果用户要说“remind me to pick up bread at the grocery store(提醒我在杂货店买面包)”,则在没有诸如用户的当前位置、用户的已知工作和家之间的路线、用户的常去杂货店等的附加信息的情况下位置参数可能无法确定。
应当理解,在一些实施方式中,模型74、76和78可以组合成更少的模型或分成额外的模型,可以是模块64、68、70和72的功能。此外,就模型74-78本地存储在支持语音的设备52上并且由此当设备52不与在线搜索服务54通信时可以离线访问而言,该模型在这里称为离线模型,。
此外,在线搜索服务54例如使用依赖于各种声学/语言、语法和/或动作模型82的基于语音的查询处理器80通常包括用于处置语音输入的补充功能。可以理解,在一些实施方式,特别是当支持语音的设备52是资源受限设备时,基于语音的查询处理器80和由此使用的模型82可以实现比支持语音的设备52本地的语音处理功能更复杂和计算资源密集的语音处理功能。然而,在其他实施方式中,不能使用补充的在线功能。
在一些实施方式中,可以支持在线和离线功能二者,例如,使得每当设备与在线服务通信时使用在线功能,而当不存在连接时使用离线功能。在其他实施方式中,可以将不同的动作或动作域分配给在线和离线功能,而在其他实施方式中,仅当离线功能未能充分地处置特定语音输入时才可以使用在线功能。
例如,图3示出了语音处理例程100,该语音处理例程100可以由支持语音的设备52执行以处置语音输入。例程100以接收例如处于数字音频信号形式的语音输入来在框102中开始。在该实施方式中,进行初始尝试以将语音输入转发到在线搜索服务(框104)。如果不成功——例如由于缺乏连接性或缺乏来自在线搜索服务的响应,则框106将控制传递到框108以将语音输入转换为文本令牌(框108,例如使用图2的模块64来转换),解析文本令牌(框110,例如使用图2的模块68来解析),并从解析文本构建动作(框112,例如使用图2的模块72来构建)。然后将所得到的动作用于执行客户端侧呈现和同步(框114,例如使用图2的模块62来执行),并且语音输入的处理完成。
返回到框106,如果尝试将语音输入转发到在线搜索服务成功,则框106旁路框108-112,并将控制直接传递到框114以执行客户端侧呈现和同步。语音输入的处理完成。应当理解,在其他实施方式中,如上所述,可以在在线处理之前尝试离线处理,以例如当语音输入可以在本地处理时避免不必要的数据通信。
在支持语音的电子设备中对语音输入的在线处理的选择性中止
如上所述,在一些实施方式中,每当确定语音输入可以被设备成功地本地处理以减少对语音输入响应的时延时,则选择性地中止对针对支持语音的电子设备的语音输入的在线处理。支持语音的电子设备中的本地处理功能——例如其可以在离线语音转文本模块和离线语义处理器(或任何类似功能)中实现——可以实现流送架构以从在接收到整个语音输入之前(即用户仍在说话时)根据语音输入动态构建语音动作的至少一部分。因此,在接收到完整语音输入之前,本地处理可以在某些实例下确定语音动作可以被完成而不需要与诸如在线基于语音的查询处理器的在线服务进行交互。在这样的实例下,在线服务所进行的语音输入的处理可能会被提早中止,从而避免了需要等待来自在线服务的响应,并且导致整个操作在设备上本地处理并且具有减少的时延。
应当理解,各种支持语音的电子设备可以不同程度地依赖于在线和离线功能来实现基于语音的用户接口。例如,一些设备可以优先使用在线服务来执行与处理语音输入相关联的许多操作,这部分因为在线基于语音的查询处理器通常能够投入相对较大的处理资源来处置基于语音的查询。可以由在线服务执行的功能之一是语义处理,其处理从数字音频数据生成的文本元素(也称为令牌),以尝试确定用户经由基于语音的查询所请求的动作。在一些实例下,甚至可以将数字音频信号提供给在线服务以使得距设备远程地来执行语义处理和语音转文本转换二者。
由于与这样的设备的连接性问题的可能性以及即使不存在连接性问题时也可能经历的一般时延,在某些实例下也可能期望包含本地或离线处理功能,包括在支持语音的电子设备内的语音转文本和语义处理功能二者。在某些实例下,每当连接存在时,语音输入仍然可以转发到在线服务,并且每当连接存在时可以使用在线服务的结果,使本地处理主要充当备份角色,并且仅在没有网络连接的情形下处置语音输入。
如上所述,在一些实施方式中,支持语音的电子设备还可以包含流送架构,其随用户说话而根据语音输入动态地构建动作,而不是等待直到在尝试从语音输入导出语义之前已经接收到完整的语音输入。已经发现,在这样的实施方式中,可以充分利用这样的设备所采用的流送架构来识别可以在本地处理语音输入并且不需要等待来自在线服务的数据的实例,使得语音输入的在线处理可以主动先行中止。在许多实例下,可以在完全处理语音输入之前做出选择性地中止在线处理的决定,并且在一些实例下,可以在用户说出完整语音输入之前进行该决定。
作为一个示例,某些任务——诸如创建约会、事件、待办事宜、提醒等——可以在一些移动设备上本地执行,而无需与在线服务进行任何交互(尽管稍后与在线数据库的同步可能仍然执行)。已经发现,通过使用流送架构,即使在用户完成语音输入之前,也可以辨认这些任务中的一些。例如,如果用户说出短语“set a reminder for 5:00pm tomorrowto pick up milk(设置明天下午5点去买牛奶的提醒”,则只要用户说“set a reminder(设置提醒)”就知道需要创建提醒的事实,所以在这样的情形下,期望一旦处理了短语“set areminder”就中止任何发起的在线处理,并且使用本地处理功能来完成动作的构建(即,完成提醒的创建)。通过这样做,可以避免在线服务的进一步处理,从而减少处理和通信成本二者,并且还避免了等待在线服务返回基于完整语音输入的完整动作的需要,从而减少完成动作的时延。
在这方面,可以在不同实施方式中以各种方式实现中止在线处理。例如,在某些实例下通过向在线服务发送数据(例如,到在线服务的在线基于语音的查询处理器)来终止在线服务进行的远程或在线处理,可以中止语音输入的在线处理。在其他实例下,可以通过在已经从支持语音的电子设备发起的对语音输入的初始在线处理之后(例如,在语音输入的第一部分已转发到在线服务进行处理之后)忽略从在线服务接收到的响应来中止对语音输入的在线处理。在其他实例下,可以通过旁路与对在线服务的语音输入相关联的数据的发送来中止语音输入的在线处理,例如,在随着语音输入的部分被设备接收而被流送到在线服务的情况下。
此外,在一些实例下,可以实现多种类型的中止,例如基于可以多快作出支持语音的电子设备能够成功地本地处理语音输入的确定。因此,如果在将语音输入的一部分发送到在线服务之前进行确定,则可以旁路否则将转发到在线服务以处理语音输入的该部分的请求,并且如果在将语音输入的该部分发送到在线服务之后进行确定,则可以将请求发送到在线服务以中断语音输入的处理和/或从在线服务接收到的任何响应可以被忽略。
此外,在本公开的场境中,“完成”动作可以指代执行由用户经由语音输入请求的那些步骤和/或操作。完成动作还可以包括完成语音动作对象的构造并执行由语音动作对象指定的动作。在某些实例下,操作的完成可能仅在本地发生(本文称为本地完成),并且在某些实例下,动作的完成也可以远程地发生(在本文中称为远程完成),例如在线服务和/或在与用户的支持语音的电子设备相关联的一个或多个其他设备中,如可能是用户具有链接到同一帐户的若干设备的情况。在一些实例下,本地完成可能伴随着与在线服务的稍后的同步,例如,在用户设备上本地创建提醒或事件,并且稍后与在线日历帐户同步。在这样的实例下,即使稍后的同步发生,仍然可以将设备上的提醒的创建视为表示动作的完成。在其他实施方式中,完成动作可以包括完全构建语音动作对象并将完成的语音动作对象返回到支持语音的电子设备中的另一个模块以供进一步处置。
图4图示了用于选择性地中止图2的环境中的语音输入的在线处理的语音处理例程150的一个示例实施方式。在该实施方式中,在框152中,语音输入的至少一部分(例如,表示说出的问题或命令的至少一部分的数字音频信号)由支持语音的电子设备(例如,通过无线网络耦合到在线服务的移动设备)接收。响应于接收语音输入的该部分,可以在框154中发起由在线服务(例如,其在线基于语音的查询处理器)进行的对语音输入的该部分的在线处理。在一些实施方式中,例如,可以通过将包括语音输入的一部分请求转发到在线服务来发起在线处理。在其他实施方式中,例如在本地执行语音转文本转换并且使用在线处理来执行语义处理的情况下,可以通过将由语音转文本模块64生成的一个或多个文本令牌转发到在线服务来发起在线处理。在其他实施方式中,发起在线处理可以包括转发请求,其通知在线服务预期接收包括与语音输入相关的数据的未来请求。
此外,对语音输入的该部分的本地处理可以由支持语音的电子设备执行,以基于语音输入的现有部分来动态构建语音动作的至少一部分(框156)。在该实施方式中,使用流送架构,并且因此,可以在完全接收支持语音的电子设备的语音输入之前发起框156。此外,在这方面,“动态构建”可以被认为包括随语音输入的附加部分被接收并因此在接收到完整语音输入之前逐渐构建语音动作。因此,例如,随着更多的语音输入被处理,动态构建可以导致生成部分语音动作,其被以附加信息来精细化和补充。
接下来,在框158中,可以确定在没有从在线服务接收到的数据的情况下语音动作是否可以本地完成(例如,通过在支持语音的电子设备中实现的本地处理功能)。可以基于语音动作的本地分析,并且通常在完全处理语音输入之前进行这样的确定。
例如,语音动作可以包括动作类型和/或命令,其一旦被确定则可以是已知例如对于某些设备设置、某些类型的提醒等总是能够在本地处理的类型。此外,一些语音动作可以包括一个或多个参数,其一旦在语音输入中指定并在本地处理,则呈现能够在本地完成的局部构建的语音动作。因此,例如,如果用户说短语“set a reminder for 5:00pmtomorrow to pick up milk(设置明天下午5点去买牛奶的提醒)”,则只要说短语“tomorrow(明天)”,就可以查明语音动作是基于时间的提醒,并且时间和日期参数在本地可解析,而不管用户选择什么作为提醒的文本,语音动作都可以在本地完成。在其他实施方式中,可以使用可能对特定语音动作和/或与其相关联的参数特定的其他因素来确定何时能够在线完成部分构建的语音动作,并且因此本文给出的示例不是排他性的。
接下来,如果在框158中确定该动作无法在没有在线数据的情况下完成,则控制传递到框160以接收语音输入的其余部分,并且基于完整的语音输入来构建语音动作的至少一部分。应当理解,在一些实例下,完整语音动作可以在框160中构建;然而,在一些实例下,可能需要在线数据来完全构建语音动作,因此在框160完成时,语音动作仍然可以是部分构建的。在一些实例下,框160还可以向在线服务发出查询以检索确定为完成动作所需的任何附加数据。
接下来,在框162中,例程150等待来自在线服务的响应被接收(框162),并且一旦接收到该响应,就使用从在线服务接收的数据来完成语音动作(框164)。在一些实例下,框164可以用在线数据补充本地构建的语音动作,而在其他实例下,框164可以简单地利用由在线服务(在本文中称为在线动作)构建的语音动作,并且忽略本地构建的语音动作。在其他实例下,本地构建的语音动作可以使用在线数据(例如,在线动作)来验证,并且在由于在动作中检测到一个或多个差异而对本地构建的语音动作验证失败的事件下被更新或更正。语音输入的处理完成。
返回到框158,如果确定语音动作可以在本地完成而无需在线数据,则控制作为替代传递到框166以例如以上述任何一种方式中止在线处理。然后,框168接收语音输入的剩余部分(除非已经接收到所有语音输入),本地处理语音输入的剩余部分,并在本地完成动作,而不使用任何在线数据。然后语音输入的处理完成。应当理解,在一些实例下,如果在语音动作已经完成之后在线服务返回数据,则可以通过该在线数据来验证本地完成的动作。
现在转向图5至图10,公开了用于在图2的设备50中使用流送架构处理语音输入的另一示例实施方式。特别地,公开了可由语音动作模块58、流送语音转文本模块64、和语义处理器模块66执行的多个例程。
例如,图5图示了响应于接收到语音输入的至少一部分而由语音动作模块58执行的示例语音输入处理例程180。例程180在框182中由以下开始:发起在线处理,例如通过向在线服务——例如向在线搜索服务54的基于语音的查询处理器80发送请求,其指示语音单元将从设备中即将到来。接下来,在框184中,与语音输入的第一部分相关联的数字音频数据被流送到在线服务和离线语音转文本模块(流送语音转文本模块64)二者。框186确定整个语音输入是否已被处理,并且如果否,则将控制返回到框184以将附加的数字音频数据流送到在线服务和离线语音转文本模块。一旦已经处理了整个语音输入,则例程180完成。
应当理解,在一些实施方式中,可以通过将语音输入的第一部分的数字音频数据发送到在线服务来发起在线处理,由此框182可以省略。此外,在一些实施方式中,将数字音频数据流送到在线服务和离线语音转文本模块的速率可能不同,并且在一些实例下,数字音频数据可以不被流送到在线服务,直到接收到整个语音输入。在另外的实施方式中,语音转文本转换可以本地执行,使得不同于将数字音频数据流送到在线服务,将由语音转文本模块输出的文本令牌流送到在线服务。
图6接下来图示出通过流送语音转文本模块64执行的示例离线语音转文本例程200。如上所述,模块64从语音动作模块58接收表示语音输入的部分的数字音频数据,并且因此,例程200通过开始从模块58接收语音输入来在框202中开始。框204生成并输出在语音输入的数字音频数据中识别的文本令牌(例如,词和/或短语),并且框206确定是否已经处理了整个语音输入,例如,何时没有进一步的语音输入的数字音频数据仍然未处理。当更多的数字音频数据仍然未处理时,框206将控制返回到框204以生成附加的文本令牌,并且当整个语音输入已被处理时,框206将控制传递到框208以向例如语义处理器模块66报告语音输入的结束。在其他实施方式中,语音输入的结束可以作为替代由语音动作模块58或设备中的其他功能报告。然后例程200完成。
图7接下来图示由语义处理器模块66响应于从流送语音转文本模块64接收的文本令牌而执行的示例处理文本令牌例程210。例程210通过确定模块66当前是否正在构建语音动作来在框212中开始。如果否,则控制传递到框214以初始化新的动作对象。在框214中初始化新的动作对象之后,或者如果框212确定动作当前已经处于构建的过程中,则框216将文本令牌添加到与该动作相关联的文本令牌集。框218解析用于动作的文本令牌,并且框220尝试从解析的文本构建动作。如上所述,在所图示实施方式中,采用流送架构,其尝试基于语义处理器模块当前可用的信息来逐步和动态地构建动作。因此,在一些实施方式中,随着附加的文本令牌被提供给语义处理器模块,框218和220可以对动作进行构建、修改、精细化、修改、校正等。此外,框218和220可以在一些实施方式中确定正在请求什么动作,确定用于动作的一个或多个参数的值,并且甚至确定为了完成动作何时需要附加数据。例如,如果行动部分地基于位置——例如进行餐厅预约的请求,则框218和220可以确定需要设备的当前位置附近的餐馆列表及其可用性,以便完成动作。
接下来,框222基于当前可用信息来确定是否可以离线完成动作,即,没有来自在线服务的数据。如果动作无法离线完成,或者如果不存在足够的数据进行确定,则控制传递到框224以确定是否需要任何在线信息以完成动作(例如,基于框218和220中的动作的上述动态构建)。如果否,则控制传递到框226以在设备上执行客户端侧呈现。例如,客户端侧呈现可以包括在设备的显示器上显示用户所说的文本,基于对正在处理的文本令牌所得到的部分构建的动作的更新或者可能适合于特定设备的其他音频和/或视觉更新来修改先前显示的文本。然后为该文本令牌完成例程210。
返回到框222,如果确定动作可以离线完成,则控制传递到框228以中止在线处理,例如通过通知在线服务或设置标志或其他指示符来指示何时忽略来自在线服务的响应和/或何时旁路将附加数据(例如,来自语音输入的附加数字音频数据或文本令牌)发送到在线服务。然后,控制传递到框226以通过执行客户端侧呈现来完成文本令牌的处理。
返回到框224,如果确定需要额外的在线信息来完成动作,则框224向在线服务发送查询以请求附加信息(框229)。然后,控制传递到框226以通过执行客户端侧呈现来完成文本令牌的处理,并且例程210完成。
图8接下来图示示例接收输入结束例程230,其可以由语义处理器模块66响应于接收到输入结束指示(例如,如图6的框208中生成)而被执行。例程230在框231中开始于等待(如果需要)所有文本令牌来完成例程210的处理,从而指示语义处理器已经处理了语音输入的所有文本令牌。然后框232确定作为本地处理的结果是否准备好完成动作。在一些实施方式中,如果确定在本地处理之后不需要来自在线服务的数据以完成动作,则可以确定准备好完成动作。如果在线处理已中止,则可以准备好完成动作;然而,在某些实例下,在进一步的本地处理确定不需要来自在线服务的附加数据的事件下,即使未被确定为符合中止在线处理准则的动作也仍然准备好完成。
如果否,则控制传递到框234以等待来自在线服务的响应,因为由在模块64和66中实现的本地处理进行的动作的构建无法完成,因此可以使用来自在线服务的数据来完成动作。例如,来自在线服务的响应可以表示由在线服务构建的在线动作,或者该响应可以表示在图7的例程210的一次或多次迭代中框229所请求的任何附加数据。框236确定是否已经在适当的时间内接收到在线响应,并且如果是,则将控制传递到框238以基于在线响应提供的数据来完成动作。例如,如果在线响应包括在线语音动作,则框238可以通过执行在线语音动作所指定的操作来完成动作。否则,如果在线响应包括由设备请求的附加信息,则框238可以通过将附加信息并入由语义处理器模块66构建的部分构建的动作中来完成动作,以生成完全构建的语音动作。
一旦在框238中完成动作,则例程230完成。另外,返回到框236,如果没有及时接收到响应,则控制传递到框240,以向用户呈现动作失败,例如通知用户所请求的动作未完成,并终止例程230。
返回到框232,如果动作被确定为准备好完成,则控制传递到框242以确定是否应该用在线服务验证该动作。如果不需要验证,则控制传递到框244以基于本地处理来完成动作,并且例程230完成。在一些实施方式中,例如,可能期望包括由在线服务执行对本地构建的语音动作的验证的设置。然而,在其他实施方式中,不能使用这样的设置,并且因此可以省略下面讨论的框242和框246-254。在其他实施方式中,一旦接收到在线响应,即使在已经基于本地处理来完成动作之后,也可以异步执行验证。
如果需要验证,则框242将控制传递到框246,以等待包含可用于验证本地构建的语音动作的在线动作或其他数据的在线响应。框248确定是否及时接收到在线响应,并且如果是,则将控制传递到框250以验证该动作。在一些实施方式中,验证可以包括将本地构建的语音动作与由在线服务构建的可比较动作进行比较,或校正或修改本地构建的语音动作以解决在其间发现的任何差异。框252确定该动作是否验证通过,并且如果是,则将控制传递到框244以完成本地构建的动作。然而,如果不是,则将控制传递到框254以基于在线响应来完成动作,例如使用在线服务返回的在线语音动作,或者通过用来自在线服务的数据来较正、更新或补充本地构建的动作。一旦动作完成,然后例程230完成。
图9接下来图示可以由语义处理器模块66或支持语音的电子设备中的另一模块执行以处理从在线服务接收的响应的示例接收在线响应例程260。当接收到在线响应时,发起例程260,并且框262确定与在线响应相关联的动作是否完成。如果否,则将控制传递到框264以将在线响应编入队列以使得在语义处理器模块需要时可以访问该响应,例如在图8的框234或框246中访问。应当理解,在一些实施方式中,与已中止在线处理的动作相关联的经编队响应也可以被丢弃或忽略。
如果与在线响应相关联的动作完成,则框262将控制传递到框266以验证动作,类似于图8的框250。框264确定动作是否验证通过,如果是,则终止例程260,因为不需要进一步处理。然而,如果不是,则框268将控制传递到框270,以在适当时更新或校正该动作,类似于图8的框252和254。然而不像框254,框270还可以基于动作已经完成并且可能已经改变了设备的操作状态的事实执行附加操作。因此,更新或校正动作也可能涉及校正由本地构建的操作执行的任何不正当操作,并且在一些实施方式中,通知用户进行了改变。然而,在其他实施方式中,可以不执行用户通知。在其他实施方式中,在例程260中可以不执行验证,并且将简单地忽略对于完成的动作(例如,已经中止了在线处理的完成的动作)接收的任何在线响应。然而,值得注意的是,即使在执行验证时,通常在该动作被允许完成之后执行验证,因此另外对于在线处理已中止的本地构建动作避免接收在线响应和执行验证所需的时延。
图10接下来图示可以由语音动作模块58执行的示例在线服务上传例程280,例如结合来自如上所述结合图5的框184的对在线处理器的语音输入的流送数字音频数据来执行。例程280在框282中确定语音输入的在线处理是否被中止,并且如果否,则将控制传递到框284以将语音输入的下一部分的数字音频数据发送到在线服务,由此例程280完成。然而,如果在线处理已被中止,则框284被旁路,并且例程280终止而不将数字音频数据上传到在线服务。
尽管本文已经描述和示出了若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文所述的一个或多个优点的各种其他手段和/或结构,并且每个这样的变化和/或修改被认为在本文描述的实施方式的范围内。更一般而言,本文描述的所有参数、尺寸、材料、和配置意图是示例性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导的具体一个或多个应用。本领域技术人员将认识到或者能够使用不超过常规实验来确定本文所述的具体实施方式的许多等同物。因此,应当理解,前述实施方式仅通过示例的方式给出,并且在所附权利要求书及其等同物的范围内,可以以与具体描述和要求保护的方式不同的方式来实践实施方式。本公开的实施方式涉及本文所述的每个单独特征、系统、制品、材料、工具、和/或方法。此外,如果这些特征、系统、制品、材料、工具、和/或方法不相互矛盾,则两个或更多个这样的特征、系统、制品、材料、工具、和/或方法的任何组合都包括在本公开的范围内。

Claims (19)

1.一种用于处理语音输入的方法,所述方法包括:
利用支持语音的电子设备接收语音输入;以及
在所述支持语音的电子设备中,并响应于接收所述语音输入的至少一部分:
由在线基于语音的查询处理器响应于接收到所述语音输入的所述至少一部分,发起在所述支持语音的电子设备中的所述语音输入的所述至少一部分的本地处理和所述语音输入的所述至少一部分的在线处理二者;
执行对所述语音输入的所述至少一部分的本地处理以在利用所述支持语音的电子设备完全接收所述语音输入之前动态构建语音动作的至少一部分;
在所述本地处理期间和在发起所述在线处理之后确定所述语音动作是否能够在没有从所述在线基于语音的查询处理器接收的数据的情况下通过所述本地处理完成;
响应于确定所述语音动作能够在没有从所述在线基于语音的查询处理器接收的数据的情况下通过所述本地处理完成,中止由所述在线基于语音的查询处理器对所述语音输入的所述至少一部分的在线处理,并且利用所述本地处理完成对所述语音动作的构建;以及
在中止在线处理并且利用所述本地处理完成对所述语音动作的构建之后,从所述在线基于语音的查询处理器接收数据,基于从所述在线基于语音的查询处理器接收的所述数据来验证所述语音动作,以及如果验证未通过,则使用从所述在线基于语音的查询处理器接收的所述数据的至少一部分来更新所述语音动作。
2.根据权利要求1所述的方法,其中,所述支持语音的电子设备包括移动设备,所述移动设备被配置为在与无线网络通信时与所述在线基于语音的查询处理器进行通信。
3.根据权利要求1所述的方法,其中,执行对所述语音输入的所述一部分的本地处理包括:
使用所述支持语音的电子设备的流送语音转文本模块将所述语音输入的数字音频信号转换为文本,其中,所述流送语音转文本模块从所述数字音频信号动态地生成多个文本令牌;以及
使用所述支持语音的电子设备的流送语义处理器从所述多个文本令牌中的至少一部分动态构建所述语音动作的所述一部分。
4.根据权利要求1所述的方法,其中,发起在线处理包括:将与所述语音输入相关联的数据发送到所述在线基于语音的查询处理器。
5.根据权利要求4所述的方法,其中,发送所述数据包括发送所述语音输入的数字音频信号的至少一部分,其中所述在线基于语音的查询处理器被配置为执行对所述数字音频信号的所述一部分的语音转文本转换和语义处理以对于所述语音输入生成在线动作。
6.根据权利要求4所述的方法,其中,执行对所述语音输入的所述一部分的所述本地处理包括从所述语音输入的数字音频信号生成多个文本令牌,其中发送所述数据包括将所述多个文本令牌中的至少一部分发送到所述在线基于语音的查询处理器,并且其中所述在线基于语音的查询处理器被配置为执行对所述数字音频信号的所述一部分的语音转文本转换和语义处理以对于所述语音输入生成在线动作。
7.根据权利要求1所述的方法,其中,中止由所述在线基于语音的查询处理器对所述语音输入的所述一部分的在线处理包括:向所述在线基于语音的查询处理器发送数据以终止由所述在线基于语音的查询处理器对所述语音输入的所述一部分的在线处理。
8.根据权利要求1所述的方法,其中,中止由所述在线基于语音的查询处理器对所述语音输入的所述一部分的在线处理包括:忽略从所述在线基于语音的查询处理器接收到的响应。
9.根据权利要求1所述的方法,其中,中止由所述在线基于语音的查询处理器对所述语音输入的所述一部分的在线处理包括:旁路将与所述语音输入相关联的数据向所述在线基于语音的查询处理器的发送。
10.根据权利要求1所述的方法,其中,在所述本地处理期间确定所述语音动作是否能够在没有从所述在线基于语音的查询处理器接收到的数据的情况下通过所述本地处理完成包括:确定所述语音输入所请求的动作是否能够在所述支持语音的电子设备中本地执行。
11.根据权利要求1所述的方法,进一步包括:响应于确定所述语音动作无法在没有从所述在线基于语音的查询处理器接收的数据的情况下通过所述本地处理完成:
推迟利用所述本地处理完成对所述语音动作的构建,直到接收到来自所述在线基于语音的查询处理器的响应;以及
使用来自所述响应的数据完成对所述语音动作的构建。
12.根据权利要求11所述的方法,进一步包括:响应于确定所述语音动作无法在没有从所述在线基于语音的查询处理器接收到的数据的情况下通过所述本地处理完成,向所述在线基于语音的查询处理器查询所述数据。
13.根据权利要求1所述的方法,其中,更新所述语音动作包括:响应于基于从所述在线基于语音的查询处理器接收的数据对所述语音动作验证失败而在所述支持语音的电子设备中校正所述语音动作。
14.一种用于处理语音输入的装置,所述装置包括存储器和可操作为执行存储在所述存储器中的指令的一个或多个处理器,所述装置包含指令以进行以下操作:
利用支持语音的电子设备接收语音输入;以及
在所述支持语音的电子设备中,并响应于接收所述语音输入的至少一部分:
由在线基于语音的查询处理器响应于接收到所述语音输入的所述至少一部分,发起在所述支持语音的电子设备中的所述语音输入的所述至少一部分的本地处理和所述语音输入的至少一部分的在线处理二者;
执行对所述语音输入的所述至少一部分的本地处理以在利用所述支持语音的电子设备完全接收所述语音输入之前动态构建语音动作的至少一部分;
在所述本地处理期间和在发起所述在线处理之后确定所述语音动作是否能够在没有从所述在线语音查询处理器接收的数据的情况下通过所述本地处理完成;
响应于确定所述语音动作能够在没有从所述在线基于语音的查询处理器接收的数据的情况下通过所述本地处理完成,中止由所述在线基于语音的查询处理器对所述语音输入的所述至少一部分的在线处理,以及利用所述本地处理完成所述语音动作的构建;以及
在中止在线处理并且利用所述本地处理完成对所述语音动作的构建之后,从所述在线基于语音的查询处理器接收数据,基于从所述在线基于语音的查询处理器接收的所述数据来验证所述语音动作,以及如果验证未通过,则使用从所述在线基于语音的查询处理器接收的所述数据的至少一部分来更新所述语音动作。
15.根据权利要求14所述的装置,其中,所述指令包括:
实现流送语音转文本模块的第一指令,所述流送语音转文本模块将所述语音输入的数字音频信号转换为文本,其中所述第一指令从所述数字音频信号动态地生成多个文本令牌;以及
实现流送语义处理器的第二指令,所述流送语义处理器从所述多个文本令牌中的至少一部分动态构建所述语音动作的所述一部分。
16.根据权利要求14所述的装置,其中,中止由所述在线基于语音的查询处理器对所述语音输入的所述一部分的在线处理的指令向所述在线基于语音的查询处理器发送数据以终止由所述在线基于语音的查询处理器对所述语音输入的所述部分的在线处理。
17.根据权利要求14所述的装置,其中,中止由所述在线基于语音的查询处理器对所述语音输入的所述一部分的在线处理的指令忽略从所述在线基于语音的查询处理器接收到的响应。
18.根据权利要求14所述的装置,其中,中止由所述在线基于语音的查询处理器对所述语音输入的所述一部分的在线处理的指令旁路将与所述语音输入相关联的数据向所述在线基于语音的查询处理器的发送。
19.一种存储计算机指令的非暂时计算机可读存储介质,所述计算机指令能够由一个或多个处理器执行以执行方法,所述方法包括:
利用支持语音的电子设备接收语音输入;以及
在所述支持语音的电子设备中,并响应于接收所述语音输入的至少一部分:
由在线基于语音的查询处理器响应于接收到所述语音输入的所述至少一部分,发起在所述支持语音的电子设备中的所述语音输入的所述至少一部分的本地处理和所述语音输入的至少一部分的在线处理二者;
执行对所述语音输入的所述至少一部分的本地处理以在利用所述支持语音的电子设备完全接收所述语音输入之前动态构建语音动作的至少一部分;
在所述本地处理期间和在发起所述在线处理之后确定所述语音动作是否能够在没有从所述在线基于语音的查询处理器接收的数据的情况下通过所述本地处理完成;
响应于确定所述语音动作能够在没有从所述在线基于语音的查询处理器接收的数据的情况下通过所述本地处理完成,中止由所述在线基于语音的查询处理器对所述语音输入的所述至少一部分的在线处理,以及利用所述本地处理完成对所述语音动作的构建;以及
在中止在线处理并且利用所述本地处理完成对所述语音动作的构建之后,从所述在线基于语音的查询处理器接收数据,基于从所述在线基于语音的查询处理器接收的所述数据来验证所述语音动作,以及如果验证未通过,则使用从所述在线基于语音的查询处理器接收的所述数据的至少一部分来更新所述语音动作。
CN201680018124.XA 2015-05-27 2016-05-20 在支持语音的电子设备中对语音输入的在线处理的选择性中止 Active CN107430852B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/723,324 2015-05-27
US14/723,324 US9870196B2 (en) 2015-05-27 2015-05-27 Selective aborting of online processing of voice inputs in a voice-enabled electronic device
PCT/US2016/033654 WO2016191317A1 (en) 2015-05-27 2016-05-20 Selective aborting of online processing of voice inputs in a voice-enabled electronic device

Publications (2)

Publication Number Publication Date
CN107430852A CN107430852A (zh) 2017-12-01
CN107430852B true CN107430852B (zh) 2019-04-09

Family

ID=56098410

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680018124.XA Active CN107430852B (zh) 2015-05-27 2016-05-20 在支持语音的电子设备中对语音输入的在线处理的选择性中止

Country Status (4)

Country Link
US (1) US9870196B2 (zh)
EP (1) EP3304546B1 (zh)
CN (1) CN107430852B (zh)
WO (1) WO2016191317A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
KR102380145B1 (ko) 2013-02-07 2022-03-29 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
CN113168336B (zh) * 2018-08-27 2024-07-19 谷歌有限责任公司 基于实验参数适配功能电话的客户端应用
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
CN110444206A (zh) * 2019-07-31 2019-11-12 北京百度网讯科技有限公司 语音交互方法及装置、计算机设备与可读介质
US11804215B1 (en) * 2022-04-29 2023-10-31 Apple Inc. Sonic responses

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102792294A (zh) * 2009-11-10 2012-11-21 声钰科技 自然语言语音服务环境中的混合处理的系统及方法
WO2014055076A1 (en) * 2012-10-04 2014-04-10 Nuance Communications, Inc. Improved hybrid controller for asr
US8892439B2 (en) * 2009-07-15 2014-11-18 Microsoft Corporation Combination and federation of local and remote speech recognition

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU5962494A (en) 1992-12-31 1994-08-15 Apple Computer, Inc. A speech recognition system
US5857099A (en) 1996-09-27 1999-01-05 Allvoice Computing Plc Speech-to-text dictation system with audio message capability
US6856960B1 (en) * 1997-04-14 2005-02-15 At & T Corp. System and method for providing remote automatic speech recognition and text-to-speech services via a packet network
US8209184B1 (en) * 1997-04-14 2012-06-26 At&T Intellectual Property Ii, L.P. System and method of providing generated speech via a network
US6779030B1 (en) * 1997-10-06 2004-08-17 Worldcom, Inc. Intelligent network
US6408272B1 (en) * 1999-04-12 2002-06-18 General Magic, Inc. Distributed voice user interface
US6442520B1 (en) 1999-11-08 2002-08-27 Agere Systems Guardian Corp. Method and apparatus for continuous speech recognition using a layered, self-adjusting decoded network
US6678415B1 (en) 2000-05-12 2004-01-13 Xerox Corporation Document image decoding using an integrated stochastic language model
US20020042707A1 (en) * 2000-06-19 2002-04-11 Gang Zhao Grammar-packaged parsing
US7464033B2 (en) 2000-07-31 2008-12-09 Texas Instruments Incorporated Decoding multiple HMM sets using a single sentence grammar
US6421607B1 (en) * 2000-09-22 2002-07-16 Motorola, Inc. System and method for distributed navigation service
US6751595B2 (en) * 2001-05-09 2004-06-15 Bellsouth Intellectual Property Corporation Multi-stage large vocabulary speech recognition system and method
DE10147341B4 (de) * 2001-09-26 2005-05-19 Voiceobjects Ag Verfahren und Vorrichtung zum Aufbau einer in einem Computersystem implementierten Dialogsteuerung aus Dialogobjekten sowie zugehöriges Computersystem zur Durchführung einer Dialogsteuerung
US20030120493A1 (en) * 2001-12-21 2003-06-26 Gupta Sunil K. Method and system for updating and customizing recognition vocabulary
US7398209B2 (en) * 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7233786B1 (en) * 2002-08-06 2007-06-19 Captaris, Inc. Providing access to information of multiple types via coordination of distinct information services
US7197331B2 (en) * 2002-12-30 2007-03-27 Motorola, Inc. Method and apparatus for selective distributed speech recognition
US7729913B1 (en) * 2003-03-18 2010-06-01 A9.Com, Inc. Generation and selection of voice recognition grammars for conducting database searches
US8292433B2 (en) * 2003-03-21 2012-10-23 Queen's University At Kingston Method and apparatus for communication between humans and devices
US7653191B1 (en) * 2003-06-26 2010-01-26 Microsoft Corporation Voice call routing by dynamic personal profile
US7392188B2 (en) * 2003-07-31 2008-06-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method enabling acoustic barge-in
WO2006037219A1 (en) 2004-10-05 2006-04-13 Inago Corporation System and methods for improving accuracy of speech recognition
US7606708B2 (en) * 2005-02-01 2009-10-20 Samsung Electronics Co., Ltd. Apparatus, method, and medium for generating grammar network for use in speech recognition and dialogue speech recognition
US7949529B2 (en) * 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
US11153425B2 (en) * 2005-09-01 2021-10-19 Xtone, Inc. System and method for providing interactive services
US20090220926A1 (en) 2005-09-20 2009-09-03 Gadi Rechlis System and Method for Correcting Speech
US7929941B2 (en) * 2005-12-16 2011-04-19 Alcatel-Lucent Usa Inc. System for providing emergency voice mail service
US7689420B2 (en) * 2006-04-06 2010-03-30 Microsoft Corporation Personalizing a context-free grammar using a dictation language model
US20070276651A1 (en) 2006-05-23 2007-11-29 Motorola, Inc. Grammar adaptation through cooperative client and server based speech recognition
US7664530B2 (en) * 2006-06-09 2010-02-16 AT&I Intellectual Property I, L.P Method and system for automated planning using geographical data
US8949130B2 (en) * 2007-03-07 2015-02-03 Vlingo Corporation Internal and external speech recognition use with a mobile communication facility
TWI375933B (en) * 2007-08-07 2012-11-01 Triforce Co Ltd Language learning method and system thereof
US8166126B2 (en) * 2007-09-18 2012-04-24 Cassidian Communications, Inc. System and method for distributing notifications to a group of recipients
US20100172287A1 (en) * 2007-10-25 2010-07-08 Krieter Marcus Temporal network server connected devices with off-line ad hoc update and interaction capability
US8463424B2 (en) * 2007-11-07 2013-06-11 Research In Motion Limited System and method for displaying address information on a map
WO2009082684A1 (en) 2007-12-21 2009-07-02 Sandcherry, Inc. Distributed dictation/transcription system
US8700310B2 (en) * 2008-02-05 2014-04-15 Madhavi Jayanthi Mobile device and server for facilitating GPS based services
US8589161B2 (en) 2008-05-27 2013-11-19 Voicebox Technologies, Inc. System and method for an integrated, multi-modal, multi-device natural language voice services environment
US8676904B2 (en) * 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20100153335A1 (en) * 2008-12-12 2010-06-17 Microsoft Corporation Synchronizing multiple classes with disparate schemas in the same collection
US8695058B2 (en) * 2009-05-20 2014-04-08 Mobile Iron, Inc. Selective management of mobile device data in an enterprise environment
US9172803B2 (en) * 2009-08-23 2015-10-27 Aspect Software, Inc. System and method for integrating runtime usage statistics with developing environment
US9502025B2 (en) * 2009-11-10 2016-11-22 Voicebox Technologies Corporation System and method for providing a natural language content dedication service
US8582727B2 (en) * 2010-04-21 2013-11-12 Angel.Com Communication of information during a call
US8954291B2 (en) * 2010-09-30 2015-02-10 Fitbit, Inc. Alarm setting and interfacing with gesture contact interfacing controls
US8719368B2 (en) * 2010-10-07 2014-05-06 Facebook, Inc. Preferred contact channel for user communications
US8869307B2 (en) * 2010-11-19 2014-10-21 Mobile Iron, Inc. Mobile posture-based policy, remediation and access control for enterprise resources
US9183843B2 (en) * 2011-01-07 2015-11-10 Nuance Communications, Inc. Configurable speech recognition system using multiple recognizers
US10032455B2 (en) 2011-01-07 2018-07-24 Nuance Communications, Inc. Configurable speech recognition system using a pronunciation alignment between multiple recognizers
US9679561B2 (en) * 2011-03-28 2017-06-13 Nuance Communications, Inc. System and method for rapid customization of speech recognition models
GB2493413B (en) 2011-07-25 2013-12-25 Ibm Maintaining and supplying speech models
JP5821639B2 (ja) * 2012-01-05 2015-11-24 株式会社デンソー 音声認識装置
US20130246392A1 (en) * 2012-03-14 2013-09-19 Inago Inc. Conversational System and Method of Searching for Information
US20140036023A1 (en) * 2012-05-31 2014-02-06 Volio, Inc. Conversational video experience
WO2013185109A2 (en) * 2012-06-08 2013-12-12 Apple Inc. Systems and methods for recognizing textual identifiers within a plurality of words
US20140039893A1 (en) 2012-07-31 2014-02-06 Sri International Personalized Voice-Driven User Interfaces for Remote Multi-User Services
US9384736B2 (en) * 2012-08-21 2016-07-05 Nuance Communications, Inc. Method to provide incremental UI response based on multiple asynchronous evidence about user input
US9583100B2 (en) * 2012-09-05 2017-02-28 GM Global Technology Operations LLC Centralized speech logger analysis
CN104641669B (zh) * 2012-09-21 2019-03-01 苹果公司 用于在不要求网络访问的情况下的电子访问客户端的控制切换的装置和方法
WO2014060054A1 (de) 2012-10-16 2014-04-24 Audi Ag Spracherkennung in einem kraftfahrzeug
US20150254518A1 (en) * 2012-10-26 2015-09-10 Blackberry Limited Text recognition through images and video
US9093069B2 (en) * 2012-11-05 2015-07-28 Nuance Communications, Inc. Privacy-sensitive speech model creation via aggregation of multiple user models
US9185227B2 (en) * 2012-12-14 2015-11-10 Kirusa, Inc. Sender driven call completion system
US8977555B2 (en) 2012-12-20 2015-03-10 Amazon Technologies, Inc. Identification of utterance subjects
US8494853B1 (en) * 2013-01-04 2013-07-23 Google Inc. Methods and systems for providing speech recognition systems based on speech recordings logs
WO2014144579A1 (en) 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
KR102073102B1 (ko) * 2013-03-21 2020-02-04 삼성전자 주식회사 언어인식을 위한 언어모델 db, 언어인식장치와 언어인식방법, 및 언어인식시스템
US9449599B2 (en) 2013-05-30 2016-09-20 Promptu Systems Corporation Systems and methods for adaptive proper name entity recognition and understanding
US9904720B2 (en) * 2013-09-18 2018-02-27 Facebook, Inc. Generating offline content
EP3047481A4 (en) * 2013-09-20 2017-03-01 Amazon Technologies Inc. Local and remote speech processing
US9530416B2 (en) * 2013-10-28 2016-12-27 At&T Intellectual Property I, L.P. System and method for managing models for embedded speech and language processing
US20150120296A1 (en) * 2013-10-29 2015-04-30 At&T Intellectual Property I, L.P. System and method for selecting network-based versus embedded speech processing
US9666188B2 (en) 2013-10-29 2017-05-30 Nuance Communications, Inc. System and method of performing automatic speech recognition using local private data
US20150186892A1 (en) * 2013-12-30 2015-07-02 Tencent Technology (Shenzhen) Company Limited Methods and systems for verifying a transaction
US20150255068A1 (en) 2014-03-10 2015-09-10 Microsoft Corporation Speaker recognition including proactive voice model retrieval and sharing features
US20150293509A1 (en) * 2014-04-15 2015-10-15 Ford Global Technologies, Llc In-vehicle home automation integration
US20150370787A1 (en) 2014-06-18 2015-12-24 Microsoft Corporation Session Context Modeling For Conversational Understanding Systems
US9462112B2 (en) * 2014-06-19 2016-10-04 Microsoft Technology Licensing, Llc Use of a digital assistant in communications
US20150371628A1 (en) 2014-06-23 2015-12-24 Harman International Industries, Inc. User-adapted speech recognition
US9548066B2 (en) 2014-08-11 2017-01-17 Amazon Technologies, Inc. Voice application architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892439B2 (en) * 2009-07-15 2014-11-18 Microsoft Corporation Combination and federation of local and remote speech recognition
CN102792294A (zh) * 2009-11-10 2012-11-21 声钰科技 自然语言语音服务环境中的混合处理的系统及方法
WO2014055076A1 (en) * 2012-10-04 2014-04-10 Nuance Communications, Inc. Improved hybrid controller for asr

Also Published As

Publication number Publication date
US9870196B2 (en) 2018-01-16
EP3304546B1 (en) 2020-12-23
US20160350070A1 (en) 2016-12-01
EP3304546A1 (en) 2018-04-11
CN107430852A (zh) 2017-12-01
WO2016191317A1 (en) 2016-12-01

Similar Documents

Publication Publication Date Title
CN107430852B (zh) 在支持语音的电子设备中对语音输入的在线处理的选择性中止
US10986214B2 (en) Local persisting of data for selectively offline capable voice action in a voice-enabled electronic device
US11935521B2 (en) Real-time feedback for efficient dialog processing
CN107430855A (zh) 在支持语音的电子设备中对语音转文本模型的场境敏感动态更新
US11551665B2 (en) Dynamic contextual dialog session extension
CN109196532A (zh) 数字助理请求的异步处理
EP4029012B1 (en) Techniques for dialog processing using contextual data
US11012384B2 (en) Application initiated conversations for chatbots
US20210319347A1 (en) Fast and scalable multi-tenant serve pool for chatbots
US11501065B2 (en) Semantic parser including a coarse semantic parser and a fine semantic parser
CN106991106A (zh) 减少由切换输入模态所引起的延迟
US11810553B2 (en) Using backpropagation to train a dialog system
CN107122154A (zh) 资源受限设备中离线语义处理的便利化
US20210074262A1 (en) Implementing a correction model to reduce propagation of automatic speech recognition errors
US20170337079A1 (en) Interaction framework for executing user instructions with online services

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant