首页> 中国专利> 根据用户和自动化助理界面之间的距离来生成和/或适应自动化助理内容

根据用户和自动化助理界面之间的距离来生成和/或适应自动化助理内容

摘要

提供了用于根据用户相对于渲染自动化助理内容的自动化助理界面的距离来生成和/或适应自动化助理内容的方法、装置、系统和计算机可读介质。例如,自动化助理可以提供供客户端设备渲染的数据。当用户重新定位到离客户端设备更近或更远时,客户端设备可以请求附加数据。在一些实施方式中,对附加数据的请求可以标识用户与客户端设备之间的距离。这样,可以根据请求中的距离生成或选择附加数据。其他实施方式可以允许自动化助理从环境中的一组用户中确定活动用户,并且确定活动用户与客户端设备之间的距离,以便可以为活动用户定制任何渲染的内容。

著录项

  • 公开/公告号CN112204500A

    专利类型发明专利

  • 公开/公告日2021-01-08

    原文格式PDF

  • 申请/专利权人 谷歌有限责任公司;

    申请/专利号CN201880094151.4

  • 申请日2018-05-04

  • 分类号G06F3/01(20060101);G06F3/03(20060101);G06F9/451(20060101);

  • 代理机构11219 中原信达知识产权代理有限责任公司;

  • 代理人李宝泉;任庆威

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 09:29:07

说明书

背景技术

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

发明内容

申请人已经认识到,当自动化助理正使用户界面输出被渲染以呈现给用户时(例如,响应于来自用户的请求),通常渲染用户界面输出而与用户相对于渲染内容的用户界面输出设备的距离无关。结果,用户可能无法从他/她当前的位置感知用户界面输出(例如,所显示的输出可能太小和/或可听的输出音量可能太低)。这可能使用户需要重新定位并且提供请求再次渲染输出的用户界面输入。处理这样的用户界面输入和/或再次渲染内容可能导致过度消耗计算资源和/或网络资源。此外,对于灵活性低的用户,他们可能难以重新定位到可以感知用户界面输入的位置。附加地或可替代地,作为与用户的距离无关地渲染输出的结果,可以以比所需的计算成本更高的方式来渲染来自自动化助理的用户界面输出。例如,可以以比所需更高的音量渲染可听输出和/或在比经由单帧显示多个帧的内容更长的持续时间内,经由多个帧显示所显示的输出。

此外,申请人已经认识到,当正在渲染用户界面输出时,用户可能会重新定位,从而潜在地中断了用户感知来自自动化助理的进一步输出的能力。此外,当自动化助理正使特定的客户端设备提供输出并且用户移近客户端设备时,由于用户靠近客户端设备的特定接口,因此用户可能希望感知更多的输出。但是,由于许多自动化助理通常不了解用户距离,因此它们可能导致计算资源浪费被浪费在用户可能无法感知的渲染输出上。此外,考虑到用户可以感知输出的方式的数量,当渲染输出不适合附近的用户时,可能无法有效地利用计算资源。

本文公开的实施方式涉及用于根据至少一个用户相对于渲染自动化助理内容的自动化助理界面的距离来生成和/或适应自动化助理内容的方法、装置和计算机可读介质(暂时性和非暂时性)。根据至少一个用户的距离生成自动化助理内容的一些实施方式基于生成包括基于当前确定的用户距离的距离度量的代理请求而生成内容。可以基于来自一个或多个传感器,诸如视觉传感器(例如,单镜头相机、立体相机)、专用距离传感器(例如,激光测距仪)、麦克风(例如,使用波束成形和/或其他技术)的信号来确定用户的当前距离。此外,将代理请求提交给相应的代理,并且相应的代理利用适合于距离度量的代理数据来响应该代理请求。然后,自动化助理可以将代理数据(或其转换)作为用于渲染的内容提供给用户。由于内容适合于该距离度量,并且易于由用户在他/她当前的距离感知,因此可以改善用户与自动化助理的交互。此外,代理数据可以是可用于该请求的候选代理数据的子集,其中,基于该子集与代理请求的距离度量的一致性,由代理选择该子集。以这些和其他方式,代替全部候选代理数据(这将需要更大的网络资源来发送),代理仅提供候选代理数据的子集。此外,代替全部候选代理数据(或其转换),渲染内容的自动化助理客户端设备可以仅接收代理数据的子集(或其转换)。适合于距离度量的内容的特定性质可以确保有效使用在运行自动化助理的计算装置(诸如用户设备)处的计算资源和其他硬件资源。这至少是因为避免了实现用户无法感知的助理的潜在的高计算成本的能力。例如,可以节省网络资源(例如,仅将子集发送到客户端设备)、客户端设备处的存储器资源(例如,仅在客户端设备处缓存子集)和/或客户端设备处的处理器和/或功率资源(例如,仅渲染部分或全部子集)。

作为根据用户的距离生成自动化助理内容的一个非限制性示例,假设用户距具有助理界面的客户端设备的显示器7英尺远。进一步假设用户提供“本地天气预报”的口头话语。可以基于来自客户端设备的传感器和/或邻近客户端设备的其他传感器的信号来确定用户的估计距离。可以处理口头话语以生成代理请求(例如,指定“天气预报”的意图和与客户端设备的位置相对应的位置值),以及基于用户的估计距离的距离度量可以被包括在代理请求中。代理请求可以被发送到相应的代理,并且作为响应,相应的代理可以返回仅包括用于该位置的三日天气预报的图形表示的图形内容。三日天气预报的图形表示可以被发送到客户端设备,并且经由客户端设备的显示器被图形地渲染。相应的代理可以基于距离度量与三日天气预报的图形表示的对应关系来选择三日天气预报的图形表示(例如,代替一日、五日或其他各种天气预报)。

作为该示例的变体,代替地假设用户距离显示器二十英尺,并且提供相同的“本地天气预报”的口头话语。在这样的变体中,代理请求中包括的距离度量将反映二十英尺距离的估计(而不是七英尺距离的估计),结果,响应于该请求由代理返回的内容可以包括传达用于该位置的三日天气预报的文本或可听内容,以及可以排除任何图形内容。可以将可听内容(或文本内容或作为文本内容的文本到语音转换的音频)发送到客户端设备,以经由客户端设备的扬声器可听地渲染,无需可视地渲染任何天气相关的图形内容。相应的代理可以基于距离度量与三日文本或听觉天气预报的对应关系来选择三日文本或听觉天气预报(例如,代替天气预报的图形表示)。

作为该示例的又一变体,代替地假设用户距离显示器十二英尺,并且提供相同的“本地天气预报”的口头话语。在这样的另一变体中,代理请求中包括的距离度量将反映十二英尺距离的估计,结果,响应于该请求而由代理返回的内容可以包括传达用于该位置的三日天气预报的文本或听觉内容-还可以包括仅传达用于该位置的一日(即,当天)预报的图形内容。可以将可听内容(或文本内容或作为文本内容的文本到语音转换的音频)发送到客户端设备,以经由客户端设备的扬声器可听地渲染,以及还可以发送一日天气图形内容,以经由客户端设备的显示器图形地渲染。同样,相应的代理可以基于距离度量与返回的内容的对应关系来选择返回的内容。

在一些实施方式中,可以根据用户的距离附加地或可替代地适应由客户端设备渲染的自动化助理内容。例如,当自动化助理正在执行特定的自动化助理动作时,自动化助理可以在渲染候选自动化助理内容的不同子集(诸如本地可用于渲染内容的客户端设备的候选自动化助理内容(例如,存储在客户端设备的本地存储器中的候选自动化助理内容)的子集)之间“切换”。自动化助理可以使用给定时间的距离度量,以便选择要用于在给定时间,在客户端设备处渲染的候选自动化助理内容的子集。可以响应于远程设备接收到与自动化助理动作相关联的请求,将候选自动化助理内容例如从远程设备提供给客户端设备。所提供的内容可以对应于可以由客户端设备针对用户的多个不同位置和/或距离来适配的自动化助理内容。以这种方式,只要用户根据相应的位置和/或距离操纵,自动化助理就可以使得自动化助理内容的渲染或呈现根据用户位置和/或用户距离的变化而适配。当用户移动到与渲染的内容的任何合适的适配都不对应的地点和/或位置(和/或移动到该地点和/或位置附近)时,自动化助理可以使客户端设备请求用于该地点和/或位置的附加自动化助理内容。然后,可以使用该附加自动化助理内容来在客户端设备处渲染更合适的内容。

作为示例,自动化助理可以执行包括多个不同动作的例程。自动化助理可以响应于用户命令(例如,口头话语、轻击用户界面元素)和/或响应于一个或多个条件的发生(例如,基于检测到用户的存在、基于处于某一时刻、基于用户关闭的唤醒闹钟)来执行例程。在一些实施方式中,例程的多个不同动作中的动作之一可以包括渲染与播客相对应的内容。可以使用在客户端设备处本地可用的数据来渲染内容,并且可以根据用户相对于客户端设备的距离来适配该内容。例如,当用户与客户端设备相距第一距离时,自动化助理可以使一部分可用数据渲染为限于可听内容的内容。此外,当用户移动到比第一距离短的第二距离时,自动化助理可以使渲染的内容被适配以包括视频内容和/或可以使可听内容以更高的音量渲染。例如,视频内容可以对应于采访的视频录像,由该视频录像导出音频内容。提供可听内容和视频内容的基础的数据可以响应于例程的初始化被(例如,通过远程自动化助理组件)发送到客户端设备,和/或(例如,根据指示用户优选自动下载这些内容的订阅数据或用户首选项,在自动化助理的指导下)在初始化例程之前,可以被客户端设备抢先下载。

以这些和其他方式,可以为用户地点和/或用户位置的变化而适配渲染的内容,而不必每次用户移动时都请求附加数据。这可以减少适配渲染内容的时延。如果用户移动到与本地可用数据不对应的地点或位置,则自动化助理可以使客户端设备生成对附加数据的请求和/或自动化助理可以生成对附加数据的请求。可选地,该请求可以包括基于距离度量的信息。当作为响应,客户端设备(例如,从托管播客数据的服务器)接收附加数据时,自动化助理可以使客户端设备使用附加数据并且基于距离数据来渲染内容。

在一些实施方式中,客户端设备可以在预期用户重新定位到与特定渲染内容相对应的位置的情况下抢先请求和/或缓冲内容。例如,客户端设备可以具有与当用户位于距客户端设备5到10英尺之间时相对应的本地可用数据。当用户位于客户端设备的5到10英尺内,但仍在向客户端设备移动时,客户端设备可以渲染本地可用数据并且抢先请求附加数据。附加数据可以对应于距客户端设备2到5英尺之间的距离,因此,当用户进入2到5之间的区域时,客户端设备可以渲染附加数据。当用户正移向或远离客户端设备时,这可以减少当在数据子集之间切换以进行渲染时的延迟。

作为示例,用户可以提供诸如“助理,播放我的歌曲”的口头话语。作为响应,客户端设备可以请求与各种距离相关的数据,并且基于所检测到的用户距客户端设备的距离,确定将基于所检测到的距离渲染的内容。例如,当用户距客户端设备20英尺远时,客户端设备可以渲染仅限于音频的内容,并且抢先加载预先配置为在用户距离小于20英尺但距离大于12英尺远时要渲染的专辑封面。在一些实施方式中,当用户移动到距离20到12英尺远之间的位置时,专辑封面可以代替客户端设备处的任何先前的图形内容(例如,歌词)。可替代地或附加地,当用户距离小于12英尺和6英尺远时,客户端设备可以使得渲染视频并且与正在渲染的任何音频同步。在一些实施方式中,渲染的视频可以基于如下的数据,该数据当用户距离20英尺远时本地不可用,而是响应于确定用户正在沿着朝向客户设备的轨迹移动,由客户端设备请求。这样,请求的数据将与作为渲染的音频数据的基础提供的数据互斥,并且渲染的视频将取代在用户到达距客户端设备12到6英尺之间的距离之前将要渲染的任何图形内容。更进一步,当用户距离小于6英尺远时,客户端设备可以继续使视频被渲染,但是可以进一步附加地可视渲染可触摸的媒体控件(例如,向后、暂停和/或向前交互控制元素),而这些控件在用户距离小于6英尺远之前不被渲染。

在一些实施方式中,多个用户可以处于由客户端设备通过访问自动化助理而共享的环境中。因此,确定距离度量可以取决于“活动”或以其他方式直接或间接地与自动化助理互动的至少一个用户。例如,可以采用与客户端设备通信的一个或多个传感器来检测用户是否是一群多个人中的活动用户。例如,可以处理由视觉传感器(例如,客户端设备的相机)的输出生成的数据,以基于例如活动用户的姿势、凝视和/或嘴部运动,从多个用户中确定活动用户。作为一个特定实例,可以基于被朝向客户端设备的用户的姿势和凝视,以及基于未朝向客户端设备的另一个用户的姿势和凝视,将单个用户确定为活动用户。在特定实例中,距离度量可以基于所确定的单个用户(其可以基于来自视觉传感器的输出和/或来自其他传感器的输出确定)的距离。作为另一个特定实例,可以基于朝向客户端设备的两个用户的姿势和凝视,将两个用户确定为活动用户。在这样的另一特定实例中,距离度量可以基于所确定的两个用户的距离(例如,两个距离的平均值)。

可替代地或附加地,可以使用波束成形、语音识别和/或其他技术来处理由换能器(例如,客户端设备的麦克风)的输出生成的可听数据,以识别多个用户中的活动用户。例如,可以使用波束成形来处理口头话语,以估计提供口头话语的用户的距离,并且提供口头话语的用户被视为活动用户,并且该估计距离被用作活动用户的距离。而且,例如,可以利用口头话语的语音识别来识别符合口头话语的用户简档,并且可以基于符合用户简档中的相应特征的活动用户的面部和/或其他特征来确定所捕获的图像中的活动用户。作为又一实例,可以使用波束成形来处理口头话语,以估计提供口头话语的用户的方向,并且基于活动用户处于所捕获的图像和/或其他传感器数据中的那一方向中来确定提供口头话语的活动用户。以这些和其他方式,可以识别客户端设备的环境中的多个用户中的活动用户,并且代替该环境中的其他用户,仅为该活动用户生成和/或适配内容。此后,这样的信息可以被用作为用户生成和/或适配内容的基础。在其他实施方式中,可以检测用于用户的语音签名或语音标识符(ID),并且可以结合来自相机的一个或多个图像来处理语音签名和/或语音ID,以识别用户的状态。例如,可以处理基于麦克风的输出收集的音频数据,以检测语音特性并将语音特性与自动化助理可访问的一个或多个简档进行比较。与语音特性最相关的简档可以被用于确定如何为用户生成和/或适配内容。

提供以上描述作为本公开的一些实施方式的概述。在下文,更详细地描述这些实施方式的进一步描述和其他实施方式。

在一些实施方式中,提供了一种由一个或多个处理器实现的方法,包括:接收对自动化助理初始化动作的执行的请求。可以经由与显示设备和传感器通信的客户端设备的自动化助理界面来访问自动化助理,并且传感器提供指示用户相对于显示设备的距离的输出。该方法进一步包括基于传感器的输出,确定与用户相对于显示设备的估计距离相对应的距离度量。该方法进一步包括基于所接收的请求,识别用于完成动作的代理。代理对自动化助理是可访问的,并且被配置为基于用户相对于显示设备的估计距离,为客户端设备提供数据。该方法进一步包括响应于接收到请求并且基于所接收的请求来识别代理,生成对所识别的代理提供内容项来促成动作的代理请求。代理请求识别所确定的距离度量。该方法进一步包括将代理请求发送给代理,以使代理基于候选内容项的子集和代理请求中包括的距离度量之间的对应关系,为动作选择内容项的子集,其中,候选内容项的子集被配置成相对于从内容项的子集中排除的其他内容项,唯一地在客户端设备处被渲染。该方法进一步包括使客户端设备渲染所选择的候选内容项的子集。

本文公开的技术的这些和其他实施方式可以包括以下特征中的一个或多个。

在一些实施方式中,内容项的子集包括与包含用户的估计距离的第一距离范围相对应的第一子集,以及与第二距离范围相对应的第二子集。第二距离范围排除估计距离,并且与第一距离范围具有公共边界。在这些实施方式中,使客户端设备渲染所选择的候选内容项的子集包括:使客户端设备初始地仅渲染第一子集;以及使客户端设备缓冲第二子集,然后响应于确定用户已经移动到第二距离范围内的新距离来渲染第二子集。在那些实施方式的一些版本中,使客户端设备渲染第二子集包括:响应于确定用户已经移动到新距离,使客户端设备用第二子集代替第一子集。在那些版本中的一些中,第二子集可以可选地缺少第一子集中包括的任何内容。在那些实施方式的一些其他版本中,第一子集包括音频数据,第二子集包括图形内容,使客户端设备初始地仅渲染第一子集包括使客户端设备可听地渲染音频数据,并且使客户端设备渲染第二子集包括使客户端设备渲染图形内容以及可听地渲染音频数据。在那些其他版本的一些中,图形内容是图像,或者图形内容是与音频数据同步渲染的视频。在一些附加或替代的版本中,代理基于与第一距离范围相对应的第一子集来选择第一子集,第一距离范围包含与距离度量相对应的用户的估计距离,以及代理基于在第二距离范围的阈值距离内的用户的估计距离,选择第二子集,第二距离范围对应于第二子集。在另外的其他附加或替代版本中,该方法进一步包括:基于传感器的输出,确定估计距离的估计变化率;以及将估计变化率的指示包括在代理请求中。在那些其他附加或替代版本中,代理基于与第一距离范围相对应的第一子集来选择第一子集,第一距离范围包含与距离度量相对应的用户的估计距离,以及代理基于估计变化率的指示来选择第二子集。

在一些实施方式中,用户和一个或多个附加用户处于具有客户端设备的环境中,以及该方法进一步包括确定用户是自动化助理的当前活动用户。在那些实施方式中,确定与用户的估计距离相对应的距离度量包括响应于确定用户是自动化助理的当前活动用户,代替一个或多个附加用户,确定该用户的距离度量。在那些实施方式的一些中,确定用户是活动用户是基于以下之一或两者:来自传感器的输出,以及来自至少一个附加传感器的附加输出。例如,传感器或附加传感器包括相机,输出或附加输出包括一个或多个图像,以及确定用户是活动用户是基于以下之一或两者:基于一个或多个图像确定的用户的姿势,以及基于一个或多个图像确定的用户的凝视

在一些实施方式中,该方法进一步包括在将代理请求发送到代理并且使客户端设备渲染所选择的候选内容项的子集之后:确定单独的距离度量,其中,单独的距离度量指示用户相对于显示设备的距离已经改变;响应于确定单独的距离度量,生成对所识别的代理的单独的代理请求,其中,单独的代理请求包括单独的距离度量;将单独的代理请求发送到代理以使代理基于候选内容项的单独子集与代理请求中包括的单独的距离度量之间的对应关系,为动作选择候选内容项的单独子集;以及使客户端设备渲染所选择的候选内容项的单独子集。

在一些实施方式中,所接收的请求基于在自动化助理界面处接收到的口头话语,并且包括体现用户的语音签名的音频数据,以及该方法进一步包括:基于用户的语音签名,选择指示与邻近自适应的内容相关联的用户偏好的用户简档。在那些实施方式中,基于用户偏好来选择内容项的子集。

在一些实施方式中,距离度量被体现在所接收的请求中,或者与所接收的请求分开地被接收。

在一些实施方式中,客户端设备由传感器的输出生成距离度量,并且在请求或附加传输中发送距离度量,以及在服务器设备处执行确定距离度量。例如,服务器设备可以基于在请求或附加传输中包括距离度量来确定距离度量,以及可以在不直接访问传感器的输出的情况下确定距离度量。

在一些实施方式中,提供一种由一个或多个处理器实现的方法,并且包括:在用户和自动化助理之间的交互期间,渲染第一内容以促成由用户先前请求的动作。自动化助理可以经由客户端设备的自动化助理界面访问,并且基于在客户端设备本地存储的内容项的第一子集渲染第一内容。该方法进一步包括基于连接到客户端设备的传感器的输出,并且在客户端设备渲染第一内容时,确定用户的位置已经从第一位置改变到第二位置。该方法进一步包括基于传感器的输出,识别内容项的第二子集,从内容项的第二子集渲染第二内容以促成动作。内容项的第二子集包括从内容项的第一子集排除并且本地存储在客户端设备处的数据。该方法进一步包括基于所识别的内容项的第二子集渲染第二内容。该方法进一步包括在客户端设备正在渲染第二内容时,监视传感器的后续输出;以及当传感器的后续输出指示用户已经重新定位到不同于第一位置和第二位置的第三位置时:确定内容项的第三子集不可本地用于客户端设备,其中,当用户处于第三位置时,从内容项的第三子集渲染第三内容;以及生成用于从自动化助理可访问的远程服务器设备接收内容项的第三子集的请求。

本文公开的技术的这些和其他实施方式可以包括以下特征中的一个或多个。

在一些实施方式中,第三位置比第一位置和第二位置更靠近客户端设备,以及该方法进一步包括:接收内容项的第三子集;以及基于内容项的第三子集渲染第三内容。在那些实施方式的一些中,经由第一模态渲染第一内容,并且经由与第一模态不同的第二形态渲染第三内容。在一些版本中,渲染第三内容包括用第三内容代替第二内容,并且/或者第一模态是音频模态,以及经由与客户端设备连接的一个或多个扬声器来渲染第一内容,并且,第二模态是显示模态,以及经由连接到客户端设备的显示设备来渲染第三内容。

在一些实施方式中,该方法进一步包括在客户端设备的自动化助理界面处接收口头话语,以及传感器包括一个或多个麦克风,一个或多个麦克风与自动化助理界面集成在一起,并且被配置为响应于来自用户的可听输入。在那些实施方式的一些中,该方法进一步包括基于与所接收的口头话语相对应的音频数据,确定用于执行动作的目标应用和用户相对于客户端设备的方位。

在一些实施方式中,传感器包括相机,并且该方法进一步包括当传感器的后续输出指示用户已经重新定位到第三位置时:基于由相机捕获的一个或多个图像,基于以下一项或多项确定用户是否为活动用户:基于一个或多个图像的处理确定的用户姿势、基于一个或多个图像的处理确定的用户的凝视方向、基于一个或多个图像的处理确定的用户的嘴部运动,以及基于一个或多个图像的处理检测的用户的手势。

在一些实施方式中,提供了一种由一个或多个处理器实现的方法,并且包括:在远程自动化助理系统处接收由包括显示设备的客户端设备发送的自动化助理请求。该方法进一步包括由远程自动化助理系统并且基于自动化助理请求的内容确定:用于自动化助理请求的自动化助理代理,以及指示客户端设备与用户之间的当前距离的用户距离度量,该用户处于具有客户端设备的环境中。该方法进一步包括由远程自动化助理系统向为自动化助理请求所确定的自动化助理代理发送包括用户距离度量的代理请求。该方法进一步包括响应于代理请求,由远程自动化助理系统从自动化助理代理接收适合于用户距离度量的内容项。该方法进一步包括响应于自动化助理请求,将适合于用户距离度量的内容项从远程自动化助理发送到客户端设备。发送响应内容使客户端设备经由客户端设备的显示设备渲染响应内容。

本文公开的技术的这些和其他实施方式可以包括以下特征中的一个或多个。

在一些实施方式中,确定用户距离度量包括确定用户距离度量满足第一距离阈值和第二距离阈值;以及内容项包括适合于第一距离阈值的内容项的第一子集以及适合于第二距离阈值的内容项的第二子集。在那些实施方式的一些版本中,客户端设备被配置为确定用户距离度量,并且从内容项的第一子集和内容项的第二子集中的一个中选择用于渲染响应内容的数据。在那些版本的一些中,客户端设备进一步被配置为当用户距离度量排他地满足第一距离阈值时,基于内容项的第一子集来渲染响应内容,以及当用户距离度量排他地满足第二距离阈值时,基于内容项的第二子集来渲染响应内容。内容项的第一子集可以包括体现从内容项的第二子集中省略的数据格式的数据。

在一些实施方式中,提供由一个或多个处理器实现的方法,并且包括基于来自与环境中的客户端设备相关联的一个或多个传感器的输出,确定该环境中的多个用户中的给定用户是用于可经由客户端设备访问的自动化助理的当前活动用户。该方法进一步包括:基于来自一个或多个传感器的输出和/或基于(来自一个或多个传感器和/或其他传感器的)附加输出,确定与给定用户相对于客户端设备的距离相对应的距离度量。该方法可以进一步包括使得由客户端设备渲染针对给定用户的距离定制的内容。基于确定给定用户是自动化助理的当前活动用户,代替环境中的其他用户,针对给定用户的距离定制内容。

该技术的这些和其他实施方式可以可选地包括以下特征中的一个或多个。

在一些实施方式中,该方法可以进一步包括:生成针对给定用户的距离定制的内容,其中,生成针对给定用户的距离定制的内容是基于确定给定用户是自动化助理的当前活动用户。在那些实施方式中的一些中,生成针对给定用户的距离定制的内容包括:将代理请求发送到给定代理,其中,代理请求包括距离度量;以及响应于发送代理请求,从给定代理接收内容。

在一些实施方式中,该方法可以进一步包括:在渲染内容期间,确定给定用户已经重新定位并且处于相对于客户端设备的新的估计距离。在那些实施方式的一些中,该方法可以进一步包括:基于给定用户是当前活动用户,并且响应于确定给定用户已经重新定位并且处于相对于客户端设备的新的估计距离,使得由客户端设备渲染为新的估计距离定制的第二内容。在那些实施方式的一些版本中,使得将由客户端设备渲染第二内容可以包括使客户端设备用第二内容代替该内容。在那些实施方式的一些其他版本中,内容可以仅包括可听内容,并且第二内容可以包括图形内容,并且使得将由客户端设备渲染第二内容可以包括使得第二内容与内容一起被渲染。

在一些实施方式中,使得针对给定用户的距离定制的内容被客户端设备渲染可以包括基于与距离度量相对应的所选内容和不与距离度量相对应的其他候选内容来选择该内容,代替其他候选内容。

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

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

附图说明

图1示出了提供根据用户相对于客户端设备和/或自动化助理界面的距离来适配响应内容的示例的图。

图2A、2B和2C示出了提供基于用户相对于客户端设备的距离渲染的内容的示例的图。

图3示出了用于根据用户和自动化助理界面之间的距离来渲染自动化助理内容的方法。

图4示出了用于基于用户相对于自动化助理界面的位置来适配自动化助理内容的方法。

图5示出了用于根据用户相对于客户端设备和/或自动化助理界面的距离来适配响应内容的系统。

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

具体实施方式

图1示出了图100,其提供了根据用户102相对于客户端设备104和/或自动化助理界面的距离来适配响应内容的示例。在此论述的实施方式涉及根据正直接或间接地尝试经由自动化助理来访问内容的用户102的位置变化来生成和/或适配内容。通常,计算设备可以根据用户相对于计算设备的距离来适配内容;然而,这样的内容可以限于计算设备本地可用的内容。此外,当可以从诸如远程服务器的外部源快速检索更合适的数据时,对本地可访问的数据的可用性的这些限制可能抑制计算设备的效率。例如,更接近具有显示面板和扬声器的计算设备的用户可以更容易或更快地理解在显示面板上呈现而不是在扬声器上投射为音频的诸如每周天气预报的数据。因此,通过根据用户与计算设备的接近度来适配这样的数据,计算设备可以减少在接口,诸如在计算设备的扬声器处呈现特定输出的时间量。

在本文论述的一些实施方式中,用户102可以请求由自动化助理执行或初始化的动作,并且作为响应,可以根据用户102与客户端设备104的位置或位置变化来适配被提供以满足该请求的任何数据。用户可以经由客户端设备104的自动化助理界面来访问自动化助理,客户端设备104诸如但不限于平板计算设备,其可以包括可以操作为自动化助理界面和/或提供用于确定用户离客户端设备104的距离的输出的一个或多个传感器。为了调用自动化助理,用户可以提供口头话语,诸如例如“助理,今天天气如何?”作为响应,客户端设备104可以将口头话语转换为音频数据,其可以在客户端设备104处被处理和/或被发送到远程设备116(例如,远程服务器)进行处理。此外,响应于接收到口头话语,客户端设备104可以确定与用户102和客户端设备104之间的距离或者与用户102和与客户端设备104通信的外围设备之间的距离相对应的距离度量。客户端设备104可以将音频数据和距离度量发送到远程设备116,以便远程设备116确定用户正试图经由自动化助理初始化的动作和/或应用。

在各种实施方式中,客户端设备104基于来自一个或多个传感器的输出来本地确定距离度量。例如,客户端设备104可以处理由客户端设备104的专题相机捕获的图像,以估计用户的距离。例如,客户端设备104可以通过(例如,使用一个或多个本地机器学习模型)处理图像来估计用户的距离,以将图像的区域分类为可能包括人的头部,并且可以基于图像中的用户的头部的大小(例如,基于该区域的大小)来估计用户的距离。作为另一示例,客户端设备104可以基于来自客户端设备104的立体相机的输出,诸如包括深度通道的立体图像,估计用户的距离。例如,客户端设备104可以(例如,使用一个或多个本地机器学习模型)处理图像以将立体图像的区域分类为可能包括人,并且可以基于用于该区域的深度值(例如,基于多个深度值的平均值、中值或其他统计度量)来估计该人的距离。作为又一个示例,客户端设备104可以基于来自客户端设备104的麦克风的输出来估计用户的距离。例如,客户端设备可以使用波束成形和/或其他技术来分析与用户的口头话语相对应的音频数据以估计用户的距离。作为又一示例,客户端设备104可以基于来自传感器的组合的输出(诸如基于来自视觉传感器的输出以及基于来自麦克风的输出)来估计距离。可以利用附加和/或替代的传感器(诸如专用距离传感器、光探测和测距(LIDAR)传感器等)。而且,在一些实施方式中,客户端设备104可以依赖于来自在客户端设备104外部但与客户端设备104通信的一个或多个传感器的输出。此外,在各种实施方式中,客户端设备104可以可选地将来自传感器的输出(和/或其转换)提供给远程设备116,并且远程设备116可以基于这样提供的数据,可选地确定距离度量。

所确定的动作可以与内容项相关联,该内容项可以由自动化助理、客户端设备可访问的应用和/或托管在单独的远程设备116处的第三方(或第一方)代理提供。在一些实施方式中,远程设备116可以将所接收的距离度量与一个或多个距离阈值(例如,与第一距离阈值108和第二距离阈值110相对应的阈值)进行比较,以确定可以被用来为用户渲染内容的合适的内容项子集。可替代地或附加地,远程设备116可以向被分派提供内容项的应用提供距离度量,并且该应用可以执行将距离度量与一个或多个距离阈值进行比较,以便识别合适的内容项子集。可替代地或附加地,应用可以接收距离度量并将距离度量作为输入提供给被配置为提供一个或多个值的模型,该模型可以提供从其生成和/或选择内容项的子集的基础。

用于特定距离度量的合适的内容项子集可以是可以被用来渲染与基于其他距离度量渲染的内容相比,更容易被用户102感知的内容的内容项子集。例如,当用户102的位置对应于最接近客户端设备或在客户端设备的可视范围内的第一距离阈值108时(例如,距客户端设备N远的距离,其中,N可以是可以限定设备的可视范围的极限的任何距离),为渲染第一内容112而选择的内容项的子集可以包括视频数据(例如,呈现天气预报的图像或视频)。此外,当用户102的位置对应于接近客户端设备的不可视范围(例如,在N和N+m之间,其中,m是任何正实数)的第二距离阈值110时,为渲染第二内容114而选择的内容项的子集可以包括图像数据和/或相对于前述视频数据的较低质量的视频数据(例如,包括比前述图像或视频更大和更少的图形元素的图像或视频)。另外,当用户的位置对应于在客户端设备的不可视范围内(例如,在N+m与N+p之间,其中,p是大于m的任何正实数)的第三距离阈值118时,为渲染内容而选择的内容项的子集可以包括音频数据(例如,提供天气预报的人的语音录音)。当已经基于距离度量选择了内容项的子集时,可以将内容项的子集从远程设备116发送到客户端设备104,以便客户端设备104可以使用所选择的内容项子集来渲染内容。应当注意到,标签“A”和“B”示出了每个相应的距离阈值(即,第一距离阈值108和第二距离阈值110)与每个相应的渲染内容(即,第一内容112和第二内容114)之间的相关性。

在一些实施方式中,在使用所选择的内容项子集渲染第一内容112的同时,用户102可以从第一位置120重新定位到第二位置122。可以在客户端设备104处检测用户102的距离的变化,或者用户102的最新距离,并且可以在客户端设备104和/或远程设备116处生成附加距离度量。然后,可以使用该附加距离度量来选择附加的内容项子集,在用户仍然停留在第二位置122时,从该附加的内容项子集为用户102渲染其他内容。例如,当客户端设备104正在渲染与天气预报相对应的可视内容(即,第一内容112)并且用户位于客户端设备104的可视范围(例如,与第一阈值108相对应的区域)内时,用户102可以从第一位置120重新定位到不允许他们观看客户设备104的第二位置122(例如,对应于第三阈值118的位置)。作为响应,客户端设备104可以生成所检测的或估计的距离度量,其可以被提供给远程设备116。

远程设备116可以允许先前选择内容项的子集的应用选择附加的内容项子集以为用户102渲染其他内容。附加的内容项子集可以是例如可以被用来渲染其他内容的音频数据,尽管被重新定位到第二位置122,但该附加内容项的子集仍可以由用户102感知。以这种方式,客户端设备104并不严格限于用于适应用户距离变化的本地数据,而是可以采用远程服务和/或应用来识别更合适的数据以渲染内容。此外,这允许自动化助理在执行动作期间替换数据,以便为改变他们的相对位置的用户适配任何渲染的内容。

在一些实施方式中,用户102可以重新定位到与对应于多个距离阈值的值的公差或重叠范围相对应的位置。结果,分派选择从其渲染内容的内容项子集的应用或设备可以选择多个内容项子集。以这种方式,如果用户从满足第一距离阈值的第一位置移动到满足第二距离阈值的第二位置,则客户端设备104可以根据用户位置的变化来本地地适配任何渲染的内容。在一些实施方式中,用户的轨迹和/或速度可以类似地被用于选择要从其渲染内容的多个不同的内容项子集,以便在用户运动106时,实时地适配渲染的内容。例如,当用户走向他们的电视或显示投影仪时,用户102可以请求他们的自动化助理播放歌曲(例如,“助理,在我的电视上播放我喜欢的歌曲。”),并且作为响应,可以选择第一内容项子集和第二内容项子集以在电视或显示投影仪上渲染内容。第一内容项子集可以对应于音频数据,当用户在重定位期间,离电视或显示投影机最远时,可以由电视或显示投影仪渲染音频数据,第二内容项子集可以对应于音视频数据,当用户离电视或显示投影仪最近时,可以由电视或显示投影仪渲染该音视频数据。以这种方式,第二内容项子集将用一定数量的互斥数据来补充第一内容项子集,因为第一内容项子集不包括视频数据。在一些实施方式中,除了确定距离之外或代替确定距离,可以由客户端设备和/或自动化助理确定用户的地点或位置的变化率和/或用户的轨迹。以这种方式,可以根据用户的地点或位置的变化率和/或用户的轨迹来抢先请求和/或缓冲内容。例如,当确定用户正在以满足特定变化率阈值的变化率移动和/或表现出至少部分地朝向或远离客户端设备的轨迹时,客户端设备可以响应于该确定渲染不同的内容和/或请求附加数据,当用户朝向或远离客户端设备移动时,可以从该附加数据渲染其他内容。

图2A至图2C示出了提供基于用户相对于客户端设备204的距离渲染的内容的示例的图。具体地,图2A示出了用户208接近位于诸如厨房的环境218中的客户端设备210的图200。在用户208已经初始化自动化助理执行一个或多个动作之后,用户208可以接近客户端设备210。例如,用户208可以触发用户208已经安装在他们的厨房中的传感器,并且响应于传感器被触发,自动化助理可以初始化动作的执行。可替选地,如本文所论述的,用户208可以经由客户端设备210的自动化助理界面来调用自动化助理。

响应于初始化自动化助理而要执行的动作可以包括为用户208呈现诸如音乐的媒体内容。最初,自动化助理可以使客户端设备210渲染提供很少或几乎不提供图形内容而是提供可听内容的第一内容212。鉴于用户208远离客户端设备210并且因此可能不能感知图形内容,这可以节省计算资源和/或网络资源。

当用户208重新定位到更接近客户端设备210时,如图204所示,客户端设备210可以接收和/或处理一个或多个信号,这可以提供相对于图2A,用户208已经更接近客户端设备210的指示。作为响应,自动化助理可以接收基于一个或多个信号的一定量的数据,并且使客户端设备210在客户端设备210处渲染第二内容214。第二内容214可以包括比第一内容212更多的图形内容、相对于第一内容212更高音量内容和/或提供相对于第一内容212具有更高比特率的内容。在一些实施方式中,第二内容214可以包括从第一内容212排除的至少一定量的内容。可替代地或附加地,可以基于当用户208处于与图2A相对应的位置时客户端设备210本地不可用而是响应于用户208重新定位到与图2B相对应的位置而检索到的数据来渲染第二内容214。

此外,图206示出了当相对于图2A和2B中的用户208,用户208重新定位到更接近客户端设备210的位置时,在客户端设备210处如何渲染第三内容216。具体地,第三内容216可以包括为最接近客户端设备210的用户定制的内容。例如,自动化助理可以确定相对于图2A和2B,用户208甚至更接近客户端设备210,并且使客户端设备210渲染文本内容(例如“[CONTENT]”)。为文本内容提供基础的数据当用户208距离更远时可以是本地可用的,或者响应于用户208具有朝向客户端设备210的轨迹而由客户端设备210从远程设备请求。以这种方式,根据用户208离客户端设备210的距离,在自动化助理的指导下提供的内容可以是动态的。此外,客户端设备210可以根据用户208相对于客户端设备210的位置来渲染唯一内容。

图3示出了用于根据用户和自动化助理界面之间的距离来渲染自动化助理内容的方法300。方法300可以由一个或多个计算设备、应用和/或能够与自动化助理进行交互的任何其他装置或模块执行。方法300可以包括接收对自动化助理初始化动作的执行的请求的操作302。可以经由客户端设备的自动化助理界面来访问该自动化助理,并且该客户端设备可以包括显示设备和传感器或与之通信。传感器可以提供输出,从该输出可以确定用户相对于显示设备的距离。例如,传感器可以是提供输出的相机,可以从该输出生成图像以确定用户和显示设备之间的距离。可替代地或附加地,客户端设备可以包括一个或多个声学传感器,并且(例如,使用波束成形技术)分析声学传感器的输出以识别用户相对于客户端设备的位置。

方法300可以进一步包括基于所接收的请求,识别用于完成动作的代理的操作304。代理可以是一个或多个应用或模块,这些应用或模块可被自动化助理访问并与(与管理自动化助理的实体分开的)第三方相关联。另外,代理可以被配置为基于用户相对于显示设备的距离,为客户端设备提供数据。在一些实施方式中,代理可以是可以由自动化助理调用的多个不同代理中的一个以促成将基于用户的直接(例如,“助理,执行[动作]”)或间接(例如,作为所学习的用户时间表的一部分执行的动作)执行的一个或多个动作。

方法300还可以包括确定与用户相对于客户端设备的估计距离相对应的距离度量的操作306。可以基于客户端设备提供的数据来确定距离度量。例如,客户端设备的传感器可以提供体现与用户相对于传感器的位置有关的信息的输出。可以处理输出并将其体现在对自动化助理初始化动作的执行的请求中。在一些实施方式中,距离度量可以对应于各种数据,可以从各种数据确定用户的地点和/或位置的特征。例如,距离度量还可以指示用户与客户端设备之间的距离,以及用户相对于客户端设备的方位(例如,用户是否正面向客户端设备)。

方法300可以进一步包括生成对识别的代理提供内容项以促成将执行并且基于所确定的距离度量的动作的代理请求的操作308。代理请求可以由自动化助理生成,并且包括将由所识别的代理处理的一个或多个槽值。例如,代理请求中的槽值可以标识距离度量、与所接收的请求相关联的上下文数据(诸如时刻、用户偏好、基于先前代理请求的历史数据和/或可以由代理应用处理的任何其他数据)。

方法300还可以包括将请求发送到代理以使代理基于该请求和所确定的距离度量来选择内容项的子集的操作310。代理选择的内容子集可以对应于用户距离阈值。此外,基于用户距离阈值和距离度量之间的对应关系,客户端设备可以相对于其他内容项唯一地渲染内容的子集。换句话说,尽管代理可以从一组内容项中选择内容项的子集,但是仅针对所确定的距离度量来定制所选择的子集。因此,如果确定了不同的距离度量,则将选择不同的内容项子集,并且客户端设备将基于不同的内容项子集来渲染不同的内容。

方法300可以进一步包括使客户端设备渲染所选择的内容项子集的操作312。所选择的内容项子集可以被渲染为在客户端设备的显示设备处呈现的内容。然而,在一些实施方式中,所选择的内容项子集可以被渲染为可听内容、视频内容、音视频内容、静态图像、触觉反馈内容、控制信号和/或可以由人感知的任何其他输出。在一些实施方式中,尽管代理生成和/或适配了所选择的内容项子集,但是客户端设备可以进一步根据客户端设备可用的上下文数据来适配所选择的内容项子集。例如,客户端设备可以进一步根据用户的位置、用户的表情、时刻、客户端设备和用户共享的环境的占用、客户端设备的地理位置、用户的时间表和/或可以指示用户正在与自动化助理进行交互的上下文的任何其他信息来适配内容项的子集。例如,尽管要执行的动作可以包括渲染可听内容,并且由于用户在客户端设备的可听范围内,所选择的内容项子集可以包括音频数据,但是客户端设备可以根据环境中其他人的存在和/或根据用户是否正在通话或将客户端设备的音频子系统用于单独的动作,动态地适配任何渲染的音频的音量。可替代地或附加地,尽管要执行的动作可以包括渲染可听内容,并且由于用户在客户端设备的可听范围内,所选择的内容项子集可以包括音频数据,但是该客户端设备可以使不同的客户端设备在上下文数据指示用户已经重新定位到更靠近不同的客户端设备(即,比先前由距离度量指示的距离更远的单独的距离)时,渲染音频数据。

图4示出了用于基于用户相对于自动化助理界面的位置来适配自动化助理内容的方法400。方法400可以由一个或多个计算设备、应用和/或能够与自动化助理进行交互的任何其他装置或模块执行。方法400可以包括在用户与自动化助理之间的交互期间,渲染第一内容以促成用户先前请求的动作的操作402。可以通过客户端设备的一个或多个不同模态,诸如但不限于触摸显示面板、扬声器、触觉反馈设备和/或可以由计算设备利用的其他接口,由客户端设备渲染第一内容。此外,可以基于在客户端设备本地可用的内容项的第一子集来渲染第一内容。例如,第一内容可以是响应于用户初始化要在在自动化助理的指导下执行的例程,从远程服务器设备检索的内容项的子集。例如,例程可以是“早晨”例程,其响应于用户在早晨进入他们的厨房而初始化,并且连接到厨房中的客户端设备的传感器指示用户的存在。作为“早晨”例程的一部分,自动化助理可以下载与用户的时间表相对应的内容项。因此,第一内容项可以与用户的时间表相关联,并且所渲染的第一内容可以对应于具有k个显示元素的图形用户界面(GUI),其中,k是任何正整数。

方法400可以进一步包括操作402,该操作402基于连接到客户端设备的一个或多个传感器的输出并且在客户端设备正在渲染第一内容时,确定用户的接近度已经从第一位置改变到第二位置。例如,传感器可以包括用于采用波束成形技术以便识别用户的位置的多个麦克风。可替代地或附加地,传感器还可以包括相机,从该相机可以确定用户的方位、凝视和/或位置。使用来自传感器的信息,自动化助理可以从环境中的多个用户中识别活动的一个或多个用户的子集,以便为活动用户生成和/或适配内容。例如,可以基于活动用户的距离来生成内容,而不考虑不在被确定为活动用户的子集中的用户的距离。此外,来自传感器的信息可以被用来确定用户与自动化助理界面、客户端设备和/或可以与客户端设备通信的任何其他装置的距离。例如,当用户正在观看所渲染的第一内容时,用户可以朝向或远离正在渲染第一内容的显示面板移动。

方法400还可以包括操作406,该操作406基于传感器的输出来识别内容项的第二子集,可以从第二子集渲染第二内容以促成该动作。例如,当动作涉及“早晨”例程,并且内容项与用户的时间表相关联时,可以根据用户感知内容项的第二子集的能力来选择内容项的第二子集。更具体地,如果第二位置比第一位置更接近自动化助理界面(例如,显示面板),则内容项的第二子集可以包括用户可以从其感知更多信息的附加图形元素。结果,用户在更移进自动化助理界面时,能够收集有关其时间表的更多详细信息。此外,根据上述论述,以有效的方式使用了用于渲染附加图形元素的计算资源,其中,可以响应于第二位置比第一位置更接近界面,触发该计算资源。

方法400可以另外包括基于所识别的内容项的第二子集来渲染第二内容的操作408。渲染的第二内容可以对应于具有l个显示元素的GUI,其中,l是大于或小于k的任何正整数。例如,所渲染的第一内容可以包括与几个小时的用户的时间表相对应的k个显示元素。此外,所渲染的第二内容可以包括对应于一整天用户的时间表的l个显示元素。以这种方式,内容项的第二子集将具有与内容项的第一子集互斥的一个或多个内容项。结果,当用户移近显示面板时,他们将看到不同的图形元素。

方法400可以进一步包括在客户端设备正在渲染第二内容的同时监视传感器的后续输出的操作410。在一些实施方式中,自动化助理可以在得到用户许可的情况下监视传感器的输出,以便确定用户已经重新定位到更远离自动化助理界面还是更接近自动化助理界面。以这种方式,自动化助理可以使得进一步适配所渲染的内容以便用户将更有效地感知该内容。在方法400的操作412,确定用户是否已经重新定位到与第一位置和第二位置不同的第三位置。如果用户尚未重新定位到第三位置,则自动化助理可以至少根据操作410,继续监视传感器的输出。如果用户已经重新定位到第三位置,则方法400可以进行到操作414。

在方法400的操作414,确定第三内容是否本地可用于客户端设备。如果在客户端设备上渲染第三内容,则第三内容可以对应于将为用户提供关于他们的时间表的附加信息的内容项的第三子集。例如,内容项的第三子集可以包括关于用户的时间表的信息,该信息未包括在内容项的第一子集和/或内容项的第二子集中。具体地,内容项的第三子集可以包括相对于内容项的第一子集和内容项的第二子集互斥的至少一定量的数据。例如,内容项的第三子集可以包括未包括在内容项的第一子集和/或内容项的第二子集中的不同类型的数据,诸如图像和/或视频。内容项的第三子集可以包括与用户即将到来的一周或一个月的时间表相关联的数据,从而允许用户在更移近自动化助理界面时,感知有关其时间表的附加信息。

当内容项的第三子集在客户端设备上本地不可用时,方法400可以进行到可以包括生成用于接收内容项的第三子集的请求的操作416。可以通过诸如互联网的网络,将该请求发送到远程服务器设备,以便接收内容项的第三子集。例如,远程服务器设备可以托管与自动化助理可访问的时间表应用相关联的代理。代理可以接收请求并且识别与该请求相关联的附加内容项。然后,代理可以将附加内容项作为内容项的第三子集发送到自动化助理和/或客户端设备。此后,方法400可以进行到操作418,该操作可以包括基于内容项的第三子集渲染第三内容。可替选地,当内容项的第三子集在客户端设备上本地可用时,可以绕过操作416,并且方法400可以从操作414进行到操作418。

图5示出了用于根据用户相对于客户端设备516和/或自动化助理界面518的距离来适配响应内容的系统500。自动化助理界面518可以允许用户与自动化助理504进行通信,这可以操作为在一个或多个计算设备(诸如,客户端设备516(例如,平板设备、独立扬声器设备和/或任何其他计算设备)和/或远程计算设备512(诸如服务器设备502)处提供的助理应用的一部分。助理接口518可以包括麦克风、相机、触摸屏显示器、用户界面和/或能够提供用户和应用之间的接口的任何其他装置或装置组合中的一个或多个。例如,用户可以通过向助理界面提供口头、文本和/或图形输入来初始化自动化助理504,以使自动化助理504执行功能(例如,提供数据、控制外围设备、访问代理或第三方应用等)。客户端设备516可以包括显示设备,该显示设备可以是包括触摸界面的显示面板,该触摸界面用于接收触摸输入和/或手势,以允许用户经由触摸界面来控制客户端设备516的应用。

客户端设备516可以通过诸如互联网的网络514与远程计算设备512通信。客户端设备516可以将计算任务卸载到远程计算设备512,以便节省客户端设备516上的计算资源。例如,远程计算设备512可以托管自动化助理504,并且客户端设备516可以将在一个或多个助理界面518处接收的输入发送到远程计算设备512。但是,在一些实施方式中,自动化助理504可以被托管在客户端设备516上。在各种实施方式中,自动化助理504的所有方面或少于所有方面可以被实现在客户端设备516上。在那些实施方式中的一些中,经由客户端设备516的本地助理应用来实现自动化助理504的各方面,并且本地助理应用可以与远程计算设备512接口以用于实现自动化助理504的其他方面。远程计算设备512可以经由多个线程,可选地服务多个用户及其关联的助理应用。在经由客户端设备516的本地助理应用来实现自动化助理504的所有方面或少于所有方面的一些实施方式中,本地助理应用可以是与客户端设备516的操作系统分离的应用(例如,安装在操作系统“上方”),或者可替选地,可以通过第一客户端设备516的操作系统直接实现(例如,被认为是该操作系统的应用,但与该操作系统集成在一起)。

在一些实施方式中,远程计算设备512可以包括语音到文本引擎506,其可以处理在助理界面处接收的音频数据以识别体现在音频数据中的文本。用于将音频数据转换为文本的过程可以包括语音识别算法,该语音识别算法可以采用神经网络、word2vec算法和/或统计模型来识别与单词或短语相对应的音频数据组。从音频数据转换的文本可以由文本解析器引擎508解析,并且可以使其作为可以被用来生成和/或识别来自用户的命令短语的文本数据可用于自动化助理504。

在一些实施方式中,自动化助理504可以使内容适配客户端设备516和自动化助理104可访问的代理532。在用户与自动化助理504之间的交互期间,可以在客户端设备516、服务器设备502和/或可以与用户相关联的任何其他设备处收集用户数据506和/或上下文数据522。用户数据506和/或上下文数据522可以在得到用户许可的情况下,由与客户端设备516集成在一起或可被其访问的一个或多个应用或设备使用。例如,上下文数据522可以包括与时间数据、位置数据、事件数据、媒体数据和/或可以与用户和自动化助理504之间的交互有关的任何其他数据相对应的数据。此外,用户数据506可以包括帐户信息、消息信息、日历信息、用户首选项、用户与自动化助理504之间的历史交互数据、与客户端设备516可以访问的应用和/或代理相关联的内容项和/或可以与用户相关联的任何其他数据。

为了自动化助理504使得内容适配于用户,自动化助理504可以与代理532交互,代理532可以向远程设备512和/或客户端设备516提供代理数据536(即,内容项)以在自动化助理界面518处渲染内容。如本文所使用的,“代理”是指与自动化助理分开的一个或多个计算设备和/或软件。在某些情况下,代理可以是第三方(3P)代理,因为它是由与管理自动化助理的一方分开的一方来管理。在一些实施方式中,自动化助理504可以采用代理选择引擎528,以便从多个不同的代理中选择用于响应于来自用户的直接或间接请求,执行特定动作的代理。所选代理可以被配置为(例如,通过网络和/或经由API)接收来自自动化助理的请求。响应于接收到请求,代理基于该请求生成响应内容,并且发送响应内容以提供基于响应内容的输出。例如,代理532可以将响应内容发送到自动化助理504以由自动化助理504和/或客户端设备516提供基于响应内容的输出。作为另一个示例,代理538本身可以提供输出。例如,用户可以经由客户端设备516与自动化助理504交互(例如,自动化助理可以在客户端设备上实现和/或与客户端设备进行网络通信),并且代理538可以是安装在客户端设备516上的应用或可从客户端设备516远程执行但在客户端设备516上“可流动”的应用。当调用应用时,它可以由客户端设备516执行和/或由客户端设备带到前台(其内容可以接管客户端设备的显示)。

调用代理可以包括(例如,利用应用编程接口(API))发送请求,该请求包括用于调用参数的值(例如,用于意图参数的值、用于意图槽参数的值和/或用于其他参数的值),并且使得代理生成内容以经由一个或多个用户界面输出设备(例如,经由在与自动化助理的对话中利用的一个或多个用户界面输出设备)呈现给用户。可以针对请求的参数定制由代理生成的响应内容。例如,自动化助理504可以使用基于来自客户端设备516处的一个或多个传感器的输出生成的数据来生成一个或多个距离度量。距离度量可以被体现为对代理538的请求的参数,以便可以基于该距离度量来生成、选择和/或以其他方式适配代理数据546(即,响应内容)。在一些实施方式中,代理538可以包括代理数据选择引擎534,该代理数据选择引擎534基于从远程设备512和/或客户端设备516接收的请求的至少一个参数,生成、选择和/或适配代理数据536。以这种方式,客户端设备516可以基于至少根据与用户相对应的距离度量,由代理532提供的代理数据536的子集,为用户渲染内容。

图6是示例性计算机系统610的框图。计算机系统610通常包括经由总线子系统612与多个外围设备通信的至少一个处理器614。这些外围设备可以包括存储子系统624(包括例如存储器625和文件存储子系统626)、用户接口输出设备620、用户接口输入设备622和网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并且耦合至其它计算机系统中的相应接口设备。

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

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

存储子系统624存储提供本文所述的模块中的一些或者所有的功能的编程和数据结构。例如,存储子系统624可以包括执行方法300、方法400的所选方面,和/或实现客户端设备102、远程设备116、客户端设备516、服务器设备502、远程设备512、远程设备530、自动化助理504、代理532和/或本文论述的任何其他装置或操作中的一个或多个的逻辑。

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

总线子系统612提供用于使计算机系统610的各种组件和子系统按照预期的方式彼此通信的机制。虽然总线子系统612被示意性地示出为单个总线,但是总线子系统的替选实施方式可以使用多个总线。

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

在本文所述的系统收集有关用户(或如本文所引用的“参与者”)的个人信息或可以利用个人信息的情况下,可以为用户提供控制程序或功能是否收集用户信息(例如,有关用户的社交网络、社交动作或活动、职业、用户的喜好或用户当前的地理位置的信息),或控制是否和/或如何从内容服务器接收与用户更相关的内容的机会。而且,某些数据在被存储或使用之前可能以一种或多种方式处理,以便移除个人可识别信息。例如,可以处理用户的身份,以便无法确定该用户的任何个人可识别信息,或者用户的地理位置可以在获得地理位置信息的情况下被一般化(诸如到市、邮政编码或州级),使得无法确定用户的具体地理位置。因此,用户可以控制如何收集有关用户的信息和/或使用该信息。

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号