用于管理未完成的自动助理动作的系统、方法和装置与流程

文档序号:23067938发布日期:2020-11-25 17:55阅读:163来源:国知局
用于管理未完成的自动助理动作的系统、方法和装置与流程



背景技术:

人类可以与交互式软件应用进行人机对话,该交互式软件应用在本文被称作“自动助理”(也被称作“聊天机器人”、“交互式个人助理”、“助理应用”、“智能个人助理”、“个人语音助理”“对话代理”等)。例如,人类(当他们与自动助理交互时的人类可以被称作“用户”)可以使用自由形式的自然语言输入和/或通过键入的自由形式的自然语言输入来提供命令、查询、和/或请求(本文统称为“查询”),该自由形式的自然语言输入可以是转换为文本并且然后进行处理的口头话语。

在许多情况下,可以跨多个计算设备实现自动助理的逻辑实例。例如,自动助理的逻辑实例可以包括安装在用户的移动电话(或其他客户端设备)上的自动助理客户端以及一个或多个基于云的自动助理组件。自动助理客户端可以被配置成向用户提供自动助理接口,用户可以与自动助理接口交互以参与和自动助理的人机对话。例如,自动助理客户端可以接受用户的口头话语、键入的输入和/或其他输入,并且可以以图形和/或听觉方式提供对这些输入的自动助理响应。然而,自动助理客户端仍然可以依靠基于云的自动助理组件来执行各种自动助理功能,诸如处理由自动助理客户端接受的输入,生成对输入的响应(例如,通过与代理应用的交互)等。在一些实例中,基于云的自动助理组件可以从用户收集信息,以促成完成诸如编写消息或下订货单的动作。如果由于影响用户或参与的设备的某一事件而中断了动作,则用户可能必须随后重复先前提供给自动助理的信息。这可能会浪费计算资源,因为每次用户重复信息以促成完成动作时,这种信息提供可能都需要进行语音到文本的处理。此外,响应于接收到对执行动作的重复请求,自动助理可以使得执行多个服务器查询,从而导致网络资源和能量的消耗。这可能会不利地影响依赖自动助理和/或托管自动助理的任何设备的其他过程。



技术实现要素:

本公开总体上涉及用于恢复将由自动助理执行的部分完成的动作的方法、装置和计算机可读介质(暂时性和非暂时性的)。用户可以与自动助理进行多次轮换或交换,以便使自动助理执行特定动作。然而,如果用户、自动助理或用户借以与自动助理进行接口的设备被中断,如果中断之后自动助理无法访问关于被中断的动作的信息,则为完成动作而付出的任何努力都可能被浪费(包括客户端设备和/或服务器资源)。例如,用户可以请求自动助理向特定联系人发送消息。使自动助理发送消息可能会要求用户向自动助理提供多个命令,并响应于来自自动助理的不同响应。如果在特定的响应或命令期间存在中断,诸如当用户正详细说明消息的内容时,则用户可能必须重复该内容以及先前提供的任何其他信息,以促成自动助理发送消息。这可能会浪费计算资源,因为至少部分托管自动助理的任何设备都已经处理了语音到文本,并调配了一定量的存储器来发送消息,仅用于在中断后重复该过程。为了克服与此类中断有关的这些问题和其他问题,自动助理可以使部分组合的动作进行存储,使得允许在中断之后对它们进行随后的检索、修改和/或执行。这可以帮助提高对包括网络中断在内的中断的响应的鲁棒性,否则可能会导致计算资源和网络资源的低效使用。

在一些实施方式中,在特定中断或事件可能会干扰用户与自动助理之间的交互之前,可以对中断进行资格鉴定。举例来说,设备或自动助理可以识别与应用或单独的设备相关联的事件,并确定该事件是否值得中断用户与自动助理之间的交互。该事件可以是例如来电、应用更新、短信、导航信息、车辆信息(例如,来自车辆传感器的低燃料位信号)和/或可以是由设备发送或接收的任何其他信号。在一些实施方式中,值得中断交互的事件可以是与识别该事件时用户正在从事的活动直接相关的事件。此类事件可以被资格鉴定为高优先级,并且将使用户和自动助理之间的交互被中断,并因此使与交互相关联的数据至少暂时被存储,直到用户愿意完成交互为止。

例如,当用户正在驾驶其车辆并与至少部分地由车辆计算设备托管的自动助理交互时,车辆计算设备可以识别事件。当该事件与车辆的控制有关时,诸如如果该事件与道路危险、车辆维护和/或来自用户正导航到其地址的人的来电有关,则该事件可以被资格鉴定为高优先级事件。因此,如果用户正引导自动助理发送消息,并且车辆计算设备识别出前面提及的事件,则可以暂停用于发送消息的交互并作为数据存储在本地,自动助理随后可以检索该数据。

在一些实施方式中,事件可以被资格鉴定为中等优先级或低优先级事件,并且因此将以其他方式影响用户与自动助理之间的交互。举例来说,当事件与用户正在进行的活动有关和/或潜在地要求用户至少暂停其活动以便响应该事件时,该事件可以被资格鉴定为中等优先级事件。在一些实施方式中,当用户正驾驶车辆并且事件与文本消息、导航指令和/或预配置的提醒相关联时,该事件可以被资格鉴定为中等优先级。在一些实施方式中,当识别出中等优先级事件时,可以以不中断用户与自动助理之间的交互的方式将中等优先级事件呈现给用户。例如,如果用户正在驾驶车辆并与自动助理进行交互以订购物品清单,并且识别出对应于传入文本消息的事件,则可以在附近计算设备(诸如一体地形成的车辆计算设备或其他便携式计算设备)上视觉呈现通知和/或文本消息。在一些实施方式中,与中等优先级事件相关联的视觉通知可以与消息一起呈现,从而通知用户暂停当前交互并稍后恢复交互的能力。这使用户注意到他们能够要求助理暂停交互,响应或确认中等优先级事件和/或随后恢复交互直到完成。

当事件不与用户正在进行的活动相关联,过去没有被用户赋予优先级,不要求响应或确认,和/或在收到时以其他方式被确定成低优先级时,该事件可以被资格鉴定为低优先级。当事件是在用户与自动助理之间的交互期间接收到时,可以在交互完成之后、当用户已暂停交互时或由于高优先级传入信号,向用户呈现已经被资格鉴定为低优先级的那些事件。

在一些实施方式中,自动助理可以是被提供在计算机设备的操作系统顶部的应用,该计算机设备诸如但不限于车辆计算设备。因此,可能存在与计算设备相关联的警报、通知、信号传输和/或其他事件。自动助理可以创建此类事件的列表并资格鉴定此类事件,以确定是否应响应于事件发生而中断用户与自动助理之间的交互。例如,如果操作系统指示在交互期间特定消息或事件的优先级高于助理,则可以记录与该消息或事件关联的应用的名称,并且可以将该消息或事件视为高优先级。作为响应,可以以允许在将来的时间完成交互的方式存储对应于交互的数据,并且然后可以中断交互以便呈现与高优先级消息或事件有关的通知。

在一些实施方式中,可以以允许在中断后完成交互的方式来存储未完成的交互。例如,未完成的交互可以存储在语义表示中,该语义表示详细描述了未完成的交互的每个交换、输入、输出和/或任何其他步骤中所涉及的数据。数据可以识别生成数据的实体、交互类型、在交互期间来自用户的任何自然语言输入、与交互相关联的功能的槽值、完成交互所需要的信息的槽标识符、与交互相关联的一个或多个时间戳和/或在交互已经被中断之后可能对随后完成交互有帮助的任何其他数据。

为了继续完成先前已经中断的交互,自动助理可以提供识别先前已经中断的一个或多个交互的建议。然后,用户可以选择要完成的交互,调用自动助理以初始化交互的完成,和/或提供任何其他合适的输入以使自动助理执行特定动作。例如,当中断是关于用户驾驶时道路上的障碍物的更新,并且用户已经通过障碍物或已经确认该更新时,自动助理可以使在连接到车辆计算设备的显示面板上呈现视觉通知。该视觉通知可以识别中断的交互或对应于该交互的动作,并且用户可以触摸该视觉通知以便继续交互直到完成。在一些实施方式中,该中断可以是可听见的通知,诸如车辆通知(例如,“低燃料警报”)。自动助理可以确认收到可听见的通知,并且作为响应,自动助理可以暂时存储对应于该交互的数据。此后,一旦可听见的通知完成,自动助理就可以在听觉上建议用户完成存储的交互(例如,“您发给kathy的消息被中断。是否继续给kathy编写消息?”)。

可替代地,可以在显示面板上提供视觉通知,并且用户可以提供口头命令,以便使自动助理恢复交互(例如,“助理,请恢复发送消息。”)。在一些实施方式中,自动助理可以等待,直到用户在稍后的时间调用自动助理,并作为响应建议恢复先前的交互。例如,用户可以提供诸如“助理,请开始播放我的播客”等输入,并且作为响应,自动助理可以执行对应于该输入的动作,并建议恢复先前存储的交互,诸如以“好的,我会播放播客……您想恢复发送早前的消息吗?”作为输出。

在其他实施方式中,自动助理可以与用户接口相关联,该用户接口分别提供用户可以完成或重复的先前未完成和/或完成的交互的列表。举例来说,如果用户没有经由自动助理完成发送消息,则可以将交互表示为用户接口处的可选图标。当用户选择图标时,自动助理可以检索对应于与该图标相关联的交互的存储的数据,并提供指示交互状态、完成交互所需的缺失数据和/或对完成交互可能有用的任何其他信息的输出。如果自交互被中断或显现为未完成以来已经过去阈值时间段,则自动助理可以要求用户确认与交互相关联的特定值。举例来说,如果用户正在尝试发送消息,则自动助理可以叙述自动助理先前从用户接收的信息,诸如接收人的姓名,以促成消息。然后,自动助理可以要求用户提供完成交互所必需的额外信息,诸如消息的内容。

在一些实施方式中,动作的内容可以用于确定何时向用户提供关于完成动作的建议。举例来说,虽然用户可以在驾驶的同时尝试使用语音控制来编写消息,但是在驾驶期间未完成发送消息的动作。自动助理可以存储对应于部分编写的消息的信息以及情境信息,并使用该情境信息来生成可以随后在类似情境期间触发的提醒。举例来说,下一次用户开始驾驶时,自动助理可以确认用户正在驾驶,将该情境与随任何未完成动作存储的任何情境数据进行比较,并在该情境匹配任何情境数据时提供建议。以这种方式,当用户再次开始驾驶时,可以提醒用户其先前未完成的动作(例如,“上次驾驶时,您正在给lisa编写消息。您想向lisa发送消息吗?”)。

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

在一些实施方式中,一种方法可以包括:在用户与自动助理之间的对话会话期间,在客户端设备的一个或多个输入组件处接收对将由自动助理执行的动作的请求,其中自动助理被配置成基于在对话会话期间从用户获得的一个或多个槽值而完成动作;确定对话会话期间用户正在积极参与的活动;在客户端设备处检测对话会话期间发生的事件;至少基于对话会话期间用户正在积极参与的活动,确定事件对用户的重要性的度量;基于事件对用户的重要性的度量,将事件分类为对话会话的中断;基于该分类,使在对话会话期间从用户获得的一个或多个槽值被存储在客户端设备的存储器中,其中随后可由自动助理从存储器中检索存储的一个或多个槽值以促成完成动作;以及在对事件进行分类后,使自动助理向用户提供有关完成动作的提示,其中该提示基于存储的一个或多个槽值。

在各种实施方式中,该方法可以进一步包括:在客户端设备的输入组件中的一个或多个处接收执行另一动作的单独请求,其中使自动助理提供提示包括生成对单独请求的响应,其中对单独请求的响应将动作识别为对完成动作的提醒。在各种实施方式中,在服务器设备上实现自动助理的至少一部分,客户端设备通过网络连接可访问该服务器设备。

在各种实施方式中,从用户获得的一个或多个槽值包括在客户端设备的自动助理接口处接收的自然语言输入,并且该提示识别自然语言输入的至少一部分。在各种实施方式中,在客户端设备的显示器上显现的图形用户界面处呈现该提示,并且该提示包括源自用户与自动助理之间的先前对话会话的先前未完成动作的列表。

在各种实施方式中,活动包括驾驶,客户端设备包括车载计算设备,并且确定事件对用户的重要性的度量包括确定事件与驾驶有关。在各种实施方式中,使该信息与对应于由其他对话会话引起的其他未完成动作的其他信息一起存储在列表中。

在另一方面,一种方法可以包括:接收对应于在用户驾驶车辆时发生的用户与自动助理之间的对话会话的数据,其中该数据对应于将由自动助理执行的动作的槽值,并且用户经由车载计算设备的自动助理接口与自动助理交互;基于事件对用户对车辆的操作的重要性的度量,对在对话会话期间发生的事件进行分类;基于事件被分类为是对用户与自动助理之间发生的对话会话的中断:至少暂时停止对话会话继续进行,并且使动作的槽值作为数据集存储在计算设备处,该数据集进一步识别完成动作所需的缺失数据,其中该数据集被配置成被随后检索以促成完成动作;在至少暂时停止对话会话继续进行后,使客户端设备提供识别该动作的建议输出,其中该建议输出基于存储的数据集。

在各种实施方式中,该方法可进一步包括:接收引导自动助理促成动作完成的用户输入;以及响应于接收到用户输入,生成识别缺失参数中的一个或多个的用户提示。在各种实施方式中,对事件进行分类进一步基于事件的来源。在各种实施方式中,使动作的槽值作为数据集被存储在客户端设备处包括:使该数据集与对应于经由自动助理初始化的未完成动作的其他数据集存储在一起。

在各种实施方式中,该数据集包括自事件发生以来已经过去的时间量,或识别事件何时发生的时间戳。在各种实施方式中,通过单独的自动助理接口提供该建议输出,该单独的自动助理接口与用户借以与自动助理进行交互的自动助理接口不同。在各种实施方式中,可通过网络连接来访问自动助理,并且该事件对应于客户端设备与网络连接的断开。

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

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

附图说明

图1示出了一种用于使由自动助理执行的动作能够被中断并且在稍后的时间恢复的系统。

图2a和图2b示出了用户出于使自动助理完成动作的目的而参与对话会话的透视图。

图3示出了一种用于允许用户存储将由自动助理执行的未完成动作的方法。

图4示出了一种用于恢复将由自动助理执行的先前未完成动作的方法。

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

具体实施方式

图1示出了一种用于使由自动助理104执行的动作能够被中断并在稍后的时间恢复的系统100。自动助理104可以作为在一个或多个计算设备处提供的助理应用132和/或助理应用124的一部分进行操作,所述一个或多个计算设备诸如:客户端计算设备130(例如,平板设备120);车辆计算设备122,它连接到车辆116和/或与其成一体;和/或远程计算设备122,诸如服务器设备102。用户138可以经由助理接口136与自动助理104交互,该助理接口136可以是麦克风、相机、触摸屏显示器、用户接口和/或能够在用户与应用之间提供接口的任何其他装置。举例来说,用户可以通过向助理接口136提供言语、文本或图形输入来初始化自动助理104,以使助理应用132和/或自动助理104执行功能(例如,提供数据,控制外围设备,访问代理等)。客户端计算设备130可以包括显示设备,该显示设备可以是包括触摸接口的显示面板,该触摸界面用于接收触摸输入和/或手势,以允许用户经由触摸界面来控制客户端计算设备130的应用。在一些实施方式中,客户端计算设备130可能缺少显示设备,但是提供可听见的用户接口输出,而不提供图形用户界面输出。此外,客户端计算设备130可以提供用于接收来自用户的口头自然语言输入的用户接口,诸如麦克风。

客户端计算设备130和/或车辆计算设备122可以通过诸如互联网的网络114与远程计算设备112通信。客户端计算设备130和/或车辆计算设备122可以将计算任务卸载到远程计算设备112,以便节省客户端计算设备130和/或车辆计算设备122中的每个处的计算资源。举例来说,远程计算设备112可以托管自动助理104,并且客户端计算设备130和/或车辆计算设备122可以将在一个或多个助理接口处接收到的输入传输到远程计算设备112。然而,在一些实施方式中,自动助理104可以至少部分地托管在客户端计算设备130和/或车辆计算设备122处。在各种实施方式中,可以在客户端计算设备130和/或车辆计算设备122上实现自动助理104的所有方面或少于所有方面。在这些实施方式中的一些中,自动助理104的各方面是经由客户端计算设备130和/或车辆计算设备122的本地助理应用(即,助理应用)实现的,并且与实现自动助理104的其他方面的远程计算设备112接口。远程计算设备112可以可选地经由多个线程服务于多个用户以及其关联的助理应用。在经由客户端计算设备130和/或车辆计算设备122的本地助理应用来实现自动助理104的全部方面或少于所有方面的实施方式中,本地助理应用可以是与客户端计算设备130和/或车辆计算设备122的操作系统分开的应用(例如,安装在操作系统的“顶部”),或者可以可替代地由客户端计算设备130和/或车辆计算设备122的操作系统直接实现(例如,被认为是操作系统的应用但与其成一体)。

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

用户138可以参与与自动助理104的对话会话,以便使自动助理104执行可能需要来自用户138的额外信息的特定动作。举例来说,用户138可以在驾驶车辆116的同时经由车辆计算设备122的助理接口128初始化对话会话。当用户138提供自然语言输入(诸如“助理,请执行[动作]”)时,可以初始化对话会话。作为响应,助理应用124可以将对应于自然语言输入的数据传输到服务器设备102以进行进一步处理。服务器设备102处的自动助理104可以确定用户138意图让自动助理104执行的动作,并且作为响应,向助理应用124提供额外数据以完成该动作。此种额外数据可以识别用户138需要提供以使自动助理104完成动作的槽值和/或参数。可替代地,自动助理104可以被托管在车辆计算设备122和/或客户端计算设备130处,并且因此可以在自动助理104不与服务器设备102进行通信的情况下确定用户138需要提供的槽值和/或参数中的至少一些。自动助理104可以使用槽值和/或参数,以便为用户138生成响应以促成对话会话并完成动作。

对用户138的响应可以是从助理接口128提供的自然语言输出。举例来说,当助理接口128是车辆计算设备122的音频子系统并且该动作是与消息相关的动作时,自然语言输出可以是:“好的,您希望消息的内容是什么?”。如果用户138提供消息的内容,则自动助理104可以将消息内容存储为助理交互数据106,其可以存储在服务器设备102、车辆计算设备122和/或客户端计算设备130处。此时,在对话会话期间,用户138、车辆计算设备122和/或自动助理104可能会经历中断。

中断可以是来自单独应用的通知、与用户138正在执行的活动相关联的数据的接收、从车辆计算设备122、客户端计算设备130和/或服务器设备102发送或接收的信号、由一个或多个车辆传感器发出的警报或信号和/或可以与用户138相关联的任何其他事件。应当注意,虽然图1中将用户138示出为在车辆116的外部,但是出于一些示例的目的,用户138可以位于车辆116内,从而在驾驶或参与另一活动的同时与助理应用124交互。该事件可以由助理应用124进行资格鉴定,以便确定是否应暂停对话会话或动作以便稍后恢复。举例来说,该事件可以由与自动助理104成一体或以其他方式由自动助理104访问的事件适格引擎进行资格鉴定。例如,事件适格引擎可以部分或全部托管在车辆计算设备122、客户端计算设备130和/或服务器设备102处。

事件适格引擎可以确定事件与用户138正在参与的活动之间的重要性或相关性的度量(例如,事件的优先级)。此外,可以将重要性或相关性的度量生成为可以与阈值进行比较以确定是否暂停特定动作或对话会话的值。举例来说,当用户138正在驾驶并参与对话会话以促成动作时,对应于通知的事件可能发生。可以在车辆计算设备122处呈现通知,并且通告道路上存在障碍物。这种事件可以被事件适格引擎资格鉴定为满足阈值的值(例如,高优先级),并且因此将使动作或对话会话被暂停。可能会被资格鉴定为高优先级的其他类型的事件包括但不限于由车辆自身的传感器引发的严重事件(例如,轮胎漏气、过热、一个或多个车灯故障、车门半开等)、恶劣天气警报、道路封闭等。可替代地,事件适格引擎可以将事件资格鉴定为不满足阈值的值(例如,中等优先级或低优先级),并且因此不会使动作或对话会话被暂停。此类事件可以包括与用户138的活动无关的传入文本消息、与该活动无关的电话,关于软件更新的通知、由车辆传感器引发的非严重事件(例如,低轮胎压力、到了换油时间、低燃油等)和/或可以被资格鉴定为与用户138执行的活动具有很小关联或几乎没有关联的任何其他事件。

在一些实施方式中,在对话会话期间发生的事件可以是信号丢失,举例来说,当用户138驾驶其车辆116通过隧道或网络连接存在问题的区域时。在此类实例中,事件适格引擎可以将信号丢失或网络连接性资格鉴定为满足中断对话会话的阈值的值。响应于对话会话期间发生的适格事件,在服务器设备102或客户端设备(例如,车辆计算设备122和/或客户端计算设备130)处的自动助理104可以生成数据,可以从所述数据恢复对话会话或动作。另外,可以暂停对话会话,直到事件已经停止或不再被资格鉴定为中断事件为止(例如,当信号返回正常时)。在一些实施方式中,可以离线生成和/或当网络连接性仍然不可用时生成用于恢复对话会话的建议。举例来说,可以将响应于中断而生成的数据本地存储在客户端设备处,并且在中断之后,客户端自动助理可以访问存储的数据,以便向用户提供完成交互的建议。

响应于适格事件的中断而生成的数据可以被存储为未完成动作126和/或未完成动作134。举例来说,如果该事件在用户138驾驶车辆116的同时发生,则该数据可以被存储为车辆计算设备122处的未完成动作126。此后,当事件不再发生时,用户138可以通过向助理接口128提供输入来选择恢复未完成动作126。该输入可以是口头自然语言输入,诸如“助理,请恢复上一个动作”。作为响应,助理应用124可以访问响应于中断而存储的数据,并识别完成动作所必需的任何缺失槽值或参数。举例来说,当动作与消息相关时,缺失的槽值可以是接收人的姓名。因此,助理应用124可以生成基于该数据的响应,诸如“好的,请为您的消息提供接收人”。如果助理应用124接收完成动作所需的所有参数和/或槽值,则助理应用124可以使用存储的数据以及在中断事件之后发生的对话会话期间从用户接收的信息来完成动作。

在一些实施方式中,响应于对话会话的中断而存储的数据可以与和用户138相关联的多个不同的计算设备共享。例如,用户138可以正在操作客户端计算设备130并且参与与助理应用132的第一对话会话。用户138可以引导助理应用132在对话会话期间执行特定动作,并向助理应用132提供信息以完成该动作。信息可以被存储为用户138与助理应用132之间的交互的语义表示,以便助理应用132可以随后检索存储的信息,以促成在第二对话会话期间完成动作。

在一些实施方式中,响应于第一对话会话被中断,助理应用132可以将在第一对话会话期间获得的信息存储在客户端计算设备130处,并将该信息传输到服务器设备102和/或车辆计算设备122。举例来说,当要执行的动作对应于要发送的消息时,助理应用132可以生成数据,诸如“动作:消息;内容:“我们什么时候见面?”;接收人:[空];已确认:[空];发起_时间:3:32:408-4-17”。数据可以指示用户何时发起动作、发起的动作类型以及缺失的任何参数(例如,缺失的参数可能具有“空”值)。以这种方式,从另一设备访问数据的任何其他自动助理将能够为用户138生成提示,以便获得满足缺失参数的额外信息。举例来说,如果用户138寻求参与第二对话会话以完成消息动作,则用户138可以在驾驶车辆116的同时调用助理应用124,并告诉助理应用124:“助理,请完成之前的消息”。作为响应,车辆计算设备122可以访问源于客户端计算设备130的数据,以使得助理应用124可以生成从用户138获得更多信息以完成动作所必需的提示。

图2a和图2b示出了用户202出于使自动助理完成动作的目的而参与对话会话的透视图200和210。具体地,图2a提供了用户初始化让自动助理完成被特定事件打断的动作的对话会话的透视图200。图2b示出了用户202在中断事件已经发生之后选择恢复动作的透视图210。如图2a中所示,用户202可以经由自动助理设备206初始化与自动助理的第一对话会话。自动助理设备206可以是包括助理接口的计算设备,该助理接口诸如包括麦克风和扬声器的音频子系统。用户202可以通过提供口头自然语言输入204(诸如,“助理,请订购一些用品”)来初始化与自动助理的第一对话会话。作为响应,可以在自动助理设备206处调用自动助理,并且自动助理可以识别用户所谈及的动作。自动助理可以通过将从口头自然语言输入204生成的文本与所存储的能够由自动助理执行的动作的表进行比较来识别动作。举例来说,因为用户202在他们的对话中说出词语“订购”,所以自动助理可以确定用户202意图下订单。下订单的动作可以与需要一个或多个参数才能完成的功能相关联。例如,参数可以包括订单的来源、物品的数量、物品的标识符以及来自用户202的确认。

自动助理可以基于完成动作所需的参数而为用户202生成响应。例如,自动助理可以生成可以从助理接口提供的自然语言输出,并且自然语言输出208可以包括诸如“好的,您想从哪里订购?”的对话。该响应可以是初始对话会话的一部分,并且用户可以通过提供诸如“工作用品商店”的答案来回复自动助理。在第一对话会话期间的该时间点,自动助理可以确定事件已经发生,这将中断第一对话会话。例如,自动助理可以确定助理设备处正在接收来电,并且作为响应,可以提供自然语言输出208,诸如“您有来电”。此外,响应于确定事件已经发生,自动助理可以对事件进行资格鉴定或以其他方式确定事件是否应使动作被暂停。当自动助理确定应该暂停该动作时,自动助理可以将在对话会话期间从用户获得的任何信息存储在助理设备206和/或可以与用户或用户202的帐户相关联的任何其他设备处。例如,自动助理可以存储对应于要订购的物品的来源的信息、对应于用户初始化动作的时间的时间戳和/或可以与完成动作相关联的任何其他信息。

图2b示出了用户202访问计算设备212的图形用户界面216以便初始化用户202先前在第一对话会话期间开始的动作的完成的透视图210。具体地,用户202可以通过计算设备212初始化与自动助理的第二对话会话。当用户202访问对应于自动助理的应用时,可以向用户202呈现图形用户界面216,该图形用户界面216可以包括多个不同的可选择元素。可选择元素可以对应于自动助理先前开始但未完成的不同的未完成动作。因此,响应于用户在计算设备212处访问自动助理,自动助理可以访问数据存储,该数据存储包括识别未完成动作的数据和/或用户需要提供以便完成未完成动作的参数。

缺失的参数可以用于生成可以在每个可选择元素处呈现的文本。例如,可以基于响应于来自图2a的中断事件而存储的数据,在图形用户接口216处呈现第一可选择元素220。具体地,该文本可以包括“完成订购用品”。文本可以使用户202注意到他们先前已初始化了订购用品的动作,但未完成订购。此外,图形用户界面可以包括麦克风图标218和/或对话框226,它们可以指示用户202可以借以与自动助理进行交互的不同模态。以这种方式,可以使用户202注意到他们可以通过在助理设备206的助理接口中说出在第一可选择元素220处提供的文本来初始化订购用品的动作的完成。

图形用户界面还可以识别动作列表中的其他未完成动作。举例来说,图形用户界面可以包括第二可选择图标222,该第二可选择图标222识别当前的未完成动作:用户202开始编写要发送给姓名为“miranda”的接收人的消息。图形用户界面可以进一步包括第三可选择元素224,该第三可选择元素224识别与上午例程相关联的当前未完成动作。举例来说,用户202可以请求自动助理执行特定上午例程,该例程需要来自用户202的某些响应,并且涉及自动助理执行多个动作。然而,如果例程被适格事件中断,则自动助理可以存储在例程的未中断部分期间从用户获得的任何信息,并基于存储的信息而提供第三可选择元素224。以这种方式,用户202可以通过选择第三可选择元素224来选择初始化随后的对话会话,以促成完成例程。

图3示出了一种用于为用户提供路线以完成将由自动助理执行的先前被中断的动作的方法300。方法300可以由一个或多个计算设备、应用和/或能够与自动助理交互的任何其他装置或模块执行。方法300可以包括操作302,该操作302在用户与自动助理之间的对话会话期间在客户端设备处接收对自动助理执行动作的请求,该动作基于随后从用户获得的信息。客户端设备可以包括自动助理接口,用户可以通过该自动助理接口来参与与自动助理的对话会话。举例来说,自动助理接口可以是包括麦克风和扬声器的音频系统,并且请求可以对应于在麦克风处从用户接收的自然语言输入。自然语言输入可以是例如“助理,请发送文本消息”。可以将自然语言输入从客户端设备传输到远程设备以转换为文本,并映射到将由自动助理执行的特定动作。该动作可以是“消息”动作,它可以要求自动助理提示用户输入额外信息,诸如消息的正文、消息的接收人和/或对发送消息的确认。响应于接收到该请求,自动助理可以提示用户输入额外信息,由此继续对话会话。例如,自动助理可以使从扬声器提供输出,诸如“好的,您希望消息说什么?”。在对话会话期间,可能会发生中断对话会话的事件。

方法300可以包括操作304,该操作304将与客户端设备和/或用户相关联的并且在对话会话期间发生的事件资格鉴定为是对话会话的中断。对事件进行资格鉴定可以包括基于用户在对话会话期间积极参与的活动而确定事件对用户的重要性的度量。例如,重要性的度量可以是指配给事件的标识符的值,并且当该值满足特定阈值时,该事件可以被资格鉴定为对话会话的中断。对于对应于为促成该活动而提供给用户的信息的事件,诸如当该活动是驾驶并且该事件是客户端设备向用户提供有关道路上即将到来的障碍物的信息时,该值可能较高。对于诸如当用户正在驾驶时接收到包括与用户的目的地无关的内容的文本消息的事件,相对于被指配给事件的标识符的值,前面提及的值可能较高。

方法300可以进一步包括操作306,该操作306使在对话会话期间从用户获得的信息被存储在客户端设备处。响应于将事件资格鉴定为中断,或者在一些实施方式中,当对应于事件的重要性的度量的值满足阈值时,可以执行操作306。信息可以以允许自动助理随后检索存储的信息以促成在稍后的时间完成动作的方式本地存储在客户端设备处。例如,当事件结束并且指配给事件的值不再满足阈值时,自动助理可以可选地在随后的对话会话期间使用存储的信息以便完成动作。在一些实施方式中,在先前对话会话期间获得的信息可以与对应于诸如发送消息的动作的功能的槽值存储在一起。在一些实施方式中,存储的信息可包括要求槽值以便执行对应于该动作的功能的参数。举例来说,在先前对话会话期间,用户可能已经提供了消息的内容,但没有提供接收人或对发送的确认。因此,所存储的信息可以识别接收人的空参数,以及对发送的确认的空参数。

方法300还可以包括操作308,该操作308使自动助理使用存储的信息向用户提供有关完成动作的提示。可以在对事件进行资格鉴定后,在事件期间和/或事件已经完成之后提供提示。举例来说,如果事件对应于关于道路状况的通知,则可以响应于用户确认收到通知或在通知之后的阈值时间段之后提供提示。在一些实施方式中,可以响应于用户初始化与自动助理的随后对话会话而提供提示。该提示可以包括或基于先前存储的信息。举例来说,当中断的动作对应于用户经由自动助理发送消息的先前尝试时,存储的信息可以包括关于消息的数据。以这种方式,用户可以从该提示中快速辨识出先前未完成的动作,并通过选择该提示来选择继续进行动作。在一些实施方式中,该提示可以是通过音频模态、视频模态和/或自动助理可以借以与用户通信的任何其他模态提供的自然语言输出。通过选择该提示,或者以其他方式提供完成动作的意愿的指示,作为响应,自动助理可以生成对从用户获得完成动作所需的任何缺失信息的询问。例如,响应于用户选择该提示,自动助理可以提供自然语言输出,诸如“好的,您想将消息发送给谁?”

在一些实施方式中,可以在图形用户界面处提供提示,并且该提示包括未完成的多个先前动作的列表。以这种方式,可以提醒用户未完成的动作,并选择完成未完成的动作中的一个或多个。例如,如果未完成动作包括多个未完成消息,则用户可以选择完成多个未完成消息。用户可以向自动助理提供输入,以初始化用于完成未完成消息的另一对话会话,并且作为响应,自动助理可以访问所存储的对应于未完成的消息的信息。然后,自动助理可以生成自然语言输出,以请求用户提供完成未完成的消息所需的信息。此类输出可以包括可听见的输出,诸如“好的,请确认以下消息内容[消息内容]并提供接收人...,还请确认该其他消息内容(不同的消息内容)并提供接收人”。以这种方式,可以向用户提供对用于完成先前未完成动作的信息的顺序请求,而不必在图形用户界面处的提示与对着音频接口讲话之间来回多次。

在一些实施方式中,事件可以是来自用户的用于暂停特定动作的直接指令。举例来说,用户可以向客户端设备的音频接口提供口头输入,诸如“暂停该动作”。可以在用户最初请求执行动作的初始对话会话期间提供前面提及的口头输入。响应于接收到口头输入,自动助理可以在客户端设备处本地存储与动作有关的任何信息。此后,用户可以请求提示任何先前未完成的动作(例如“助理,告诉我我未完成的动作”。)或仅说出短语“恢复先前的动作”,以便初始化完成未完成的动作。作为响应,自动助理可以访问存储的信息,并向用户提供基于存储的信息的响应。

图4示出了用于恢复将由自动助理执行的先前未完成的动作的方法400。方法400可以由一个或多个计算设备、应用和/或能够与自动助理进行交互的任何其他装置或模块执行。方法400可以包括提供用户提示的操作402,该用户提示识别先前在用户与自动助理之间的第一对话会话期间初始化的未完成动作。对话会话可以是一个或多个用户与一个或多个自动助理之间的交互,并且可以通过一种或多种通信模态(诸如,语音、文本、手势和/或任何其他通信模态)执行。可以通过客户端设备的自动助理接口来提供用户提示,该客户端设备至少部分地托管该自动助理或通过与诸如服务器的远程设备的网络连接与该自动助理进行交互。举例来说,用户提示可以是在客户端设备的显示面板处呈现的图形用户界面图标。该提示可以识别一个或多个先前未完成的动作,以便使用户注意到他们完成先前初始化的动作的能力,以便消除用户向自动助理提供相同信息的需要。

方法400可以进一步包括操作404,该操作404从用户接收初始化第二对话会话以完成未完成动作的选择。可以经由客户端设备的自动助理接口接收该选择,并且可以识别特定未完成的动作。此外,响应于接收到该选择,可以初始化用户与自动助理之间的第二对话会话。可以至少基于对应于未完成动作的存储的信息,经由用户借以参与第一对话会话的接口来进行第二对话会话。举例来说,存储的信息可以识别设备、接口、模态和/或与用户借以参与第一对话会话的通信手段相关联的任何其他信息。可替代地,可以通过用户选择未完成动作的同一设备来初始化第二对话会话。

方法400还可以包括操作406,该操作406响应于接收到该选择而访问数据集,该数据集包括从在第一对话会话期间由客户端设备接收到的信息生成的槽值和/或将在第二对话会话期间请求以完成动作的参数。该数据集可以由所存储的当第一对话会话被特定事件中断或以其他方式致使结束时所生成的信息定义或是该存储的信息的至少一部分。此外,该数据集可以包括由用户在第一对话会话期间提供的信息,和/或由自动助理检索以促成该动作的其他数据。例如,该数据集可以定义用于满足与该动作相关联的功能的一个或多个槽值。该动作可以是通过自动助理订购物品,并且该功能可以对应于为完成该动作而执行的后端脚本。因此,槽值可以是例如要订购的物品的数量、要订购的物品的描述和/或订单的确认。数据集可以可选地定义将在第二对话会话期间请求以完成动作的参数。参数可以是功能仍需要以便完成动作的任何值。举例来说,如果用户尚未确认订单,则参数可以包括值“功能:订购物品;已确认:空”,指示尚未接收到确认。自动助理可以识别缺失的参数,并在对话会话期间为用户生成输出,从而请求有关缺失的参数的值。

方法400可以进一步包括操作408,该操作408使自动助理在第二对话会话期间向用户提供对参数中的一个或多个的请求。可以经由客户端设备的自动助理接口提供该请求,并且该请求可以包括自然语言内容,诸如“请确认您订购的一件物品”。前面提及的内容可以基于所存储的将“确认的”参数识别为空或以其他方式不包括槽值的数据集。自动助理可以在对话会话期间基于需要定义多少个参数才能完成动作而提供一个或多个请求。举例来说,如果用户在第一对话会话期间未提供要订购的物品的数量,则数据集可以包括值“功能:订购物品;物品数量:[空]”。自动助理可以访问数据集并生成请求,例如,该请求包括诸如“请为您的物品订单提供‘物品数量’”的内容。用户可以提供定义要订购的物品数量的响应,并且如果用于完成该动作的所有参数均已完成,则自动助理可以使该动作被执行,并且例如使物品被订购。如果第二对话会话被适格事件中断,则可以更新存储的数据集以包括在第二对话会话期间获得的任何额外信息。用户或自动助理可以随后在稍后的时间初始化动作的完成,而不必提供在第一对话会话和第二对话会话期间提供的相同信息。

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

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

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

存储子系统524存储提供本文所述的一些或全部模块的功能的编程和数据构造。例如,存储子系统524可以包括执行方法300、400的选定方面和/或实现自动助理104、服务器设备102、语音到文本引擎108、文本解析器引擎110、车辆计算设备122、客户端计算设备130、助理应用132、助理应用124、助理设备206、计算设备212和/或本文讨论的任何其他应用或设备中的一个或者多个的逻辑。

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

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

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

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

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

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