首页> 中国专利> 有条件地将各种自动助理功能分配给与外围助理控制设备的交互

有条件地将各种自动助理功能分配给与外围助理控制设备的交互

摘要

响应于用户与有形的外围助理控制设备进行交互(例如,按下设备的按钮),使得自动助理执行一个或多个动作。所执行的一个或多个动作可以基于由用户先前在配置所述外围助理控制设备时提供的输入。响应于与所述外围助理控制设备的交互而执行的一个或多个动作可以基于一个或多个状况而变化,诸如哪个用户当前是活跃的、外围助理控制设备当前位于哪里(其可以可选地基于所述按钮与多个助理计算设备中的哪个配对来推断)、和/或一个或多个智能设备和/或其他设备的当前状态(例如,如基于设备拓扑所确定的)。外围助理控制设备的效用可以被自动扩展超出在配置期间由用户特别请求的范围。

著录项

说明书

背景技术

人类可以使用本文称为“自动助理”(也称为“数字代理”、“聊天机器人”、“交互式个人助理”、“智能个人助理”、“助理应用程序”、“会话代理”等)的交互式软件应用程序参与人机对话。例如,人类(当他们与自动助理交互时,其可以被称为“用户”)可以通过使用口头自然语言输入(即,话语)(在某些情况下,可以将该口头自然语言输入转换成文本,并且然后对其进行处理)和/或通过提供文本(例如,键入的)自然语言输入来向自动助理提供命令和/或请求。自动助理通过提供响应用户界面输出来响应请求,该响应用户界面输出可以包括听觉和/或视觉用户界面输出。

在许多情况下,用户提供口头话语以使自动助理执行各种动作。然而,大量的计算和/或网络资源可以被用于处理口头话语以执行自动助理动作。例如,打开智能灯的自动助理动作可以通过将相对应的命令直接传输到智能灯,或者传输到用于处理该命令、然后将相对应的命令传输到智能灯的第三方服务器,来实现。然而,在响应于“助理,打开智能灯X(Assistant,turn on smart light X)”的口头话语而执行这样的动作时,对采集口头话语的音频数据执行语音到文本处理,基于所得到的文本执行自然语言处理,且然后确定相对应的命令。进一步,在远程地执行语音到文本和/或自然语言处理的情况下,音频数据和/或其他数据将需要通过一个或多个网络进行传输。

发明内容

本文阐述的实施方式涉及响应于用户与外围助理控制设备的交互,使自动助理执行一个或多个动作。所述外围助理控制设备可以(例如,经由蓝牙或其他通信协议)与助理计算设备配对,该助理计算设备包括自动助理界面,并且单独地和/或通过与远程自动助理组件交互,使能各种自动助理功能的执行。响应于用户与外围助理控制设备的交互,可以由外围助理控制设备向配对的助理计算设备提供输出。响应于接收到所述输出,配对的助理计算设备可以启动一个或多个自动助理动作/功能的执行。本文描述的实施方式可以用于增加外围助理控制设备的效用,使得可以需要更少的外围助理控制设备来使能给定数量的自动助理功能。此外,一些实施方式可以促进/降低外围助理控制设备的配置的复杂性。另外,由于外围助理控制设备可以减少自动助理系统所需要的语音识别处理的量(以及相关的带宽使用等),增加外围助理控制设备的效用/功能可以用来进一步减少由自动助理系统作为整体所使用的处理、带宽等。

如本文所述,所执行的自动助理动作可以基于在配置外围助理控制设备时由用户先前提供的用户界面输入。而且,所执行的动作可以根据一个或多个条件而变化,所述条件诸如多个用户中的哪个被确定为当前活跃的、外围助理控制设备当前位于哪里(其可以可选地基于外围助理控制设备与多个助理计算设备中的哪个相配对来推断)、和/或一个或多个智能设备和/或其他设备的当前状态(例如,如基于设备拓扑所确定的)。同样如本文所述,所执行的自动助理动作可以包括延伸超出了在外围助理控制设备的配置期间由用户具体请求的动作的一个或多个动作。

外围助理控制设备本身可能缺乏对自动助理的直接访问,并且可能缺乏在配对的助理计算设备上存在的各种硬件资源、或包含在配对的助理计算设备上存在的各种硬件资源的功能较弱的版本。例如,外围助理控制设备可能缺乏麦克风和Wi-Fi模块,而配对的助理计算设备包括所述两者。进一步,虽然外围助理控制设备可以包括处理器,但是与配对的助理计算设备处包括的处理器相比,它可能功能较弱。在一些实施方式中,外围助理控制设备可以包括在图形用户界面处提供的虚拟按钮,和/或能够呈现虚拟按钮的任何其他界面。替代地或附加地,外围助理控制设备可以包括具有一个或多个用户界面的物理按钮,用户可以通过该一个或多个用户界面提供一个或多个不同的输入。所述一个或多个不同的输入可以使外围助理控制设备通过无线通信信道分别提供一个或多个不同的输出。

一个或多个用户可以提供用户界面输入来配置外围助理控制设备。例如,可以在助理计算设备和/或外围助理控制设备处提供用户界面输入,以最初将助理计算设备和外围助理控制设备配对。可以提供另外的用户界面输入,以明确地将某个(或某些)自动助理功能分配给与外围助理控制设备的交互。例如,用户可以说出“助理,当我按下这个按钮时,打开客厅灯(Assistant,when I push this button turn on the living roomlights)”。在各种实施方式中,尽管用户仅指定要分配给与外围助理控制设备的交互的某个(或某些)自动助理功能,但是一个或多个附加的自动助理功能可以被进一步自动建议(并且如果接收到肯定的用户界面输入,则被分配),或者被进一步自动分配(无需首先建议)。

作为一个示例,对于“助理,当我按下这个按钮时,打开客厅灯(Assistant,when Ipush this button turn on the living room lights)”的口头话语,使“客厅”灯的开/关属性被命令为“开”状态的自动助理动作由所述口头话语明确指示,并且因此可以被分配给外围助理控制设备。尽管没有由所述口头话语明确指示,但是可以进一步分配使“客厅”灯的开/关属性被命令为“关”状态的另外的自动助理功能。另外,使“客厅”灯的开/关属性被命令为“开”状态可以进一步被分配给“客厅”灯的开/关属性处于“关”状态的第一条件,并且使“客厅”灯的开/关属性被命令为“关”状态可以进一步被分配给“客厅”灯的开/关属性处于“开”状态的第二条件。因此,响应于从外围助理控制设备接收响应于交互的输出,可以确定“客厅”灯的开/关属性的当前状态(例如,通过查询所述灯和/或通过使用设备拓扑(具有最近更新的设备状态)),并且根据当前条件是第一条件还是第二条件,所述灯被命令为开状态或关状态。

作为另一示例,对于“助理,当我按下这个按钮时,播放一些蓝草音乐(Assistant,when I push this button play some bluegrass music)”的口头话语,使配对的助理计算设备(和/或其他设备,如果指定的话)播放“蓝草音乐”的自动助理动作由所述口头话语明确指示,并且因此可以被分配给外围助理控制设备。虽然没有由所述口头话语明确指示,但是可以另外分配另外的自动助理功能,所述另外的自动助理功能使当前播放的“蓝草歌曲”被另一“蓝草歌曲”的播放所代替(例如,“下一首歌曲”自动助理功能)。进一步,播放“蓝草音乐”自动助理功能可以另外被分配给助理计算设备当前没有呈现“蓝草音乐”(或者可选地,没有呈现任何音乐)的第一条件,并且“下一首歌曲”自动助理功能可以另外被分配给“蓝草音乐”(或者可选地,任何音乐)当前正在助理计算设备处呈现的第二条件。因此,响应于从外围助理控制设备接收响应于交互的输出,如果满足第一条件,播放“蓝草音乐”自动助理功能可以由助理计算设备启动,而如果满足第二条件,则“下一首歌”自动助理功能可以替代地由助理计算设备启动。

因此,即使用户可以在两个分开的场合在外围助理控制设备处提供相同的用户交互(例如,按钮按压),并且作为响应从外围助理控制设备向配对的助理计算设备传输相同的输出,但是由于在两个分开的场合处的不同条件,不同的自动助理功能可以最终出现在两个分开的场合。

向外围助理控制设备自动建议和/或自动分配一个或多个附加的自动助理功能产生了各种技术益处。例如,它使得能够响应于用户与外围自动助理设备的某些交互来执行附加的自动助理功能。附加的自动助理功能可以响应于接收由外围自动助理设备提供的输出、并且确定某个(或某些)条件被满足来执行——这可以比处理相对应的口头话语显著地更有效(在计算和/或网络方面)。另外,例如,它可以减少在其它情况下由用户显式地分配附加自动助理功能所需的用户输入量。而且,根据当前条件自动改变响应于从外围助理控制设备接收到输出而启动的自动助理功能,也导致了各种技术益处。例如,针对当前条件启动正确的自动助理功能可以确保用于执行该自动助理功能的处理器和/或网络资源不会被浪费。例如,对于不同的条件不启动不同的自动助理功能的技术会浪费地生成和传输重复的并且将被忽略的命令(例如,即使灯已经是“打开”的,也生成并传输“打开灯”命令)。

在一些附加和/或替代实施方式中,不同的自动助理功能可以被分配给与外围自动助理控制设备的相同交互,并且响应于给定的交互实例模仿自动助理功能中的哪一个可以取决于外围助理控制设备当前位于哪里。例如,当外围助理控制设备位于“客厅”内或附近时,可以启动打开和/或关闭“客厅”灯的第一自动助理功能,而当外围助理控制设备位于“地下室”内或附近时,可以启动“在地下室设备上播放一些音乐”的第二自动助理功能。可以利用各种技术来确定所述设备当前位于哪里。例如,所述设备当前位于哪里可以基于所述按钮当前与多个助理计算设备中的哪一个配对。外围助理控制设备的配对可以响应于用户界面输入(在相应的助理计算设备起居室和/或在外围助理控制设备处)在不同的助理计算设备之间切换,或者可以自动切换以便使具有最强(或仅可检测的)通信信号的助理计算设备(例如,蓝牙)与外围助理控制设备配对。

在一些实施方式中,可以提供明确的用户界面输入,其指示对于外围助理控制设备的哪些位置应该执行哪个(些)自动助理功能。例如,用户可以提供诸如,“助理,当界面设备在客厅时,让它控制电视,但是当界面设备在厨房时,让它控制播客的回放(Assistant,when the interface device is in the living room,have it control thetelevision,but when the interface device is in the kitchen,have it controlplayback of podcasts)”的口头话语。作为响应,自动助理可以为外围助理控制设备建立相对应的配置设置。例如,通过使用用于指示外围助理控制设备的位置的数据,自动助理可以基于外围助理控制设备被指示位于哪里而将外围助理控制设备的输出与特定功能相关。例如,外围助理控制设备可以基于其与在设备拓扑中被分配给“客厅”位置的自动助理计算设备配对而被确定为在“客厅”中。外围助理控制设备的位置可以利用附加和/或替代技术来确定,诸如基于网络强度数据、来自外围助理控制设备与之配对或以其他方式通信的另一设备的数据、标识外围助理控制设备与之配对或以其他方式通信的特定设备的数据、海拔数据、运动数据、音频数据、图像数据和/或可以根据其确定设备的位置的任何其他数据来确定位置的技术。

在一些实施方式中,用户界面输入可以指定对一种类型的智能设备进行控制的自动助理功能,并且可以指定将其分配给外围助理控制设备。然而,用户界面输入可能没有指定要控制的特定智能设备。例如,用户可以提供诸如“助理,让界面设备控制打开和关闭其所在房间的灯(Assistant,have the interface device control turn the lights onand off for the room it is in)”的口头话语。在这些实施方式中的一些实施方式中,可以分配各自被指向为控制该类型的一个或多个特定智能设备并且各自与相对应的条件(诸如外围助理控制设备的位置)相关联的特定的自动助理功能。例如,打开/关闭“客厅”灯的第一自动助理功能可以被分配给外围助理控制设备处于“客厅”中的第一条件,而打开/关闭“厨房”灯的第二自动助理功能可以被分配给外围助理控制设备处于“厨房”中的第二条件。当外围助理控制设备被确定在“厨房”中时(例如,基于与“厨房”助理计算设备配对),响应于与外围助理控制设备的交互而接收的输出可以导致对也分配给“厨房”(例如,在设备拓扑中)的灯的开/关状态的控制。另一方面,当外围助理控制设备被确定在“客厅”中时(例如,基于与“客厅”助理计算设备配对),响应于与外围助理控制设备的交互而接收的输出可以导致对也分配给“客厅”(例如,在设备拓扑中)的灯的开/关状态的控制。

根据外围助理控制设备当前位于哪里来分配不同的自动助理功能会带导致各种技术益处。例如,它使得外围助理控制设备的功能能够基于位置被动态地调整,而无需用户在每次外围助理控制设备被移动时提供消耗资源的另外的界面输入来显式地重新配置功能。此外,例如,它使得单个外围助理控制设备和可选的单个交互能够根据位置而具有多种功能——因此消除了对用于多种功能的多个分开的外围助理控制设备的需要。

在一些附加和/或替代实施方式中,不同的自动助理功能可以被分配给与外围自动助理控制设备的相同交互,并且响应于给定的交互实例模仿自动助理功能中的哪一个可以取决于多个用户中的哪个当前是活跃用户。例如,当第一用户是活跃用户时,可以启动打开和/或关闭“客厅”灯的第一自动助理功能,而当第二用户是活跃用户时,可以启动“播放一些音乐”的第二自动助理功能。可以利用各种技术来确定多个用户中的哪一个当前是活跃用户。例如,最近与外围助理控制设备与之配对的助理计算设备交互的用户可以被认为是当前活跃的用户(可选地取决于最近的交互是在最后5分钟内,还是在另一时间阈值内)。根据基于例如来自交互的口头输入与所存储的该用户的说话者嵌入相匹配来验证该用户,可以确定该特定用户已经与助理计算设备进行了交互。可以利用附加的和/或替代的验证技术,诸如用户提供的个人标识号码(PIN)、用户提供的密码和/或其他生物标识技术(在具有来自相对应的用户的许可的情况下)。

根据哪个用户是外围助理控制设备的当前活跃用户来分配不同的自动助理功能导致各种技术益处。例如,它使得外围助理控制设备的功能能够基于当前活跃的用户被动态地调整,而无需用户在每次活跃用户改变时提供消耗资源的另外的界面输入来显式地重新配置功能。此外,例如,它使得单个外围助理控制设备和可选的单个交互能够根据用户而具有多种功能——因此消除了对用于多种功能的多个分开的外围助理控制设备的需要。

在一些实施方式中,响应于自动助理检测到外围助理控制设备的存在,可以自动建立外围助理控制设备何时被分配特定功能的控制的条件。在一些实施方式中,外围助理控制设备可以经由蓝牙进行通信,并且当用户打开外围助理控制设备时,该设备可以与用户拥有的或者以其他方式与用户相关联的现有客户端设备配对。响应于外围助理控制设备与现有客户端设备的配对,现有客户端设备可以调用自动助理,该自动助理可以提供自然语言输出来引导外围助理控制设备的另外的配置。例如,自动助理可以使现有的客户端设备呈现可听的自然语言输出,诸如,“乔治,我在客厅检测到一个新的界面设备,你想要新的界面设备来控制客厅中的灯吗(George,I've detected a new interface device in theliving room.Would you like the new interface device to control the lights inthe living room)?”。该自然语言输出可以基于标识外围助理控制设备的位置的自动助理、客厅中的可以经由自动助理控制的其他现有设备、和/或与现有客户端设备通信的任何其他设备来生成。

响应于来自自动助理的自然语言输出,用户可以确认由自动助理提议的配置和/或请求外围助理控制设备的不同配置。例如,用户可以提供自然语言输入,诸如,“助理,当我在客厅时,让界面设备控制电视,但当我不在客厅时,让界面设备控制客厅的灯(Assistant,when I am in the living room,have the interface device control thetelevision,but when I am not in the living room,have the interface devicecontrol the lights in the living room)”(“界面设备”可以指外围助理控制设备)。响应于从用户接收到自然语言输入,自动助理可以使外围助理控制设备被有条件地分配对所标识的功能的控制。具体而言,为了给外围助理控制设备分配对灯的控制,自动助理应该确定用户没有出现在客厅中。附加地,为了给外围助理控制设备分配对电视的控制,自动助理应该确定用户实际上出现在客厅中。这种确定可以基于现有客户端设备、自动助理和/或任何其他相关设备可访问的数据,如本文所讨论的那样。

以上描述是作为本公开的一些实施方式的概述提供的。下面将更详细地描述这些实施方式以及其他实施方式的进一步描述。

在一些实施方式中,一种由一个或多个处理器实施的方法,包括以下操作,诸如基于经由计算设备可访问的数据来确定第一用户或第二用户是否是外围助理控制设备的当前活跃用户,其中外围助理控制设备与计算设备无线通信,并且自动助理是经由计算设备可访问的。所述操作还可以包括从外围助理控制设备接收响应于外围助理控制设备的触摸界面接收触摸输入而生成的其他数据,其中对响应于与触摸界面的交互而生成的其他数据的接收,使得自动助理根据第一用户或第二用户是否被确定为外围助理控制设备的当前活跃用户来执行从至少第一自动助理功能和第二自动助理功能中选择的功能。所述操作还可以包括:当第一用户被确定为当前活跃用户时,响应于接收到所述其他数据并确定第一用户是当前活跃用户,而使自动助理执行第一自动助理功能。所述操作还可以包括:当第二用户被确定为当前活跃用户时,响应于接收到所述其他数据并确定第二用户是当前活跃用户,而使自动助理执行不同于第一自动助理功能的第二自动助理功能。

在一些实施方式中,第一自动助理功能也可响应于与计算设备的自动助理界面的相对应的第一口头请求而执行,并且第二自动助理功能也可响应于与计算设备的自动助理界面的相对应的第二口头请求而执行。在一些实施方式中,该方法还可以包括,在确定外围助理控制设备的当前活跃用户之前:响应于第一用户和/或第二用户提供用于请求自动助理将第一自动助理功能和第二自动助理功能分配给外围助理控制设备的一个或多个口头话语,将第一自动助理功能和第二自动助理功能分配给外围助理控制设备。在一些实施方式中,该方法还可以包括,在确定外围助理控制设备的当前活跃用户之前:基于确定第一口头话语请求将第一自动助理功能分配给外围助理控制设备、并且基于确定第一口头话语由第一用户提供,将第一自动助理功能分配给外围助理控制设备和分配给第一用户。在一些实施方式中,该方法还可以包括基于确定第二口头话语请求将第一自动助理功能分配给外围助理控制设备、并且基于确定第二口头话语由第二用户提供,将第二自动助理功能分配给外围助理控制设备和分配给第二用户。在一些实施方式中,外围助理控制设备的触摸界面包括响应触觉手势的触摸传感器。在一些实施方式中,外围助理控制设备仅仅响应于与触摸界面的交互来提供其他数据,并且触摸界面仅仅响应于一个或多个触觉手势。

在一些实施方式中,经由计算设备可访问的数据包括,在从外围助理控制设备接收其他数据之前经由计算设备的一个或多个麦克风检测到的音频数据;并且其中基于所述经由计算设备可访问的数据来确定第一用户或第二用户是否是外围助理控制设备的当前活跃用户包括:基于对所述音频数据进行处理来确定所述音频数据与所存储的第一用户的语音嵌入匹配;以及基于所述音频数据与所存储的第一用户的语音嵌入匹配,确定第一用户是活跃用户。在一些实施方式中,确定第一用户是活跃用户还基于:确定在从外围助理控制设备接收所述其他数据的阈值时间量内检测到所述音频数据。在一些实施方式中,其中第一自动助理功能包括改变智能设备的属性,并且其中使自动助理执行第一自动助理功能包括:确定智能设备的属性的当前状态,并且基于所述当前状态生成使智能设备的属性转变到不同于当前状态的替代状态的命令;以及将该命令传输到智能设备或传输到与智能设备相关联的服务器。在一些实施方式中,该方法还可以包括接收输入,该输入请求仅将使智能设备的属性转变为当前状态的功能分配给外围助理控制设备;以及响应于接收到所述输入,自动将第一自动助理功能分配给智能设备,其中第一自动助理功能至少在当前状态和替代状态之间改变智能设备的属性,而不是仅使智能设备的属性转变到当前状态。

在再另外的实施方式中,一种由一个或多个处理器实施的方法,该方法包括:基于经由计算设备可访问的数据,确定外围助理控制设备是位于第一区域还是第二区域,其中外围助理控制设备与计算设备无线通信,并且自动助理是经由计算设备可访问的。该方法还可以包括,从外围助理控制设备接收响应于外围助理控制设备的触摸界面接收触摸输入而生成的其他数据,其中根据外围助理控制设备被确定位于第一区域还是第二区域,与触摸界面的交互使得自动助理执行从至少第一自动助理功能和第二自动助理功能中选择的功能。该方法还可以包括,当外围助理控制设备被确定在第一区域时:响应于接收到其他数据并且确定外围助理控制设备被确定在第一区域,使自动助理执行第一自动助理功能。该方法还可以包括,当外围助理控制设备被确定在第二区域时:响应于接收到其他数据并且确定外围助理控制设备被确定在第二区域,使得自动助理执行不同于第一自动助理功能的第二自动助理功能。

在一些实施方式中,经由计算设备可访问的数据指示,外围助理控制设备经由无线通信协议仅与计算设备直接配对,并且其中确定外围助理控制设备位于第一区域还是第二区域包括基于配对的计算设备在设备拓扑中被分配给第一区域来确定外围助理控制设备位于第一区域。在一些实施方式中,该方法还可以包括,在确定外围助理控制设备位于第一区域还是第二区域之前:接收用于请求向外围助理控制设备分配对一种类型的智能设备的控制的输入。在一些实施方式中,该方法还可以包括基于所述输入生成第一自动助理功能,以基于第一智能设备是该类型并且在设备拓扑中被分配给第一区域,来引起对该类型的一个或多个第一智能设备的控制。在一些实施方式中,该方法还可以包括基于所述输入生成第二自动助理功能,以基于第二智能设备是该类型并且在设备拓扑中被分配给第二区域,来引起对该类型的一个或多个第二智能设备的控制。

在一些实施方式中,该方法还可以包括,在确定外围助理控制设备位于第一区域还是第二区域之前:基于用于请求将第一自动助理功能分配给外围助理控制设备和分配给第一区域的用户界面输入,将第一自动助理功能分配给第一区域。在一些实施方式中,该方法还可以包括,在确定外围助理控制设备位于第一区域还是第二区域之前:基于用于请求将第二自动助理功能分配给外围助理控制设备和分配给第二区域的用户界面输入,将第二自动助理功能分配给第二区域。在一些实施方式中,计算设备是在自动助理可访问的设备拓扑中定义的多个不同助理计算设备中的一个设备,并且其中确定外围助理控制设备是位于第一区域还是第二区域包括确定外围助理控制设备与多个助理计算设备中的哪个成对和/或与其最接近。

在其他实施方式中,由一个或多个处理器实施的方法被阐述为包括以下操作,诸如接收与用户向计算设备的自动助理界面提供的口头话语相对应的音频数据,其中计算设备提供对自动助理的访问并连接到外围助理控制设备。该方法还可以包括,基于所述音频数据来确定所述口头话语包括用于响应于与外围助理控制设备的触摸界面的交互来控制一个或多个功能的请求,其中外围助理控制设备响应于与触摸界面的交互来向计算设备或另一计算设备提供输出。该方法还可以包括基于所述音频数据确定所述口头话语至少部分地标识用于与外围助理控制设备的输出相关的一个或多个功能。该方法还可以包括基于与一个或多个功能相关联的数据,标识经由计算设备或自动助理可执行的一个或多个其他功能,其中所述口头话语没有指定一个或多个其他功能的内容。该方法还可以包括当至少第一条件被满足时,生成将外围助理控制设备的输出与一个或多个功能相关的相关性数据,并且当至少第二条件被满足时,将外围助理控制设备的输出与一个或多个其他功能相关。

在一些实施方式中,该方法还可以包括在生成相关性数据之后,确定外围助理控制设备已经响应于用户与触摸界面进行交互而提供了输出。在一些实施方式中,该方法还可以包括基于与用户相关联的其他数据来确定是否满足第一条件或第二条件。在一些实施方式中,该方法还可以包括,当第一条件被满足时:响应于用户与外围助理控制设备的触摸界面进行交互,使得一个或多个功能被执行。在一些实施方式中,该方法还可以包括,当第二条件被满足时:响应于用户与外围助理控制设备的触摸界面进行交互,使得一个或多个功能被执行。

在一些实施方式中,一个或多个功能包括用于导致媒体的呈现的启动媒体动作,并且当媒体没有在计算设备和/或与用户相关联的另一设备处被呈现时,第一条件被满足,并且其中当媒体在计算设备或与用户相关联的其他设备处被呈现时,第二条件被满足。在一些实施方式中,一个或多个其他功能包括用于使新的媒体项目被呈现以代替当前正在呈现的当前媒体项目的下一媒体项目动作。在一些实施方式中,一个或多个功能在被执行时使得计算设备或另一设备根据设置进行操作,并且当计算设备或另一设备根据所述设置进行操作时第二条件被满足,并且其中一个或多个其他功能在被执行时使计算设备或另一设备根据另一设置进行操作,并且当计算设备或另一设备根据另一设置进行操作时第一条件被满足。

在一些实施方式中,一个或多个功能在被执行时使计算设备根据该设置进行操作,并且其中一个或多个其他功能在被执行时使其他设备根据其他设置进行操作。在一些实施方式中,一个或多个功能使计算设备将操作模式从第一操作模式转换到第二操作模式,并且其中一个或多个其他功能使计算设备将操作模式从第二操作模式转换到第一操作模式。在一些实施方式中,第一操作模式使计算设备经由计算设备的模态提供第一输出,并且第二操作模式使计算设备经由计算设备的模态提供不同于第一输出的第二输出。在一些实施方式中,第一条件包括智能设备的属性处于第一状态,并且其中第二条件包括智能设备的属性处于第二状态。在一些实施方式中,一个或多个功能包括使智能设备的属性从第一状态转换到第二状态,并且其中一个或多个其他功能包括使智能设备的属性从第二状态转换到第一状态。在一些实施方式中,该方法还可以包括确定外围助理控制设备已经响应于用户与触摸界面进行交互提供了输出;在一些实施方式中,该方法还可以包括响应于所述输出被提供并且基于用于定义智能设备的属性的当前状态的设备拓扑来确定是第一条件还是第二条件。

其他实施方式可以包括非暂时性计算机可读存储介质,其存储可由一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU)运行以执行诸如上文和/或本文其他地方描述的方法中的一个或多个的方法的指令。其他实施方式可以包括具有一个或多个计算机和/或一个或多个机器人的系统,该一个或多个计算机和/或一个或多个机器人包括一个或多个处理器,该一个或多个处理器可操作来运行所存储的指令以执行诸如上文和/或本文其他地方描述的方法中的一个或多个的方法。

应当理解的是,本文更详细描述的前述概念和附加概念的所有组合被认为是本文公开的主题的一部分。例如,出现在本公开结尾的所要求保护的主题的所有组合都被认为是本文公开的主题的一部分。

附图说明

图1A和图1B示出了具有根据是否特定用户被确定为存在于包括该外围助理控制设备的区域中而被分开地分配的功能的外围助理控制设备的视图。

图2A和图2B示出了基于外围助理控制设备的位置来将一个或多个功能的控制分配给外围助理控制设备的视图。

图3示出了用于根据是否满足一个或多个不同条件而将对一个或多个可执行助理功能的控制分配给外围助理控制设备的系统。

图4A和图4B示出了用于根据是否满足一个或多个条件而将特定功能的控制分配给外围助理控制设备的方法。

图5是示例计算机系统的框图。

具体实施方式

图1A和图1B示出了具有根据是否特定用户被确定为存在于包括外围助理控制设备112的区域中而被分开地分配的功能的外围助理控制设备112的视图100和视图130。具体而言,图1A示出了当第一用户106被确定为存在于外围助理控制设备112的位置和/或以其他方式被确定为接近外围助理控制设备112时,外围助理控制设备112被分配第一助理功能的视图100。例如,当第一用户106被确定为位于他们住宅126的区域128(例如,该住宅的厨房)内时,外围助理控制设备112可以重新分配对第一助理功能(例如,打开/关闭厨房灯)的控制。然而,当用户被确定为已经重新位于远离区域128和/或住宅126时(如图1B所示)、和/或第二用户108被确定为存在于住宅126的区域128内和/或以其他方式接近外围助理控制设备112时,外围助理控制设备112可以被分配来控制第二助理功能(例如,在第一客户端设备110处播放音乐)。

例如,第一用户106可以向经由计算设备可访问的应用提供用于请求外围助理控制设备112在第一用户106具体地与外围助理控制设备112交互时控制在他们厨房中的灯的请求。此外,第二用户108还可以使用应用来请求外围助理控制设备112在第二用户108具体地与外围助理控制设备112交互时控制由第一客户端设备110呈现的音乐。此后,当第一用户106被确定为存在并且与外围助理控制设备112交互时,外围助理控制设备112可以被分配对厨房中的灯的控制。因此,此时在第一用户106和外围助理控制设备112之间的任何交互将导致厨房灯的操作被修改。另外,当第一用户106不再存在,但是第二用户108存在并且与外围助理控制设备112交互时,在第二用户108和外围助理控制设备112之间的任何交互将导致使第一客户端设备110基于该交互来呈现音乐。

在一些实施方式中,服务器设备120和/或客户端设备可以认为第一用户106或第二用户108在他们影响外围助理控制设备112的控制的分配的能力方面是“活跃的”。另外,特定用户相对于外围助理控制设备112是否“活跃”可以基于第一用户106和/或第二用户108的语音标识。例如,并且在具有来自第一用户106的先前许可的情况下,第一客户端设备110和/或服务器设备120可以执行语音处理来确定第一用户106是否已经向第一客户端设备110提供了最近的口头话语。如果已经基于第一用户106的语音特征将第一用户106标识为是最近提供口头话语的用户,则外围助理控制设备112可以被分配对第一用户106所偏好的一个或多个特定功能(例如,控制厨房灯)的控制。另外,第二用户108随后可以通过提供口头话语来与第一客户端设备110交互。第一客户端设备110和/或服务器设备120可以将第二用户108标识为提供后续口头话语的用户,并且使得外围助理控制设备112被分配对第二用户108所偏好的一个或多个其他特定功能(例如,控制由第一客户端设备110呈现的音乐)的控制。

在一些实施方式中,当第一用户106被认为相对于外围助理控制设备112是“活跃的”时,第一用户106的“活跃的”时间可以在一段时间之后和/或响应于自动助理确认另一用户存在或第一用户106已经离开区域128而期满。例如,在第一用户106已经与外围助理控制设备112交互而外围助理控制设备112被分配对第一用户106所偏好的功能的控制之后,第二用户108可以被确定为存在和/或与外围助理控制设备112交互。作为响应,第一用户106相对于外围助理控制设备112的“活跃”状态可以期满,并且外围助理控制设备112可以被分配对第二用户108所偏好的一个或多个其他功能(例如,播放音乐)的控制。附加地或替代地,当第二用户108已经停止与外围助理控制设备112交互一段阈值时间段时,第一客户端设备110和/或服务器设备120可以重新分配对外围助理控制设备112的控制,以控制第一用户106所偏好的一个或多个功能。在一些实施方式中,外围助理控制设备112可以响应于:第一用户106对来自第一客户端设备110的查询(诸如“第一用户,你在吗(First User,areyou there)?”)做出响应、或者在阈值时间段之后第二用户108没有对来自第一客户端设备的查询(诸如“第二用户,你在吗(Second User,are you there)?”)做出响应,而转换回具有对第一用户106所偏好的功能的控制。

在一些实施方式中,外围助理控制设备112可以包括一个或多个灯,所述灯被点亮以指示相对于外围助理控制设备112是“活跃”的用户。例如,当外围助理控制设备112被分配对第一用户106所偏好的一个或多个功能的控制时,可以使外围助理控制设备112的一个或多个灯发出第一颜色(例如,绿色)。另外,当外围助理控制设备112被分配对第二用户108所偏好的一个或多个其他功能的控制时,可以使外围助理控制设备112的一个或多个灯发出不同于第一种颜色的第二颜色(例如,红色)。

外围助理控制设备112可以作为具有响应于一个或多个触觉手势的一个或多个触摸传感器的计算设备来操作。例如,外围助理控制设备112可以包括能够响应于由一个或多个用户提供的一个或多个不同触摸手势来提供信号的一个或多个触敏传感器。外围助理控制设备112可以与一个或多个客户端设备和/或服务器设备连接,以便通信传送响应于触摸输入而生成的信号。例如,外围助理控制设备112可以经由通信协议(诸如蓝牙、Wi-Fi、LTE和/或任何其他有线或无线通信协议)与第一客户端设备110和/或第二客户端设备114通信。响应于用户向外围助理控制设备112提供触摸手势,外围助理控制设备112可以向第一客户端设备110和/或第二客户端设备114传输信号。在一些实施方式中,第一客户端设备110和/或第二客户端设备114可以经由网络116(诸如互联网)与远程计算设备118(例如服务器设备120)通信。第一客户端设备110和/或第二客户端设备114可以向服务器设备120通信传送用于指示用户已经向外围助理控制设备112提供触摸输入的数据。以这样的方式,可以通过外围助理控制设备112控制各种设备和/或应用(诸如自动助理122)。

在一些实施方式中,外围助理控制设备112可以仅仅响应于来自用户的直接触摸输入、以及从一个或多个设备传输到外围助理控制设备112和从外围助理控制设备112传输的信号。以这样的方式,外围助理控制设备112可以包括有限的硬件(例如,相对于膝上型计算机和/或蜂窝电话),从而降低了功耗和网络延迟,否则该功耗和网络延迟将由不仅仅响应于来自用户的直接触摸输入或不具有有限硬件的计算设备表现出来。在一些实施方式中,外围助理控制设备112可以响应于各种不同的触摸手势,诸如单击、双击、其他多次点击、长按、和/或触摸输入的任何变化。取决于用户提供特定触摸手势的环境或场景,客户端设备和/或服务器设备可以不同地对触摸手势中的每一个做出响应。

如图1A所示,第一用户106和第二用户108可以位于用户居住的住宅126的区域内,并且该区域可以包括外围助理控制设备112。具体而言,第一用户106可以表现出在厨房区域行走的条件102,并且第二用户108可以表现出也在厨房区域行走的条件104。外围助理控制设备112可以与第一客户端设备110、第二客户端设备114和/或服务器设备120连接。通过使用来自第一用户106的先前许可,第一客户端设备110、第二客户端设备114和/或服务器设备120可以确定第一用户106的存在。具体而言,第一用户106的存在可以由用于指示第一用户106是否在住宅126内、在区域128内、接近外围助理控制设备112、和/或以其他方式在外围助理控制设备112的距离(该距离允许第一用户106与外围助理控制设备112交互,而不必在到达外围助理控制设备之前操纵至少阈值距离和/或操纵一段至少阈值时间量)内的数据来表征。

当第一用户106的存在被确定和/或以其他方式被确认时,第一客户端设备110、第二客户端设备114和/或服务器设备118可以使由外围助理控制设备112提供的一个或多个信号与特定功能相关。例如,在一个或多个特定功能和一个或多个特定外围助理控制设备输出之间的相关性可以由相关性数据124表征。具体而言,并且作为示例,相关性数据124可以表征在第一用户106的存在和经由外围助理控制设备112对一个或多个功能的控制之间的关系。当确定第一用户106存在于外围助理控制设备112附近时,相关性数据124可以标识一个或多个功能中的可以经由外围助理控制设备112的触摸界面来控制的第一助理功能。

另外,对一个或多个其他功能的控制可以与对第一用户106不存在的确定相关。例如,如图1B所示,外围助理控制设备112、第一客户端设备110、第二客户端设备114和/或服务器设备120可以确定第一用户不再出现在外围助理控制设备112处或附近。相反,第一用户106可以表现出从区域128被重新定位的条件132。响应于确定第一用户106不再存在于外围助理控制设备112处或附近,由外围助理控制设备112响应于第二用户108与外围助理控制设备112交互而提供的数据可以与一个或多个其他功能相关。例如,当第二用户108与外围助理控制设备112交互并且第一用户106已经从区域128重新定位时,该交互可以导致一个或多个其他功能被执行或以其他方式被控制。在一些实施方式中,一个或多个其他功能可以包括,当第一用户106被确定不存在于外围助理控制设备112处或附近时,当第二用户108向外围助理控制设备112提供输入手势时被执行或控制的第二自动助理功能。

在一些实施方式中,一个或多个功能的控制的分配可以基于第一用户106和第二用户108被确定为存在于其中的特定区域。例如,当第一用户106被第二客户端设备114确定为存在于客厅内时,外围助理控制设备112可以被分配对第一功能的控制。另外,当第一用户106被第一客户端设备110确定为存在于厨房内时,外围助理控制设备112可以被分配对不同于第一功能的第二功能的控制。在一些实施方式中,当没有检测到特定用户、和/或检测到未标识的用户时,外围助理控制设备112可以被分配对一个或多个特定功能的控制。在一些实施方式中,当检测到不同用户的组合时,则外围助理控制设备112可以被分配对一个或多个特定功能的控制,该一个或多个特定功能可以不同于如果检测到第一用户106的存在和/或检测到第二用户108的存在的话外围助理控制设备112将被分配对其的控制的一个或多个其他功能。

在一些实施方式中,外围助理控制设备112可以被分配对其的控制的一个或多个功能可以是自动助理功能。换句话说,一个或多个功能可以由经由第一客户端设备110、第二客户端设备114和/或服务器设备120可访问的自动助理控制或经由该自动助理执行。因此,可以经由提供给第一客户端设备110的自动助理界面的口头话语,并且还通过向外围助理控制设备112的触摸界面提供输入手势(例如轻击手势),来控制和/或执行所述一个或多个功能。

图2A和图2B分别示出了基于外围助理控制设备212的位置来将对一个或多个功能的控制分配给外围助理控制设备212的视图200和视图230。例如,当外围助理控制设备212在第一区域228(诸如厨房)中时,外围助理控制设备212可以被分配对一个或多个功能的控制。另外,当外围助理控制设备212在第二区域208(诸如客厅)时,外围助理控制设备212可以被分配对一个或多个其他功能的控制。

对外围助理控制设备212是在第一区域228中还是在第二区域208中的确定,可以基于用于表征与用户206相关联的设备的设备拓扑的数据。例如,设备拓扑数据可以在远程计算设备218(诸如服务器设备220)处访问,该远程计算设备可以经由网络216(诸如因特网)来访问。设备拓扑数据可以包括第一客户端设备210和第二客户端设备214的标识符。另外,每个设备标识符可以与对应于用户206可访问的地理区域的区域标识符相关。例如,第一客户端设备210的第一标识符可以与第一区域228的第一区域标识符相关。附加地,第二客户端设备214的第二标识符可以与第二区域208的第二区域标识符相关。

服务器设备220可以包括相关性数据224,该相关性数据可以标识在用户206可访问的不同区域和可以通过外围助理控制设备212控制的不同功能之间的各种对应关系。另外,可以做出假设,即当外围助理控制设备212连接到第一客户端设备210时,外围助理控制设备212位于第一区域228内。例如,这种假设可以基于第一客户端设备210被分配给在设备拓扑表示中的第一区域228。而且,可以做出另一假设,即当外围助理控制设备212连接到第二客户端设备214时,外围助理控制设备212位于第二区域208中。例如,这种假设可以基于第二客户端设备214被分配给在设备拓扑表示中的第二区域208。因此,当外围助理控制设备212与第一客户端设备210配对或以其他方式连接时,可以基于外围助理控制设备212位于第一区域228中的假设来处理由外围助理控制设备212提供的任何数据(诸如响应于来自用户206的触摸输入而生成的数据)。附加地,当外围助理控制设备212与第二客户端设备214配对或以其他方式连接到第二客户端设备214时,可以基于外围助理控制设备212位于第二区域208的假设来处理由外围助理控制设备212提供的任何数据。

在一个非限制性示例中,用户206可以向自动助理界面(诸如第一客户端设备210的麦克风)提供口头话语,以请求根据某些条件将外围助理控制设备212分配给不同的功能。口头话语可以是“助理,当我的外围助理控制设备在厨房时,请在我执行触摸输入时提供消息(Assistant,when my peripheral assistant control device is in thekitchen,please provide the news when I perform a touch input)”。另外,在相同的口头话语或不同的口头话语中,用户206可以提供诸如“助理,还有,当外围助理控制设备在客厅时,请在我执行触摸输入时控制电视(Assistant,also,when the peripheralassistant control device is in the living room,please control the televisionwhen I perform a touch input)”的请求。响应于接收到口头话语,第一客户端设备210可以生成可以被传输到服务器设备220的音频数据,该服务器设备可以经由服务器设备220处的自动助理222应用程序来处理音频数据。所述音频数据可以被处理以确定用于外围助理控制设备212的某些设置的配置。例如,服务器设备220和/或本文讨论的任何其他设备可以确定用户206正在请求:外围助理控制设备212在位于第一区域228时控制第一功能(如图2A的视图200中示出),并且在位于第二区域208时控制第二功能(如图2B的视图230所示)。

附加地或替代地,用户206可以提供口头话语,例如“助理,请控制我所在房间的灯(Assistant,please control the lights in the room that I am in)”,和/或以其他方式提供具有相同的意思的输入(例如,文本输入)。响应于接收到口头话语,第一客户端设备210可以生成可以被传输到服务器设备220的音频数据,该服务器设备可以经由服务器设备220处的自动助理222应用程序来处理音频数据。所述音频数据可以被处理以确定用于外围助理控制设备212的某些设置的配置。例如,服务器设备220和/或本文讨论的任何其他设备可以标识位于用户206的当前附近或当前区域内的另一设备。基于用于指示另一设备的位置的数据,可以生成设置,使得当外围助理控制设备212与另一设备配对或以其他方式通信时,外围助理控制设备212将被分配对该位置中的灯的控制。另外,当外围助理控制设备212与另一设备配对或以其他方式与另一设备通信时,用于将所述另一设备的位置与所述灯相关的设备拓扑表示可以用作将对所述灯的控制分配给外围助理控制设备212的基础。

在一些实施方式中,外围助理控制设备212位于哪里的确定可以基于设备拓扑数据。替代地或附加地,外围助理控制设备212位于哪里的确定可以基于外围助理控制设备212、第一客户端设备210和/或第二客户端设备214的一个或多个传感器和/或一个或多个发射器的输出。例如,外围助理控制设备212可用的局域网(例如Wi-Fi网络)的信号强度可以被用作外围助理控制设备212在住宅226内位于哪里的指示。另外,当设备拓扑数据提供局域网信号源的位置的指示时,局域网的信号强度可以与设备拓扑数据结合使用,以确定外围助理控制设备212位于哪里。可选地,外围助理控制设备212的位置可以基于分别在第一客户端设备210、第二客户端设备214和外围助理控制设备212处的信号强度之间的比较,并结合局域网信号源的已知位置。

在一些实施方式中,外围助理控制设备212位于哪里的确定可以基于一个或多个传感器和/或一个或多个发射器(诸如包括在全球定位系统(GPS)设备中的一个或多个这样的设备)的输出。例如,外围助理控制设备212可以包括GPS设备,其可以提供指示外围助理控制设备212的位置的输出。因此,当用户向外围助理控制设备212提供触摸输入时,外围助理控制设备212可以通信传送输出数据,该输出数据根据GPS设备标识外围助理控制设备的位置,并且标识从用户206接收的触摸输入的类型。接收所述输出数据的设备可以将外围助理控制设备212的所指示的位置与相关性数据224进行比较,以标识当外围助理控制设备212处于所指示的位置时用户206旨在经由外围助理控制设备212处的触摸输入来控制的一个或多个功能。换句话说,在一些实施方式中,无论外围助理控制设备212位于哪里,用于表征来自用户206的触摸输入的数据都可以是相同的,然而,取决于外围助理控制设备212位于哪里,该数据可以由另一设备(诸如服务器设备220)不同地进行响应。

图3示出了用于根据是否满足一个或多个不同条件而将对一个或多个可执行助理功能的控制分配给外围助理控制设备的系统300。自动助理306可以作为在一个或多个计算设备(例如客户端设备334和/或服务器设备302)处提供的自动助理应用程序的一部分来操作。用户可以经由一个或多个助理界面336与自动助理308交互,该助理界面可以包括麦克风、照相机、触摸屏显示器、用户界面、和/或能够在用户和应用程序之间提供界面的任何其他装置中的一个或多个。例如,用户可以通过向助理界面提供口头、文本或图形输入来初始化自动助理308,以使自动助理308执行功能(例如,提供数据、控制外围设备、访问代理等)。客户端设备334和/或外围助理控制设备342可以包括显示设备,该显示设备可以是包括触摸界面的显示面板,该触摸界面用于接收触摸输入和/或手势,以允许用户经由触摸界面控制客户端设备334和/或服务器设备302的应用程序。

在一些实施方式中,客户端设备334和/或外围助理控制设备342可以没有显示设备,但是包括音频界面(例如,扬声器和/或麦克风),从而提供可听的用户界面输出而不提供图形用户界面输出,以及提供用于接收来自用户的口语自然语言输入的用户界面(诸如麦克风)。例如,在一些实施方式中,外围助理控制设备342可以包括一个或多个触觉输入界面(诸如一个或多个按钮),并且省略从图形处理单元(GPU)提供图形数据的显示面板。以这样的方式,与包括显示面板和GPU的计算设备相比,可以节省大量的能量和处理资源。

客户端设备334可以通过网络346(诸如互联网)与服务器设备302通信。客户端设备334可以将计算任务卸载到服务器设备302,以便保留在客户端设备334和/或外围助理控制设备342处的计算资源。例如,服务器设备302可以托管自动助理308,并且客户端设备334可以将在一个或多个助理界面和/或外围助理控制设备342的用户界面344处接收的输入传输到服务器设备302。然而,在一些实施方式中,自动助理308可以被托管在客户端设备334处。在各种实施方式中,自动助理308的全部或少于全部方面可以实施在服务器计算设备304和/或客户端设备334上。在这些实施方式中的一些实施方式中,自动助理308的各方面经由客户端设备334的本地自动助理338实施并且与服务器设备302对接,该服务器设备可以实施自动助理308的其他方面。服务器设备302可以可选地经由多线程为多个用户及他们的相关联的助理应用服务。在自动助理308的全部或少于全部方面经由客户端设备334的本地自动助理338实施的实施方式中,本地自动助理338可以是与客户端设备334的操作系统分开的应用程序(例如,安装在操作系统的“顶部”上)——或者可以替代地由客户端设备334的操作系统直接实施(例如,被认为是操作系统中的应用程序,但与操作系统是一体的)。

在一些实施方式中,自动助理308和/或自动助理338可以包括输入处理引擎312,该输入处理引擎可以采用多个不同的模块来处理客户端设备334的输入和/或输出。例如,输入处理引擎312可以包括语音处理模块314,该语音处理模块可以处理在助理界面336处接收的音频数据,以标识包含在音频数据中的文本。所述音频数据可以从例如客户端设备334传输到服务器设备302,以便保留在客户端设备334处的计算资源。

用于将音频数据转换成文本的过程可以包括语音识别算法,该算法可以采用神经网络、word2vec算法和/或统计模型来标识对应于单词或短语的音频数据组。从音频数据转换的文本可以由数据解析模块316解析,并使其作为可由自动助理308使用的文本数据,所述文本数据可以用于生成和/或标识来自用户的命令短语。在一些实施方式中,由数据解析模块316提供的输出数据可以被提供给动作引擎318,以确定用户是否已经提供了对应于能够由自动助理308和/或能够由自动助理308访问的应用程序或代理所执行的特定动作和/或例程的输入。例如,助理数据322可以作为客户端数据340存储在服务器设备302和/或客户端设备334处,并且可以包括用于定义能够由自动助理308执行的一个或多个动作的数据、以及在执行这些动作时所涉及的参数。

当输入处理引擎312已经确定用户已经请求执行特定动作或例程时,动作引擎318可以确定用于所述特定动作或例程的一个或多个参数,然后输出生成引擎320可以基于所述特定动作、例程和/或一个或多个参数向用户提供输出。例如,在一些实施方式中,响应于用户输入(诸如在外围助理控制设备342的用户界面344处的手势),自动助理338可以使表征该手势的数据被传输到服务器设备302,以用于确定用户想要自动助理308和/或自动助理338执行的动作。

系统300可以包括一个或多个外围助理控制设备342,并且每个外围助理控制设备342可以包括一个或多个用户界面344。用户界面344可以包括能够响应于来自用户的用户输入而提供输出的一个或多个传感器。例如,一个或多个传感器可以包括触觉传感器(即,触摸传感器),其响应于来自用户的触觉手势提供输出信号。输出信号可以经由通信协议(诸如蓝牙、LTE、Wi-Fi和/或任何其他通信协议)传输到客户端设备334和/或服务器设备302。在一些实施方式中,来自用户界面344的一个或多个传感器的输出信号可以由外围助理控制设备342的一个或多个处理器转换成用户输入数据。用户输入数据可以经由通信协议传输到客户端设备334,并且或者在客户端设备334处被处理和/或经由网络346传输到服务器设备302。例如,客户端设备334和/或服务器设备302可以基于用户输入数据来确定要由外围助理控制设备342控制的功能。

在一些限制中,确定要由外围助理控制设备342控制的功能可以基于外围助理控制设备342与之配对或以其他方式与之通信的客户端设备334的标识。换句话说,客户端设备334和/或服务器设备302将根据外围助理控制设备342连接到的特定客户端设备来确定外围助理控制设备342要控制的不同功能。在一些实施方式中,将特定功能的控制分配给外围助理控制设备342可以基于客户端设备334的物理特性。例如,当外围助理控制设备342与包括触摸显示面板的设备配对时,外围助理控制设备342可以被分配第一功能的控制。附加地,当外围助理控制设备342与不包括触摸显示面板的设备配对时,外围助理控制设备342可以被分配不同于第一功能的第二功能的控制。替代地或附加地,当外围助理控制设备342与由第一用户的账户所标识的设备配对时,外围助理控制设备342可以被分配第一功能的控制。另外,当外围助理控制设备342与由不同于第一用户的第二用户的不同账户所标识的不同设备配对时,外围助理控制设备342可以被分配第二功能的控制。

在一些实施方式中,可以扩展来自用户的将功能的控制分配给外围助理控制设备342的请求,以便外围助理控制设备342可以具有对在来自用户的请求中没有明确标识的其他功能的控制。例如,用户可以提供诸如“助理,当我点击外围助理控制设备时,转到我的播放列表中的下一首歌曲(Assistant,go to the next song in my playlist when I tapthe peripheral assistant control device)”的口头话语。所述口头话语可以在助理界面336处被接收,由客户端设备334转换成音频数据,并被传输到服务器设备302以便进行另外的处理。通过使用音频数据,自动助理308可以确定用户正在请求:外围助理控制设备342具有对跳过来自播放列表的正在播放的歌曲的功能的控制。

此后,当用户正在收听来自播放列表的音乐并按下外围助理控制设备342的用户界面344时,自动助理308可以使播放列表的回放从当前歌曲转换到在所述播放列表中的下一首歌曲。在一些实施方式中,外围助理控制设备342可以响应于在用户界面344处接收到触摸输入来提供数据。该数据可以被传输到客户端设备334,然后传输到服务器设备302以便进行另外的处理。服务器设备302可以包括控制设备模块324,该控制设备模块可以确定自动助理308和/或与服务器设备302和/或客户端设备334相关联的任何其他应用将如何对用户向外围助理控制设备342提供输入进行响应。

控制设备模块324可以包括手势处理引擎326,该手势处理引擎响应于来自用户的输入从外围助理控制设备342接收数据,并确定由用户提供的手势的类型。例如,所述数据可以由手势处理引擎326处理,以确定输入手势是否是单击、双击、多次点击、长时间点击、硬按压、软按压、和/或可以被提供给计算设备的界面的任何其他可区分的手势。在一些实施方式中,控制设备模块324可以访问和/或接收一定量的客户端数据340,其用于指示一个或多个用户存在于与外围助理控制设备342和/或客户端设备334相关联的区域内。以这样的方式,控制设备模块324可以基于接收到的触摸输入和被确定为存在的一个或多个用户,来确定在外围助理控制设备342处的输出将影响的功能。例如,控制设备模块324可以包括功能选择引擎330,该功能选择引擎可以访问用于指示一个或多个用户的存在的客户端数据340,并且还可以访问相关性数据332,该相关性数据可以提供在要由外围助理控制设备342控制的功能和当用户界面344接收到输入时被指示为存在的用户之间的对应关系。换句话说,相关性数据332将根据用户是否存在来表征由用户经由用户界面344请求的用于控制功能的设置。因此,如果这种设置由相关性数据332表征,并且客户端数据240指示当用户界面344接收到输入时所述用户存在,则可以响应于该输入来控制由相关性数据332标识的相对应的功能。

功能的控制可以被定义为执行功能、修改由一个或多个设备执行功能的一个或多个实例、修改由一个或多个应用执行功能的一个或多个实例、和/或可以表现出的对功能和/或功能的执行的任何其他控制。在一些实施方式中,功能的控制可以被定义为提供用于功能的参数的值、修改用于功能的参数的值、和/或以其他方式修改在执行功能时所使用的数据。例如,跳过播放列表中的歌曲的功能可以包括用于提供设备名称的参数。因此,当功能的控制被分配给外围助理控制设备342时,控制设备模块324可以响应于在用户界面344处的触摸输入而引起所述功能的执行,并且还提供用于所述功能的参数的设备名称,以便可以无错误地执行所述功能。

在一些实施方式中,当用户请求外围助理控制设备342控制跳到播放列表中的下一首歌曲的功能时,可以向外围助理控制设备342分配与来自用户的请求相关联的一个或多个其他功能。例如,响应于处理对应于口头话语的音频数据,服务器设备302可以标识用户请求外围助理控制设备342被分配对其的控制的功能。该功能可以与一个或多个应用和/或一个或多个设备相关联,并且每个应用和/或设备可以在给定的时间表现出一个或多个不同的操作状态(即,操作模式)。例如,当执行播放列表中的歌曲的回放的应用使特定计算设备从播放列表中投放音乐时,该应用可以处于“回放”状态。控制设备模块324可以标识该状态,并经由相关性数据332将该状态与用户正在请求外围助理控制设备342具有对其的控制的“跳过”功能相关。换句话说,控制设备模块324将使外围助理控制设备342操作,使得当所述应用处于“回放”状态时,外围助理控制设备342将响应于用户在用户界面344处提供单击手势来执行“跳过”功能。

替代地或附加地,控制设备模块324的功能选择引擎330可以标识与应用相关联的其他功能和/或应用的其他状态。例如,所述应用可以具有“播放”功能和/或“打开”功能,并且所述应用还可以具有“关闭”状态以及“打开”和/或“播放”状态。基于该信息,控制设备模块324可以生成相关性数据332,该相关性数据使应用的打开功能与关闭状态相关,并使应用的跳过功能与播放状态相关。结果,且响应于来自用户的请求,当应用处于关闭状态时向外围助理控制设备242的用户界面344提供触摸输入将导致所述应用开始播放音乐。另外,当所述应用处于播放状态时提供触摸输入将导致所述应用跳过当前正在播放的歌曲。以这样的方式,尽管用户仅请求外围助理控制设备242控制单个功能,但是外围助理控制设备342将被分配要控制的多个功能。这可以消除用户为请求外围助理控制设备342控制多个其他功能而提供附加口头话语的需要。这可以节省计算资源和/或网络资源,因为对应于附加口头话语的音频数据不需要从客户端设备334生成和/或传输到服务器设备302。相反,外围助理控制设备342可以被分配对多个不同功能的控制,其是来自用户的口头话语无法标识的,或者不是由用户特别请求的。

在一些实施方式中,控制设备模块324可以生成相关性数据332,该相关性数据使要由外围助理控制设备342控制的一个或多个功能与一个或多个条件相关。例如,功能选择引擎330可以根据是否满足特定条件来分配对特定功能的控制。控制设备模块324可以基于助理数据322、客户端数据340、和/或可以传输到客户端设备334和/或服务器设备302的任何其他数据来确定条件是否被满足。例如,当第一用户被确定位于包括外围助理控制设备的可限定区域中时,可以满足特定条件。因此,当第一用户被确定在可限定区域内时,功能选择引擎330可以基于满足特定条件而将功能的控制分配给外围助理控制设备342。替代地或附加地,当外围助理控制设备342被确定位于另一可限定区域内时,可以满足另一条件。因此,当外围助理控制设备342被确定在另一可限定区域内时,功能选择引擎330可以基于满足另一条件而将另一功能的控制分配给外围助理控制设备342。

图4A和图4B示出了用于根据是否满足一个或多个条件来将特定功能的控制分配给外围助理控制设备的方法400和方法412。在一些实施方式中,方法400可以根据图4A中标识的操作来执行,其中可选地包括图4B中标识的操作。在一些实施方式中,方法412可以根据图4B中标识的操作来执行,其中可选地包括图4A中标识的操作。方法400和方法412的每个方法可以由一个或多个设备、一个或多个应用、和/或能够根据计算机过程操作的任何其他装置或模块来执行。

方法400可以包括接收对应于由用户提供的口头话语的音频数据(或者经由诸如键盘、鼠标、触摸显示器、和/或用于向计算设备提供输入的任何其他装置的模态作为输入提供给应用的其他数据)的操作402。口头话语(或其他数据)可以是对自动助理将第一自动助理功能和第二自动助理功能的控制分配给外围助理控制设备的请求。例如,口头话语可以是“助理,当我按下按钮就给我消息,当我老公按下按钮就放音乐(Assistant,give methe news when I press the button and play music when my husband presses thebutton)”。替代地,口头话语可以是由不同用户提供的多个口头话语。例如,家庭中的第一用户可以提供诸如“助理,当我按下按钮时就播放音乐(Assistant when I press thebutton,play music)”的口头话语,而家庭中的第二用户可以提供诸如“助理,当我按下按钮时就给我消息(Assistant,when I press the button,give me the news)”的另一口头话语。

方法400还可以包括操作404:确定请求是来自用户的用于设置外围助理控制设备来执行一个或多个功能的请求。例如,基于口头话语生成的音频数据可以被处理以标识外围助理控制设备的标识符和一个或多个功能。至少基于所述音频数据的内容,可以确定用户正在请求外围助理控制设备被分配一个或多个功能的控制。方法400还可以包括操作406:基于音频数据来标识由用户请求的一个或多个功能。例如,一个或多个功能可以包括播放消息功能和/或播放音乐功能。在一些实施方式中,自动助理可以与能够由自动助理和/或经由分开的应用或分开的助理代理所执行的多个不同功能相关联。

方法400可以进一步包括操作408:标识与由用户请求的一个或多个功能相关联的一个或多个其他功能。可以基于用于表征在一个或多个功能和一个或多个其他功能之间的关联性或对应关系的任何数据,来标识一个或多个其他功能。例如,当一个或多个功能对应于特定应用时,可以经由操作408来标识与该应用相关联的其他功能。替代地或附加地,当一个或多个功能对应于特定设备时,可以经由操作408来标识与该设备相关联的其他功能。替代地或附加地,当特定用户先前已经使用了一个或多个功能,并且还至少与一个或多个功能一样频繁地使用了一个或多个其他功能时,可以经由操作408来标识一个或多个其他功能。以这样的方式,尽管用户没有在他们的口头话语中明确地标识一个或多个其他功能,但是可以标识所述其他功能,以向外围助理控制设备分配对那些其他功能的控制。

方法400还包括操作410:生成相关性数据,该相关性数据在满足第一条件时使外围助理控制设备的输出与一个或多个功能相关,并且当满足第二条件时使外围助理控制设备的输出与一个或多个其他功能相关。在一些实施方式中,用户可以经由口头话语来表征第一条件和/或第二条件,以便用户可以具有对外围助理控制设备将在何时控制一个或多个功能中的特定功能的排他控制。替代地或附加地,一个或多个条件可以在没有被用户明确请求的情况下被标识,以便使外围助理控制设备适应各种场景,其中自动助理预测或预期外围助理控制设备将在所述场景中被使用。例如,当口头话语包括来自用户的、用于请求外围助理控制设备在他们的厨房中进行控制的请求时,接收所述口头话语可以表征基于在用户的住宅内的其他区域的各种条件。具体而言,可以生成表征第一条件的相关性数据,在该第一条件下,外围助理控制设备对厨房灯的控制是基于外围助理控制设备在厨房中的。附加地,相关性数据还可以表征第二条件,在该第二条件下外围助理控制设备对客厅灯的控制是基于外围助理控制设备在客厅中的。

方法400可以从操作410前进到操作414,如在图4A和图4B中示出的延续元素“A”所指示那样。操作414包括确定在外围助理控制设备处是否已经接收到触摸输入。可以周期性地确定操作414,直到用户向外围助理控制设备提供触摸输入。触摸输入可以是一个或多个物理手势,诸如点击、双击、多次点击、长按、拉动、按压节奏、和/或可以在用户界面处接收的任何其他物理手势。响应于确定在外围助理控制设备处接收到触摸输入,方法412可以前进到操作416。

操作416可以包括确定是否已经满足第一条件或第二条件。第一条件和第二条件中的每个条件可以是能够由存储在计算设备处的数据表征的任何条件。例如,当用户被确定位于包括外围助理控制设备的区域内时,可以满足第一条件,并且当第二用户被确定位于包括外围助理控制设备的区域内时,可以满足第二条件。替代地或附加地,当外围助理控制设备被确定位于第一区域内时,可以满足第一条件,并且当助理控制设备被确定位于第二区域内时,可以满足第二条件。

当满足第一条件时,方法412可以前进到操作418,该操作418可以包括响应于用户与触摸界面进行交互来执行一个或多个功能。当满足第二条件时,方法412可以前进到操作420,该操作420可以包括响应于用户与触摸界面进行交互来执行一个或多个功能。以这样的方式,尽管接收到相同的触摸输入——不管是第一条件还是第二条件被满足,这个相同的触摸输入可以导致不同的结果,这取决于是第一条件被满足还是第二条件被满足。这可以减少在设置设备中的延迟,否则如果用户不得不通过口头话语或与计算设备的其他交互来明确请求每个特定条件和每个特定功能,则可能会发生这种延迟。通过消除用户提供这种附加口头话语或交互的需要,可以为负责为外围助理控制设备建立设置的任何计算设备保留计算资源和网络资源。

图5是示例计算机系统510的框图。计算机系统510通常包括经由总线子系统512与多个外围设备通信的至少一个处理器514。这些外围设备可以包括存储子系统524(包括例如存储器525和文件存储子系统526)、用户界面输出设备520、用户界面输入设备522和网络接口子系统516。所述输入和输出设备允许用户与计算机系统510进行交互。网络接口子系统516向外部网络提供界面,并耦合到其他计算机系统中的相对应的界面设备。

用户界面输入设备522可以包括键盘、定点设备(诸如鼠标、轨迹球、触摸板或图形输入板)、扫描仪、结合到显示器中的触摸屏、音频输入设备(诸如语音标识系统)、麦克风、和/或其他类型的输入设备。一般而言,术语“输入设备”的使用旨在包括将信息输入到计算机系统510中或输入到通信网络上的所有可能类型的设备和方式。

用户界面输出设备520可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于形成可视图像的一些其他机构。显示子系统还可以例如通过音频输出设备提供非视觉显示。一般而言,术语“输出设备”的使用旨在包括从计算机系统510向用户或向另一机器或计算设备输出信息的所有可能类型的设备和方式。

存储子系统524存储用于提供本文描述的模块中的一些或所有模块的功能的编程和数据构造。例如,存储子系统524可以包括用于执行方法400、方法412的选定方面的逻辑、和/或第一客户端设备110、第二客户端设备114、外围助理控制设备112、服务器设备120、自动助理122、第一客户端设备210、第二客户端设备214、外围助理控制设备212、服务器设备220、自动助理222、系统300、自动助理308、服务器设备302、控制设备模块324、客户端设备334、和/或外围助理控制设备342。

这些软件模块通常由处理器514单独执行或与其他处理器结合执行。存储子系统524中使用的存储器525可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)530和在其中存储固定指令的只读存储器(ROM)532。文件存储子系统526可以为程序和数据文件提供永久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd-rom驱动器、光盘驱动器或可移动介质盒。用于实施某些实施方式的功能的模块可以由文件存储子系统526存储在存储子系统524中,或者存储在由处理器514可访问的其他机器中。

总线子系统512提供了用于让计算机系统510的各种组件和子系统按照预期相互通信的机制。尽管总线子系统512被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。

计算机系统510可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群组或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图5中描绘的计算机系统510的描述仅旨在作为用于示出一些实施方式的目的的特定示例。计算机系统510的许多其他配置可以具有比图5中描绘的计算机系统更多或更少的组件。

在本文描述的系统收集关于用户的个人信息(或本文通常称为“参与者”)或可以利用个人信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户偏好或用户的当前地理位置的信息)、或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。而且,在存储或使用某些数据之前可能会以一种或多种方式对其进行处理,以便移除个人可识别信息。例如,可以处理用户的身份,使得不能针对用户确定个人可识别信息,或者可以在获得地理位置信息的情况下对用户的地理位置进行泛化处理(诸如达到城市级、ZIP码级或州级),使得无法确定用户的特定地理位置。因此,用户可以对如何收集和/或使用关于该用户的信息进行控制。

虽然本文已经描述和示出了若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的优点中的一个或多个的各种其他装置和/或结构,并且这些变型和/或修改中的每一个被认为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和构型旨在是示例性的,并且实际的参数、尺寸、材料和/或构型将取决于使用所述教导的特定应用。本领域技术人员将认识到,或者能够仅使用常规实验来断言本文描述的具体实施方式的许多等同物。因此,应该理解的是,前述实施方式仅作为示例呈现,并且在所附权利要求及其等同物的范围内,实施方式可以不同于具体描述和要求保护的方式来实践。本公开的实施方式涉及本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合(如果这样的特征、系统、物品、材料、套件和/或方法不相互矛盾)包括在本公开的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号