经由与自动化助理的用户交互来撤销应用操作的制作方法


经由与自动化助理的用户交互来撤销应用操作


背景技术:



1.人类可以参与与本文中称为“自动化助理”(也称为“数字智能体”、“聊天机器人”、“交互式个人助理”、“智能个人助理”、“会话智能体”等)的交互式软件应用的人机对话。例如,人类(当他们与自动化助理交互时,可以称为“用户”)可以通过提供口语自然语言输入(即,话语)(在一些情况下,可以将其转换为文本,然后进行处理)和/或通过提供可以被处理的文本(例如键入的)自然语言输入来提供命令和/或请求。
2.在一些实例中,用户可以与应用交互,以执行某些操作,诸如编辑文档、播放音乐、搜索互联网等许多其它操作。一些应用可以提供特征,这些特征允许用户撤销由应用执行的动作。例如,用户可以与应用手动交互,以将应用从应用的当前状态恢复到应用的先前状态。尽管用户可以采用自动化助理来使应用执行某些操作以达到当前状态,每个操作可能需要在应用界面处手动撤销,以恢复到先前状态。例如,当用户经由助理启用设备(例如独立扬声器设备)与应用交互时,通过这种方式恢复到先前状态可能需要用户在不同设备(例如膝上型计算机)处初始化应用。这可能会浪费功率和其它资源,诸如网络带宽,当附加设备在给定网络上被激活时,这些资源可能会越来越多地消耗。


技术实现要素:



3.本文陈述的实施方式涉及一种自动化助理,该自动化助理可以对各种不同的应用和/或智能设备执行撤销操作。撤销操作可以减少用户在其它情况下将在计算设备处手动执行的操作的数量,从而保留计算资源。例如,执行撤销操作的自动化助理可以减少用户原本必须经由应用界面与应用手动交互的时间量和/或用户原本必须通过与应用交互来提供的输入量,从而减少功耗。此外,采用具有用于恢复应用和/或智能设备状态的稳健特征的自动化助理可以允许用户更容易地从其应用接收期望的输出和/或使用其应用执行期望的动作,而不必提供大量澄清的输入。这可以附加地或备选地保留处理带宽,而在其它情况下当用户完全依赖于手动用户输入以实现特定应用状态时,这些处理带宽可能会被消耗。
4.在一些实施方式中,当一个或多个条件得到满足时,自动化助理可以操作以启用“撤销”命令,从而限制“撤销”操作被意外触发的实例。例如,当在得到用户的事先许可的情况下,自动化助理确定用户正在使应用执行一个或多个操作以控制应用和/或与应用相关联的设备时,自动化助理可以启用撤销命令。该应用可以是但不限于:文档编辑应用;音乐应用;文本消息收发应用;应用;联系人应用;日历应用;提醒应用;智能设备应用,该智能设备应用与被包括在与用户相关联的智能设备的生态系统中的一个或多个智能设备相关联,并且这些智能设备(例如智能灯、智能恒温器、智能电器、智能tv、智能扬声器和/或任何其它物联网(iot)设备)能够由自动化助理控制;和/或能够由用户的计算设备访问并且还提供对自动化助理的访问的任何其它应用。进一步地,用户(或代表用户的自动化助理)可以与应用交互,以使该应用和/或与该应用相关联的设备转变通过各种状态。例如,在应用是文档编辑应用的实施方式中,对文档进行添加、移除或修改文本可以对应于应用在各种状态之间转变。作为另一示例,在应用是智能设备应用的实施方式中,改变对应智能设
备的状态可以对应于应用和/或智能设备在各种状态之间转变。而且,例如在应用是日历或提醒应用的实施方式中,对条目进行文本的添加、移除或修改可以对应于应用在各种状态之间转变。
5.例如,假设用户正在经由文档编辑应用编辑文档,并且在几小时内对草稿文档执行各种不同的编辑。进一步假设用户基于从同事接收到的反馈确定草稿文档不应包括一些最新的编辑,并且作为响应,用户调用自动化助理以撤销这些最新的编辑。在该示例中,用户可以提供诸如“undo(撤销)”等口语话语,以便调用自动化助理来初始化撤销操作。响应于接收到上述口语话语,自动化助理可以确定用户正在调用自动化助理以撤销已经关于文档执行的一个或多个操作。进一步地,自动化助理可以标识用户可能正在引用的一个或多个特定应用(例如文档编辑应用)和/或用户可能正在引用的一个或多个操作(例如那些最新的编辑)。
6.作为另一示例,假设用户提供了口语话语,该口语话语包括命令“turn on the kitchen lights and dim them to 50%(打开厨房灯并且将其调暗到50%)”,这使厨房中的智能灯从“off(关断)”状态转变到“on(接通)”状态,然后使智能灯的强度被设置为50%强度。进一步假设用户提供诸如“undo(撤销)”等附加口语话语,以调用自动化助理来初始化撤销操作。响应于接收到该附加口语话语,自动化助理可以确定用户正在调用自动化助理以撤销已经关于智能灯执行的一个或多个操作。进一步地,自动化助理可以标识用户可能正在引用的一个或多个特定应用(例如智能灯应用)和/或用户可能正在引用的一个或多个操作(例如打开智能灯和/或调暗智能灯)。在该示例中,自动化助理可以确定“undo(撤销)”只是指撤销智能灯的“dimming(调暗)”,并且自动化助理可以使智能灯恢复回到先前强度。附加地或备选地,自动化助理可以确定“undo(撤销)”是指撤销智能灯的“turning on(打开)”和智能灯的“dimming(调暗)”。在该示例中,自动化助理可以使智能灯恢复回到“off(关断)”状态(并且可选地不改变智能灯的强度)。而且,在这些示例中,自动化助理可以生成要被提供以呈现给用户的提示,并且可以基于对该提示的响应而接收的用户输入来确定用户是否意图将撤销操作引导到打开灯和/或调暗灯。相比之下,如果附加口语话语已指定了“undo dimming(撤销调暗)”,那么自动化助理可以使智能灯恢复回到先前强度,并且保持智能灯处于“on(接通)”状态,而不生成任何提示。进一步地,如果附加口语话语已指定了“undo all of that(撤销所有)”等,那么自动化助理可以使智能灯被恢复回到“off(关断)”状态(并且可选地不改变智能灯的强度),而不生成任何提示。而且,相比之下,如果“turn on(打开)”厨房灯和“dim(调暗)”厨房灯的命令是以单独话语接收的,则自动化助理可以撤销那个最新的状态改变。
7.在一些实施方式中,并且在得到用户的事先许可的情况下,自动化助理可以访问操作日志,该操作日志包括表征由与用户相关联的应用执行的最新操作和/或由自动化助理代表应用执行的动作(例如控制一个或多个智能设备)的数据。操作日志可以使用启发式过程和/或一个或多个经训练的机器学习模型来处理,以标识用户可能寻求撤销并且以各种粒度级别(例如撤销包括特定词语或短语与撤销在文档示例中包括句子或段落)限定的特定操作和/或操作集。例如,可以处理操作日志,以标识与用户发出的“undo(撤销)”命令最相关的一个或多个最新的操作。在这些实施方式的一些版本中,操作日志可以由自动化助理基于表征用户与一个或多个应用和/或智能设备之间的各种交互的数据以及可以与
这些交互相关联的其它场境数据来生成。例如,当用户在计算设备的显示界面的前景中查看应用时,用户可能已提供了口语话语“undo(撤销)”。应用的该前景位置可以由场境数据来表征,该场境数据可以由自动化助理用于确定用户最有可能请求的是仅应用在操作日志中的最新操作应该被撤销。基于该确定,自动化助理可以标识使用应用执行的一个或多个最新的操作,并且使一个或多个其它操作被执行以撤销这些最新的操作。作为另一示例,用户可能在一个或多个特定操作被执行的阈值持续时间内提供口语话语“undo(撤销)”。该一个或多个特定操作和撤销操作的这种时间接近性可以由场境数据表征,该场境数据可以由自动化助理用于确定用户最有可能请求一个或多个特定操作应该被撤销。基于该确定,自动化助理可以标识一个或多个特定操作,并且使一个或多个其它操作被执行以撤销这些最新的操作。而且,自动化助理可以标识使用应用执行的语义相关操作中的一个或多个最新操作。例如,可以将文档编辑应用中的对文档段落或文档区段的编辑确定为语义相关的,并且可以将对于这些段落或区段的编辑标识为用户可能寻求撤销的操作集。
8.在一些实施方式中,自动化助理可以向用户提供一个或多个选项,用于由自动化助理撤销的操作。备选地或附加地,自动化助理可以向用户提供一个或多个先前应用状态,以供选择以撤销某些操作。例如,响应于口语话语“undo(撤销)”,自动化助理可以使两个或更多个可选择的图形用户界面(gui)元素在由用户访问的显示界面处呈现。第一可选择的gui元素可以包括反映应用的第一先前状态的内容,而第二可选择的gui元素可以包括反映应用的不同的第二先前状态的内容。例如,第一可选择的gui元素和第二可选择的gui元素可以分别包括:在用户对草稿文档进行一个或多个最新编辑之前用户正在经由文档编辑应用编辑的草稿文档的不同呈现;最近经由对应的智能设备应用改变的智能设备的不同状态;最近分别经由日历应用或提醒应用改变的日历条目或提醒的不同日期和/或时间。如果用户标识出要恢复到的特定状态,则用户可以选择与该特定状态相对应的特定可选择的gui元素。作为响应,自动化助理可以使文档编辑应用修改草稿文档,使得草稿文档返回到与所选gui元素相对应的状态。
9.在一些实施方式中,用户可以请求自动化助理执行特定类型的撤销,从而选择出要被撤销的某些操作,而其它操作不被撤销。操作可以由自动化助理根据由用户提供的输入的内容和/或与输入相关联的场境数据来选择。例如,用户可以通过向播放列表中添加一些歌曲并且从播放列表中移除其它歌曲来编辑音乐应用的播放列表。当用户继续编辑播放列表时,用户可以通过提供诸如“assistant,undo those additions(助理,撤销这些添加)”等口语话语来调用其自动化助理。作为响应,自动化助理可以确定由用户经由音乐应用执行的一些最新操作包括添加、重新排序和/或从播放列表中移除歌曲。然后,自动化助理可以选择添加歌曲的最新操作,同时绕过选择与移除歌曲相关的任何操作。然后,自动化助理可以执行一个或多个操作,使音乐应用“撤销”将歌曲添加到与用户相关联的播放列表的先前操作。以这些和其它方式,用户可以依赖于自动化助理来标识用户想要撤销的具体操作,而无需用户直接且手动地与音乐应用交互以实现这种改变。
10.以上描述被提供为本公开的一些实施方式的概述。这些实施方式和其它实施方式的进一步描述在下面更详细地描述。
附图说明
11.图1a、图1b和图1c图示了用户调用自动化助理以将单独的应用恢复到先前操作状态的视图。
12.图2a、图2b、图2c、图2d和图2e图示了用户采用自动化助理以将第三方应用恢复到先前操作状态的视图。
13.图3图示了提供自动化助理的系统,该自动化助理可以执行操作以将各种应用恢复到应用可能已经由先前用户输入达到的先前状态。
14.图4图示了用于使自动化助理将一个或多个单独应用中的每个应用恢复到相应应用状态的方法。
15.图5是示例计算机系统的框图。
具体实施方式
16.图1a、图1b和图1c分别图示了用户102调用自动化助理以将对应应用恢复到先前操作状态的视图100、视图120和视图140。允许用户102调用自动化助理来执行这种操作可以减少用户102在其它情况下将与对应应用进行的直接交互的数量。因此,某些任务可以在特定计算设备104处被更快地执行,并且可以保留某些计算资源(诸如存储器和处理带宽)。
17.例如,用户102可以与允许用户102编辑音频数据的第三方应用(诸如第三方音频应用)交互。第三方音频应用可以经由计算设备104的一个或多个界面从用户102接收输入。例如,计算设备104可以包括显示界面106,它可以从用户102的手部108接收触摸输入。如本文使用的,术语第一方是指发布和维护自动化助理的实体,而术语第三方是指不同于与第一方相关联且不发布或维护自动化助理的实体。尽管这些技术在本文中通常关于第三方应用描述,但是应该理解,这是出于示例的目的,并且不意味着是限制性的,并且本文描述的技术也可以关于第一方应用来使用。
18.当用户102与第三方音频应用交互时,第三方音频应用可以处于第一状态114。第三方音频应用可以响应于来自用户102的一个或多个输入(例如口语输入、触摸输入和/或键入输入)在状态之间转变。例如,用户102可以与第三方音频应用界面110交互,以便编辑用户102已经打开的音频文件。例如,假设用户102应用滤波器以减少音频文件中的噪声,并且应用均衡器以减少音频文件中的某些频率的幅度。当用户102已向第三方音频应用提供这些输入中的一个或多个时,第三方音频应用可以表现出第二状态124,如图1b的视图120所图示的。换言之,来自用户102的输入使音频文件被修改,从而使第三方音频应用表现出不同的状态。
19.在一些实施方式中,用户102可以经由计算设备104(或通过网络(例如诸如wi-fi、蓝牙等局域网(lan)和/或诸如互联网等广域网(wan)与计算设备104通信的独立计算设备)调用自动化助理,以便使第三方音频应用从第二状态124恢复回到第一状态114。用户102可以通过提供诸如“assistant,undo(助理,撤销)”等口语话语122来使自动化助理初始化该“undo(撤销)”操作的执行。响应于接收到口语话语122,自动化助理可以标识用户102可能正在引用的一个或多个应用和/或一个或多个操作。例如,在一些实施方式中,自动化助理可以访问标识与用户102相关联的各种应用所执行的操作的日志数据。在一些实施方式中,可以处理日志数据中的操作标识符,以标识用户102可能关于各种应用引用的操作集。例
如,可以标识操作之间的相似性,以确定一个或多个操作是否应该响应于口语话语122而被“undone(撤销)”。
20.例如,以下特性可以由自动化助理标识,所述特性是诸如对应输入的接收时间、执行时间、对应设备的地点、操作类型、与操作相关联的应用、与操作相关联的数据、操作类型被执行(以及可选地随后撤销)的频率、所执行的操作类型与后续操作(以及可选地后续操作是撤销操作)之间的时间量、与先前操作相关联的元数据和/或在先前操作期间交互的内容、当一个或多个操作被执行时从文档中所包括的文本导出的特征(例如一个或多个词语或短语、句子、段落等的嵌入)和/或操作的任何其它特性等。备选地或附加地,在得到用户的事先许可的情况下,可以生成屏幕捕获数据,以标识一个或多个应用的状态。一个或多个状态可以与日志数据相关联地存储,从而可以标识从操作集合中选择的某些操作,以恢复回到特定应用状态。值得注意的是,这些特性中的一个或多个可以特定于计算设备104的用户,或者针对多个用户一般化。
21.根据图1a至1c中的示例,响应于口语话语122,自动化助理可以标识使第三方音频应用可以执行以返回到第一状态114的一个或多个其它操作。例如,屏幕捕获数据和/或日志数据可以指示用户102使第三方音频应用对音频滤波器执行滤波操作和均衡操作。在一些实施方式中,该确定可以基于由用户102和/或计算设备104的操作系统选择的对应菜单项(例如如图1b所图示的),其中该操作系统向自动化助理提供(在得到用户的事先许可的情况下)关于由提供口语话语122的用户102初始化的操作的各种细节。
22.图2a、图2b、图2c、图2d和图2e分别图示了用户202采用自动化助理以将第三方应用恢复到先前操作状态的视图200、视图220、视图240、视图260和视图280。第三方应用可以是例如允许用户202执行各种调度任务的第三方日历应用。第三方日历应用可以安装在计算设备204处,或者在其它情况下能够经由计算设备204访问,该计算设备204还提供对自动化助理的访问。以这些和其它方式,用户202可以经由自动化助理和第三方日历应用界面210控制第三方日历应用。
23.例如,用户202可以经由引导到显示界面206的触摸或键入输入来使用其手部212与第三方日历应用界面210交互,以调度由第三方日历应用管理的不同日期的各种事件。用户202可以点击特定的一天(诸如星期一),以添加事件(诸如乐队排练)。附加地,如图2a的视图200所图示的,用户202可以点击另一天(诸如星期二)以添加另一事件。通过与第三方日历应用界面210交互,用户202可以使用户输入从计算设备204的操作系统传递到第三方日历应用。因此,用户输入可以使第三方日历应用执行一个或多个操作和/或改变第三方日历应用的操作状态。例如,响应于接收到一个或多个用户输入,诸如选择下拉菜单以创建新事件并且向新事件的某些信息栏输入文本,第三方日历应用界面210可以呈现新事件224。
24.在一些实施方式中,自动化助理可以生成和/或访问日志数据,该日志数据表征第三方日历应用的一个或多个操作和/或一个或多个操作状态。例如,日志数据可以表征第一应用状态,其中在第三方日历应用界面210处呈现的日历不包括任何事件。日志数据可以表征第二应用状态,其中在第三方日历应用界面210处呈现的日历包括日历上的星期一的单个事件。进一步地,日志数据可以表征第三应用状态,其中第三方日历应用界面210呈现星期一和星期二的事件,但是星期二的新事件224是不完整的。
25.当用户与第三方日历应用界面210交互时,用户202可以调用自动化助理以将第三
方日历应用恢复到先前状态。例如,用户202可以提供诸如“assistant,undo(助理,撤销)”等口语话语222。尽管用户202没有指定第三方日历应用要恢复到的特定状态,但是自动化助理仍然可以独立地确定用户202正在寻求恢复的操作状态,或提供状态选项以供用户202从中选择。在一些实施方式中,计算设备204和/或单独的计算设备244可以处理与口语话语222相对应的输入数据246。可以处理输入数据246,以标识用户202向自动化助理提交的一个或多个请求。例如,自动化助理可以确定口语话语222对应于自动化助理在一个或多个应用(例如第三方日历应用或能够在计算设备204或单独的计算设备244处访问的另一应用)处初始化撤销操作的请求。在确定出口语话语222对应于自动化助理初始化撤销操作的请求时,自动化助理可以使用自动语音识别(asr)模型处理口语话语222以生成识别的文本。进一步地,自动化助理可以使用自然语言理解(nlu)模型处理识别的文本,以标识指示自动化助理初始化撤销操作的请求的意图。处理口语话语222以确定它包括自动化助理初始化撤销操作的请求在本文中(例如关于图3)详细描述。
26.基于该确定,自动化助理可以生成和/或标识状态数据248,该状态数据248表征与一个或多个应用和/或与一个或多个应用(可能关联于用户202)相关联的智能设备的一个或多个状态。例如,可以处理与用户202已经访问的一个或多个应用相关联的应用数据,以标识用户202最近修改的应用状态。附加地或者备选地,可以处理表征与口语话语222相关联的各种场境特征的场境数据。在一些实施方式中,状态数据248可以通过启发式过程和/或使用一个或多个经训练的机器学习模型来生成。例如,当处理应用数据、日志数据和/或场境数据时,可以使用一个或多个经训练的机器学习模型以标识来自用户的请求与一个或多个应用状态之间的相关性。
27.状态选择数据250可以基于已被标识为与撤销操作的请求相关的一个或多个应用状态来生成。例如,状态选择数据250可以标识用户202可能正在请求自动化助理将应用和/或智能设备恢复到的多种状态。例如,状态选择数据250可以包括与第三方日历应用的应用界面相对应的图形数据(例如视觉内容、自然语言内容)。自动化助理可以使用状态选择数据250在计算设备204的应用界面处生成提示,以允许用户202选择特定的应用状态。在一些实施方式中,自动化助理可以向第三方日历应用和/或计算设备204的操作系统提供状态选择数据,以使计算设备204的界面为用户202呈现状态选择选项。
28.例如,并且如图2d的视图220中提供的,自动化助理可以使第一可选择元素262和第二可选择元素264在计算设备204的显示界面206处呈现。当在显示界面206处呈现可选择元素时,用户202可以通过从至少第一可选择元素262和第二可选择元素254中选择特定的可选择元素(该可选择元素对应于它们希望第三方日历应用恢复到的期望的应用状态)来执行操作266。例如,用户202可以使用其手部212在与第二可选择元素264相对应的位点处点击显示界面206。作为响应,自动化助理可以使第三方日历应用执行一个或多个操作,以恢复到周一事件和周二事件(例如来自图2b)不再被输入到日历的应用状态。该应用状态可以对应于图2d中提供的第二可选择元素264的图像内容,其中第三方日历应用界面210的一部分282不再示出星期一事件和星期二事件。此外,这可以保留计算资源和时间,而在其它情况下如果用户必须直接且顺序地向第三方日历应用输入指令以移除事件,则这些计算资源和时间将被消耗。
29.在一些实施方式中,自动化助理可以生成表征各种应用的各种应用界面的图形内
容,并且这些图形内容可以与日志数据中标识的操作相关联地存储。以这些和其它方式,当用户请求自动化助理将应用和/或智能设备恢复到先前状态时,对gui可选择元素的用户选择可以与日志数据中标识的一个或多个操作相关。然后,自动化助理可以标识应用要执行的一个或多个其它操作,以撤销所述一个或多个操作和/或将应用和/或智能设备恢复到先前状态。在一些实施方式中,在标识导致当前状态(用户正在请求自动化助理从中恢复应用和/或智能设备)的一个或多个操作后,自动化助理可以经由应用编程接口请求操作数据。操作数据可以标识将会撤销所述一个或多个操作的一个或多个其它操作。使用该操作数据,自动化助理然后可以请求应用和/或智能设备执行所述一个或多个其它操作。
30.图3图示了提供自动化助理的系统300,该自动化助理可以执行操作以将各种应用恢复到应用和/或智能设备可能已经通过先前用户输入达到的先前状态。自动化助理304可以作为在一个或多个计算设备(诸如计算设备302和/或服务器设备)处提供的助理应用的一部分来操作。用户可以经由助理界面320与自动化助理304交互,该助理界面320可以是麦克风、相机、触摸屏显示器、用户界面和/或能够在用户和应用和/或智能设备之间提供界面的任何其它装置。例如,用户可以通过向助理界面320提供语言、文本和/或触摸输入来初始化自动化助理304,以使自动化助理304初始化一个或多个动作(例如提供数据、控制外围设备、访问智能体、生成输入和/或输出等)。备选地,自动化助理304可以基于使用一个或多个经训练的机器学习模型对场境数据336的处理来初始化。场境数据336可以表征自动化助理304能够访问的环境的一个或多个特征和/或被预测为与自动化助理304交互的用户的一个或多个特征。计算设备302可以包括显示设备,该显示设备可以是包括触摸界面的显示面板,该触摸界面用于接收触摸输入和/或手势以允许用户经由触摸界面控制计算设备302的应用334。在一些实施方式中,计算设备302可能缺少显示设备,由此提供可听的用户界面输出,而不提供图形用户界面输出。此外,计算设备302可以提供用户界面,诸如麦克风,以从用户接收口语自然语言输入。在一些实施方式中,计算设备302可以包括触摸界面,并且可以没有相机,但可以可选地包括一个或多个其它传感器。
31.计算设备302和/或其它计算设备可以通过网络(诸如互联网)与服务器设备通信。附加地,计算设备302和任何其它计算设备可以通过局域网(lan)(诸如wi-fi网络)彼此通信。计算设备302可以将计算任务卸载到服务器设备,以节省计算设备302处的计算资源。例如,服务器设备可以托管自动化助理304,和/或计算设备302可以将在一个或多个助理界面320处接收的输入传输给服务器设备。然而,在一些实施方式中,可以将自动化助理304托管在计算设备302处,并且可以与自动化助理操作相关联的各种过程可以在计算设备302处被执行。
32.在各种实施方式中,自动化助理304的所有方面或少于所有方面可以实施在计算设备302上。在这些实施方式中的一些实施方式中,自动化助理304的各个方面可以经由计算设备302实施,并且可以与服务器设备接口连接,该服务器设备可以实施自动化助理304的其它方面。服务器设备可以可选地经由多个线程服务于多个用户及其关联的助理应用。在自动化助理304的所有方面或少于所有方面经由计算设备302实施的实施方式中,自动化助理304可以是与计算设备302的操作系统分离的应用(例如安装在操作系统的“顶部”),或者可以备选地由计算设备302的操作系统直接实施(例如被认为是操作系统的应用,但与操作系统集成)。因此,本文描述的操作可以在计算设备302处本地执行(或在通过网络与计算
设备302通信的另一计算设备处本地执行)、在服务器处远程执行和/或它们的任何组合。
33.在一些实施方式中,自动化助理304可以包括输入处理引擎306,它可以采用多个不同的模块来处理计算设备302和/或服务器设备的输入和/或输出。例如,输入处理引擎306可以包括语音处理引擎308,该语音处理引擎308可以处理在助理界面320处接收的音频数据,以使用asr模型标识体现在音频数据中的文本。音频数据可以从例如计算设备302传输到服务器设备,以保留计算设备302处的计算资源,并且可以在服务器处使用asr模型来远程处理这些音频数据。附加地或者备选地,可以仅在计算设备302处使用asr模型来本地处理音频数据。
34.用于将音频数据转换为文本的由asr模型使用的过程可以包括语音识别算法,该语音识别算法可以采用神经网络和/或统计模型来标识与词语或短语相对应的音频数据组。从音频数据转换的文本可以由数据解析引擎310解析,并且作为文本数据可用于自动化助理304,该文本数据可以用于生成和/或标识命令短语、意图、动作、槽值和/或由用户指定的任何其它内容。在一些实施方式中,可以将由数据解析引擎310提供的输出数据提供给参数引擎312,以确定用户是否提供了与能够由自动化助理304执行的特定意图、动作和/或例程和/或能够经由自动化助理304访问的应用或智能体相对应的输入。例如,可以将助理数据338存储在服务器设备和/或计算设备302处,并且可以包括定义能够由自动化助理304执行的一个或多个动作的数据以及执行动作所需的参数。参数引擎312可以生成意图、动作和/或槽值的一个或多个参数,并且将所述一个或多个参数提供给输出生成引擎314。输出生成引擎314可以使用所述一个或多个参数来与助理界面320通信以向用户提供输出,和/或与一个或多个应用334和/或与其相关联的智能设备通信以向一个或多个应用334和/或与其相关联的智能设备提供输出。
35.在一些实施方式中,自动化助理304可以是可以安装在计算设备302的操作系统“顶部”的应用,和/或可以自身形成计算设备302的操作系统的一部分(或全部)。自动化助理应用包括和/或可访问设备上语音识别、设备上自然语言理解和设备上履行。例如,设备上语音识别可以使用设备上语音识别模块来执行,该设备上语音识别模块使用本地存储在计算设备302处的端到端语音识别机器学习模型(例如asr模型)来处理(由麦克风检测的)音频数据。设备上语音识别针对音频数据中存在的口语话语(如果有的话)生成识别文本。而且,例如设备上nlu可以使用设备上nlu模块来执行,该设备上nlu模块处理使用设备上语音识别生成的识别文本以及可选地场境数据,以生成nlu数据。
36.nlu数据可以包括与口语话语相对应的意图以及可选地意图的参数(例如槽值)。设备上履行可以使用设备上履行模块来执行,该设备上履行模块利用nlu数据(来自设备上nlu)和可选地其它本地数据来确定要采取的动作,以解决口语话语的意图(以及可选地意图的参数)。这可以包括确定对口语话语的本地和/或远程响应(例如答案)、与基于口语话语执行的本地安装的应用的交互、基于口语话语传输给iot设备(直接地或经由对应的远程系统)的命令和/或基于口语话语执行的其它解决动作。设备上履行然后可以发起确定的动作的本地和/或远程执行/执行,以解决口语话语。
37.在各种实施方式中,可以至少选择性地使用远程语音处理、远程nlu和/或远程履行。例如,可以至少选择性地将识别的文本传输到远程自动化助理组件,以用于远程nlu和/或远程履行。例如,识别的文本可以可选地与设备上执行并行地传输以用于远程执行,或者
响应于设备上nlu和/或设备上履行的故障。然而,设备上语音处理、设备上nlu、设备上履行和/或设备上执行可以至少由于它们在解决口语话语时提供的时延减少(由于不需要客户端-服务器往返来解决口语话语)来优先考虑。进一步地,设备上功能性可以是在没有网络连接性或网络连接性有限的情况下可用的唯一功能性。
38.在一些实施方式中,计算设备302可以包括一个或多个应用334,该一个或多个应用334可以由与提供计算设备302和/或自动化助理304的实体不同的第三方实体提供。自动化助理304和/或计算设备302的应用状态引擎可以访问应用数据330,以确定能够由一个或多个应用334执行的一个或多个动作以及所述一个或多个应用334中的每个应用的状态和/或与计算设备302相关联的相应智能设备的状态。自动化助理304和/或计算设备302的设备状态引擎可以访问设备数据332,以确定能够由计算设备302和/或与计算设备302相关联的一个或多个设备执行的一个或多个动作。此外,应用数据330和/或任何其它数据(例如设备数据332)可以由自动化助理304访问以生成场境数据336,该场境数据336可以表征特定应用334和/或设备正在执行的场境和/或特定用户访问计算设备302,访问应用334和/或任何其它设备或模块的场境。
39.当一个或多个应用334在计算设备302处执行时,设备数据332可以表征在计算设备302处执行的每个应用334的当前操作状态。此外,应用数据330可以表征正执行的应用334的一个或多个特征,诸如在一个或多个应用334的指导下呈现的一个或多个图形用户界面的内容。附加地或备选地,应用数据330可以表征动作模式(action schema),该动作模式可以基于相应应用的当前操作状况由所述相应应用和/或自动化助理304更新。附加地或备选地,一个或多个应用334的一个或多个动作模式可以保持静态,但可以由应用状态引擎访问,以确定要经由自动化助理304初始化的合适动作。
40.计算设备302还可以包括助理调用引擎322,该助理调用引擎322可以使用一个或多个经训练的机器学习模型来处理应用数据330、设备数据332、场境数据336和/或计算设备302能够访问的任何其它数据。助理调用引擎322可以处理该数据,以确定是否等待用户显式地说出调用短语来调用自动化助理304,或者认为数据指示用户调用自动化助理的意图,代替要求用户显式地说出调用短语和/或提供表达输入以最初调用自动化助理。例如,所述一个或多个经训练的机器学习模型可以使用训练数据的实例来训练,这些训练数据的实例基于用户处于多个设备和/或应用表现出各种操作状态的环境中的场景。可以生成训练数据的实例以捕获训练数据,该训练数据表征用户调用自动化助理的场境和用户不调用自动化助理的其它场境。
41.当所述一个或多个经训练的机器学习模型根据训练数据的这些实例训练时,助理调用引擎322可以使自动化助理304基于场境和/或环境的特征来检测或限制检测来自用户的口语调用短语。附加地或备选地,助理调用引擎322可以使自动化助理304基于场境和/或环境的特征来检测或限制检测来自用户的一个或多个助理命令。在一些实施方式中,助理调用引擎322可以基于计算设备302检测到来自另一计算设备的助理抑制输出而被禁用或限制。以这些和其它方式,当计算设备302检测到助理抑制输出时,自动化助理304将不会基于场境数据336而被调用,而在其它情况下如果助理抑制输出未被检测到,则该场境数据336会导致自动化助理304被调用。
42.在一些实施方式中,计算设备302可以包括应用状态引擎316,该应用状态引擎316
可以向自动化助理304提供表征一个或多个应用334的当前状态和/或一个或多个应用334的先前状态的数据。例如,应用状态引擎316可以访问表征可以在计算设备302的界面处呈现的应用界面的gui数据。基于gui数据,应用状态引擎316可以生成表征每个应用的相应状态的状态数据。在一些实施方式中,应用状态引擎316可以访问日志数据,该日志数据可以在得到用户的事先许可的情况下由计算设备302的操作系统提供。应用状态引擎316可以使用日志数据来生成每个相应应用的状态数据。例如,应用状态引擎316可以使用启发式方法和/或一个或多个经训练的机器学习模型来处理日志数据,以便标识可以对应于应用334的特定状态的操作集。例如,应用状态引擎316可以使用这些技术中的一个或多个来标识语义相关的一个或多个操作。例如,对于文档编辑应用中的文档的第一区段的编辑可以在语义上彼此相关,对于文档编辑应用中的文档的第二区段的编辑可以在语义上彼此相关,但不与文档的第一区段中的编辑相关。以这些和其它方式,响应于来自用户的将应用334恢复到特定状态的请求,自动化助理304可以容易地标识特定状态。
43.在一些实施方式中,计算设备302可以包括操作恢复引擎318,该操作恢复引擎318可以处理由应用状态引擎316生成的数据,以便标识用于将一个或多个应用334和/或与一个或多个应用334相关联的智能设备恢复到一个或多个相应的先前状态的操作。例如,当应用状态引擎316基于日志数据中标识的操作集合生成标识应用334和/或智能设备的特定状态的状态数据时,操作恢复引擎318可以访问该操作集合的标识符。基于这些标识符,操作恢复引擎318可以使用api和/或其它应用接口,以便标识用于撤销该操作集合的一个或多个其它操作。以这些和其它方式,当应用334和/或与应用334相关联的智能设备的特定状态被请求为用户希望“undo(撤销)”的状态时,自动化助理304可以标识所述一个或多个其它操作。然后,自动化助理304可以使应用334和/或与应用334相关联的智能设备执行一个或多个操作,以便使应用334和/或与应用334相关联的智能设备从特定状态恢复到先前状态(例如在该操作集合被执行之前由应用334先前表现出的状态)。
44.在一些实施方式中,计算设备302可以包括状态选择引擎326,它可以提示用户选择将应用和/或智能设备恢复到的特定状态。例如,当自动化助理304确定存在多个候选状态供用户从中选择时,状态选择引擎326可以生成可以在计算设备302和/或另一计算设备的用户界面处呈现的数据。用户然后可以在用户界面处选择特定候选状态,以便使自动化助理304向应用334和/或与应用334相关联的智能设备传递一个或多个请求,以使应用334和/或与应用334相关联的智能设备恢复到特定候选状态。在一些实施方式中,状态选择引擎326可以生成可以表征每个候选应用状态的每个相应界面的图形特征的图形数据。以这些和其它方式,当自动化助理304标识用户可能引用的多种候选状态时,用户可能注意到对候选状态中的一种候选状态的选择将使应用334和/或与应用334相关联的智能设备恢复到在计算设备302的图形用户界面中描绘的特定状态。
45.在一些实施方式中,自动化助理304可以可选地包括训练数据引擎324,以用于在得到用户的事先许可的情况下,基于自动化助理304与用户和/或用户与一个或多个其它应用之间的交互来生成训练数据。训练数据可以表征以下实例:自动化助理304可能已经初始化而没有经由口语调用短语被显式调用,并且此后用户在阈值时间段内提供了助理命令/或没有提供助理命令。在一些实施方式中,在得到用户的事先许可的情况下,训练数据可以与远程服务器设备共享,该远程服务器设备还从与其它用户相关联的各种不同计算设备接
收数据。以这些和其它方式,可以进一步训练一个或多个经训练的机器学习模型,以使每个相应的自动化助理可以采用进一步训练的机器学习模型来更好地辅助用户,同时还保留计算资源。在一些实施方式中,当用户选择或不选择另一应用要恢复回到的特定状态时,训练数据引擎324可以基于从用户接收的反馈来生成训练数据。以这些和其它方式,响应于来自用户的将应用从当前状态恢复的请求,自动化助理304可以提供更相关的可选择选项。
46.图4图示了用于使自动化助理将一个或多个单独应用中的每个应用恢复到相应应用状态的方法400。方法400可以由能够与自动化助理交互的一个或多个应用、计算设备和/或任何其它装置或模块执行。方法400可以包括确定是否已检测到助理输入的操作402。例如,助理输入可以是诸如“undo(撤销)”等口语话语,该口语话语可以由用户提供给计算设备的音频接口。作为响应,自动化助理可以基于场境数据来确定口语话语被引导到自动化助理,尽管用户未显式地标识自动化助理。
47.当检测到助理输入时,方法400可以从操作402进行到操作404。在其它情况下,自动化助理可以继续确定用户是否已向自动化助理提供输入。操作404可以包括:确定助理输入对应于自动化助理撤销单独应用和/或智能设备的一个或多个操作的请求。在一些实施方式中,用户可以提供请求,以使自动化系统将应用文件恢复到先前版本。例如,假设用户提供口语话语“assistant,revert to the more polite version(助理,恢复到更礼貌的版本)”,这可以指用户正在用消息收发应用编辑的文档。该口语话语可以指在由用户进行的一个或多个编辑之前存在的文档版本。在一些实施方式中,自动化助理和/或消息收发应用可以提供内容音调的指示作为反馈,并且自动化助理可以使用该反馈来标识用户可能引用的先前应用状态(即,操作状态)。在这些实施方式中,自动化助理可以生成内容的表示(例如基于图像的内容的嵌入或者基于标签的表示、基于文本的内容的嵌入或者word2vec表示),并且可以将该表示与口语话语的对应表示进行比较。例如,如果口语话语包括要被恢复到的内容的“more polite(更礼貌的)”或者一些其它语义指示,则自动化助理可以将口语话语的嵌入与潜在空间中的这些表示的嵌入进行比较。在一些实施方式中,用户可以提供请求,以使自动化系统将智能设备恢复到先前状态或子状态。例如,假设用户提供诸如“assistant,undo(助理,撤销)”等口语话语,而这是在先前口语话语“assistant turn on the kitchen lights and dim to 50%(助理,打开厨房灯并且调暗到50%)”之后接收到的。在该示例中,“undo(撤销)”可以指将厨房灯变为“on(接通)”状态和/或将厨房灯调暗到“50%”。
48.当自动化助理确定用户正在请求撤销单独应用的一个或多个操作时,方法400可以从操作404进行到操作406。操作406可以包括:确定由用户期望的应用和/或智能设备的状态是否能够基于助理输入和/或其它数据来标识。例如,响应于关于文档的上述口语话语,自动化助理可能能够标识用户正在引用的特定应用的特定应用状态。因此,方法400可以从操作406进行到操作412。在其它情况下,方法400可以从操作406进行到操作408,诸如当“undo(撤销)”可以指在后一示例中将厨房灯变为“on(接通)”状态和/或将厨房灯调暗到“50%”时。
49.操作408可以包括:呈现与一个或多个相应的候选应用状态和/或智能设备状态(例如“on(接通)”或“off(关断)”)或者子状态(例如“dimmed(变暗)”或者“not dimmed(不变暗)”)相对应的一个或多个可选择的选择。例如,自动化助理可以标识用户可能期望应用
恢复到的一个或多个候选应用状态。基于这些候选应用状态和/或智能设备状态,自动化助理可以使计算设备的界面提示用户选择候选应用状态和/或智能设备状态中的一种状态。例如,自动化助理可以可听地描述候选应用状态中的每个候选应用状态和/或图形地呈现与候选应用状态和/或智能设备状态中的每个状态相对应的内容。根据上述示例,自动化助理可以图形地或可听地呈现提示,该提示描述了未被包括在另一候选应用状态中的一种候选应用状态的一个或多个特征。例如,自动化助理可以详述和/或描述来自第一应用状态下的文档的句子,然后详述和/或描述来自第二应用状态下的文档的不同句子。以这些和其它方式,用户将能够标识特定状态,而不必花费大量时间来查阅每个状态的所有细节。
50.在一些实施方式中,每个候选应用状态和/或智能设备状态可以从潜在空间中映射的嵌入标识。例如,当用户与一个或多个应用交互时,自动化助理可以生成与应用的应用状态和/或智能设备的智能设备状态相对应的嵌入。此后,来自用户的将应用恢复到先前应用和/或智能设备状态的请求可以使自动化助理处理请求,并且从嵌入标识一个或多个候选应用状态和/或智能设备状态。当请求对应于特定嵌入时,与该特定嵌入相关联的应用状态和/或智能设备状态可以在应用和/或智能设备处呈现。备选地,例如基于满足与请求相关联的阈值的多个嵌入,自动化助理可以确定请求与多个不同的嵌入相关联。基于该确定,自动化助理可以使多个嵌入的候选应用状态由用户经由计算设备的界面而可选择。用户然后可以选择候选应用状态和/或智能设备状态,以使自动化助理将应用恢复到所选的应用状态和/或智能设备状态。方法400可以从操作408进行到操作410,该操作410接收对候选应用状态和/或智能设备状态的选择。当接收到选择时,方法400可以从操作410进行到操作412。
51.操作412可以包括:标识使应用和/或智能设备执行以返回到期望应用状态的一个或多个操作。在一些实施方式中,自动化助理可以使用日志数据和应用编程接口来标识所述一个或多个操作。例如,在与所选应用状态和/或智能设备状态相对应的日志数据中标识的操作可以在对应用编程接口(api)的调用的一个或多个参数中标识。经由api返回的数据可以指示使应用执行以将应用返回到期望应用状态的一个或多个其它操作。备选地或附加地,使用基于用户、应用和/或一个或多个计算设备的操作系统之间的交互而生成的数据,自动化助理可以标识使应用执行以返回到期望应用状态和/或智能设备状态的所述一个或多个其它操作。例如,操作系统可以标识与日志数据相对应的一个或多个输入,该日志数据标识要被撤销以返回到期望应用状态和/或智能设备状态的操作。基于这些输入,自动化助理可以生成操作数据,该操作数据表征使应用执行以返回到期望应用状态和/或使智能设备执行以返回到期望智能设备状态的一个或多个其它操作。当操作已在操作412中标识时,方法400可以从操作412进行到操作414,该操作414可以包括使应用和/或智能设备执行一个或多个操作。
52.在一些实施方式中,方法400可以包括可选操作416,该可选操作416确定关于助理恢复应用和/或智能设备的状态的任何反馈是否被接收到。例如,可以将反馈标识为用户选择特定的候选应用状态而不是一个或多个其它候选应用状态。反馈可以向自动化助理指示针对特定应用和/或请求类型,用于标识候选应用状态的某些因素应该以不同方式来加权。例如,当先前状态是用户在与他们提供请求的地点不同的地点中与应用和/或智能设备交互的结果时,特定用户可能更倾向于选择先前状态。因此,与用户提供请求的地点相同的地
理定位相关联的应用状态和/或智能设备状态相比,可以更多地加权和/或优先化与用户的不同地理定位相关联的应用状态和/或智能设备状态。备选地或附加地,特定用户可能更倾向于选择先前状态,该先前状态是应用和/或智能设备的倒数第二种状态。例如,当用户在早上查看应用文件时,他们可能会认识到他们在前一天深夜进行的编辑并不理想。因此,用户可以提供请求(例如“assistant,undo(助理,撤销)”)以使自动化助理将应用文件恢复到先前状态,并且自动化助理可以使由应用文件在前一晚之前表现出的状态获得优先级。例如,基于先前反馈的一个或多个实例,自动化助理可以省略前一晚的应用状态作为用户可以选择的候选应用状态,相反,提供使用户选择的一个或多个其它候选应用状态(例如在前一晚之前存在的一个或多个候选应用状态)。
53.当接收到关于助理恢复应用状态的反馈时,方法400可以从可选操作416进行到可选操作418。在其它情况下,方法400可以返回到操作402。操作418可以包括:根据反馈来训练一个或多个经训练的机器学习模型。以这些和其它方式,当用户和/或其它用户继续调用自动化助理以撤销单独应用的操作时,自动化助理可以在撤销某些操作时适应用户的偏好。例如,如果用户提供口语话语,该口语话语包括在口语话语“turn on the kitchen lights and dim them to 50%(打开厨房灯并且将其调暗到50%)”之后的撤销命令,并且自动化助理关闭厨房灯,但用户返回手动打开厨房灯(例如物理地经由灯开关或者手动地经由与智能灯相关联的应用),则自动化助理可以推断用户意图将厨房灯保持在“on(接通)”状态并且撤销是指“dimming(调暗)”。因此,如果自动化助理再次遇到该序列,则自动化助理可以仅取消厨房灯的调暗。进一步地,自动化助理可以将该反馈一般化为超出该特定场景的操作。例如,假设用户在提供撤销命令之前提供了附加口语话语“turn the kitchen lights red(将厨房灯变为红)”。则在该示例中,自动化助理可以保持灯变暗,但将厨房灯的颜恢复到与先前状态相关联的颜。
54.图5是示例计算机系统510的框图500。计算机系统510通常包括经由总线子系统512与多个外围设备通信的至少一个处理器514。这些外围设备可以包括存储子系统524(包括例如存储器525和文件存储子系统526)、用户界面输出设备520、用户界面输入设备522和网络接口子系统516。输入和输出设备允许用户与计算机系统510交互。网络接口子系统516将接口提供给外部网络,并且被耦合至其它计算机系统中的对应接口设备。
55.用户界面输入设备522可以包括键盘、指向设备(诸如鼠标、轨迹球、触摸板或者绘图板)、扫描仪、被并入到显示器中的触摸屏、音频输入设备(诸如话音识别系统、麦克风)和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括用于将信息输入到计算机系统510中或者输入到通信网络上的所有可能类型的设备和方式。
56.用户界面输出设备520可以包括显示子系统、打印机、传真机或者非视觉显示器(诸如音频输出设备)。显示子系统可以包括阴极射线管(crt)、平板设备(诸如液晶显示器(lcd))、投影设备或者用于创建可见图像的一些其它机构。显示子系统还可以提供非视觉显示器,诸如经由音频输出设备。通常,术语“输出设备”的使用旨在包括用于将来自计算机系统510的信息输出到用户或者输出到另一机器或者计算机系统的所有可能类型的设备和方式。
57.存储子系统524存储提供本文描述的一些或者所有模块的功能性的编程和数据构造。例如,存储子系统524可以包括执行方法400的所选方面和/或实施系统300、计算设备
104、计算设备204、计算设备244、自动化助理和/或本文讨论的任何其它应用、设备、装置和/或模块中的一个或多个的逻辑。
58.这些软件模块通常由处理器514单独地执行或者与其它处理器组合来执行。用于存储子系统524的存储器524可以包括多个存储器,该多个存储器包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)530和固定指令被存储在其中的只读存储器(rom)532。文件存储子系统526可以为程序和数据文件提供持久存储装置,并且可以包括硬盘驱动器、连同关联的可移除介质的软盘驱动器、cd-rom驱动器、光学驱动器或者可移除介质盒。实施特定实施方式的功能性的模块可以由文件存储子系统526存储在存储子系统524中,或者存储在能够由处理器514访问的其它机器中。
59.总线子系统512提供用于允许计算机系统510的各种组件和子系统按照预期来与彼此通信的机构。虽然总线子系统512被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
60.计算机系统510可以具有不同的类型,包括工作站、服务器、计算集、刀片式服务器、服务器场或者任何其它数据处理系统或者计算设备。由于计算机和网络的不断变化的性质,出于图示一些实施方式的目的,图5中描绘的计算机系统510的描述仅仅意图作为具体示例。与图5中描绘的计算机系统相比,计算机系统510的具有更多或者更少组件的许多其它配置是可能的。
61.在本文描述的系统收集关于用户(或者通常在本文中称为“参与者”)的个人信息或者可以利用个人信息的情况下,可以向用户提供以下机会:控制程序或者特征是否收集用户信息(例如关于用户的社交网络、社交动作或者活动、职业、用户的偏好或者用户的当前地理地点的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。而且,在特定数据被存储或者使用之前,该特定数据可以按照一种或多种方式来处置,使得个人可标识信息被移除。例如,可以处置用户的身份,使得无法确定用户的个人可标识信息,或者可以使用户的地理地点(地理地点信息(诸如城市、或者州级)从中获得)一般化,使得用户的特定地理地点无法被确定。因此,用户可以控制关于用户的信息如何被收集和/或被使用。
62.虽然若干实施方式已经在本文中描述和图示,但是可以利用用于执行功能和/或获得结果和/或本文描述的优点中的一个或多个的各种其它部件和/或结构,并且这种变化和/或修改中的每一个被视为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置旨在是示例性的,并且实际参数、尺寸、材料和/或配置将取决于教导被使用的一个或多个具体应用。本领域技术人员将认识到或者仅仅使用常规实验就能够确定本文描述的具体实施方式的许多等效物。因此,要理解的是,前述实施方式仅通过示例呈现,并且在所附权利要求及其等效物的范围内,实施方式可以按照与具体描述和要求保护不同的方式来实践。本公开的实施方式涉及本文描述的每个单独特征、系统、物品、材料、套件和/或方法。另外,如果这种特征、系统、物品、材料、套件和/或方法不互相矛盾,那么两个或更多个这种特征、系统、物品、材料、套件和/或方法的任何组合都被包括在本公开的范围内。
63.在一些实施方式中,提供了一种由一个或多个处理器实施的方法,并且包括:由计算设备,接收由用户提供给自动化助理的助理输入,该自动化助理能够经由计算设备访问;
由自动化助理,确定助理输入对应于撤销由应用执行的某些操作的请求,该应用与自动化助理是分开的;以及基于助理输入,标识已影响应用状态并且与助理输入相关联的一个或多个操作。该一个或多个操作使应用从第一应用状态转变到第二应用状态,并且在应用表现出第二应用状态期间或之后,用户提供助理输入。该方法还包括:基于助理输入,使应用恢复到第一应用状态。
64.本文公开的技术的这些和其它实施方式可以可选地包括以下特征中的一个或多个。
65.在一些实施方式中,该方法还可以包括:基于助理输入,标识一个或多个其它操作。该一个或多个其它操作可以使应用从第二应用状态转变到第三应用状态。该方法还可以包括:使选择提示被呈现给用户,该选择提示可以包括标识第一应用状态的第一可选择选项和标识第二应用状态的第二可选择选项,并且响应于针对用户呈现选择提示,用户可以选择第一可选择选项。在这些实施方式的一些版本中,使所述选择提示被呈现包括:生成可选择的图形用户界面(gui)元素,该可选择的gui元素对应于第一可选择选项并且表征应用的第一应用状态的视觉内容;以及生成另一可选择的gui元素,该另一可选择的gui元素对应于第二可选择选项并且表征应用的第二应用状态的其它视觉内容。
66.在一些实施方式中,标识已影响应用状态并且与助理输入相关联的一个或多个操作可以包括:从在用户提供助理输入之前的时间段内在应用处初始化的操作的集合中选择一个或多个操作。该一个或多个操作可以省略在该时间段内也在应用处初始化的一个或多个其它操作。
67.在一些实施方式中,该方法还可以包括:在接收到助理输入之前,由自动化助理,确定应用已执行使应用从第一应用状态转变到第二应用状态的一个或多个操作。在这些实施方式的一些版本中,确定应用已执行该一个或多个操作可以包括:当应用表现出第二应用状态时,使用一个或多个经训练的机器学习模型,处理表征应用的gui界面的图像数据。
68.在一些实施方式中,确定助理输入对应于撤销由应用执行的某些操作的请求可以包括:当用户提供助理输入时,确定助理输入与在应用界面处呈现的自然语言内容相关联。在这些实施方式的一些版本中,助理输入可以体现在由用户提供的口语话语中,并且口语话语可以不标识在应用界面处呈现的自然语言内容中的任何一个。
69.在一些实施方式中,提供了一种由一个或多个处理器实施的方法,并且包括:由应用接收被引导到应用的用户输入。应用能够经由计算设备访问,该计算设备也提供对自动化助理的访问。该方法还包括:基于用户输入,使应用执行一个或多个操作。执行该一个或多个操作使应用从第一操作状态转变到第二操作状态。该方法还包括:由应用,从自动化助理接收执行一个或多个其它操作的请求。来自自动化助理的请求基于从用户到自动化助理的助理输入。该方法还包括:基于来自自动化助理的请求,使应用从第二操作状态恢复到第一操作状态。
70.本文公开的技术的这些和其它实施方式可以可选地包括以下特征中的一个或多个。
71.在一些实施方式中,该方法还可以包括:在从自动化助理接收到请求之前,接收使应用将应用状态数据提供给自动化助理的单独请求。应用状态数据可以表征应用的第一操作状态的一个或多个特征。
72.在一些实施方式中,该方法还可以包括:在从自动化助理接收到请求之前,接收使应用将应用操作数据提供给自动化助理的单独请求。应用操作数据可以标识用于将应用从第二操作状态恢复到第一操作状态的一个或多个其它操作。
73.在一些实施方式中,使应用从第二操作状态恢复到第一操作状态可以包括:使应用修改由用户经由应用访问的文件,以撤销基于用户输入执行的一个或多个操作。
74.在一些实施方式中,提供了一种由一个或多个处理器实施的方法,并且包括:由计算设备,接收由用户提供给自动化助理的助理输入,该自动化助理能够经由计算设备访问。助理输入对应于撤销由一个或多个应用执行的特定操作的请求,该一个或多个应用与自动化助理是分开的。该方法还包括:基于助理输入,处理操作数据,该操作数据标识已影响该一个或多个应用的特定操作;以及基于操作数据和助理输入,选择一个或多个操作以由该一个或多个应用来执行。该一个或多个操作被选择以促进撤销由该一个或多个应用执行的特定操作。该方法还包括:由自动化助理,响应于助理输入来使该一个或多个应用执行该一个或多个操作。
75.本文公开的技术的这些和其它实施方式可以可选地包括以下特征中的一个或多个。
76.在一些实施方式中,助理输入可以体现在由用户提供的口语话语中,并且可以将口语话语同时提供给经由计算设备或者单独计算设备的界面查看一个或多个应用的用户。
77.在一些实施方式中,选择一个或多个操作以由一个或多个应用来执行可以包括:由自动化助理,使用应用编程接口将单独请求提供给该一个或多个应用中的应用。请求可以标识由该一个或多个应用执行的特定操作。
78.在一些实施方式中,该方法还可以包括:基于操作数据和助理输入,选择一个或多个其它操作以由一个或多个应用来执行。可以选择该一个或多个其它操作以促进撤销由该一个或多个应用执行的特定操作。该方法还可以包括:使选择提示被呈现给用户。选择提示可以包括表征该一个或多个应用被该一个或多个操作影响的第一状态的第一可选择选项以及表征该一个或多个应用被该一个或多个其它操作影响的第二状态的第二可选择选项。响应于针对用户呈现选择提示,用户可以选择第一可选择选项。
79.在这些实施方式的一些版本中,呈现选择提示可以包括:生成可选择的图形用户界面(gui)元素,可选择的gui元素对应于第一可选择选项并且表征一个或多个应用的第一状态的视觉内容;以及生成另一可选择的gui元素,该另一可选择的gui元素对应于第二可选择选项并且表征该一个或多个应用的第二状态的其它视觉内容。
80.在这些实施方式的附加或替代版本中,选择一个或多个操作以由一个或多个应用来执行可以包括:访问经训练的机器学习模型,该机器学习模型基于用户或另一用户使一个或多个应用或者一个或多个应用的单独实例恢复到特定操作状态的先前实例来训练。一个或多个操作可以基于经训练的机器学习模型来执行。在这些实施方式的一些其它版本中,该方法还可以包括:基于用户选择第一可选择选项,生成反馈数据;以及使经训练的机器学习模型基于反馈数据来进一步训练。
81.在一些实施方式中,该方法还可以包括:基于助理输入,处理场境数据,该场境数据表征用户提供助理输入的环境的一个或多个特征。选择一个或多个操作以由一个或多个应用来执行还可以基于场境数据。
82.在一些实施方式中,提供了一种由一个或多个处理器实施的方法,并且包括:由计算设备,接收由用户提供给自动化助理的助理输入,该自动化助理能够经由计算设备访问;由自动化助理,确定助理输入对应于撤销由智能设备执行的某些操作的请求,该智能设备与应用相关联;以及基于助理输入,标识已影响智能设备的状态并且与助理输入相关联的一个或多个操作。所述一个或多个操作使智能设备从第一智能设备状态转变到第二智能设备状态,并且在智能设备表现出第二智能设备状态期间或之后,用户提供助理输入。该方法还可以包括:专用于接收到助理输入,基于助理输入,使智能设备恢复到第一智能设备状态。
83.其它实施方式可以包括一种存储指令的非瞬态计算机可读存储介质,该指令能够由一个或多个处理器(例如中央处理单元(cpu)、图形处理单元(gpu)和/或张量处理单元(tpu))执行,以执行诸如上面和/或本文其它地方描述的一种或多种方法等方法。其它实施方式可以包括一种一个或多个计算机的系统,该系统包括一个或多个处理器,这些处理器能够操作以执行存储的指令从而执行诸如上面和/或本文其它地方描述的一种或多种方法等方法。
84.应该了解,本文更详细地描述的前述概念和附加概念的所有组合被设想为本文公开的主题的一部分。例如,所附权利要求中要求保护的主题的所有组合都被设想为本文公开的主题的一部分。

技术特征:


1.一种由一个或多个处理器实施的方法,所述方法包括:由计算设备接收由用户提供给自动化助理的助理输入,所述自动化助理能够经由所述计算设备访问;由所述自动化助理确定所述助理输入与用于撤销由应用执行的某些操作的请求相对应,所述应用与所述自动化助理是分开的;基于所述助理输入,标识已影响所述应用的状态并且与所述助理输入相关联的一个或多个操作;其中,所述一个或多个操作使所述应用从第一应用状态转变到第二应用状态,并且其中,在所述应用表现出所述第二应用状态期间或之后,所述用户提供所述助理输入;以及基于所述助理输入,使所述应用恢复到所述第一应用状态。2.根据权利要求1所述的方法,还包括:基于所述助理输入,标识一个或多个其它操作,其中,所述一个或多个其它操作使所述应用从所述第二应用状态转变到第三应用状态;以及使选择提示被呈现给所述用户,其中,所述选择提示包括标识所述第一应用状态的第一可选择选项和标识所述第二应用状态的第二可选择选项,并且其中,响应于所述选择提示被呈现给所述用户,所述用户选择所述第一可选择选项。3.根据权利要求2所述的方法,其中,使所述选择提示被呈现包括:生成与所述第一可选择选项相对应并且表征所述应用的第一应用状态的视觉内容的可选择图形用户界面gui元素,以及生成与所述第二可选择选项相对应并且表征所述应用的第二应用状态的其它视觉内容的另一可选择gui元素。4.根据任何一项前述权利要求所述的方法,其中,标识已影响所述应用的状态并且与所述助理输入相关联的所述一个或多个操作包括:从在所述用户提供所述助理输入之前的时间段内在所述应用处被初始化的操作的集合中选择所述一个或多个操作,其中,所述一个或多个操作省略了在所述时间段内也在所述应用处被初始化的一个或多个其它操作。5.根据任何一项前述权利要求所述的方法,还包括:在接收所述助理输入之前:由所述自动化助理确定所述应用已执行了使所述应用从所述第一应用状态转变到所述第二应用状态的所述一个或多个操作。6.根据权利要求5所述的方法,其中,确定所述应用已执行了所述一个或多个操作包括:当所述应用表现出所述第二应用状态时,使用一个或多个经训练的机器学习模型来处理表征所述应用的gui界面的图像数据。7.根据任何一项前述权利要求所述的方法,其中,确定所述助理输入与用于撤销由所
述应用执行的某些操作的所述请求相对应包括:当所述用户提供所述助理输入时,确定所述助理输入与在所述应用的界面处呈现的自然语言内容相关联。8.根据权利要求7所述的方法,其中,所述助理输入体现在由所述用户提供的口语话语中,并且其中,所述口语话语没有标识在所述应用的界面处呈现的所述自然语言内容中的任何一个。9.一种由一个或多个处理器实施的方法,所述方法包括:由应用接收被引导到所述应用的用户输入,其中,所述应用能够经由计算设备访问,所述计算设备也提供对自动化助理的访问;基于所述用户输入,使所述应用执行一个或多个操作,其中,执行所述一个或多个操作使所述应用从第一操作状态转变到第二操作状态;由所述应用接收来自所述自动化助理的用于执行一个或多个其它操作的请求,其中,来自所述自动化助理的所述请求是基于从用户到所述自动化助理的助理输入;以及基于来自所述自动化助理的所述请求,使所述应用从所述第二操作状态恢复到所述第一操作状态。10.根据权利要求9所述的方法,还包括:在接收到来自所述自动化助理的所述请求之前:接收用于使所述应用将应用状态数据提供给所述自动化助理的单独请求,其中,所述应用状态数据表征所述应用的所述第一操作状态的一个或多个特征。11.根据权利要求9或10所述的方法,还包括:在接收到来自所述自动化助理的所述请求之前:接收用于所述应用将应用操作数据提供给所述自动化助理的单独请求,其中,所述应用操作数据标识用于将所述应用从所述第二操作状态恢复到所述第一操作状态的所述一个或多个其它操作。12.根据权利要求9至11中的任一项所述的方法,其中,使所述应用从所述第二操作状态恢复到所述第一操作状态包括:使所述应用修改由所述用户经由所述应用所访问的文件,以撤销基于所述用户输入执行的所述一个或多个操作。13.一种由一个或多个处理器实施的方法,所述方法包括:由计算设备接收由用户提供给自动化助理的助理输入,所述自动化助理能够经由所述计算设备访问,其中,所述助理输入与用于撤销由一个或多个应用执行的特定操作的请求相对应,所述一个或多个应用与所述自动化助理是分开的;基于所述助理输入来处理操作数据,所述操作数据标识已影响所述一个或多个应用的所述特定操作;基于所述操作数据和所述助理输入,选择用于由所述一个或多个应用执行的一个或多个操作,其中,所述一个或多个操作是被选择用以促进撤销由所述一个或多个应用执行的所述
特定操作;以及由所述自动化助理响应于所述助理输入来使所述一个或多个应用执行所述一个或多个操作。14.根据权利要求13所述的方法,其中,所述助理输入体现在由所述用户提供的口语话语中,并且其中,所述口语话语被同时提供给经由所述计算设备或者单独计算设备的界面查看所述一个或多个应用的所述用户。15.根据权利要求13或14所述的方法,其中,选择用于由所述一个或多个应用执行的所述一个或多个操作包括:由所述自动化助理使用应用编程接口来将单独请求提供给所述一个或多个应用中的应用,其中,所述请求标识由所述一个或多个应用执行的所述特定操作。16.根据权利要求13至15中的任一项所述的方法,还包括:基于所述操作数据和所述助理输入,选择用于由所述一个或多个应用执行的一个或多个其它操作,其中,所述一个或多个其它操作是被选择用以促进撤销由所述一个或多个应用执行的所述特定操作;以及使选择提示被呈现给所述用户,其中,所述选择提示包括:表征第一状态的第一可选择选项,在所述第一状态中所述一个或多个应用被所述一个或多个操作所影响,以及表征第二状态的第二可选择选项,在所述第二状态中所述一个或多个应用被所述一个或多个其它操作所影响,并且其中,响应于所述选择提示被呈现给所述用户,所述用户选择所述第一可选择选项。17.根据权利要求16所述的方法,其中,使所述选择提示被呈现包括:生成与所述第一可选择选项相对应并且表征所述一个或多个应用的第一状态的视觉内容的可选择图形用户界面gui元素,以及生成与所述第二可选择选项相对应并且表征所述一个或多个应用的第二状态的其它视觉内容的另一可选择的gui元素。18.根据权利要求16所述的方法,其中,选择用于由所述一个或多个应用执行的所述一个或多个操作包括:访问经训练的机器学习模型,所述经训练的机器学习模型是基于先前实例来训练,在所述先前实例中所述用户或另一用户使所述一个或多个应用或者所述一个或多个应用的单独实例恢复到特定操作状态,其中,所述一个或多个操作是基于所述经训练的机器学习模型来执行。19.根据权利要求18所述的方法,还包括:基于所述用户选择所述第一可选择选项,生成反馈数据;以及使所述经训练的机器学习模型基于所述反馈数据来进一步训练。20.根据权利要求13至19中的任一项所述的方法,还包括:基于所述助理输入来处理场境数据,所述场境数据表征所述用户提供所述助理输入的
环境的一个或多个特征,其中,选择用于由所述一个或多个应用执行的所述一个或多个操作还基于所述场境数据。21.一种系统,包括:至少一个处理器;以及存储指令的存储器,所述指令在被执行时使所述至少一个处理器执行与权利要求1至20中的任一项相对应的操作。22.一种存储指令的非瞬态计算机可读存储介质,所述指令在被执行时使至少一个处理器执行与权利要求1至20中的任一项相对应的操作。

技术总结


本文陈述的实施方式涉及一种自动化助理,所述自动化助理可以执行操作以将各种应用恢复到所述应用可能经由某些用户输入达到的先前状态,所述用户可以提供口语话语,诸如“undo(撤销)”,以使所述自动化助理标识所述用户可能想要用所述“撤销”命令影响的特定应用,当所述特定应用被标识时,所述自动化助理可以标识最近使用所述特定应用执行的一个或多个操作,在一些实施方式中,响应于“撤销”命令,所述自动化助理可以向所述用户提供各种撤销选项,例如,所述自动化助理可以提示所述用户选择要被撤销的第一操作集和/或第二操作集中的一个操作,并且每个集可以指不同的操作。并且每个集可以指不同的操作。并且每个集可以指不同的操作。


技术研发人员:

马修

受保护的技术使用者:

谷歌有限责任公司

技术研发日:

2021.12.06

技术公布日:

2023/3/28

本文发布于:2024-09-24 11:23:03,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/83147.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:多个   所述   操作   状态
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议