CN115699167A - 当确定是否从某些客户端设备卸载助理相关处理任务时补偿硬件差异 - Google Patents

当确定是否从某些客户端设备卸载助理相关处理任务时补偿硬件差异 Download PDF

Info

Publication number
CN115699167A
CN115699167A CN202080101326.7A CN202080101326A CN115699167A CN 115699167 A CN115699167 A CN 115699167A CN 202080101326 A CN202080101326 A CN 202080101326A CN 115699167 A CN115699167 A CN 115699167A
Authority
CN
China
Prior art keywords
computing device
data
client computing
server computing
server
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
CN202080101326.7A
Other languages
English (en)
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 CN115699167A publication Critical patent/CN115699167A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • 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/005Language recognition
    • 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/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/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/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

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

Abstract

本文阐述的实施方式涉及基于不限于信号强度的网络度量将计算任务卸载到单独的计算设备,或暂时停止这种卸载。相反,用于确定是否继续依赖与服务器计算设备的网络连接用于某些计算任务的网络度量能够是基于与服务器计算设备的当前或最近交互。以这种方式,在具有强大天线但以其他方式受限的网络速度的计算设备处执行的应用能够确定暂时排他性地依赖本地处理。例如,即使可能看起来存在足够的信号强度来有效地传送音频数据,自动助理也能够响应于确定网络度量未能满足阈值而在对话会话期间暂时停止将音频数据传递到远程服务器计算设备。

Description

当确定是否从某些客户端设备卸载助理相关处理任务时补偿 硬件差异
背景技术
在各种情况下,应用可以依赖来自本地网络硬件的信息以便做出操作决策。例如,自动助理可以依赖网络硬件来确定是否将某些任务卸载到服务器。为了做出此类确定,网络硬件能够使某些操作度量可用。这些操作度量能够包括例如信号强度,该信号强度能够提供网络硬件的蜂窝信号强度的指示。
然而,在某些情况下,这些操作度量相对于某些应用的硬件的实用性和/或效率可能不是完全决定性的。例如,车辆能够具有采用车辆的网络硬件以便通过蜂窝网络进行通信的计算设备。网络硬件能够包括比其它计算设备(诸如蜂窝电话)采用的天线更强大的天线。因此,有效地依赖蜂窝电话的操作度量的应用可能被车辆网络硬件或其它设备所提供的类似操作度量误导。
例如,依赖信号强度(dB)来确定是否与服务器计算设备通信的应用在车辆计算设备中执行时可能无法有效地运行。这可能是与蜂窝电话天线相比车辆天线能够实现更低的信号强度网络连接的结果。因此,无论某些连接特性如何,当应用确定车辆天线呈现出阈值信号强度时,应用可以选择经由车辆天线发送和接收数据。即使在某些连接特性欠佳(例如,无连接、低速等)时,这也可能导致数据的发送和接收(或至少尝试发送和接收)。因此,尽管从应用的角度,已经选择用于执行网络通信的适当模式,但是应用可能呈现出处理延迟和/或其它操作缺陷。
发明内容
本文阐述的实施方式涉及基于指示与服务器计算设备的正在进行的或最近的通信的连接状态的一个或多个网络度量来确定是否将自动助理任务卸载到服务器计算设备。网络度量能够包括与诸如信号强度的其它网络度量不同的度量。此类网络度量能够是基于由服务器计算设备提供的数据和/或从与服务器计算设备交互确定的其它信息。例如,当在用户与自动助理之间的对话会话期间自动助理从用户接收口头话语时,自动助理能够选择将音频数据发送到服务器计算设备以进行语音到文本处理。服务器计算设备接收和/或处理音频数据的部分的处理速率能够由服务器计算设备确定并提供到客户端计算设备。这能够允许服务器计算设备和客户端计算设备基于处理速率做出它们自己的相应处理决策。在一些实施方式中,处理速率能够由客户端计算设备确定。在一些实施方式中,处理速率能够被确定为网络度量,并且能够由自动助理用于选择是否继续使用服务器计算设备来处理附加音频数据。
例如,能够通过将指示服务器计算设备在一时间量期间处理和/或接收到的音频数据量的值除以时间量来确定处理速率。例如,时间量能够是自客户端计算设备开始提供音频数据以来的时间量、自服务器计算设备开始接收音频数据量以来的时间量、或固定时间量(例如,最后2秒)。指示服务器计算设备处理和/或接收到的音频数据量的值能够是指示已经处理和/或接收到的音频数据包的数量的值、已经处理和/或接收到的音频数据的总大小、和/或其它值。关于服务器计算设备接收到和/或处理多少音频数据的细节能够由随时间提供到客户端计算设备的数据表征。
作为一个示例,服务器计算设备能够向客户端计算设备发送确认。例如,服务器计算设备能够在从客户端接收到每个数据包(例如,音频数据包)时和/或只要继续从客户端接收到数据(例如,音频数据)就以规则间隔发送确认。处理速率能够由客户端设备在本地基于在一时间量内接收到的确认的数量来确定。例如,处理速率能够是将在一时间段内接收到的确认的数量除以该时间段的持续时间的函数。在一些实施方式中,确认可能缺乏直接指示服务器已经从客户端计算设备接收到和/或处理的数据量的任何数据。相反,它们能够仅仅是正在从客户端计算设备接收到数据的确认。在那些实施方式中,确认仍然能够被用于基于在一时间段内接收到的确认的数量来确定处理速率。在其它实施方式中,确认能够包括直接指示服务器已经从客户端计算设备接收到和/或处理的数据的数量的数据,并且此类数据用于确定处理速率。在一些实施方式中,处理速率能够是基于使用由服务器提供的时间戳与由客户端计算设备提供的另一时间戳之间的差值确定的参考时间。例如,从相应设备的角度来看,每个时间戳能够对应于交互的开始。在一些实施方式中,处理速率能够是使用表征在客户端计算设备处生成或由客户端计算设备接收到的音频的持续时间的时间度量确定的参考时间。音频的该持续时间能够是指音频的部分的持续时间,或要处理的整个音频量的持续时间。
取决于自动助理的选择,能够在客户端计算设备或服务器计算设备处处理在对话会话期间生成的任何附加音频数据。因此,当自动助理能够基于处理速率或其它网络度量而不是仅基于信号强度来做出此类决策时,自动助理能够对用户做出更大响应,同时还消除处理延迟并且防止数据到服务器设备的不必要的资源密集型传输。例如,如果网络度量指示到服务器计算设备的连接状态不佳或甚至不存在,则客户端计算设备能够依赖本地处理来处理和响应用户的口头话语。即使本地处理可能不如服务器的处理准确和/或稳健,但基于网络度量选择性地依赖本地处理对于许多口头话语来说能够仍然是成功的,同时防止在连接状态不佳或不存在时等待服务器处理的过度延时。这能够缩短对话会话的总持续时间并且防止在更长的对话会话中过度使用客户端计算设备资源。此外,能够响应于网络度量指示连接状态不佳或不存在而停止对音频数据的继续传输,从而防止在传输中涉及的客户端设备网络接口的不必要的使用,并且防止在尝试将音频数据路由到服务器计算设备中涉及的网络资源的使用。
在一些实施方式中,能够经由车辆计算设备(即,客户端计算设备)访问自动助理(例如,集成为车辆计算设备的一部分),车辆计算设备是运输一个或多个用户的车辆的一部分,并且采用与其它设备(诸如蜂窝电话)的天线不同的天线。当乘坐在车辆中时,用户能够向客户端计算设备提供口头话语,以便初始化用户与自动助理之间的对话会话并且使自动助理执行动作。客户端计算设备能够根据来自用户的正在进行的口头话语来生成音频数据,并且经由网络连接将音频数据的部分(例如,以流媒体方式)传送到服务器计算设备。音频数据的传输能够是经由车辆的天线(例如,经由天线与蜂窝塔之间的通信信道)。然后,服务器计算设备能够经由一个或多个过程将接收到的音频数据转换为文本,对转换后的文本执行自然语言处理,基于自然语言处理来生成履行数据,和/或执行对音频数据的其它处理(包括对音频数据本身的处理,或对基于音频数据生成的文本或其它数据的处理)。
当用户正在对自动助理说话时,由服务器计算设备提供的自然语言内容能够可选地在客户端计算设备的显示界面处渲染为用户迄今为止所说的话的转录(例如,“嘿,助理,搜索附近……”)。在此时间期间,客户端计算设备可能仍然在向服务器计算设备提供音频数据的其它部分,和/或用户可能仍然在对自动助理说话(例如,“……具有儿童菜单的餐厅”)。只要一个或多个网络度量满足一个或多个相应阈值,自动助理就可以选择继续向服务器计算设备提供音频数据的其它部分。然而,本文阐述的实施方式允许自动助理响应于一个或多个网络度量满足某些条件而暂时停止向服务器计算设备提供音频数据的其它部分(例如,来自同一话语或后续话语)。
例如,客户端计算设备能够确定客户端计算设备向服务器计算设备提供音频数据的部分与从服务器计算设备接收对应内容之间已经经过的时间量。此时间量能够是决定自动助理是否应该继续向服务器计算设备提供音频数据的部分以进行进一步处理的基础。另外或替代地,客户端计算设备能够基于由服务器计算设备提供的数据来确定服务器计算设备已经接收到和/或处理的音频数据量。另外或替代地,客户端计算设备能够基于由服务器计算设备提供的数据来确定服务器计算设备正在接收和/或处理数据的估计速率(即,处理速率)。例如,对于特定对话会话,客户端计算设备能够在M秒的持续时间内从服务器计算设备接收N数目个确认。因此,针对特定持续时间的估计速率能够是N/M的函数。
这些值中的一个或多个然后能够用作用于确定自动助理是否应该依赖服务器计算设备以进行与正在进行的对话会话相关联的进一步处理的基础。例如,这些值中的一个或多个能够用作用于确定自动助理是应该依赖在服务器计算设备处的语音到文本处理来进行对话会话还是应该替代地依赖在客户端计算设备处的语音到文本处理来进行对话会话的基础。作为另一示例,这些值中的一个或多个能够另外或替代地用作用于确定自动助理是应该依赖在服务器计算设备处的自然语言处理来进行对话会话还是应该替代地依赖在客户端计算设备处的自然语言处理来进行对话会话的基础。作为又一示例,这些值中的一个或多个能够另外或替代地用作用于确定自动助理是应该依赖要在服务器计算设备处生成的履行数据和/或执行的履行来进行对话会话还是应该替代地依赖在客户端计算设备处的履行数据生成和/或履行来进行对话会话的基础。
作为一个特定实例,客户端计算设备能够记录对应于用户与自动助理之间的对话会话的开始的初始时间戳。此初始时间戳还能够标记由客户端计算设备生成的音频数据的开始。当服务器计算设备接收到音频数据的初始部分时,服务器计算设备能够确定初始时间戳与服务器计算设备接收到音频数据的初始部分的后续时间之间的偏移。然后,服务器计算设备能够确定服务器计算设备已经从客户端计算设备接收到或已经处理的以时间为单位的总音频数据量,并且与客户端计算设备共享此值。服务器计算设备能够频繁地生成此值,并且经由通过网络连接传送的一系列确认与客户端计算设备共享此值。
当自动助理确定服务器计算设备已经在一时间段内接收到或处理至少特定量的音频数据或非音频数据时,自动助理能够继续将音频数据或非音频数据的其它部分(例如,图像数据、位置数据、其它媒体数据)发送到服务器计算设备(例如,当前对话会话或后续对话会话的音频数据)。然而,当自动助理确定服务器计算设备尚未在特定时间段内接收到或处理至少特定量的音频数据时,自动助理能够停止将音频数据的其它部分发送到服务器计算设备。相反,自动助理能够决定在客户端计算设备处本地处理与对话会话相对应的音频数据的其它部分,以便生成附加自然语言内容。因此,自动助理可以为用户渲染在服务器计算设备处导出的自然语言内容的部分和在客户端计算设备处导出的自然语言内容的另一部分。
提供以上描述作为本公开的一些实施方式的概述。在下面更详细地描述这些实施方式和其它实施方式的进一步描述。
其它实施方式可以包括一种存储指令的非暂时性计算机可读存储介质,这些指令能由一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、和/或张量处理单元(TPU))执行以执行诸如上文和/或本文中其它地方描述的方法中的一个或多个的方法。另外的其它实施方式可以包括一个或多个计算机的系统,该一个或多个计算机包括一个或多个处理器,该一个或多个处理器可操作以执行存储的指令以执行诸如上文和/或本文中其它地方描述的方法中的一个或多个的方法。
应理解,本文中更详细描述的前述概念和附加概念的所有组合被认为是本文所公开的主题的一部分。例如,出现在本公开的开头处的要求保护的主题的所有组合被认为是本文所公开的主题的一部分。
附图说明
图1A、图1B和图1C是确定是否基于不限于信号强度的网络度量来卸载计算任务的自动助理和/或客户端计算设备的视图。
图2图示基于不限于信号强度并且可以是基于用户与自动助理之间的最近交互的网络度量来确定是否卸载计算任务的系统。
图3图示用于基于指示与服务器计算设备的正在进行的或最近的通信的进展的一个或多个网络度量来确定是否将自动助理任务卸载到服务器计算设备的方法。
图4是示例计算机系统的框图。
具体实施方式
图1A、图1B和图1C图示确定是否基于不限于信号强度的网络度量来卸载计算任务的自动助理和/或客户端计算设备110的视图100、视图130和视图140。用户108能够经由能够位于车辆112中的客户端计算设备110初始化自动助理,车辆112包括与便携式计算设备114的另一天线不同的天线。车辆112和/或车辆112的天线的某些特征可以使客户端计算设备110指示客户端计算设备110正在呈现出用于与服务器计算设备102通信的适当信号强度(例如,如在界面104处所图示)。然而,为了确保网络连接和/或服务器计算设备102令人满意,客户端计算设备110和/或服务器计算设备102能够依赖一个或多个网络度量——不限于信号强度。当计算设备的信号强度(例如,由便携式计算设备的界面106指示的信号强度和由客户端计算设备110的界面104指示的信号强度)之间存在差异时,这能够允许自动助理和/或客户端计算设备110更可靠地执行网络和/或本地任务。
例如,用户108能够提供正在进行的口头话语118,诸如“Assistant,could youcall…(助理,你可以呼叫……)”,其能够由客户端计算设备110接收为可听输入。响应于接收到口头话语118,客户端计算设备110能够生成音频数据120,该音频数据能够被存储在客户端计算设备110处并且能够表征来自用户108的正在进行的口头话语的初始部分。为了使自动助理对用户108做出响应,能够处理音频数据120以便识别用户108正在请求自动助理执行的一个或多个动作。在一些实施方式中,客户端计算设备110能够在本地执行此类处理,以及与服务器计算设备102通信,以便服务器计算设备102能够协助此类处理。然而,当服务器计算设备102和/或网络连接呈现出可靠性问题,同时仍然指示适当的信号强度时,客户端计算设备110和/或自动助理能够依赖本地生成的内容来响应用户108。
作为示例,客户端计算设备110能够向服务器计算设备102提供音频数据122的部分,同时也在客户端计算设备110处本地处理音频数据122。尽管客户端计算设备110可以指示适当的信号强度(例如,如由界面104的5个填充条所指示),但是客户端计算设备110和/或自动助理能够识别一个或多个网络度量以确定是否继续寻求非本地处理以响应用户108。
在一些实施方式中,服务器计算设备102能够向客户端计算设备110提供状态数据124和/或向客户端计算设备110提供内容数据。状态数据124能够指示服务器计算设备102已经从客户端计算设备110接收到和/或处理的音频数据的数量。在一些实施方式中,音频数据的数量能够由数据量(例如字节)、时间长度(例如毫秒)和/或能够量化接收到的数据量的任何其它量度单位表征。在一些实施方式中,当接收到来自用户108的正在进行的口头话语时,客户端计算设备110能够从服务器计算设备102接收状态数据124的多个实例。客户端计算设备110能够基于状态数据124的一个或多个实例来确定一个或多个网络度量。
在一些实施方式中,并且当来自用户108的正在进行的口头话语继续时,客户端计算设备110能够提供音频数据134的附加部分并且服务器计算设备102能够提供附加状态数据136。例如,如图1B中所图示,用户108能够通过说“…the nearest post office?(……最近的邮局?)”作为附加口头话语132来继续正在进行的口头话语。当用户108正在继续提供正在进行的口头话语时,客户端计算设备110能够提供音频数据134的附加部分,其能够表征口头话语118和/或口头话语132的部分。此外,当用户108正在继续提供正在进行的口头话语时,客户端计算设备110和/或自动助理能够处理状态数据124和/或状态数据136。
在一些实施方式中,客户端计算设备110能够确定基于服务器计算设备102正在接收音频数据的部分的速率的网络度量。另外或替代地,网络度量能够是基于服务器计算设备102正在处理音频数据的部分的速率。例如,在一些实施方式中,客户端计算设备110能够使用已经在音频数据的部分所对应的初始时间戳与指示接收到状态数据124的时间的接收时间戳之间经过的和/或包括音频数据的部分所对应的初始时间戳和指示接收到状态数据124的时间的接收时间戳的时间量来生成网络度量。此网络度量能够表征接收速率,并且当接收速率不满足阈值时,自动助理能够确定暂时停止与服务器计算设备102通信。
替代地或另外,客户端计算设备110能够使用已经在客户端计算设备110将音频数据122的部分提供到服务器计算设备102时与客户端计算设备110接收到状态数据124时之间经过的和/或包括客户端计算设备110将音频数据122的部分提供到服务器计算设备102时和客户端计算设备110接收到状态数据124时的时间量来生成网络度量。此网络度量能够表征传输速率,并且当接收速率不满足阈值时,自动助理能够暂时停止与服务器计算设备102通信。
替代地或另外,客户端计算设备110能够使用已经为特定对话会话提供到服务器计算设备102的数据量和服务器计算设备102已经处理的数据量来生成网络度量。此网络度量能够表征处理速率,并且当处理速率不满足阈值时,自动助理能够暂时停止与服务器计算设备102通信。
在一些实施方式中,当一个或多个网络度量不满足一个或多个相应阈值时,客户端计算设备110和/或自动助理能够确定依赖本地处理以对来自用户108的口头话语做出响应。例如,客户端计算设备110能够生成表征口头话语的自然语言内容的本地内容数据142。在一些情况下,能够在服务器计算设备102处处理一定量的音频数据,以向客户端计算设备110提供内容数据。这能够在客户端计算设备110暂时停止与服务器计算设备102通信之前发生。因此,当客户端计算设备110正在对用户108做出响应时,客户端计算设备110可以依赖来自服务器计算设备102和客户端计算设备110的内容数据。另外或替代地,能够在客户端计算设备110的显示界面处提供来自用户108的正在进行的口头话语的转录。转录能够包括基于来自服务器计算设备102的内容和/或在客户端计算设备110处生成的内容而确定的自然语言内容。
在一些实施方式中,客户端计算设备110能够在本地执行语音到文本处理,以便生成能够表征来自用户108的口头话语的自然语言内容的本地内容数据142。基于本地内容数据142,自动助理能够确定来自用户108的口头话语是否包括可执行的一个或多个请求,而无需与服务器计算设备102和/或与客户端计算设备110分离的任何其它计算设备通信。例如,自动助理能够基于内容数据来确定用户108请求能够涉及与远程计算设备通信的动作。另外,客户端计算设备110能够基于一个或多个网络度量来确定网络连接可能不可靠。基于这些确定,自动助理能够在客户端计算设备110的显示界面处渲染消息144。例如,基于这些情况为用户108渲染的消息能够指示自动助理能够在稍后的时间提醒用户108所请求的动作(例如“Sorry.Would you like me to remind you about this call later?(“对不起。您希望我稍后提醒您此呼叫吗?”)。响应于来自用户108的确认口头话语146(例如,“Yes(是)”),自动助理能够生成提醒数据,该提醒数据能够使客户端计算设备110和/或另一计算设备在稍后的时间提供识别来自用户108的所请求的动作的提醒。
另外或替代地,当用户108向消息144提供肯定响应时,自动助理能够生成数据,当一个或多个网络度量满足一个或多个相应阈值时,该数据使客户端计算设备110或另一计算设备初始化对请求的动作的执行。例如,客户端计算设备110能够继续ping服务器计算设备102,以基于服务器计算设备102的响应性来生成后续网络度量。因此,当一个或多个网络度量呈现出合适的值时,自动助理能够初始化对先前请求的未完成的动作的执行,和/或提示用户108他们是否希望完成先前请求的动作。
在一些实施方式中,网络度量的阈值能够是基于其中用户108向自动助理提供口头话语的上下文的一个或多个特征。例如,阈值能是基于用户108正在访问的客户端计算设备110(例如,车辆计算设备)的类型。另外或替代地,阈值能够是基于客户端计算设备110和/或自动助理尝试访问的服务器计算设备102的类型。另外或替代地,网络度量的阈值能够是基于由用户108正在请求自动助理初始化的动作的类型。另外或替代地,网络度量的阈值能够是基于客户端计算设备110的连接的信号强度和/或便携式计算设备114的另一连接的另一信号强度。在一些实施方式中,网络度量的阈值能够是基于用户是否被认证以经由客户端计算设备访问用户账户。替代地或另外,网络度量的阈值能够是基于提供正在进行的口头话语所用的特定语言(例如,斯瓦希里语、法语、德语等)。
图2图示基于不限于信号强度并且可以基于用户与自动助理204之间的最近交互的网络度量来确定是否卸载计算任务的系统200。自动助理204能够操作为在一个或多个计算设备(诸如计算设备202和/或服务器设备)处提供的助理应用的一部分。用户能够经由助理接口220与自动助理204交互,助理接口能够是麦克风、相机、触摸屏显示器、用户接口、和/或能够在用户与应用之间提供接口的任何其它装置。例如,用户能够通过向助理接口220提供语音、文本和/或图形输入来初始化自动助理204,以使自动助理204初始化一个或多个动作(例如,提供数据、控制外围设备、访问代理、生成输入和/输出等)。替代地,能够使用一个或多个经训练的机器学习模型基于对上下文数据236的处理来初始化自动助理204。上下文数据236能够表征其中自动助理204可访问的环境的一个或多个特征,和/或预测为打算与自动助理204交互的用户的一个或者多个特征。
计算设备202能够包括显示设备,该显示设备能够是包括用于接收触摸输入和/或手势以允许用户经由触摸界面控制计算设备202的应用234的触摸界面的显示面板。在一些实施方式中,计算设备202能够缺少显示设备,由此提供可听的用户接口输出,而不提供图形用户界面输出。此外,计算设备202能够提供用于从用户接收口头自然语言输入的用户接口,诸如麦克风。在一些实施方式中,计算设备202能够包括触摸界面并且能够缺乏相机,但是能够可选地包括一个或多个其它传感器。
计算设备202和/或其它第三方客户端设备能够通过诸如因特网的网络与服务器设备通信。另外,计算设备202和任何其它计算设备能够通过诸如Wi-Fi网络的局域网(LAN)彼此通信。计算设备202能够将计算任务卸载到服务器设备,以便节省计算设备202处的计算资源。例如,服务器设备能够托管自动助理204,和/或计算设备202能够将在一个或多个助理接口220处接收到的输入传送到服务器设备。然而,在一些实施方式中,自动助理204能够被托管在计算设备202处,并且能够与自动助理操作相关联的各种过程能够在计算设备202处执行。
在各种实施方式中,自动助理204的所有或少于所有方面能够在计算设备202上实现。在这些实施方式中的一些实施方式中,自动助理204的方面经由计算设备202实现,并且能够与能够实现自动助理204的其它方面的服务器设备对接。服务器设备能够可选地经由多个线程服务多个用户以及其相关联的自动助理应用。在经由计算设备202实现自动助理204的所有方面或少于所有方面的实施方式中,自动助理204能够是与计算设备202的操作系统分离的应用(例如,安装在操作系统的“顶部”),或者能够替代地直接由计算设备202的操作系统实现(例如,被认为是操作系统的应用,但与操作系统集成)。
在一些实施方式中,自动助理204能够包括输入处理引擎206,该输入处理引擎能够采用多个不同的模块来处理计算设备202和/或服务器设备的输入和/或输出。例如,输入处理引擎206能够包括语音处理引擎208,该语音处理引擎能够处理在助理接口220处接收到的音频数据,以识别体现在音频数据中的文本。能够将音频数据从例如计算设备202传送到服务器设备,以便在网络连接可用时保留计算设备202处的计算资源。另外或替代地,能够在计算设备202处排他性地处理音频数据。
用于将音频数据转换为文本的过程能够包括语音辨识算法,该语音辨识算法能够采用神经网络和/或统计模型来识别与单词或短语相对应的音频数据组。从音频数据转换的文本能够由数据解析引擎210解析,并且可以作为文本数据对自动助理204可用,该文本数据能够用于生成和/或识别命令短语、意图、动作、时隙值和/或由用户指定的任何其它内容。在一些实施方式中,能够将由数据解析引擎210提供的输出数据提供到参数引擎212,以确定用户是否提供了与能够由自动助理204和/或能够经由自动助理204访问的应用或代理执行的特定意图、动作和/或例程相对应的输入。例如,助理数据238能够被存储在服务器设备和/或计算设备202处,并且能够包括定义能够由自动助理204执行的一个或多个动作的数据以及执行动作所需的参数。参数引擎212能够生成意图、动作和/或时隙值的一个或多个参数,并且将该一个或多个参数提供到输出生成引擎214。输出生成引擎214能够使用一个或多个参数来与助理接口220通信以向用户提供输出,和/或与一个或多个应用234通信以将输出提供到一个或多个应用234。
在一些实施方式中,自动助理204能够是能够安装在计算设备202的操作系统的“顶部”和/或本身能够形成计算设备202的操作系统的一部分(或全部)的应用。自动助理应用包括和/或能够访问设备上语音辨识、设备上自然语言理解和设备上履行。例如,设备上语音辨识能够使用设备上语音辨识模块来执行,设备上语音辨识模块使用本地存储在计算设备202处的端到端语音辨识机器学习模型来处理(由麦克风检测到的)音频数据。设备上语音辨识生成音频数据中存在的口头话语(如果有的话)的识别文本。而且,例如,设备上自然语言理解(NLU)能够使用设备上NLU模块来执行,设备上NLU模块处理使用设备上语音辨识生成的识别文本以及可选地上下文数据,以生成NLU数据。
NLU数据能够包括与口头话语相对应的意图以及可选地意图的参数(例如,时隙值)。能够使用设备上履行模块来执行设备上履行,设备上履行模块利用(来自设备上NLU的)NLU数据和任选地其它本地数据,以确定解析口头话语的意图(以及任选地意图的参数)要采取的动作。这能够包括确定对口头话语的本地和/或远程响应(例如,回答)、基于口头话语执行的与本地安装的应用的交互、基于口头话语(直接或经由对应远程系统)向物联网(IoT)设备传送的命令、和/或基于口头话语执行的其它解析动作。然后,设备上履行能够初始化对所确定的解析口头话语的动作的本地和/或远程执行/实施。
在各种实施方式中,能够至少选择性地利用远程语音处理、远程NLU和/或远程履行。例如,能够至少选择性地将识别文本传送到远程自动助理组件以用于远程NLU和/或远程履行。例如,能够任选地传送识别文本,以用于与设备上执行并行的或响应于设备上NLU和/或设备上履行的远程执行。然而,能够至少由于它们在解析口头话语时提供的延迟减少(由于不需要客户端-服务器往返来解析口头话语)而优先化设备上语音处理、设备上NLU、设备上履行和/或设备上执行。此外,设备上功能能够是在没有网络连接性或具有有限网络连接性的情况下可用的仅有功能。
在一些实施方式中,计算设备202能够包括能够由第三方实体提供的一个或多个应用234,第三方实体与提供计算设备202和/或自动助理204的实体不同。自动助理204和/或计算设备202的应用状态引擎能够访问应用数据230,以确定能够由一个或多个应用234执行的一个或多个动作,以及一个或多个应用234中的每个应用的状态和/或与计算设备202相关联的相应设备的状态。自动助理204和/或计算设备202的设备状态引擎能够访问设备数据232,以确定能够由计算设备202和/或与计算设备202相关联的一个或多个设备执行的一个或多个动作。此外,应用数据230和/或任何其它数据(例如,设备数据232)能够由自动助理204访问以生成上下文数据236,该上下文数据能够表征其中特定应用234和/或设备正在执行的上下文,和/或其中特定用户正在访问计算设备202、访问应用234和/或任何其它设备或模块的上下文。当一个或多个应用234正在计算设备202处执行时,设备数据232能够表征在计算设备202处执行的每个应用234的当前操作状态。此外,应用数据230能够表征正在执行的应用234的一个或多个特征,诸如在一个或多个应用234的指导下渲染的一个或多个图形用户界面的内容。
在一些实施方式中,系统200能够包括状态处理引擎222,该状态处理引擎能够处理从与计算设备202通信的服务器计算设备接收到的状态数据。状态处理引擎222能够基于状态数据的一个或多个实例来确定服务器计算设备已经处理的数据量。例如,计算设备202和/或自动助理204能够响应于用户将输入提供到助理接口220而将助理数据238的部分提供到服务器计算设备。当服务器计算设备能够接收助理数据238并且作为响应提供指示接收到的数据量的状态数据时。另外或替代地,服务器计算设备能够提供指示服务器计算设备已经处理的数据量的状态数据。状态处理引擎222能够接收状态数据并且确定服务器计算设备已经处理和/或接收到的数据量。
在一些实施方式中,状态处理引擎222能够与网络度量引擎224通信,该网络度量引擎能够基于从状态处理引擎222传递的数据来生成一个或多个网络度量。例如,网络度量能够由网络度量引擎224生成,以表征服务器计算设备正在接收和/或处理由计算设备202提供的助理数据238的速率或速度。网络度量能够与信号强度指示符不同,该信号强度指示符能够指示计算设备202或单独的计算设备的天线的功率。例如,在当网络度量不指示服务器计算设备与计算设备202之间的可靠网络连接时的一些情况下,信号强度能够是高的。
在一些实施方式中,计算设备202和/或自动助理204能够包括度量阈值引擎226,该度量阈值引擎能够确定由网络度量引擎224生成的一个或多个网络度量是否满足一个或多个阈值。网络度量阈值能够是静态的或动态的,这取决于上下文数据236、设备数据232、应用数据230和/或助理数据238。在一些实施方式中,当度量阈值引擎226确定一个或多个网络度量满足或未能满足一个或多个网络度量阈值时,自动助理204和/或计算设备202能够暂时停止通过网络连接传递数据。另外或替代地,当度量阈值引擎226确定一个或多个网络度量满足或未能满足一个或多个网络度量阈值时,自动助理204和/或计算设备202能够暂时停止与特定服务器计算设备和/或单独的计算设备通信。
在一些实施方式中,能够针对用户的特定上下文生成网络度量,并且当自动助理204确定用户已经返回到特定上下文时,自动助理204能够初始地根据先前确定的网络度量来操作。例如,网络度量能够与特定用户、设备、位置、应用、时间、和/或能够表征上下文的任何其它特征或特征组合相关联地存储。例如,网络度量能够与位置和特定时间或时间范围相关联地存储,并且网络度量能够未能满足对应网络度量阈值。因此,当在该特定时间处于该位置的计算设备202处调用自动助理204时,自动助理204能够暂时停止向单独的计算设备提供助理数据238(例如,表征来自用户的口头话语的音频数据)以进行处理。相反,当计算设备202在该特定时间处于该位置时,自动助理204能够依赖本地处理。
图3图示用于基于指示与服务器计算设备的正在进行的或最近的通信的进展的一个或多个网络度量来确定是否将自动助理任务卸载到服务器计算设备的方法300。方法300能够由一个或多个计算设备、应用和/或能够与自动助理相关联的任何其它装置或模块执行。方法300能够包括确定是否已经在客户端计算设备处检测到口头话语的操作302。客户端计算设备能够提供对自动助理的访问,该自动助理能够与其它计算设备和或能经由客户端计算设备访问的应用交互。在一些实施方式中,客户端计算设备能够是位于车辆内的车辆计算设备,并且能够与其它个人计算设备(诸如蜂窝电话)连接。在一些实施方式中,客户端计算设备能够与第一网络提供商相关联,并且个人计算设备能够与第二网络提供商相关联。替代地或另外,客户端计算设备能够包括与并入到个人计算设备中的天线不同的天线。因此,客户端计算设备能够指示与由单独的个人计算设备指示的信号强度不同的信号强度。因此,与能经由客户端计算设备访问的自动助理相比,能经由个人计算设备访问的自动助理能够依赖不同的网络度量。
当客户端计算设备已经确定已经从用户接收到口头话语时,方法300能够前进到操作304。否则,自动助理能够继续确定任何用户是否正在将输入提供到自动助理。操作304包括当正在接收到口头话语时生成音频数据。音频数据能够作为数据的一个或多个实例被存储在客户端计算设备处。在一些实施方式中,用于确定由用户正在请求的动作的音频数据的本地处理能够响应于接收到口头话语而初始化。另外,客户端计算设备能够进一步确定是否依赖服务器计算设备以进行处理。例如,方法300能够包括确定客户端计算设备的网络连接是否适合于将音频数据的部分提供到服务器计算设备的操作306。
客户端计算设备的网络连接是否适合于将音频数据的部分(例如,实例)提供到服务器计算设备的确定能够是基于一个或多个网络度量。例如,在一些实施方式中,网络连接是否适合于(例如,不呈现出特定量的延时、丢包等)自动助理使用以将音频数据传递到服务器计算设备的初始确定。在一些实施方式中,能够使用与客户端计算设备与服务器计算设备之间正在进行的或最近的交互相关联的数据来确定网络度量。例如,在最近交互期间,客户端计算设备可以已经在不同时间点处从服务器计算设备接收到一个或多个数据包。能够通过将数据包的总数除以正在接收数据包的总时间量来生成在交互期间接收到的数据包的速率。当此速率满足速率阈值时,能够认为网络连接适合于向服务器计算设备提供音频数据的部分,并且方法300能够前进到操作310。否则,当客户端计算设备和/或自动助理确定网络连接不合适时,方法300能够前进到操作308。在一些实施方式中,速率阈值能够是基于用户是否被认证以经由客户端计算设备访问用户账户。替代地或另外,速率阈值能够是基于提供正在进行的口头话语所用的特定语言(例如,斯瓦希里语、法语、德语等)。
在一些实施方式中,在操作306处的确定能够是基于网络连接是否对客户端计算设备完全可用。例如,由于客户端计算设备的位置(例如,客户端计算设备被集成到正在穿越地下隧道的车辆中),客户端计算设备可能无法ping任何附近的蜂窝塔。因此,方法300可以前进到操作308,因为网络连接至少暂时不可用。
操作308能够包括依赖对音频数据的部分的本地处理。在一些实施方式中,客户端计算设备能够在确定是否将音频数据传递到服务器计算设备的同时在客户端计算设备处执行语音处理(例如,语音到文本处理、NLU处理等)。因此,当客户端计算设备确定不前进到操作310时,客户端计算设备能够使用在客户端计算设备处生成的任何自然语言内容对来自用户的口头话语做出响应。然而,当客户端计算设备确定存在合适的网络连接时,方法300可以前进到操作310。
操作310能够包括将音频数据的部分提供到服务器计算设备以进行处理。例如,客户端计算设备能够提供音频数据的表征来自用户的口头话语的前N毫秒(其中“N”是任何正数)的一个或多个部分。服务器计算设备能够处理音频数据的前N毫秒,以促进生成表征来自用户的在口头话语的前N毫秒中的语音的自然语言内容数据。在一些实施方式中,服务器计算设备能够将状态数据提供到客户端计算设备。在一些实施方式中,状态数据能够指示服务器计算设备已经接收到的数据量、服务器计算设备已经接收到的音频数据的持续时间、服务器计算设备已经处理的数据量、和/或服务器计算设备已经处理的音频数据的持续时间。
方法300能够从操作310前进到确定是否将针对口头话语处理附加音频的操作312。例如,口头话语能够具有N+M毫秒的持续时间,其中M是任何数。因此,可能尚未将表征M毫秒的口头话语的一定量的附加音频数据发送到服务器计算设备。当存在将针对口头话语处理的附加音频数据时,方法300能够前进到操作316。然而,当不存在将针对口头话语处理的附加音频数据和/或用户与自动助理之间的对话会话已经结束时,方法300能够进行到操作314。
操作316能够包括确定网络度量是否指示可靠网络连接。在一些实施方式中,网络度量能够由客户端计算设备或服务器计算设备确定。在一些实施方式中,网络度量能够是基于从服务器计算设备接收到的状态数据和/或从服务器计算设备接收到的其它数据(例如,自然语言内容数据)。状态数据能够指示在服务器计算设备处接收到和/或处理的客户端数据量。另外或替代地,客户端计算设备能够基于状态数据的速度来生成网络度量。另外或替代地,客户端计算设备能够基于在一持续时间内接收到的状态数据的实例的总数来生成网络度量。例如,能够生成网络度量作为从服务器计算设备接收数据的实例(例如,状态数据、内容数据等)或由服务器计算设备生成数据的实例(例如,状态数据、内容数据等)的速率。当此网络度量满足阈值时,方法300能够从操作316返回到操作310。否则,当网络度量不满足阈值或否则不指示可靠网络连接时,方法300能够从操作316前进到操作308。
此后,当不存在将针对口头话语处理的附加音频数据时,能够执行NLU处理,以便在操作314处基于从处理音频数据生成的内容来识别要初始化的一个或多个动作。在一些实施方式中,一个或多个动作能够包括在用户与自动助理之间的对话会话期间渲染由自动助理正在接收的正在进行的口头话语的自然语言内容。在一些实例中,当网络度量随环境变化而变化(例如,客户端计算设备是沿着网络可用性变化的高速公路行驶的车辆计算设备)时,在计算设备的显示界面处渲染的自然语言内容能够是基于在服务器计算设备处生成的自然语言内容数据和/或在客户端计算设备处生成的其它自然语言内容数据。当客户端计算设备已经初始化和/或执行了一个或多个动作时,客户端计算设备和/或自动助理能够根据操作302继续确定用户是否正在提供口头话语。
图4是示例计算机系统410的框图400。计算机系统410通常包括经由总线子系统414与多个外围设备通信的至少一个处理器412。这些外围设备可以包括:存储子系统424,其包括例如存储器425和文件存储子系统426;用户接口输出设备420;用户接口输入设备422;以及网络接口子系统416。输入和输出设备允许用户与计算机系统410进行交互。网络接口子系统416将接口提供到外部网络并且耦合到其它计算机系统中的对应接口设备。
用户接口输入设备422可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的定点设备、扫描仪、并入到显示器中的触摸屏、诸如话音辨识系统、麦克风的音频输入设备、和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入到计算机系统410中或通信网络上的所有可能类型的设备和方式。
用户接口输出设备420可以包括显示子系统、打印机、传真机、或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备,或用于产生可见图像的某种其它机构。显示子系统还可以诸如经由音频输出设备提供非可视显示器。通常,术语“输出设备”的使用旨在包括用于将信息从计算机系统410输出到用户或另一机器或计算机系统的所有可能类型的设备和方式。
存储子系统424存储提供本文所描述的一些或全部模块的功能的编程和数据结构。例如,存储子系统424可以包括执行方法300的所选方面和/或实现系统200、服务器计算设备102、客户端计算设备110和/或本文讨论的任何其它应用、设备、装置和/或模块中的一个或多个的逻辑。
这些软件模块通常由处理器414单独地或结合其它处理器执行。在存储子系统424中使用的存储器425能够包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)430和其中存储固定指令的只读存储器(ROM)432。文件存储子系统426能够为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移除介质、CD-ROM驱动器、光盘驱动器或可移除介质盒。实现某些实施方式的功能的模块可以由文件存储子系统426存储在存储子系统424中,或者在能由处理器414访问的其它机器中。
总线子系统412提供用于使计算机系统410的各个组件和子系统按预期彼此通信的机构。尽管总线子系统412被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
计算机系统410能够具有各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场、或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,对图4中描绘的计算机系统410的描述仅旨在作为用于说明一些实施方式的特定实例。计算机系统410的许多其它配置可能具有比图4中描绘的计算机系统更多或更少的组件。
在本文所描述的系统收集关于用户(或本文中通常称为“参与者”)的个人信息或者可以利用个人信息的情况下,可以向用户提供机会来控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户的偏好、或用户的当前地理位置的信息),或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。而且,某些数据可以在它被存储或使用之前以一种或多种方式处理,使得去除个人可识别信息。例如,可以处理用户的身份,使得无法确定用户的个人可识别信息,或者可以在获得地理位置信息的情况下将用户的地理位置进行概括(诸如,到城市、邮政编码或州级别),使得无法确定用户的特定地理位置。因此,用户可以控制如何收集关于用户的信息和/或使用信息。
尽管本文已经描述和说明了若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的各种其它装置和/或结构,并且此类变化和/或修改中的每一个都被认为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置意味着是示例性的,并且实际参数、尺寸、材料和/或配置将取决于教导被用于的一个或多个特定应用。仅使用常规实验,本领域技术人员就将认识到或能够确定本文描述的具体实施方式的许多等同物。因此,应理解,前述实施方式仅以示例的方式呈现,并且在所附权利要求及其等同物的范围内,可以以不同于如具体描述和要求保护的方式来实践实施方式。本公开的实施方式涉及本文描述的每个个体特征、系统、物品、材料、套件和/或方法。另外,如果此类特征、系统、物品、材料、套件和/或方法不是相互不一致的,则两个或更多个此类特征、系统、物品、材料、套件和/或方法的任何组合被包括在本公开的范围内。
在一些实施方式中,一种由一个或多个处理器实现的方法被阐述为包括诸如在客户端计算设备的音频接口处从用户接收正在进行的口头话语的操作,其中,将正在进行的口头话语指向能经由客户端计算设备访问的自动助理。在一些实施方式中,方法能够进一步包括以下操作:当用户继续将正在进行的口头话语提供到自动助理时,响应于接收到正在进行的口头话语而生成表征正在进行的口头话语的第一部分的第一音频数据。在一些实施方式中,方法能够进一步包括以下操作:经由客户端计算设备与服务器计算设备之间的网络连接将第一音频数据提供到服务器计算设备,其中,服务器计算设备对第一音频数据执行语音到文本处理以生成第一文本数据。在一些实施方式中,方法能够进一步包括以下操作:响应于服务器计算设备从客户端计算设备接收到第一音频数据,由客户端计算设备从服务器计算设备接收状态数据。在一些实施方式中,方法能够进一步包括以下操作:基于状态数据来确定是否将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理,其中,在客户端计算设备接收到正在进行的口头话语的第一部分之后,第二音频数据表征在客户端计算设备的音频接口处接收到的正在进行的口头话语的第二部分。在一些实施方式中,方法能够进一步包括以下操作:当客户端计算设备确定不将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理时:在客户端计算设备处生成表征正在进行的口头话语的第二部分的其它自然语言内容的第二文本数据。
在一些实施方式中,从服务器计算设备接收状态数据包括:在一时间段内从服务器计算设备接收状态数据的单独实例。在一些实施方式中,确定是否将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理包括:确定状态数据的单独实例中在该时间段内接收到的实例的数目,其中,确定是否将第二音频数据提供到服务器计算设备是基于实例的数目。在一些实施方式中,状态数据的单独实例中的状态数据的每个实例指示服务器计算设备已经从客户端计算设备接收到的数据量。在一些实施方式中,状态数据的单独实例中的状态数据的每个实例指示服务器计算设备已经处理的数据量。在一些实施方式中,方法能够进一步包括以下操作:当客户端计算设备确定不将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理时:使自动助理执行包括在客户端计算设备的显示界面处显示自然语言内容和其它自然语言内容的一个或多个动作。
在一些实施方式中,方法能够进一步包括以下操作:当客户端计算设备确定将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理时:经由网络连接将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理,以及从服务器计算设备接收表征正在进行的口头话语的第二部分的附加自然语言内容的第三文本数据。在一些实施方式中,方法能够进一步包括以下操作:当客户端计算设备确定将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理时:在客户端计算设备处使客户端计算设备的显示界面渲染基于第一文本数据的自然语言内容和基于第三文本数据的附加自然语言内容。
在一些实施方式中,确定是否将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理包括:确定表征数据处理速率的网络度量,其中,数据处理速率是基于已经处理的音频数据量和持续时间的值。在一些实施方式中,持续时间是自客户端计算设备开始将第一音频数据提供到服务器计算设备以来的时间。在一些实施方式中,持续时间是自客户端计算设备开始从用户接收正在进行的口头话语以来的时间。在一些实施方式中,确定是否将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理包括:确定数据处理速率是否满足数据处理速率阈值。
在一些实施方式中,数据处理速率阈值是基于自动助理、客户端计算设备或服务器计算设备的一个或多个操作特性。在一些实施方式中,数据处理速率阈值是基于用户是否被认证以经由客户端计算设备访问用户账户。在一些实施方式中,数据处理速率阈值是基于提供正在进行的口头话语所用的特定语言。在一些实施方式中,数据处理速率阈值是基于用户与自动助理之间的对话会话的当前持续时间,并且对话会话包括正在进行的口头话语。在一些实施方式中,当客户端计算设备从用户接收正在进行的口头话语时,客户端计算设备连接到正在运输中的车辆,并且网络连接是在客户端计算设备与服务器计算设备之间的蜂窝连接。
在一些实施方式中,确定是否将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理包括:基于已经处理的音频数据量来确定客户端计算设备将第二音频数据提供到服务器计算设备的预期时间量,其中,当预期时间量满足阈值时间量时,客户端计算设备确定在客户端计算设备而不是在服务器计算设备处处理第二音频数据。在一些实施方式中,确定是否将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理是进一步基于:确定第一文本数据是否表征能在客户端计算设备处排他性地执行的一个或多个用户请求的动作。
在一些实施方式中,确定是否将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理包括:确定第一文本数据是否表征涉及客户端计算设备访问因特网的一个或多个用户请求的动作。在一些实施方式中,方法能够进一步包括以下操作:当客户端计算设备确定将第二音频数据提供到服务器计算设备以进行进一步语音到文本处理时:由客户端计算设备使显示界面为用户渲染客户端计算设备将要暂时停止使用服务器计算设备的指示以协助对来自用户的正在进行的口头话语做出响应。
在一些实施方式中,当客户端计算设备从用户接收正在进行的口头话语时,客户端计算设备连接到正在运输中的车辆。在一些实施方式中,当客户端计算设备从用户接收正在进行的口头话语时,与客户端计算设备分离的个人计算设备与客户端计算设备通信。在一些实施方式中,网络连接由第一网络提供商调节,第一网络提供商不同于为个人计算设备提供蜂窝网络连接的第二网络提供商。在一些实施方式中,在客户端计算设备生成第二文本数据之前,在显示界面处渲染自然语言内容。
在其它实施方式中,一种由一个或多个处理器实现的方法被阐述为包括诸如在客户端计算设备处生成表征在用户与客户端计算设备之间的对话会话期间由客户端计算设备接收到的音频的部分的第一数据的操作。方法能够进一步包括由客户端计算设备将第一数据提供到服务器计算设备的操作,其中,服务器计算设备处理第一数据以生成内容数据。方法能够进一步包括以下操作:在客户端计算设备处从服务器计算设备接收指示服务器计算设备已经接收到的第一数据的量的状态数据。方法能够进一步包括以下操作:基于接收到状态数据来确定是否将第二数据提供到服务器计算设备以进行处理,其中,第二数据表征在用户与客户端计算设备之间的对话会话期间由客户端计算设备接收到的音频的附加部分。方法能够进一步包括以下操作:当客户端计算设备确定不将第二数据提供到服务器计算设备以进行处理时:使客户端计算设备至少暂时停止将第二数据传送到服务器计算设备。
在一些实施方式中,方法能够进一步包括以下操作:当客户端计算设备确定不将第二数据提供到服务器计算设备以进行处理时:在客户端计算设备处生成表征音频的附加部分的自然语言内容的其它内容数据。在一些实施方式中,第一数据包括表征基于由客户端计算设备对音频数据执行语音辨识而生成的音频或文本的部分的音频数据。在一些实施方式中,第一数据包括经由指向在客户端计算设备上渲染的虚拟键盘的用户接口输入提供的文本,或者由客户端计算设备的相机捕获的图像。
在另外的其它实施方式中,由一个或多个处理器实现的方法被阐述为包括诸如在客户端计算设备的接口处从用户接收输入的操作,其中,将输入指向能经由客户端计算设备访问的自动助理。方法能够进一步包括以下操作:当用户继续将附加输入提供到自动助理时,响应于接收到输入而生成表征输入的部分的输入数据。方法能够进一步包括以下操作:经由客户端计算设备与服务器计算设备之间的网络连接将输入的部分提供到服务器计算设备,其中,服务器计算设备处理输入数据以生成内容数据。方法能够进一步包括以下操作:由客户端计算设备从服务器计算设备接收基于输入数据的内容数据。方法能够进一步包括以下操作:基于服务器计算设备已经处理的输入数据量来确定是否将附加数据提供到服务器计算设备以进行处理。方法能够进一步包括以下操作:当客户端计算设备确定不将附加数据提供到服务器计算设备时:使客户端计算设备至少暂时停止将附加数据传送到服务器计算设备。
在一些实施方式中,方法能够进一步包括以下操作:当客户端计算设备确定不将附加数据提供到服务器计算设备时:在客户端计算设备处使用附加数据来生成表征输入的另一部分的附加内容数据,以及使客户端计算设备渲染内容数据和附加内容数据。在一些实施方式中,方法能够进一步包括以下操作:当客户端计算设备确定将附加数据提供到服务器计算设备以进行进一步处理时:经由网络连接将附加数据提供到服务器计算设备以进行进一步处理,从服务器计算设备接收表征输入的附加部分的附加内容数据,以及使客户端计算设备渲染内容数据和附加内容数据。
在一些实施方式中,确定是否将附加数据提供到服务器计算设备以进行进一步处理包括:确定基于由状态数据指示的已经处理的数据量和自客户端计算设备从用户接收到输入以来已经经过的时间量的数据处理速率。在一些实施方式中,方法能够进一步包括以下操作:当客户端计算设备确定不将附加数据提供到服务器计算设备时:基于客户端计算设备生成附加内容数据将其它状态数据传递到服务器计算设备,其中,其它状态数据指示客户端计算设备完成对来自用户的输入的处理。

Claims (32)

1.一种由一个或多个处理器实现的方法,所述方法包括:
在客户端计算设备的音频接口处从用户接收正在进行的口头话语;
其中,所述正在进行的口头话语指向能经由所述客户端计算设备访问的自动助理;
响应于接收到所述正在进行的口头话语,在所述用户继续将所述正在进行的口头话语提供到所述自动助理时,生成表征所述正在进行的口头话语的第一部分的第一音频数据;
经由所述客户端计算设备与服务器计算设备之间的网络连接将所述第一音频数据提供到所述服务器计算设备,
其中,所述服务器计算设备对所述第一音频数据执行语音到文本处理以生成第一文本数据;
响应于所述服务器计算设备从所述客户端计算设备接收到所述第一音频数据,由所述客户端计算设备从所述服务器计算设备接收状态数据;
基于所述状态数据来确定是否将第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理,
其中,所述第二音频数据表征在所述客户端计算设备接收到所述正在进行的口头话语的所述第一部分之后在所述客户端计算设备的所述音频接口处接收到的所述正在进行的口头话语的第二部分;以及
当所述客户端计算设备确定不将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理时:
在所述客户端计算设备处生成表征所述正在进行的口头话语的所述第二部分的其它自然语言内容的第二文本数据。
2.如权利要求1所述的方法,
其中,从所述服务器计算设备接收所述状态数据包括:
在一时间段内从所述服务器计算设备接收状态数据的单独实例。
3.如权利要求2所述的方法,
其中,确定是否将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理包括:
确定状态数据的所述单独实例中在所述时间段内接收到的实例的数目,
其中,确定是否将所述第二音频数据提供到所述服务器计算设备是基于所述实例的数目。
4.如权利要求2或3所述的方法,其中,状态数据的所述单独实例中的状态数据的每个实例指示所述服务器计算设备已经从所述客户端计算设备接收到的数据量。
5.如权利要求2或3所述的方法,其中,状态数据的所述单独实例中的状态数据的每个实例指示所述服务器计算设备已经处理的数据量。
6.如权利要求1至5中的任一项所述的方法,进一步包括:
当所述客户端计算设备确定不将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理时:
使所述自动助理执行包括在所述客户端计算设备的显示界面处显示所述自然语言内容和所述其它自然语言内容的一个或多个动作。
7.如权利要求1至6中的任一项所述的方法,进一步包括:
当所述客户端计算设备确定将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理时:
经由所述网络连接将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理,以及
从所述服务器计算设备接收表征所述正在进行的口头话语的所述第二部分的附加自然语言内容的第三文本数据。
8.如权利要求1至7中的任一项所述的方法,进一步包括:
当所述客户端计算设备确定将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理时:
在所述客户端计算设备处使所述客户端计算设备的所述显示界面渲染基于所述第一文本数据的所述自然语言内容和基于所述第三文本数据的所述附加自然语言内容。
9.如权利要求1至8中的任一项所述的方法,其中,确定是否将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理包括:
确定表征数据处理速率的网络度量,
其中,所述数据处理速率是基于已经处理的音频数据量和持续时间的值。
10.如权利要求9所述的方法,其中,所述持续时间是自所述客户端计算设备开始将所述第一音频数据提供到所述服务器计算设备以来的时间。
11.如权利要求9所述的方法,其中,所述持续时间是自所述客户端计算设备开始从所述用户接收所述正在进行的口头话语以来的时间。
12.如权利要求9所述的方法,其中,确定是否将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理包括:
确定所述数据处理速率是否满足数据处理速率阈值。
13.如权利要求12所述的方法,其中,所述数据处理速率阈值是基于所述自动助理、所述客户端计算设备或所述服务器计算设备的一个或多个操作特性。
14.如权利要求12所述的方法,其中,所述数据处理速率阈值是基于所述用户是否被认证为经由所述客户端计算设备访问用户账户。
15.如权利要求12所述的方法,其中,所述数据处理速率阈值是基于提供所述正在进行的口头话语所用的特定语言。
16.如权利要求13所述的方法,
其中,所述数据处理速率阈值是基于所述用户与所述自动助理之间的对话会话的当前持续时间,并且
其中,所述对话会话包括所述正在进行的口头话语。
17.如权利要求1至16中的任一项所述的方法,
其中,当所述客户端计算设备从所述用户接收所述正在进行的口头话语时,所述客户端计算设备连接到正在运输中的车辆,并且
其中,所述网络连接是在所述客户端计算设备与所述服务器计算设备之间的蜂窝连接。
18.如权利要求1至17中的任一项所述的方法,其中,确定是否将第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理包括:
基于已经处理的音频数据量来确定所述客户端计算设备将所述第二音频数据提供到所述服务器计算设备的预期时间量,
其中,当所述预期时间量满足阈值时间量时,所述客户端计算设备确定在所述客户端计算设备处而不是在所述服务器计算设备处处理所述第二音频数据。
19.如权利要求1至18中的任一项所述的方法,其中,确定是否将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理是进一步基于:
确定所述第一文本数据是否表征能在所述客户端计算设备处排他性地执行的一个或多个用户请求的动作。
20.如权利要求1至19中的任一项所述的方法,其中,确定是否将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理包括:
确定所述第一文本数据是否表征涉及所述客户端计算设备访问因特网的一个或多个用户请求的动作。
21.如权利要求1至20中的任一项所述的方法,进一步包括:
当所述客户端计算设备确定将所述第二音频数据提供到所述服务器计算设备以进行进一步语音到文本处理时:
由所述客户端计算设备使所述显示界面为所述用户渲染所述客户端计算设备将要暂时停止使用所述服务器计算设备以协助对来自所述用户的所述正在进行的口头话语做出响应的指示。
22.如权利要求1至21中的任一项所述的方法,
其中,当所述客户端计算设备从所述用户接收所述正在进行的口头话语时,所述客户端计算设备连接到正在运输中的车辆,
其中,当所述客户端计算设备从所述用户接收所述正在进行的口头话语时,与所述客户端计算设备分离的个人计算设备与所述客户端计算设备通信,并且
其中,所述网络连接由第一网络提供商调节,所述第一网络提供商不同于为所述个人计算设备提供蜂窝网络连接的第二网络提供商。
23.如权利要求1至22中的任一项所述的方法,其中,在所述客户端计算设备生成所述第二文本数据之前,在所述显示界面处渲染所述自然语言内容。
24.一种由一个或多个处理器实现的方法,所述方法包括:
在客户端计算设备处生成第一数据,所述第一数据表征在用户与所述客户端计算设备之间的对话会话期间由所述客户端计算设备接收到的音频的部分;
由所述客户端计算设备将所述第一数据提供到服务器计算设备,
其中,所述服务器计算设备处理所述第一数据以生成内容数据;
在所述客户端计算设备处从所述服务器计算设备接收状态数据,所述状态数据指示所述服务器计算设备已经接收到的所述第一数据的量;
基于接收到所述状态数据来确定是否将第二数据提供到所述服务器计算设备以进行处理,
其中,所述第二数据表征在所述用户与所述客户端计算设备之间的所述对话会话期间由所述客户端计算设备接收到的所述音频的附加部分;
当所述客户端计算设备确定不将所述第二数据提供到所述服务器计算设备以进行处理时:
使所述客户端计算设备至少暂时停止将所述第二数据传送到所述服务器计算设备。
25.如权利要求24所述的方法,进一步包括:
当所述客户端计算设备确定不将所述第二数据提供到所述服务器计算设备以进行处理时:
在所述客户端计算设备处生成其它内容数据,所述其它内容数据表征所述音频的所述附加部分的自然语言内容。
26.如权利要求24或权利要求25所述的方法,其中,所述第一数据包括表征基于由所述客户端计算设备对所述音频数据执行语音辨识而生成的音频或文本的部分的音频数据。
27.如权利要求24至26中的任一项所述的方法,其中,所述第一数据包括经由指向在所述客户端计算设备上渲染的虚拟键盘的用户接口输入提供的文本,或者由所述客户端计算设备的相机捕获的图像。
28.一种由一个或多个处理器实现的方法,所述方法包括:
在客户端计算设备的接口处从用户接收输入,
其中,所述输入指向能经由所述客户端计算设备访问的自动助理;
响应于接收到所述输入,当所述用户继续将附加输入提供到所述自动助理时,生成表征所述输入的部分的输入数据;
经由所述客户端计算设备与服务器计算设备之间的网络连接将所述输入的所述部分提供到所述服务器计算设备,
其中,所述服务器计算设备处理所述输入数据以生成内容数据;
由所述客户端计算设备从所述服务器计算设备接收基于所述输入数据的所述内容数据;
基于所述服务器计算设备已经处理的输入数据量来确定是否将附加数据提供到所述服务器计算设备以进行处理;以及
当所述客户端计算设备确定不将所述附加数据提供到所述服务器计算设备时:
使所述客户端计算设备至少暂时停止将所述附加数据传送到所述服务器计算设备。
29.如权利要求28所述的方法,进一步包括:
当所述客户端计算设备确定不将所述附加数据提供到所述服务器计算设备时:
在所述客户端计算设备处使用所述附加数据来生成表征所述输入的另一部分的附加内容数据,以及
使所述客户端计算设备渲染所述内容数据和所述附加内容数据。
30.如权利要求28或29所述的方法,进一步包括:
当所述客户端计算设备确定将所述附加数据提供到所述服务器计算设备以进行进一步处理时:
经由所述网络连接将所述附加数据提供到所述服务器计算设备以进行进一步处理,
从所述服务器计算设备接收表征所述输入的附加部分的所述附加内容数据,以及
使所述客户端计算设备渲染所述内容数据和所述附加内容数据。
31.如权利要求28至30中的任一项所述的方法,其中,确定是否将所述附加数据提供到所述服务器计算设备以进行进一步处理包括:
确定数据处理速率,所述数据处理速率基于由状态数据指示的已经处理的数据量和自所述客户端计算设备从所述用户接收所述输入以来已经经过的时间量。
32.如权利要求28至31中的任一项所述的方法,进一步包括:
当所述客户端计算设备确定不将所述附加数据提供到所述服务器计算设备时:
基于所述客户端计算设备生成所述附加内容数据,将其它状态数据传递到所述服务器计算设备,
其中,所述其它状态数据指示所述客户端计算设备完成对来自所述用户的所述输入的处理。
CN202080101326.7A 2020-05-27 2020-05-27 当确定是否从某些客户端设备卸载助理相关处理任务时补偿硬件差异 Pending CN115699167A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/034756 WO2021242236A1 (en) 2020-05-27 2020-05-27 Compensating for hardware disparities when determining whether to offload assistant-related processing tasks from certain client devices

Publications (1)

Publication Number Publication Date
CN115699167A true CN115699167A (zh) 2023-02-03

Family

ID=71784628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080101326.7A Pending CN115699167A (zh) 2020-05-27 2020-05-27 当确定是否从某些客户端设备卸载助理相关处理任务时补偿硬件差异

Country Status (5)

Country Link
US (1) US20230215438A1 (zh)
EP (2) EP3916724B1 (zh)
KR (1) KR20230013117A (zh)
CN (1) CN115699167A (zh)
WO (1) WO2021242236A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150063423A (ko) * 2012-10-04 2015-06-09 뉘앙스 커뮤니케이션즈, 인코포레이티드 Asr을 위한 개선된 하이브리드 컨트롤러
US9704486B2 (en) * 2012-12-11 2017-07-11 Amazon Technologies, Inc. Speech recognition power management
US20170069309A1 (en) * 2015-09-03 2017-03-09 Google Inc. Enhanced speech endpointing
CN110710158B (zh) * 2018-05-07 2022-08-09 谷歌有限责任公司 验证与数字助理应用交接的代理的操作状态

Also Published As

Publication number Publication date
WO2021242236A1 (en) 2021-12-02
EP3916724A1 (en) 2021-12-01
KR20230013117A (ko) 2023-01-26
EP3916724B1 (en) 2023-03-15
EP4216210A1 (en) 2023-07-26
US20230215438A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
CN109378000A (zh) 语音唤醒方法、装置、系统、设备、服务器及存储介质
US9672826B2 (en) System and method for efficient unified messaging system support for speech-to-text service
EP3519936B1 (en) Isolating a device, from multiple devices in an environment, for being responsive to spoken assistant invocation(s)
WO2021088964A1 (zh) 推理系统、推理方法、电子设备及计算机存储介质
US11626114B2 (en) Activation management for multiple voice assistants
US11854533B2 (en) Speaker awareness using speaker dependent speech model(s)
WO2019047708A1 (zh) 资源配置方法及相关产品
JP2022515291A (ja) ワイヤレススピーカーにおいて、再生を検出するため、かつ/または不整合な再生に適応するための構造化オーディオ出力の使用
US20240087568A1 (en) Automated assistant for facilitating communications through dissimilar messaging features of different applications
CN115699167A (zh) 当确定是否从某些客户端设备卸载助理相关处理任务时补偿硬件差异
US20240172304A1 (en) Connection sequencing involving automated assistants and peripheral devices
CN111724773A (zh) 应用开启方法、装置和计算机系统及介质
US11885632B2 (en) Conditional preparation for automated assistant input from a user in a vehicle
CN117157615A (zh) 选择性地实施便于助理交互的辅助设备的角色改变请求
JP2024505788A (ja) 自動音声認識のローカル実行のためのデバイス調停
CN118098291A (zh) 自动结束录音识别方法、装置、电子设备及存储介质
KR20230025907A (ko) 생성된 능숙도 측정치에 기초하여 자동화된 어시스턴트 기능 조정
CN112102821A (zh) 应用于电子设备的数据处理方法、装置、系统、介质

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