一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在访问非助理应用时通过自动助理初始化非助理后台动作的制作方法

2021-10-22 23:14:00 来源:中国专利 TAG:用时 初始化 后台 动作 访问

在访问非助理应用时通过自动助理初始化非助理后台动作


背景技术:

1.人类可以与本文中称为“自动助理”(也称为“数字代理”、“聊天机器人”、“交互式个人助理”、“智能个人助理”、“助理应用”、“会话代理”等)进行人机对话。例如,人类(当他们与自动助理交互时可以称为“用户”)可以使用口头自然语言输入(即口头话语),这在某些情况下可以转换成文本然后进行处理,和/或通过提供文本(例如,打字的)自然语言输入向自动助理提供命令和/或请求。自动助理可以通过提供响应用户界面输出来响应请求,该响应用户界面输出可以包括可听和/或视觉用户界面输出。
2.当用户正在操作其它应用时,自动助理的可用性可能有限。结果,用户可能尝试调用自动助理来执行用户与其它应用相关联的某些功能,但当自动助理无法继续时,最终终止与自动助理的对话会话。例如,自动助理的有限可用性或有限功能可能意味着用户无法通过自动助理处理的语音命令控制其它应用。这会浪费计算资源,例如网络和处理带宽,因为在对话会话期间对口头话语的任何处理都不会导致任何动作的执行。此外,由于这种缺陷,当用户与其各自的自动助理交互时,用户可能避免操作其它应用,这样可能以其它方式为用户进行的各种任务提供效率。此类任务的一个示例是通过安装在用户计算设备上的应用控制单独的硬件系统,例如加热系统、空调系统或其它气候控制系统。此类避免可能导致任何可能以其它方式由此类应用辅助的设备(例如智能恒温器和硬件系统内的其它应用控制设备)以及可能受益于此类应用或受益于他们对相关联的控制的任何人的效率低下。
3.此外,当用户确实选择与他们的自动助理交互以执行某些任务时,由于用户打开了另一个应用,自动助理的有限功能可能无意中否定正在进行的对话会话。其它应用的打开可以被许多系统假定为用户不再对推进正在进行的对话会话感兴趣的指示,当用户实际上打算执行与对话会话相关的动作时,这会浪费计算资源。在这种情况下,对话会话可能会被取消,从而导致用户重复任何先前的口头话语以重新调用自动助理,这会阻碍用户使用此类系统初始化某些应用动作的任何进度。


技术实现要素:

4.本文中阐述的实施方式涉及一个或多个系统,用于允许用户调用自动助理以初始化特定应用(或单独的应用)的一个或多个动作的执行,同时允许用户与该特定应用交互。用户正在与其交互的特定应用可以与表征能够由特定应用执行的各种不同动作的数据相关联。此外,单独的应用也可以与该数据相关联,这也可以表征能够由那些单独的应用执行的各种动作。当用户正在与特定应用交互时,用户可以提供口头话语以推进完成特定应用或一个或多个单独的应用可以完成的一个或多个动作。
5.作为示例,特定应用可以是用户正通过计算设备访问的警报系统应用。例如,警报系统应用可以安装在计算设备上。在下面的讨论中,计算设备将在平板计算设备的场境中被提及,但是应当理解,计算设备可以替代地是智能电话、智能手表等。用户可以使用平板计算设备来访问警报系统应用以查看由与警报系统应用通信的一个或多个安全相机捕获的视频。在观看视频时,用户可能希望确保他们的警报系统。为了做到这一点,用户可以在
与警报系统应用的视频界面交互的同时提供口头话语,即无需关闭他们正在查看的视频或以其它方式导航到警报系统应用的单独的界面以确保警报系统。例如,用户可以提供诸如“secure the alarm system(确保警报系统)”的口头话语。在一些实施方式中,口头话语可以在平板计算设备和/或远程计算设备(例如服务器设备)处被处理,以便识别用户正在请求自动助理对其执行进行初始化的一个或多个动作。例如,可以在设备上执行对口头话语的自动话音识别和/或自然语言理解。可以在设备上执行自动话音识别(asr)以检测某些术语,这些术语可以对应于能够通过设备执行的特定动作。替代地或附加地,可以在设备上执行自然语言理解(nlu),以便识别能够通过设备执行的某些意图。
6.可以使用表征自然语言内容的输入数据,以确定用户正在请求通过自动助理来初始化的一个或多个特定动作。例如,平板计算设备可以访问可通过平板计算设备访问的每个应用的应用数据和/或存储应用数据。在一些实施方式中,可以响应于用户通过非语音活动(例如,按钮按下、与设备的物理交互、诸如手势的间接输入)和/或通过语音活动(例如、热词、调用短语、检测口头话语中的特定术语,和/或检测口头话语对应于意图)来访问应用。
7.在助理接收和/或处理调用手势之后的口头用户请求/话语的其余部分之前,自动助理可以仅响应于该调用手势(例如上面提到的语音/非语音活动)来访问应用数据。这可以允许助理在设备完成接收/处理来自用户的完整请求之前(即在调用手势之后),获得当前在平板计算设备上运行的任何应用的应用数据。因此,一旦接收并处理了完整的请求,助理就能够立即确定该请求是否可以由当前正在设备上运行的应用执行。在某些情况下,以这种方式获得的应用数据可能仅限于当前运行在设备上的多任务运行环境的前台中的应用的应用数据。
8.为了访问应用数据,自动助理应用可以响应于非语音活动和/或语音活动向一个或多个应用发送请求(例如,通过操作系统)。作为响应,该一个或多个应用可以提供表征场境动作和/或全局动作的应用数据。场境动作可以基于执行场境动作的相应应用(例如,用户正在访问的活动应用)的当前状态被识别和/或能够执行,并且全局动作可以被识别和/或能够执行而不管相应应用的当前状态如何。通过允许应用以这种方式提供应用数据,自动助理可以根据动作的准确索引来操作,从而使自动助理能够响应于特定输入来初始化相关动作。此外,在一些实施方式中,由于在设备上执行asr和/或nlu并且结合动作选择,因此自动助理可以在没有任何网络传输的情况下访问应用数据。
9.可以将输入数据与一个或多个不同应用的应用数据进行比较,以便识别用户想要初始化的一个或多个动作。在一些实施方式中,可以对一个或多个动作进行排名和/或以其它方式进行优先排序,以便识别最合适的动作以响应于口头话语进行初始化。对该一个或多个动作进行优先排序可以基于口头话语的内容、一个或多个应用的当前、过去和/或预期使用、表征用户提供口头话语的场境的场境数据,动作是否对应于活动应用,和/或可用于将一个或多个动作优先于一个或多个其它操作的任何其它信息。在一些实施方式中,对应于活动应用(即,在图形用户界面的前台执行的应用)的动作可以比对应于非活动应用的动作优先排序和/或排名更高。
10.在一些实施方式中,应用数据可以包括例如方案形式的结构化数据,其可以表征能够由应用数据对应的特定应用执行的各种不同动作。例如,警报系统应用可以与表征方
案的特定应用数据相关联,该方案包括表征能够通过警报系统应用执行的一个或多个不同动作的各种不同条目。此外,恒温器应用可以与表征另一方案的其它应用数据相关联,该方案包括表征能够通过恒温器应用执行的一个或多个其它动作的条目。在一些实施方式中,尽管这两个应用不同,但每个应用的方案可以包括表征“on(开启)”动作的条目。
11.每个条目可以包括“开启”动作的属性、“开启”动作的自然语言描述、与“开启”动作相关联的数据的文件路径、和/或可以与应用动作相关的任何其它信息。例如,警报系统应用的方案中的条目可以包括执行文件以确保警报系统的路径。此外,用于恒温器应用的方案中的单独的条目可以包括表征恒温器应用和/或对应于恒温器应用的恒温器的当前状态的信息。可以将为每个条目提供的信息与来自用户的口头话语的内容和/或与向用户提供口头话语的场境相对应的场境数据进行比较。可以执行该比较以便将一个或多个动作排名和/或优先于其它动作。
12.例如,由计算设备生成的场境数据可以表征当前正在计算设备处活动的一个或多个应用。因此,因为警报系统应用在用户提供口头话语时处于活动状态,所以由警报系统应用的方案所表征的“开启”动作可以优先于由恒温器应用的方案所表征的“开启”动作。在一些情况下,如下文更详细描述的,正在多任务环境的前台中运行的应用的方案或其它应用数据可以优先于设备上所有其它应用的方案/其它应用数据。在这种情况下,当正在前台中运行的应用从第一应用变为第二应用时,当确定出应该使用哪个应用用于实现用户请求中指定的动作时,第二应用的应用数据可以优先于第一应用的应用数据。
13.在一些实施方式中,特定应用的应用数据可以表征能够由该特定应用执行的各种不同动作。当自动助理接收到口头话语或其它输入时,可以对由方案表征的多个不同动作进行排名和/或优先排序。此后,可以响应于口头话语执行最高优先级的动作。例如,用户可以操作餐厅预订应用,该餐厅预订应用可以与表征方案的应用数据相关联,该方案识别能够由餐厅应用执行的各种不同动作。当用户与餐厅预订应用交互时,例如当餐厅预订应用正在多任务环境的前台中运行时,用户可以导航到应用的特定界面以选择进行预订的特定餐厅。在与应用的特定界面交互时,用户可以提供口头话语,例如“make the reservation for 7:30p.m.(预订在晚上7:30)”。
14.响应于接收到口头话语,自动助理可以使口头话语被处理以便识别一个或多个动作以基于口头话语执行初始化。例如,可以在接收口头话语的设备处生成表征所接收口头话语的自然语言内容的内容数据。可以将内容数据与表征能够通过餐厅预订应用执行的各种不同动作的应用数据进行比较。在一些实施方式中,应用数据可以表征在应用展示当前状态的同时能够由应用执行的一个或多个场境动作,和/或无论当前状态如何都能够由应用执行的一个或多个全局动作。
15.基于该比较,可以对应用数据中识别出的一个或多个动作进行排名和/或优先排序,以便确定合适的动作以响应于口头话语进行初始化。例如,应用数据可以表征“reservation time(预订时间)”动作和“notification time(通知时间)”动作,每个动作都能够由餐厅预订应用执行。可以确定接收到的口头话语的内容与动作之间的对应关系,以便将一个动作优先于另一个。在一些实施方式中,应用数据可以包括进一步表征每个动作的信息,并且可以将该信息与口头话语的内容进行比较以确定口头话语的内容与表征每个动作的信息之间的相关性强度。例如,因为口头话语的内容包括术语“预订”,所以“预订
时间”动作可以优先于通知时间动作。
16.在一些实施方式中,当响应于口头话语而选择要初始化的动作时,可以考虑应用的状态。例如,根据前面的示例,当用户提供口头话语时,餐厅预订应用在接收到口头话语时可能尚未建立存储的预订。当口头话语的内容与应用数据进行比较时,可以访问餐厅预订应用的状态,并且也与应用数据进行比较。应用数据可以表征由预订应用能够执行的一个或多个动作的应用状态。例如,预订时间动作可以与草稿预订状态相关,而通知时间动作可以与存储的预订状态相关。因此,当没有存储的预订,但用户正在创建草稿预订时,至少响应于用户提供口头话语,“预定在晚上7:30”,预订时间动作可以优先于通知时间动作。
17.在另一个示例中,用户可以操作恒温器应用,该恒温器应用可以与表征能够由恒温器应用执行的各种不同动作的方案的应用数据相关联。当用户与恒温器应用交互时,例如当恒温器应用正在多任务环境的前台中运行时,用户可以导航到应用的特定界面以选择将室内温度设置为特定值的特定时间。在与应用的特定界面交互时,用户可以提供口头话语,例如“set temperature to 68 degrees at 7:00 a.m.(在早上7:00将温度设置为68度)”。
18.响应于接收到口头话语,自动助理可以使口头话语被处理以便识别一个或多个动作以基于口头话语进行初始化。例如,可以在接收口头话语的设备处生成表征所接收口头话语的自然语言内容的内容数据。可以将该内容数据与表征能够通过恒温器应用执行的各种不同动作的应用数据进行比较。在一些实施方式中,应用数据可以表征在应用展示当前状态的同时能够由应用执行的一个或多个场境动作,和/或无论当前状态如何都能够由应用执行的一个或多个全局动作。
19.基于该比较,可以对应用数据中识别出的一个或多个动作进行排名和/或优先排序,以确定响应于口头话语来初始化的合适动作。例如,应用数据可以表征“set temperature(设定温度)”动作和“eco mode(节能模式)”动作,每个动作都能够由恒温器应用执行。可以确定接收到的口头话语的内容与动作之间的对应关系,以便将一个动作优先于另一个。在一些实施方式中,应用数据可以包括进一步表征每个动作的信息,并且可以将该信息与口头话语的内容进行比较以确定口头话语的内容与表征每个动作的信息之间的相关性强度。例如,因为口头话语的内容包括术语“设定温度”,所以“设定温度”动作可以优先于“节能模式”动作。
20.在一些实施方式中,当活动应用在计算设备处执行时响应于由用户提供的口头话语时,可以考虑来自不同应用的各种不同动作。例如,当用户提供诸如“read my new message(阅读我的新消息)”的口头话语,而正在呈现非消息传递应用(例如,股票应用)时,自动助理可以将口头话语解释为与为用户阅读新电子邮件的自动助理动作最相关。但是,当用户在社交媒体应用在非消息传递应用的后台执行时提供口头话语时,自动助理可以确定社交媒体应用的状态是否与“新消息”相关联。如果后台应用的状态和/或场境与“新消息”相关联,则自动助理可以通过后台应用初始化消息相关动作的执行。但是,如果后台应用的状态和/或场境不与“新消息”相关联,则自动助理可以执行以下自动助理动作,为用户阅读任何新的电子邮件消息,和/或如果没有新的电子邮件消息,则自动助理可以提供诸如“there are no new messages(没有新消息)”的响应。
21.通过提供能够以这种方式初始化其它应用动作的自动助理,其它对应的应用将不
需要预先加载用于语音控制的模块,而是可以依赖于用于asr和/或nlu的自动助理。这可以节省客户端资源,否则这些资源可能会因多个不同的应用预加载asr和/或nlu模块而消耗掉,这些模块可以消耗各种不同的计算资源。例如,操作多个不同的应用,每个应用都有自己的asr和/或nlu模块,可能会消耗处理带宽和/或存储资源。因此,利用这里讨论的技术可以消除这种计算资源的浪费。此外,这些技术允许单个接口(例如,用于与自动助理交互的麦克风和/或其它接口)来控制活动应用、后台应用和/或自动助理。这可以消除计算资源的浪费,否则这些资源可能会被消耗掉来启动单独的应用和/或与远程服务器连接以处理输入。
22.以上描述被提供作为本公开的一些实施方式的概述。下面更详细地描述那些实施方式和其它实施方式的进一步描述。
23.其它实施方式可以包括存储能够由一个或多个处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)和/或张量处理单元(tpu))执行以执行诸如上述和/或本文其它地方描述的一个或多个方法的方法的指令的非暂时性计算机可读存储介质。然而其它实施方式可以包括由一个或多个计算机和/或一个或多个机器人组成的系统,该系统包括一个或多个处理器,该一个或多个处理器能够操作以执行存储的指令以执行诸如上文和/或本文其它地方描述的一个或多个方法的方法。
24.应当理解,上述概念和这里更详细描述的附加概念的所有组合都被设想为这里公开的主题的一部分。例如,出现在本公开末尾的要求保护的主题的所有组合都被认为是本文公开的主题的一部分。
附图说明
25.图1a和图1b图示了用户调用自动助理来控制包括用于控制其它动作的图形控制元素的应用的各种动作。
26.图2a和图2b图示了用户访问在计算设备的显示面板的前台中呈现的特定应用,同时用户还通过对自动助理的输入来控制单独的第三方应用。
27.图3图示了一种系统,该系统允许自动助理初始化一个或多个应用的动作,而不管目标应用和/或相应的图形控制元素是否正呈现在图形用户界面的前台中。
28.图4a和图4b图示了用于在访问非助理应用或不同于非助理应用和自动助理的单独的应用的同时通过自动助理控制该非助理应用的方法。
29.图5是示例计算机系统的框图。
具体实施方式
30.图1a和图1b图示了视图100和视图140,用户102调用自动助理来控制应用的各种动作,该应用包括用于控制某些动作的图形控制元素,但是在执行时可能不总是呈现那些图形控制元素。例如,用户102可以正在访问计算设备104,该计算设备104包括用于呈现应用的图形用户界面106的显示面板114。该应用可以是包括第一图形控制元素110和第二图形控制元素112的媒体回放应用108。当媒体回放应用108在计算设备104处执行时,用户102可以控制在图形用户界面106处呈现的一个或多个图形元素。此外,当用户102正在查看图形用户界面106时,用户102可以提供口头话语以控制能够通过计算设备104执行的一个或
多个动作。
31.例如,用户可以在他们轻敲图形界面元素(例如在图形用户界面106处呈现的暂停按钮(如图1a中所示))时提供口头话语116。口头话语116可以是例如“set to 6and play my workout playlist(设置为6并播放我的锻炼播放列表)”。响应于接收到口头话语116,计算设备104的一个或多个处理器可以生成表征口头话语116的音频数据,并且处理音频数据以推进对口头话语116的响应。例如,该一个或多个处理器可以根据用于将音频数据转换为文本数据的话音到文本过程来处理音频数据。然后可以由该一个或多个处理器根据自然语言理解过程处理文本数据。在一些实施方式中,话音到文本过程和/或自然语言理解过程可以专门在计算设备104处执行。替代地或附加地,话音到文本过程和/或自然语言理解过程可以在单独的服务器设备和/或计算设备104处执行。
32.在一些实施方式中,响应于接收到口头话语116,计算设备104的自动助理130可以请求和/或访问对应于能够通过计算设备104访问的一个或多个应用128的应用数据124。应用数据124可以表征能够由能够通过计算设备104访问的一个或多个应用128执行的一个或多个动作。应用128可以包括媒体回放应用108,并且媒体回放应用108可以提供特定应用数据124,其表征能够由媒体回放应用108执行的一个或多个动作。在一些实施方式中,取决于特定应用是否正在根据特定的操作状态进行操作,应用128中的每个应用可以提供表征能够由特定应用执行的场境动作的应用数据124。例如,媒体回放应用108可以提供表征当第一图形控制元素110和第二图形控制元素112在图形用户界面106处被呈现时能够执行的一个或多个场境动作的应用数据。在这个示例中,该一个或多个场境动作可以包括音量调整动作、暂停动作、下一个动作和/或前一个动作。
33.在一些实施方式中,应用数据124可以包括动作方案132,该动作方案可以被自动助理130和/或动作引擎126访问,用于对能够由特定应用执行的动作进行排名和/或优先排序。例如,动作方案132中识别出的每个动作条目134可以被提供有与特定动作相关联的一个或多个术语或描述符。例如,特定描述符可以表征受特定动作的执行影响的界面,和/或另一个特定描述符可以表征被访问或以其它方式受特定动作的执行影响的数据类型。替代地或附加地,应用描述符可以表征可能受特定动作的执行影响的一个或多个应用,和/或另一个特定描述符可以表征账户许可、账户限制、网络偏好、界面模态、功率偏好和/或可以与应用动作相关联的任何其它规范。
34.此外,在一些实施方式中,应用128中的每个应用可以提供应用数据124,该应用数据表征能够由特定应用执行的全局动作,而不管特定应用是否根据特定操作状态操作(例如,应用是否在图形用户界面的前台操作)。例如,媒体回放应用108可以提供表征当媒体回放应用108正在计算设备104处执行时能够执行的一个或多个全局动作的应用数据。
35.响应于接收到口头话语116,自动助理130可以访问应用数据124以确定口头话语116是否针对自动助理130初始化应用128的动作的执行。例如,自动助理130可以使计算设备104的动作引擎126响应于口头话语116来处理应用数据124。动作引擎126可以识别表征能够通过一个或多个应用128执行的一个或多个动作的各种动作条目。在一些实施方式中,因为当用户提供口头话语116时计算设备104正在呈现媒体回放应用108的图形用户界面106,所以动作引擎126可以在选择要初始化的动作时考虑该场境。例如,可以将口头话语116的内容与应用数据124进行比较以确定该内容是否与能够由媒体回放应用108执行的一
alarm system(确保警报系统)”。从用户202的角度来看,用户202可能打算控制第三方应用,例如警报系统应用。但是,为了由用户202有效地执行这种控制,计算设备204可以进行各种操作来处理这个口头话语216和/或来自用户202的任何其它输入。
41.例如,响应于接收到口头话语216和/或对自动助理230的任何其它输入,自动助理230可以使一个或多个应用228被查询,以便识别能够由该一个或多个应用228执行的一个或多个动作。在一些实施方式中,每个应用228可以提供动作方案232,这些动作方案可以表征能够由相应应用执行的一个或多个动作。特定应用228的动作方案232可以表征当特定应用228正在执行并展示当前状态时可以被执行的场境动作。替代地或附加地,特定应用228的动作方案232可以表征可以执行的全局动作,而不管特定应用228的状态如何。
42.口头话语216可以在计算设备204处本地处理,计算设备204可以提供话音到文本引擎和/或自然语言理解引擎。基于对口头话语216的处理,动作引擎226可以基于口头话语216的内容来识别一个或多个动作条目234。在一些实施方式中,可以根据自动助理230能够访问的各种不同数据来对一个或多个识别出的动作进行排名和/或优先排序。例如,场境数据224可以用于对一个或多个识别出的动作进行排名,以便可以响应于口头话语216来初始化排名最高的动作以便执行。场境数据可以表征用户202和计算设备204之间的一个或多个交互的一个或多个特征,例如图形用户界面206的内容、在计算设备204处执行的一个或多个应用、存储的用户202的偏好,和/或可以表征用户202处的场境的任何其它信息。此外,助理数据220可以用于对响应于口头话语216将由特定应用执行的一个或多个识别出的动作进行排名/优先排序。助理数据220可以表征用户202和自动助理230之间的一个或多个交互的细节、用户202的位置、关于自动助理230的用户202的偏好、提供对自动助理230的访问的其它设备和/或可以与自动助理相关联的任何其它信息。
43.响应于口头话语216,和/或基于访问与一个或多个应用228相对应的一个或多个动作方案232,动作引擎226可以识别与口头话语216相关的一个或多个动作条目234。例如,口头话语216的内容可以与对应于恒温器应用208的动作条目进行比较,并且确定恒温器应用208不包括用术语“警报”明确标记的动作。但是,动作引擎226可以将口头话语216的内容与对应于单独的应用(诸如警报系统应用)的另一个动作条目234进行比较。动作引擎226可以确定警报系统应用可以执行明确标记为“arm(警戒)”的动作,并且“警戒”动作的动作条目包括该动作对“确保”警报系统有用的描述。结果,动作引擎226可以将警报系统应用的“警戒”动作排名和/或优先排序在动作引擎226识别出的任何其它动作之上。
44.如图2b中的视图240所示,自动助理230可以将“警戒”动作的执行初始化为后台进程,同时将恒温器应用208维持在显示面板214的前台。例如,当用户202打开加热并改变恒温器应用208的温度设置后,用户202可以使警报系统得到确保,如自动助理230的输出242所示。这样,后台进程可以被初始化和流线化,而不会干扰用户参与的任何前台过程。这可以消除计算资源的浪费,否则这些计算资源可能会消耗在前台应用之间切换和/或消耗在重新初始化用户通过前台应用调用的动作。
45.在一些实施方式中,助理数据220可以表征成功度量,该成功度量基于特定动作和/或特定应用已经被用户调用但还没有被成功执行的次数。例如,当自动助理230确定警报系统已被确保时,可以修改对应于“警戒”动作和/或警报系统应用的成功度量以反映“警戒”动作的完成。但是,如果“警戒”动作没有成功执行,则可以修改成功度量以反映要完成
的“警戒”动作的失败。以此方式,当成功度量未能满足特定成功度量阈值,但用户已请求对应于失败成功度量的动作时,自动助理230可向用户提供关于如何继续进行动作的通知。例如,自动助理230可以响应于接收到包括对于对应于不满足成功度量阈值的成功度量的动作的请求的口头话语,使显示面板214呈现诸如“请打开[application_name]以执行该动作”的通知。
[0046]
图3图示了用于使自动助理304初始化一个或多个应用的动作的系统300,而不管目标应用和/或相应的图形控制元素是否正被呈现在图形用户界面的前台中。自动助理304可以作为在一个或多个计算设备(例如计算设备302和/或服务器设备)处提供的助理应用的一部分来操作。用户可以通过助理接口320与自动助理304交互,该助理接口320可以是麦克风、相机、触摸屏显示器、用户界面和/或能够在用户和应用之间提供界面的任何其它装置。例如,用户可以通过向助理接口320提供言语输入、文本输入和/或图形输入来初始化自动助理304,以使自动助理304执行功能(例如,提供数据、控制外围设备、访问代理、生成输入和/或输出等)。计算设备302可以包括显示设备,该显示设备可以是包括用于接收触摸输入和/或手势的触摸界面的显示面板,以允许用户通过触摸界面来控制计算设备302的应用334。在一些实施方式中,计算设备302可以没有显示设备,从而提供可听的用户界面输出,而不是提供图形用户界面输出。此外,计算设备302可以提供用于从用户接收口头自然语言输入的用户界面,例如麦克风。在一些实施方式中,计算设备302可以包括触摸界面并且可以没有相机,但是可以可选地包括一个或多个其它传感器。
[0047]
计算设备302和/或其它第三方客户端设备可以通过诸如因特网的网络与服务器设备通信。此外,计算设备302和任何其它计算设备可以通过局域网(lan)(例如wi

fi网络)彼此通信。计算设备302可以将计算任务卸载(offload)到服务器设备以节省计算设备302处的计算资源。例如,服务器设备可以托管自动助理304,和/或计算设备302可以将在一个或多个助理界面320处接收到的输入发送到服务器设备。但是,在一些实施方式中,自动助理304可以托管在计算设备302处,并且可以在计算设备302处执行可以与自动助理操作相关联的各种过程。
[0048]
在各种实施方式中,自动助理304的所有方面或少于所有方面可以在计算设备302上实施。在那些实施方式中的一些中,自动助理304的方面通过计算设备302实施并且可以与服务器设备对接,这可以实现自动助理304的其它方面。服务器设备可以可选地通过多个线程为多个用户及其相关联的助理应用服务。在自动助理304的所有方面或少于所有方面通过计算设备302实施的实施方式中,自动助理304可以是与计算设备302的操作系统分开的应用(例如,安装在操作系统的“顶部”)—或者可以替代地由计算设备302的操作系统直接实现(例如,被认为是操作系统的应用,但与操作系统集成在一起)。
[0049]
在一些实施方式中,自动助理304可以包括输入处理引擎306,该输入处理引擎可以采用多个不同的模块来处理计算设备302和/或服务器设备的输入和/或输出。例如,输入处理引擎306可以包括话音处理引擎308,该话音处理引擎可以处理在助理界面320处接收到的音频数据以识别在该音频数据中实现的文本。音频数据可以从例如计算设备302发送到服务器设备,以便保留计算设备302处的计算资源。附加地或替代地,音频数据可以在计算设备302处进行处理。
[0050]
用于将音频数据转换为文本的过程可以包括话音识别算法,该算法可以采用神经
网络和/或统计模型来识别对应于词或短语的音频数据组。从音频数据转换的文本可以由数据解析引擎310解析,并作为可用于生成和/或识别命令短语、意图、动作、槽值和/或用户指定的任何其它内容的文本数据使其对于自动助理304可用。在一些实施方式中,由数据解析引擎310提供的输出数据可以被提供给参数引擎312以确定用户是否提供了以下输入,该输入对应于能够由自动助理304和/或能够通过自动助理304访问的应用或代理执行的特定意图、动作和/或例程。例如,助理数据338可以存储在服务器设备和/或计算设备302处,并且可以包括定义能够由自动助理304执行的一个或多个动作的数据,以及执行动作所必需的参数。
[0051]
在一些实施方式中,计算设备302可以包括一个或多个应用334,该一个或多个应用可以由第三方实体提供,该第三方实体不同于提供计算设备302和/或自动助理304的实体。自动助理304和/或计算设备302的动作引擎318可以访问应用数据330以确定能够由一个或多个应用334执行的一个或多个动作。此外,应用数据330和/或任何其它数据(例如设备数据332)可以由自动助理304访问以生成场境数据336,该场境数据可以表征在其中特定应用334在计算设备302处执行和/或特定用户正在访问计算设备302的场境。
[0052]
当一个或多个应用334在计算设备302处执行时,设备数据332可以表征在计算设备302处执行的每个应用334的当前操作状态。此外,应用数据330可以表征执行应用334的一个或多个特征,例如在一个或多个应用334的指导下呈现的一个或多个图形用户界面的内容。替代地或附加地,应用数据330可以表征动作方案,该动作方案可以由相应的应用和/或由自动助理304基于相应的应用的当前操作状态来更新。替代地或附加地,一个或多个应用334的一个或多个动作方案可以保持静态,但可以由动作引擎318访问以便确定合适的动作以通过自动助理304进行初始化。
[0053]
在一些实施方式中,动作引擎318可以初始化应用334的一个或多个动作的执行,而不管用于该一个或多个动作的特定图形控件是否正被呈现具有计算设备302的图形用户界面。自动助理304可以初始化这样的动作的执行,并且自动助理304的度量引擎314可以确定这样的动作的执行是否完成。如果确定没有完整地执行特定动作,则度量引擎314可以修改对应于特定动作的度量以反映正在执行的动作没有成功。替代地或附加地,如果另一个动作被确定为连续执行,则度量引擎314可以修改对应于另一个动作的度量以反映使预期应用执行该动作的成功。
[0054]
动作引擎318可以使用由度量引擎314确定的度量以便对由一个或多个动作方案识别出的应用动作进行优先排名和/或排序。可以对动作进行排名和/或优先排序,以便识别合适的动作以执行初始化,例如,响应于用户提供特定的口头话语。在第一应用作为计算设备302的界面在前台执行时由用户提供的口头话语可以使第一应用执行动作,该动作以其它方式可能无法通过用户与该界面的交互来初始化。替代地或附加地,当第二应用在后台执行并且第一应用在前台执行时,用户可以提供口头话语。响应于接收到口头话语,自动助理304可以确定口头话语对应于能够由第二应用执行的特定动作,并且在不中断前台中的第一应用的情况下使第二应用初始化特定动作的执行。在一些实施方式中,自动助理304可以提供特定动作由后台中的第二应用成功执行的指示。在一些实施方式中,尽管用户与前台中的第一应用交互,但不同的用户可以提供导致第二应用在后台执行特定动作的口头话语。
[0055]
图4a和图4b图示了用于在访问非助理应用或不同于该非助理应用和自动助理的单独应用的同时通过自动助理控制该非助理应用的方法400。方法400可以由一个或多个计算设备、应用和/或能够与一个或多个不同应用交互的任何其它装置或模块来执行。方法400可以包括操作402,该操作402确定用户在与能够与自动助理分开访问的应用交互时提供了口头话语。例如,该应用可以是用于组织任务、电子邮件和日程安排的组织应用。用户可以通过便携式计算设备(例如手机)访问应用。用户可以与应用交互以通过应用的第一图形用户界面访问传入的电子邮件。当用户在第一图形用户界面处与应用交互时,该用户可以参考刚刚接收到的并包括事件邀请的电子邮件,提供诸如“add this event to my calendar(将此事件添加到我的日历)”的口头话语。
[0056]
响应于接收到口头话语,方法400可以从操作402行进到操作404。操作404可以包括访问表征能够由一个或多个应用执行的一个或多个动作的应用数据。应用数据可以表征该一个或多个动作,以及该一个或多个动作的属性和/或与该一个或多个动作相关联的其它信息。例如,应用数据可以体现为方案文件,该方案文件列出了能够由一个或多个应用执行的一个或多个动作,以及该一个或多个动作的每个动作的特征和/或属性的列表。特定动作的特征可以表征与特定动作相对应的输出模态和/或输入模态。替代地或附加地,特定动作的特征可以表征受特定动作的执行影响的数据类型。例如,“播放”动作可以与对应的信息一起列出,该对应的信息将“扬声器”列为受“播放”动作执行影响的输出模态,将“音频”列为在动作执行期间使用的数据类型(例如,{“播放”:[输出模态:扬声器],[数据类型:音频],...})。作为另一个示例,可以列出“新事件”动作,其中列出了“日历数据”作为在动作执行期间访问和/或编辑的数据类型,以及“向日历添加事件”作为“新事件”动作的描述。
[0057]
方法400可以从操作404行进到可选操作406,该可选操作406可以包括访问表征用户和应用之间的接合的一个或多个特征和/或特性的场境数据。场境数据可以基于在用户与应用、一个或多个其它计算设备之间的参与期间计算设备的一个或多个属性和/或可以与用户和应用之间的交互相关联的任何其它信号。例如,当用户与组织应用交互时,组织应用可以向用户提供关于到组织应用的传入电子邮件消息的通知。场境数据可以由组织应用、自动助理和/或能够通过计算设备访问的任何其它应用生成。例如,自动助理可以识别计算设备的显示面板处的变化并且基于在显示面板处提供的内容的变化来生成场境数据。
[0058]
方法400还可以包括操作408,该操作408确定用户提供的口头话语与数据之间的相关性。确定相关性可以包括将口头话语的内容(例如,“将此事件添加到我的日历”)与应用数据和/或场境数据进行比较。例如,应用数据可以将包括“向日历添加事件”的前述“新事件”动作表征为“新事件”动作的描述。至少基于包括术语“添加”和“事件”的口头话语以及“新事件”动作的描述也包含术语“添加”和“事件”,该口头话语和“新事件”动作之间的相关性可以强于该口头话语和“播放”动作之间的不同确定的相关性。在一些实施方式中,机器学习模型可用于识别与口头话语相关联的一个或多个动作。例如,可以采用已经根据深度森林和/或深度学习方法训练过的机器学习模型来识别口头话语的内容与应用数据的内容之间的相关性。
[0059]
在一些实施方式中,可以确定场境数据和应用数据之间的所确定的相关性,以便识别合适的动作以响应于来自用户的口头话语来执行初始化。例如,场境数据可以表征关于在用户查看第一图形用户界面时接收到的消息的通知。应用数据和场境数据之间的这种
相关性可用于进一步对由应用数据识别出的一个或多个动作进行排名。例如,响应于组织应用接收到传入消息,组织应用可以修改应用数据以指示“新事件”动作可用于执行。替代地或附加地,组织应用可以响应于组织应用接收传入消息而生成更新的场境数据。然后可以使用更新的场境数据来对能够由组织应用和/或与自动助理分开的另一个应用执行的一个或多个动作进行排名和/或优先排序。
[0060]
方法400还可包括基于所确定的相关性从一个或多个动作中选择动作。可以根据所确定的相关性基于指配给动作的排名和/或优先级来选择动作。例如,“新事件”动作可以基于以下应用数据而优先于任何其它动作,该应用数据指示“新事件”动作能够由组织应用在给定状态和/或组织应用的状态下执行。替代地或附加地,“新事件”动作可以基于表征与用户提供的口头话语相关的通知的场境数据而优先于任何其它动作。在一些实施方式中,应用数据可以表征能够由一个或多个不同应用(包括组织应用)执行的动作。因此,被选择要执行的动作可以对应于不同于自动助理并且当前也没有呈现在计算设备的操作系统的图形用户界面的前台处的应用。换句话说,响应于口头话语,自动助理可以初始化与组织应用和自动助理不同的应用,以便初始化所选择的动作的执行。
[0061]
方法400可以通过继续元素“a”从操作410行进到方法412的操作414。继续元素“a”可以表示方法400和方法412之间的连接。方法412可以包括操作414,该操作414确定所选择的动作是否对应于用户正在与之交互的应用。当动作对应于用户正在与其交互的应用时,方法412可以从操作414行进到操作416。操作416可以包括通过自动助理使应用初始化所选择的动作的执行。替代地,当所选择的动作不对应于用户正在访问的应用,和/或不对应于在计算设备的显示界面的前台呈现的应用时,方法400可以从操作414行进到操作418。操作418可以包括通过自动助理使另一个应用初始化所选择的动作的执行。
[0062]
方法400可以从操作418行进到可选的操作420,该可选的操作420可以包括基于应用和/或另一个应用是否完成了所选择的动作来修改所选择的动作的成功度量。成功度量可以对应于特定动作和/或应用,并且可以反映当通过自动助理调用和/或当应用不在图形用户界面的前台执行时应用执行特定动作的可靠性。以此方式,当用户尝试初始化某些动作时,可以至少部分地基于这些动作各自的成功度量来对这些动作进行排名和/或优先排序以进行选择。如果特定动作的成功度量较低,和/或不满足阈值,则至少响应于自动助理选择用于初始化的特定动作,可以提示用户手动初始化该动作。如图4b和图4a所示,通过继续元素“b”,方法400可以从操作418和/或可选的操作420返回到方法400的操作402处。
[0063]
当“新事件”动作对应于呈现在显示界面前台的组织应用时,该组织应用可以根据用户提供的口头话语执行“新事件”动作。结果,组织应用可以使用用户提供的口头话语和/或通知的内容来生成日历条目。当“新事件”动作不对应于组织应用,而是对应于另一个应用(例如社交媒体应用或管理日历的其它应用)时,自动助理可以通过其它应用初始化“新事件”的执行。通过这种方式,用户不必导航离开正在显示界面前台呈现的应用。此外,当所选择的动作对应于前台中的应用,但可以通过应用的图形用户界面执行时,用户可以流线化所选择的动作的初始化,减少否则将在应用的界面之间导航时展示的延迟时间。这允许各种不同的模态来控制各种不同的动作,尽管对那些不同动作的显式控制目前没有在显示界面处呈现。通过减少否则将在应用的图形界面之间切换而消耗的图形数据处理量,可以消除gpu带宽的浪费。
[0064]
图5是示例计算机系统510的框图。计算机系统510通常包括至少一个处理器514,其通过总线子系统512与多个外围设备通信。这些外围设备可以包括存储子系统524,例如包括,存储器525和文件存储子系统526、用户接口输出设备520、用户接口输入设备522和网络接口子系统516。输入和输出设备允许用户与计算机系统510交互。网络接口子系统516提供到外部网络的接口,并耦合到其它计算机系统中的相应接口设备。
[0065]
用户界面输入设备522可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的定点设备、扫描仪、并入显示器中的触摸屏、诸如语音识别系统、麦克风的音频输入设备,以及/或其它类型的输入设备。一般而言,术语“输入设备”的使用旨在包括将信息输入到计算机系统510或通信网络上的所有可能类型的设备和方式。
[0066]
用户界面输出设备520可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(crt)、诸如液晶显示器(lcd)的平板设备、投影设备或用于创建可见图像的一些其它机构。显示子系统还可以提供非视觉显示,例如通过音频输出设备。一般而言,术语“输出设备”的使用旨在包括将信息从计算机系统510输出到用户或另一机器或计算机系统的所有可能类型的设备和方式。
[0067]
存储子系统524存储提供这里描述的一些或所有模块的功能的编程和数据构造。例如,存储子系统524可以包括用于执行方法400的所选方面和/或实现系统300、计算设备104、计算设备204、动作引擎126、动作引擎226、自动助理130、自动助理230、自动助理304、计算设备302和/或本文讨论的任何其它应用、设备、装置、引擎和/或模块中的一个或多个的逻辑。
[0068]
这些软件模块通常由处理器514单独或与其它处理器组合执行。存储子系统524中使用的存储器525可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)530和其中存储固定指令的只读存储器(rom)532。文件存储子系统526可以为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd

rom驱动器、光驱或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统526存储在存储子系统524中,或存储在处理器514可访问的其它机器中。
[0069]
总线子系统512提供了一种机制,用于让计算机系统510的各种组件和子系统按预期相互通信。尽管总线子系统512被示意性地示为单个总线,但是总线子系统的替代实施方式可以使用多个总线。
[0070]
计算机系统510可以是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器群或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图5中描绘的计算机系统510的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算机系统510的许多其它配置可能具有比图5中描绘的计算机系统更多或更少的组件。
[0071]
在此处描述的系统收集关于用户(或如此处经常提到的“参与者”)的个人信息或可以使用个人信息的情况下,可以向用户提供机会来控制程序或功能是否收集用户信息(例如,有关用户社交网络、社交行为或活动、职业、用户偏好或用户当前地理位置的信息),或控制是否和/或如何从可能与用户更相关的内容服务器接收内容。此外,某些数据可能会在存储或使用之前以一个或多个方式进行处理,以便删除个人身份信息。例如,可以对用户的身份进行处理,从而无法确定该用户的个人身份信息,或者可以在获得地理位置信息的地方泛化用户的地理位置(例如到城市、邮政编码或州级),从而无法确定用户的特定地理
位置。因此,用户可以控制如何收集和/或使用关于用户的信息。
[0072]
虽然这里已经描述和图示了若干实施方式,但是可以利用用于执行功能和/或获得这里描述的结果和/或一个或多个优点的各种其它手段和/或结构,并且此类变化和/或修改被认为在此处描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置意在示例性并且实际参数、尺寸、材料和/或配置将取决于使用教导的特定应用。本领域技术人员将认识到或能够仅使用常规实验来确定此处描述的特定实施方式的许多等价物。因此,应当理解,前述实施方式仅作为示例呈现,并且在所附权利要求及其等效物的范围内,可以以不同于具体描述和要求保护的方式来实践实施方式。本公开的实施涉及本文描述的每个分开的特征、系统、物品、材料、套件和/或方法。此外,两个或更多个此类特征、系统、物品、材料、套件和/或方法的任何组合,如果此类特征、系统、物品、材料、套件和/或方法不相互矛盾,则包括在本公开的范围内。
[0073]
在一些实施方式中,提供了一种方法,所述方法包括由计算设备在应用在所述计算设备处执行时确定用户已经提供了针对自动助理的但未明确识别任何应用的口头话语,其中所述任何应用能够通过所述计算设备访问。在所述计算设备的自动助理接口处接收所述口头话语,并且所述自动助理能够与所述应用分开访问。所述方法进一步包括基于确定出所述用户已经提供了所述口头话语,访问以下应用数据,所述应用数据表征能够由在所述计算设备处执行的所述应用执行的多个不同动作,基于所述应用数据,确定由所述用户提供的所述口头话语的内容与所述应用数据之间的相关性,并且从所述应用数据所表征的多个不同动作中选择一个动作,以用于通过所述自动助理进行初始化。所述动作是基于所述口头话语的内容与所述应用数据之间的所述相关性来选择的。所述方法进一步包括,当所选择的动作对应于能够由在所述计算设备处执行的所述应用执行的所述多个不同动作中的一个时,通过所述自动助理使所述应用初始化所选择的动作的执行。
[0074]
该技术的这些和其它实施方式可以包括以下特征中的一个或多个。
[0075]
在一些实施方式中,应用数据可以进一步表征其它动作,所述其它动作能够通过一个或多个其它应用执行,所述一个或多个其它应用能够与所述自动助理和所述应用分开访问。在那些实施方式中的一些中,所述方法还可以包括,当所选择的动作对应于能够由不同于正在所述计算设备处执行的所述应用的另一个应用执行的其它动作中的一个时,通过所述自动助理使所述其它应用初始化所选择的动作的执行。
[0076]
在一些实施方式中,当所述用户提供所述口头话语时,所述应用数据可以基于所述应用的当前应用状态的一个或多个特征来识别所述多个不同动作中的一个或多个场境动作。在那些实施方式中的一些中,一个或多个场境动作可所述应用识别,并且所述一个或多个特征表征当所述用户提供所述口头话语时呈现的所述应用的图形用户界面。在那些实施方式中的一些中,所述一个或多个场境动作可以附加地和/或替代地由所述应用基于当所述用户提供所述口头话语时在所述计算设备处执行的正在进行的动作的状态来识别。
[0077]
在一些实施方式中,所述方法还可以包括确定所述多个不同动作中的一个或多个动作的成功度量。特定动作的成功度量可以至少基于响应于所述用户和/或一个或多个其它用户通过所述自动助理初始化所述特定动作而已经完整地执行的所述特定动作的次数。此外可以进一步基于所述动作相对于所述多个不同动作中的其它动作的成功度量来选择所述动作。在那些实施方式中的一些中,所述方法还可以包括在导致所述应用和/或另一个
应用初始化所述动作的执行之后:确定所述动作是否由所述应用和/或所述其它应用完整地执行,以及基于所述动作是否由所述应用和/或所述其它应用完整地执行,导致所述动作的对应的成功度量被修改。
[0078]
在一些实施方式中,所述方法还可以包括,在所述应用在所述计算设备处执行时,在确定所述用户已经提供了所述口头话语之前,确定在所述应用在所述计算设备处执行时另一个应用通过所述计算设备的界面向所述用户提供了通知。所述应用数据可以包括表征所述其它应用能够执行的另一个动作的其它数据,并且响应于所述用户提供所述口头话语,可以从其它应用请求所述其它数据。在一些实施方式中,所述应用数据可以附加地和/或替代地识别应用能够进行的所述多个不同动作,和/或识别所述多个不同动作中的每个动作的描述数据。此外,所述多个不同动作中的特定动作的特定描述数据表征所述特定动作的两个或更多个属性。在那些实施方式中的一些中,所述两个或更多个属性包括动作类型名称和/或界面类型名称,其中所述动作类型名称表征对应于所述特定动作的动作类型,所述界面类型名称对应于在执行所述特定动作期间呈现内容的界面类型。
[0079]
在一些实施方式中,确定所述用户已经提供了针对所述自动助理的但未明确识别能够通过所述计算设备访问的任何应用的口头话语可以包括在所述计算设备处生成体现由所述用户提供的所述口头话语的音频数据,以及在所述计算设备处根据话音到文本过程和/或自然语言理解过程处理所述音频数据。在那些实施方式中的一些中,所述计算设备包括一个或多个处理器,并且使用所述计算设备的所述处理器中的一个或多个处理器来进行所述话音到文本过程和/或所述自然语言理解过程。
[0080]
在一些实施方式中,提供了一种方法,所述方法包括通过提供对自动助理的访问的计算设备确定用户已经提供用于调用所述自动助理的一个或多个输入。所述一个或多个输入是在应用展示当前应用状态时由所述用户提供的。所述方法进一步包括,基于确定所述用户已经提供了所述一个或多个输入,访问以下应用数据,所述应用数据表征能够由包括所述应用的一个或多个应用执行的多个不同动作。所述应用数据表征场境动作,当所述应用展示所述当前应用状态时所述场境动作能够由所述应用执行。所述方法进一步包括,基于所述应用数据,确定用户在所述应用展示所述当前应用状态时提供的口头话语的内容之间的相关性。所述口头话语未明确识别能够通过所述计算设备访问的任何应用。所述方法进一步包括,基于所述口头话语的内容与所述应用数据之间的所述相关性,从所述应用数据表征的所述场境动作中选择动作,以及,当所选择的动作对应于在所述应用展示所述当前应用状态时能够由所述应用执行的所述场境动作中的一个时,通过所述自动助理使所述应用初始化所选择的动作的执行。
[0081]
该技术的这些和其它实施方式可以包括以下特征中的一个或多个。
[0082]
在一些实施方式中,当在所述计算设备和/或另一个计算设备的显示界面的前台呈现所述应用时,所述当前应用状态可以由所述应用展示。在那些实施方式中的一些中,所述方法还可以包括,当所选择的动作对应于不同于正在展示的所述当前应用状态的另一个应用时,通过所述自动助理使所述其它应用初始化所选择的动作的执行。
[0083]
在那些实施方式中的一些中,当所述应用展示所述当前应用状态时,所述应用数据可以表征另一个动作,所述另一个动作是通过选择从所述显示界面省略的一个或多个图形界面元素而初始化的。在那些实施方式中的一些中,确定所述用户已经提供了针对所述
自动助理的但未明确识别能够通过所述计算设备访问的任何应用的口头话语可以包括在所述计算设备处生成体现由所述用户提供的所述口头话语的音频数据,以及在所述计算设备处根据话音到文本过程和/或自然语言理解过程处理所述音频数据。在那些实施方式中的一些中,计算设备可以包括一个或多个处理器,并且可以使用所述计算设备中的所述一个或多个处理器来执行所述话音到文本过程和/或所述自然语言理解过程。
[0084]
在一些实施方式中,提供了一种方法,所述方法包括当用户正在访问通过计算设备可用的应用时,从自动助理接收所述用户已经提供口头话语的指示。所述口头话语未明确识别能够通过所述计算设备访问的任何应用,以及所述自动助理能够与所述应用分开访问。所述方法进一步包括,响应于接收到所述用户已经提供所述口头话语的所述指示,提供表征一个或多个场境动作的应用数据。所述一个或多个场境动作由所述应用基于所述应用在所述应用处于当前状态时初始化所述一个或多个场境动作的执行的能力来识别,并且基于所述应用的所述当前状态,从多个不同的动作中选择所述一个或多个场境动作。所述方法进一步包括,基于提供所述应用数据,使所述自动助理确定所述口头话语是否对应于由所述应用数据表征的所述一个或多个场境动作中的特定动作,和当所述自动助理确定出所述口头话语对应于由所述应用数据表征的所述一个或多个场境动作中的所述特定动作时,基于对应于所述特定动作的所述口头话语,使所述自动助理通过所述应用初始化所述特定动作的执行。
[0085]
该技术的这些和其它实施方式可以包括以下特征中的一个或多个。
[0086]
在一些实施方式中,所述应用数据还可以识别所述一个或多个场境动作中的每个场境动作的描述数据。此外,特定场境动作的特定描述数据可以表征所述特定场境动作的两个或更多个属性。在那些实施方式中的一些中,所述两个或更多个属性包括动作类型名称和/或界面类型名称,其中所述动作类型名称表征对应于所述特定场境动作的动作类型,所述界面类型名称对应于在执行所述特定场境动作期间呈现内容的界面类型。
[0087]
在一些实施方式中,提供了一种方法,所述方法包括在第三方应用处并且当另一个应用在计算设备处执行时,接收来自自动助理的请求以提供表征能够由所述第三方应用执行的一个或多个动作的应用数据。所述请求由所述自动助理响应于用户提供一个或多个输入以在所述另一个应用正在所述计算设备处执行时调用所述自动助理而提供。所述方法进一步包括,响应于接收到来自所述自动助理的所述请求,将所述应用数据提供给所述自动助理。所述应用数据识别能够由通过所述自动助理初始化的所述第三方应用进行的特定动作。所述方法进一步包括,基于向所述自动助理提供所述应用,使所述自动助理确定所述用户提供的口头话语是否针对初始化由所述第三方应用对所述特定动作的执行。所述口头话语未明确识别能够通过所述计算设备访问的任何应用。所述方法进一步包括,当所述自动助理基于所述应用数据确定出所述口头话语是针对所述应用时,基于所述动作数据,使所述自动助理通过所述应用初始化所述动作的执行。
[0088]
该技术的这些和其它实施方式可以包括以下特征中的一个或多个。
[0089]
在一些实施方式中,可以在所述计算设备的显示界面的前台中呈现所述其它应用,并且可以从所述计算设备的所述显示界面的所述前台中省略所述第三方应用。在那些实施方式中的一些中,所述应用数据可以附加地和/或替代地识别与所述特定动作相对应的描述数据,并且所述描述数据表征所述特定动作的两个或更多个属性。在那些进一步的
实施方式中的一些中,所述两个或更多个属性包括动作类型名称和/或界面类型名称,其中所述动作类型名称表征对应于所述特定动作的动作类型,所述界面类型名称对应于在执行所述特定动作期间呈现内容的界面类型。
[0090]
其它实施方式可以包括非暂时性计算机可读存储介质和/或存储能够由一个或多个处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)和/或张量处理单元(tpu))执行的指令的计算机程序来执行诸如上述和/或本文其它地方描述的一个或多个方法的方法。然而,其它实施方式可以包括具有一个或多个处理器的系统,该处理器能够操作以执行存储的指令以执行诸如上文和/或本文其它地方描述的一个或多个方法的方法。
[0091]
应当理解,前述概念和这里更详细描述的附加概念的所有组合都被设想为这里公开的主题的一部分。例如,出现在本公开末尾的要求保护的主题的所有组合都被认为是本文公开的主题的一部分。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜