本公开涉及在执行自动助理例程期间在客户端设备之间传输该例程。
背景技术:
1、人类可以与交互式软件应用接涉人机对话,该交互式软件应用在本文被称作“自动助理”(也被称作“数字代理”、“聊天机器人”、“交互式个人助理”、“智能个人助理”、“对话代理”等)。例如,人类(当他们与自动助理交互时的人类可以被称作“用户”)可以使用可以在一些情况下被转换成文本并且然后被处理的口头自然语言输入(例如,话语),并且/或者通过提供文本(例如,键入的)自然语言输入来提供命令和/或请求。
2、一些自动助理可以响应于接收到特定命令而执行多个动作的例程。例如,响应于接收到口头话语“good night(晚安)”,自动助理可以使联网的灯关闭,可以使明天的天气预报被渲染给用户,并且可以使用户的明日议程被渲染给用户。遗憾的是,一旦自动助理已经开始指导例程中涉及的多个动作中的一个或多个动作的执行,用户可能无法停止该例程。在用户试图停止例程和/或在执行当前例程的同时使自动助理执行单独的动作或单独的例程的情况下,这可能是有问题的。结果,当前正在执行的例程通常必须继续直到完成,并且在自动助理可以响应于执行另一动作或例程的用户请求之前将有延迟。此外,会浪费花在继续执行当前例程上的任何计算和/或网络资源。
3、而且,在执行例程时,自动助理通常使与例程有关的内容仅在一个或多个特定客户端设备,诸如经由其来启动例程的客户端设备和/或在例程中明确手动指定的客户端设备上(例如,可听地和/或图形地)渲染。如果用户远离(一个或多个)特定客户端设备,则渲染的内容可能不再容易被用户感知。这可能使用户无法查明所渲染的内容,从而导致将计算和/或网络资源浪费在不必要地渲染无法察觉的内容。此外,为了使用户随后查明他/她未能查明的内容,用户必须再次使自动助理执行整个例程,从而导致将计算和/或网络资源进一步浪费在对例程的所有内容的再次渲染上,该所有内容除了未被用户感知到的内容之外,也包括被用户实际感知的那部分。
技术实现思路
1、本文公开的实施方式涉及用于在自动助理执行例程期间在客户端设备之间传输自动助理例程的方法、装置和计算机可读介质(暂时性和非暂时性)。示例例程可以是早晨例程,在该早晨例程中,自动助理在早晨顺序地执行多个不同的动作,以使用户为其一天做好准备。例如,早晨例程可以涉及自动助理经由客户端设备使用户在特定日期(例如当天)的计划表以可听的方式渲染,自动助理使应用(例如咖啡机)被打开,然后在用户准备就绪时经由客户端设备可听地渲染播客。当自动助理使在例程的进一步中的内容被渲染给用户时,可能是如下情况:用户会走开正在渲染内容的助理客户端设备,并且至少部分托管了自动助理。结果,用户可能暂时看不到和/或听不到来自助理客户端设备的渲染内容。此外,如果用户在执行早晨例程期间在自己的家中四处走动,则可能要求用户每次离开包括正渲染例程的进一步中的内容的助理客户端设备的房间时明确请求停止和启动早晨例程。这可能导致将计算和/或网络资源浪费在处理停止和/或重新启动例程所需的口头话语上。
2、为了在客户端设备之间提供例程的流畅和/或自动转换,并提高计算机和/或网络资源消耗的效率,本文阐述的实现方式允许在助理设备之间自动转换自动助理例程。这样,可以以技术上改进的方式实现包括复杂例程的例程。例如,可以以自适应的方式在辅助设备之间分布例程,从而在给定情况下能够改进的设备行为。可以根据例程的给定实例的自适应需求来调整每个设备的操作方式。由于例程可能在一段时间内实施,因此设备之间资源利用率的最佳分配可能随着该时间段期间的条件变化而变化;本公开可以认识到该因素来适应设备行为。在那些实施方式中的一些中,针对例程的内容的渲染最初可以仅发生在可用客户端设备的初始子集(例如,仅一个)处。例如,由于在单个客户端设备处检测到(或者在单个客户端设备处最强地检测到)例程的所讲快捷命令短语(如下所述),所以渲染针对例程的内容最初可以发生在该单个客户端设备处。作为另一示例,由于在单个客户端设备附近检测到用户的存在,所以针对例程的内容的渲染最初可以附加地或替代地发生在该单个客户端设备处。可以基于来自(客户端设备和/或其他联网设备的)一个或多个传感器的传感器数据来检测用户,并且可以基于传感器是客户端设备的和/或是其他联网设备的,来确定该检测在单个客户端设备附近,其他联网设备与客户端设备在空间上是相关的(例如,在网络拓扑中)。作为另一示例,由于单个客户端设备被手动指定为应当在其中启动例程的单个客户端设备,所以针对例程的内容的渲染最初可以发生在该单个客户端设备处。例如,可以在某个时间和/或在检测到一个或多个触发事件时自动触发早晨例程。例如,可以响应在特定时间段内发生的一个或多个触发事件来触发早晨例程。触发事件可以包括:例如,来自智能手机的指示唤醒警报已被解除的数据、来自联网咖啡机的指示正在煮咖啡的数据和/或来自智能相机的指示用户已被检测到处于特定位置的数据。继续该示例,早晨例程可以手动指定特定的客户端设备,经由该客户端设备应该首先渲染针对例程的内容。
3、此外,在客户端设备的初始子集处对例程的内容进行渲染期间,可以将该例程传输到不在初始子集中的一个或多个附加可用客户端设备。在传输例程时,使附加可用客户端设备渲染针对例程的内容。由附加可用客户端设备渲染的内容包括尚未由初始子集的客户端设备渲染的针对例程的内容,并且可以可选地包括由客户端设备已经渲染的其中一些内容的重放(例如,在该传输之前由初始子集的客户端设备渲染的可听内容的最后五秒的重放)。在传输例程时,可以可选地停止在初始子集的客户端设备处对例程的内容的渲染。在初始子集的客户端设备处对例程的内容渲染的停止可以在附加可用客户端设备处的内容渲染的初始化之前或同时发生。在初始子集的客户端设备处的内容渲染的停止也可以在附加可用客户端设备处的内容渲染之后逐渐发生(例如,可以逐渐减少可听内容的量,然后在附加可用客户端设备处的内容渲染的初始化之后停止)。在发生在初始子集的客户端设备处的内容渲染的停止的实施方式中,由于内容没有被传输到初始子集的客户端设备和/或未被初始子集的客户端设备渲染,因此可以节省网络和/或计算资源。
4、在各种实施方式中,将例程传输到不在初始子集中的附加可用客户端设备可以基于在附加可用客户端设备附近检测到用户的存在而发生。例如,可以响应于检测到这样的存在使来自例程的内容在附加可用客户端设备处自动渲染。作为另一示例,可以使传输例程的可听和/或视觉提示在附加可用客户端设备处自动渲染,并且响应于该提示接收响应于肯定用户接口输入而渲染的例程的内容。可以基于来自(附加可用客户端设备和/或其他联网设备的)一个或多个传感器的传感器数据来检测在附加可用客户端设备附近的用户,并且可以基于传感器是附加可用客户端设备的和/或其他联网设备的,来检测用户在附加可用客户端设备附近,其他联网设备与附加可用客户端设备在空间上是相关的(例如,在网络拓扑中)。在那些各种实施方式中的一些中,在客户端设备的初始子集处的内容渲染的停止可以响应于在附加可用客户端设备附近检测到用户的存在而发生。附加地或可替代地,基于来自与初始子集相关的传感器的传感器数据,在客户端设备的初始子集处的内容渲染的停止可以响应于在客户端设备的初始子集附近检测到缺少用户的存在而发生。
5、如上所述,在一些实施方式中,可以响应于检测到用户的口头的或键入的自然语言输入中的快捷短语或命令来初始化自动助理例程。快捷命令提供了使自动助理可选地以特定顺序执行动作的集合的简明命令。简明命令是“精简的”,因为它的长度比否则将需要讲出/键入的命令要短,但是对于简明命令来说,要使自动助理执行该动作的集合。提供简明命令以使执行动作的集合,代替用于该动作的集合的较长命令,可以使得能够提供(以及发送和/或处理)更少的用户输入,从而节省了计算和网络资源。作为用于自动助理例程的简明命令的一个示例,当用户在早晨醒来时,用户可以通过向厨房助理设备(即,位于厨房的客户端计算设备)提供口头话语来触发“早上好”例程。口头话语可以是,例如,“早上好”,其可以由助理设备和/或远程助理设备处理(与助理设备通信)以初始化“早上好”例程。例如,助理设备和/或远程设备可以处理与口头话语对应的音频数据,以将口头话语转换为文本,并且可以进一步确定针对该用户将文本“早上好”分配给了响应于口头话语“早上好”要执行的自动助理动作的集合。
6、尽管可以响应于口头的或键入的快捷命令来初始化各种自动助理例程,在一些实施方式中,附加地或替代地,可以响应于用户按下客户端设备或外围设备处的虚拟或硬件元件,执行经由客户端设备的传感器检测到的手势,在客户端设备上提供其他触觉输入和/或提供任何其他类型的计算机可读用户接口输入来初始化自动助理例程。例如,可以用可选择图标在客户端设备上呈现图形用户界面(gui),其中该可选择图标为用户提供初始化自动助理例程的建议。当用户选择可选择图标(例如,说出“good morning(早上好)”的gui按钮)时,自动助理可以作为响应初始化对应的自动助理例程。附加地或可替代地,例如,响应于自动助理检测到用户的存在(例如,使用声音认证和/或面部识别来检测特定用户)、警报响起(例如,在相关联的电话或其他设备上设置的唤醒警报)、应用的打开、和/或可由自动助理识别的其他用户动作(例如,基于来自一个或多个客户端设备的信号),可以自动地初始化自动助理例程。
7、示例“早上好”例程可以包括前述使用户的计划表被渲染、使特定电器被开启以及使播客被渲染的动作。再次,通过使自动助理能够对这样的快捷命令做出响应,用户不必为了使自动助理执行对应的动作而提供一串命令(例如,用户不需要背诵口头话语:“assistant,read me my schedule,turn on my appliance,and play my podcast.(助理,请阅读我的计划表,开启我的电器,然后播放我的播客)”。相反,自动助理可以响应于快捷命令,自动助理可以处理该快捷命令以标识与该快捷命令对应的动作。在一些实施方式中,可以对例程进行个性化,从而使特定的快捷命令或其他输入能够使例程得以执行,从而使自动助理针对一个用户执行特定的动作的集合,而相同的输入会使自动助理针对不同的用户执行不同的动作的集合。例如,特定用户可以特别地将自动助理配置为响应于快捷命令而执行动作的第一集合,并且该特定用户的配偶可以将自动助理配置为响应于相同的快捷命令而执行动作的第二集合。自动助理可以使用一个或多个传感器输入和/或诸如声音签名、面部识别、图像馈送、运动特点和/或其他数据的一个或多个确定的特点在提供快捷命令的用户之间进行区分。
8、当用户向诸如厨房助理设备之类的助理设备提供诸如“早上好”的快捷命令时,由于口头话语是针对厨房助理设备,所以与该例程的一个或多个动作对应的内容最初可以由厨房助理设备渲染。例如,尽管其他设备确认快捷命令,但是内容最初可以仅在厨房助理设备处渲染(即,不同时在任何其他客户端设备处渲染)。例如,多个设备可以确认在各自的自动助理接口处接收到的快捷命令,但是,可以将接收到最大声和/或失真最小的快捷命令的设备指定为将在其中初始化自动助理例程的设备。然而,当用户继续在其家中移动以为他们的一天做准备,该例程可以在家中的一个或多个其他助理设备之间共享。
9、例如,当用户离开厨房进入其家中的书房时,厨房助理设备可以检测到用户正在离开厨房。当自动助理正可听地渲染当天的计划表时,可以检测到用户正在离开厨房。响应于该检测,自动助理可以暂停计划表的可听渲染,直到再次在厨房助理设备附近检测到用户或在另一助理设备附近检测到用户为止。例如,用户可以从厨房移到书房,该书房可以包括书房助理设备。由于在书房助理设备附近检测到用户,可以使书房助理设备恢复以可听的方式渲染用户当天的计划表。此外,只要继续在书房助理设备附近检测到用户,书房助理设备就可以继续执行“早上好”例程的其他但尚未执行的动作。
10、为了检测用户的存在,用户可以特别地请求当用户在他们的家中四处移动时,自动助理继续执行他/她的例程。这可以确保自动助理具有明确的准许来检测用户的存在,以在设备之间转换例程。可以通过多种方式,诸如音频、视频和/或通过其可以感知用户的存在的任何其他介质,来实现对用户的检测。在一些实施方式中,助理设备可以采用包括一个或多个麦克风的音频子系统,以便检测用户的声音签名,以验证用户是否接近助理设备。附加地或可替代地,自动助理可以基于在助理设备附近是否检测到阈值噪声量来检测用户的运动和/或存在。例如,如果用户在早上好例程开始时就在厨房里,但是随后走进书房,从而在书房中产生了一定量的噪声,则书房中的助理设备可以检测到书房中的噪声。结果,自动助理可以确定所生成的噪声量满足用于传输例程的阈值,并因此使该例程从厨房助理设备传输到书房助理设备。
11、在一些实施方式中,例程的传输可以基于学习的行为,从而允许用户在设备之间使例程传输,而不必产生噪声。例如,用户可以在他们的厨房中使例程初始化,然后,在例程执行期间,特别地使用口用话语要求自动助理将例程传输到他们的书房。在一次或多次明确请求此传输之后,自动助理可以学习基于其他传感器输入(诸如厨房中的运动传感器和/或书房中的运动传感器)抢先引起该传输。例如,可以响应于经由来自用户家中厨房的灯的运动传感器的传感器输出在厨房中检测到用户,来触发在厨房设备处初始化自动助理例程。此后,用户可以走进他们的书房,并经由来自其书房中的单独的灯的另一运动传感器的传感器输出,在书房中检测到用户。由于灯和运动传感器可以通过家庭网络与自动助理进行通信,因此自动助理可以学习此行为,因此可以使例程内容的渲染由在空间上与运动传感器对应的客户端设备执行。
12、在设备之间传输例程的一些实施方式中,自动助理可以根据存储例程实例的一个或多个数据库来操作。例程实例可以存储在可以至少部分托管自动助理的一个或多个服务器设备和/或客户端设备处。例如,远程服务器设备可以存储例程实例,这些例程实例可以可选地被为自动助理提供自动助理接口的客户端设备访问。当在第一客户端设备处初始化例程时,可以生成或更新例程实例以指示该例程已经在第一客户端设备处被初始化。例如,可以通过诸如“modify morning_routine.status.active=1;modify morning_routine.device.deviceid=3”的命令来初始化例程实例。“deviceid”槽可以指示例程已被初始化的位置或设备(例如厨房设备),而“active”槽可以指示例程是否处于活动。与“morning_routine”功能相关联的值可以被用户家中的多个不同设备以及可以与用户账户相关联的任何其他设备访问。
13、当用户使例程在设备之间传输时,第一客户端设备(即,“deviceid=3”)可以向管理“morning_routine”功能的状况的远程服务器设备发送信号,其中该信号使“morning_routine”功能的状况被修改。例如,来自第一客户端设备的信号可能使远程服务器设备处的命令被执行,诸如“modify morning_routine.action.read_daily_schedule.pause=1”,从而使例程的特定操作(例如,“read_daily_schedule”)被暂停。例如,使例程的特定动作被暂停可以使第一客户端设备停止对与该例程对应的内容的渲染。响应于例如从远程服务器发送到第一客户端设备的停止命令,或者远程服务器中止将内容流传输到第一客户端设备,可以使第一客户端设备停止内容的渲染。当随后在第二客户端设备(诸如家庭书房中的助理设备)附近检测到用户时,第二客户端设备可以使远程服务器设备修改与例程相关联的位置或设备。例如,响应于在例程仍处于活动时确定用户已移入其家庭书房,可以执行命令“modify morning_routine.deviceid=2;modify morning_routine.action.read_daily_schedule.pause=0”。上述命令可以使“deviceid”槽值变为“2”(即,家庭书房设备标识符),并且使“暂停”槽值变为“0”,从而使动作“read_daily_schedule”变为在第二客户端设备处取消暂停。然后,自动助理可以继续使用户的日程表在第二客户端设备处渲染,并且第一客户端设备可以返回待机模式。
14、在一些实施方式中,可以对设备之间的例程的传输施加限制。例如,与配偶同住的用户可能希望在该用户已经初始化“早上好”例程时不打扰配偶。例如,当自动助理正在执行“早上好”例程时,配偶通常可以在家庭健身房中冥想。为了确保自动助理不会打扰配偶,用户可以提供明确的命令,诸如“assistant,do not ever transfer the‘good morning’routine to the gym assistant device(助理,永不传输‘早上好’例程到健身房助理设备)”。作为响应,可以通过诸如“modify morning_routine.deny.deviceid=1”的命令来修改与“早上好”例程相关联的槽值。槽值“deviceid=1”可以指健身房助理设备,“拒绝”可以使自动助理无法将“早上好”例程传输到健身房助理设备的限制。
15、在一些实施方式中,第一用户可以使第一例程在厨房助理设备处执行,并且第二用户可以使第二例程在书房助理设备处执行,其中厨房助理设备和书房助理设备在相同的家中。当第一用户离开厨房时,可以暂停第一例程,但是,如果用户走进书房,则书房助理设备可以限制第一例程到书房助理设备的可传输性。这样,第一例程将不干扰第二例程,至少直到第二例程完成为止。当第二例程在书房助理设备处完成而第一用户仍在书房中时,可以在书房助理设备处恢复第一例程。否则,如果第一用户在第二例程期间离开书房并返回厨房,则可以在厨房助理设备处恢复第一例程。
16、在一些实施方式中,在执行例程时,自动助理与一个或多个本地和/或远程代理接口。例如,对于包括三个动作的例程,自动助理可以在执行第一动作时与第一代理接口,在执行第二动作时与第二代理接口,并且在执行第三动作时与第三代理接口。如本文所使用的,“代理”是指自动助理所利用的一个或多个计算设备和/或软件。在一些情况下,代理可以与自动助理分离和/或可以通过一个或多个通信信道与自动助理通信。在这些情况中的一些情况下,自动助理可以从第一网络节点向实现代理的功能性的全部或各个方面的第二网络节点传输数据(例如,代理命令)。在一些情况下,代理可以是第三方(3p)代理,因为它是由与管理自动助理的一方分开的一方管理的。在一些其他情况下,代理可以是第一方(1p)代理,因为它由管理自动助理的相同方管理。
17、代理被配置为(例如,通过网络和/或经由api)从自动助理接收调用请求和/或其他代理命令。响应于接收到代理命令,代理基于代理命令生成响应内容,并发送该响应内容以提供基于响应内容的用户接口输出。例如,代理可以将响应内容传输到自动助理,以由自动助理基于响应内容来提供输出。作为另一示例,代理本身可以提供输出。例如,用户可以经由客户端设备与自动助理进行交互(例如,自动助理可以在客户端设备上实现和/或与客户端设备进行网络通信),并且代理可以是安装在客户端设备上的应用或远离客户端设备但在客户端设备上可“流式传输”的应用可执行文件。当应用被调用时,它可以由客户端设备执行和/或由客户端设备置于最前(例如,其内容可以接管客户端设备的显示)。
18、在一些情况下,响应于根据本文公开的技术对特定代理的调用,可以将人与自动助理的对话至少暂时地(实际上或有效地)传输到该特定代理。例如,可以在对话的进一步中将基于特定代理的响应内容的输出提供给用户,并且响应于该输出来接收另外的用户输入。可以将另外的用户输入(或其转换)提供给特定代理。特定代理可以在生成另外的响应内容时利用其自己的语义引擎和/或其他组件,该另外的响应内容可以被用于生成另外的输出用于提供对话的进一步。该总体过程可以继续直到,例如:特定代理提供终止特定代理对话的响应内容(例如,答案或解决方案,而不是提示)、用户的附加用户接口输入终止特定代理对话(例如,而不是调用来自自动助理或另一代理的响应)等等。
19、在一些情况下,当对话被有效地传输到特定代理时,自动助理仍可以充当中介。例如,在用户的自然语言输入为声音输入而充当中介的情况下,自动助理可以将该声音输入转换为文本,将该文本(以及可选地,文本的注释)提供给特定代理,从特定代理接收响应内容,并提供基于该特定响应内容的输出以呈现给用户。同样,例如,在充当中介时,自动助理可以分析用户输入和/或特定代理的响应内容,以确定是否应终止与特定代理的对话、是否应将用户传输到替代代理、是否应基于特定代理对话更新全局参数值等等。在一些情况下,对话实际上可以传输到特定代理(一旦传输,自动代理不再充当中介),并且可选地,在发生诸如被特定代理终止的一种或多种情况(例如,响应于特定代理完成意图)时,传输回自动助理。
20、提供以上内容作为本文公开的各种实施方式的概述。本文提供了关于那些各种实施方式以及附加实施方式的附加细节。
21、在一些实施方式中,由一个或多个处理器实施的方法被阐述为包括诸如确定自动助理例程已经被初始化的操作。自动助理例程可以对应于经由可被自动助理访问的一个或多个代理执行的动作的集合。自动助理例程的初始化可以与链接客户端设备的生态系统相关联。该方法可以进一步包括:响应于确定自动助理例程已经被初始化,使链接客户端设备的初始子集渲染在执行自动助理例程的动作中的一个或多个动作时生成的初始内容。该方法还可以包括:在通过链接客户端设备的初始子集渲染初始内容之后或期间,基于来自至少一个传感器的传感器数据,确定用户存在于链接客户端设备的附加客户端设备附近。附加客户端设备可以从初始子集中排除,并且可以不渲染初始内容。该方法可以进一步包括:响应于确定用户存在于附加客户端设备附近,使附加客户端设备渲染在执行自动助理例程时生成的另外的内容。
22、在一些实施方式中,该方法可以进一步包括:确定用户未存在于初始子集的链接客户端设备中的任何一个附近,并且响应于确定用户未存在于初始子集的链接客户端设备中的任何一个附近,使对在执行自动助理例程时生成的任何内容的渲染在链接客户端设备的初始子集处停止。
23、在一些实施方式中,确定用户未存在于初始子集的链接客户端设备中的任何一个附近可以发生在确定用户存在于附加客户端设备附近之前。此外,使在执行自动助理例程时生成的任何内容的渲染在链接客户端设备的初始子集处停止可以发生在通过附加客户端设备渲染在执行自动助理例程时生成的任何内容之前。
24、在一些实施方式中,确定用户未存在于初始子集的链接客户端设备中的任何一个附近可以是基于来自至少一个附加传感器的附加传感器数据。在一些实施方式中,来自至少一个附加传感器的附加传感器数据被用于基于以下中的一种或两种来确定用户未存在于初始子集的链接客户端设备中的任何一个附近:至少一个附加传感器与初始子集的链接客户端设备中的至少一个构成整体;以及至少一个附加传感器与初始子集的链接客户端设备中的至少一个在设备拓扑中是空间相关的。
25、在一些实施方式中,确定用户未存在于链接客户端设备中的任何一个附近可以包括确定用户存在于附加客户端设备附近。在一些实施方式中,该方法可以进一步包括:存储例程的状况,其中例程的状况指示在使对在执行自动助理例程时生成的任何内容的渲染在链接客户端设备的初始子集处停止时例程的状态。该方法可以进一步包括:基于例程的状况确定要在附加客户端设备处渲染另外的内容。
26、在一些实施方式中,该方法可以包括:基于存储的例程的状况,确定初始内容中被链接客户端设备的初始子集渲染的部分。该方法可以进一步包括:响应于确定用户存在于附加客户端设备附近,在渲染在执行自动助理例程时生成的另外的内容之前使附加客户端设备渲染初始内容的部分。
27、在一些实施方式中,链接客户端设备的初始子集可以是单个客户端设备并且该方法可以进一步包括:响应于单个客户端设备检测到的用户的用户接口输入,接收单个客户端设备发送的数据。其中确定自动助理例程已经被初始化可以是基于确定用户接口输入符合自动助理例程,并且可以基于单个客户端设备发送用户接口输入而使单个客户端设备渲染数据的初始子集。
28、在一些实施方式中,用户接口输入包括口头话语,口头话语包括针对自动助理例程的快捷短语,并且数据包括音频数据。该方法可以进一步包括:执行音频数据的语音转文本处理以生成文本。确定用户接口输入符合自动助理例程可以包括:确定所生成的文本包括快捷短语,并且确定快捷短语与自动助理例程相关联地存储。
29、在一些实施方式中,来自至少一个传感器的传感器数据可以被用于基于以下来确定用户存在于附加客户端设备附近:至少一个传感器与附加客户端设备构成整体;或者至少一个传感器与附加客户端设备在设备拓扑中是空间相关的。
30、在一些实施方式中,基于传感器数据确定用户存在于附加客户端设备附近可以包括:确定用户在附加客户端设备的阈值距离内。在一些实施方式中,基于传感器数据确定用户存在于附加客户端设备附近可以包括:确定传感器数据包括指示任何用户的存在的至少一个特点。在一些实施方式中,自动助理例程可以与用户的用户简档相关联地存储,以及其中基于传感器数据确定用户存在于附加客户端设备附近可以包括:确定传感器数据包括还与用户简档相关联地存储的至少一个特点。
31、在其他实施方式中,由一个或多个处理器实施的方法被阐述为包括诸如接收自动助理例程在第一客户端设备处已经被初始化的第一电子通知的操作。自动助理例程可以对应于通过可被自动助理访问的一个或多个代理执行的动作的集合。该方法可以进一步包括:使一个或多个代理中的代理初始化在自动助理例程的进一步中的该动作的集合中的动作的执行。该动作可以使第一客户端设备渲染要呈现给用户的内容,并且该内容可以基于在执行该动作时由代理生成的数据。该方法可以进一步包括:接收用户已经重新定位离开第一客户端设备的第二通知,并且响应于接收到第二通知,使第一客户端设备处的内容的渲染至少暂时停止。该方法可以进一步包括:接收用户已经被检测到存在于第二客户端设备附近的第三通知,并且响应于接收到第三通知,使第二客户端设备渲染在自动助理例程的进一步中的要呈现给用户的附加内容。
32、在一些实施方式中,该方法可以包括:响应于接收到第一通知生成例程实例数据,例程实例数据提供与自动助理例程有关的信息,并且例程实例数据标识第一客户端设备以及由代理执行的动作的状况。
33、在一些实施方式中,该方法可以包括:响应于接收到第二通知:修改例程实例数据以使代理至少暂时停止动作的执行。在动作的执行期间代理至少周期性地访问例程实例数据以确定是否要继续动作的执行。
34、在一些实施方式中,该方法可以包括:响应于接收到第三通知:修改例程实例数据以使代理恢复执行动作;或者向代理发送命令以使代理恢复执行动作。
35、在一些实施方式中,响应于第一客户端设备基于来自与第一客户端设备通信的传感器的传感器数据确定用户不再在第一客户端设备附近能够被检测到,可以从第一客户端设备接收第二通知。在一些实施方式中,传感器与第三设备构成整体,该第三设备连接到相对于第一客户端设备和第二客户端设备的公用网络。
36、在一些实施方式中,可以响应于用户向第一客户端设备的自动助理接口提供口头话语而在第一客户端设备处初始化自动助理例程,以及其中使第一客户端设备为用户渲染内容包括使第一客户端设备提供来自第一客户端设备的自动助理接口的可听输出。
37、在其他实施方式中,由一个或多个处理器实施的方法被阐述为包括诸如在远程服务器设备处接收从第一客户端设备发送的数据以及在远程服务器设备处确定数据对应于初始化与自动助理动作的集合对应的自动助理例程的请求的操作。该方法还可以包括:响应于确定数据对应于该请求,在远程服务器设备处生成针对该自动助理动作的集合中的动作的内容。该方法还可以包括:响应于从第一客户端设备接收到对应于初始化自动助理例程的请求的数据:将针对动作的内容发送给第一客户端设备以使第一客户端设备渲染针对动作的内容,并且在远程服务器设备处,在通过第一客户端设备渲染针对动作的内容期间,确定用户已经直接地或间接地指示在第二客户端设备处继续自动助理例程的兴趣。该方法可以进一步包括:响应于确定用户已经指示在第二客户端设备处继续自动助理例程的兴趣:在第二客户端设备处,渲染使在自动助理例程的进一步的附加数据。
38、在一些实施方式中,该方法可以包括:响应于从第一客户端设备接收到对应于初始化自动助理例程的请求的数据,远程服务器设备存储将自动助理例程的状况标识为在第一客户端设备处是活动的例程实例数据。此外,响应于确定用户在第二客户端设备处继续自动助理例程的兴趣,远程服务器设备修改例程实例数据以指示自动助理例程在第一客户端设备处是非活动的或在第二客户端设备处是活动的。
39、在一些实施方式中,该方法可以包括:在第一客户端设备处,确定例程实例数据在远程服务设备处已经被修改以指示自动助理例程在第一客户端设备处是非活动的或在第二客户端设备处是活动的。另外,该方法可以包括:响应于确定例程实例数据已经被修改,在第一客户端设备处中止对数据的渲染。
40、在一些实施方式中,该方法可以包括:在第一客户端设备或远程服务器设备处,生成例程实例数据,其中例程实例数据进一步标识初始化自动助理例程的用户或设备、自动助理例程被初始化的时间、或该动作的集合中的动作的状况。在一些实施方式中,附加内容包括之前在第一客户端设备处渲染的数据的至少一部分。
41、在一些实施方式中,该方法可以包括:响应于确定用户已经直接地或间接地指示在第二客户端设备处继续自动助理例程的兴趣,使第二客户端设备通过局域网从第一客户端设备的存储器缓冲区接收附加内容。
42、在其他实施方式中,由一个或多个处理器实施的方法被阐述为包括诸如经由第一客户端设备初始化自动助理以执行自动助理例程之类的操作。自动助理例程可以对应于自动助理执行的动作的集合。该方法可以进一步包括:生成提供与自动助理例程有关的信息的例程实例数据,该信息将第一客户端设备标识为针对自动助理例程的分配设备。该方法可以进一步包括:使第一客户端设备渲染在自动助理例程的进一步中的与该动作的集合中的动作对应的内容。该方法可以进一步包括:确定用户已经变得不太接近第一客户端设备,该确定基于来自与第一客户端设备通信的传感器的传感器数据。该方法可以进一步包括:响应于确定用户已经变得不太接近第一客户端设备,使在第一客户端设备处的对内容的渲染至少暂时停止。该方法可以进一步包括:修改例程实例数据以指示自动助理例程在第一客户端设备处已经被至少暂时停止。该方法可以进一步包括:当用户已经变得更加接近可被自动助理访问的第二客户端设备时:使自动助理根据例程实例数据经由第二客户端设备恢复执行自动助理例程。
43、在一些实施方式中,修改例程实例数据包括修改例程实例数据以指示在例程已经被至少暂时停止时动作的集合中的一个或多个动作已经被完成或正在进行中。
44、在一些实施方式中,该方法可以包括:当用户已经变得更接近第二客户端设备时:访问与自动助理例程相关联的例程准许,并且基于例程准许确定自动助理例程被准许以传输给第二客户端设备。
45、在一些实施方式中,该方法可以包括:当在第二客户端设备处已经恢复自动助理例程时:使修改例程实例数据以指示在第二客户端设备处已经恢复自动助理例程。
46、在一些实施方式中,生成例程实例数据包括将信息发送到远程服务器设备,并且其中修改例程实例数据包括将请求发送到远程服务器设备以修改例程实例数据。在一些实施方式中,传感器与第三客户端设备集成在一起,该第三客户端设备不同于第一客户端设备和第二客户端设备。
47、在一些实施方式中,使自动助理经由第二客户端设备恢复执行自动助理例程包括,使第二客户端设备渲染与动作的集合中的动作对应的附加内容。
48、另外,一些实施方式包括一个或多个计算设备的一个或多个处理器,其中一个或多个处理器可被操作以执行存储在相关联的存储器中的指令,并且其中所述指令被配置成使执行前述方法中的任何一个。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行任何前述方法的计算机指令。
1.一种通过一个或多个处理器实现的方法,所述方法包括:
2.根据权利要求1所述的方法,其中,确定在所述客户端设备的第一子集附近没有检测到用户是基于来自所述客户端设备的第一子集的一个或多个传感器的传感器数据。
3.根据权利要求2所述的方法,其中,所述一个或多个传感器包括音频传感器。
4.根据权利要求2所述的方法,其中,所述一个或多个传感器包括视频传感器。
5.根据权利要求2所述的方法,其中,确定在所述客户端设备的第二子集附近检测到所述用户是基于来自所述客户端设备的第二子集的一个或多个附加传感器的附加传感器数据。
6.根据权利要求1所述的方法,进一步包括:
7.根据权利要求6所述的方法,进一步包括:
8.根据权利要求1所述的方法,其中,客户端设备的第一子集是单个客户端设备并且进一步包括:
9.根据权利要求8所述的方法,其中,所述用户界面输入包括口头话语,所述口头话语包括针对所述自动助理例程的快捷短语。
10.根据权利要求1所述的方法,其中,确定在所述客户端设备的第二子集附近检测到所述用户包括确定所述用户在所述客户端设备的第二子集中的至少一个客户端设备的阈值距离内。
11.一种由一个或多个处理器实现的方法,所述方法包括:
12.根据权利要求11所述的方法,其中,确定在所述第一设备附近不再检测到所述用户是基于来自所述第一设备的一个或多个传感器的传感器数据。
13.根据权利要求12所述的方法,其中,所述一个或多个传感器包括音频传感器。
14.根据权利要求12所述的方法,其中,所述一个或多个传感器包括视频传感器。
15.根据权利要求12所述的方法,其中,确定在所述第二设备附近检测到所述用户是基于来自所述第二设备的一个或多个附加传感器的附加传感器数据。
16.根据权利要求11所述的方法,进一步包括:
17.根据权利要求16所述的方法,其中,所述用户界面输入包括口头话语,所述口头话语包括针对所述自动助理例程的快捷短语。
18.一种由一个或多个处理器实现的方法,所述方法包括:
19.根据权利要求18所述的方法,其中,响应于从所述第一客户端设备接收到对应于初始化所述自动助理例程的所述请求的所述数据,所述远程服务器设备存储将所述自动助理例程的状况标识为在所述第一客户端设备处是活动的例程实例数据;以及其中,响应于确定所述用户对在所述第二客户端设备处继续所述自动助理例程的所述兴趣,所述远程服务器设备修改所述例程实例数据以指示所述自动助理例程在所述第一客户端设备处是非活动的或在所述第二客户端设备处是活动的。
20.根据权利要求19所述的方法,进一步包括:
21.根据权利要求19所述的方法,进一步包括:
22.根据权利要求18所述的方法,其中,所述附加内容包括之前在所述第一客户端设备处渲染的所述数据的至少一部分。
23.根据权利要求18所述的方法,进一步包括:
24.根据权利要求18所述的方法,其中,所述自动助理例程由在所述远程服务器设备上实现的自动助理执行,并且对所述自动助理例程的初始化的请求与提供给所述第一客户端设备的用户输入相关联,所述第一客户端设备具有到所述自动助理的助理接口,并且所述第一设备经由其助理接口渲染由所述自动助理执行的所述自动助理例程的针对所述动作的内容。
25.根据权利要求24所述的方法,其中,所述第二客户端设备具有到所述自动助理的助理接口,并且所述第二设备经由其助理接口渲染在由所述自动助理执行的所述自动助理例程的进一步中的所述附加数据。
26.根据权利要求24所述的方法,进一步包括响应于确定所述用户已经直接地或间接地指示对在第二客户端设备处继续所述自动助理例程的兴趣,使得与所述自动助理例程的所述动作集合中的所述一个或多个动作相对应的任何内容的渲染在所述第一客户端设备的所述助理接口处停止。
27.根据权利要求24所述的方法,其中,确定所述用户已经直接地或间接地指示对在所述第二客户端设备处继续所述自动助理例程的兴趣进一步包括确定所述用户不存在于所述第一客户端设备附近。
28.根据权利要求27所述的方法,在由所述第一客户端设备渲染所述内容之后或期间,确定所述用户已经直接或间接地指示对在第二客户端设备处继续所述自动助理例程的兴趣进一步包括:基于来自至少一个传感器的传感器数据,基于确定所述用户位于所述第二客户端设备的阈值距离内,确定所述用户存在于所述第二客户端设备附近,其中,所述第二客户端设备没有渲染所述内容。
29.根据权利要求28所述的方法,响应于确定所述用户存在于所述第二客户端设备附近,基于所述例程的所述状况来确定要经由在所述第二客户端设备处的所述对应助理接口渲染的另外的内容,其中,所述另外的内容包括与经由所述第一客户端设备的相应助理接口渲染的内容不同的内容,并且使得所述第二客户端设备的所述助理接口渲染在由所述自动助理执行的所述自动助理例程的执行中生成的所述另外的内容。
30.一种包括指令的计算机可读存储介质,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器执行根据权利要求1至29中任一项所述的方法。
31.一种包括一个或多个处理器的系统,所述一个或多个处理器用于执行根据权利要求1至29中任一项所述的方法。
