首页> 中国专利> 根据多助理环境的特性来调节助理响应性

根据多助理环境的特性来调节助理响应性

摘要

本文阐述的实现方式涉及采用动态规程来管理多个自动助理设备的响应性,并且具体地自动助理对由自动助理中的两个或者更多个自动助理已经确认的给定口头话语的响应性。动态规程可以是场境依赖的,并且可以随时间的推移来适配,以便使自动助理可以适应可能因用户而变化的助理交互偏好。例如,基于用户提供口头话语的场境,诸如“停止”的口头话语可以意图影响不同的助理动作。场境可以指的是用户相对于家中其他房间的位置、一天中的时间、提供口头话语的用户、家中助理设备的布置和/或家中每个设备的状态。

著录项

说明书

背景技术

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

许多用户可以使用多个客户端设备与自动助理接涉。例如,一些用户可能拥有客户设备的协调“生态系统”,诸如一个或多个智能电话、一个或多个平板计算机、一个或多个车辆计算系统、一个或可穿戴计算设备、一个或多个智能电视和/或一个或多个独立的交互式扬声器以及其他客户端设备。用户可以使用这些客户端设备中的任何一个与自动助理进行人机对话(假设安装自动助理客户端)。在一些情况下,这些客户端设备可能分散在用户的主要住宅、次要住宅、工作场所和/或其他结构周围。例如,诸如智能电话、平板电脑、智能手表等的移动客户端设备可以在用户的个人上和/或用户最后将它们放置在的任何地方。其他客户端设备,诸如传统的台式计算机、智能电视和独立的交互式扬声器可能会更固定,但仍可以位于用户的家中或工作场所中的各个地方(例如,房间)。

当用户在其家内具有多个自动助理设备时,由于执行不同的动作,每个相应的自动助理设备可以具有不同的操作状况。在此类时间,用户可以请求修改在自动助理设备处正在进行的特定动作,但是无意地使不同的自动助理设备修改不同的动作。这可能是部分地因为一些助理设备可能仅依靠相应的助理设备是否听到了用户说出命令以便修改特定动作。结果,当用户不正在直接与他们意图与之交互的助理设备讲话时,能够限制自动助理设备对某些多助理环境的适应性。例如,用户可能意外地停止正在他们不意图与之通信的助理设备处执行的正在进行的动作,从而需要用户重复先前的口头话语以便重新调用已停止的动作。

不期望地,响应于意外地停止动作,为已停止的动作分配的存储器可以被助理设备重用,并且当用户随后重新调用已停止的动作时,助理设备可能不得不再次获取任何相关数据。这种似乎冗余的后果可能浪费网络资源,因为例如一些口头话语可以由仅可经由网络连接访问的自然语言模型处理。此外,与无意地取消的动作有关的任何数据将不得不被重新下载以促进完成动作,并且因取消能量密集动作(例如,控制显示器背光、加热元件和/或电动器具)而浪费的任何能量可能不是可恢复的。

发明内容

本公开总体上涉及用于采用动态规程来管理多个自动助理设备的响应性的方法、装置和计算机可读介质(暂时性和非暂时性)。具体地,能够根据动态规程来适配自动助理对已由助理设备中的两个或更多个确认的给定口头话语的响应性。动态规程可以为用于根据能够随着时间的推移而改变的给定场境来允许特定自动助理设备执行特定动作的规则。附加地或替换地,每个自动助理设备能够根据多个不同的动态规程来操作,这些不同的动态规程管理自动助理将用于执行的特定动作委派给特定自动助理设备的能力。诸如当多个自动助理设备同时地确认对要执行的特定动作的传入请求时,此类动态规程能够识别特定自动助理设备将在其中执行特定动作的某些场境。

作为一个示例,用户可能正在通过第一助理设备在其起居室中听音乐,然而第二助理设备能够被设置成在厨房中提供告警以便向用户报警其烹饪进度。当告警响起时,用户能够向第二助理设备提供口头话语以修改与告警响起相对应的动作。例如,用户能够从其起居室提供口头话语“Assistant,stop!(助理,停止!)”,但是意图让口头话语影响第二助理设备。因为用户是在其起居室中,所以与在厨房中的第二助理设备相比,第一助理设备能够以较高的音量接收到口头话语。然而,为了停止第二助理设备处正在进行的告警动作而不影响第一助理设备处正在进行的音乐播放动作,第一助理设备能够在影响任何正在进行的动作之前访问一个或多个动态规程。

动态规程能够与用户的当前场境相关联,用户的当前场境能够由指示用户在起居室中的位置、每个助理设备分别在起居室和厨房中的位置和/或分别在每个助理设备处执行的每个正在进行的动作的场境数据来表征。例如,动态规程能够基于指示用户已在第二助理设备发出告警声音之后和/或在第二助理设备发出告警声音内的阈值时间段(例如,5秒)内历史上提供了口头话语“stop(停止)”的训练数据。这种动态规程能够提供自动助理能够据此确定是否在当前场境内响应于口头话语“Assistant,stop(助理,停止)”而停止音乐的基础。例如,响应于口头话语“Assistant,stop”,自动助理能够访问动态规程,确定在告警发声的阈值时间段内提供了口头话语,并且修改第二助理设备的告警动作。换句话说,不管音乐播放和告警发声在不同的助理设备处并发地进行,自动助理都将至少基于动态规程和当前场境仅影响告警发声。

在一些实现方式中,能够将训练数据用作据此而生成和/或随着时间的推移修改动态规程的基础。训练数据能够基于由用户提供以便初始化和/或修改由一个或多个应用和/或设备正在执行的一个或多个正在进行的动作的各种不同的口头话语。例如,能够基于自动助理确认用户已在类似的场境中提供了一个或多个纠正性口头话语来生成动态规程。用户能够响应于自动助理相对于用户的意图不正确地修改特定动作而提供纠正性口头话语。作为一个示例,用户可能先前已在以上识别的第二助理设备开始发出告警之后提供了口头话语“Assistant,stop”,并且作为响应自动助理可能已不正确地停止了第一助理设备处正在进行的音乐播放动作。为了解决音乐播放动作的不正确修改,用户能够提供纠正性口头话语,“No,stop the alarm(不,停止告警)”。作为响应,自动助理能够处理纠正性口头话语,再次开始音乐播放动作,并且停止告警动作。此外,自动助理能够使动态规程被生成,该动态规程表征当前场境以及用户仅当用户在告警和音乐都可听见的同时说出“stop”时并且任选地当用户在说出“stop”时位于起居室中时才停止告警的偏好。以这种方式,用户将不必继续相对于该场境提供纠正性口头话语,从而保存计算资源,这些计算资源否则将被花费在助理设备之间的语言处理和信令上以遵守纠正性口头话语。

在一些实现方式中,动态规程能够具有一个或多个场境依赖。场境依赖能够是指影响给定特定场境的情况下是否将初始化和/或修改特定动作的特定场境特性。作为一个示例,动态规程能够识别为了在用户的家的特定房间内执行特定动作而必须满足的占用相关数据。例如,当在家的卧室内检测到人(例如,睡着的婴儿)时,用户可能更优选不在特定时间(例如,下午6点)过后用声音打扰该人。因此,动态规程能够识别一个或多个房间、一个或多个受影响的动作(例如,播放音乐、发出告警、以其他方式做出噪声等)、一个或多个受影响的助理设备、一个或多个受影响的账户、与动作相关联的一个或多个输出模态、在助理设备处可用的一个或多个输出模态和/或能够与自动助理相关联的任何其他特征。具体地,根据以上示例,对应的动态规程能够识别家的卧室、位于卧室内的助理设备以及此后限制某些动作的特定时间。因此,当自动助理接收到对要执行的动作的请求时,自动助理能够访问动态规程以确保自动助理在由动态规程建立的限制内行动。

在一些实现方式中,用于控制一个或多个助理设备的动态规程能够基于在给定场境中识别的第一助理设备是否与两个或更多个用户相关联。此外,当第一助理设备与两个或更多个用户相关联时,不管第二助理设备没有立即和/或直接与两个或更多个用户相关联,在给定内识别的第二助理设备都能够由两个或更多个用户控制。作为一个示例,两个用户可能正在第一用户的家的起居室里的电视上观看电影,并且两个用户中的每一个均能够在彼此相应的便携式计算设备中作为联系人被识别。具体地,两个用户中的第二用户能够具有使用其便携式计算设备来呼叫两个用户中的第一用户的历史。

在观看电影的同时,第一用户可以离开起居室去拿小吃,并且第二用户在观察到第一用户走开后,能够向电视的自动助理接口提供口头话语以便暂停电影。例如,第二用户能够向电视的自动助理接口(例如,麦克风)提供命令“Assistant,pause(助理,暂停)”。作为响应,根据第一用户的账户来操作的自动助理能够访问和/或生成用于允许第二用户在第二用户和第一用户在第一用户的家里的同时控制电影的重放的动态规程。具体地,动态规程可能要求,当第一用户具有第二用户作为其便携式计算设备中的联系人并且第一用户和第二用户都在第一用户的家里时,第二用户能够控制电影重放。在一些实现方式中,能够由自动助理通过确定第二用户的便携式计算设备连接到用户的家的家庭WiFi和/或便携式计算设备也听到了由第二用户提供的口头话语来识别第二用户。附加地或替换地,自动助理能够确定当第二用户正在提供口头话语时第二用户的便携式计算设备位于第二用户的阈值距离内,至少以便验证第二用户正在提供口头话语。

在一些实现方式中,响应于允许第二用户暂停正在电视处播放的电影,自动助理能够修改与暂停电视处的电影相关联的动态规程以允许第二用户暂停电影。以这种方式,自动助理能够对动态规程进行适配以放宽特定规程,从而保留计算资源。例如,一旦动态规程已被更新并且第二用户向电视发布另一请求,则自动助理将不需要确认第一用户和第二用户的便携式计算设备之间的任何对应。相反,自动助理可能仅需要验证第二用户或其相应的设备在家内的存在,或者验证第一用户和第二用户都在家和/或共同房间内(例如,两者都在起居室中)。

在一些实现方式中,动态规程的场境依赖能够基于存储的一个或多个自动助理设备的位置的布局。存储的布局能够表征房间相邻性、房间数量、房间大小、设备在每个相应的房间内的位置、每个特定房间的最多占用部分(例如,每用户和/或每房间的热图)和/或与位置相关联的任何其他特性。附加地或替换地,动态规程的场境依赖能够基于接收到特定口头话语的特定助理设备、助理设备在特定位置内的可用模态、能够由每个助理设备执行的动作和/或能够与助理设备的动作相关联的任何其他偶然性。例如,用户能够在其厨房中具有仅音频助理设备而在其起居室中具有启用助理的电视。用于用户的自动助理能够根据动态规程来操作,该动态规程允许在用户提供与模态特定动作相对应的请求时从仅音频助理设备控制启用助理的电视。例如,当用户在其厨房中而用户的孩子在起居室中时,用户能够要求其厨房中的仅音频助理设备在电视上播放小孩的电影,而不用显式地指明设备。口头话语可以为例如“Assistant,play a kid’s movie(助理,播放小孩的电影)”,并且响应于仅音频助理设备接收到该口头话语,仅音频助理设备能够识别相关动态规程。所识别的动态规程能够允许当用户向其厨房中的仅音频助理设备提供视频相关请求时,仅音频助理设备控制具有视频模态的其他助理设备。

在一些实现方式中,来自用户的未指明特定助理设备、特定模态、要执行的动作的位置或者以其他方式包含歧义语言的请求,自动助理能够识别一个或多个动态规程以便解决歧义性。在一些情况下,当请求识别具有相同描述的助理设备具有另一助理设备时,能够将请求认为是歧义的。例如,用户能够在其家中分别在两个或更多个不同的位置中具有两个或更多个启用助理的电视。因此,能够将诸如“Assistant,play the movie Pi on mytelevision(助理,在我的电视上播放电影Pi)”的口头话语认为是歧义的,因为它能够被解释成涉及多个设备。结果,当自动助理接收到识别单个助理设备但歧义地涉及多个助理设备的请求时,自动助理能够访问一个或多个动态规程以解决歧义性。

作为一个示例,响应于接收到前述口头话语,自动助理能够确定口头话语包括关于特定类型的设备(例如,“电视”)的歧义性,并且访问和与特定类型的设备有关的歧义性相对应的动态规程。所访问的动态规程能够指示,当用户在其厨房中并且请求在其电视上播放电影时,用户更喜欢在其起居室电视而不是其卧室电视或小孩房间电视上播放电影。在一些实现方式中,此动态规程根据正在提供口头话语的用户可以是不同的。因此,如果这些小孩中的一个正在厨房中提供口头话语,则自动助理能够使电影开始在小孩房间电视而不是起居室电视上播放。

在一些实现方式中,对要执行与口头话语相对应的请求的动作的助理设备的选择能够基于该助理设备相对于其他助理设备听到了口头话语的程度。例如,从其厨房提供口头话语的用户将很可能使其厨房中的助理设备至少优于位于房屋的不同房间中的不同助理设备而执行特定动作。附加地或替换地,自动助理能够根据哪些助理设备确认了口头话语来从用户的家中的助理设备的合集中选择候选助理设备。此后,自动助理能够比较每个候选助理设备听到了口头话语的程度并且选择在最高程度上听到了口头话语的助理设备。

作为一个示例,自动助理能够基于候选助理设备是否完全听到了用户说出口头话语来选择候选助理设备,然后识别每个助理设备听到了口头话语的音量水平。自动助理能够基于最高确定的音量水平来确定公差水平,并且进一步减少被考虑的候选助理设备的数目。能够进一步分析其对应确定的音量水平落在公差内的任何剩余的候选助理设备以识别用于执行所请求的动作的最适当的助理设备。例如,用户可以提供请求在目标助理设备处播放音乐的口头话语,但是该目标助理设备可能不是最大声听到了口头话语的助理设备。然而,目标助理设备能够落到已确认了在特定阈值公差内接收到口头话语的候选助理设备的组中。能够将候选助理设备的标识符与和所请求的动作(例如,播放音乐)有关的一个或多个动态规程进行比较以便使用附加数据(例如,场境数据)确定用户最优选的助理设备来执行所请求的动作。

在一些实现方式中,能够针对一个或多个动态规程来识别用户在提供特定口头话语时的轨迹。以这种方式,在提供口头话语的同时移动的用户的轨迹可以为用于识别将执行由用户请求的动作的助理设备的限制性因素。作为一个示例,动态规程能够指示如何在用户正在其房屋中行走、正在第一助理设备处播放音乐并且正在由第二助理设备发出告警时处理诸如“Assistant,stop”的口头话语。因为告警能够与诸如烤箱打开了一定时间量的需要注意的事情相关联,所以用户可以具有在提供“停止”请求时走向告警声源的历史。动态规程能够捕获这种经学习的用户习惯以便在用户确实地意图停止告警时防止音乐被用户停止。

在一些实现方式中,动态规程能够根据一个或多个机器学习模型来操作,这一个或多个机器学习模型被配置成接收与特定口头话语的场境相关联的场境数据作为输入。例如,能够将场境数据提供给机器学习模型以便得出否则将由动态规程指示的输出。场境数据能够表征家的布局、家中的一个或多个用户的标识符、家中的一个或多个助理设备的标识符、每个助理设备在家内的位置、与家中的每个房间相对应的相邻性数据、每个人在家中的位置、一天中的时间、每个设备在家内的状况、从基于口头话语的音频得出的话音特性、由每个设备正在执行的正在进行的动作的类型(例如,被动动作、主动动作等)和/或能够描述用户在其中提供特定口头话语的场境的任何其他数据。以这种方式,每个助理设备似乎能够适配用户对某些自动助理设备执行特定动作的偏好变化。

能够在诸如在与助理设备分开的网络处操作的一个或多个服务器设备的一个或多个远程计算设备处执行用于选择将最终执行由口头话语指明的动作的助理设备的过程。换句话说,用于选择优选的助理设备来执行动作的过程能够包括选择特定服务器设备或将处理用于识别优选的助理设备的输入的指定的同位服务器设备集群。例如,每个助理设备能够向与每个助理设备相关联的相应的服务器设备或同位服务器设备集群提供状况信息。由于每个助理设备与一个或多个不同的账户和/或一个或多个不同的用户相关联,每个助理设备能够与不同的服务器设备相关联。因此,为了使向自动助理委派动作合理化,能够为其他服务器设备选择特定服务器设备以对在多个助理设备处接收到的特定口头话语做出响应。例如,第一助理设备能够向第一服务器设备提供状况信息,而第二助理设备能够向第二服务器设备提供其他状况信息。至少基于第一自动助理最大声听到了口头话语,能够将第一服务器设备指定为用于处理状况信息并选择目标助理设备的所选服务器设备。此后,第二服务器设备和/或第二助理设备能够确定第一服务器设备已被指定为所选服务器设备并且将其他状况信息和/或与口头话语有关的任何其他数据转发到第一服务器设备。第一服务器设备然后能够使用能够包括与口头话语相关联的场境数据的状况信息,以便指定助理设备中的一个来执行根据口头话语推断的动作。

本公开的实现方式提供一种用于改进特定环境中的设备的组的控制使得减少不正确的设备触发实例的数目的方式。除了确保用户命令的结果与用户的意图相对应之外,这还使得减少否则会与不正确的设备触发的执行相关联的技术资源的浪费。资源的这种浪费可以包括但不限于与指令设备执行不要求被执行的特定功能相关联的通信开销、通过激活不意图被控制的设备中的特定功能所消耗的功率以及通过将设备挂起在不需要的特定状态下所消耗的存储器和/或功率。正确的设备触发的实例能够更快地发生,从而确保自动助理更响应性地操作。

通过考虑多个设备的场境信息来进一步确保有效性,使得在适于特定环境的动态基础上实现设备控制。

通过训练动态规程的数据库,能够确保系统能够学习用户的行为,使得能够改进能够以之实现设备控制的效率,从而更进一步减少不正确的设备触发的实例,并且确保将尽可能有效地解决设备控制中的将来冲突。

以上描述作为本公开的一些实现方式的概述被提供。在下面更详细地描述那些实现方式和其他实现方式的进一步描述。

在一些实现方式中,一种由一个或多个处理器实现的方法被阐述为包括诸如接收捕获用户的口头话语的音频数据,其中,口头话语体现对要经由自动助理执行的修改动作的请求并且由两个或更多个计算设备中的至少一个接收,所述两个或更多个计算设备每一个能够经由自动助理执行修改操作。该方法能够进一步包括,使用捕获口头话语的音频数据来确定修改动作能够修改以下中的每一个:正在两个或更多个计算设备中的第一设备处执行的第一正在进行的动作,和正在两个或更多个计算设备中的第二设备处执行的第二正在进行的动作。该方法也能够包括基于确定修改动作能够修改第一正在进行的动作和第二正在进行的动作两者,识别与修改动作相对应的存储的规程,其中,存储的规程表征修改动作的执行的场境依赖。该方法能够进一步包括基于识别存储的规程,访问与存储的规程相关联的场境数据,其中,场境数据表征第一正在进行的动作的第一类型和第二正在进行的动作的第二类型。该方法也能够包括基于场境数据和存储的规程,确定两个或更多个计算设备中的修改动作将经由自动助理被执行的目标计算设备。该方法能够进一步包括基于确定动作将被控制的目标计算设备,使得修改动作经由自动助理在目标计算设备处被执行。

在一些实现方式中,确定存储的规程包括从能够被自动助理访问的多个不同的规程中识别存储的规程,并且多个不同的规程是基于用户请求自动助理执行修改动作的一个或多个先前实例来确定的。在一些实现方式中,存储的规程是基于由自动助理从用户先前接收到的一个或多个纠正性口头话语来确定的,一个或多个纠正性口头话语中的每一个均是如纠正性口头话语所指示的由用户在修改动作被经由自动助理不正确地执行的对应先前实例之后提供的。在一些实现方式中,第一正在进行的动作包括经由第一设备的扬声器提供可听声音。

在一些实现方式中,场境数据包括占用数据,所述占用数据表征对用户提供了口头话语的建筑物的一个或多个房间的占用,并且存储的规程指示关于建筑物的一个或多个房间中的特定房间限制至少一个动作的用户的偏好。在一些实现方式中,场境数据进一步指示用户在建筑物的一个或多个房间中的特定房间内的位置,并且存储的规程指示对于用以经由自动助理控制至少一个动作的目标计算设备的用户的另一偏好。在一些实现方式中,使得修改动作在目标计算设备处被执行包括限制在两个或更多个计算设备中的目标计算设备处执行特定正在进行的动作。在一些实现方式中,使得至少一个动作在目标计算设备处被执行包括修改音频数据或视觉数据的正在进行的渲染,并且场境数据指示音频数据或视觉数据的正在进行的渲染被初始化的时间。在一些实现方式中,场境数据识别两个或更多个计算设备中的每一个计算设备的操作状况,并且两个或更多个计算设备中的每一个计算设备被配置成将相应的操作状况数据提供给用于处理操作状况的共同的同位服务器设备集群。

在其他实现方式中,一种由一个或多个处理器实现的方法被阐述为包括诸如在与多个客户端设备通信的服务器设备处,确定与设置在用户的位置周围的多个客户端设备的活动状态相对应的状况信息,其中,多个客户端设备中的每一个客户端设备能够被自动助理访问。该方法也能够包括接收基于口头话语的数据,所述口头话语由用户提供给多个客户端设备中的正在根据所确定的状况信息操作的至少一个客户端设备,其中,口头话语体现对要由多个客户端设备中的一个或多个客户端设备执行的动作的请求。该方法能够进一步包括响应于接收到基于口头话语的数据,访问与多个客户端设备相关联的存储的动态规程集合,其中,存储的动态规程集合中的至少一个存储的规程表征由一个或多个客户端设备进行的动作的执行对状况信息的场境依赖。该方法也能够包括:基于存储的动态规程集合中的至少一个存储的规程和状况信息,识别用以执行动作的目标客户端设备,其中,由至少一个存储的规程表征的场境依赖包括用于指定用以执行动作的目标客户端设备的至少一个音量无关(volume-agnostic)条件。该方法能够进一步包括使得目标客户端设备经由自动助理执行动作。

在一些实现方式中,位置包括由能够被服务器设备访问的存储的拓扑表征的多个房间,并且该方法进一步包括:访问将场境依赖表征为用户位于包括至少一个客户端设备的第一房间内并且目标客户端设备位于多个房间中的第二房间内的当前场境数据。在一些实现方式中,该方法能够包括基于接收到数据,确定口头话语是否为从歧义类型的话语和具体类型的话语中选择的至少一个类型的话语,其中,以下特定操作在口头话语被确定为歧义类型的话语时被执行:访问与多个客户端设备相关联的存储的动态规程集合、识别用以执行动作的目标客户端设备以及使得目标计算设备执行动作。

在一些实现方式中,该方法能够包括,在口头话语被确定为具体类型的话语时:识别具体地由用户经由口头话语识别的指定的客户端设备,以及使得指定的客户端执行动作同时绕过访问与多个客户端设备相关联的存储的动态规程集合。在一些实现方式中,将所接收的口头话语表征为从歧义类型的话语和具体类型的话语中选择的至少一个类型的话语是基于用户与自动助理之间的先前交互。

在仍然其他的实现方式中,一种由一个或多个处理器实现的方法被阐述为包括诸如从与用户相关联的多个客户端设备接收状况信息,状况信息指示多个客户端设备中的一个或多个客户端设备正在执行正在进行的动作。该方法也能够包括基于接收到状况信息,选择用于处理由多个客户端设备提供的状况信息的指定的同位服务器设备集群,其中,指定的同位服务器设备集群从多个不同的同位服务器设备集群中选择。该方法能够进一步包括:确定来自用户的口头话语在多个客户端设备中的客户端设备的自动助理接口处被接收,其中,自动助理接口被配置成促进用户与能够被多个客户端设备访问的自动助理之间的交互,并且口头话语体现对自动助理执行动作的请求。该方法也能够包括响应于确定口头话语在客户端设备的自动助理接口处被从用户接收,使得在客户端设备处生成的音频数据被提供给指定的同位服务器设备集群,其中,音频数据捕获口头话语的至少一部分。该方法能够进一步包括基于客户端设备将音频数据提供给指定的同位服务器设备集群,使得指定的同位服务器设备集群识别多个客户端设备中的用于执行由用户请求的动作的指定的客户端设备。该方法也能够包括使得指定的客户端设备执行由用户请求的动作

在一些实现方式中,该方法能够包括:响应于接收到状况信息而访问存储的设备拓扑,存储的设备拓扑指示各种客户端设备在位置内的布置,其中,多个客户端设备是各种客户端设备的子集,以及确定多个客户端设备是在用户将口头话语提供给自动助理接口的位置的共同房间中。在一些实现方式中,动作与特定输出模态相对应,并且该方法进一步包括:确定在位置的共同房间中的多个客户端设备包括与由请求识别的动作相对应的特定输出模态。在一些实现方式中,多个客户端设备中的两个或更多个客户端设备与不同的用户账户相关联,并且两个或更多个客户端设备被配置成基于两个或更多个客户端设备与不同的用户账户相关联来与多个不同的同位服务器设备集群进行通信。在一些实现方式中,由相应的客户端设备提供的特定状况信息指示多个客户端设备中的相应的客户端设备是否正在执行正在进行的动作,并且在相应的客户端设备正在执行正在进行的动作时,状况信息指示相应的客户端设备被采用来执行正在进行的动作的模态。在一些实现方式中,指定的客户端设备根据存储的训练数据被选择,存储的训练数据指示由请求识别的动作与由多个客户端设备提供的状况信息之间的对应。

在一些实现方式中,一种设备被设置为包括频接口,所述音频接口被配置成响应于接收到口头话语而生成信号,口头话语被接收以推进用户与自动助理进行通信,其中,口头话语是在音频接口和另一客户端设备的另一音频接口两者处被接收的,并且另一客户端设备是作为能够被自动助理访问的多个客户端设备中的一个的客户端设备。该设备也能够包括网络接口,所述网络接口被配置成从也接收到口头话语的另一设备接收通信,其中,由另一设备提供的通信包括表征与另一设备相关联的场境的第一场境数据。该设备能够进一步包括存储器,所述存储器被配置成存储表征与口头话语在音频接口处被接收相关联的另一场境的第二场境数据。该设备也能够包括一个或多个处理器,所述一个或多个处理器被配置成执行包括以下的操作:确定多个客户端设备的排位,其中,排位至少包括基于第一场境数据的第一排名和基于第二场境数据的第二排名,并且其中,排位中的每个排名至少部分地影响对多个客户端设备中的用以经由自动助理对口头话语做出响应的特定设备的选择,以及在多个客户端设备的候选设备具有与排位的其他排名区分开的对应排名时:至少基于排位的对应排名来使得自动助理经由候选设备对口头话语做出响应。

在一些实现方式中,网络接口被进一步配置成在口头话语在音频接口处被接收之前从另一设备接收通信。在一些实现方式中,由一个或多个处理器确定排位是在口头话语在音频接口处被接收之前或者在口头话语正在音频接口处被接收的同时被执行的。在一些实现方式中,一个或多个处理器被进一步配置成执行包括以下的操作:在口头话语在音频接口处被接收之前生成第二场境数据,和使得网络接口向另一设备提供单独的通信,其中,另一设备被配置成确定另一设备是否被派有经由自动助理对口头话语做出响应的任务。在一些实现方式中,一个或多个处理器被进一步配置成执行包括以下的操作:向与网络接口通信但尚未确认口头话语的单独的设备发送单独的通信;以及确定单独的设备是否将被派有经由自动助理对口头话语做出响应的任务。

在一些实现方式中,一个或多个处理器被进一步配置成执行包括以下的操作:生成表征单独的设备的操作状况的第三场境数据。在一些实现方式中,一个或多个处理器被进一步配置成执行包括以下的操作:在多个客户端设备中的两个或更多个客户端设备具有导致两个或更多个客户端设备之间的平局排位的相应排名时:确定表征两个或更多个客户端设备的特点的补充场境数据,以及基于补充场境数据,以有利于排位与多个客户端设备中的其他客户端设备的排位区分开的相应的客户端设备的方式使得平局排位被解决。

在一些实现方式中,一种由一个或多个处理器实现的方法被阐述为包括诸如确定口头话语已在第一客户端设备处被接收,其中,口头话语由用户提供以推进与能够经由第一客户端设备的助理接口访问的自动助理进行通信,并且口头话语由包括第一客户端设备的多个客户端设备接收。该方法也能够包括,响应于第二客户端设备接收到口头话语而从接收到口头话语的第二客户端设备接收通信,其中,由第二客户端设备提供的通信包括表征与第二客户端设备相关联的场境的第一场境数据。该方法能够进一步包括确定多个客户端设备的排位,其中,排位至少包括基于第一场境数据的第一排名和基于第二场境数据的第二排名,并且其中,排位中的每个排名至少部分地影响对多个客户端设备中的用以对口头话语做出响应的特定客户端设备的选择。该方法能够进一步包括,在多个客户端设备中的候选客户端设备具有与排位的其他排名区分开的对应排名时:至少基于排位的对应排名来使得自动助理经由候选设备对口头话语做出响应。

在一些实现方式中,通信在口头话语由第一客户端设备接收之前从第二客户端设备被接收。在一些实现方式中,确定排位在口头话语在第一客户端设备处被接收之前或者在口头话语正在第一客户端设备处被接收的同时被执行。在一些实现方式中,该方法能够包括:在口头话语在音频接口处被接收之前生成第二场境数据;和使得网络接口向另一设备提供单独的通信,其中,另一设备被配置成确定另一设备是否将被派有经由所述自动助理对口头话语做出响应的任务。在一些实现方式中,该方法能够包括:向与第一客户端设备通信但是尚未确认口头话语的单独的设备发送单独的通信,以及确定单独的设备是否将被派有经由自动助理对口头话语做出响应的任务。在一些实现方式中,该方法可以包括生成表征单独的设备的操作状况的第三场境数据。在一些实现方式中,该方法能够包括在多个客户端设备中的两个或更多个客户端设备具有导致两个或更多个客户端设备之间的平局排位的相应排名时:确定表征两个或更多个客户端设备的特点的补充场境数据,以及基于补充场境数据,以有利于排位与多个客户端设备中的其他客户端设备的排位区分开的相应的客户端设备的方式使得平局排名被解决。

在其他实现方式中,一种由一个或多个处理器实现的方法被阐述为包括诸如以下各项的操作:将多个动态规程存储在数据库中,每一个动态规程与用户命令相关联,并且指明用以执行与用户命令相对应的动作的多个受控设备中的每一个与用户和/或包括该相应的受控设备的多个客户端设备中的至少一个客户端设备的场境信息之间的对应。该方法也能够包括通过以下来训练所存储的多个规程:从多个客户端设备中的一个客户端设备接收表示用户命令的第一输入,识别与所接收的用户命令相对应的所存储的多个动态规程中的一个,请求并获得用户和/或包括受控设备的所述多个客户端设备中的至少一个客户端设备的场境信息,基于与所存储的动态规程相关联的所述场境信息来将多个客户端设备中的一个客户端设备识别为受控设备,由所识别的客户端设备发起对所识别的动态规程的执行,从多个客户端设备中的一个客户端设备接收表示用户命令的更新的第二输入,纠正指明更新的客户端设备被控制,和更新数据库中的所存储的动态规程以指明更新的客户端设备与所获得的场境信息之间的对应。该方法也能够包括由更新的客户端设备发起对所识别的动态规程的执行。

其它实现方式可以包括一种非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质存储指令,这些指令可由一个或多个处理器(例如,中央处理器(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU))执行以执行诸如在上面和/或在本文中别处描述的方法中的一种或多种的方法。仍然其它的实现方式可以包括一个或多个计算机和/或一个或者多个机器人的系统,其包括可操作来执行存储的指令以执行诸如在上面和/或在本文中别处描述的方法中的一种或多种的方法的一个或者多个处理器。

应该领会,在本文中更详细地描述的上述构思和附加构思的所有组合都被设想为是本文公开的主题的一部分。例如,在本公开的结尾处出现的要求保护的主题的所有组合都被设想为是本文公开的主题的一部分。

附图说明

图1A图示在包括多个不同助理设备的位置内提供口头话语的用户的透视图。

图1B图示每个设备如何响应用户提供的口头话语的透视图。

图2图示用于从多个候选设备中选择目标设备以用于对口头话语做出响应以便避免无意地使非意图的设备对口头话语做出响应的系统。

图3A和图3B图示用于选择将确定将对特定口头话语做出响应的目标客户端设备的服务器的系统图。

图4A和图4B图示允许在本地执行对用于对来自用户的口头话语做出响应的客户端设备的选择的裁决(arbitration)的实现方式。

图5A和图5B图示用于响应于在多个客户端设备处接收到的口头话语而修改由客户端设备正在执行的正在进行的动作的方法。

图6图示用于从多个客户端设备中选择用于处理状况信息的同位服务器设备集群并且基于处理状况信息的结果选择用于执行动作的目标客户端设备的方法。

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

具体实现方式

图1A图示用户116在包括多个不同的助理设备的位置138内提供口头话语140的立体图100。每个助理设备能够取决于由每个助理设备正在执行的动作而单独地操作以显现出各种不同的状态。为了确保特定口头话语仅影响意图的目标设备,助理设备中的每一个均能够根据一个或多个动态规程来操作。动态规程是可以给定与特定口头话语相关联的特定场境来确定特定设备将如何对特定口头话语或请求进行反应的规则或指令。能够根据用户偏好的变化、一位置内设备的数目的变化和/或能够影响设备可在其中操作的环境的任何其他特征来随着时间的推移而修改动态规程。

例如,如图1A中所提供的,位置138能够包括车辆114,其能够具有能够帮助用户控制车辆114的助理设备104。位置138也能够包括助理设备118,其可以为能够接收触摸和/或音频输入并且提供音频和/或视觉输出的独立助理设备。附加地,位置138能够包括电视128,其能够允许用户116经由电视128的助理接口132访问电视自动助理130。

电视128、助理设备118和助理设备104中的每一个均能够包括自动助理。例如,助理设备104能够包括能够由用户116经由助理接口108访问的车辆自动助理106。此外,助理设备118能够包括能够经由助理接口122访问的客户端自动助理120。助理接口122能够包括麦克风、扬声器、显示面板、触摸显示面板、相机、诸如键盘的触觉接口和/或用户能够用来控制计算机设备的任何其他接口中的一个或多个。在一些实现方式中,用户116能够使用另一设备的助理接口来控制自动助理和/或设备。例如,车辆114、助理设备118和电视128中的每一个均能够在诸如Wi-Fi网络的公共局域网处连接,从而允许经由网络在两个或更多个设备和/或应用之间传送数据。

在本文讨论的一些实现方式中,位置138处的设备中的每一个均能够根据动态规程集中的一个或多个动态规程来操作。能够提供动态规程以便确保用户意图要执行动作的设备接收用于执行该动作的指令,而不是在不同设备处无意地执行指令。作为一个非限制性示例,用户116能够经由电视128与其朋友一起观看电影,该电视能够位于位置138的起居室中。在他们正在观看电影的同时,助理设备118可能正在执行执行定时器的活动动作。定时器可以例如意图监视用户116正在其烤箱中烘烤的食物的状况。由电视128和助理设备118两者正在执行的动作能够通过在每个设备或与每个设备通信的服务器设备处可访问和/或存储的动作数据来表征。当在每个透视设备处初始化、执行和/或完成正在进行的动作时,能够更新与每个相应设备相对应的动作数据以指示每个设备的操作状况和/或每个设备的一个或多个动作。

根据前述示例,当定时器已完成时,助理设备118能够提供输出142,诸如发出告警声音。响应于定时器完成,能够更新动作数据124以指示助理设备118的操作状况。例如,操作状况能够指示助理设备118“正在发出告警”并且定时器的操作状况是“定时器完成”。动作数据124能够识别一个或多个操作状况126(例如,状况(N),其中N是任何正整数)。

因为当告警响起时用户116正在观看电影,所以用户116可能希望停止告警而不停止在电视128处发生的任何动作(例如,如由状况136所指示的播放视频和/或音频)以及在车辆114处发生的任何动作(例如,如由状况信息112所指示的车辆充电和保持停车)。例如,为了促进修改助理设备118的操作状况,用户116能够提供口头话语140“Assistant,stop”。如图1B中所指示的,助理设备中的每一个均能够确认口头话语140。具体地,图1B图示每个设备能够如何对由用户116提供的口头话语140做出响应的透视图144。响应于确认口头话语,每个设备处的每个自动助理能够使其相应的状况信息被更新以指示口头话语被接收。例如,助理设备104能够更新其状况信息112以指示用户输入被接收。类似地,电视128和助理设备118能够更新其相应的状况信息以指示已接收到口头输入。但是,为了确保设备不会无意地受到口头话语影响,每个设备能够根据一个或多个动态规程和/或动态规程集来操作。

在一些实现方式中,能够基于体现用户习惯的训练数据来生成动态规程,并且动态规程是在来自用户116的许可下生成的。例如,一个或多个动态规程能够与场境数据相关联,该场境数据表征用户请求的先前实例和/或在提供了先前用户请求时显而易见的设备操作状况。因此,能够与一个或多个动态规程相结合地使用由一个或多个助理设备收集的场境数据来确定用户意图与之交互的目标设备或多个目标设备。例如,当助理设备118正在发出告警、电视128正在播放视频并且车辆114正在充电时,用户可能先前已提供了“Assistant,stop”口头话语。如果响应于口头话语“Assistant,stop”而无意地停止了除发出告警以外的动作,则用户可能已提供了诸如“No,stop the alarm”的纠正性口头话语。接收到纠正性口头话语的自动助理能够使动态规程被生成和/或更新以反映用户的纠正和/或偏好。具体地,动态规程能够表征用户116意图执行的动作(例如,停止动作)、位置138中的设备的操作状况和/或用户116意图与之交互的设备(例如,助理设备118)。

在一些实现方式中,动态规程能够基于表征位置138的占用和/或位置138内的一个或多个设备的当前操作状况的场境数据。例如,用户116及其朋友可能正在电视128处观看电影。在电影期间,用户116能够起身以检查在其厨房中烹饪的某物的状况。为了确保用户116不会错过任何电影,朋友能够试图提供口头话语“Assistant,stop”来暂停电影。因为该口头话语关于要修改的动作和/或要受影响的设备是歧义的,所以已接收到该口头话语的自动助理能够访问动态规程以确定如何对该口头话语做出响应。具体地,自动助理能够确定口头话语“Assistant,stop”与多个不同的动态规程相对应。附加地,自动助理能够确定口头话语的话音简档与“来宾”话音简档相对应,该“来宾”话音简档与多个不同的动态规程中的一个或多个动态规程相关联。能够基于表征朋友/来宾提供“Assistant,stop”口头话语的先前实例的训练数据来生成一个或多个动态规程。在先前实例期间,口头话语不会影响任何设备,因此,作为响应,用户116提供了纠正性口头话语“Assistant,pause themovie(助理,暂停电影)”。基于朋友请求自动助理“停止”某物、设备不响应以及用户116使电影“暂停”的先前场境,自动助理能够使动态规程被更新或生成以反映用户116的这种偏好。具体地,能够将偏好表征为当用户116和朋友在位置138中时给予具有特定话音简档的朋友暂停在电视128处播放的电影的许可。

在一些实现方式中,当多个设备确认来自用户116的口头话语时,能够基于响应于口头话语而生成的响度公差来选择目标设备以用于对口头话语做出响应。具体地,能够生成与接收到的口头话语相对应的唯一响度公差。位置138处的每个本地自动助理能够裁决响度公差的制定以便将多个候选目标设备减少到以在所制定的响度公差内的音量听到口头话语的那些候选目标设备。例如,响应于助理设备104、助理设备118和电视128确认口头话语“Assistant,stop”,每个设备能够确定他们听到了口头话语的音量并且将所确定的音量传递到其他设备中的每一个。每个设备然后能够使用来自每个设备的每个确定的音量来制定响度阈值。响度阈值能够由每个设备根据可被每个设备访问的功能来生成。

每个特定设备能够将该特定设备的确定的音量与所制定的响度阈值进行比较以确定该特定设备是否为候选目标设备。如果特定设备不是候选目标设备,则该特定设备能够向其他设备传递它不再是候选目标设备。如果一旦所有设备已将其确定的音量与响度阈值进行了比较就剩下仅一个设备作为候选目标设备,则该单独剩余设备能够由自动助理指定为目标计算设备。目标计算设备然后能够被派有对口头话语做出响应的任务。然而,如果剩下不止一个候选目标设备,则根据本文讨论的任何实现方式,能够采用一个或多个动态规程,以便打破候选目标设备之间的“平局”。

图2图示用于从多个候选设备中选择目标设备以用于对口头话语做出响应以便避免无意地使非意图设备对口头话语做出响应的系统200。客户端自动助理214能够作为在诸如客户端设备202的一个或多个计算设备(例如,独立扬声器设备、显示器设备、个人计算机、便携式计算设备、车辆)和/或诸如服务器设备的远程计算设备208处提供的助理应用的一部分来操作。用户能够经由助理接口204与客户端自动助理214交互,该助理接口可以为麦克风、相机、触摸屏显示器、用户接口和/或能够在用户与应用之间提供接口的任何其他装置。例如,用户能够通过向助理接口提供口语、文本或图形输入来初始化客户端自动助理214以使客户端自动助理214执行功能(例如,提供数据、控制外围设备、访问代理、初始化动作、停止动作、修改动作等)。客户端设备202能够包括显示设备,其可以为包括用于接收触摸输入和/或手势的触摸接口以便允许用户经由触摸接口控制客户端设备202的应用206的显示面板。在一些实现方式中,客户端设备202可能缺少显示设备,从而提供可听的用户接口输出,而无需提供图形用户接口输出。此外,客户端设备202能够提供用于从用户接收口头自然语言输入的用户接口,诸如麦克风。

客户端设备202能够通过诸如互联网的网络234与远程计算设备208通信。客户端设备202能够将计算任务卸载到远程计算设备208以便节省每个客户端设备202处的计算资源。例如,远程计算设备208能够托管服务器自动助理210,并且客户端设备202能够将在一个或多个助理接口处接收到的输入传送到远程计算设备208。然而,在一些实现方式中,可以在多个不同的客户端设备处托管自动助理。在各种实现方式中,可以在多个不同的客户端设备和/或服务器设备上实现自动助理的所有方面或少于所有方面。在那些实现方式中的一些实现方式中,自动助理的各方面是经由客户端设备202的本地助理应用来实现的并且与经由服务器自动助理210实现自动助理的其他方面的远程计算设备208对接。远程计算设备208能够经由多个线程任选地为多个用户及其关联的助理应用服务。在经由客户端设备202的客户端自动助理214实现自动助理的所有或少于所有方面的实现方式中,客户端自动助理214可以为与客户端自动助理214的操作系统分开(例如,被安装“在”操作系统的“之上”)——或者能够替代地由客户端设备202直接实现(例如,被认为是操作系统的应用但与操作系统成一体)的应用。

在一些实现方式中,远程计算设备208能够包括输入处理引擎212,该输入处理引擎能够处理在助理接口处接收的音频数据以识别音频数据中体现的请求。用于将音频数据转换为文本的过程能够通过语音处理模块222执行,该语音处理模块能够使用语音辨识算法,该语音辨识算法能够采用神经网络、word2vec算法和/或统计模型来识别与单词或短语相对应的音频数据组。从音频数据转换的文本能够由数据解析模块216解析并且使其作为文本数据对自动助理可用,该文本数据能够用于生成和/或识别来自用户和/或第三方应用的命令短语。来自数据解析模块216的结果数据能够由参数引擎218使用来确定用户正在请求被执行的动作和/或完成该动作可能仍需要的一个或多个参数。响应于确定需要一个或多个参数来完成功能的一个或多个对应槽,服务器自动助理210的输出生成引擎220能够生成自然语言输出。能够将自然语言输出传送回到客户端设备202并提供给用户以便要求用户提供附加参数。例如,用户能够提供“Assistant,play a movie(助理,播放电影)”的口头话语,其能够对应于“播放媒体”的动作,这可能要求用户识别电影。参数引擎218能够确定电影未被识别,使输出生成引擎220生成自然语言输出(例如,“What movie would youlike to play?(你想播放什么电影?)”),并且使客户端设备202提供自然语言输出。

在一些实现方式中,为了避免响应于助理接口接收到口头话语而无意地影响错误的客户端设备,每个自动助理能够根据一个或多个动态规程232的集合来操作。每个动态规程232能够与一个或多个场境特征相关联,该一个或多个场境特征能够用于在用户在给定场境内提供口头话语时识别用户对特定设备的偏好。在一些实现方式中,在用户提供口头话语之前,每个客户端设备202能够向远程计算设备208提供状况信息240。状况信息240能够指示每个客户端设备202正在执行的一个或多个动作,诸如但不限于播放媒体、执行更新、在睡眠模式下操作、在唤醒模式下操作、充电、下载数据和/或能够由计算设备执行的任何其他动作。状况信息240能够由自动助理生成,该自动助理能够访问识别由应用206和/或自动助理正在执行的一个或多个动作的应用数据242。在一些实现方式中,状况信息240能够识别在客户端设备202处先前执行的动作、预期由客户端设备202执行的动作和/或已经被执行的动作当前正在被执行和/或被预期要由与客户端设备202通信的远程设备执行。

远程计算设备208能够在一个或多个客户端设备接收口头话语之前预处理任何多设备状况信息224(即,与多个客户端设备相对应的状况信息)。以这种方式,远程计算设备208能够以最小或无时延委派与口头话语相对应的任何动作。在一些实现方式中,至少基于对多设备状况信息224的处理,能够甚至在口头话语口已由接收客户端设备完全接收到之前,委派特定客户端设备202来执行特定动作。

在一些实现方式中,当在客户端设备202处接收到口头话语时,口头话语的至少一部分能够唤醒客户端设备202(例如,“Assistant,…(助理,...)”)并且能够将剩余部分转换为音频数据并传送到远程计算设备208以进一步处理。输入处理引擎212能够使用音频数据来确定口头话语是歧义查询还是具体查询。歧义查询可以为不指明特定设备和/或不指明来初始化、修改和/或中断的特定动作的查询。例如,能够将口头话语“Assistant,stop”认为是歧义口头话语,因为它不指明特定设备或要修改的特定动作,诸如“播放音乐”。具体查询是确实识别应该在其中履行由口头话语体现的请求的设备的口头话语。当口头话语被分类为具体请求时,由口头话语识别的设备能够被派有履行具体请求的任务。然而,当口头话语被分类为歧义请求时,动态规程232和/或多设备状况信息224能够用于确定用户意图调用的目标客户端设备。

例如,动态规程232中的一个动态规程能够指示当特定用户提供“Assistant,stop”的歧义口头话语时要执行的操作。具体地,动态规程能够指示当多设备状况信息224指示媒体正在从电视播放并且告警在分离的助理设备处响起时,歧义口头话语应该使告警停止。附加地或替换地,动态规程232中的另一动态规程能够指示当在提供了“Assistant,play a movie”的歧义口头话语时检测到孩子的话音签名时要怎么做。具体地,另一动态规程能够指示当多设备状况信息224指示当电影已经在起居室电视处播放并且孩子正在请求播放电影时,歧义口头话语应该使电影开始在卧室(例如,孩子的卧室)中播放。以这种方式,来自孩子的歧义请求不会中断已经在起居室中播放的电影。这能够保留起居室电视处的计算资源,因为起居室电视不会无意地丢失专用于正在播放的当前电影的任何高速缓存的数据,或者消耗无意地下载由孩子请求的电影的网络带宽。

能够在远程计算设备208和/或与远程计算设备208通信的每个客户端设备202处生成动态规程232。能够将动态规程232认为是“动态的”,因为能够根据与自动助理接涉的每个用户的偏好和/或习惯来修改和/或新生成它们。例如,响应于自动助理使得响应于初始口头话语而执行非意图的动作,能够在用户提供纠正性口头话语时确定用户的偏好。初始口头话语可以为例如“Assistant,turn down(助理,调低)”,其能够由用户当该用户在正在其助理设备上听音乐的同时正在其手机上参与电话谈话时提供。非意图的动作可以是自动助理使来自电话呼叫的音频在音量上降低。

当用户提供诸如“No,turn down the music(不,调低音乐)”的纠正性口头话语时,自动助理能够使来自电话呼叫的音频返回到其原始设置并且使音乐的音量调低。附加地,响应于接收到口头话语,自动助理能够使新的或修改的动态规程被生成并且可被自动助理访问。动态规程能够指示当用户在正从助理设备播放音乐的同时正在其手机上参与电话呼叫并且用户提供请求“turn down(调低)”时,应该调低音乐而不是电话呼叫。此动态规程能够取决于蜂窝电话处和助理设备处的当前状况信息240,其将指示正在同时地发生电话呼叫并且正在播放音乐。因此,如果用户在不在同时地发生那些特定正在进行的动作(从而指示不同的场境)时提供口头话语“Assistant,turn down”,则动态规程232可能影响自动助理做不同的事情。

在一些实现方式中,能够将动态规程232体现为能够被自动助理访问的一个或多个表。该表能够包括识别请求和/或动作的列以及识别特定设备的操作状况的行。与相应的行和相应的列相对应的值能够指示分数,该分数能够用于识别请求应该影响的设备。例如,能够在一行中识别要“停止”的请求,第一列能够识别正在助理设备处发出告警,而第二列能够指示正在电视处播放电影。取决于表对应于的特定用户,表能够在第一列提供比第二列更高的分数或相对更有价值的度量,从而当用户在对应场境下提供“停止”请求时,使助理设备优于电视受影响。

在一些实现方式中,一个或多个动态规程能够基于一个或多个机器学习模型。机器学习模型能够操作来接收与特定口头话语和/或一个或多个客户端设备相关联的场境数据作为输入,并且提供对应该实现对口头话语的响应的设备和/或动作的指示作为输出。能够使用表征用户在其中提供了纠正性口头话语的先前实例的训练数据来训练机器学习模型。附加地或替换地,能够使用表征在没有随后接收的纠正性口头话语的情况下在给定场境中执行了动作的先前实例的训练数据来训练机器学习模型。

图3A和图3B图示用于选择将确定将对特定口头话语做出响应的目标客户端设备的服务器的系统图。具体地,图3A图示用于裁决用于选择要对由一个或多个用户提供并由一个或多个本地设备确认的特定口头话语做出响应的特定本地设备的决定的系统300。在确认口头话语之前,和/或响应于接收到口头话语,第一本地设备336、第二本地设备338和第N本地设备340中的每一个均能够向相应的服务器设备提供状况信息。能够将状况320提供给第一服务器设备302,能够将状况322提供给第二服务器设备304,并且能够将状况324提供给第N服务器设备306,其中“N”是任何正整数。每个服务器设备能够分别存储状况信息314、状况信息316和状况信息318,并且使用所存储的状况信息来指定用于对特定口头话语做出响应的特定本地设备。

在一些实现方式中,能够将本地设备中的每一个设置在一位置(例如,用户的家)周围并且这些本地设备中的一个或多个能够与一个或多个与其他本地设备不同的账户相关联。结果,该位置内的本地设备可以与不同的服务器设备进行通信。服务器设备能够裁决对要在给定场境内和/或根据提供给服务器设备的状况对特定口头话语做出响应的特定本地设备的选择。以这种方式,能够减轻在提供口头话语与从特定本地设备接收响应之间的时延。

图3B图示每个服务器设备共享与提供状况信息的特定本地设备有关的状况信息的系统图326。具体地,第一服务器设备302能够与第二服务器设备304和第N服务器设备306共享关于第一本地设备336的状况信息。第二服务器设备304能够与第一服务器设备302和第N服务器设备306共享状况信息,而第N服务器设备306能够与第一服务器设备302和第二服务器设备304共享状况信息。服务器设备能够知道它们与相同位置内的本地设备通信和/或连接到公共网络,从而使得每个服务器设备能够给其他服务器设备提供状况信息。在一些实现方式中,客户端设备能够发送关于连接到客户端设备的另一客户端设备的状况信息。以这种方式,客户端设备能够传送可能未被配备成通过网络向服务器设备发送状况信息而是能够以其他方式连接到客户端设备和/或与客户端设备共享数据的其他设备的状况信息。每个服务器设备然后能够在所有本地设备正在根据其状况信息来操作的同时预测可能接收到的特定用户的特定口头话语和/或请求。例如,每个服务器设备能够预测,当正在第一本地设备336处播放电影并且电话呼叫当前在第二本地设备338处正在进行时,用户334可以提供诸如“Assistant,pause”的口头话语。给定前述场境,每个服务器设备也能够确定当用户334提供口头话语“Assistant,pause”时用户334意图影响哪一个设备。

每个服务器设备能够包括相应的设备选择引擎308、310或312,以用于根据接收到的状况信息240来确定用户意图影响哪一个设备。在一些实现方式中,设备选择引擎能够基于以下各项确定目标本地设备:用户相对于一个或多个本地设备的位置、用户的话音特性、与位置相关联的占用数据、位置内的一个或多个本地设备的操作状况、一个或多个受信设备(例如,手表、手机等)与特定本地设备的接近性、在本地设备处操作的一个或多个应用的操作状况和/或能够与本地设备相关联的任何其他信息。如果服务器设备中的一个或多个确定第一本地设备336应该响应于口头话语,则能够将从第一本地设备336接收到状况320的第一服务器设备302指派来处理在当前场境期间接收到的任何口头话语。在一些实现方式中,能够将第一服务器设备302指派来仅处理歧义请求,并且能够在与用户334指明了的本地设备相对应的无论哪一个服务器设备中处理任何具体请求。

例如,当用户在正在第一本地设备336处播放电影并且电话呼叫在第二本地设备338处正在进行的同时提供口头话语“Assistant,pause”时,该口头话语能够被多个本地设备确认。然而,因为服务器设备已经裁决了哪一个本地设备和/或哪一个服务器设备将处置歧义请求的决定,所以口头话语最终将由第一服务器设备302处理,并且第一本地设备336将提供对口头话语的响应(例如,“Ok,I will pause the movie。(好的,我将暂停电影。)”)。

在一些实现方式中,当特定服务器设备正在试图缩小对用于对口头话语做出响应的本地设备的选择时可能发生平局。能够基于由用户为本地设备和/或要从中选择的一个或多个剩余设备中的每一个建立的设备名称来解决平局。例如,如果在用于对特定口头话语做出响应的两个本地设备之间存在平局,并且两个本地设备中的一个本地设备具有包括单词“favorite(特别喜欢的)”的用户创建的名称,则该一个本地设备能够优于其他本地设备被选择用于对特定口头话语做出响应。附加地或替换地,能够根据用户习惯来解决平局,该用户习惯指示用户历史上已优选在平局时涉及的本地设备中的一个用于执行与平局相对应的请求。因此,这种识别的偏好能够有利于优选设备“倾斜”平局的平衡。附加地或替换地,能够通过比较多个本地设备的特征以识别最适合于或被配备用于对引起了平局的口头话语做出响应的本地设备来解决多个本地设备之间的平局。例如,如果用户已要求播放音乐(例如,“Assistant,play music。”),并且服务器设备已将对要播放音乐的本地设备的选择缩小到两个独立扬声器设备,则服务器设备能够选择最适合于播放音乐的本地设备。具体地,服务器设备能够选择具有最多的扬声器、位于用户的家的具有更好音响效果的一部分中并且/或者具有可用于流送音乐的更多网络和/或处理带宽的本地设备。

附加地或替换地,两个本地设备之间的平局能够基于如由两个本地设备中的每一个所确定的口头话语的响度。因此,如果两个本地设备中的一个本地设备以比两个本地设备中的另一本地设备更大声的音量听到了用户,则能够选择最大声听到了用户的本地设备。应该注意,能够将用于解决平局的任何信息提供给服务器设备以解决平局。例如,响应于多个本地设备确认口头话语,本地设备中的每一个均能够确定本地设备听到了用户的响度测量结果(例如,以分贝为单位)并且将该响度测量结果提供给服务器设备,以用于允许服务器设备解决潜在平局的目的。类似地,在本地执行对用于对口头话语做出响应的本地设备的裁决或选择的实现方式中,用于解决平局的信息能够由每个本地设备与其他本地设备或至少作为平局的主体的那些本地设备共享。在一些实现方式中,取决于正在解决平局的地方,能够将故意的延迟编程到用于解决平局的过程中以便确保已在一个或多个服务器设备或一个或多个本地设备处接收到所有平局打破信息。

图4A和图4B图示允许在本地执行对用于对来自用户的口头话语做出响应的客户端设备的选择的裁决的实现方式。在一些实现方式中,对目标客户端设备的选择的裁决能够基于用户相对于特定位置438内的其他客户端设备的位置。附加地或替换地,对目标客户端设备的选择的裁决能够基于正在提供口头话语的用户。裁决能够至少部分地在由一个或多个客户端设备接收到口头话语之前进行,以便减轻可能以其他方式在当用户完成提供口头话语时与特定客户端设备对口头话语做出响应之间显现出的时延量。

例如,在用户416提供口头话语之前,位置438内的每个客户端设备能够与位置438中的其他客户端设备共享其相应的状况信息440(以及任选地与连接到相应的客户端设备的一个或多个设备相对应的状况信息)。状况信息440能够表征一个或多个设备和/或一个或多个应用的操作状况。例如,来自车辆414的状况信息440能够表征操作状况412,其能够包括“对车辆充电”和正在“停车”。附加地,来自助理设备418的状况信息440能够表征操作状况426,其能够包括由用户416保持“空闲”并跟踪“提醒设置”。附加地,助理设备442能够提供表征另一用户的保持“idle”并跟踪“告警设置”的操作状况426的状况信息440,并且电视428能够提供表征保持“空闲”并提供“屏幕保护”的操作状况436的状况信息440。

每个客户端设备(即,车辆414、助理设备418、助理设备442、电视428)能够基于任何接收到的状况信息440来确定分数或度量,以便当口头话语由客户端设备中的一个或多个接收到时裁决对目标设备的选择。附加地或替换地,场境数据能够由每个客户端设备单独地生成以便表征在其中提供了口头话语的相对场境。例如,响应于至少一个客户端设备接收到口头话语,客户端设备能够经由局域网(例如,Wi-Fi网络)向其他客户端设备传递用户提供口头话语。其他客户端设备中的每一个均能够确定每个客户端设备听到了口头话语的音量(例如,以分贝为单位)。每个单独的音量能够与状况信息相结合地使用以确定每个客户端设备的相应的分数,或每个客户端设备相对于多个客户端设备的排位的排名。能够将由每个客户端设备确定的每个分数或排名传送到网络上的所有其他客户端设备,以便每个客户端设备能够确定它们的分数是否与最高分数相对应。与最高分数相对应的客户端设备然后能够被指定为“目标”客户端设备,并且相应地对口头话语做出响应。在一些实现方式中,目标客户端设备能够向其他非目标客户端设备传送指示它是优于其他非目标客户端设备所指定的目标客户端设备的数据。响应于每个客户端设备确定它们不是所指定的目标客户端设备,每个客户端设备能够退出唤醒模式,挂起其麦克风的活动,并且/或者以其他方式减少已响应于接收到口头话语而增加的采样或处理量。

在一些实现方式中,如果客户端设备在该客户端设备接收到口头话语之前接收到与特定口头话语相对应的数据,则该客户端设备能够将它本身指定为未被作为目标,并且可选地删除所接收到的数据。附加地或替换地,如果与特定口头话语相对应的数据在口头话语到达客户端设备的阈值时间段(例如,100ms、1s和/或任何其他合适的时间段)内或外在客户端设备处被接收到,则该客户端设备能够将它本身指定为候选目标客户端设备或者将它本身指定为未被作为目标。以这种方式,每个设备能够从被认为是候选目标设备中退出以便保留计算资源和网络带宽,这些计算资源和网络带宽否则将被消耗来裁决在客户端设备的较大池当中选择目标客户端设备。如果特定设备在接收到数据之后仍然是候选目标设备,则该特定设备能够确定它自己的分数,将该分数与从其他客户端设备接收到的其他分数进行比较,任选地确定是否已发生平局并且识别用于解决平局的信息,然后退出或将它本身指定为目标计算设备。在一些实现方式中,所传送的“数据”能够包括分数、与发送方客户端设备相关联的场境数据、发送方客户端设备相对于其他客户端设备的平局和/或能够在裁决对客户端设备的选择时使用的任何其他信息。

在一些实现方式中,如果在响应于接收到口头话语而唤醒时,特定客户端设备(例如,助理设备418)未从其他客户端设备(即,车辆414、助理设备418、助理设备442、电视428)接收到有关口头话语的数据,则该特定客户端设备能够将它本身指定为用于对口头话语做出响应的目标客户端设备。可选地,特定客户端设备也能够向其他客户端设备发送表征能由另一客户端设备使用的平局打破信息的数据,如果其他客户端设备中的一个也将本身指定为目标客户端设备从而创建平局。在一些实现方式中,客户端设备能够向其他客户端设备发送与基于与客户端设备通信的远程客户端设备的特点和/或操作参数的场境数据相对应的数据。当客户端设备确定远程客户端设备的分数或排名与其他客户端设备的其他分数或其他排名区分开时,客户端设备能够将远程客户端设备指定为目标客户端设备。换句话说,客户端设备能够确定它本身和与该客户端设备通信的任何其他设备的分数或排名,即使该其他设备未与作为用于对口头话语做出响应的候选的任何其他客户端设备通信。应该注意,远程客户端设备可以为连接到客户端设备的装置,诸如支持蓝牙的设备、显示面板、独立扬声器设备、外围设备和/或能够与计算机(例如,客户端设备)连接的任何其他装置。

在一些实现方式中,从每个客户端设备提供的状况信息440能够包括表征用户距相应的客户端设备的距离的信息。能够在来自用户416的许可下使用可被每个客户端设备访问的一个或多个传感器来确定距离。附加地或替换地,与存储的指示房间的相邻性和/或位置438内的设备的位置的拓扑相比,能够使用口头话语的话音特性来确定距离。在一些实现方式中,距离能够基于受信设备的确定位置,该受信设备通常由用户416携带并且因此可以“受任”以在来自用户416的许可下提供用户416的位置。例如,电视自动助理430能够确定由用户416穿戴的智能手表在10英尺远处,并且将该距离测量结果体现在被提供给其他客户端设备的状况信息440中。在一些实现方式中,每个设备能够至少部分地基于它们距用户的相应距离相对于其他客户端设备相对于用户416的其他距离的比较来确定它们相应的分数。以这种方式,定位在距客户端设备中的一个或多个和/或用户416的阈值距离外部或内部的相应的客户端设备分别能够将它本身指定为未被作为目标或被作为目标。

在一些实现方式中,对用于对特定口头话语做出响应的目标客户端设备的选择的裁决可以是关于正在做出的请求和/或用户意图客户端设备执行的动作无关的。附加地或替换地,对目标客户端设备的选择的裁决可以为音量无关的,因此能够基于不包括客户端设备听到了用户的音量的信息。附加地或替换地,对目标客户端设备的选择的裁决能够基于至少一个客户端设备听到了用户的音量以及已在其中提供了口头话语的场境的至少一个音量无关特性。在一些实现方式中,为了确保客户端设备仅对用户而不是另一客户端设备做出响应,客户端设备的输入处理引擎能够被配备有话音辨识特征,该话音辨识特征允许客户端设备在其他客户端正在对口头话语做出响应时不起反应。

在一些实现方式中,当每个客户端设备已共享了其相应的状况信息440(如图400中所图示的)时,用户416能够随后提供口头话语450(如图402中所图示的)。能够在接收到口头话语之前、期间或之后执行对将对口头话语做出响应的目标客户端设备的选择的裁决。例如,裁决能够导致助理设备442由于一天中的时间(例如,超过10PM)并且助理设备442的操作状况426指示助理设备442是空闲的并且具有告警设置而具有最小分数。因此,助理设备442能够假定因为某人可能正在助理设备442所位于的房间中睡觉,所以助理设备442不应该具有最高分数以便对任何话语做出响应。例如,如果用户416提供“Assistant,playmusic”的口头话语450,则作为在本地客户端设备之间共享的状况信息的结果,助理设备442将根据任何本地裁决被排名最后。

在一些实现方式中,一个或多个机器学习模型能够由客户端设备中的一个或多个采用以便确定每个相应的客户端设备的分数,和/或以其他方式确定将对口头话语做出响应的目标客户端设备。由客户端设备使用来确定分数的机器学习模型能够使用由一个或多个其他客户端设备提供的状况信息440的先前实例作为训练数据。由其他客户端设备提供的状况信息440在一定量的训练之后能够被用作机器学习模型的输入和/或由机器学习模型产生的函数,以便识别目标客户端设备和/或相应的客户端设备的分数。也能够将其他场境数据作为输入提供给机器学习模型,这些其他场境数据诸如但不限于一个或多个用户的话音特性、与位置438相关联的占用数据、与位置438相对应的房间相邻性数据、当前时间、当前日期、由一个或多个客户端设备执行的先前动作、预期在一个或多个客户端设备处执行的一个或多个动作、可被客户端设备访问的存储的日历、其他远程设备相对于客户端设备的位置和/或可能适合于作为输入提供给机器学习模型的其他任何信息。

图5A和图5B图示用于响应于在多个客户端设备处接收到的口头话语而修改由客户端设备正在执行的正在进行的动作的方法500和方法512。方法500和方法512能够由一个或多个计算设备、服务器设备、应用和/或能够与自动助理交互的任何其他装置或模块来执行。方法500能够经由每个在图5A和图5B中圈出的连续元素“A”和“B”继续到方法512。方法500能够包括接收音频数据的操作502,该音频数据捕获来自用户并体现对自动助理执行动作的请求的口头话语。例如,口头话语可以为“Assistant,stop”,并且口头话语能够被用户的家内的多个客户端设备听到。用户可能意图口头话语仅影响单个动作,因此必须使用一过程来识别用户意图影响的特定客户端设备和/或动作。能够在一个或多个服务器设备和/或一个或多个客户端设备处执行该过程。

方法500能够进一步包括确定由用户经由口头话语请求的修改能够修改由多个客户端设备正在执行的多个正在进行的动作中的一个正在进行的动作的操作504。具体地,能够将音频数据转换成文本,然后解析该文本以识别该文本的与请求相对应的一部分。例如,口头话语的调用短语部分可以为“Assistant(助理)”并且口头话语的请求部分可以为“stop(停止)”。调用短语部分能够使多个客户端设备将其相应的麦克风的操作状态修改成处于唤醒状态,以便捕获与口头话语的剩余部分相对应的音频数据。当口头话语的请求部分已被识别时,能够做出关于请求是否与要修改正在进行的动作的请求相对应的确定。

方法500能够进一步包括确定请求是否特别说定用以执行该请求和/或动作的设备的操作506。换句话说,操作506能够包括关于要修改的动作或将对动作执行修改的设备确定请求是具体的还是歧义的。如果请求关于要修改的动作和/或将执行动作修改的设备是具体的,则方法500能够经由连续元素“A”从操作506处的方法500进行到操作510处的方法512。如果请求关于要修改的动作和/或将执行该动作的设备是歧义的,则方法500能够进行到操作508。

操作508能够包括识别与正在进行的动作的修改相对应的存储的规程。能够至少基于从音频数据中解析以便识别请求的文本中来识别所存储的规程。一个或多个规程能够与请求相关联,并且能够根据一个或多个用户的经学习的偏好来生成每个规程。例如,所识别的规程能够识别前述请求“stop”,并且取决于可用场境数据而指示应该受到请求影响的一个或多个动作。例如,场境数据能够指示用户在其中提供了请求“stop”的位置内的一个或多个设备的操作状况,并且规程能够基于那些特定操作状况来指出能够使得特定操作被修改的自动助理。

方法500可以从操作508进行到操作514,如由连续元素“B”所指示的。操作514能够包括访问与所存储的规程相关联的场境数据。场境数据能够识别和/或表征:在提供了口头话语的家中的设备的类型、家中的设备的特点和/或功能能力、暂时存在于家内或者以其他方式往往跟随用户的设备(例如,手表、手机等)、家中的一个或多个设备或连接到家中的设备的其他设备的操作状态、由一个或多个设备正在访问的媒体、由一个或多个设备正在执行的动作(例如,电话呼叫、定时器倒计时)、一个或多个设备的将来操作状况、一个或多个设备的预期或预测操作状态、一个或多个设备已在其相应的操作状况中的每种操作状态下多长时间、一个或多个设备预期或预测在其相应的操作状态中的每种操作状态下多长时间和/或能够与装置或应用相关联的任何其他性质或特征。例如,场境数据能够指示用户的家包括正在发出告警的助理设备、正在播放电影的电视和正在接收电话呼叫的手机。

方法512能够进一步包括基于场境数据和所存储的规程来确定用于经由自动助理执行动作的目标计算设备的操作516。例如,所存储的规程能够指示当用户提供包括“stop”请求的歧义口头话语并且任何设备正在发出告警时,应该在行动的设备处停止告警动作。以这种方式,不管非告警发出设备比家中的任何其他设备更大声听到了来自用户的歧义请求,歧义请求都将仅影响告警发出设备。以这种方式,此相应的存储的规程能够包括用于修改正在进行的动作的至少一个音量无关条件。

方法512也能够包括经由自动助理(或不经由自动助理)使目标计算设备执行动作(或修改正在进行的动作)的操作518。例如,响应于将场境数据与所识别的存储的规程进行比较,自动助理能够确定由一个或多个设备正在发出的告警是要根据来自用户的请求修改的目标动作。自动助理然后能够基于哪些设备正在发出告警来识别作为目标的一个或多个设备。如果仅有在单个设备处发出的单个告警,则自动助理能够将该单个设备指定为目标设备,并且使得根据来自用户的请求停止告警。

图6图示用于从多个客户端设备中选择用于处理状况信息的同位服务器设备集群并且基于处理状况信息的结果来选择用于执行动作的目标客户端设备的方法600。方法600能够由一个或多个计算设备、服务器设备、应用和/或能够与自动助理交互的任何其他装置或模块执行。

方法600能够包括从与用户相关联的多个客户端设备接收状况信息的操作602。状况信息能够指示至少一个客户端设备正在执行正在进行的动作。多个客户端设备能够放置在诸如用户的家的位置周围,并且能够包括通过局域网和/或一个或多个其他连接——诸如通过近场通信——连接的设备。状况信息能够由多个客户端设备周期性地提供,以便状况信息能够由任何接收服务器设备更容易地处理,与在发送状况信息之前等待用户做出请求相反。

方法600能够进一步包括选择用于处理状况信息的指定的同位服务器设备集群的操作604。能够从分别位于多个不同的地理区域中的多个不同的同位服务器设备集群中选择指定的同位服务器设备集群。在一些实现方式中,能够基于状况信息指示与一个或多个用户设备相关联的一个或多个用户账户被预测为经受来自用户的请求来选择指定的同位服务器设备集群。对同位服务器设备集群的选择能够基于使用机器学习模型和/或以其他方式使用状况信息作为输入并提供对同位服务器设备集群的选择作为输出的函数来处理状况信息。

方法600也能够包括确定在多个客户端设备中的客户端设备的自动助理接口处接收到来自用户的口头话语的操作606。用户可能正在请求初始化、修改、停止特定动作和/或请求向用户提供特定信息。然而,请求关于用户意图从其提供响应的设备可以是歧义的。例如,用户可能已提供了对来自自动助理的信息的请求,并且能够在多个客户端设备处接收包括请求的口头话语。因此,自动助理应该确定从其对用户做出响应的合适的设备。

方法600能够进一步包括响应于确定接收到口头话语而使音频数据被提供给指定的同位服务器设备集群的操作608。音频数据能够由确认和/或听到了来自用户的口头话语的多个客户端设备中的至少一个客户端设备提供。在一些实现方式中,多个客户端设备能够执行本地裁决以选择将被指定用于将音频数据提供给指定的同位服务器设备集群的客户端设备。裁决能够包括例如使多个客户端设备中的每个客户端设备彼此共享响度度量。响度度量能够表征特定客户端设备听到了口头话语的响度。确定与多个客户端设备中的其他客户端设备相比他们最大声听到了口头话语的设备然后能够将所接收到的音频数据传送到指定的同位服务器设备集群。在一些实现方式中,能够指定确定它相对于其他客户端设备最接近于用户的客户端设备以将音频数据传送到同位服务器设备集群。在其他实现方式中,能够基于本文讨论的场境数据和/或一个或多个动态规程来确定被指定要将音频数据提供给同位服务器设备集群的客户端设备。在一些实现方式中,能够基于哪一个客户端设备首先确认了接收到口头话语来确定被指定要将音频数据提供给同位服务器设备集群的客户端设备。能够基于在客户端设备之间传送的指示每个设备听到了口头话语的时间的时间戳来做出确定,因此客户端设备中的每一个均能够单独地确定他们是否首先听到了口头话语。

方法600也能够包括使指定同位服务器设备集群识别多个客户端设备中的用于执行动作的指定客户端设备的操作610。用于执行动作的指定客户端设备能够由指定的同位服务器设备集群来识别。在一些实现方式中,指定的同位服务器设备集群能够基于处理场境数据来选择用于执行动作的指定客户端设备,该场境数据包括但不限于状况信息以及可被指定的同位服务器设备集群访问的动态规程。以这种方式,不是多个同位服务器设备集群处理相同的信息,从而浪费计算和网络资源,而是能够指定单个同位服务器设备集群用于处理这种信息。此外,这能够减少当用户提供口头话语,该口头话语然后由可以与不同的主账户相关联的多个启用助理的设备接收,因此与不同的服务器进行通信时否则可能发生的时延。

方法600能够进一步包括使指定的客户端设备执行由用户请求的动作的操作612。基于指定的同位服务器设备集群的指向指定的客户端设备和/或与指定客户端设备一起共位于一位置处的其他客户端设备的输出,能够使指定的客户端设备执行动作。在一些实现方式中,如果指定的同位服务器设备集群识别两个或更多个候选客户端设备之间的平局以执行动作,则指定的同位服务器设备集群能够访问和/或接收相关以用于与像本文所讨论的那样解决平局的信息。

图7是示例计算机系统710的框图。计算机系统710通常包括经由总线子系统712与许多外围设备进行通信的至少一个处理器714。这些外围设备可以包括存储子系统724,包括例如存储器725和文件存储子系统726、用户接口输出设备720、用户接口输入设备722和网络接口子系统716。输入和输出设备允许用户与计算机系统710交互。网络接口子系统616提供到外部网络的接口并且耦合到其它计算机系统中的对应接口设备。

用户接口输入设备722可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的指点设备、扫描仪、并入到显示器中的触摸屏、诸如话音辨识系统的音频输入设备、麦克风和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入到计算机系统710或到通信网络上的所有可能类型的设备和方式。

用户接口输出设备720可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的某种其它机制。显示子系统也可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括用于从计算机系统710向用户或另一机器或计算机系统输出信息的所有可能类型的设备和方式。

存储子系统724存储提供本文描述的模块中的一些或全部的功能性的程序和数据构造。例如,存储子系统724可以包括用于执行方法500、方法512、方法600的所选方面并且/或者实现以下各项中的一个或多个的逻辑:自动助理、助理设备104、助理设备118、电视128、车辆自动助理106、客户端自动助理120、电视自动助理130、客户端设备202、远程计算设备208、服务器设备、本地设备、客户端设备和/或此处讨论的任何其他装置或模块。

这些软件模块通常由处理器714单独或与其它处理器相结合地执行。存储子系统724中使用的存储器725能够包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)730和其中存储有固定指令的只读存储器(ROM)732。文件存储子系统726能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实现某些实现方式的功能性的模块可以由文件存储子系统726存储在存储子系统724中,或者存储在可由处理器714访问的其它机器中。

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

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

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

虽然已在本文中描述并图示若干实现方式,但是可以利用用于执行功能和/或获得结果的各种其它手段和/或结构和/或本文描述的优点中的一个或多个,并且此类变化和/或修改中的每一个均被视为在本文描述的实现方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置都意在为示例性的,并且实际的参数、尺寸、材料和/或配置将取决于这些教导被用于的一个或多个具体应用。本领域的技术人员将认识到或能够使用不止例行试验来探知本文描述的具体实现方式的许多等同物。因此,应当理解,前面的实现方式仅作为示例被给出,并且在所附权利要求及其等同物的范围内,可以以不同于具体地描述和要求保护的方式实践实现方式。本公开的实现方式针对本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。另外,两个或更多个此类特征、系统、物品、材料、套件和/或方法的任何组合在此类特征、系统、物品、材料、套件和/或方法不是相互不一致的情况下,被包括在本公开的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号