CN113906501A - 在进行预测动作之前响应于与自动化助理的单独用户交互而进行预测动作的(多个)子任务 - Google Patents
在进行预测动作之前响应于与自动化助理的单独用户交互而进行预测动作的(多个)子任务 Download PDFInfo
- Publication number
- CN113906501A CN113906501A CN201980096025.7A CN201980096025A CN113906501A CN 113906501 A CN113906501 A CN 113906501A CN 201980096025 A CN201980096025 A CN 201980096025A CN 113906501 A CN113906501 A CN 113906501A
- Authority
- CN
- China
- Prior art keywords
- action
- user
- computing device
- actions
- data
- 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
Links
- 230000009471 action Effects 0.000 title claims description 685
- 230000004044 response Effects 0.000 title claims description 54
- 230000003993 interaction Effects 0.000 title abstract description 32
- 238000010801 machine learning Methods 0.000 claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 119
- 230000000875 corresponding effect Effects 0.000 claims description 69
- 230000033001 locomotion Effects 0.000 claims description 32
- 230000002730 additional effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 2
- 230000001737 promoting effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 20
- 238000012549 training Methods 0.000 description 10
- 230000015654 memory Effects 0.000 description 9
- 230000003068 static effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 230000000116 mitigating effect Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000001934 delay Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000007634 remodeling Methods 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/083—Recognition networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L2015/088—Word spotting
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本文中的实施方式涉及使用表征用户与自动化助理之间的先前交互的数据来预先缓存同所述用户与所述自动化助理之间的预测交互对应的数据。可以基于所述用户与自动化助理之间的当前交互的细节来预测交互。在所述用户命令所述自动化助理以促进所述预测交互之前,可以初始化一个或多个预测交互,和/或预先缓存任何对应的数据。可以使用用户参数化的机器学习模型来生成交互预测,可以在处理表征与所述自动化助理的最近用户交互的(多个)输入时使用所述交互预测。如果所述用户以与预先缓存的、预测交互对准的方式命令所述自动化助理,那么所述自动化助理将展示所述命令的即时履行,从而消除所述用户与所述自动化助理交互时将以其它方式经历的任何延迟。
Description
背景技术
人类可以参与同交互式软件应用的人机对话,该交互式软件应用在本文中被称为“自动化助理”(也被称为“数字代理”、“聊天机器人”、“交互式个人助理”、“智能个人助理”、“助理应用”、“会话代理”等)。例如,人类(人类在其与自动化助理交互时可以被称为“用户”)可以使用口头自然语言输入(即,话语),该口头自然语言输入在一些情况下可以被转换成文本然后被处理,和/或通过提供文本(例如,键入的)自然语言输入来将命令和/或请求提供给自动化助理。自动化助理通过提供响应用户界面输出来对请求作出响应,该响应用户界面输出可以包括听觉的和/或视觉的用户界面输出。
在许多情况下,用户提供口头话语是用于使自动化助理进行各种动作的排它性动作。然而,在处理口头话语时大量运算和/或网络资源被利用,从而导致关于自动化助理完成某些动作的延迟。例如,打开智能灯的自动化助理动作可以通过将对应命令直接传输至智能灯或第三方服务器来实现,该第三方服务器处理命令,然后将对应命令传输至智能灯。然而,在响应于“助理,打开智能灯X”的口头话语而进行这种动作时,通常对体现口头话语的音频数据进行语音到文本处理,基于由此产生的文本来进行自然语言处理,然后确定和/或执行对应命令。此外,在远程地进行语音到文本和/或自然语言处理的情况下,将需要通过一个或多个网络传输音频数据和/或其它数据。因此,口头话语所针对的装置和/或应用将不会响应于任何对应命令,直到处理和/或解释口头话语为止,从而使得自动化助理以及装置和/或应用展现延迟。
发明内容
本文所阐述的实施方式涉及预测用户将请求自动化助理进行的一个或多个动作,并且初始化每个预测动作的一个或多个子任务的进行。通过初始化一个或多个子任务的进行,可以在用户随后请求进行预测动作时减轻延迟。可以响应于用户将输入提供给自动化助理(诸如用户正在尝试控制家庭自动化装置)时来生成预测动作的集合。例如,响应于用户提供了指示自动化助理调整灯的设置的口头话语,接收到该口头话语的计算装置可以基于这些口头话语使得一个或多个动作预测被生成。此外,计算装置可以用于促进完成一个或多个预测动作中的每个动作的一个或多个子任务。
特定预测动作的子任务可以包括任何任务和/或其它操作,该任何任务和/或其它操作将在进行特定预测动作期间以其它方式完成。当预测动作与用于使计算装置初始化介质流的请求相对应时,预测动作的子任务可以包括:建立计算装置与将介质数据进行流式传输的主机装置之间的连接。例如,响应于用户请求自动化助理在早晨打开住宅灯,自动化助理可以预测随后将由用户初始化的一个或多个动作,并且这些预测动作可以包括介质播放动作。因此,如果用户随后请求进行介质播放动作,那么可以减轻请求介质播放动作与渲染介质之间的延迟。除了延迟减轻本身的益处之外,减轻延迟进一步缩短了用户/自动化助理交互的总体持续时间,这直接减少了交互期间的屏幕开启时间和/或其它资源密集型过程的持续时间。
在一些实施方式中,选择要针对其检索数据和/或要进行的一个或多个子任务可以是基于特定子任务和/或与该子任务对应的动作的估计运算义务。此外,将缓存用于推进预测动作的任何数据的时间量可以是基于预测动作和/或一个或多个对应子任务的估计运算义务。例如,可以基于子任务和/或预测动作的估计运算义务是否达到和/或超过特定估计运算义务阈值来标识子任务和/或预测动作。附加地或可替代地,当检索到特定子任务和/或预测动作的动作推进数据时,当估计运算义务为Y时,缓存动作推进数据的时间量可以是X秒的时段,并且当估计运算义务为N时,缓存动作推进数据的时间量可以是M秒的时段,其中X大于Y并且M大于N。在一些情况下,估计运算义务包括用于计算装置完成子任务和/或预测动作的进行的估计时间段。缓存动作推进数据和/或例如计算装置与另一远程装置(例如服务器)之间的网络(例如HTTP)连接保持开启以准备促进预测动作进行的时间量,可能与完成子任务的估计时间段有关。用于完成子任务的较长估计时间段可以直接导致缓存动作推进数据的较长时间,和/或导致例如计算装置与另一远程装置(例如,服务器)之间的网络(例如,HTTP)连接保持开启的较长时间。
以这些和其它方式,可以根据运算义务动态地调整用于减轻延迟的各种公开的技术,以增加对于运算繁重的子任务和/或动作减轻延迟的可能性。
附加地或可替代地,预测动作的数量可以由预测动作的静态或动态阈值限制。在一些实施方式中,为用户预测的预测动作和/或所进行的子任务的数量可以由静态阈值限制,该静态阈值将预测动作和/或所进行的子任务的数量限制为总数(例如,3个、5个和/或任何其它数量)。在一些实施方式中,为用户预测的预测动作和/或所进行的子任务的数量可以由动态阈值动态地限制。动态阈值的值可以由计算装置和/或自动化助理基于一个或多个相应子任务、预测动作、先前请求的动作、和/或阈值的选择要基于的任何其它信息的一个或多个估计运算义务来选择。
在一些实施方式中,可以响应于用户将输入提供给自动化助理而预测各种不同类型的动作。在响应于对自动化助理的这种输入而确定要预测的(多个)动作的(多种)类型时,可以使用经过训练的机器学习模型。经过训练的机器学习模型可以用于处理输入以便生成预测动作,并且可选地为每个动作生成对应的概率。预测动作的概率可以表征用户将指示自动化助理初始化预测动作的进行的可能性。当用户请求进行预测动作时,可选地可以修改经过训练的机器学习模型以反映所确认的预测。可替代地或附加地,当用户在阈值时间段内绕过请求预测动作时,可选地可以修改经过训练的机器学习模型以反映错误地预测动作。
修改经过训练的机器学习模型可以包括:基于用户请求和/或绕过了哪个(些)预测动作来生成具有(多个)标签的半监督训练示例;以及基于使用半监督训练示例确定的梯度来更新机器学习模型的参数。作为一个非限制性示例,假设利用经过训练的机器学习模型来生成包括N个动作中的每一个动作的对应概率的输出。N是整数,诸如100或其它整数。进一步假设经过训练的机器学习模型用于基于用户的最近进行的(多个)动作和/或(多个)属性来生成N个动作的概率集合。然后,如果用户请求进行N个动作中的一个,那么可以生成半监督训练示例,该半监督训练示例包括标记输出,其中“1”概率针对该动作,而“0”概率针对所有其它动作。然后,可以基于将标记输出与概率集合进行比较来确定梯度。另一方面,如果用户不请求进行N个动作中的任何一个,那么可以生成半监督训练示例,该半监督训练示例包括针对所有动作为“0”概率的标记输出。然后,可以基于将标记输出与概率集合进行比较来确定梯度。在这两种情况下,可以基于所生成的梯度来修改经过训练的机器学习模型。例如,可以基于所生成的梯度在用户的客户端装置处本地修改经过训练的机器学习模型,和/或可以将所生成的梯度传输到远程服务器装置,该远程服务器装置基于该梯度和来自其它客户端装置的其它梯度(即,如下文所描述的联合学习)来修改经过训练的机器学习模型。
如上文所提及,在一些实施方式中,至少在各种不同的用户正在与其相应的自动化助理交互并且确认或绕过某些预测动作时,可以采用联合学习来训练机器学习模型。根据这种交互训练的机器学习模型可以用于后续的处理输入、生成关于用户随后将请求的动作的预测、做出关于要进行的子任务的决策、和/或缓存任何相应预测动作的动作推进数据。例如,提供对自动化助理的访问的每个客户端装置可以随时间并且根据用户与自动化助理之间的交互(例如,通过基于用户确认或绕过预测动作的半监督训练示例的使用)来生成一个或多个梯度。在对应用户的准许下,可以用与多个客户端装置进行通信的服务器装置来传输用于多个客户端装置和/或用户的梯度。服务器装置可以使用模型梯度来修改经过训练的机器学习模型,该经过训练的机器学习模型可以相应地更新并且与客户端装置共享。因此,可以根据特定用户与其自动化助理之间的交互以及多个其它用户与其相应的自动化助理之间的交互来训练特定用户所交互的客户端装置和/或自动化助理。除了保护用户数据的隐私之外(这是由于所传输的梯度不直接指示用于生成梯度的半监督训练示例),传输梯度比传输半监督训练示例消耗更少的网络带宽(这是由于梯度比半监督训练示例更加数据高效)。
以上描述被提供为本公开的一些实施方式的概述。下面更详细地描述了对那些实施方式和其它实施方式的进一步描述。
其它实施方式可以包括存储指令的非暂时性计算机可读存储介质,该指令可由一个或多个处理器(例如,(多个)中央处理单元((多个)CPU)、(多个)图形处理单元((多个)GPU)和/或(多个)张量处理单元((多个)TPU))执行以进行方法,诸如,上文和/或本文中的其它地方所述的方法中的一种或多种。其它实施方式可以包括一个或多个计算机的系统,该计算机包括可操作的执行所存储的指令以进行方法的一个或多个处理器,诸如上文和/或本文其它地方所述的方法中的一种或多种。例如,各种实施方式包括移动电话或其它客户端装置,其包括自动化助理客户端和可操作的执行所存储的指令以进行本文所述的一种或多种方法的(多个)处理器。
应了解,本文更详细描述的前述概念和附加概念的所有组合都被预期作为本文所公开的主题的一部分。例如,出现在本公开的结尾处的所要求保护的主题的所有组合都被预期作为本文所公开的主题的一部分。
附图说明
图1A和图1B图示了响应于来自用户的请求而进行预测动作子任务的自动化助理的视图。
图2A、图2B以及图2C图示了在用户请求进行预测动作之前进行预测动作的一个或多个子任务的视图。
图3图示了使用表征用户与自动化助理之间的先前交互的数据,预先缓存同用户与自动化助理之间的预测交互相对应的数据的系统。
图4A和图4B图示了通过使用动作预测来减轻口头话语与由自动化助理进行的动作之间的延迟的(多种)方法。
图5是示例计算机系统的框图。
具体实施方式
图1A和图1B分别图示了响应于来自用户120的请求而初始化和/或进行预测动作子任务的自动化助理104的视图100和视图130。用户120可以提供口头话语112,该口头话语可以体现对自动化助理104的请求。自动化助理104可以经由计算装置102访问。附加地,计算装置102可以提供对能够进行各种不同动作的多个不同应用的访问。在一些实施方式中,可以调用自动化助理104以便使第三方应用进行特定动作。在这种情况下,自动化助理104可以直接地和/或通过计算装置102的操作系统与第三方应用进行通信。由第三方应用进行的动作可以包括在执行动作时进行的一个或多个子任务。
在一些实施方式中,可经由计算装置102访问的应用可以用于控制一个或多个其它客户端装置。例如,计算装置102可以是独立式扬声器装置114,其可以与智能电视116和智能灯118一起连接至局域网。智能电视116可以是包括能够连接至局域网的计算装置的电视,并且智能灯118还可以包括能够连接至局域网的计算装置。为了减轻响应于来自用户120的一些请求而展现的浪费性延迟,计算装置102可以生成关于用户120可以请求的动作的动作预测,并且此后,计算装置102可以针对一个或多个对应预测动作进行一个或多个子任务。
例如,用户120可以将口头话语112(诸如,“Assistant,turn on the homeremodeling show(助理,打开家庭改造节目)”)提供给计算装置102。响应于自动化助理104接收到口头话语112,自动化助理104可以处理表征口头话语112的数据以便标识已经由用户120请求的动作。自动化助理104可以使用语音到文本处理和/或自然语言理解处理来标识所请求的动作,该所请求的动作可以在计算装置102处的装置上进行。所请求的动作可以是例如“turn on television(打开电视)”动作,其中自动化助理104使智能电视116打开并且渲染与用户120请求的特定节目相对应的数据。
在一些实施方式中,计算装置102可以采用动作预测引擎106,该动作预测引擎106可以接收用于生成一个或多个动作预测的一个或多个输入。例如,所请求的动作可以由被提供给动作预测引擎106的输入数据表征。动作预测引擎106可以接收对所请求的动作的指示,并且基于所请求的动作来生成一个或多个动作预测。在一些实施方式中,一个或多个动作预测可以标识用户在请求进行所请求的动作之前或之后先前已经请求进行的一个或多个预测动作。可替代地或附加地,一个或多个动作预测可以基于表征用户120与自动化助理104之间的历史交互的数据来标识动作。可替代地或附加地,一个或多个动作预测可以基于表征一个或多个其它用户与自动化助理104的其它实例之间的历史交互的其它数据来标识动作。例如,用户120和/或一个或多个其它用户可以具有在请求打开其电视之后不久请求关闭其灯的历史记录。
在一些实施方式中,动作预测可以由动作预测引擎106基于所请求的动作和/或表征用户提供了口头话语112的上下文的上下文数据来生成。例如,用户120可能已经在晚上提供了口头话语112,该口头话语112是用户通常何时要求关闭其智能灯118。然而,在早晨,当用户120请求打开智能电视116时,用户120并未请求自动化助理104关闭智能灯118。因此,因为用户120已经在晚上提供了口头话语112中,所以动作预测引擎106可以将至少一个预测动作标识为用于关闭智能灯118的动作。
可以将由动作预测引擎106生成的一个或多个动作预测提供给动作引擎110,该动作引擎110可以使用一个或多个动作预测来标识子任务。可以在用户120提供与一个或多个预测动作有关的后续请求之前进行所标识的子任务。例如,动作引擎110可以确定用于关闭智能灯118的动作包括一个或多个子任务,诸如与同智能灯118相关联的第三方服务器进行通信、获得网络数据以建立计算装置102与智能灯118之间的本地连接、和/或生成要通过网络连接被传输至智能灯118的请求。可以进行关闭智能灯118的动作的子任务中的一个或多个,并且可以在一段时间内缓存在进行子任务期间采集的任何子任务数据。
在一些实施方式中,动作预测引擎106可以生成多个不同动作预测以及针对动作预测中的每个动作预测的概率。例如,响应于用户120提供了口头话语112,动作引擎110可以被通知所请求的动作并且生成多个动作预测作为响应。可以为每个所生成的动作预测提供用户120随后将请求相应动作的概率。在一些实施方式中,预测动作的概率可以通过使用经过训练的机器学习模型处理一个或多个输入来生成。在用户120与自动化助理104交互时,可以更新经过训练的机器学习模型。此外,当用户请求预测动作时,可以基于用户120确认了预测动作来更新经过训练的机器学习模型。附加地或可替代地,可以基于用户120未确认预测动作而是请求与预测动作不同的动作来更新经过训练的机器学习模型。
在一些实施方式中,具有高于一个或多个其它预测动作的概率的一个或多个预测动作的子任务可以响应于口头话语而被初始化和/或进行。附加地或可替代地,可以确定每个预测动作的和/或每个预测动作的一个或多个子任务的运算义务。运算义务可以表征在进行子任务和/或预测动作期间可消耗的处理量、网络带宽、存储器使用量和/或任何其它运算资源。在一些实施方式中,预测动作可以根据其对应的运算义务来进行优先化,以便确定是否进行相应预测动作的一个或多个子任务。可替代地或附加地,可以基于相应预测动作的运算义务是否满足运算义务阈值来考虑在来自用户的请求之前进行的预测动作。以这种方式,可以从预初始化的排名中省去不满足运算义务阈值的预测动作,这是因为预初始化这种预测动作的益处可能不会实现或者由于进行预测动作所需的少量运算资源对用户以其它方式而言是显而易见的。然而,当预测动作的运算义务满足运算义务阈值时,可以基于预测动作将由用户请求的概率来优先化预测动作和/或将预测动作与其它预测动作一起排名。
图1B图示了在针对一个或多个预测动作进行一个或多个子任务之后用户120提供口头话语132的视图130。例如,一个或多个子任务可以包括:从第三方服务器装置检索网络数据以建立计算装置102与智能灯118之间的通信信道。在一些实施方式中,一个或多个子任务可以包括:建立计算装置102与智能灯118之间的通信信道,并且生成关闭智能灯118的请求。以这种方式,可以减轻响应于口头话语132而以其它方式展现的延迟。
例如,响应于用户120提供了口头话语132,自动化助理104向动作引擎110指示关闭智能灯118的所请求的动作。因为先前已经进行了用于关闭智能灯118的一个或多个子任务,还存在更少的要进行以便完成所请求的动作的子任务。例如,为了完成关闭智能灯118的所请求的动作,动作引擎110可以使先前生成的请求从计算装置102传输至智能灯118。从计算装置102以及用户120的角度看,通过在用户120提供口头话语132之前进行各种子任务将会减轻响应于口头话语132而以其它方式展现的浪费性延迟。
在一些实施方式中,动作预测引擎106可以生成与一种或多种类型的动作相对应的一个或多个一般动作预测,该一种或多种类型的动作诸如但不限于,音乐流动作、视频播放动作、消息传送应用、电话呼叫动作、和/或可由计算装置进行的任何其它类型的动作。然而,其它上下文数据可以用于为所预测的动作类型创建更多的特异性。例如,当动作预测引擎106将“流音乐”动作标识为预测动作时,动作预测引擎106可以通过访问与提供了初始请求的用户相关联的上下文数据来进一步详述动作引擎110的预测动作,该初始请求使得动作预测引擎106生成预测动作。
例如,如果上下文数据指示第一用户提供了初始请求,那么动作预测引擎106可以经由“流音乐”动作和/或用于进行“流音乐”动作的第一流式传输服务标识要流式传输的播放列表。然而,如果上下文数据指示第二用户提供了初始请求,那么动作预测引擎106可以经由“流音乐”动作和/或用于进行“流音乐”动作的第二流式传输服务(与第一流式传输服务不同)标识要流式传输的不同播放列表。标识第一用户的第一应用可以是基于第一用户的上下文数据,该上下文数据指示第一流式传输服务由第一用户最频繁地(或甚至排它地)用于“流音乐”动作。同样,标识第二用户的第二流式传输服务可以是基于第二用户的上下文数据,该上下文数据指示第二流式传输服务由第二用户最频繁地(或甚至排它地)用于“流音乐”动作。因此,动作预测引擎106可以首先可选地利用使用半监督训练示例训练的机器学习模型来生成(多个)一般动作预测,该半监督训练示例基于与实际进行的更具体的动作对应的一般动作预测而被标记。进一步地,动作预测引擎106可以利用上下文数据来确定(多个)更具体的动作,使得可以生成动作推进数据和/或可以进行针对那些更具体的(多个)动作定制的(多个)子任务。例如,可以为第一用户发起与第一流式传输服务的连接,而代替第二用户发起与第二流式传输服务的连接。以这些和其它方式,由动作预测引擎106利用的经过训练的机器学习模型可以是紧凑的(并且在客户端装置上高效地存储和使用)和/或可以通过利用一般动作预测来高效地训练。然而,动作预测引擎106仍然可以利用上下文数据来将一般动作预测细化为(多个)更具体的动作预测并且生成具体化的推进数据和/或进行(多个)具体化的子任务。虽然前述实例描述了针对给定用户标识单个流式传输服务,但在一些情况下,可以基于上下文数据来针对给定用户标识多个流式传输服务,该上下文数据指示针对给定用户,以至少阈值频率利用多个流式传输服务中的每一个。可以为每个和/或针对每个进行(多个)子任务生成推进数据。然后,(多个)子任务的其余部分可以仅针对一个进行,可选地取决于进一步用户输入。例如,可以基于标识给定流式传输服务的进一步用户输入来针对给定流式传输服务进行(多个)子任务的其余部分。
图2A、图2B以及图2C分别图示了在用户请求进行预测动作之前进行预测动作的一个或多个子任务的视图200、视图240以及视图250。具体地,用户218最初可以提供口头话语222,诸如,“Assistant,set the thermostat 228 to 72(助理,将恒温器228设置为72)”。口头话语222可以被定向到可经由计算装置202(诸如独立式显示装置212)可访问的自动化助理204。计算装置202可以包括显示面板224,其可以用于渲染图形用户界面226以控制第三方装置(诸如恒温器228)。图形用户界面226可以包括内容(诸如图形控制元素228),以用于经由提供给显示面板224的一个或多个触摸手势来调整恒温器228的一个或多个设置。
响应于接收到口头话语222,计算装置202可以在语音处理引擎208处处理表征口头话语222的音频数据。语音处理引擎208可以根据语音到文本过程和/或自然语言理解过程来处理音频数据。语音处理引擎208可以确定口头话语222是针对自动化助理204的,并且作为响应,初始化自动化助理204和/或以其它方式将用户218正在调用自动化助理204的指示提供给自动化助理204。自动化助理204可以访问基于口头话语222和/或语言处理的输入数据,以便标识由用户218所请求的一个或多个动作。当自动化助理204已经标识出由用户218所请求的一个或多个动作时,可以将对所请求的动作的指示提供给动作预测引擎206。此外,自动化助理204可以初始化由用户218所请求的一个或多个动作的进行。
动作预测引擎206可以使用一个或多个所请求的动作的指示以生成一个或多个动作预测。例如,动作预测引擎206可以标识用户218在请求改变恒温器228的设置的时间段内通常请求的一个或多个动作。在一些实施方式中,动作预测引擎206的输入可以使用一个或多个经过训练的机器学习模型来处理,这些经过训练的机器学习模型可以根据各种不同数据进行训练。例如,用于训练由动作预测引擎206采用的机器学习模型的数据可以包括:用户218与自动化助理204之间的历史交互数据、一个或多个其它用户与自动化助理的一个或多个其它实例之间的历史交互数据、表征用户提供了口头话语222的上下文的图片的上下文数据、计算装置202的操作特征、用户218和/或计算装置202处的位置、口头话语222的自然语言内容、表征局域网(例如,由Wi-Fi路由器214提供的Wi-Fi网络)的特性的网络数据,和/或可以用于对关于用户将请求进行的动作进行预测的任何其它数据源。当动作预测引擎206已经标识出一个或多个预测动作时,可以向动作引擎210指示预测动作。
图2B图示了在计算装置202处进行的所请求的动作以及也经由计算装置202进行的一个或多个预测动作的一个或多个子任务的视图240。例如,所请求的动作可以包括:修改恒温器228的设置和在图形用户界面226处反映对设置的改变。恒温器230的设置可以根据所请求的动作从65度改变为72度,并且可以渲染更新后的图形控制元素242以反映对恒温器设置的改变。在一些实施方式中,动作预测引擎206可以基于所请求的动作和/或任何其它数据来预测用户将请求进行包括天气预报动作的一个或多个动作。天气预报动作可以由动作预测引擎206预测并且向动作引擎210指示。动作引擎210可以接收对预测动作的指示并且标识预测动作的一个或多个子任务。在一些实施方式中,子任务可以包括访问动作推进数据,该动作推进数据可以用于促进预测动作的一个或多个其它子任务。例如,预测天气预报动作可以包括检索天气预报数据的子任务,其可以在显示面板224处被渲染。
当动作预测引擎206已经做出关于天气预报动作的预测并且动作引擎210已经标识预测动作的一个或多个子任务时,计算装置202可以初始化一个或多个子任务的进行。例如,自动化助理204可以与助理服务器装置238进行通信以使得助理服务器装置将动作推进数据请求234传输至第三方服务器装置232。可以将动作推进数据请求234提供给第三方服务器装置232,以便第三方服务器装置将提供天气预报数据。通过在用户218请求进行预测动作之前进行该子任务,可以从自动化助理交互中减轻浪费性延迟,从而保护了本来会因延长交互而以其他方式被消耗的运算资源。
响应于动作推进数据请求234,第三方服务器装置232可以将动作推进数据236提供给助理服务器装置238。助理服务器装置238可以为显示面板224生成命令和/或在一段时间内缓存动作推进数据236和/或命令。在一些实施方式中,动作推进数据236可以包括用于与一个或多个装置(诸如,服务器装置和/或客户端装置)进行通信的连接数据和/或认证数据。可替代地或附加地,动作推进数据236可以包括用于响应于用户提供了使计算装置202渲染天气预报的后续请求而在显示面板224处渲染的自然语言内容和/或图形内容。
在一些实施方式中,将动作推进数据236和/或命令数据缓存在计算装置202处的时间量可以是基于表征与预测动作相对应的运算义务的数据。换言之,当在请求动作之前未进行子任务时,在进行预测动作期间估计要消耗的处理量、网络消耗和/或功率可以提供用于估计运算义务的基础。动作推进数据236将被缓存在计算装置202处的时间段可以与预测动作的估计运算义务成正比或成反比。例如,当动作预测引擎206标识第一预测动作和第二预测动作并且估计第一预测动作具有比第二预测动作的运算义务更大的运算义务时,与第一预测动作相对应的动作推进数据可以比第二预测动作缓存更长的时间段。以这种方式,当预测动作可以采用比被估计消耗更少的运算资源的另一预测动作更多的运算资源时,可以利用在计算装置202处的存储器资源。
在一些实施方式中,即使在已经请求了预测动作之后,也可以缓存动作推进数据。例如,还可以在用户请求查看天气预报的预测动作之前,进行与不包括天气预报动作的其它动作相关的子任务。例如,预测动作可以包括用于确保家庭220的警报系统的安全的“警报开启”动作。动作推进数据236可以包括用于进行与安全警报系统有关的一个或多个子任务的数据。即使用户218还没有请求“警报开启”动作,也可以在用户随后请求天气预报之前和/或之后缓存该动作推进数据236。然而,因为用户请求“警报开启”动作的概率已经使得自动化助理204预期了用户218请求警报开启动作,所以可以进行和/或初始化“警报开启”动作的一个或多个子任务。
在一些实施方式中,动作预测引擎206可以将预测动作的数量限制为静态数量或动态数量,该静态数量或动态数量是基于计算装置202、自动化助理204和/或可以与预测在计算装置处进行的动作相关联的任何其它数据的一个或多个特性。例如,在任何给定时间的预测动作数量的阈值可以与可用网络带宽、处理带宽和/或空闲存储器的量成正比。因此,随着网络带宽增加,预测动作的阈值数量可以增加,从而允许在用户218请求与那些子任务对应的动作之前进行更多的子任务。
图2C图示了用户218将口头话语252提供给自动化助理204以便初始化天气预报动作的进行的视图250。具体地,口头话语252可以包括“Assistant what's the weathertomorrow?(助理,明天的天气怎么样?)”计算装置202可以接收口头话语252并且处理与口头话语252相对应的音频。例如,计算装置202的语音处理引擎208可以处理与口头话语252相对应的音频数据,然后将输入数据提供给自动化助理204。然后,自动化助理204可以标识用户218正在请求以作为预测动作中的一个的动作。可以向动作引擎210指示所标识的动作,该动作引擎210可以完成所请求的动作的进行。
例如,当预测动作和所请求的动作是天气预报动作,并且计算装置202已经缓存了命令数据和/或推进数据以促进进行天气预报动作时,计算装置202可以进行所请求的动作的任何剩余子任务。例如,计算装置202可以将所缓存的命令数据提供给显示面板224,以便使显示面板渲染更新后的图形用户界面256,该图形用户界面256可以包括表征动作推进数据236的至少一部分的另一图形元素254。因此,在一些实施方式中,计算装置202可以使显示面板224基于所请求的动作以及预测动作来同时渲染数据。显示面板224的内容可以用于生成上下文数据,该上下文数据可以用于生成补充预测动作,以预期用户218随后请求经由自动化助理204进行更多动作。例如,响应于用户218请求天气预报动作,动作预测引擎206可以预测(例如,基于显示面板224的内容)用户将请求“警报开启”动作以确保家庭220的警报系统的安全。动作引擎210可以标识警报开启动作的一个或多个子任务并且在用户提供另一口头话语之前初始化那些子任务的进行,该另一口头话语旨在促进“警报开启”动作。
图3图示了使用表征用户与自动化助理之间的先前交互的数据,来预先缓存同用户与自动化助理之间的预测交互对应的数据的系统300。自动化助理304可以作为在一个或多个计算装置(诸如,计算装置302和/或服务器装置)处提供的助理应用的一部分进行操作。用户可以经由助理接口320与自动化助理304交互,其可以是麦克风、相机、触摸屏显示器、用户界面和/或能够提供用户与应用之间的接口的任何其它设备。例如,用户可以通过将口头输入、文本输入和/或图形输入提供给助理接口320来初始化自动化助理304,以使自动化助理304进行功能(例如,提供数据、控制外围装置、访问代理、生成输入和/或输出等)。计算装置302可以包括显示装置,该显示装置可以是显示面板,该显示面板包括用于接收触摸输入和/或手势的触摸接口,以允许用户经由触摸接口来控制计算装置302的应用334。在一些实施方式中,计算装置302可以缺少显示装置,从而在不提供图形用户界面输出的情况下提供听觉用户界面输出。此外,计算装置302可以提供用于从用户接收口头自然语言输入的用户界面,诸如麦克风。在一些实施方式中,计算装置302可以包括触摸接口并且可以没有相机(或包括相机),但是可选地可以包括一个或多个其它传感器。
计算装置302和/或其它第三方客户端装置可以通过网络(诸如,互联网)与服务器装置进行通信。附加地,计算装置302和任何其它计算装置可以通过局域网(LAN)(诸如,Wi-Fi网络)彼此通信。计算装置302可以将运算任务卸载到服务器装置以节省在计算装置302处的运算资源。例如,服务器装置可以托管自动化助理304,和/或计算装置302可以将在一个或多个助理接口320处接收到的输入传输至服务器装置。然而,在一些实施方式中,可以将自动化助理304托管在计算装置302处,并且可以在计算装置302处进行可以与自动化助理操作相关联的各种过程。
在各种实施方式中,可以在计算装置302上实施自动化助理304的所有方面或少于所有方面。在那些实施方式中的一些中,自动化助理304的各方面经由计算装置302实施并且可以与服务器装置对接,该服务器装置实施自动化助理304的其它方面。可选地,服务器装置可以经由多个线程为多个用户及其相关联的助理应用服务。在经由计算装置302实施的自动化助理304的所有方面或少于所有方面的实施方式中,自动化助理304可以是与计算装置302的操作系统分离的应用(例如,安装在操作系统的“顶部”)-或可替代地,可以由计算装置302的操作系统直接实施(例如,被视为是操作系统的应用,但与操作系统形成整体)。
在一些实施方式中,自动化助理304可以包括输入处理引擎308,该输入处理引擎308可以采用多个不同模块和/或引擎来处理计算装置302和/或服务器装置的输入和/或输出。例如,输入处理引擎308可以包括语音处理模块316,该语言处理模块可以处理在助理接口320处接收到的音频数据以标识体现在音频数据中的文本。音频数据可以从例如计算装置302传输至服务器装置,以便保护在计算装置302处的运算资源。附加地或可替代地,可以在计算装置302处处理音频数据。
用于将音频数据转换成文本的过程可以包括语音识别算法,该语音识别算法可以采用神经网络和/或统计模型来标识与字词或短语相对应的音频数据组。从音频数据转换的文本可以由数据解析引擎310解析,并且作为文本数据而可供自动化助理304使用,该文本数据可以用于生成和/或标识由用户指定的(多个)命令短语、(多个)意图、(多个)动作、(多个)槽值和/或任何其它内容。在一些实施方式中,可以将由数据解析引擎310提供的输出数据提供给参数引擎312以确定用户是否提供了输入,该输入与能够由自动化助理304和/或能够经由自动化助理304访问的应用或代理进行的特定意图、动作和/或例程相对应。例如,可以将助理数据322存储在服务器装置和/或计算装置302处,并且助理数据322可以包括定义能够由自动化助理304进行的一个或多个动作的数据以及进行动作所需的参数。经由输入处理引擎308生成的助理数据322可以由输出生成引擎324处理,以便使自动化助理304经由助理接口320将输出提供给用户,和/或初始化与一个或多个应用334相关联的一个或多个动作。
在一些实施方式中,计算装置302可以包括一个或多个应用334,该一个或多个应用可以由与提供了计算装置302和/或自动化助理304的实体不同的第三方实体提供。自动化助理304的动作引擎314和/或计算装置302可以访问应用数据330以确定能够由一个或多个应用334进行的一个或多个动作。此外,应用数据330和/或任何其它数据(例如,装置数据306)可以由自动化助理304访问以生成上下文数据336,该上下文数据可以表征正在计算装置302处执行的特定应用334的上下文,和/或特定用户正在访问自动化助理304和/或计算装置302的上下文。
当正在计算装置302处执行一个或多个应用334时,装置数据306可以表征在计算装置302处执行的每个应用334的当前操作状态。此外,应用数据330可以表征执行的应用334的一个或多个特征,诸如,在一个或多个应用334的指导下被渲染的一个或多个图形用户界面的内容。在一些实施方式中,动作引擎314可以在自动化助理304的指导下初始化应用334的一个或多个动作的进行。
在一些应用中,系统300可以使用动作预测引擎318来生成动作预测,该动作预测引擎318可以接收从中生成动作预测的输入数据。可以从输出生成引擎324接收输入数据,其可以指示用户已经请求的一个或多个动作。例如,响应于用户请求由自动化助理304进行的特定自动化助理例程,动作预测引擎318可以接收对例程和/或与例程对应的动作的指示。响应于接收到该指示,动作预测引擎318可以生成表征用户或另一用户随后可能请求进行的一个或多个动作的一个或多个动作预测。例如,助理数据322可以指示用户通常在晚上请求特定“晚安”例程,并且此后不久,另一用户(诸如,用户的配偶)通常请求由自动化助理304进行特定动作,诸如向另一用户提醒其第二天的日程安排。因此,动作预测引擎318可以响应于所请求的例程而生成一个或多个动作预测,并且该一个或多个动作预测可以表征用于渲染第二天的日程安排的动作。
动作预测引擎318可以将动作预测传送至动作引擎314,该动作引擎314可以处理表征动作预测的数据并且标识一个或多个预测动作中的每个动作的一个或多个子任务。例如,响应于接收到表征预测动作的数据,动作引擎314可以标识每个预测动作的一个或多个子任务。例如,预测动作的一个或多个子任务可以包括:在用户事先准许的情况下访问与应用334的日历应用相关联的应用数据330。可替代地或附加地,一个或多个子任务可以包括:生成表征用户第二天的日程安排的图形数据。可以基于由日历应用生成的应用数据330的至少一部分来生成图形数据。
在一些实施方式中,动作预测引擎318可以限制响应于用户与自动化助理304之间的交互而生成的动作预测的数量。可替代地或附加地,动作引擎314可以限制将在用户随后请求预测动作之前进行和/或初始化的子任务的数量。动作预测的数量的阈值和/或要进行的子任务的数量的阈值可以由阈值动作引擎328确定。在一些实施方式中,基于助理数据322、应用数据330、装置数据306和/或上下文数据336,阈值中的一个或多个可以是静态的和/或动态的。例如,动作预测的阈值数量和/或初始化子任务的阈值数量可以是基于可用网络带宽、可用处理带宽、用户的位置、与计算装置302交互的用户的数量、一个或多个预测动作的预测运算义务、一个或多个子任务的预测运算义务、估计的可用存储器量、正在预测的预测动作的类型、和/或可以从中确定阈值的任何其它信息。
当已经确定了一个或多个动作预测和/或已经进行了一个或多个子任务时,缓存持续时间引擎326可以确定用于缓存动作推进数据的时间量,该动作推进数据已经被生成以促进进行一个或多个预测动作的子任务。例如,缓存持续时间引擎326可以确定用于存储应用数据的时间量,该应用数据已经被访问以促进针对其它用户显示第二天的日程安排的预测动作。在一些实施方式中,基于助理数据322、应用数据330、装置数据306和/或上下文数据336,缓存动作推进数据的时间量可以是静态的或动态的。例如,缓存动作推进数据的时间量可以是基于可用网络带宽、可用处理带宽、用户的位置、与计算装置302交互的用户的数量、一个或多个预测动作的预测运算义务、一个或多个子任务的预测运算义务、估计的可用存储器量、正在预测的预测动作的类型、和/或可以从中确定缓存持续时间的任何其它信息。
图4A和图4B图示了通过使用动作预测来消除口头话语与由自动化助理进行的动作之间的延迟的方法400和方法412。具体地,在用户明确请求进行一个或多个对应动作之前,可以标识一个或多个动作预测,并且可以进行与那些动作预测相关联的一个或多个子任务。方法400可以由一个或多个计算装置、应用和/或能够进行预测动作的任何其它设备或模块进行。方法400可以包括确定用户是否已经提供了针对自动化助理的口头话语的操作402。一个或多个输入可以包括口头话语、调用短语、手势输入、触摸输入和/或可以用于与自动化助理交互的任何其它输入。当确定用户已经提供了针对自动化助理的一个或多个输入时,方法400可以从操作402继续行进到操作404。然而,如果确定用户未提供一个或多个输入,根据方法400操作的计算装置可以继续监测一个或多个输入。
操作404可以包括生成与一个或多个动作相对应的一个或多个动作预测。至少根据用户已经提供了一个或多个输入,动作预测可以表征预测用户要请求的一个或多个动作中的特定动作。例如,一个或多个输入可以包括口头话语,诸如“Assistant,turn on mymorning podcast(助理,打开我的早晨播客)”。接收一个或多个输入的计算装置可以确定该一个或多个输入针对自动化助理,并且生成一个或多个动作预测作为响应。一个或多个动作预测可以表征用户有可能随后请求的一个或多个动作,诸如但不限于:请求自动化助理打开厨房中的灯、阅读电子邮件消息、显示天气、和/或可以与自动化助理相关联的任何其它操作。
方法400可以包括针对一个或多个动作中的每个相应动作确定用户将请求进行相应动作的概率的可选操作406。可以使用经过训练的机器学习模型来生成每个概率,该经过训练的机器学习模型可以根据各种不同的过程进行训练。例如,可以使用联合学习系统和/或过程来训练经过训机器学习模型,其中在训练过程期间采用基于其它用户与其相应自动化助理之间的交互的数据。可替代地或附加地,经过训练的机器学习模型可以是循环神经网络模型或前馈神经网络模型。神经网络模型可以具有用户已经请求的一个或多个动作(例如,打开早晨播客),并且可选地具有用户和/或其计算装置的一个或多个属性、和/或可以与用户和/或其相应计算装置相关联的任何其它信息作为输入。循环神经网络模型的一个或多个输出可以包括一个或多个概率值,使得每个概率值与相应动作标识符相对应。在一些实施方式中,这些概率值可以是在操作406处确定的概率。
在一些实施方式中,被包括进来作为输入并且使用经过训练的机器学习模型处理的用户和/或其计算装置的属性可以包括针对一种或多种特定类型的动作的用户的度量。作为一个非限制性示例,用户的度量可以包括针对动作类型中的每一种类型的对应度量,每种动作类型的概率是利用经过训练的机器学习模型来预测的。度量中的每一个度量可以是基于针对动作类型中的一种对应类型的进行的数量、基于来自用户和/或在计算装置处的输入。可选地,该进行可以是在阈值时间量内(例如,在过去三个月内)发生的进行和/或更近期动作的进行可以比更远期动作的进行具有更高的权重。作为一个特定示例,假设第一用户仅采用自动化助理来控制其警报系统和流音乐,并且以相等的数量进行这两个动作。在这种示例中,这两种类型的动作可以分别被分配有0.5的概率,而所有其它类型的动作将被分配有0的概率。作为另一示例,如果第二用户仅采用自动化助理来观看电影、控制灯、获取方向并查看其日程安排,并且以相等的数量进行这些动作中的每一个-这些类型的动作中的每一个都可以被分配有0.25的概率,而所有其它类型的动作可以被分配有0的概率。应注意,在这种示例中,基于处理这种度量(连同用户已经请求的(多个)动作)生成的概率在许多(并且可能所有)情况下将不会严格符合度量。然而,概率将受到不同用户的度量影响,使得例如将为分别具有不同度量但已经请求进行相同动作的用户A、B以及C生成不同的概率。
方法400可以从操作404和/或操作406行进到操作408。操作408可以包括访问与一个或多个预测动作相对应的动作推进数据。动作推进数据可以是可以在进行一个或多个预测动作的一个或多个子任务期间采用的任何数据。例如,当预测动作包括打开厨房中的灯时,动作推进数据可以包括对建立本地计算装置与物联网(IoT)厨房灯之间的连接有用的任何数据。在一些实施方式中,动作推进数据可以包括用于认证和/或以其它方式建立本地计算装置与IoT厨房灯之间的连接的数字证书和/或数字令牌。在一些实施方式中,动作推进数据可以包括多个不同子任务和/或多个不同预测动作的数据。例如,除了用于建立网络连接的数据之外,动作推进数据可以包括用于为用户显示早晨天气报告的预测动作的其它数据。因此,该其它数据可以包括表征当天和/或随后几天的天气预报的文本和/或图形数据。
方法400可以从操作408行进到操作410。操作410可以包括使用动作推进数据进行一个或多个子任务。在一些实施方式中,特定预测动作的子任务可以在进行子任务时使用动作推进数据。例如,子任务可以包括为单独客户端装置生成进行特定操作的请求,并且该请求可以包括基于动作推进数据的信息或以其它方式包括动作推进数据中的至少一些。例如,当子任务与用于打开IoT厨房灯的动作对应时,子任务可以包括生成将由IoT厨房灯接收的请求,并且该请求可以体现由动作推进数据表征的数字证书或数字令牌。可替代地或附加地,子任务可以包括:缓存将在进行对应预测动作期间呈现的数据-如果用户请求进行预测动作。例如,子任务可以包括渲染表征天气预报的图形数据,并且可以基于动作推进数据中包括的一些数据量来生成图形数据。
方法400可以从操作410行进到方法412的操作414。方法400可以经由连续元素“A”继续到方法412,该连续元素“A”可以象征操作410与操作414之间的连续。具体地,如图4B中所提供,操作414可以是确定用户是否在阈值时间段内提供了输入的可选操作。阈值时间可以是静态时间段或动态时间段。例如,阈值时间段可以是静态值,诸如“x”分钟、“y”秒和/或“z”毫秒,其中x、y和/或z可以是任何时间值。可替代地或附加地,阈值时间段可以是基于用户与自动化助理之间的交互、一个或多个预测动作和/或可以与自动化助理相关联的任何其它信息生成的动态值。例如,阈值时间段可以是基于一个或多个预测动作中的特定动作的估计运算义务。附加地或可替代地,阈值时间段可以是基于用户与自动化助理之间的先前交互的特征。当用户未在阈值时间段内提供针对自动化助理的输入时,方法400可以从操作414行进到操作420。然而,当用户已经在阈值时间段内提供了针对自动化助理的输入时,方法400可以从操作414行进到操作416。
操作414可以包括确定用户是否已经提供了输入以促进预测动作。计算装置的一个或多个处理器可以用于监测对计算装置和/或与计算装置进行通信的任何其它计算装置的一个或多个接口的输入。当接收到输入时,可以处理输入以确定输入是否与一个或多个预测动作中的预测动作相对应。例如,当预测动作包括打开IoT厨房灯并且用户提供口头话语,诸如“Assistant,start my car(助理,启动我的汽车)”时,自动化助理可以确定口头话语并未促进预测动作。因此,方法412可以从操作416行进到操作420。操作420可以包括使预测动作的进行被绕过。换言之,如果用户没有提供输入以促进预测动作和/或没有在阈值时间段内提供输入,那么可以绕过预测动作。此外,方法412可以经由连续元素“B”从操作422行进到操作402。
然而,当预测动作包括打开IoT厨房灯并且用户提供口头话语,诸如“Assistant,turn on my kitchen lights(助理,打开我的厨房灯)”时,助理可以确定口头话语促进预测动作。当用户提供输入以促进预测动作时,方法412可以从操作416行进到操作418。操作418可以包括使预测动作被进行使得预测动作的子任务的进行被绕过。换言之,因为先前进行了预测动作的子任务,所以预测动作的进行可以包括其它子任务,但是可以绕过已经进行的子任务。例如,当预测动作包括打开IoT厨房灯时,可以在已经生成和/或履行了体现数字证书的请求时绕过生成这种请求的子任务。因此,可以绕过该子任务,并且响应于来自用户的输入,可以将请求传输至IoT厨房灯,这可以在不必等待检索到数字证书和/或生成请求的情况下打开IoT厨房灯。因此,这可以减少在进行附加子任务时将会以其它方式展现的延迟。在一些实施方式中,方法可以经由连续元素“B”从操作418行进到操作402。
图5是示例计算机系统510的框图。计算机系统510通常包括经由总线子系统512与若干外围装置进行通信的至少一个处理器514。这些外围装置可以包括存储子系统524,包括例如存储器525和文件存储子系统526、用户界面输出装置520、用户界面输入装置522以及网络接口子系统516。输入和输出装置允许与计算机系统510的用户交互。网络接口子系统516提供至外部网络的接口并且耦合至其它计算机系统中的对应接口装置。
用户界面输入装置522可以包括键盘、定点装置(诸如鼠标、轨迹球、触摸板或图形平板)、扫描仪、包含到显示器中的触摸屏、音频输入装置(诸如语音识别系统、麦克风)和/或其它类型的输入装置。一般而言,术语“输入装置”的使用旨在包括将信息输入到计算机系统510中或通信网络上的所有可能类型的装置和方式。
用户界面输出装置520可以包括显示子系统、打印机、传真机或诸如音频输出装置的非视觉显示。显示子系统可以包括阴极射线管(CRT)、平板装置(诸如液晶显示器(LCD))、投影装置或用于创建可见图像的某一其它机制。显示子系统还可以诸如经由音频输出装置来提供非视觉显示。一般而言,术语“输出装置”的使用旨在包括将信息从计算机系统510输出到用户或另一机器或计算机系统的所有可能类型的装置和方式。
存储子系统524存储提供本文中所描述的模块中的一些或全部的功能性的编程和数据构造。例如,存储子系统524可以包括用于进行方法400的所选择的各方面和/或实施系统300、计算装置102、计算装置202、第三方服务器装置232、助理服务器装置238、计算装置302和/或任何其它本文中所讨论的应用、装置、设备和/或模块的逻辑。
这些软件模块通常由处理器514单独或与其它处理器组合执行。存储子系统524中使用的存储器525可以包括若干存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)530和存储固定指令的只读存储器(ROM)532。文件存储子系统526可以为程序和数据文件提供永久性存储装置,并且可以包括硬盘驱动器、连同相关联的可移动介质的软盘驱动器、CD-ROM驱动器、光学驱动器或可移动介质盒。实施某些实施方式的功能性的模块可以由文件存储子系统526存储在存储子系统524中,或存储在可由(多个)处理器514访问的其它机器中。
总线子系统512提供用于让计算机系统510的各种组件和子系统按预期彼此通信的机制。尽管将总线子系统512示意性地示出为单条总线,但总线子系统的替代实施方式可以使用多条总线。
计算机系统510可以具有不同类型,包括工作站、服务器、计算装置、刀片式服务器、服务器群或任何其它数据处理系统或计算装置。由于计算机和网络的不断变化的性质,因此对图5中所描绘的计算机系统510的描述仅旨在作为用于说明一些实施方式的目的的具体示例。计算机系统510的具有比图5中所描绘的计算机系统更多或更少的组件的许多其它配置是可能的。
在本文中所描述的系统采集关于用户(或通常在本文中被称为“参与者”)的个人信息或可以利用个人信息的情况下,可以为用户提供如下机会:控制程序或特征是否采集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)、或控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,在存储或使用特定数据之前,可以按照一种或多种方式来处理该特定数据,从而使得可以去除个人身份信息。例如,可以处理用户的身份,从而使得无法确定用户的个人身份信息,或可以将用户的可以从中获得地理位置信息(诸如,城市、邮政编码、或州县等级)的地理位置一般化,使得无法确定用户的特定地理位置。因此,用户可以控制如何采集和/或使用关于用户的信息。
虽然本文中已经描述和说明了若干实施方式,但可以利用用于进行功能和/或获得结果和/或本文所述的优点中的一个或多个的各种其它构件和/或结构,并且这种变型和/或修改中的每一个都被认为在本文所述的实施方式的范围内。更一般地,本文所述的所有参数、尺寸、材料以及配置意图作为例示性的,并且实际参数、尺寸、材料和/或配置将取决于使用教导的一个或多个特定应用。本领域的技术人员将认识到或能够仅使用常规实验来确证本文所述的具体实施方式的许多等效物。因此,应理解,前述实施方式仅通过示例的方式呈现,并且在所附权利要求书及其等效物的范围内,可以以不同于具体描述和要求保护的方式来实践实施方式。本公开的实施方式涉及本文所述的每个单独特征、系统、物品、材料、套件和/或方法。此外,两个或更多个这种特征、系统、物品、材料、套件和/或方法的任何组合在这种特征、系统、物品、材料、套件和/或方法并非相互矛盾的情况下被包括在本公开的范围内。
在一些实施方式中,提供了一种方法,该方法包括:在提供对自动化助理的访问的计算装置处确定用户已经提供了针对自动化助理的口头话语;以及基于确定用户已经提供了口头话语来生成一个或多个动作预测,该一个或多个动作预测与被预测为要被初始化的一个或多个动作相对应。生成一个或多个动作预测包括:针对一个或多个动作中的每个相应动作确定一个或多个动作中的相应动作的进行将被请求的概率。该方法进一步包括:基于一个或多个动作预测并且在用户提供与一个或多个动作相关联的后续输入之前访问与一个或多个动作相对应的动作推进数据。动作推进数据与由计算装置和/或另一计算装置在进行子任务以促进进行一个或多个动作中的给定动作时采用的数据类型相对应。该方法进一步包括:使用动作推进数据进行子任务以促进进行一个或多个动作中的给定动作;在进行子任务之后或进行子任务时确定用户是否提供了另一输入以促进一个或多个动作中的给定动作;以及当用户被确定为已经提供了另一输入以促进给定动作时,响应于确定另一输入是由用户提供而使一个或多个动作中的给定动作被进行,使得基于先前进行的子任务来绕过给定动作的子任务的进行。
本技术的这些和其它实施方式可以包括以下特征中的一个或多个。
在一些实施方式中,动作推进数据可以包括:装置认证数据,该装置认证数据是在进行给定动作以通过广域网建立计算装置与服务器装置之间的连接时使用的;和/或装置连接数据,该装置连接数据是在进行给定动作以通过局域网建立计算装置与单独客户端装置之间的连接时使用的。
在一些实施方式中,一个或多个动作预测中的动作预测可以标识用户将请求一个或多个动作中的对应动作的概率。用户将请求对应动作的概率可以是使用经过训练的机器学习模型来确定的。
在一些实施方式中,计算装置可以是便携式计算装置,并且生成一个或多个动作预测可以包括:使用经过训练的机器学习模型来处理包括用户和/或便携式计算装置的位置的一个或多个输入。在那些实施方式中的一些中,一个或多个输入可以表征计算装置和/或另一计算装置,经由该计算装置和/或该另一计算装置预测用户请求进行一个或多个动作中的给定动作。
在一些实施方式中,该方法可以进一步包括:当用户被确定为未在阈值时间段内提供另一输入时,响应于用户未在阈值时间段内提供另一输入而使经过训练的机器学习模型被修改,并且绕过检索附加动作推进数据以促进完成一个或多个动作的一个或多个子任务。在那些实施方式中的一些中,绕过检索附加动作推进数据可以包括:主动地丢弃计算装置与服务器装置之间的HTTP连接。
在一些实施方式中,生成与预测用户要进行初始化的一个或多个动作相对应的一个或多个动作预测可以包括:针对一个或多个动作中的每个相应动作确定用于计算装置完成相应动作的进行的估计运算义务。在那些实施方式中的一些中,估计运算义务可以包括用于使计算装置完成相应动作的进行的估计时间段。进一步地,较长估计时间段可以与相应动作的较高估计运算负载相关联。
在那些实施方式中的一些中,该方法可以进一步包括:基于针对给定动作确定的特定估计运算义务来分配用于用户和/或另一用户请求进行给定动作的到期时间。进一步地,到期时间可以与用户提供了口头话语之后的特定时间相对应。在一些其它实施方式中,所分配的到期时间的长度可以与针对给定动作确定的估计运算义务成比例。
在一些实施方式中,生成与预测用户要进行初始化的一个或多个动作相对应的一个或多个动作预测可以包括:针对一个或多个动作预测中的每个动作预测确定动作预测总数是否满足动作预测阈值,并且当动作预测总数满足动作预测阈值时,基于动作预测总数满足预测阈值来绕过生成附加动作预测。在那些实施方式中的一些中,动作预测阈值可以是基于计算装置的一个或多个特征而选择的动态值。
在一些实施方式中,提供了一种方法,该方法包括:在提供对自动化助理的访问的计算装置处确定用户已经提供了针对自动化助理的一个或多个输入以初始化可用动作的进行;以及响应于确定用户已经提供了一个或多个输入而生成一个或多个动作预测,该一个或多个动作预测与被预测要被初始化的一个或多个动作相对应。一个或多个动作预测至少通过以下步骤生成:使用经过训练的机器学习模型来处理输入,该输入至少标识用户请求自动化助理初始化进行该可用动作。该方法进一步包括:基于一个或多个动作预测并且在用户提供了后续输入之前访问与一个或多个动作相对应的动作推进数据,该后续输入与对进行一个或多个动作中的给定动作的请求相对应。动作推进数据与在进行一个或多个动作中的给定动作的子任务时由计算装置和/或另一计算装置采用的数据类型相对应。该方法进一步包括:在用户提供了后续输入以请求进行一个或多个动作中的给定动作之前,使一个或多个动作中的给定动作的子任务进行;在确定用户已经提供了针对自动化助理的一个或多个输入之后确定用户是否提供了另一输入以促进计算装置进行一个或多个动作中的给定动作;以及当用户被确定为已经提供了另一输入以促进给定动作时,响应于确定另一输入是由用户提供的而使一个或多个动作中的给定动作进行,使得基于先前进行的子任务来绕过动作的子任务的进行。
本技术的这些和其它实施方式可以包括以下特征中的一个或多个。
在一些实施方式中,该方法可以进一步包括:当用户被确定为已经提供了另一输入以促进给定动作时,响应于确定另一输入是由用户提供而使得基于用户提供了使得给定动作进行的另一输入来修改经过训练的机器学习模型。在一些实施方式中,该方法可以进一步包括:当用户被确定为已经提供了特定输入以促进与给定动作不同的另一动作时,响应于确定特定输入是由用户提供的而使得另一动作进行,并且响应于确定特定输入是由用户提供而使得基于用户提供了使得进行另一动作的特定输入来修改经过训练的机器学习模型。
在一些实施方式中,动作推进数据可以包括装置认证数据,该装置认证数据是在进行给定动作以通过广域网建立计算装置与服务器装置之间的连接时使用的。在一些附加或可替代的实施方式中,动作推进数据可以包括装置连接数据,该装置连接数据是在进行给定动作以通过局域网建立计算装置与客户端装置之间的连接时使用的。
在一些实施方式中,一个或多个动作预测中的动作预测可以标识用户将请求一个或多个动作中的对应动作的概率。进一步地,用户将请求对应动作的概率可以是使用经过训练的机器学习模型来确定的。在那些实施方式中的一些中,计算装置可以是便携式计算装置,并且生成一个或多个动作预测可以包括:使用经过训练的机器学习模型来处理一个或多个输入,其中一个或多个输入表征用户和/或便携式计算装置的位置。
在那些实施方式中的一些中,生成一个或多个动作预测可以包括:使用经过训练的机器学习模型来处理一个或多个输入。进一步地,一个或多个输入表征计算装置和/或另一计算装置的计算装置类型,经由该计算装置和/或该另一计算装置预测用户请求进行一个或多个动作中的给定动作。
在一些其它实施方式中,该方法可以进一步包括:当用户被确定为未在阈值时间段内提供另一输入时,修改一个或多个动作中的至少一个动作的对应概率,并且绕过检索附加动作推进数据以促进完成一个或多个动作的一个或多个子任务。在那些其它实施方式中的一些中,绕过检索附加动作推进数据包括:主动地丢弃计算装置与服务器装置之间的HTTP连接。
在一些实施方式中,生成与预测用户要进行初始化的该一个或多个动作相对应的一个或多个动作预测可以包括:针对一个或多个动作中的每个相应动作确定用于使计算装置完成进行相应动作的估计运算义务。在那些实施方式中的一些中,估计运算义务可以包括用于使计算装置完成进行相应动作的估计时间段。进一步地,较长估计时间段可以与相应动作的较高估计运算负载相关联。
在那些实施方式中的一些中,该方法可以进一步包括:基于针对给定动作确定的特定估计运算义务来分配用于用户和/或另一用户请求进行给定动作的到期时间。进一步地,到期时间可以与用户提供了口头话语之后的特定时间对应。在一些其它实施方式中,所分配的到期时间的长度可以与针对给定动作确定的估计运算义务成比例。
在一些实施方式中,生成与预测用户进行初始化的一个或多个动作对应的一个或多个动作预测可以包括:针对一个或多个动作预测中的每个动作预测确定动作预测的总数是否满足动作预测阈值,并且当动作预测的总数满足动作预测阈值时,基于动作预测的总数满足预测阈值来绕过生成附加动作预测。在那些实施方式中的一些中,动作预测阈值可以是基于计算装置的一个或多个特征而选择的动态值。
在一些实施方式中,提供了一种方法,该方法包括:在提供对自动化助理的访问的计算装置处确定用户已经提供了针对自动化助理的一个或多个输入以进行可用动作的初始化;基于确定了用户提供了一个或多个输入来访问上下文数据,该上下文数据表征用户将一个或多个输入提供给计算装置的上下文;以及响应于确定用户已经提供了一个或多个输入而生成与被预测为要被初始化的一个或多个动作相对应的一个或多个动作预测。一个或多个动作预测至少通过以下步骤生成:使用经过训练的机器学习模型来处理至少基于可用动作和上下文数据的输入。该方法进一步包括:基于一个或多个动作预测来使动作推进数据缓存在计算装置和/或另一计算装置处。动作推进数据与在进行一个或多个子任务以促进完成一个或多个动作中的给定动作时由计算装置和/或另一计算装置采用的数据类型相对应。该方法进一步包括:基于一个或多个输入和/或上下文数据来确定用于将动作推进数据缓存在计算装置和/或另一计算装置处的到期;在确定用户已经提供了针对自动化助理的一个或多个输入之后确定用户是否在用于缓存推进数据的到期之前提供了另一输入以促进计算装置和/或另一计算装置进行一个或多个动作中的给定动作;以及当用户被确定为已经在用于缓存推进数据并且促进一个或多个动作中的给定动作的到期之前提供了另一输入时:响应于确定另一输入是由用户提供的而使计算装置和/或另一计算装置进行一个或多个动作中的给定动作的初始化。
本技术的这些和其它实施方式可以包括以下特征中的一个或多个。
在一些实施方式中,该方法可以进一步包括:当将用户确定为已经提供了另一输入以促进给定动作时,响应于确定另一输入是由用户提供而使得基于用户提供了使得动作被进行的另一输入来修改经过训练的机器学习模型。在那些实施方式中的一些中,该方法可以进一步包括:当用户被确定为已经提供了特定输入以促进与给定动作不同的另一动作时,响应于确定特定输入是由用户提供的而使得进行另一动作,并且响应于确定特定输入是由用户提供而使得基于用户提供了使得另一动作被进行的特定输入来修改经过训练的机器学习模型。
在一些实施方式中,动作推进数据可以包括装置认证数据,该装置认证数据是在进行给定动作以通过广域网建立计算装置与服务器装置之间的连接时使用的。在一些附加或可替代的实施方式中,动作推进数据可以包括装置连接数据,该装置连接数据是在进行给定动作以通过局域网建立计算装置与客户端装置之间的连接时使用的。
在那些实施方式中的一些中,一个或多个动作预测中的动作预测可以标识将请求一个或多个动作中的对应动作的概率。进一步地,将请求对应动作的概率可以是使用经过训练的机器学习模型来确定的。在一些其它实施方式中,计算装置可以是便携式计算装置。进一步地,生成一个或多个动作预测可以包括:使用经过训练的机器学习模型来处理包括用户和/或便携式计算装置的位置的一个或多个输入。在那些其它实施方式中的一些中,生成一个或多个动作预测可以包括:将经过训练的机器学习模型应用于一个或多个输入,该一个或多个输入包括表征计算装置和/或另一计算装置的计算装置类型,经由该计算装置和/或该另一计算装置预测用户请求进行一个或多个动作中的给定动作。
在一些实施方式中,生成与预测用户要进行初始化的一个或多个动作相对应的一个或多个动作预测可以包括:针对一个或多个动作中的每个相应动作确定用于使计算装置完成相应动作的进行的估计运算义务。在那些实施方式中的一些中,确定用于缓存推进数据的到期可以是基于针对给定动作确定的特定估计运算义务。
在一些实施方式中,生成与预测用户要进行初始化的一个或多个动作相对应的一个或多个动作预测可以包括:针对一个或多个动作预测中的每个动作预测确定动作预测的总数是否满足动作预测阈值,且当动作预测的总数满足动作预测阈值时,基于动作预测的总数满足预测阈值来绕过生成附加动作预测。在那些实施方式中的一些中,动作预测阈值是基于计算装置的一个或多个特征而选择的动态值。
其它实施方式可以包括存储指令的非暂时性计算机可读存储介质和/或计算机程序,该指令可由一个或多个处理器(例如,(多个)中央处理单元((多个)CPU)、(多个)图形处理单元((多个)GPU)和/或(多个)张量处理单元((多个)TPU))执行以进行方法,诸如,上文和/或本文中的其它地方所描述的方法中的一种或多种。又其它实施方式可以包括具有一个或多个处理器的系统(例如,客户端装置),该一个或多个处理器可操作以执行所存储的指令以进行方法,诸如,上文和/或本文中的其它地方所描述的方法中的一种或多种。
应了解,本文中更详细地描述的前述概念和附加概念的所有组合都被预期作为本文中所公开的主题的一部分。例如,出现在本公开的结尾处的所要求保护的主题的所有组合都被预期作为本文中所公开的主题的一部分。
Claims (45)
1.一种由一个或多个处理器实施的方法,所述方法包括:
在提供对自动化助理的访问的计算装置处确定用户已经提供了针对所述自动化助理的口头话语;
基于确定所述用户已经提供了所述口头话语,生成一个或多个动作预测,所述一个或多个动作预测与被预测为要被初始化的一个或多个动作相对应,
其中,生成所述一个或多个动作预测包括针对所述一个或多个动作中的每个相应动作,确定所述一个或多个动作中的所述相应动作的执行将被请求的概率;
基于所述一个或多个动作预测并且在用户提供与所述一个或多个动作相关联的后续输入之前,访问与所述一个或多个动作相对应的动作推进数据,
其中,所述动作推进数据与由所述计算装置和/或另一计算装置在执行子任务以促进执行所述一个或多个动作中的给定动作时采用的数据类型相对应;
使用所述动作推进数据来执行所述子任务以促进执行所述一个或多个动作中的所述给定动作;
在执行所述子任务之后或执行所述子任务时,确定所述用户是否提供了另一输入以促进所述一个或多个动作中的所述给定动作;以及
当所述用户被确定为已经提供了所述另一输入以促进所述给定动作时:
响应于确定所述用户提供了所述另一输入,使所述一个或多个动作中的所述给定动作被执行,使得基于先前执行的所述子任务来绕过所述给定动作的所述子任务的执行。
2.根据前述权利要求中的任一项所述的方法,其中,所述动作推进数据包括装置认证数据,所述装置认证数据是在执行所述给定动作以通过广域网建立所述计算装置与服务器装置之间的连接时使用的。
3.根据前述权利要求中的任一项所述的方法,其中,所述动作推进数据包括装置连接数据,所述装置连接数据是在执行所述给定动作以通过局域网建立所述计算装置与单独客户端装置之间的连接时使用的。
4.根据前述权利要求中的任一项所述的方法,
其中,所述一个或多个动作预测中的动作预测标识用户将请求所述一个或多个动作中的对应动作的概率,以及
其中,所述用户将请求所述对应动作的所述概率是使用经过训练的机器学习模型来确定的。
5.根据前述权利要求中的任一项所述的方法,
其中,所述计算装置是便携式计算装置,以及
其中,生成所述一个或多个动作预测包括:使用所述经过训练的机器学习模型来处理包括所述用户和/或所述便携式计算装置的位置的一个或多个输入。
6.根据权利要求5所述的方法,其中,所述一个或多个输入表征所述计算装置和/或另一计算装置,经由所述计算装置和/或所述另一计算装置预测所述用户请求执行所述一个或多个动作中的所述给定动作。
7.根据前述权利要求中的任一项所述的方法,进一步包括:
当所述用户被确定为在阈值时间段内未提供所述另一输入时:
响应于所述用户在所述阈值时间段内未提供所述另一输入而使经过训练的机器学习模型被修改,以及
绕过检索附加动作推进数据以促进完成所述一个或多个动作的一个或多个子任务。
8.根据权利要求7所述的方法,其中,绕过检索附加动作推进数据包括:主动地丢弃所述计算装置与服务器装置之间的HTTP连接。
9.根据权利要求1所述的方法,其中,生成与预测所述用户初始化要执行的所述一个或多个动作相对应的一个或多个动作预测包括:
针对所述一个或多个动作中的每个相应动作,确定用于所述计算装置完成所述相应动作的执行的估计运算义务。
10.根据权利要求9所述的方法,其中,所述估计运算义务包括用于所述计算装置完成所述相应动作的执行的估计时间段,并且其中,较长估计时间段与所述相应动作的较高估计运算负载相关联。
11.根据权利要求9或10所述的方法,进一步包括:
基于针对所述给定动作确定的特定估计运算义务,分配用于所述用户和/或另一用户请求执行所述给定动作的到期时间,其中,所述到期时间与所述用户提供了所述口头话语之后的特定时间相对应。
12.根据权利要求11所述的方法,其中,所分配的到期时间的长度与针对所述给定动作确定的所述估计运算义务成比例。
13.根据前述权利要求中的任一项所述的方法,其中,生成与预测所述用户初始化要执行的所述一个或多个动作相对应的所述一个或多个动作预测包括:
针对所述一个或多个动作预测中的每个动作预测,确定动作预测的总数是否满足动作预测阈值,以及
当所述动作预测的总数满足所述动作预测阈值时:
基于所述动作预测的总数满足所述预测阈值来绕过生成附加动作预测。
14.根据权利要求13所述的方法,其中,所述动作预测阈值是基于所述计算装置的一个或多个特征而选择的动态值。
15.一种由一个或多个处理器实施的方法,所述方法包括:
在提供对自动化助理的访问的计算装置处确定用户已经提供了针对所述自动化助理的一个或多个输入以初始化可用动作的执行;
响应于确定所述用户已经提供了所述一个或多个输入,生成一个或多个动作预测,所述一个或多个动作预测与被预测为要被初始化的一个或多个动作相对应,
其中,所述一个或多个动作预测至少通过以下步骤生成:使用经过训练的机器学习模型来处理输入,所述输入至少标识所述用户请求所述自动化助理对所述可用动作执行初始化;
基于所述一个或多个动作预测并且在所述用户提供后续输入之前访问与所述一个或多个动作相对应的动作推进数据,所述后续输入与针对执行所述一个或多个动作中的给定动作的请求相对应,
其中,所述动作推进数据与在执行所述一个或多个动作中的所述给定动作的子任务时由所述计算装置和/或另一计算装置采用的数据类型相对应;
在所述用户提供所述后续输入以请求执行所述一个或多个动作中的所述给定动作之前,使所述一个或多个动作中的所述给定动作的所述子任务被执行;
在确定所述用户已经提供了针对所述自动化助理的所述一个或多个输入之后,确定所述用户是否提供了另一输入以促进所述计算装置执行所述一个或多个动作中的所述给定动作;以及
当所述用户被确定为已经提供了所述另一输入以促进所述给定动作时:
响应于确定所述另一输入是由所述用户提供的,使所述一个或多个动作中的所述给定动作被执行,使得基于先前执行的所述子任务来绕过所述动作的所述子任务的执行。
16.根据权利要求15所述的方法,进一步包括:
当所述用户被确定为已经提供了所述另一输入以促进所述给定动作时:
响应于确定所述另一输入是由所述用户提供的,使得基于所述用户提供了使得所述给定动作被执行的所述另一输入来修改所述经过训练的机器学习模型。
17.根据权利要求15或16所述的方法,进一步包括:
当所述用户被确定为已经提供了特定输入以促进与所述给定动作不同的另一动作时:
响应于确定所述用户提供了所述特定输入,使得所述另一动作被执行,以及
响应于确定所述用户提供了所述特定输入,使得基于所述用户提供了使得所述另一动作被执行的所述特定输入来修改所述经过训练的机器学习模型。
18.根据权利要求15至17中的任一项所述的方法,其中,所述动作推进数据包括装置认证数据,所述装置认证数据是在执行所述给定动作以通过广域网建立所述计算装置与服务器装置之间的连接时使用的。
19.根据权利要求15至18中的任一项所述的方法,其中,所述动作推进数据包括装置连接数据,所述装置连接数据是在执行所述给定动作以通过局域网建立所述计算装置与客户端装置之间的连接时使用的。
20.根据权利要求15至19中的任一项所述的方法,
其中,所述一个或多个动作预测中的动作预测标识所述用户将请求所述一个或多个动作中的对应动作的概率,以及
其中,所述用户将请求所述对应动作的所述概率是使用所述经过训练的机器学习模型来确定的。
21.根据权利要求20所述的方法,
其中,所述计算装置是便携式计算装置,以及
其中,生成所述一个或多个动作预测包括:使用经过训练的机器学习模型来处理一个或多个输入,其中,所述一个或多个输入表征所述用户和/或所述便携式计算装置的位置。
22.根据权利要求20或21所述的方法,其中,生成所述一个或多个动作预测包括:使用所述经过训练的机器学习模型来处理一个或多个输入,其中,所述一个或多个输入表征所述计算装置和/或另一计算装置的计算装置类型,经由所述计算装置和/或所述另一计算装置预测所述用户请求执行所述一个或多个动作中的所述给定动作。
23.根据权利要求20至22中的任一项所述的方法,进一步包括:
当所述用户被确定为在阈值时间段内未提供所述另一输入时:
修改所述一个或多个动作中的至少一个动作的对应概率,以及
绕过检索附加动作推进数据以促进完成所述一个或多个动作的一个或多个子任务。
24.根据权利要求23所述的方法,其中,绕过检索附加动作推进数据包括:主动地丢弃所述计算装置与服务器装置之间的HTTP连接。
25.根据权利要求15至24中的任一项所述的方法,其中,生成与预测所述用户初始化要执行的所述一个或多个动作相对应的一个或多个动作预测包括:
针对所述一个或多个动作中的每个相应动作,确定用于所述计算装置完成执行所述相应动作的估计运算义务。
26.根据权利要求25所述的方法,其中,所述估计运算义务包括用于所述计算装置完成执行所述相应动作的估计时间段,并且其中,较长估计时间段与所述相应动作的较高估计运算负载相关联。
27.根据权利要求25或26所述的方法,进一步包括:
基于针对所述给定动作确定的特定估计运算义务,分配用于所述用户和/或另一用户请求执行所述给定动作的到期时间,其中,所述到期时间与所述用户提供了所述口头话语之后的特定时间相对应。
28.根据权利要求27所述的方法,其中,所分配的到期时间的长度与针对所述给定动作确定的所述估计运算义务成比例。
29.根据权利要求15至28中的任一项所述的方法,其中,生成与预测所述用户初始化要执行的所述一个或多个动作相对应的所述一个或多个动作预测包括:
针对所述一个或多个动作预测中的每个动作预测,确定动作预测的总数是否满足动作预测阈值,以及
当所述动作预测的总数满足所述动作预测阈值时:
基于所述动作预测的总数满足所述预测阈值来绕过生成附加动作预测。
30.根据权利要求29所述的方法,其中,所述动作预测阈值是基于所述计算装置的一个或多个特征而选择的动态值。
31.一种由一个或多个处理器实施的方法,所述方法包括:
在提供对自动化助理的访问的计算装置处确定用户已经提供了针对所述自动化助理的一个或多个输入以初始化可用动作的执行;
基于确定所述用户提供了所述一个或多个输入来访问上下文数据,所述上下文数据表征所述用户将所述一个或多个输入提供给所述计算装置的上下文;
响应于确定所述用户已经提供了所述一个或多个输入,生成与被预测为要被初始化的一个或多个动作相对应的一个或多个动作预测,
其中,所述一个或多个动作预测至少通过以下步骤生成:使用经过训练的机器学习模型来处理至少基于所述可用动作和所述上下文数据的输入;
基于所述一个或多个动作预测,使动作推进数据缓存在所述计算装置和/或另一计算装置处,其中,所述动作推进数据与在执行一个或多个子任务以促进完成所述一个或多个动作中的给定动作时由所述计算装置和/或所述另一计算装置采用的数据类型相对应;
基于所述一个或多个输入和/或所述上下文数据,确定用于将所述动作推进数据缓存在所述计算装置和/或所述另一计算装置处的到期;
在确定所述用户已经提供了针对所述自动化助理的所述一个或多个输入之后,确定所述用户是否在用于缓存所述推进数据的所述到期之前提供了另一输入以促进所述计算装置和/或所述另一计算装置执行所述一个或多个动作中的所述给定动作;以及
当所述用户被确定为已经在用于缓存所述推进数据并且促进所述一个或多个动作中的所述给定动作的所述到期之前提供了所述另一输入时:
响应于确定所述用户提供了所述另一输入,使所述计算装置和/或所述另一计算装置初始化所述一个或多个动作中的所述给定动作的执行。
32.根据权利要求31所述的方法,进一步包括:
当所述用户被确定为已经提供了所述另一输入以促进所述给定动作时:
响应于确定所述用户提供了所述另一输入,使基于所述用户提供了使得所述动作被执行的所述另一输入来修改所述经过训练的机器学习模型。
33.根据权利要求31或32所述的方法,进一步包括:
当所述用户被确定为已经提供了特定输入以促进与所述给定动作不同的另一动作时:
响应于确定所述用户提供了所述特定输入,使所述另一动作被执行,以及
响应于确定所述用户提供了所述特定输入,使基于所述用户提供了使得所述另一动作被执行的所述特定输入来修改所述经过训练的机器学习模型。
34.根据权利要求31至33中的任一项所述的方法,其中,所述动作推进数据包括装置认证数据,所述装置认证数据是在执行所述给定动作以通过广域网建立所述计算装置与服务器装置之间的连接时使用的。
35.根据权利要求31至34中的任一项所述的方法,其中,所述动作推进数据包括装置连接数据,所述装置连接数据是在执行所述给定动作以通过局域网建立所述计算装置与客户端装置之间的连接时使用的。
36.根据权利要求31至35中的任一项所述的方法,
其中,所述一个或多个动作预测中的动作预测标识将请求所述一个或多个动作中的对应动作的概率,以及
其中,将请求所述对应动作的所述概率是使用所述经过训练的机器学习模型来确定的。
37.根据权利要求36所述的方法,
其中,所述计算装置是便携式计算装置,以及
其中,生成所述一个或多个动作预测包括:使用所述经过训练的机器学习模型来处理包括所述用户和/或所述便携式计算装置的位置的一个或多个输入。
38.根据权利要求36或37所述的方法,其中,生成所述一个或多个动作预测包括:将所述经过训练的机器学习模型应用于一个或多个输入,所述一个或多个输入包括表征所述计算装置和/或另一计算装置的计算装置类型,经由所述计算装置和/或所述另一计算装置预测所述用户请求执行所述一个或多个动作中的所述给定动作。
39.根据权利要求31至38中的任一项所述的方法,其中,生成与预测所述用户初始化要执行的一个或多个动作相对应的所述一个或多个动作预测包括:
针对所述一个或多个动作中的每个相应动作,确定用于所述计算装置完成执行所述相应动作的估计运算义务。
40.根据权利要求39所述的方法,其中,确定用于缓存所述推进数据的所述到期是基于针对所述给定动作确定的特定估计运算义务。
41.根据权利要求31至40中的任一项所述的方法,其中,生成与预测所述用户初始化要执行的所述一个或多个动作相对应的所述一个或多个动作预测包括:
针对所述一个或多个动作预测中的每个动作预测,确定动作预测的总数是否满足动作预测阈值,以及
当所述动作预测的总数满足所述动作预测阈值时:
基于所述动作预测的总数满足所述预测阈值来绕过生成附加动作预测。
42.根据权利要求41所述的方法,其中,所述动作预测阈值是基于所述计算装置的一个或多个特征而选择的动态值。
43.一种包括指令的计算机程序产品,所述指令在被一个或多个处理器执行时使所述一个或多个处理器执行根据前述权利要求中的任一项所述的方法。
44.一种包括指令的计算机可读存储介质,所述指令在被一个或多个处理器执行时使所述一个或多个处理器执行根据权利要求1至42中的任一项所述的方法。
45.一种包括一个或多个处理器的系统,所述一个或多个处理器用于执行根据权利要求1至42中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962843900P | 2019-05-06 | 2019-05-06 | |
US62/843,900 | 2019-05-06 | ||
PCT/US2019/034937 WO2020226667A1 (en) | 2019-05-06 | 2019-05-31 | Performing subtask(s) for a predicted action in response to a separate user interaction with an automated assistant prior to performance of the predicted action |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113906501A true CN113906501A (zh) | 2022-01-07 |
Family
ID=73046524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980096025.7A Pending CN113906501A (zh) | 2019-05-06 | 2019-05-31 | 在进行预测动作之前响应于与自动化助理的单独用户交互而进行预测动作的(多个)子任务 |
Country Status (3)
Country | Link |
---|---|
US (4) | US11222637B2 (zh) |
EP (1) | EP3942550A1 (zh) |
CN (1) | CN113906501A (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102455199B1 (ko) * | 2017-10-27 | 2022-10-18 | 엘지전자 주식회사 | 인공지능 디바이스 |
CN113544770A (zh) * | 2019-05-06 | 2021-10-22 | 谷歌有限责任公司 | 在访问非助理应用时通过自动助理初始化非助理后台动作 |
EP3942550A1 (en) * | 2019-05-06 | 2022-01-26 | Google LLC | Performing subtask(s) for a predicted action in response to a separate user interaction with an automated assistant prior to performance of the predicted action |
US11450325B1 (en) | 2019-12-12 | 2022-09-20 | Amazon Technologies, Inc. | Natural language processing |
US11380308B1 (en) * | 2019-12-13 | 2022-07-05 | Amazon Technologies, Inc. | Natural language processing |
US11551681B1 (en) | 2019-12-13 | 2023-01-10 | Amazon Technologies, Inc. | Natural language processing routing |
WO2021206413A1 (en) * | 2020-04-06 | 2021-10-14 | Samsung Electronics Co., Ltd. | Device, method, and computer program for performing actions on iot devices |
US11735180B2 (en) * | 2020-09-24 | 2023-08-22 | International Business Machines Corporation | Synchronizing a voice reply of a voice assistant with activities of a user |
US20230223031A1 (en) * | 2022-01-11 | 2023-07-13 | Google Llc | User authentication, for assistant action, using data from other device(s) in a shared environment |
US20240020091A1 (en) * | 2022-07-12 | 2024-01-18 | Google Llc | Assistant adaptation of graphical user interface to guide interaction with user in fulfilling user request |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7752152B2 (en) | 2006-03-17 | 2010-07-06 | Microsoft Corporation | Using predictive user models for language modeling on a personal device with user behavior models based on statistical modeling |
US9817627B2 (en) * | 2014-08-04 | 2017-11-14 | At&T Intellectual Property I, L.P. | Method and apparatus for presentation of media content |
JP6728496B2 (ja) * | 2016-11-04 | 2020-07-22 | ディープマインド テクノロジーズ リミテッド | 強化学習を使用した環境ナビゲーション |
US10466978B1 (en) * | 2016-11-30 | 2019-11-05 | Composable Analytics, Inc. | Intelligent assistant for automating recommendations for analytics programs |
US10356200B2 (en) | 2016-12-28 | 2019-07-16 | Google Llc | Optimizing user interface data caching for future actions |
US10546023B2 (en) * | 2017-10-03 | 2020-01-28 | Google Llc | Providing command bundle suggestions for an automated assistant |
CN107783801B (zh) | 2017-11-06 | 2021-03-12 | Oppo广东移动通信有限公司 | 应用程序预测模型建立、预加载方法、装置、介质及终端 |
US11176589B2 (en) * | 2018-04-10 | 2021-11-16 | Ebay Inc. | Dynamically generated machine learning models and visualization thereof |
EP3942550A1 (en) * | 2019-05-06 | 2022-01-26 | Google LLC | Performing subtask(s) for a predicted action in response to a separate user interaction with an automated assistant prior to performance of the predicted action |
-
2019
- 2019-05-31 EP EP19731543.5A patent/EP3942550A1/en active Pending
- 2019-05-31 CN CN201980096025.7A patent/CN113906501A/zh active Pending
- 2019-05-31 US US16/613,705 patent/US11222637B2/en active Active
-
2022
- 2022-01-06 US US17/569,811 patent/US11664028B2/en active Active
-
2023
- 2023-05-25 US US18/202,236 patent/US11996102B2/en active Active
-
2024
- 2024-05-24 US US18/674,509 patent/US20240312461A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP3942550A1 (en) | 2022-01-26 |
US20220130385A1 (en) | 2022-04-28 |
US20230298585A1 (en) | 2023-09-21 |
US20240312461A1 (en) | 2024-09-19 |
US11664028B2 (en) | 2023-05-30 |
US11222637B2 (en) | 2022-01-11 |
US11996102B2 (en) | 2024-05-28 |
US20200357395A1 (en) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11664028B2 (en) | Performing subtask(s) for a predicted action in response to a separate user interaction with an automated assistant prior to performance of the predicted action | |
US20240153502A1 (en) | Dynamically adapting assistant responses | |
KR102313474B1 (ko) | 자동화된 어시스턴트를 통해 대화 세션 재개를 위한 시스템, 방법 및 장치 | |
US12118998B2 (en) | Orchestrating execution of a series of actions requested to be performed via an automated assistant | |
US12106759B2 (en) | Initializing non-assistant background actions, via an automated assistant, while accessing a non-assistant application | |
US11869502B2 (en) | Mitigation of client device latency in rendering of remotely generated automated assistant content | |
US11848013B2 (en) | Automated assistant invocation of second interactive module using supplemental data provided by first interactive module | |
WO2020226667A1 (en) | Performing subtask(s) for a predicted action in response to a separate user interaction with an automated assistant prior to performance of the predicted action | |
US20240304184A1 (en) | Controlling a style of large language model(s) during ongoing dialog(s) through utilization of natural language based response style tag(s) |
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 |