在自动化助理的实例之间提供通信信道的制作方法

文档序号:18471578发布日期:2019-08-20 20:21阅读:160来源:国知局
在自动化助理的实例之间提供通信信道的制作方法

本申请涉及在自动化助理的实例之间提供通信信道,尤其涉及通过无线通信方式在汽车计算机系统的自动化助理和单独的客户端设备之间的交互。



背景技术:

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

自动化助理可以安装在各种不同的设备,诸如移动电话和个人计算机上。用户可以通过与相应的自动化助理交互来使移动电话或个人计算机上的特定应用执行特定动作。然而,为了在不同设备上展示功能的一致性,可能要求用户跨不同设备同步地安装相同应用的实例。结果,网络带宽可能快速地被传输用于应用的每个实例的重复的应用更新并且通常在应用的每个实例之间传送数据预先占用。此外,由于应用的每个实例可能要求它们各自的设备上的一定量的磁盘空间,因此可能无效地使用跨设备的存储器分配。

在一些上下文中,取决于用户在特定环境中的参与程度,和/或附近的其他用户是否正在操作其他设备,经由自动化助理与特定应用交互可能不方便。例如,当用户正在驾驶车辆时,经由移动电话上的自动化助理回复消息可能是困难的。此外,当用户与车辆中的其他人一起驾驶时,那些人也可以具有带有自动化助理的设备,当用户与他们各自的自动化助理接洽时,这些自动化助理可能被间接地调用。这样的结果会在驾驶时产生加剧分心的环境,并且浪费可能无意中受影响的那些设备的计算资源。



技术实现要素:

本文阐述的实施方式涉及用于提供通信信道的系统、方法和装置,通过该通信信道,自动化助理的单独实例或安装可以进行通信以便促进特定动作。可以在主要自动化助理(例如,汽车自动化助理或客户端设备自动化助理)和一个或多个辅助自动化助理(例如,汽车自动化助理和客户端设备自动化助理中的另一个)之间提供通信信道。例如,主要自动化助理可以是用户在特定环境中,诸如乘坐汽车中优选的自动化助理。具体地,汽车计算机系统可以包括用户乘坐车辆时为促进特定动作而由用户优选的自动化助理。根据汽车和/或客户端设备的设置,当客户端设备连接到汽车计算机系统时,作为主要的汽车自动化助理可以承担辅助自动化助理的任何未决意图和/或动作。这样,汽车自动化助理可以作为辅助自动化助理的扩展。这可以允许任何客户端应用向和/或从汽车自动化助理隧道传送或引导特定意图和/或动作。此外,这种隧道效应可以提供支持用户与其各自的客户端应用接洽的能力的系统架构,而不必在汽车计算机系统处采用或安装任何相关的“汽车侧”应用。以这种方式,通过不必要求在每个汽车侧设备上安装这种相关的第三方应用,可以实现更有效地使用汽车侧存储器。此外,由于用户仅依靠其自动化助理至少与应用的单个实例通信,而不是采用多个应用的多个实例同步操作,因此可以减轻网络流量和浪费的功耗。特别是,消息传递服务器和应用会呈现网络和计算资源的减少,否则消息传递服务器和应用将向各种不同的设备发送消息和确认收据的重复副本。

例如,在一些实施方式中,可以采用车辆的汽车自动化助理来传送在客户端设备(诸如移动电话)的第三方应用处接收的消息,并且根据用户与汽车自动化助理之间的交互来响应该消息。为了实现这种功能,客户端设备和汽车的汽车计算机系统可以执行握手,以便在客户端设备和汽车计算机系统之间建立安全通信信道。具体地,客户端设备可以将一个或多个网络端口(socket)(例如,蓝牙端口)分配为用于向和/或从汽车计算机系统传输数据的节点。当在客户端设备和汽车计算机系统之间建立了安全通信信道时,可以在客户端自动化助理和汽车自动化助理之间共享动作意图。

动作意图可以指代来自应用的对经由该应用或另一应用执行的特定动作的请求。例如,动作意图请求可以由第三方应用生成,并且识别待执行的动作、自定义标识符、与待执行的动作相关联的内容数据和/或可以与由应用执行的动作相关联的任何其他数据中的一个或多个。动作意图最初可以由操作系统、设备应用、自动化助理和/或发起动作意图的设备可用的任何其他引擎或模块接收。然后,动作意图可以在发起设备处被分类或以其他方式排队,并且使其可由自动化助理的一个或多个实例访问。例如,发起客户端设备的客户端自动化助理可以访问未决动作意图,并且当客户端设备与汽车计算机系统配对时,汽车自动化助理可以访问未决动作意图。

为了促进前述示例,汽车自动化助理可以与客户端自动化助理通信以识别未决动作意图请求。动作意图请求可以与用户乘坐汽车时,在客户端设备的第三方应用处接收的消息相关联。术语“第三方”可以指创建和/或提供第三方应用的实体,并且不同于客户端设备、客户端自动化助理和/或客户端操作系统的创建者和/或提供者。通过在客户端设备处访问动作意图请求,汽车自动化助理可以充当中间装置,通过该中间装置,用户可以促进特定的未决动作意图请求。此外,汽车自动化助理可以使得在汽车计算机系统处生成动作意图请求的对应实例以及可能在客户端设备处未决的任何其他动作意图请求。尽管汽车计算机系统没有发起消息的第三方应用,但汽车计算机系统上的动作意图请求的相应实例可以由汽车自动化助理处理。

汽车自动化助理可以基于动作意图请求的内容确定动作意图请求与消息相关联,并且在一些实施方式中,不管提供动作意图请求的第三方应用如何。以这种方式,自动化助理可以管理来自各种不同应用的动作意图,对于发起动作意图的应用而言似乎是不可知的。例如,第一应用的第一服务提供者和第二应用的第二服务提供者分别以不同的方式提供消息,然而,无论如何,相应的消息将具有“主体”和“发送者”字段。消息结构中的重叠,在一些实施方式中,部分是由于满足api的相应应用,可以允许类似地解析每个消息。然后,自动化助理可以使用来自相应消息的任何解析数据来提供通知、响应消息和/或执行可以与消息相关联的任何其他动作。在一些实施方式中,类似的重叠可以由能够与自动化助理交互的其他应用呈现。这样的其他应用可以包括导航应用,其中,通知的内容可以包括路线步骤和/或媒体应用,其中,通知的内容可以包括特定媒体数据,诸如图像和/或视频的地址。

当汽车自动化助理确定动作意图请求的对应实例与消息相关联时,汽车自动化助理可以使得对应实例的内容被解析。经解析的内容可以被用来识别消息的单独部分,诸如正文、作者、主题、发送和/或接收的时间,和/或可以与消息相关联的任何其他数据。因为汽车自动化助理已经确定动作意图请求对应于消息,所以汽车自动化助理可以使用解析的内容以便将解析的内容呈现给用户。例如,汽车自动化助理可以采用文本到语音引擎,以将动作意图请求的至少一部分内容转换为可以从汽车计算机系统的诸如音频系统的自动化助理接口输出的音频。音频可以是例如“你收到来自'emily'的短信,她说,'我要迟到了'”。作者“emily”和正文“我要迟到了”可以基于从动作意图请求的相应实例解析的数据。

响应于向用户告知在其客户端设备处接收的消息,汽车自动化助理可以跟进提示,该提示可以向用户呈现回复该消息的选项。提示可以包括响应音频,诸如“你想回复'emily'吗?”,作为回应,用户可以提供口头话语,诸如,“是的,请回答,'好的'”。因此,汽车自动化助理可以经由汽车的自动化助理接口接收口头话语,并且使用汽车计算机系统可访问的语音到文本引擎来处理口头话语。从口头话语导出的文本可以体现为可以是由汽车自动化助理生成的后续动作意图请求的一部分的内容。可以进一步生成后续动作意图请求以识别应当由目标应用(例如,第三方应用)执行的动作,诸如发送消息。

为了使后续动作意图与客户端设备处生成的动作意图请求同步,汽车自动化助理可以使用与客户端设备生成的动作意图请求相同的自定义标识符来生成后续动作意图。以这种方式,客户端设备可以访问后续动作意图请求和/或确定在汽车计算机系统处生成了后续动作意图请求,并且确定后续动作意图请求和动作意图请求之间的相关性。在一些实施方式中,自定义标识符可以被用作用于加密自动化助理之间的传输的至少一个密钥。

当在汽车计算机系统处生成后续动作意图请求时,客户端自动化助理可以确定生成了后续动作意图请求,并且在客户端设备处生成后续动作意图请求的对应实例。因为后续动作意图请求是针对经由第三方应用发送消息,所以客户端自动化助理和/或客户端设备可以调用第三方应用来发送消息。换句话说,因为汽车计算机系统不包括第三方应用的实例,所以后续动作意图请求的生成不直接调用安装在汽车计算机系统上的第三方应用的任何实例。相反,响应于客户端自动化助理确认后续动作意图请求的生成和/或在客户端设备处生成后续动作意图请求的对应实例,第三方应用执行响应消息的发送。

在一些实施方式中,响应于用户确认收到消息和/或作为响应,用户指示他们想要响应该消息,可以解除在客户端设备和汽车计算机系统处的动作意图请求的未决状态。例如,响应于用户提供口头话语,“是,请回答,'好吧'”,汽车自动化助理可以使得在汽车计算机系统处解除动作意图请求的对应实例。另外,响应于用户提供上述口头发言,客户端自动化助理可以使得在客户端设备处解除动作意图请求。如果在例如远程服务器设备处可获得与最初接收的消息相关联的动作意图请求的单独对应实例,则也可以解除单独对应实例。

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

在一些实施方式中,一种由一个或多个处理器实现的方法被阐述为包括下述的操作,诸如由汽车自动化助理识别在客户端设备处生成的第一动作意图请求。所述客户端设备可以经由无线通信信道与汽车计算机系统配对,其中,所述汽车计算机系统包括所述汽车自动化助理。操作还可以包括响应于识别所述第一动作意图请求,确定所述第一动作意图请求识别:待执行的第一请求动作、用于执行所述第一请求动作而被访问的内容数据,以及与应用相关联的标识符,所述应用至少部分地使得所述第一动作意图请求能用于所述汽车计算机系统。操作还可以包括为了促进执行第一请求动作,使得所述汽车计算机系统可访问的自动化助理接口向所述汽车计算机系统的用户提供输出,其中,所述输出是基于所述第一动作意图请求的内容数据。操作可以进一步包括由所述汽车自动化助理确定用户响应于在所述自动化助理接口处提供的输出来提供输入,并且响应于确定用户提供所述输入,向所述客户端设备提供第二动作意图请求。所述第二动作意图请求可以识别:在所述客户端设备处执行的第二请求动作、基于由用户提供的所述输入的其他内容数据和标识符。操作还可以包括根据所述第二动作意图请求,使得在所述客户端设备处执行所述第二请求动作。所述应用可以使用所述其他内容数据执行所述第二请求动作,并且所述客户端设备使用在所述第二动作意图请求中提供的标识符来识别所述应用。

在一些实施方式中,该方法可以包括响应于确定所述用户提供所述输入,向所述客户端设备提供第三动作意图请求,所述第三动作意图请求识别所述标识符和第三请求动作,其中,响应于所述客户端设备接收到所述第三动作意图请求,所述第三动作意图请求使得解除所述客户端设备处的第二动作意图请求的未决状态。在一些实施方式中,该方法可以包括响应于确定所述用户提供所述输入,使得解除所述第二动作意图请求的对应实例的单独未决状态,其中,所述第二动作意图请求的对应实例设置在所述汽车计算机系统处。在一些实施方式中,所述第二动作意图请求的未决状态由经由所述客户端设备可访问的第一自动化助理事件处理器指示,并且所述第二动作意图请求的对应实例的单独未决状态由经由所述汽车计算机系统可访问的第二自动化助理事件处理器指示。

在一些实施方式中,所述汽车计算机系统没有安装下述应用:(i)由提供所述客户端设备处的应用的第三方提供的应用,以及(ii)至少部分与所述客户端设备处的应用相关的应用。在一些实施方式中,所述汽车计算机系统与单独客户端设备配对,所述客户端设备包括由相对于所述客户端设备处的所述应用不同的第三方提供的另一应用,并且所述方法进一步包括:由所述汽车自动化助理识别在单独客户端设备处生成的单独动作意图请求,所述单独客户端设备与所述汽车计算机系统配对。在一些实施方式中,所述单独动作意图请求包括由所述单独客户端设备生成的另一标识符,并且所述方法进一步包括:基于所述标识符和所述另一标识符之间的差异,将所述第一动作意图请求指定为优先于所述单独动作意图请求。

在其他实施方式中,一种由一个或多个处理器实现的方法被阐述为包括下述的操作,诸如使用汽车计算机系统,经由无线通信方式(modality)与第一客户端设备连接,所述第一客户端设备包括客户端自动化助理,以及所述汽车计算机系统包括汽车自动化助理和汽车传感器应用,所述汽车传感器应用被配置为监控所述汽车计算机系统的至少一个传感器。该方法还可以包括使用汽车计算机系统,经由无线通信方式与第二客户端设备连接,所述第二客户端设备包括另一客户端自动化助理。该方法还可以包括由所述汽车计算机系统确定在所述第一客户端设备处由应用生成第一动作意图请求,其中,所述应用对应于特定类别的服务并且由第一服务提供者提供。该方法还可以包括由所述汽车计算机系统确定在所述第二客户端设备处由另一应用生成第二动作意图请求,其中,所述另一应用对应于所述特定类别的服务并且由第二服务提供者提供。该方法可以进一步包括使用所述汽车计算机系统确定在所述汽车传感器应用处生成第三动作意图请求,其中,所述第三动作意图请求基于来自所述汽车计算机系统的传感器的传感器数据来生成。该方法还可以包括由所述汽车自动化助理生成指示所述第一动作意图请求、所述第二动作意图请求和所述第三动作意图请求中的每一动作意图请求的未决状态的数据,其中,所述数据存储在所述汽车计算机系统中。该方法可以进一步包括根据所生成的数据,使得连接到汽车计算机系统的一个或多个接口提供用于所述第一动作意图请求、所述第二动作意图请求和所述第三动作意图请求中的每个动作意图请求的通知。

在一些实施方式中,该方法可以包括响应于确定在所述汽车传感器应用处生成第三动作意图请求,使得所述第三动作意图请求的对应实例被存储在所述第一客户端设备处。在一些实施方式中,该方法可以包括在连接到所述汽车计算机系统的一个或多个接口处接收用户输入;以及响应于接收到所述用户输入,使得在所述汽车计算机系统处解除与所述第三动作意图请求相关联的通知的未决状态以及在所述第一客户端设备处解除所述第三动作意图请求的对应实例。在一些实施方式中,所述特定类别的服务是消息传递服务,并且所述第一服务提供者与所述第二服务提供者不同。在一些实施方式中,该方法可以包括:对于所述第一动作意图请求和所述第二动作意图请求中的每个动作意图请求,处理由每个动作意图请求体现的每个消息的内容,其中,对每个消息的内容的处理,是在不关注每个消息是否由第一服务提供者和第二服务提供者中的服务提供者提供的情况下而被执行的。在一些实施方式中,生成指示每个动作意图请求的未决状态的数据包括:由所述汽车自动化助理生成第一动作意图请求、第二动作意图请求和第三动作意图请求中的每个动作意图请求的对应实例。

在又一其他实施方式中,一种由一个或多个处理器实现的方法被阐述为包括下述的操作,诸如由客户端设备经由无线方式与汽车计算机系统连接,所述汽车计算机系统是车辆的组成部分并且包括汽车自动化助理,其中,所述客户端设备包括客户端自动化助理。该方法还可以包括由所述客户端设备经由所述汽车计算机系统访问由所述汽车自动化助理从所述汽车计算机系统的应用接收的动作意图请求,其中,所述应用与所述车辆的传感器通信并且所述动作意图请求至少基于来自所述传感器的信号。该方法可以进一步包括由所述客户端自动化助理基于访问所述动作意图请求,生成所述动作意图请求的对应实例,其中,所述客户端设备包括由所述客户端设备处的一个或多个其他应用提供的一个或多个其他动作意图请求。该方法还可以包括至少基于所述客户端设备变得较不接近所述车辆或所述汽车计算机系统,使所述客户端设备与所述汽车计算机系统断开连接。该方法可以进一步包括在与所述汽车计算机系统断开连接之后,由所述客户端自动化助理根据所述动作意图请求的对应实例执行动作,其中,执行动作包括在所述客户端设备的接口处提供由所述动作意图请求识别的内容。

在一些实施方式中,所述客户端设备没有安装下述应用:(i)由提供所述汽车计算机系统处的应用的第三方提供的应用,以及(ii)至少部分与所述汽车计算机系统处的应用相关的应用。在一些实施方式中,确定特定上下文,并且所述执行响应于确定所述特定上下文。在一些实施方式中,确定所述特定上下文包括确定所述客户端设备的位置,并且所述方法进一步包括:确定由所述动作意图请求识别的内容与所述客户端设备的位置相关联,其中,所述动作响应于确定由所述动作意图请求识别的内容与所述客户端设备的位置相关联来执行。在一些实施方式中,该方法可以包括基于所述客户端自动化助理根据所述动作意图请求的对应实例执行动作,提供对在所述汽车计算机系统处被解除的动作意图请求的请求。在一些实施方式中,所述请求被提供给远程服务器设备,所述远程服务器设备被配置为与所述汽车计算机系统通信并且使所述动作意图请求在所述汽车计算机系统处被解除。在一些实施方式中,所述动作意图请求响应于用户向所述汽车计算机系统的自动化助理接口提供口头话语而生成,并且其中,所述方法进一步包括:响应于用户向所述自动化助理接口提供口头话语,从所述汽车计算机系统接收与所述口头话语相对应的数据;以及基于从所述汽车计算机系统接收的数据,向所述汽车计算机系统提供响应数据,其中,所述动作意图请求进一步基于由所述汽车计算机系统接收的响应数据。

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

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

附图说明

图1示出了车辆的透视图,该车辆可以允许多个不同的用户使车辆自动化助理与他们各自的设备中的应用交互。

图2示出了用于提供能够与其他自动化助理交互以便促进第三方应用所请求的动作的自动化助理的系统。

图3a,3b和3c示出了便携式计算设备的客户端自动化助理可以充当自动化助理的多个实例的主或主要自动化助理的场景的透视图。

图4a和4b示出了用于处理当客户端设备与汽车计算机系统通信时生成的动作意图请求的方法。

图5示出了根据从自动化助理的不同实例提供的多个不同动作意图请求来从接口提供输出的方法。

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

具体实施方式

图1示出了可以允许多个不同的用户使车辆自动化助理与他们各自的设备的每一个处的应用交互的车辆114的透视图100。当乘坐在车辆114中时,第一用户110和第二用户112可以携带不同的设备以在车辆114中,在他们旅行期间进行交互。例如,第一用户110可以携带蜂窝设备124(即,客户端设备),而第二用户112可以携带平板设备116(即,客户端设备)。车辆114可以包括汽车计算机系统102,其可以向用户提供对汽车自动化助理104的访问。蜂窝设备124和平板设备116中的每一个可以分别包括客户端自动化助理126和客户端自动化助理118。此外,当每个用户将他们各自的设备带入车辆114时,汽车自动化助理104可以充当主自动化助理。以这种方式,每个用户不一定必须将他们各自的设备专门配对到汽车计算机系统102。此外,根据汽车自动化助理104的一些实施方式,汽车计算机系统102不一定需要具有安装在每个客户端设备上的相同应用。以这种方式,汽车计算机系统102可以更有效地使用存储器,而且,由于安装的应用较少,汽车计算机系统102将不会消耗同样多的网络带宽来检索更新并与服务器通信。这些益处可以部分地经由在车辆114处可用的无线通信方式,通过每个相应的自动化助理之间的交互来实现。此外,可以在服务器上实现类似的益处,否则这些服务器将使用电话号码来认证和传递每个消息。

例如,每个用户可以携带他们各自的客户端设备进入车辆114,并且每个客户端设备可以包括和/或生成动作意图请求。例如,平板设备116可以包括能够生成动作意图请求122的一个或多个平板电脑应用120,而蜂窝设备124可以包括能够生成动作意图请求130的一个或多个蜂窝应用128。平板电脑应用120和/或蜂窝应用128可以是第三方应用和/或由与提供或开发自动化助理的一个或多个实例的实体不同的实体提供或开发的应用。

当第一用户110和第二用户112最初携带他们各自的客户端设备进入他们的车辆114时,每个客户端设备可以确定车辆114包括能够通过无线方式进行通信的汽车计算机系统102。此外,每个客户端设备可以确定汽车计算机系统102包括汽车自动化助理104。具体地,客户端自动化助理118和客户端自动化助理126可以确定汽车计算机系统102包括汽车自动化助理104。响应于做出该确定,客户端自动化助理118可以使得在汽车计算机系统102处生成动作意图请求122的对应实例,并且客户端自动化助理126可以使得在汽车计算机系统102处生成动作意图请求122,130的对应实例。结果,汽车自动化助理104可以经由一个或多个用户与汽车自动化助理104之间的交互来促进与动作意图请求(被本地存储为动作意图请求108)的相应实例相关联的任何动作。此外,尽管汽车计算机系统102包括汽车应用106,其可能不等效于或者以其他方式作为平板电脑应用120和/或蜂窝应用128的任何一个应用的实例,汽车自动化助理104可以促进由动作意图请求108识别的动作。例如,汽车应用106可以包括维护应用,该维护应用向汽车自动化助理104提供关于车辆114的信息。该信息可以与平板设备116和蜂窝设备124中的一个或多个均共享,尽管任何一个设备不包括维护应用的等效或维护应用的实例。这可以允许每个用户在他们旅行期间不必关注他们的设备,相反,而是依赖于汽车自动化助理104来中继他们各自的通知和/或促进任何特定动作。

图2示出了用于提供自动化助理的系统200,该自动化助理能够与其他自动化助理交互以便促进由第三方应用所请求的动作。自动化助理204可以作为在一个或多个计算设备(诸如第一客户端设备216(例如,蜂窝电话242)、第二客户端设备218(例如,平板设备244)和/或远程计算设备202(诸如服务器设备230))处提供的助理应用的一部分来操作。用户可以经由(例如,在车辆240内部的)助理接口(其可以是麦克风、相机、触摸屏显示器、用户接口和/或能够在用户和应用之间提供接口的任何其他装置)与自动化助理204交互。例如,用户可以通过向助理接口提供口头、文本和/或图形输入来初始化自动化助理204,以使自动化助理204执行功能(例如,提供数据、控制外围设备、访问代理等)。第一客户端设备216可以包括显示设备,该显示设备可以是显示面板,该显示面板包括用于接收触摸输入和/或手势的触摸界面,该触摸输入和/或手势用于允许用户经由触摸界面控制第一客户端设备216的蜂窝应用250。第二客户端设备218也可以包括显示设备,该显示设备可以是显示面板,该显示面板包括用于接收触摸输入和/或手势的触摸界面,该触摸输入和/或手势用于允许用户经由触摸界面控制第二客户端设备218的蜂窝应用254。在一些实施方式中,第二客户端设备218可以缺少显示设备,从而提供可听用户接口输出,而不提供图形用户接口输出。此外,第二客户端设备218可以提供用于从用户接收口头自然语言输入的用户接口,诸如麦克风。

第一客户端设备216和第二客户端设备218可以通过网络214(诸如因特网)与远程计算设备202通信。第一客户端设备216和第二客户端设备218可以将计算任务卸载到远程计算设备202,以便节省第一客户端设备216和第二客户端设备218中的每一个的计算资源。例如,远程计算设备202可以托管自动化助理204,并且第一客户端设备216和/或第二客户端设备218可以将在一个或多个助理接口处接收的输入发送到远程计算设备202。然而,在一些实施方式中,自动化助理204可以被托管在第一客户端设备216和/或第二客户端设备218处。在各种实施方式中,自动化助理204的所有方面或少于所有方面可以在第一客户端设备216和/或第二客户端设备218上实现。在这些实施方式中的一些中,自动化助理204的方面经由第一客户端设备216或第二客户端设备218的本地助理应用来实现并且与实现自动化助理204的其他方面的远程计算设备202对接。远程计算设备202可以可选地经由多个线程服务于多个用户及其相关联的助理应用。在经由第一客户端设备216的客户端自动化助理226或第二客户端设备218的客户端自动化助理226实现自动化助理204的所有方面或少于所有方面的一些实施方式中,客户端自动化助理可以是与第一客户端设备216和/或第二客户端设备218的操作系统分开(例如,安装在操作系统的“上方”)-或者可替代地直接由第一客户端设备216或第二客户端设备218的操作系统实现(例如,被认为是操作系统的应用,但是与操作系统集成)的应用。

在一些实施方式中,远程计算设备202可以包括语音到文本引擎216,其可以处理在助理接口处接收的音频数据以识别在音频数据中体现的文本。用于将音频数据转换为文本的过程可以包括语音识别算法(其可以采用神经网络)、word2vec算法和/或用于识别对应于单词或短语的音频数据组的统计模型。从音频数据转换的文本可以由文本解析引擎208解析并且可由自动化助理204获得,作为可以被用来从用户和/或第三方应用生成和/或识别命令短语的文本数据。

在一些实施方式中,远程计算设备202可以包括文本到语音引擎228,用于将文本数据转换为音频数据。例如,响应于汽车自动化助理234识别与所接收的消息相关联的未决动作意图请求238,汽车自动化助理234可以使对应于该消息的内容被发送到文本到语音引擎228。响应于接收到该内容,文本到语音引擎228可以将内容转换为音频数据,该音频数据可以被发送回汽车自动化助理234。汽车自动化助理234然后可以使音频数据被从音频接口(例如,扬声器)输出为音频输出。可以使用可以将文本数据转换为音频(例如,对应于自然语言输出的音频)的神经网络、统计模型和/或任何其他装置或模块,将文本转换为音频。在一些实施方式中,语音到文本引擎216、文本到语音引擎228和/或文本解析引擎208中的每一个可以位于一个或多个客户端设备,诸如汽车计算机系统232、第一客户端设备216和/或第二客户端设备218处。以这种方式,相应的自动化助理不一定必须将数据传输到远程服务器以处理,而是在本地处理该数据以便为用户生成和/或解释特定数据。

在一些实施方式中,可以在汽车计算机系统232、第一客户端设备216和/或第二设备端设备218处提供和/或执行服务器设备230的引擎、应用和/或操作中的一个或多个。例如,在一些实施方式中,汽车计算机系统232可以包括文本到语音引擎228和/或语音到文本引擎216。此外,在一些实施方式中,当在托管相应助理的设备与服务器设备230之间存在连接时,可以将在汽车自动化助理234、客户端自动化助理246和/或客户端自动化助理248处接收的任何内容发送到服务器设备230。替选地,或者附加地,当在相应的设备或系统与服务器设备230之间没有可用连接时,所接收的任何内容可以在相应的设备上排他地处理和/或与其他本地设备共享,以便可以并行地处理内容。例如,当内容对应于在第二客户端设备218处接收并且发送到汽车计算机系统232的消息时,汽车计算机系统232可以使用本地文本到语音引擎以便生成当用户乘坐车辆时可以提供给用户的音频。

在一些实施方式中,包括一个或多个应用的每个设备或系统还可以包括一个或多个对应的动作意图生成引擎。动作意图生成引擎可以由应用控制,以便使得某些动作将由该应用、另一应用和/或可访问该应用的任何其他模块执行。例如,应用可以是消息传递应用,并且消息传递应用可以接收呼入消息。响应于接收到呼入消息,消息传递应用的动作意图生成引擎可以生成用于经由自动化助理向用户提供通知的动作意图。动作意图可以识别要执行的动作(例如,提供通知)、接收的消息的内容、与消息相关联的自定义标识符、和/或可以与该消息相关联的任何其他数据。

在一些实施方式中,每个动作意图生成引擎和/或应用可以与指示能够由该应用执行的动作的类型的声明和/或清单文件相关联。例如,消息传递应用可以包括清单文件,该清单文件指示消息传递应用能够至少接收消息、将消息告知用户和/或响应消息。操作系统和/或自动化助理可以访问一个或多个设备上的每个清单文件,以便确定特定应用是否可以处理特定动作。以这种方式,例如,可以基于其中一个设备处的特定清单文件是否指示在该设备处存在可以处理动作意图的应用,将在汽车计算机系统232处生成的动作意图提供给第一客户端设备216或第二客户端设备218。如果不止一个应用可以处理特定动作意图,则发起设备和/或单独设备可以提示用户(例如,经由图形用户接口)选择设备以处理特定动作意图。

在一些实施方式中,每个动作意图生成引擎还可以根据与动作意图的每个动作意图相关联的客户标识符来生成和/或过滤动作意图。例如,当动作意图生成引擎在应用的指示下生成动作意图时,动作意图生成引擎还可以生成自定义标识符。可以基于在执行动作时使用的内容的标识符、表示发起应用的标识符、接收者的标识符、发起用户的标识符、动作意图的上下文的标识符,和/或可以用作生成标识符的基础的任何其他信息,生成自定义标识符。

每个自动化助理和/或操作系统可以被配置为解析动作意图以识别内容数据、待执行的预期动作和/或自定义标识符。在一些实施方式中,自动化助理可以处理相对于发起应用看似不可知的每个动作意图。例如,尽管第一客户端设备216和第二客户端设备218包括不同的消息传递应用,但是汽车计算机系统232可以从任一消息传递应用检索动作意图请求并且经由汽车计算机系统232的自动化助理接口,将消息读取给用户。例如,第一客户端设备216处的消息应用可以生成动作意图请求252,并且当用户进入车辆240时,可以由汽车自动化助理234访问未决动作意图请求。然后,汽车自动化助理234可以生成未决动作意图请求的对应实例。因为动作意图请求提供的内容数据可以包括诸如“嘿,你走了吗?”的数据,所以汽车自动化助理234可以确定内容数据对应于呼入消息。因此,因为许多不同的消息传递应用将以类似的方式生成动作意图,所以汽车自动化助理234可以用于以通用方式呈现和响应这样的动作意图,和/或对提供相应消息传递应用的实体(例如,第一服务提供者、第二服务提供者等)相对不可知。

在一些实施方式中,可以通过使用语音到文本引擎来处理与多个口头话语相对应的音频数据,而不是在语音识别引擎和自动化助理之间执行多个回合来保存计算资源。例如,主自动化助理可以从用户接收命令,诸如“向robert发送消息”。作为响应,主自动化助理可以具有预先配置的响应,诸如“好的,您希望使用哪个消息传递应用?你的第一应用、第二应用还是你的第三应用?”用户可以提供响应,诸如“我的第一应用”,然后指示一条消息,诸如“你今天过得怎么样?”在一些实施方式中,自动化助理可以确认消息传递应用使用并提示用户是否要发送或更改消息(例如,“好的,我应该发送消息还是更改消息?”)。此时,用户可以请求选择不同的消息传递应用。例如,用户可以回复“请使用第二消息传递应用而不是第一消息传递应用发送”。作为响应,自动化助理然后可以使消息由第二消息传递应用传输。这可以减少用户和自动化助理之间的回合数,因为不需要为每个单独消息传递应用定制消息处理。

在一些实施方式中,每个自动化助理(例如,汽车自动化助理234)可以访问和/或管理包括与未决动作意图请求相对应的数据的事件处理器。当执行促进未决动作意图请求的动作时,可以更新每个自动化助理的每个事件处理器。在一些实施方式中,事件处理器可以包括对应于相同事件的未决动作意图请求。例如,多个不同的动作可以与接收的消息相关联。因此,当用户在其第一客户端设备216处接收到文本消息时,相应的消息传递应用可以生成用于处理所接收的文本消息的多个动作意图请求。当第一客户端设备216通过无线方式(诸如但不限于蓝牙、wi-fi、lte等)与汽车计算机系统232配对时,汽车自动化助理234可以生成多个动作意图请求的对应实例。多个动作意图请求的相应实例可以由汽车自动化助理234的事件处理器管理,并且可以包括将多个动作意图请求的对应实例与在第一客户端设备216处接收的文本消息相关联的一些数据量。例如,由汽车自动化助理234的事件处理器识别的动作意图请求可以对应于向用户告知文本消息并且提示用户关于他们是否想要响应的动作。汽车自动化助理234可以执行与所接收的文本消息有关的两个动作,而无需直接本地访问安装在第一客户端设备216处的消息传递应用。

图3a、3b和3c示出了场景的透视图300,302和304,其中,便携式计算设备的客户端自动化助理可以充当自动化助理的多个实例的主自动化助理。例如,当用户在他们的家318中时,可以在与用户相关联的汽车316处检测到故障。问题可能是,例如,啮齿动物在夜间咬穿了汽车316的电缆,诸如连接到制动传感器的电线。虽然汽车316的汽车计算机系统306可以在待机模式下操作,但是汽车自动化助理308可以响应该问题,并且生成与该问题相关联的一个或多个动作意图请求312。具体地,汽车自动化助理308可以生成用于向用户显示汽车问题通知(例如,“制动传感器”)的动作意图请求314,以及用于提示用户计划维护(例如“计划检修”)以解决该问题的另一动作意图请求320。可以使用相同的自定义标识符(例如,“4kajc92w”)生成每个动作意图请求,其可以与发起问题相关联。此外,每个动作意图请求可以识别要执行的动作(例如,“通知”和“计划”)。

图3b示出了用户322携带他们的蜂窝设备328进入汽车316的透视图302,其中蜂窝设备328还包括自动化助理的实例,作为客户端自动化助理328。在一些实施方式中,汽车计算机系统306可以包括未直接安装到蜂窝设备328的汽车应用310。此外,在一些实施方式中,蜂窝设备328可以包括未直接安装到汽车计算机系统306的蜂窝应用332。无论如何,可以通过无线方式,在汽车计算机系统306和蜂窝设备328之间传送动作意图请求,并且可以由相应的自动化助理解析该动作意图请求。

例如,动作意图请求314和320可以由汽车应用310的维护应用生成并且由汽车自动化助理308访问。当用户322携带他们的蜂窝设备328进入车辆时,汽车计算机系统306和蜂窝设备328可以执行握手,以确保在它们之间提供安全通信信道326。当已经建立了通信信道326时,客户端自动化助理330可以识别在汽车计算机系统306处可用的未决动作意图请求312。此外,汽车计算机系统306可以识别在蜂窝设备328处可用的任何动作意图请求334。当客户端自动化助理330确定动作意图请求314和320在蜂窝设备328处没有任何对应实例时,客户端自动化助理330可以使动作意图请求314和320的实例可用在蜂窝设备328处。蜂窝设备328处的动作意图请求314和320的实例可以包括来自汽车计算机系统306的相同自定义标识符,从而允许随时间推移编译特定事件(例如,所检测的制动传感器器的问题)的更新。

图3c示出了在生成动作意图请求314和320的实例之后,用户322在其家346中的透视图304。具体地,用户322可以进入他们的家346,并且作为响应,客户端自动化助理可以尝试完成由动作意图请求314和320指示的动作。例如,客户端自动化助理可以使蜂窝设备328的显示界面呈现可选择元素338和340,其可以对应于动作意图请求314和320。替选地,用户322可以向蜂窝设备328的接口(例如,麦克风)提供口头说话336,以使客户端自动化助理呈现与任何未决动作意图请求相关联的任何通知。例如,用户322可以提供口头话语336,诸如“助理,显示未决通知”。作为响应,客户端自动化助理使附近的显示面板向用户322呈现与动作意图请求相关联的通知。

如果用户322选择可选元素338和340中的任一个,则可以在包括动作意图请求314和320的实例的每个设备处解除动作意图请求314和320的未决状态。例如,可以在汽车计算机系统306和蜂窝设备328处解除动作意图请求314和320的实例。在一些实施方式中,当响应于用户选择可选元件338和340,数据可以通过网络342传输到远程设备344时,可以在汽车计算机系统处解除动作意图请求314和320。此后,远程设备344可以由汽车计算机系统306访问,汽车计算机系统306可以根据远程设备344处的数据,更新汽车计算机系统306的事件处理器。

图4a和4b示出了用于处理当客户端设备与汽车计算机系统通信时产生的动作意图请求的方法400和410。方法400和410可以由计算设备、应用和/或能够通过无线连接进行通信的任何其他装置或模块中的一个或多个来执行。方法400可以包括由汽车自动化助理识别在客户端设备处生成的第一动作意图请求的操作402。客户端设备可以经由无线通信方式与汽车计算机系统配对。第一动作意图请求可以例如响应于在客户端设备处的应用处执行的操作(例如,接收消息)而由该应用生成。在一些实施方式中,汽车计算机系统可以没有客户端设备的应用的对应实例。具体地,汽车计算机系统可以没有由提供客户端设备处的应用的第三方提供的单独应用,和/或至少部分地与客户端设备处的应用相关联。例如,应用可以是文本消息传递应用,并且汽车计算机系统可以没有文本消息传递应用。

方法400可以进一步包括确定第一动作意图请求识别待执行的第一请求动作、内容数据和自定义标识符的操作404。第一请求动作可以是告知用户在客户端设备处安装的消息传递应用处接收到呼入消息的请求。内容数据可以识别所接收的文本消息中提供的一些或所有文本(例如,“你在路上吗?”)。此外,自定义标识符可以是一串数据,其可以提供所接收的文本消息和第一动作意图请求之间的对应关系,以便随后将对第一动作意图请求采取的任何进一步动作与所接收的文本消息相关联。

方法400还可以包括使汽车计算机系统可访问的自动化助理接口向汽车计算机系统的用户提供输出的操作406。例如,响应于汽车自动化助理确定第一动作意图请求对应于提供通知的动作,可以提供输出。该通知可以在自动化助理接口上呈现,该自动化助理接口可以是连接到汽车计算机系统的显示面板。替选地,自动化助理接口可以是连接到汽车计算机系统的扬声器,并且通知可以是可听音频输出,诸如,“matthew给你发了一条消息,问'你在路上吗?'”。

方法400可以进一步包括操作408:由汽车自动化助理确定用户响应于在自动化助理接口处提供的输出而提供输入。例如,用户可以向汽车的自动化助理接口(例如,麦克风)提供响应口头话语,诸如“请回答,'是的,我正在路上'”。汽车自动化助理可以接收与响应口头话语相对应的音频数据,或者使音频数据在本地处理或者将音频数据发送到单独设备以处理。通过处理音频数据,汽车自动化助理可以确定用户是否已经确认了文本消息的通知,以及用户想要执行的任何其他动作。例如,响应于接收到响应口头话语,汽车自动化助理可以使得生成第二动作意图请求。

方法400可以进行到方法410,如由图4a和4b中圈出的延续元素“a”所示。方法410可以包括向客户端设备并且响应于确定用户提供输入,提供第二动作意图请求的操作412。第二动作意图请求可以识别第二请求动作、其他内容数据和/或与第一动作意图请求相关联的自定义标识符。第二请求操作可以是响应于在消息传递应用处接收的文本消息的请求。其他内容数据可以包括基于响应口头话语的文本(例如,“content-data='文本:是,我在路上'”),并且自定义标识符可以是来自第一动作意图请求的相同自定义标识符。

方法410可以进一步包括操作414,该操作414使得使用其他内容数据,由应用在客户端设备处执行第二请求动作。例如,当动作包括发送响应消息时,客户端设备可以使用内容数据来生成响应消息,并将响应消息发送给最初将文本消息发送到客户端设备的人。为了识别第二动作意图请求对应的文本消息和/或应用,客户端设备处的自动化助理的实例可以将自定义标识符与随第一动作意图请求一起提供的自定义标识符进行比较。替选地或附加地,自动化助理可以基于消息传递应用是否可以执行第二请求动作来识别消息传递应用,如由消息传递应用的清单文件所示。然后,客户端设备处的自动化助理可以使消息传递应用执行第二请求动作,从而发送对应于响应口头话语的文本消息。

图5示出了根据从自动化助理的不同实例提供的多个不同动作意图请求来从接口提供输出的方法500。方法500可以由计算设备、应用和/或能够与自动化助理交互的任何其他装置或模块中的一个或多个来执行。方法500可以包括通过汽车计算机系统并且经由无线通信方式,与包括客户端自动化助理的第一客户端设备连接的操作502。第一客户端设备可以是例如便携式计算设备,诸如蜂窝电话或平板电脑,并且汽车计算机系统可以是与能够运送多个乘客的车辆集成的计算设备。此外,无线方式可以是一个或多个无线通信协议,诸如蓝牙、wi-fi、lte和/或多个计算设备可以进行交互的任何其他方式。

方法500可以进一步包括操作504:通过汽车计算机系统并且经由无线通信方式,与包括另一客户端自动化助理的第二客户端设备连接。可以向另一客户端自动化助理提供与该客户端自动化助理相同或不同的实体,并且第二客户端设备可以是与第一客户端设备相同或不同类型的客户端设备。例如,第一客户端设备可以由汽车的驾驶员拥有,而第二客户端设备可以由汽车的乘客拥有。此外,当汽车的驾驶员和乘客进入汽车时,可以执行操作502和操作504。这样,当驾驶员和乘客在汽车中时,汽车自动化助理将能够与客户端自动化助理和另一客户端自动化助理交互。

方法500可以进一步包括确定由第一客户端设备处的应用生成第一动作意图请求并且由第二客户端设备处的另一应用生成第二动作意图请求的操作506。第一动作意图请求可以对应于向驾驶员呈现通知的请求,并且通知可以提供关于在第一客户端设备处接收的消息的信息。第二动作意图请求可以对应于向乘客呈现不同通知的不同请求。另一通知可以提供关于在第二客户端设备处接收的不同消息的不同信息。

方法500还可以包括确定由汽车计算机系统处的单独应用生成第三动作意图请求的操作508。单独应用可以是例如监视汽车的一个或多个传感器的维护应用。此外,第一客户端设备和第二客户端设备可以没有维护应用的任何对应实例。在一些实施方式中,第三动作意图请求可以对应于向驾驶员提供关于汽车状况的通知的请求,诸如油更换过期和/或需要更换制动液。

方法500还可以包括在汽车计算机系统处生成指示第一动作意图请求、第二动作意图请求和第三动作意图请求中的每个动作意图请求的未决状态的数据的操作510。数据可以体现为事件处理器引擎或可由其访问,该事件处理器引擎能够安排与来自各种不同应用和/或设备的各种不同动作意图请求相对应的数据。例如,数据可以识别每个动作意图请求的优先级。动作意图请求的优先级可以基于例如,是否在包括主自动化助理(即,至少一个以上其他自动化助理正在与之通信的自动化助理)的设备处生成动作意图请求。例如,当驾驶员和乘客乘坐汽车时,主自动化助理可以是汽车自动化助理,因为它安装在汽车的汽车计算机系统中。下一优先级可以给予由与车辆的驾驶员相关联的设备(诸如第一客户端设备)提供的动作意图请求。此后,可以将其他优先级分配给与汽车的乘客相关联的动作意图请求。

方法500可以进一步包括操作512,其基于所生成的数据,使连接到汽车计算机系统的一个或多个接口提供用于第一动作意图请求、第二动作意图请求和/或第三个动作意图请求中的每个动作意图的通知。在一些实施方式中,汽车计算机系统可以包括诸如显示面板的接口,在该接口处呈现图形元素,并且一个或多个图形元素可以对应于任一动作意图请求。此外,显示面板可以是触摸界面,通过该触摸界面,用户可以选择图形元素以便确认通知并且使得在汽车计算机系统处生成另一动作意图请求。

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

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

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

存储子系统624存储提供本文描述的一些或所有模块的功能的编程和数据结构。例如,存储子系统624可以包括用于执行方法400、方法500的所选方面的逻辑,和/或实现汽车自动化助理、汽车计算机系统、客户端自动化助理、客户端设备、远程设备、服务器设备、车辆和/或本文讨论的任何其他模块或装置中的一个或多个的逻辑。

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

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

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1