CN116711283A - 提供关于履行助理命令的确定性推理 - Google Patents

提供关于履行助理命令的确定性推理 Download PDF

Info

Publication number
CN116711283A
CN116711283A CN202180089018.1A CN202180089018A CN116711283A CN 116711283 A CN116711283 A CN 116711283A CN 202180089018 A CN202180089018 A CN 202180089018A CN 116711283 A CN116711283 A CN 116711283A
Authority
CN
China
Prior art keywords
deterministic
assistant
fulfillment
automated assistant
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180089018.1A
Other languages
English (en)
Inventor
费利克斯·魏森贝格尔
亚历山大·弗罗伊姆根
波格丹·普里瑟卡里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/532,759 external-priority patent/US20230031461A1/en
Application filed by Google LLC filed Critical Google LLC
Priority claimed from PCT/US2021/060986 external-priority patent/WO2023009156A1/en
Publication of CN116711283A publication Critical patent/CN116711283A/zh
Pending legal-status Critical Current

Links

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本文描述的实施方式涉及关于自动化助理为什么执行(或不执行)助理命令的确定性履行和/或替代履行而引起确定性推理。例如,实施方式能够接收包括助理命令的用户输入,处理该用户输入以确定在执行助理命令的确定性履行或替代履行中要利用的数据,以及使得自动化助理利用该数据来执行助理命令的确定性履行或替代履行。在一些实施方式中,响应于请求确定性推理的附加用户输入,能够提供包括确定性推理的输出以呈现给用户。在一些实施方式中,能够视觉渲染可选元素,并且当由用户选择时,能够提供包括确定性推理的输出以呈现给用户。

Description

提供关于履行助理命令的确定性推理
背景技术
人类可以参与与交互式软件应用的人机对话,该交互式软件应用在本文被称为“自动化助理”(也被称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人话音助理”、“会话智能体”等)。例如,人类(当他们与自动化助理交互时可以被称为“用户”)可以向自动化助理提供口头自然语言输入(即,口头话语),在一些情况下,可以将其转换成文本并且然后进行处理,和/或通过提供文本(例如,键入的)自然语言输入或触摸输入。自动化助理通常通过提供响应用户界面输出(例如,听觉和/或视觉用户界面输出)、控制(多个)智能联网设备和/或执行(多个)其他动作来响应这些包括助理命令的用户输入。
自动化助理通常依赖于组件流水线来解释和响应于这些包括助理命令的用户输入。例如,自动语音辨识(ASR)引擎能够处理对应于用户的口头话语的音频数据以生成ASR输出,诸如口头话语的转录(即,(多个)词项和/或(多个)其他令牌的序列)。此外,自然语言理解(NLU)引擎能够处理ASR输出以生成NLU输出,诸如用户在提供口头话语时的意图以及任选地与该意图相关联的(多个)参数的(多个)槽值。此外,履行引擎能够用于处理NLU输出,并且生成履行输出,诸如获得对口头话语的响应内容和/或响应于口头话语以执行动作的结构化请求。
在一些情况下,用户可能不理解自动化助理为什么响应于接收到这些包括助理命令的用户输入而提供特定响应内容和/或执行特定动作。当自动化助理不提供特定响应内容和/或不执行这些用户在提供用户输入时预期的特定动作时,这种误解可能会加剧。例如,如果给定用户提供被引导到自动化助理的用户输入,该用户输入请求该自动化助理使得音乐被播放,但自动化助理使用不期望的软件应用导致音乐被播放,或者响应于该用户输入导致搜索结果被提供,则给定用户可能对该自动化助理为什么没有以期望的方式使得音乐被播放而感到困惑。结果,给定用户可以提供包括相同用户输入或其他用户输入的另一实例的附加用户输入,以使用期望的软件应用使得音乐被播放,从而延长给定用户与自动化助理之间的人机对话的持续时间。此外,即使自动化助理确实使用期望的软件应用使得音乐被播放,给定用户也可能担心自动化助理,因为用户可能不知道自动化助理如何能够使用期望的软件应用使得音乐被播放,并且可能担心他/她的数据的安全性。因此,针对给定用户提供一种机制来理解自动化助理为什么使得助理命令的确定性履行被执行可能是有益的。
发明内容
本文公开的实施方式涉及关于自动化助理为什么执行(或不执行)助理命令的确定性履行和/或替代履行而引起确定性推理。例如,实施方式能够接收包括助理命令的用户输入,处理该用户输入以确定在执行助理命令的确定性履行或替代履行中要利用的数据,以及使得自动化助理利用该数据来执行助理命令的确定性履行或替代履行。在一些实施方式中,响应于请求确定性推理的附加用户输入,能够提供包括确定性推理的输出以呈现给用户。在一些实施方式中,能够视觉渲染一个或多个可选元素,并且当由用户选择一个或多个可选元素中的给定一个时,能够提供包括确定性推理的输出以呈现给用户。
例如,假设客户端设备的用户提供了口头话语“play rock music(播放摇滚音乐)”。在此示例中,自动化助理能够使用(多个)自动语音辨识(ASR)模型使得捕获口头话语的音频数据被处理,以生成ASR输出,诸如被预测对应于口头话语的语音假设、被预测对应于口头话语的预测音素、和/或其他ASR输出,以及任选地与语音假设、预测音素和/或其他ASR输出中的每一个相关联的ASR度量(例如,其指示给定语音假设或给定预测音素对应于口头话语的可能性)。此外,自动化助理能够使用(多个)自然语言理解(NLU)模型使得ASR输出被处理,以生成NLU输出,诸如用户在提供口头话语中的一个或多个预测意图、与一个或多个预测意图中的每一个相关联的对应参数的一个或多个槽值、和/或其他NLU输出,以及任选地与意图、槽值和/或其他NLU输出中的每一个相关联的NLU度量(例如,其指示给定意图和/或给定槽值对应于提供口头话语中的实际意图和/或期望槽值的可能性)。在此示例中,自动化助理能够推断一个或多个槽值,因为用户仅指定了特定的音乐流派(例如,摇滚),诸如与音乐意图相关联的艺术家参数的艺术家槽值、与音乐意图相关联的歌曲参数的歌曲槽值、与音乐意图相关联的软件应用或流服务参数的软件应用或流服务槽值等。推断槽值的变体能够导致口头话语的一个或多个解释。在各种实施方式中,并且假设自动化助理能够访问客户端设备的用户的一个或多个用户简档,则自动化助理能够利用用户简档数据来推断一个或多个槽值。否则,自动化助理可以利用一个或多个默认槽值。
此外,自动化助理能够使用一个或多个履行规则和/或(多个)履行模型使得NLU输出被处理,以生成履行输出,诸如将被传输到能够满足口头话语的一个或多个履行者(例如,(多个)软件应用、(多个)服务器等)的一个或多个结构化请求。在传输一个或多个结构化请求时,一个或多个履行者能够生成一个或多个履行候选,并且将一个或多个履行候选传输回到自动化助理。假设自动化助理能够访问客户端设备的用户的一个或多个用户简档(例如,其指示一个或多个履行候选中的给定履行候选将满足口头话语的可能性,如果实现的话),则自动化助理能够基于用户简档数据响应于接收到的一个或多个履行候选来生成与一个或多个履行候选中的每一个相关联的履行度量。自动化助理能够基于ASR度量、NLU度量和/或履行度量对一个或多个履行候选进行排序,并且基于该排序来选择确定性履行候选。此外,自动化助理能够使得选定的确定性履行候选在尝试中实现以满足口头话语。
例如,在该示例中,假设自动化助理确定了口头话语“play rock music”的第一解释,该第一解释包括音乐意图,该音乐意图对于与音乐意图相关联的艺术家参数具有艺术家槽值“艺术家1”,对于与音乐意图相关联的歌曲参数具有歌曲槽值“歌曲1”,对于与音乐意图相关联的软件应用或流服务参数具有软件应用或流服务槽值“应用1”。进一步假设自动化助理确定了口头话语“play rock music”的第一解释,该第一解释包括音乐意图,该音乐意图对于与音乐意图相关联的艺术家参数具有艺术家槽值“艺术家1”,对于与音乐意图相关联的歌曲参数具有歌曲槽值“歌曲1”,对于与音乐意图相关联的软件应用或流服务参数具有软件应用或流服务槽值“应用2”。在这种情况下,“应用1”和“应用2”能够被认为是能够满足口头话语的一个或多个履行者。因此,自动化助理能够将一个或多个结构化请求传输到“应用1”和“应用2”(以及任选地能够满足口头话语的其他履行者)以获得一个或多个履行候选。此外,自动化助理能够对一个或多个履行候选进行排序并且选择确定性履行候选以使得响应于口头话语而执行确定性履行。在此示例中,进一步假设自动化助理选择与第一解释相关联的履行候选。因此,自动化助理能够使用“应用1”经由客户端设备(或者与客户端设备通信的附加客户端设备)的(多个)扬声器使得“艺术家1”的“歌曲1”被播放,作为口头话语的确定性履行。
在一些实施方式中,并且在自动化助理使得确定性履行被执行之后,客户端设备的用户可以提供附加用户输入,该附加用户输入请求自动化助理提供关于为什么执行确定性履行和/或为什么不执行替代履行的确定性推理。在这些实施方式的一些版本中,对确定性推理的请求可以是对确定性推理的一般请求(例如,“why did you do that(你为什么这样做)?”),而在其他实施方式中,对确定性推理的请求可以是对确定性推理的特定请求(例如,“why did you play the music using application 1(你为什么使用应用1播放音乐)?”,“why didn’t you use application 2(你为什么不使用应用2)?”,“why did youselect artist 1(你为什么选择艺术家1)?”等)。例如,假设用户提供了进一步的口头话语“why did you do that?”。在此示例中,请求是对确定性推理的一般请求,并且自动化助理能够确定与口头话语的第一解释相关联的附加数据以生成响应于一般请求的输出(例如,“You use application 1the most to listen to music,you have listened to artist1in the past,and song 1is artist 1’s most popular song(你最常使用应用1来听音乐,你过去听过艺术家1的歌,并且歌曲1是艺术家1最受欢迎的歌曲)”等)。相比来说,假设用户提供了进一步的口头话语“why didn’t you use application 2?”。在此示例中,该请求是对确定性推理的特定请求,并且自动化助理能够确定与口头话语的第一解释和/或第二解释相关联的附加数据以生成响应于一般请求的输出(例如,“You use application1more than application 2to listen to music(你使用应用1多于应用2来听音乐)”等)。然而,在这个具有特定请求的示例中,假设用户尚未授权自动化助理访问“应用2”。在此示例中,自动化助理能够附加地或可替选地确定与推荐动作相关联的推荐数据,并且基于包括推荐动作的推荐数据来生成提示(例如,“You have not granted me access to useapplication 2,would you like to grant me access(您尚未授权我访问应用2,您想要授权我访问吗)?”或诸如此类)。因此,自动化助理不仅可以提供关于履行的确定性方面的确定性推理,而且自动化助理还可以响应于接收到包括助理命令的用户输入而提示用户适应当前和/或未来的履行。
在附加的或可替选的实施方式中,并且在自动化助理使得确定性履行被执行之后,自动化助理可以主动地使得与确定性推理相关联的一个或多个可选元素被提供以经由客户端设备的显示器呈现给用户。例如,能够提供与对确定性推理的一般请求相关联的第一可选元素来呈现给用户,并且当被选择时,能够使得自动化助理响应于一般请求来提供确定性推理。此外,附加地或可替选地,能够提供与对确定性推理的第一特定请求相关联的第二可选元素来呈现给用户,并且当被选择时,能够使得自动化助理响应于第一特定请求来提供确定性推理。此外,附加地或可替选地,能够提供与对确定性推理的第二特定请求相关联的第三可选元素来呈现给用户,并且当被选择时,能够使得自动化助理响应于第二特定请求来提供确定性推理。在这些实施方式的一些版本中,响应于确定ASR度量、NLU度量和/或履行度量未能满足指示自动化助理对助理命令的确定性履行不是高度有信心的阈值,自动化助理能够使得一个或多个可选元素被提供以呈现给用户。在这些实施方式的一些版本中,自动化助理能够使得一个或多个可选元素被提供以呈现给用户,而不管ASR度量、NLU度量和/或履行度量如何。
尽管以上示例是关于提供关于自动化助理为什么选择特定软件应用来使得音乐被播放(例如,“应用1”)的确定性推理来描述的,但是应理解,这是为了示例的目的,并不意味着限制。如本文所描述,本文描述的技术能够用于提供关于履行的任何方面的确定性推理,诸如为什么选择利用特定计算设备来履行助理命令,为什么选择对应参数的特定槽值,自动化助理为什么不能执行替代履行,和/或本文所述的任何其他方面。此外,尽管在以上示例中描述的推荐动作包括用户授权自动化助理访问特定的软件应用(例如,“应用2”),但是应理解,这也是为了示例的目的,并不意味着限制。本文描述的技术能够用于提供任何推荐动作以适应助理命令的履行,诸如在客户端设备处下载软件应用、通过(多个)网络将附加客户端设备与客户端设备通信地耦合、和/或本文描述的任何其他推荐动作。
通过使用本文描述的技术,能够实现一个或多个技术优势。作为一个非限制性示例,本文描述的技术使得自动化助理能够为履行(或缺少履行)的确定性方面提供确定性推理,从而通过提供该确定性推理来使客户端设备的用户理解他/她的数据何时被利用以及他/她的数据如何被利用。此外,本文所描述的技术使得自动化助理能够快速和高效地适应用户数据的隐私设置,并且通过消除用户必须通过在各种界面中导航来手动改变用户数据的隐私设置的需要来减少用户输入的数量。因此,增加了用户数据的安全性并且能够节省客户端设备的计算资源。作为另一非限制性示例,通过提供要执行的推荐动作并且继续人机对话,自动化助理能够挽救以其他方式被浪费的用户交互。例如,如果用户提供口头话语“turn on the lights(开灯)”以使得一个或多个智能灯被控制,但是用户尚未授权自动化助理访问用于控制智能灯的软件应用,则自动化助理能够提示用户授权访问用于控制智能灯的软件应用,而不是简单地指示自动化助理不能在该特定时刻及时地控制灯。因此,使用本文描述的技术能够节省计算和/或网络资源。
提供以上描述作为本文公开的仅一些实施方式的概述。这些实施方式和其他实施方式将在本文中详细描述。
应了解,本文更详细描述的前述概念和附加概念的所有组合都被认为是本文公开的主题的一部分。例如,出现在本公开末尾的要求保护的主题的所有组合被认为是本文所公开的主题的一部分。
附图说明
图1描绘了示例性环境的框图,该示例性环境展示了本公开的各方面,并且其中能够实现本文公开的实施方式。
图2描绘了示出根据各种实施方式的示例方法的流程图,该示例方法使得包括在用户输入中并且被引导到自动化助理的助理命令的确定性履行被执行,并且使得关于自动化助理为什么引起助理命令的确定性履行的确定性推理被提供。
图3描绘了示出根据各种实施方式的示例方法的流程图,该示例方法确定包括在用户输入中并且被引导到自动化助理的助理命令的确定性履行不能被执行,并且使得关于自动化助理为什么不能执行该确定性履行的确定性推理被提供。
图4A、图4B和图4C描绘了根据各种实施方式的使得关于助理命令的履行的确定性推理被提供的各种非限制性示例。
图5A和图5B描绘了根据各种实施方式的使得关于助理命令的履行的确定性推理被提供的各种附加非限制性示例。
图6描绘了根据各种实施方式的计算设备的示例架构。
具体实施方式
现在转向图1,描绘了示例环境的框图,该示例环境展示了本公开的各方面,并且其中能够实现本文公开的实施方式。示例环境包括客户端设备110、一个或多个基于云的自动化助理组件115、一个或多个第一方服务器191和一个或多个第三方服务器192。
客户端设备110能够施行自动化助理客户端113。自动化助理客户端113能够是与客户端设备110的操作系统分离的应用(例如,安装在操作系统的“顶部”)——或者能够可替选地直接由客户端设备110的操作系统实现。如下文进一步描述,自动化助理客户端113能够响应于由客户端设备110的(多个)用户接口组件112接收到的各种请求,任选地与一个或多个基于云的自动化助理组件115交互。此外,并且还如下文所述,客户端设备110的(多个)其他引擎能够任选地与一个或多个基于云的自动化助理组件115交互。
一个或多个基于云的自动化助理组件115能够在一个或多个计算系统(例如,被统称为“云”或“远程”计算系统的(多个)服务器)上实现,这些计算系统经由一个或多个局域网(“LAN”,包括Wi-Fi LAN、蓝牙网络、近场通信网络、网状网络等)、广域网(“WAN”,包括因特网等)和/或其他网络通信地耦合到客户端设备110。基于云的自动化助理组件115与客户端设备110的通信耦合通常由图1的1991来指示。此外,在一些实施方式中,客户端设备110可以经由一个或多个网络(例如,LAN和/或WAN)与本文描述的其他客户端设备(未描绘)通信地耦合。
一个或多个基于云的自动化助理组件115还能够经由一个或多个网络(例如,LAN、WAN和/或其他网络)与一个或多个第一方服务器191和/或一个或多个第三方服务器192通信地耦合。基于云的自动化助理组件115与一个或多个第一方服务器191的通信耦合通常由图1的1992指示。此外,基于云的自动化助理组件115与一个或多个第三方服务器192的通信耦合通常由图1的1993指示。在一些实施方式中,尽管没有在图1中明确描绘,但客户端设备110能够附加地或可替选地经由一个或多个网络(例如,LAN、WAN和/或其他网络)与一个或多个第一方服务器191和/或一个或多个第三方服务器192通信地耦合。此外,为了简单起见,一个或多个网络1991、1992和1993在下文中被统称为“(多个)网络199”。
自动化助理客户端113通过其与一个或多个基于云的自动化助理组件115的交互,可以形成从用户的角度来看似乎是自动化助理120的逻辑实例,客户端设备110的用户可以以该逻辑实例参与人机对话。例如,由虚线包围的自动化助理120的实例包括客户端设备110的自动化助理客户端113和一个或多个基于云的自动化助理组件115。因此,应当理解,与在客户端设备110上执行的自动化助理客户端113接涉的每一个用户实际上可以与他或她自己的自动化助理120的逻辑实例(或者在家庭或其他用户组之间共享和/或在多个自动化助理客户端113之间共享的自动化助理120的逻辑实例)接涉。尽管在图1中仅图示了客户端设备110,但是应理解,一个或多个基于云的自动化助理组件115能够附加地服务于许多附加的客户端设备组。此外,尽管在图1中图示了基于云的自动化助理组件115,但是应理解,在各种实施方式中,自动化助理12能够排他地在客户端设备110处实现。
如本文所使用,第一方设备或系统(例如,一个或多个第一方服务器191、一个或多个第一方软件应用等)指代由与控制本文所引用的自动化助理120的一方相同的一方控制的系统。例如,一个或多个第一方服务器191能够指代托管搜索引擎服务、通信服务(例如,电子邮件、SMS消息传递等)、导航服务、音乐服务、文档编辑或共享服务、和/或由与控制本文引用的自动化助理120的一方相同的一方控制的其他服务的系统。相比来说,第三方设备或系统(例如,一个或多个第三方服务器192、一个或多个第三方软件应用等)指代由与控制本文引用的自动化助理120的一方不同的一方控制的系统。例如,一个或多个第三方服务器192能够指代托管相同服务的系统,但那些服务由与控制本文引用的自动化助理120的一方不同的一方来控制。
客户端设备110可以包括例如以下各项中的一个或多个:台式计算设备、膝上型计算设备、平板型计算设备、移动电话计算设备、用户车辆中的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、交互式独立扬声器(例如,具有或不具有显示器)、智能联网设备(诸如智能家电、智能电视、智能灯或智能洗衣机/烘干机等)、包括计算设备的用户的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)、和/或能够接收被引导到自动化助理120的用户输入的任何IoT设备。可以提供附加和/或可替选的客户端设备。
在各种实施方式中,客户端设备110可以包括一个或多个存在传感器111,该存在传感器111被配置成在客户端设备110的用户同意的情况下,提供指示检测到的存在、尤其是人类存在的信号。在这些实施方式中的一些中,自动化助理120能够至少部分地基于用户在客户端设备110处(或在与客户端设备110的用户相关联的另一计算设备处)的存在来识别客户端设备110(或与客户端设备110的用户相关联的另一计算设备)以满足口头话语(或被引导到自动化助理120的其他输入)。能够通过在客户端设备110和/或与客户端设备110的用户相关联的(多个)其他计算设备处(例如,听觉地和/或视觉地)渲染响应内容,通过使得客户端设备110和/或与客户端设备110的用户相关联的(多个)其他计算设备被控制,和/或通过使得客户端设备110和/或与客户端设备110的用户相关联的(多个)其他计算设备执行满足口头话语(或被引导到自动化助理120的其他输入)的任何其他动作来满足口头话语(或被引导到自动化助理120的其他输入)。如本文所描述,自动化助理120能够利用基于存在传感器111确定的数据根据用户在哪里附近或最近在哪里附近来确定客户端设备110(或(多个)其他计算设备),并且仅向客户端设备110(或那些(多个)其他计算设备)提供对应的命令。在一些附加或可替选的实施方式中,自动化助理120能够利用基于存在传感器111确定的数据来确定任何(多个)用户(任何用户或具体用户)当前是否接近客户端设备110(或(多个)其他计算设备),并且能够基于接近客户端设备110(或(多个)其他计算设备)的(多个)用户来任选地抑制向客户端设备110(或(多个)其他计算设备)供应数据和/或抑制来自客户端设备110(或(多个)其他计算设备)的数据。
存在传感器111可以以各种形式出现。例如,客户端设备110可以配备有一个或多个视觉组件(例如,(多个)数码相机和/或(多个)其他视觉组件),它们被配置成捕获和提供指示在其视场中检测到的移动的(多个)信号。附加地或可替选地,客户端设备110可以配备有其他类型的基于光的存在传感器111,诸如测量从其视场内的对象辐射的红外(“IR”)光的无源红外(“PIR”)传感器。附加地或可替选地,客户端设备110可以配备有检测声学(或压力)波的存在传感器111,诸如一个或多个麦克风。
附加地或可替选地,在一些实施方式中,存在传感器111可以被配置成检测与人类存在或设备存在相关联的其他现象。例如,在一些实施例中,客户端设备110可以配备有存在传感器111,其检测由例如由用户携带/操作的其他计算设备(例如,移动设备、可穿戴计算设备等)和/或其他计算设备发射的各种类型的无线信号(例如,诸如无线电、超声波、电磁之类的波)。例如,客户端设备110可以被配置成发射人类察觉不到的波,诸如超声波或红外波,这些波可以被(多个)其他计算设备检测到(例如,经由诸如支持超声波的麦克风的超声波/红外接收器)。
附加地或可替选地,客户端设备110可以发射其他类型的人类察觉不到的波,诸如无线电波(例如,Wi-Fi、蓝牙、蜂窝等),其可以由用户携带/操作的(多个)其他计算设备(例如,移动设备、可穿戴计算设备等)检测,并且用于确定用户的特定定位。在一些实施方式中,GPS和/或Wi-Fi三角测量可以用于检测人的定位,例如,基于去往/来自客户端设备110的GPS和/或Wi-Fi信号。在其他实施方式中,可以由客户端设备110单独或共同地使用其他无线信号特性(诸如飞行时间、信号强度等)以基于由用户携带/操作的(多个)其他计算设备发射的信号来确定特定人的定位。
附加地或可替选地,在一些实施方式中,客户端设备110可以执行话音辨识以从他们的话音中辨识用户。例如,自动化助理120的一些实例可以被配置成将话音匹配到用户的简档,例如,为了提供/限制对各种资源的访问。在一些实施方式中,然后可以例如通过客户端设备110的存在传感器111(以及任选地GPS传感器和/或加速度计)来确定扬声器的移动。在一些实施方式中,基于此类检测到的移动,可以预测用户的定位,并且当至少部分地基于客户端设备110和/或(多个)其他计算设备与用户定位的接近性使得任何内容在客户端设备110和/或(多个)其他计算设备处被渲染时,该定位可以被假定为用户的定位。在一些实施方式中,可以简单地假设用户处于他或她与自动化助理120接涉的最后定位,尤其是如果自最后接涉以来没有过去太多时间。
客户端设备110还包括(多个)用户接口组件112,其能够包括一个或多个用户接口输入设备(例如,(多个)麦克风、触摸屏、键盘和/或其他输入设备)和/或一个或多个用户接口输出设备(例如,显示器、扬声器、投影仪和/或其他输出设备)。此外,客户端设备110和/或任何(多个)其他计算设备可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和施行应用的一个或多个处理器、以及促进通过(多个)网络199通信的其他组件。在一些实施方式中,由客户端设备110、(多个)其他计算设备和/或由自动化助理120执行的操作可以分布在多个计算机系统上,而在其他实施方式中,本文描述的操作可以排他地在客户端设备110或远程系统处执行。自动化助理110可以被实现为例如在一个或多个定位的一个或多个计算机上运行的计算机程序,这些计算机通过网络(例如,图1的(多个)网络199)相互耦合。
如上所述,在各种实施方式中,客户端设备110可以操作自动化助理客户端113。在各种实施例中,自动化助理客户端113可以包括语音捕获/自动语音辨识(ASR)/自然语言理解(NLU)/文本到语音(TTS)/履行模块114。在其他实施方式中,相应的语音捕获/ASR/NLU/TTS/履行模块114的一个或多个方面可以与自动化助理客户端113分开实现(例如,通过一个或多个基于云的自动化助理组件115)。
语音捕获/ASR/NLU/TTS/履行模块114可以被配置成执行一个或多个功能,包括例如:捕获用户的语音(语音捕获,例如,经由(多个)相应麦克风(其在一些情况下可以包含一个或多个存在传感器111));使用存储在(多个)机器学习(ML)模型数据库120A中的(多个)ASR模型将捕获的音频转换成辨识的文本和/或其他表示或嵌入;使用存储在(多个)ML模型数据库120A中的(多个)NLU模型来解析和/或注释辨识的文本;和/或使用存储在(多个)ML模型数据库120A中的一个或多个履行规则和/或履行模型来确定将在生成结构化请求中利用的履行数据以获得数据和/或响应于用户的语音使得动作被执行。此外,语音捕获/ASR/NLU/TTS/履行模块114可以被配置成使用存储在(多个)ML模型数据库120A中的(多个)TTS模型来转换文本到语音,并且能够提供基于文本到语音转换来捕获合成语音的合成语音音频数据,以经由客户端设备110的(多个)扬声器听觉呈现给客户端设备110的用户。这些(多个)ML模型的(多个)实例可以本地存储在客户端设备110处和/或可以由客户端设备110通过图1的(多个)网络199访问。在一些实施方式中,因为客户端设备110在计算资源(例如,处理器周期、存储器、电池等)方面可能受到相对约束,所以客户端设备110本地的相应语音捕获/ASR/NLU/TTS/履行模块114可以被配置成使用(多个)语音辨识模型将有限数量的不同口头短语转换成文本(或者转换成其他形式,诸如较低维度的嵌入)。
一些语音输入可以被发送到一个或多个基于云的自动化助理组件115,其可以包括基于云的ASR模块116、基于云的NLU模块117、基于云的TTS模块118和/或基于云的履行模块119。这些基于云的自动化助理组件115能够利用云的几乎无限的资源来执行相对于客户端设备110本地的语音捕获/ASR/NLU/TTS/履行模块114描述的相同或相似的功能性,但是应注意,语音捕获/ASR/NLU/TTS/履行模块114能够在客户端设备110处本地执行该功能性,而无需与基于云的自动化助理组件115交互。
尽管图1是关于具有单个用户的单个客户端设备描述的,但是应理解,这是为了示例的目的,并不意味着限制。例如,用户的一个或多个附加客户端设备也能够实现本文描述的技术。这些附加的客户端设备可以与客户端设备110通信(例如,通过(多个)网络199)。作为另一示例,客户端设备110能够由共享设置中的多个用户(例如,一组用户、家庭、酒店房间、企业的共享空间等)利用。
在一些实施方式中,客户端设备110还能够包括各种引擎,这些引擎用于响应于请求确定性推理的附加用户输入,使得关于包括在用户输入中并且被引导到自动化助理120的助理命令的履行的确定性推理被提供以呈现给客户端设备110的用户。例如,并且如图1中所描绘,客户端设备110还能够包括请求引擎130和推理引擎140。客户端设备110还能够包括设备上存储器,其包括(多个)用户简档数据库110A、(多个)ML模型数据库120A和元数据数据库140A。在一些实施方式中,这些各种引擎能够排他地在客户端设备110上施行。在附加或可替选的实施方式中,这些各种引擎中的一个或多个能够从客户端设备110远程施行(例如,作为基于云的自动化助理组件115的一部分)。例如,在其中助理命令在客户端设备110本地履行的实施方式中,这些各种引擎的设备上实例能够用来执行本文描述的操作。然而,在其中助理命令从客户端设备110(例如,作为基于云的自动化助理组件115的一部分)远程履行的实施方式中,这些各种引擎的远程实例能够用来执行本文描述的操作。
在一些实施方式中,并且在履行包括在经由客户端设备的(多个)用户接口组件112检测到的用户输入中并且被引导到自动化助理120的助理命令之后,请求引擎130能够使得附加用户输入被处理(例如,使用语音捕获/ASR/NLU/TTS/履行模块114的一个或多个方面)以确定附加用户输入是否包括请求。例如,假设客户端设备110的用户提供口头话语“turn on the lights”以使得客户端设备110的用户的住所的灯从关闭状态转变为打开状态。如参考图2和图3更详细描述的,能够使用存储在(多个)ML模型数据库120A中的(多个)ASR模型来处理捕获口头话语的音频数据,以生成ASR输出(任选地包括ASR度量),能够使用存储在(多个)ML模型数据库120A中的(多个)NLU模型来处理ASR输出,以生成NLU输出(任选地包括NLU度量),并且能够使用存储在(多个)ML模型数据库120A中的(多个)履行规则和/或(多个)履行模型来处理NLU输出,以生成履行输出。与履行输出相关联的(多个)结构化请求能够被传输到一个或多个履行者,诸如在客户端设备110处本地施行和/或在(多个)第一方服务器191和/或(多个)第三方服务器192处远程施行的各种软件应用,并且能够响应于(多个)结构化请求生成一个或多个履行候选(并且每一个履行度量能够与一个或多个对应的履行措施相关联)。自动化助理120能够基于ASR度量、NLU度量和/或履行度量使得一个或多个履行候选被排序。ASR度量、NLU度量、履行度量、和/或与口头话语的履行相关联的任何其他数据能够存储在元数据数据库140A中。该数据能够随后被自动化助理120访问以确定与提供用于履行如本文所述的助理命令的确定性推理相关联的数据(例如,参考图2、图3、图4A-4C和图5A-5B)。
然而,在此示例中,进一步假设客户端设备110的用户尚未授权自动化助理120访问与控制在客户端设备的用户的住所处的灯相关联的软件应用或服务。因此,该示例中的一个或多个履行候选可以指示在客户端设备110处或在服务器处(例如,(多个)第一方服务器191和/或第三方服务器)不存在能够满足口头话语的可访问的软件应用,因为至少由于缺少对这些履行者中的一个或多个的访问而无法确定要在开灯时利用的数据。因此,自动化助理120能够确定在通知客户端设备110的用户自动化助理120不能满足口头话语时要利用的替代数据。因此,自动化助理120能够利用语音捕获/ASR/NLU/TTS/履行模块114来生成合成语音音频数据,该合成语音音频数据包括例如基于替代数据的合成语音“Sorry,but Icannot turn on the lights(对不起,但是我不能开灯)”,并且使得合成语音被提供以用于经由客户端设备110的(多个)扬声器的听觉呈现。
在一些实施方式中,并且假设客户端设备110的用户提供了请求自动化助理120提供关于自动化助理120为什么使得助理命令的确定性履行被执行的确定性推理的附加用户输入,请求引擎130能够确定该请求是关于履行的确定性推理的一般请求还是关于履行的确定性推理的特定请求。请求引擎130能够至少基于根据处理附加用户输入而生成的NLU输出,来确定该请求是针对关于履行的确定性推理的一般请求还是针对关于履行的确定性推理的特定请求,并且推理引擎140能够基于请求的类型(例如,如关于图2、图3、图4A-4C和图5A-5B所描述的)来适应被确定为用于提供确定性推理的附加数据。在附加或可替选的实施方式中,自动化助理120能够获得推荐数据以确定推荐动作,该推荐动作在被执行时使得自动化助理120能够引起助理命令的确定性履行。在此示例中,推荐动作能够包括授权自动化助理120访问能够使得灯被控制的软件应用或服务。因此,自动化助理120能够利用语音捕获/ASR/NLU/TTS/履行模块114基于推荐数据来生成附加的合成语音音频数据,该附加的合成语音音频数据包括合成语音例如““I would be able to control the lights if yougranted me access to lights application(如果你授权我访问灯应用,我将能够控制灯)”,并且使得合成语音被提供以用于经由客户端设备110的(多个)扬声器的听觉呈现。应理解,提供以上描述是用于示例的目的,并不意味着是限制性的,并且应注意,下文参考图2、图3、图4A-4C和图5A-5B提供了本文所述技术的附加描述。
现在转向图2,描绘了示出使得包括在用户输入中并且被引导到自动化助理的助理命令的确定性履行被执行的示例性方法200的流程图。为了方便起见,参考执行操作的系统来描述方法200的操作。方法200的该系统包括一个或多个处理器、存储器和/或(多个)计算设备的(多个)其他组件(例如,图1的客户端设备110、图4A-4C的客户端设备410、图5A-5B的客户端设备510、图6的计算设备610、一个或多个服务器和/或其他计算设备)。此外,虽然方法200的操作以特定顺序展示,但这并不意图是限制性的。一个或多个操作可以被重新排序、省略和/或添加。
在方框252处,系统从客户端设备的用户接收包括助理命令和被引导到自动化助理的用户输入。在一些实施方式中,用户输入能够对应于在由客户端设备的(多个)麦克风生成的音频数据中捕获的口头话语。在附加或可替选的实施方式中,用户输入能够对应于经由客户端设备的显示器或客户端设备的另一输入设备(例如,键盘和/或鼠标)接收的触摸输入或键入输入。
在方框254处,系统处理用户输入以确定在执行助理命令的确定性履行中要利用的数据。在其中用户输入对应于口头话语的实施方式中,能够使用(多个)ASR模型来处理捕获口头话语的音频数据,以生成ASR输出(例如,(多个)语音假设、(多个)音素和/或其他ASR输出)以及任选地与ASR输出相关联的ASR度量。此外,能够使用(多个)NLU模型来处理ASR输出,以生成NLU输出(例如,基于ASR输出确定的(多个)意图、与基于ASR输出确定的(多个)意图相关联的(多个)参数的(多个)槽值等),以及任选地与NLU输出相关联的NLU度量。此外,能够使用(多个)履行规则和/或(多个)履行模型来处理NLU输出,以生成在生成请求时利用的履行输出,请求将被传输以获得在执行助理命令的履行中利用的数据和/或基于履行输出(例如,传输到图1的(多个)第一方服务器191、图1的(多个)第三方服务器192、在客户端设备处本地实现的(多个)第一方软件应用、在客户端设备处本地实现的(多个)第三方软件应用等)、以及可选地与履行数据相关联的履行度量使得(多个)动作被执行。在其中用户输入对应于触摸输入或键入输入的实施方式中,能够使用(多个)NLU模型来处理对应于触摸输入或键入输入的文本,以生成NLU输出以及任选地与NLU输出相关联的NLU度量。此外,能够使用(多个)履行规则和/或(多个)履行模型来处理NLU输出,以生成在生成请求时利用的履行输出,请求将被传输以获得在执行助理命令的履行中利用的数据和/或基于执行助理命令的履行中的履行输出使得(多个)动作被执行。
在方框256处,系统使得自动化助理利用数据来执行助理命令的确定性履行。值得注意的是,履行输出能够包括被传输到图1的(多个)第一方服务器191、图1的(多个)第三方服务器192、在客户端设备处本地实现的(多个)第一方软件应用、在客户端设备处本地实现的(多个)第三方软件应用等中的一个或多个的数据,从而生成一个或多个履行候选。系统能够基于例如ASR度量、NLU度量和/或履行度量,从一个或多个履行候选中选择确定性履行候选,以执行助理命令的确定性履行。例如,假设客户端设备的用户提供了口头话语“playrock music”。在该示例中,能够使用(多个)ASR模型来处理捕获口头话语的音频数据,以生成第一ASR度量(例如,第一语音假设对应于包括在口头话语中的(多个)词项和/或(多个)短语的可能性,诸如概率、二进制值、对数可能性等)相关联的“play rock music”的第一语音假设、与第二ASR度量相关联的“play Bach music(播放巴赫音乐)”的第二语音假设、和/或其他语音假设和对应度量作为ASR输出。此外,能够使用(多个)NLU模型来处理每一个语音假设,以生成“play music(播放音乐)”的第一意图以及“play music”的第二意图作为NLU数据,第一意图具有与第一NLU度量(例如,第一意图和(多个)槽值对应于用户的期望意图的可能性,诸如概率、二进制值、对数可能性等)相关联的流派参数的“摇滚”槽值,第二意图具有与第二NLU度量相关联的艺术家参数的“巴赫”槽值。
此外,该示例中的一个或多个履行候选能够包括例如,使用与第一履行度量(例如,由第一方媒体应用响应于来自系统的履行请求而返回给系统)相关联的第一方媒体应用播放摇滚音乐的第一履行候选,使用与第二履行度量(例如,由第三方媒体应用响应于来自系统的履行请求而返回给系统)相关联的第三方媒体应用播放摇滚音乐的第二履行候选,使用与第三履行度量(例如,也由第一方媒体应用响应于来自系统的履行请求而返回给系统)相关联的第一方媒体应用播放巴赫音乐的第三履行候选,使用与第四履行度量(例如,也由第三方媒体应用响应于来自系统的履行请求而返回给系统)相关联的第三方媒体应用播放巴赫音乐的第四履行候选,和/或其他履行候选。在此示例中,并且假设ASR度量、NLU度量和/或履行度量指示使用第一方媒体应用播放摇滚音乐的第一履行候选最有可能满足口头话语,则自动化助理能够使得第一方媒体应用开始播放摇滚音乐作为助理命令的确定性履行。在此示例中,系统能够推断与“play music”意图相关联的其他参数以及两种解释(例如,作为NLU输出的一部分)的槽值。例如,关于“play rock music”的第一解释,系统能够基于用户简档数据(例如,存储在图1的客户端设备110的(多个)用户简档数据库110A中)(如果这些中的任何一个可以由该系统访问),来推断艺术家参数的艺术家槽值(例如,用户听得最多的摇滚艺术家),推断软件应用参数的软件应用槽值(例如,用户听音乐最常用的应用),推断歌曲参数的歌曲槽值(例如,用户听得最多的摇滚歌曲或听得最多的巴赫作品)等。否则,系统可以利用这些参数中的一个或多个的默认槽值。在其他示例中,用户可以针对这些参数中的一个或多个指定槽值,诸如特定艺术家、特定艺术家、特定软件应用等。
在一些实施方式中,方框256可以包括子方框256A。如果包括,则在子方框256A处,系统使得与用于确定性履行的确定性推理相关联的一个或多个可选元素被提供以呈现给用户。用于确定性履行的确定性推理能够包括例如为什么响应于用户输入而从一个或多个履行候选中选择确定性履行候选的一个或多个原因。响应于从客户端设备的用户接收到对一个或多个可选元素中的给定可选元素的用户选择,系统能够使得确定性推理被提供以呈现给客户端设备的用户。在那些实施方式的一些版本中,响应于确定与选定的确定性履行候选相关联的ASR度量、NLU度量和/或履行度量不满足度量阈值,系统能够使得与确定性履行的确定性推理相关联的一个或多个可选元素被提供以呈现给用户。换句话说,响应于系统确定选定的确定性履行候选最有可能是用户想要的,但是系统对选定的确定性履行候选不是非常有信心,系统能够使得与用于确定性履行的确定性推理相关联的一个或多个可选元素被提供以呈现给用户。在那些实施方式的其他版本中,系统能够使得与确定性履行的确定性推理相关联的一个或多个可选元素被提供以呈现给用户,而不管与选定的确定性履行候选相关联的ASR度量、NLU度量和/或履行度量如何。如本文所描述(例如,参考图5B),一个或多个可选元素能够与一般请求或一个或多个对应的特定请求相关联。
在方框258处,系统确定在客户端设备处是否接收到对关于自动化助理为什么使得确定性履行被执行的确定性推理的请求。在一些实施方式中,对关于自动化助理为什么使得确定性履行被执行的确定性推理的请求能够包括在客户端设备处接收的附加用户输入中。在那些实施方式的一些版本中,系统能够使用(多个)ASR模型来处理附加用户输入以生成ASR输出,使用(多个)NLU模型来生成NLU数据,和/或使用(多个)履行规则或(多个)模型以与关于方框252描述的相同或相似的方式来生成履行输出,以确定附加用户输入是否包括对确定性推理的请求。例如,无论附加用户输入是口头话语还是键入输入,附加用户输入都能够被处理以生成NLU输出,并且系统能够基于NLU输出(例如,与确定性推理的请求相关联的意图)来确定附加用户输入是否包括对关于自动化助理为什么使得确定性履行被执行的确定性推理的请求。在那些实施方式的附加或可替选的版本中,对关于自动化助理为什么使得确定性履行被执行的确定性推理的请求能够包括在客户端设备处接收的一个或多个可选元素的用户选择中(例如,如上文关于子方框256A所描述)。在方框258的迭代处,如果系统确定在客户端设备处没有接收到对关于自动化助理为什么使得确定性履行被执行的确定性推理的请求,则系统在方框258继续监视对关于自动化助理为什么使得确定性履行被执行的确定性推理的请求(并且在使得确定性履行被执行之后任选地持续阈值持续时间(例如,5秒、10秒、15秒和/或任何其他阈值持续时间))。在方框258的迭代处,如果系统确定在客户端设备处接收到对关于自动化助理为什么使得确定性履行被执行的确定性推理的请求,则系统进行到方框260。
在方框260处,系统处理包括请求的附加用户输入,以确定在提供确定性推理时要利用的附加数据。被确定用于提供确定性推理的附加数据能够基于例如附加用户输入中包括的请求类型。因此,在方框262处,系统确定确定性推理的请求类型。请求类型能够是,例如,对关于自动化助理为什么使得确定性履行被执行的确定性推理的一般请求(例如,“whydid you do that?”)或对关于自动化助理为什么使得确定性履行被执行的确定性推理的特定请求(例如,“why did you select the first-party music application(你为什么选择第一方音乐应用)?”、“why didn’t you select the third-party musicapplication(为什么不选择第三方音乐应用)?”、“why did you select the certainartist(你为什么选择某位艺术家)?”、“why did you select the certain artist’smost popular song(你为什么选择某位艺术家最受欢迎的歌曲)?”和/或其他特定请求)。例如,能够处理附加用户输入以生成NLU输出,并且系统能够基于NLU输出(例如,与对确定性推理的一般请求相关联的意图和/或与对确定性推理的特定请求相关联的意图)来确定附加用户输入是否包括对关于自动化助理为什么使得确定性履行被执行的确定性推理的请求。
在方框262的迭代处,如果系统确定对确定性推理的请求的类型是对确定性推理的一般请求,则系统进行到方框264。在方框264处,系统确定第一附加数据作为提供确定性推理的附加数据。继续上面的“play rock music”的示例,对确定性推理的一般请求能够通过例如“why did you do that?”的请求来体现,其中“that”指代所选择的确定性履行候选,诸如使用第一方媒体应用播放摇滚音乐以及所选择的特定摇滚艺术家和特定摇滚歌曲。响应于确定请求的类型是一般请求,系统能够获得与确定性履行候选相关联的第一数据作为对应于输出的附加数据,例如,“I selected the first-party applicationbecause you share your application usage with me and use it the most tolisten to music(我选择第一方应用是因为你与我共享你的应用使用,并且最常使用它来听音乐)”,“I selected a certain artist because you share your musicpreferences with me and you listen to the certain artist the most(我选择某位艺术家是因为你与我共享你的音乐偏好并且你最常听某位艺术家)”,“I selected acertain song by the certain artist because it the certain artist’s mostpopular song(我选择了某位艺术家的某首歌曲是因为它是该艺术家最受欢迎的歌曲)”,和/或与系统为什么响应于用户输入而选择确定性履行候选(或推断的特定槽值)相关联的其他推理。
在方框262的迭代处,如果系统确定对确定性推理的请求的类型是对确定性推理的特定请求,则系统进行到方框266。在方框266处,系统确定第二附加数据作为提供确定性推理的附加数据。继续上面的“play rock music”的示例,对于确定性推理的特定请求能够通过例如请求“why did you select the first-party music application?”、“whydidn’t you select the third-party music application?”、“why did you select thecertain artist?”、“why did you select the certain artist’s most popular song?”和/或其他特定请求来体现。响应于确定请求的类型是特定请求,系统能够获得与确定性履行候选或者包括在一个或多个履行候选中的替代履行候选相关联的第二数据,作为对应于输出的附加数据,例如,“I selected the first-party application because you shareyour application usage with me and use it the most to listen to music”,“I didnot select the third-party application because you have not provided me withaccess to the third-party application(我没有选择第三方应用是因为你没有向我提供对第三方应用的访问权限)”,“I selected a certain artist because you shareyour music preferences with me and you listen to the certain artist themost”,“I selected a certain song by the certain artist because it the certainartist’s most popular song”,和/或与系统为什么响应于用户输入而选择确定性履行候选或者没有选择特定的替代履行候选相关联的其他推理。
在方框268处,系统使得自动化助理利用附加数据来提供包括确定性推理的输出,以呈现给用户。在一些实施方式中,包括确定性推理的输出能够包括合成语音音频数据,该合成语音音频数据包括捕获由附加数据表征的确定性推理的合成语音。在这些实施方式的一些版本中,能够使用(多个)TTS模型(例如,存储在图1的(多个)ML模型数据库120A中)来处理对应于由系统基于与一个或多个履行候选相关联的元数据生成的确定性推理的文本以生成合成语音音频数据,并且合成语音音频数据能够经由客户端设备或与客户端设备通信的附加客户端设备的(多个)扬声器可听地渲染以呈现给用户。在附加或可替选的的实施方式中,包括确定性推理的输出能够包括文本或经由客户端设备或与客户端设备通信的附加客户端设备的显示器视觉地渲染以呈现给用户的其他图形内容。系统能够返回到方框252,并且响应于接收到包括另一助理命令并且被引导到自动化助理的另一用户输入来执行图2的方法200的附加迭代。
现在转向图3,描绘了图示确定包括在用户输入中并且被引导到自动化助理的助理命令的确定性履行不能被执行的示例方法300的流程图。为了方便起见,参考执行操作的系统来描述方法300的操作。方法300的系统包括一个或多个处理器、存储器和/或(多个)计算设备的(多个)其他组件(例如,图1的客户端设备110、图4A-4C的客户端设备410、图5A-5B的客户端设备510、图6的计算设备610、一个或多个服务器、和/或其他计算设备)。此外,虽然方法300的操作以特定顺序展示,但这并不意图是限制性的。一个或多个操作可以被重新排序、省略和/或添加。
在方框352处,系统从客户端设备的用户接收包括助理命令并且被引导到自动化助理的用户输入。在一些实施方式中,用户输入能够对应于在由客户端设备的(多个)麦克风生成的音频数据中捕获的口头话语。在附加或可替选的实施方式中,用户输入能够对应于经由客户端设备的显示器或客户端设备的另一输入设备(例如,键盘和/或鼠标)接收的触摸输入或键入输入。
在方框354处,系统确定是否能够确定在执行助理命令的确定性履行中要利用的数据。在其中用户输入对应于口头话语的实施方式中,能够使用(多个)ASR模型来处理捕获口头话语的音频数据,以生成ASR输出(例如,(多个)语音假设、(多个)音素和/或其他ASR输出)以及任选地与ASR输出相关联的ASR度量。此外,能够使用(多个)NLU模型来处理ASR输出,以生成NLU输出(例如,基于ASR输出确定的(多个)意图、与基于ASR输出确定的(多个)意图相关联的(多个)参数的(多个)槽值等),以及任选地与NLU输出相关联的NLU度量。此外,能够使用(多个)履行规则和/或(多个)履行模型来处理NLU输出,以生成在执行助理命令的履行中要利用的履行数据,以及任选地与履行数据相关联的履行度量。在其中用户输入对应于触摸输入或键入输入的实施方式中,能够使用(多个)NLU模型来处理对应于触摸输入或键入输入的文本,以生成NLU输出以及任选地与NLU输出相关联的NLU度量。此外,能够使用(多个)履行规则和/或(多个)履行模型来处理NLU输出,以生成在生成请求时利用的履行输出,请求将被传输以获得在执行助理命令的履行中利用的数据和/或基于在执行助理命令的履行中的履行输出使得(多个)动作被执行。
系统能够确定是否能够基于响应于被传输的履行输出而接收到的数据来确定在执行助理命令的确定性履行中要利用的数据,以获得在执行助理命令的履行中利用的数据和/或基于在执行助理命令的履行中的履行输出使得(多个)动作被执行。如上文参考图2所述,响应于履行输出而获得的数据能够包括一个或多个履行候选。系统能够基于例如ASR度量、NLU度量和/或与用户输入相关联的履行度量,从一个或多个履行候选中选择确定性履行候选,以执行助理命令的确定性履行。例如,假设客户端设备的用户提供了口头话语“turn on the lights”。在该示例中,能够使用(多个)ASR模型来处理捕获口头话语的音频数据,以生成与ASR度量(例如,第一语音假设对应于包括在口头话语中的(多个)词项和/或(多个)短语的可能性,诸如概率、二进制值、对数可能性等)相关联的“turn on thelights”的语音假设作为ASR输出。此外,能够使用(多个)NLU模型来处理每一个语音假设,以生成与NLU度量(例如,第一意图和(多个)槽值对应于用户的期望意图的可能性,诸如概率、二进制值、对数可能性等)相关联的“turn on the lights”意图作为NLU数据。此外,履行输出能够包括例如对一个或多个软件应用(例如,能够开灯的第一方软件应用和/或第三方软件应用)的请求。然而,在此示例中,假设自动化助理不具有访问用于控制灯的任何软件应用的权限。因此,在此示例中,系统可能无法将履行输出传输到任何软件应用,并且一个或多个履行候选可能仅包括空履行候选,该空履行候选指示口头话语不能被履行,因为自动化助理不能与软件应用交互以控制灯。相反,并且假设自动化助理确实具有访问用于控制灯的软件应用的权限,系统可以确定在执行助理命令的确定性履行中要利用的数据能够被确定,因为自动化助理能够与软件应用交互以控制灯,并且一个或多个履行候选能够包括一个或多个助理命令,这些助理命令在被执行时使得灯被控制。
在方框354的迭代处,如果系统确定能够确定在执行助理命令的确定性履行中要利用的数据,则系统进行到图2的方框256,并且继续图2的方法200的迭代。例如,在其中自动化助理具有访问用于控制灯的软件应用的权限的上述示例中,系统能够进行到图2的方框256,并且从方框256继续上述图2的方法200的迭代以使得助理命令的确定性履行被执行,并且如果被请求,则提供用于确定性履行的确定性推理,如上文关于图2所述。在方框354的迭代处,如果系统确定不能确定在执行助理命令的确定性履行中要利用的数据,则系统进行到方框356。例如,在其中自动化助理具有访问用于控制灯的软件应用的权限的上述示例中,系统能够进行到方框356。
在方框356处,系统确定是否能够确定在执行助理命令的替代履行中要利用的替代数据。例如,系统能够分析一个或多个履行候选以确定是否存在一个或多个替代履行候选。在方框356的迭代处,如果系统确定不能确定在执行助理命令的替代履行中要利用的替代数据,则系统进行到方框358。例如,继续上述示例,其中客户端设备的用户提供口头话语“turn on the lights”,并且自动化助理不具有访问任何用于控制灯的软件应用的权限,则系统能够确定在一个或多个履行候选中不包括替代履行候选(例如,只有空履行候选)。在该实例中,系统能够确定进行到方框358。
在方框358处,系统处理用户输入以确定推荐数据,该推荐数据将被用于生成关于自动化助理能够如何执行确定性履行的推荐动作。继续上面的示例,系统能够确定可以执行响应于口头话语“turn on the lights”的控制灯的确定性履行,但是事实是用户尚未授权自动化助理访问用于控制灯的软件应用。因此,在此示例中,推荐动作能够包括用户应授权自动化助理访问在控制灯中利用的软件应用的指示。作为另一示例,并且假设在客户端设备处没有安装用于控制灯的软件应用,则系统能够确定可以执行响应于口头话语“turnon the lights”的控制灯的确定性履行,但是事实是用户尚未安装用于控制灯的软件应用,并且用户需要授权自动化助理访问用于控制灯的软件应用。
在方框360处,系统使得自动化助理利用推荐数据来提供包括推荐动作的输出,以呈现给用户。包括推荐动作的输出能够被听觉和/或视觉地渲染以呈现给用户(例如,如关于图2的方框268所描述)。在一些实施方式中,包括推荐动作的输出能够包括使得用户能够提供附加输入的提示,该附加输入使得自动化助理自动地执行推荐动作。继续上面的示例,系统能够使得输出“I cannot turn on the lights right now,but I can if you grantme access to the software application utilized to control the lights,wouldyou like to grant me access(我现在无法开灯,但是如果你授权我访问用于控制灯的软件应用,我就能够开灯,你愿意授权我访问吗)?”。因此,为呈现给用户而提供的包括推荐动作的输出能够指示自动化助理如何能够执行助理命令的确定性履行中的一个或多个(例如,“I cannot turn on the lights right now,but I can if you grant me access tothe software application utilized to control the lights”),并且提示用户使得执行助理命令的确定性履行(例如,“would you like to grant me access?”)。在附加或可替选的实施方式中,包括推荐动作的输出能够包括供用户遵循的逐步指令,以使得自动化助理能够执行助理命令的确定性履行(例如,“(1)打开设置,(2)打开软件应用共享设置,(3)共享用于灯应用的软件应用设置”)。系统可以返回到方框352,并且响应于接收到包括另一助理命令并且被引导到自动化助理的另一用户输入来执行图3的方法300的附加迭代。
在方框356的迭代处,如果系统确定能够确定在执行助理命令的替代履行中要利用的替代数据,则系统进行到方框362。与其中用户提供口头话语“turn on the lights”的示例相反,假设用户提供在方框352处接收的口头话语“play rock music usingapplication 2(使用应用2播放摇滚音乐)”。进一步假设用户尚未授权自动化助理访问“应用2”。因此,在此示例中,在方框354的实例处,无法执行在“应用2”处播放摇滚音乐的确定性履行。然而,在方框356的实例处,系统可以确定存在不同于先前示例的替代履行候选。例如,在该示例中,进一步假设用户已经授权自动化助理访问“应用1”,使得自动化助理能够可替选地利用“应用1”来播放摇滚音乐。
在方框362处,系统处理用户输入以确定在助理命令的替代履行中要利用的替代数据。继续上面的示例,其中用户提供口头话语“play rock music using application2”,包括播放摇滚音乐的结构化请求的履行输出最初能够被传输到至少“应用2”。在一些实施方式中,并且响应于将履行输出传输到“应用2”,系统可以接收空履行候选的指示,因为用户尚未授权自动化助理访问“应用2”。在附加或可替选的实施方式中,系统可以确定用户尚未授权自动化助理访问“应用2”,并且系统可以拒绝将请求传输到“应用2”并且确定空履行候选,因为用户尚未授权自动化助理访问“应用2”。然而,在尝试执行播放音乐的请求的履行时,系统可以将履行输出传输到“应用1”(并且任选地响应于确定“应用2”与空履行候选相关联),并且确定与使用“应用1”播放摇滚音乐的替代履行候选相关联的替代数据,因为用户已经授权自动化助理访问“应用1”。因此,即使替代履行候选不是包括在用户输入中的助理命令的确定性履行(例如,因为替代履行候选与由用户请求的“应用1”而不是“应用2”相关联),系统也能够尝试使用替代履行候选来履行助理命令。
在方框364处,系统使得自动化助理利用替代数据来执行助理命令的替代履行。继续上面的示例,系统能够使得“应用1”经由客户端设备的(多个)扬声器或者经由与客户端设备通信的附加计算设备的(多个)扬声器(例如,与客户端设备、另一客户端设备通信的(多个)智能扬声器等)开始播放摇滚音乐。在一些实施方式中,并且类似于图2的子方框256A,系统能够使得与确定性推理相关联的一个或多个可选元素以呈现给用户。然而,与图2的子方框256A的上述操作相反,可以提供关于为什么执行替代履行(例如,为什么使用“应用1”播放摇滚音乐)或者为什么不执行确定性履行(例如,为什么不使用“应用2”播放摇滚音乐)的确定性推理。在这些实施方式中,用于替代履行的确定性推理能够包括例如为什么响应于用户输入而从一个或多个履行候选中选择替代履行候选的一个或多个原因。
在方框366处,系统确定在客户端设备处是否接收到对关于自动化助理为什么使得替代履行被执行的确定性推理的请求。在一些实施方式中,对关于自动化助理为什么使得替代履行被执行的确定性推理的请求能够被包括在客户端设备处接收到的附加用户输入中。在那些实施方式的一些版本中,系统能够使用(多个)ASR模型来处理附加用户输入以生成ASR输出,使用(多个)NLU模型以生成NLU数据,和/或使用(多个)履行规则或(多个)模型以与关于方框252描述的相同或相似的方式生成履行输出,以确定附加用户输入是否包括对确定性推理的请求。例如,无论附加用户输入是口头话语还是键入输入,附加用户都能够被处理以生成NLU输出,并且系统能够基于NLU输出(例如,与确定性推理的请求相关联的意图)来确定附加用户输入是否包括对关于自动化助理为什么使得替代履行被执行的确定性推理的请求。在那些实施方式的附加或替换版本中,对关于自动化助理为什么使得替代履行被执行的确定性推理的请求能够被包括在客户端设备处接收的一个或多个可选元素的用户选择中(例如,如上文关于子方框256A所描述)。在方框366的迭代处,如果系统确定在客户端设备处没有接收到对关于自动化助理为什么使得替代履行被执行的确定性推理的请求,则系统在方框366处继续监视对关于自动化助理为什么使得替代履行被执行的确定性推理的请求(并且在使得确定性履行被执行之后任选地持续阈值持续时间(例如,15秒、20秒、30秒和/或任何其他阈值持续时间))。在方框366的迭代处,如果系统确定在客户端设备处接收到对关于自动化助理为什么使得替代履行被执行的确定性推理的请求,则系统进行到方框368。在一些实施方式中,并且类似于图2的方框262,系统能够确定对确定性推理的请求类型(例如,一般请求、第一特定请求、第二特定请求等)。
在方框368处,系统处理包括请求的附加用户输入以确定在提供确定性推理时要利用的附加数据。继续上面的“play rock music using application 2”的示例,对确定性推理的一般请求能够通过例如“why did you do that?”的请求来体现,其中“that”指代所选择的替代履行候选,诸如使用“应用1”(代替用户所请求的“应用2”)播放摇滚音乐以及所选择的特定摇滚艺术家和特定摇滚歌曲(例如,如上文参考图2所描述的推断的槽值)。响应于确定请求的类型是一般请求,系统能够获得与对应于响应于一般请求的输出的附加数据相关联的附加数据(例如,如参考图2所描述)。同样继续上面的“play rock music”的示例,对于确定性推理的特定请求能够通过例如请求“why did you use application 1insteadof application 2like I requested(为什么你利用应用1而不是按照我请求的应用2)?”、“why did you select the certain artist?”、“why did you select the certainartist’s most popular song?”、和/或其他特定请求来体现。响应于确定请求的类型是特定请求,系统能够获得对应于响应于特定请求的输出的附加数据(例如,如参考图2所描述)。
在方框370处,系统使得自动化助理利用附加数据来提供包括确定性推理的输出,以呈现给用户。在一些实施方式中,包括确定性推理的输出能够包括合成语音音频数据,合成语音音频数据包括捕获由附加数据表征的确定性推理的合成语音。在这些实施方式的一些版本中,能够使用(多个)TTS模型(例如,存储在图1的(多个)ML模型数据库120A中)来处理对应于由系统基于与一个或多个履行候选相关联的元数据生成的确定性推理的文本以生成合成语音音频数据,并且合成语音音频数据能够经由客户端设备或与客户端设备通信的附加客户端设备的(多个)扬声器可听地渲染以呈现给用户。在附加或可替选的的实施方式中,包括确定性推理的输出能够包括文本或经由客户端设备或与客户端设备通信的附加客户端设备的显示器视觉地渲染以呈现给用户的其他图形内容。系统可以返回到方框352,并且响应于接收到包括另一助理命令并且被引导到自动化助理的另一用户输入来执行图3的方法300的附加迭代。
现在转向图4A-4C,描绘了使得关于助理命令的履行的确定性推理被提供的各种非限制性示例。客户端设备410(例如,图1的客户端设备110的实例)可以包括各种用户接口组件,包括例如基于口头话语和/或其他听觉输入生成音频数据的(多个)麦克风,和/或听觉地渲染合成语音和/或其他听觉输出的(多个)扬声器。尽管图4A-4C中描绘的客户端设备410是没有显示器的独立扬声器,但是应理解,这是为了示例的目的,并不意味着限制。例如,客户端设备410可以是具有显示器的独立扬声器、移动电话(例如,如关于图5A-5B所描述)、家庭自动化设备、车载系统、膝上型计算机、台式计算机、和/或能够施行自动化助理以与客户端设备410的用户401参与人机对话会话的任何其他设备。
具体参考图4A,假设客户端设备410的用户401提供了口头话语452A“Assistant,play rock music(助理,播放摇滚音乐)”。响应于接收到口头话语452A,自动化助理能够使用(多个)ASR模型使得捕获口头话语452A的音频数据被处理,以生成ASR输出,该ASR输出包括例如被预测对应于口头话语452A的一个或多个语音假设(例如,(多个)词项假设和/或(多个)转录假设)、被预测对应于口头话语452A的一个或多个预测音素和/或其他ASR输出。在生成ASR输出时,(多个)ASR模型能够任选地生成与一个或多个语音假设、预测音素和/或其他ASR输出中的每一个相关联的ASR度量,其指示一个或多个语音假设、预测音素和/或其他ASR输出对应于口头话语452A的可能性。此外,能够使用(多个)NLU模型来处理ASR输出,以生成NLU输出,该NLU输出包括例如基于ASR输出确定的一个或多个意图、与基于ASR输出确定的一个或多个意图中的每一个相关联的一个或多个对应参数的一个或多个槽值、和/或其他NLU输出。在生成NLU输出时,(多个)NLU模型能够任选地生成与一个或多个意图、与意图相关联的对应参数的一个或多个槽值、和/或其他NLU输出中的每一个相关联的NLU度量,其指示一个或多个意图、与意图相关联的对应参数的一个或多个槽值、和/或其他NLU输出对应于用户401在提供口头话语452A时的实际意图的可能性。
值得注意的是,自动化助理可以推断与一个或多个意图中的每一个相关联的对应参数的一个或多个槽值,从而生成口头话语452A的一个或多个解释,其中一个或多个解释中的每一个包括给定对应参数的至少一个唯一槽值。因此,在图4A的示例中,第一解释能够包括“播放音乐”意图,其具有与“播放音乐”意图相关联的应用参数的槽值“应用1”,与“播放音乐”意图相关联的艺术家参数的槽值“艺术家1”,以及与“播放音乐”意图相关联的歌曲参数的槽值“歌曲1”;第二解释能够包括“播放音乐”意图,其具有与“播放音乐”意图相关联的应用参数的槽值“应用2”,与“播放音乐”意图相关联的艺术家参数的槽值“艺术家1”,以及与“播放音乐”意图相关联的歌曲参数的槽值“歌曲1”;第三解释能够包括“播放音乐”意图,其具有与“播放音乐”意图相关联的应用参数的槽值“应用1”,与“播放音乐”意图相关联的艺术家参数的槽值“艺术家2”,以及与“播放音乐”意图相关联的歌曲参数的槽值“歌曲2”;其他解释依此类推。
此外,自动化助理能够使用(多个)履行规则和/或(多个)履行模型使得NLU输出被处理以生成履行输出。履行输出能够包括例如一个或多个结构化请求,该结构化请求基于多个解释(例如,基于NLU输出而确定)生成并且将被传输到一个或多个履行者,诸如图1的(多个)第一方服务器191、图1的(多个)第三方服务器192、在客户端设备410处可以访问的(多个)第一方软件应用、在客户端设备410处可以访问的(多个)第三方软件应用、和/或能够履行口头话语452A的任何其他履行者。在图4A的示例中,基于这些软件应用被识别为能够满足由NLU输出所指示的口头话语452A,自动化助理能够使得对应的结构化请求至少被传输到“应用1”和“应用2”。响应于传输这些结构化请求,自动化助理能够从“应用1”和“应用2”接收一个或多个履行候选。例如,自动化助理能够从“应用1”接收指示“应用1”是否能够履行基于多个解释生成的一个或多个结构化请求的一个或多个履行候选,并且能够从“应用2”接收指示“应用2”是否能够履行基于多个解释生成的一个或多个结构化请求的一个或多个履行候选。一个或多个履行候选能够任选地包括指示一个或多个履行候选中的每一个满足口头话语452A的可能性有多大的履行度量。
自动化助理能够基于ASR度量、NLU度量和/或履行对一个或多个履行候选进行排序,并且基于排序从一个或多个履行候选中选择确定性履行候选。例如,假设在图4A的示例中,如上文所述,自动化助理基于排序选择与包括“播放音乐”意图的第一解释相关联的确定性履行候选,该第一解释具有应用参数的槽值“应用1”、艺术家参数的槽值“艺术家1”以及歌曲参数的槽值“歌曲1”。进一步假设用户401没有授权自动化助理访问“应用2”,并且因此,基于传输到“应用1”的一个或多个结构化请求确定的一个或多个履行候选是空履行候选。在附加的或可替选的实施方式中,自动化助理可以拒绝向“应用2”传输任何结构化请求以节省计算和/或网络资源,因为自动化助理知道用户401尚未授权自动化助理访问“应用2”,并且自动地确定可能被传输到“应用2”的任何潜在结构化请求的空履行候选。响应于选择与第一解释相关联的确定性履行候选,自动化助理可以使得合成语音454A1“Okay,playing rock music using application 1(好的,使用应用1播放摇滚音乐)”经由客户端设备410的(多个)扬声器被提供以听觉呈现给用户401,并且使得基于与确定性履行候选相关联的第一解释而确定的助理命令如454A2(例如,“plays song 1by artist 1usingapplication1(使用应用1来播放艺术家1的歌曲1)”)所指示的被实现以满足口头话语452A。
然而,进一步假设用户401提供了附加口头话语456A“Why did you do that?”。响应于接收到附加口头话语456A,自动化助理能够使用(多个)ASR模型使得捕获附加口头话语456A的音频数据被处理,从而以与上文关于处理口头话语452A所描述的相同或相似的方式来生成ASR输出。此外,能够使用(多个)NLU模型来处理ASR输出,从而以与上文关于处理口头话语452A所描述的相同或相似的方式来生成NLU输出。自动化助理能够基于ASR输出和/或NLU输出来确定附加口头话语456A是否包括对自动化助理提供关于为什么口头话语452A中包括的助理命令的确定性履行被执行的确定性推理的请求。在一些实施方式中,附加地或可替选地,自动化助理能够基于ASR输出和/或NLU输出来确定对确定性推理的请求是对确定性推理的一般请求还是对确定性推理的一个或多个特定请求。
例如,在图4A的示例中,自动化助理可以基于根据处理附加口头话语456A而生成的ASR输出和/或NLU输出来确定对确定性推理的请求是一般请求,因为用户没有询问确定性履行的特定方面(例如,下文参考图4B所描述)。相反,附加口头话语456A通常请求自动化助理解释自动化助理为什么使得“应用1”播放“艺术家1”的“歌曲1”。因此,自动化助理能够获得与选定的确定性履行候选相关联的元数据,以确定响应于附加口头话语456A生成输出时要利用的附加数据。基于附加数据,自动化助理能够使得附加的合成语音458A1“Youshare your application usage with me,and it looks like you use application1the most for listening to music,you have listened to artist 1in the past,andsong 1is a new song by artist 1(你与我共享你的应用使用,并且看起来你最常使用应用1来听音乐,你过去听过艺术家1的歌,并且歌曲1是艺术家1的新歌)”被提供以经由客户端设备410的(多个)扬声器听觉呈现给用户401。在一些实施方式中,自动化助理能够任选地使得提示458A2(例如,基于推荐数据确定的),例如,“Would you prefer me to dosomething else(你更喜欢我做其他事情吗)?”被提供以经由客户端设备410的(多个)扬声器听觉呈现给用户401,如果用户401更喜欢自动化助理执行一些替代履行候选,则客户端设备410请求用户401提供进一步的附加口头话语,诸如请求用户401提供进一步的附加口头话语460A“Use application 2,but only for rock music(使用应用2,但仅用于摇滚音乐)”。
值得注意的是,进一步的附加口头话语460A可以隐式地授权自动化助理访问响应于口头话语452A而要利用的“应用2”以及包括该自动化助理播放摇滚音乐的助理命令的口头话语的未来实例。在一些实施方式中,进一步的附加口头话语460A可以隐式地授权自动化助理访问仅用于播放摇滚音乐而要利用的“应用2”。在附加或可替选的实施方式中,进一步的附加口头话语460A可以隐式地授权自动化助理访问用于播放任何流派的音乐而要利用的“应用2”。此外,在一些实施方式中,响应于接收到授权自动化助理访问“应用2”的进一步口头话语460A,自动化助理能够从使用“应用1”播放“艺术家1”的“歌曲1”(例如,基于上述第一解释的助理命令)转换到使用“应用2”播放“艺术家1”的“歌曲1”(例如,基于上述第二解释的助理命令)。
具体参考图4B,并且与关于图4A所述的确定性推理的一般请求相反,再次假设用户提供相同的口头话语452B“Assistant,play rock music”,自动化助理使得合成语音454B1“Okay,playing rock music using application 1”经由客户端设备410的(多个)扬声器被提供以听觉呈现给用户401,并且使得基于与确定性履行候选相关联的第一解释确定的助理命令如454B2(例如,“plays song 1by artist 1using application 1”)所指示的被实现以满足口头话语45BA。然而,在图4B的示例中,假设用户401提供了附加口头话语“Why did you use application 1?”。在此示例中,自动化助理可以基于根据处理附加口头话语456B而生成的ASR输出和/或NLU输出来确定对确定性推理的请求是特定请求,因为用户正在询问关于确定性履行的特定方面(例如,自动化助理为什么选择“应用1”来播放“艺术家1”的“歌曲1”)。因此,自动化助理能够获得与选定的确定性履行候选相关联的元数据以确定响应于附加口头话语456A生成输出时要利用的附加数据。值得注意的是,在图4B的示例中,附加数据可以不同于图4A的示例中的附加数据,因为在图4B的示例中利用的附加数据能够被定制或适应于用户401的特定请求,特别是问询为什么选择“应用1”。基于附加数据,自动化助理能够使得附加合成语音458B1“You share your application usagewith me,and it looks like you use application 1the most for listening tomusic”经由客户端设备410的(多个)扬声器被提供以听觉呈现给用户401。在一些实施方式中,自动化助理能够任选地使得提示458B2(例如,基于推荐数据确定的),例如,“Would youprefer me to do something else?”经由客户端设备410的(多个)扬声器被提供以听觉呈现给用户401,如果用户401更喜欢自动化助理执行一些替代履行候选,则客户端设备410请求用户401提供进一步的附加口头话语,诸如请求用户401提供进一步的附加口头话语460B“Use application 2,but only for rock music”。类似于上文关于图4A所描述,进一步的附加口头话语460B可以隐式地授权自动化助理访问响应于口头话语452B而要利用的“应用2”以及包括该自动化助理播放摇滚音乐的助理命令的口头话语的未来实例。
具体参考图4C,并且与图4A和图4B相反,再次假设用户提供相同的口头话语452C“Assistant,play rock music”。然而,在图4C的示例中,假设用户401尚未授权自动化助理访问能够播放音乐的任何软件应用或服务(例如,由图1的(多个)第一方服务器191和/或图1的(多个)第三方服务器192中的一个或多个实现的流服务)。因此,包括在一个或多个履行候选中的与“应用1”、“应用2”或任何其他软件应用或服务相关联的任何履行候选可以与空履行候选相关联。尽管如此,在满足口头话语452C的尝试中,自动化助理可以向例如网络浏览器传输结构化请求以获得响应于口头话语452C的内容,诸如“摇滚音乐”的搜索结果,以避免浪费用于交互的计算资源。如图4C所示,自动化助理能够使得合成语音454C“Rockmusic is a broad genre of popular music that originated as‘rock and roll’…(摇滚音乐是起源于‘摇滚’的流行音乐的广泛流派……)”经由客户端设备410的(多个)扬声器被提供以听觉呈现给用户401。
然而,进一步假设用户401提供了附加口头话语456C“Why didn’t you playmusic(你为什么不播放音乐)?”。响应于接收到附加口头话语456C,自动化助理能够使用(多个)ASR模型使得捕获附加口头话语456C的音频数据被处理,以与上文关于图4A中的处理口头话语452A所描述的相同或相似的方式来生成ASR输出。此外,能够使用(多个)NLU模型来处理ASR输出,以与上文关于图4A中处理口头话语452A所描述的相同或相似的方式来生成NLU输出。自动化助理能够基于ASR输出和/或NLU输出来确定附加口头话语456C是否包括对自动化助理提供关于为什么执行口头话语452A中包括的助理命令的确定性履行被执行的确定性推理的请求。值得注意的是,在图4C的示例中,不是用户401询问自动化助理为什么使得确定性履行被执行,而是用户401询问自动化助理为什么没有使得确定性履行被执行。
因此,在图4C的示例中,自动化助理可以基于根据处理附加口头话语456A而生成的ASR输出和/或NLU输出来确定对确定性推理的请求是特定请求,因为用户正在询问关于确定性履行的特定方面(例如,为什么自动化助理不播放任何音乐)。因此,自动化助理能够获得与未选定的替代履行候选中的一个或多个相关联的元数据以确定在响应于附加口头话语456C生成输出时要利用的附加数据。值得注意的是,在图4C的示例中,附加数据可以不同于图4A和图4B的示例中的附加数据,因为在图4C的示例中利用的附加数据能够被定制或适应于用户401的特定请求,特别是问询为什么不播放音乐。基于附加数据,自动化助理能够使得附加合成语音458C1“You have not granted me access to any applications orservices that I can use to play music(您尚未授权我访问我可以用来播放音乐的任何应用或服务)”经由客户端设备410的(多个)扬声器以听觉呈现给用户401。在一些实施方式中,自动化助理能够任选地使得提示458C2(例如,基于推荐数据确定的),例如“Wouldyou like to grant me permission to an application or service(你愿意授权我对应用或服务的许可吗)?”经由客户端设备410的(多个)扬声器以听觉呈现给用户401,如果用户401想要能够使用一个或多个软件应用或服务来播放音乐,则客户端设备410请求用户401提供进一步的附加口头话语,诸如请求用户401提供进一步的附加口头话语460C“是的,使用应用2,但是仅用于摇滚音乐”。在图4C的示例中,进一步的附加口头话语460C可以显式地授权自动化助理访问响应于口头话语452C而要利用的“应用2”以及包括该自动化助理播放摇滚音乐的助理命令的口头话语的未来实例。
现在转向图5A-5B,描绘了使得关于助理命令的履行的确定性推理被提供的各种附加非限制性示例。客户端设备510(例如,图1的客户端设备110的实例)可以包括各种用户接口组件,包括例如基于口头话语和/或其他听觉输入生成音频数据的(多个)麦克风、用于听觉地渲染合成语音和/或其他听觉输出的(多个)扬声器、和/或用于视觉地渲染视觉输出的显示器580。此外,客户端设备510的显示器580能够包括各种系统接口元素581、582和583(例如,硬件和/或软件接口元素),客户端设备510的用户可以与这些系统接口元素进行交互以使得客户端设备510执行一个或多个动作。客户端设备510的显示器580使得用户能够通过触摸输入(例如,通过将用户输入引导到显示器580或其部分(例如,到文本输入框(未描绘)、到键盘(未描绘)、或到显示器580的其他部分))和/或通过口头输入(例如,通过选择麦克风接口元件584——或仅通过在客户端设备510处说话而不必选择麦克风接口元件584(即,自动化助理可以监视一个或多个词项或短语、(多个)姿势、(多个)凝视、(多个)嘴部移动、(多个)唇部移动、和/或激活口头输入的其他条件)来与渲染在显示器580上的内容进行交互。尽管图5A-5B中描绘的客户端设备510是移动电话,但是应理解,这是为了示例的目的,并不意味着限制。例如,客户端设备510可以是具有显示器的独立扬声器、没有显示器的独立扬声器(例如,如关于图4A-4C所描述)、家庭自动化设备、车载系统、膝上型计算机、台式计算机、和/或能够执行自动化助理以与客户端设备510的用户参与人机对话会话的任何其他设备。
具体参考图5A,假设客户端设备510的用户提供了口头话语552A“Play some rockmusic(播放一些摇滚音乐)”。响应于接收到口头话语552A,自动化助理能够使用(多个)ASR模型使得捕获口头话语552A的音频数据被处理,以生成ASR输出,使用(多个)NLU模型使得ASR输出被处理,以生成NLU输出,并且使用(多个)履行规则和/或(多个)履行模型使得NLU输出被处理,以相同或类似的方式生成履行输出。进一步假设自动化助理确定用户的客户端设备510与智能扬声器(例如,客厅扬声器)通信耦合,该智能扬声器具有比客户端设备510更稳健的扬声器并且能够播放摇滚音乐。因此,基于对口头话语552A的处理,自动化助理可以确定使得在客厅扬声器处播放摇滚音乐,并且使得合成语音554A“Okay,playingrock music on the living room speaker(好的,在客厅扬声器上播放摇滚音乐)”经由客户端设备510的(多个)扬声器被提供以听觉呈现给用户和/或经由客户端设备510的显示器580被提供以视觉呈现给用户,并且使得在客厅扬声器上播放摇滚音乐。
然而,进一步假设客户端设备510的用户提供了附加口头话语556A“Why did youdecide to play the music on the living room speaker(你为什么决定在客厅扬声器上播放音乐)?”。在此示例中,自动化助理可以基于根据处理附加口头话语556A而生成的ASR输出和/或NLU输出来确定对确定性推理的请求被包括在附加口头话语中,并且该请求是特定请求,因为用户正在询问关于确定性履行的特定方面(例如,自动化助理为什么选择“客厅扬声器”来播放摇滚音乐)。在此示例中,自动化助理能够获得与选定的履行候选相关联的元数据,以确定要在提供关于自动化助理为什么决定在客厅扬声器上播放音乐而不是在客户端设备510或者通信地耦合到客户端设备510并且能够播放音乐的另一计算设备(例如,厨房扬声器、书房扬声器等)处播放音乐的确定性推理中利用的附加数据。基于附加数据,自动化助理能够使得附加合成语音558A1“The living room speaker is more robustthan your phone’s speaker(客厅扬声器比你的电话的扬声器更稳健)”(并且任选地基于检测到客户端设备510的用户在客厅中的存在(例如,经由图1的客户端设备110的(多个)存在传感器111)),经由客户端设备510的(多个)扬声器被提供以听觉呈现给用户和/或经由客户端设备510的显示器580被提供以视觉呈现给用户。在一些实施方式中,自动化助理能够任选地使得提示558A2(例如,基于推荐数据确定的),例如“Would you prefer me toplay the rock music on your phone or another device(你希望我在你的电话或另一设备上播放摇滚音乐吗)?”,经由客户端设备510的(多个)扬声器被提供以听觉呈现给用户和/或经由客户端设备510的(多个)显示器580被提供以视觉呈现给用户,如果用户更喜欢自动化助理执行一些替代履行候选,诸如使用客户端设备510来播放摇滚音乐,使用由客户端设备510可以访问的不同软件应用来播放音乐,使得自动化助理切换艺术家/歌曲等,则客户端设备510请求用户提供进一步的附加口头话语。如果用户提供任何进一步的输入,则自动化助理能够相应地适应音乐的播放。
在附加或可替选的实施方式中,与等待客户端设备510的用户提供包括对确定性推理的请求的任何附加用户输入556A相反,自动化助理能够主动地提供与确定性推理相关联的一个或多个可选元素。例如,并且具体参考图5B,再次假设客户端设备510的用户提供了口头话语552B“Play some rock music”。响应于接收到口头话语552B,自动化助理能够使用(多个)ASR模型使得捕获口头话语552B的音频数据被处理,以生成ASR输出,使用(多个)NLU模型使得ASR输出被处理,以生成NLU输出,以及使用(多个)履行规则和/或(多个)履行模型使得NLU输出被处理,以相同或类似的方式生成履行输出。此外,进一步假设自动化助理确定用户的客户端设备510与智能扬声器(例如,客厅扬声器)通信耦合,该智能扬声器具有比客户端设备510更稳健的扬声器并且能够播放摇滚音乐。因此,基于对口头话语552B的处理,自动化助理可以确定使得在客厅扬声器处播放摇滚音乐,并且使得合成语音554B“Okay,playing rock music on the living room speaker”,经由客户端设备510的(多个)扬声器被提供以听觉呈现给用户和/或经由客户端设备510的显示器580被提供以视觉呈现给用户,并且使得在客厅扬声器上播放摇滚音乐。
然而,在图5B的示例中,进一步假设自动化助理主动地提供与确定性推理相关联的一个或多个可选元素,而客户端设备510的用户不提供任何附加口头话语或其他用户输入。例如,并且如图5B所示,自动化助理能够引起“Why did you do that?”的第一可选元素556B1和/或“Why did you use the living room speaker(你为什么利用客厅扬声器)?”的第二可选元素556B2,该第一可选元素与关于自动化助理为什么通常使得助理命令的确定性履行被执行的一般请求相关联,该第二可选元素与关于自动化助理为什么使用客厅扬声器使得助理命令的确定性履行被执行的特定请求相关联。响应于来自客户端设备的用户对第一可选元素556B1的用户选择(例如,经由触摸输入或口头输入),自动化助理能够基于用户选择(例如,对第一可选元素556B1的用户选择或对第二可选元素556B2的用户选择)来获得与助理命令的确定性履行相关联的元数据,以确定在提供确定性推理中要利用的附加数据。例如,响应于接收到对第一可选元素556B1的用户选择,自动化助理能够确定关于自动化助理为什么决定选择特定应用来播放摇滚音乐(例如,如上文参考图4A-4C所描述的“应用1”与“应用2”),选择某个艺术家(例如,如上文参考图4A-4C所描述),选择某个艺术家的某首歌曲(例如,如上文参考图4A-4C所描述),在客厅扬声器上播放音乐(例如,如上文参考图5A所描述)的附加数据,和/或关于确定性履行的任何其他方面的确定性推理。此外,例如,响应于接收到对第二可选元素556B2的用户选择,自动化助理能够确定关于自动化助理为什么决定在客厅扬声器上播放音乐,而不是在客户端设备510或者通信地耦合到客户端设备510并且能够播放音乐的另一计算设备(例如,厨房扬声器、书房扬声器等)处的附加数据。
例如,在图5B的示例中,假设客户端设备510的用户提供了对第二可选元素556B2的用户选择。基于根据对第二可选元素556B2的用户选择而确定的附加数据,自动化助理能够使得附加合成语音558B1“The living room speaker is more robust than yourphone’s speaker”(并且任选地基于检测到的客户端设备510的用户在客厅中的存在(例如,经由图1的客户端设备110的(多个)存在传感器111)),经由客户端设备510的(多个)扬声器被提供以听觉呈现给用户和/或经由客户端设备510的显示器580被提供以视觉呈现给用户。在一些实施方式中,自动化助理能够任选地使得提示558B2(例如,基于推荐数据确定的),例如“Would you prefer me to play the rock music on your phone or anotherdevice?”,经由客户端设备510的(多个)扬声器被提供以听觉呈现给用户和/或经由客户端设备510的显示器580被提供以视觉呈现给用户,如果用户更喜欢自动化助理执行一些替代履行候选,诸如使用客户端设备510来播放摇滚音乐,使用由客户端设备510可以访问的不同软件应用来播放音乐,使得自动化助理切换艺术家/歌曲等,则客户端设备510请求用户提供进一步的附加口头话语。如果用户提供任何进一步的输入,则自动化助理能够相应地适应音乐的播放。
尽管图4A-4C和图5A-5B的上述示例是关于使得自动化助理基于媒体应用或媒体服务的特定口头话语来执行履行,以及响应于附加的特定口头话语提供履行的确定性推理来描述的,但是应理解,这是为了示例的目的,并不意味着限制。例如,本文描述的技术能够用于针对由自动化助理执行的任何履行的任何方面和/或关于由自动化助理选择或不选择的任何履行候选来提供确定性推理。此外,尽管关于提供基于特定推荐数据而确定的确定性推荐动作(例如,授权自动化助理访问用于播放媒体的特定软件应用)描述了图4A-4C和图5A-5B的上述示例,但是应理解,这也是为了示例的目的,并不意味着限制。作为一些非限制性示例,本文描述的推荐动作能够包括授权自动化助理访问任何软件应用、任何用户账户、与用户相关联的任何计算设备、历史查询活动、和/或能够由自动化助理用来确定如何履行任何助理命令的任何其他用户数据。
现在转向图6,描绘了可以任选地用以执行本文所述技术的一个或多个方面的示例计算设备610的框图。在一些实施方式中,客户端设备、(多个)基于云的自动化助理组件、和/或(多个)其他组件中的一个或多个可以包含示例计算设备610的一个或多个组件。
计算设备610通常包括经由总线子系统612与多个外围设备通信的至少一个处理器614。这些外围设备可以包括存储子系统624(包括例如,存储器子系统625和文件存储子系统626)、用户接口输出设备620、用户接口输入设备622、和网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并且耦合到其他计算设备中的对应接口设备。
用户接口输入设备622可以包括键盘、定点设备(诸如鼠标、轨迹球、触摸板或图形输入板)、扫描仪、并入到显示器中的触摸屏、音频输入设备(诸如语音辨识系统、麦克风和/或其他类型的输入设备)。通常,词项“输入设备”的使用旨在包括将信息输入到计算设备610中或通信网络上的所有可能类型的设备和方式。
用户接口输出设备620可以包括显示器子系统、打印机、传真机或非视觉显示器(诸如音频输出设备)。显示器子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备、或用于创建可视图像的一些其他机构。显示器子系统还可以诸如经由音频输出设备提供非视觉显示器。通常,词项“输出设备”的使用旨在包括从计算设备610输出信息到用户或到另一机器或计算设备的所有可能类型的设备和方式。
存储子系统624存储提供本文描述的一些或所有模块的功能性的编程和数据结构。例如,存储子系统624可以包括执行本文公开的方法的选定方面以及实现图1和图2中描绘的各种组件的逻辑。
这些软件模块通常由处理器614单独或者结合其他处理器来执行。存储子系统624中使用的存储器625能够包括多个存储器,包括用于在程序施行期间存储指令和数据的主随机存取存储器(RAM)630和其中存储固定指令的只读存储器(ROM)632。文件存储子系统626能够为程序和数据文件提供持久性存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移除介质、CD-ROM驱动器、光驱或可移除介质盒。实现某些实施方式的功能性的模块可以由文件存储子系统626存储在存储子系统624中,或者在由(多个)处理器614可以访问的其他机器中。
总线子系统612提供用于让计算设备610的各种组件和子系统按照预期相互通信的机制。尽管总线子系统612示意性展示为单个总线,但总线子系统612的替代实施方式可以使用多个总线。
计算设备610能够是不同类型的,包括工作站、服务器、计算集群、刀片服务器、服务器场、或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图6中描绘的计算设备610的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算设备610的许多其他配置可能具有比图6中所描绘的计算设备更多或更少的组件。
在本文所描述的系统收集或以其他方式监视关于用户的个人信息或可以利用个人和/或监视信息的情况下,可以向用户提供用以控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理定位的信息)的机会,或者用以控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。而且,特定数据可以在存储或使用之前以一种或多种方式处理,以便移除个人身份信息。例如,可以处理用户的身份,使得不能确定用户的个人身份信息,或者可以在获得地理定位信息的地方概括化用户的地理定位(诸如概括到城市、邮政编码或州级),使得不能确定用户的特定地理定位。因此,用户可以控制如何收集和/或使用关于用户的信息。
在一些实施方式中,提供一种由一个或多个处理器实现的方法,并且包括:从客户端设备的用户接收用户输入,用户输入包括助理命令并且被引导到至少部分地在客户端设备处施行的自动化助理;处理用户输入以确定在执行助理命令的确定性履行中要利用的数据;使得自动化助理利用数据来执行助理命令的确定性履行;从客户端设备的用户接收附加用户输入,附加用户输入包括对自动化助理提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理的请求;处理附加用户输入以确定附加数据,附加数据将被用于提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理;以及使得自动化助理利用附加数据来提供输出,以呈现给客户端设备的用户,输出包括关于自动化助理为什么执行助理命令的确定性履行的确定性推理。
本文所公开的技术的这些和其他实施方式能够任选地包括以下特征中的一个或多个。
在一些实施方式中,在由客户端设备的一个或多个麦克风生成的音频数据中捕获包括助理命令并且被引导到自动化助理的用户输入。在那些实施方式的一些版本中,处理用户输入以确定在执行助理命令的确定性履行中要利用的数据可以包括:使用自动语音辨识(ASR)模型来处理捕获包括助理命令的用户输入的音频数据以生成ASR输出;使用自然语言理解(NLU)模型来处理ASR输出以生成NLU输出;以及基于NLU输出来确定在执行助理命令的确定性履行中要利用的数据。
在一些实施方式中,包括被引导到自动化助理的助理命令的用户输入可以是在经由客户端设备的显示器检测到的键入输入中捕获的。在那些实施方式的一些版本中,处理用户输入以确定在执行助理命令的确定性履行中要利用的数据可以包括:使用自然语言理解(NLU)模型处理键入输入以生成NLU输出;以及基于NLU输出来生成在执行助理命令的确定性履行中要利用的数据。
在一些实施方式中,对自动化助理提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理的请求可以包括对自动化助理提供关于自动化助理为什么从多个不同的软件应用中选择用于执行确定性履行的特定软件应用的确定性推理的特定请求。在那些实施方式的一些版本中,处理附加用户输入以确定在提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理中要利用的附加数据可以包括:获得与在执行确定性履行中利用的特定软件应用相关联的元数据;以及基于与特定软件应用相关联的元数据,确定在提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理中要利用的附加数据。
在一些实施方式中,对自动化助理提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理的请求可以包括:对自动化助理提供关于自动化助理为什么从用户输入的多个不同的解释中选择用于执行确定性履行的用户输入的特定解释的确定性推理的特定请求。在那些实施方式的一些版本中,处理附加用户输入以确定在提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理中要利用的附加数据可以包括:获得与在执行确定性履行中利用的用户输入的特定解释相关联的元数据;以及基于与用户输入的特定解释相关联的元数据,确定在提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理中要利用的附加数据。
在一些实施方式中,对自动化助理提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理的请求可以包括:对自动化助理提供关于自动化助理为什么选择用户的附加客户端设备来代替用户的客户端设备用于执行确定性履行的确定性推理的特定请求。在那些实施方式的一些版本中,处理附加用户输入以确定在提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理中要利用的附加数据可以包括:获得与在执行确定性履行中利用的附加客户端设备相关联的元数据;以及基于与附加客户端设备相关联的元数据,确定在提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理中要利用的附加数据。
在一些实施方式中,对自动化助理提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理的请求可以包括对自动化助理提供关于自动化助理为什么执行确定性履行的确定性推理的一般请求。在那些实施方式的一些版本中,处理附加用户输入以确定在提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理中要利用的附加数据可以包括获得与以下各项中的一个或多个相关联的对应元数据:(i)来自多个不同的软件应用的用于执行确定性履行的特定软件应用;(ii)来自用户输入的多个不同解释的用于执行确定性履行的用户输入的特定解释;或者(iii)代替用户的客户端设备的用于执行确定性履行的用户的附加客户端设备;以及基于对应元数据,确定在提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理中要利用的附加数据。
在一些实施方式中,使得自动化助理利用附加数据来提供输出以呈现给客户端设备的用户,输出包括关于自动化助理为什么执行助理命令的确定性履行的确定性推理,可以包括:使用文本到语音(TTS)模型来处理附加数据以生成合成语音音频数据,合成语音音频数据包括与关于自动化助理为什么执行助理命令的确定性履行的确定性推理相对应的合成语音。
在一些实施方式中,使得自动化助理利用附加数据来提供输出以呈现给客户端设备的用户,输出包括关于自动化助理为什么执行助理命令的确定性履行的确定性推理,可以包括:使得包括关于自动化助理为什么执行助理命令的确定性履行的确定性推理的输出在客户端设备的显示器处被视觉渲染。
在一些实施方式中,处理附加用户输入以确定在提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理中要利用的附加数据可以包括:基于包括在附加用户输入中的请求并且从预生成的数据的多个不同实例中选择附加数据。
在一些实施方式中,处理附加用户输入以确定在提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理中要利用的附加数据可以包括:基于包括在附加用户输入中的请求来生成附加数据。
在一些实施方式中,提供一种由一个或多个处理器实现的方法,并且包括:从客户端设备的用户接收用户输入,用户输入包括助理命令并且被引导到至少部分地在客户端设备处施行的自动化助理;确定是否能够确定在执行助理命令的确定性履行中要利用的数据;响应于确定在执行助理命令的确定性履行中要利用的数据不能被确定:处理用户输入以确定在执行助理命令的替代履行中要利用的替代数据;以及使得自动化助理利用替代数据来执行助理命令的替代履行;从客户端设备的用户接收附加用户输入,附加用户输入包括对自动化助理提供关于自动化助理为什么执行助理命令的替代履行来代替助理命令的确定性履行的确定性推理的请求;处理附加用户输入以确定附加数据,附加数据将被用于提供关于自动化助理为什么执行助理命令的替代履行来代替助理命令的确定性履行的确定性推理;以及使得自动化助理利用附加数据来提供输出以呈现给客户端设备的用户,输出包括关于自动化助理为什么执行助理命令的替代履行来代替助理命令的确定性履行的确定性推理。
本文所公开的技术的这些和其他实施方式能够任选地包括以下特征中的一个或多个。
在一些实施方式中,处理附加用户输入以确定在提供关于自动化助理为什么执行助理命令的替代履行来代替助理命令的确定性履行的确定性推理中要利用的附加数据还可以包括:处理附加用户输入以生成在生成关于自动化助理能够怎样执行助理命令的确定性履行的推荐动作中要利用的推荐数据。在那些实施方式的一些版本中,输出可以还包括关于自动化助理能够怎样实现助理命令的确定性履行的推荐动作。在那些实施方式的一些其他版本中,推荐动作可以包括提示,当选择该提示时,使得自动化助理执行推荐动作。
在一些实施方式中,提供一种由一个或多个处理器实现的方法,并且包括:从客户端设备的用户接收用户输入,用户输入包括助理命令并且被引导到至少部分地在客户端设备处执行的自动化助理;确定是否能够确定在执行助理命令的确定性履行中要利用的数据;响应于确定在执行助理命令的确定性履行中要利用的数据不能被确定:处理用户输入以确定在生成关于自动化助理能够怎样执行助理命令的确定性履行的推荐动作中要利用的推荐数据;以及使得自动化助理利用推荐数据来提供输出以呈现给客户端设备的用户,输出包括关于自动化助理怎样能够实现助理命令的确定性履行的推荐动作,以及包括提示,当选择该提示时,使得自动化助理执行推荐动作;以及响应于从客户端设备的用户接收到包括提示的用户选择的附加用户输入:使得自动化助理执行推荐动作以能够执行助理命令的确定性履行。
本文所公开的技术的这些和其他实施方式能够任选地包括以下特征中的一个或多个。
在一些实施方式中,处理用户输入以确定在生成关于自动化助理怎样能够执行助理命令的确定性履行的推荐动作中要利用的推荐数据是响应于确定没有助理命令的替代履行。
在一些实施方式中,提供一种由一个或多个处理器实现的方法,并且包括:从客户端设备的用户接收用户输入,用户输入包括助理命令并且被引导到至少部分地在客户端设备处执行的自动化助理;处理用户输入以确定在执行助理命令的确定性履行中要利用的数据;使得自动化助理利用该数据来执行助理命令的确定性履行;从客户端设备的用户接收附加用户输入,附加用户输入包括对自动化助理提供关于自动化助理为什么不执行助理命令的替代履行来代替助理命令的确定性履行的确定性推理的请求;处理附加用户输入以确定附加数据,附加数据将被用于提供关于自动化助理为什么不执行助理命令的替代履行来代替助理命令的确定性履行的确定性推理;以及使得自动化助理利用附加数据来提供输出以呈现给客户端设备的用户,输出包括关于自动化助理为什么不执行助理命令的替代履行来代替助理命令的确定性履行的确定性推理。
在一些实施方式中,提供一种由一个或多个处理器实现的方法,并且包括:从客户端设备的用户接收用户输入,用户输入包括助理命令并且被引导到至少部分地在客户端设备处执行的自动化助理;处理用户输入以确定在执行助理命令的确定性履行中要利用的数据;使得自动化助理利用数据来执行助理命令的确定性履行;当自动化助理执行助理命令的确定性履行时:使得自动化助理视觉渲染可选元素以呈现给客户端设备的用户,当选择该可选元素时,使得自动化助理提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理;以及响应于从客户端设备的用户接收到包括可选元素的用户选择的附加用户输入:处理附加用户输入以确定附加数据,附加数据将被用于提供关于自动化助理为什么不执行助理命令的替代履行来代替助理命令的确定性履行的确定性推理;以及使得自动化助理提供输出以呈现给客户端设备的用户,输出包括关于自动化助理为什么执行助理命令的确定性履行的确定性推理。
本文所公开的技术的这些和其他实施方式能够任选地包括以下特征中的一个或多个。
在一些实施方式中,可以在由客户端设备的一个或多个麦克风生成的音频数据中捕获包括助理命令并且被引导到自动化助理的用户输入。在那些实施方式的一些版本中,处理用户输入以确定在执行助理命令的确定性履行中要利用的数据可以包括:使用自动语音辨识(ASR)模型来处理捕获包括助理命令的用户输入的音频数据以生成ASR输出;使用自然语言理解(NLU)模型来处理ASR输出以生成NLU输出;以及基于NLU输出来确定在执行助理命令的确定性履行中要利用的数据。在那些实施方式的一些其他版本中,使得自动化助理视觉渲染可选元素以呈现给客户端设备的用户,当选择该可选元素时,使得自动化助理提供关于自动化助理为什么执行助理命令的确定性履行的确定性推理是响应于确定与NLU输出相关联的NLU度量未能满足NLU度量阈值。
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器(例如,(多个)中央处理单元(CPU)、(多个)图形处理单元(GPU)、和/或(多个)张量处理单元(TPU)),其中一个或多个处理器可以操作来施行存储在相关联的存储器中的指令,并且其中指令被配置成使得执行上述方法中的任一个。一些实施方式还包括存储计算机指令的一个或多个非暂时性计算机可读存储介质,这些计算机指令可以由一个或多个处理器施行以执行上述方法中的任一个。一些实施方式还包括计算机程序产品,其包括可以由一个或多个处理器施行以执行上述方法中的任一个的指令。

Claims (30)

1.一种由一个或多个处理器实现的方法,所述方法包括:
从客户端设备的用户接收用户输入,所述用户输入包括助理命令并且被引导到至少部分地在所述客户端设备处施行的自动化助理;
处理所述用户输入以确定在执行所述助理命令的确定性履行中要利用的数据;
使得所述自动化助理利用所述数据来执行所述助理命令的所述确定性履行;
从所述客户端设备的所述用户接收附加用户输入,所述附加用户输入包括对所述自动化助理提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的确定性推理的请求;
处理所述附加用户输入以确定附加数据,所述附加数据将被用于提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理;以及
使得所述自动化助理利用所述附加数据来提供输出以呈现给所述客户端设备的所述用户,所述输出包括关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理。
2.根据权利要求1所述的方法,其中,在由所述客户端设备的一个或多个麦克风生成的音频数据中捕获包括所述助理命令并且被引导到所述自动化助理的所述用户输入。
3.根据权利要求2所述的方法,其中,处理所述用户输入以确定在执行所述助理命令的所述确定性履行中要利用的所述数据包括:
使用自动语音辨识(ASR)模型来处理捕获包括所述助理命令的所述用户输入的所述音频数据以生成ASR输出;
使用自然语言理解(NLU)模型来处理所述ASR输出以生成NLU输出;以及
基于所述NLU输出来确定在执行所述助理命令的所述确定性履行中要利用的所述数据。
4.根据任一前述权利要求所述的方法,其中,包括被引导到所述自动化助理的所述助理命令的所述用户输入是在经由所述客户端设备的显示器检测到的键入输入中捕获的。
5.根据权利要求4所述的方法,其中,处理所述用户输入以确定在执行所述助理命令的所述确定性履行中要利用的所述数据包括:
使用自然语言理解(NLU)模型处理所述键入输入以生成NLU输出;以及
基于所述NLU输出来生成在执行所述助理命令的所述确定性履行中要利用的所述数据。
6.根据任一前述权利要求所述的方法,其中,对所述自动化助理提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理的所述请求包括对所述自动化助理提供关于所述自动化助理为什么从多个不同的软件应用中选择用于执行所述确定性履行的特定软件应用的所述确定性推理的特定请求。
7.根据权利要求6所述的方法,其中,处理所述附加用户输入以确定在提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据包括:
获得与在执行所述确定性履行中利用的所述特定软件应用相关联的元数据;以及
基于与所述特定软件应用相关联的所述元数据,确定在提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据。
8.根据任一前述权利要求所述的方法,其中,对所述自动化助理提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理的所述请求包括对所述自动化助理提供关于所述自动化助理为什么从所述用户输入的多个不同的解释中选择用于执行所述确定性履行的所述用户输入的特定解释的所述确定性推理的特定请求。
9.根据权利要求8所述的方法,其中,处理所述附加用户输入以确定在提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据包括:
获得与在执行所述确定性履行中利用的所述用户输入的所述特定解释相关联的元数据;以及
基于与所述用户输入的所述特定解释相关联的所述元数据,确定在提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据。
10.根据任一前述权利要求所述的方法,其中,对所述自动化助理提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理的所述请求包括对所述自动化助理提供关于所述自动化助理为什么选择所述用户的附加客户端设备来代替所述用户的所述客户端设备用于执行所述确定性履行的所述确定性推理的特定请求。
11.根据权利要求10所述的方法,其中,处理所述附加用户输入以确定在提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据包括:
获得与在执行所述确定性履行中利用的所述附加客户端设备相关联的元数据;以及
基于与所述附加客户端设备相关联的所述元数据,确定在提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据。
12.根据任一前述权利要求所述的方法,其中,对所述自动化助理提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理的所述请求包括对所述自动化助理提供关于所述自动化助理为什么执行所述确定性履行的所述确定性推理的一般请求。
13.根据权利要求12所述的方法,其中,处理所述附加用户输入以确定在提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据包括:
获得与以下各项中的一个或多个相关联的对应元数据:(i)来自多个不同的软件应用的用于执行所述确定性履行的特定软件应用;(ii)来自所述用户输入的多个不同解释的用于执行所述确定性履行的所述用户输入的特定解释;或者(iii)代替所述用户的所述客户端设备的用于执行所述确定性履行的所述用户的附加客户端设备;以及
基于所述对应元数据,确定在提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据。
14.根据任一前述权利要求所述的方法,其中,使得所述自动化助理利用所述附加数据来提供包括关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理的所述输出以呈现给所述客户端设备的所述用户包括:
使用文本到语音(TTS)模型来处理所述附加数据以生成合成语音音频数据,所述合成语音音频数据包括与关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理相对应的合成语音。
15.根据任一前述权利要求所述的方法,其中,使得所述自动化助理利用所述附加数据来提供包括关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理的所述输出以呈现给所述客户端设备的所述用户包括:
使得包括关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理的所述输出在所述客户端设备的显示器处被视觉渲染。
16.根据任一前述权利要求所述的方法,其中,处理所述附加用户输入以确定在提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据包括:
基于包括在所述附加用户输入中的所述请求并且从预生成的数据的多个不同实例中选择所述附加数据。
17.根据任一前述权利要求所述的方法,其中,处理所述附加用户输入以确定在提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据包括:
基于包括在所述附加用户输入中的所述请求来生成所述附加数据。
18.一种由一个或多个处理器实现的方法,所述方法包括:
从客户端设备的用户接收用户输入,所述用户输入包括助理命令并且被引导到至少部分地在所述客户端设备处施行的自动化助理;
确定是否能够确定在执行所述助理命令的确定性履行中要利用的数据;
响应于确定在执行所述助理命令的所述确定性履行中要利用的所述数据不能被确定:
处理所述用户输入以确定在执行所述助理命令的替代履行中要利用的替代数据;以及
使得所述自动化助理利用所述替代数据以执行所述助理命令的所述替代履行;
从所述客户端设备的所述用户接收附加用户输入,所述附加用户输入包括对所述自动化助理提供关于所述自动化助理为什么执行所述助理命令的所述替代履行来代替所述助理命令的所述确定性履行的确定性推理的请求;
处理所述附加用户输入以确定附加数据,所述附加数据将被用于提供关于所述自动化助理为什么执行所述助理命令的所述替代履行来代替所述助理命令的所述确定性履行的所述确定性推理;以及
使得所述自动化助理利用所述附加数据来提供输出以呈现给所述客户端设备的所述用户,所述输出包括关于所述自动化助理为什么执行所述助理命令的所述替代履行来代替所述助理命令的所述确定性履行的所述确定性推理。
19.根据权利要求18所述的方法,其中,处理所述附加用户输入以确定在提供关于所述自动化助理为什么执行所述助理命令的所述替代履行来代替所述助理命令的所述确定性履行的所述确定性推理中要利用的所述附加数据还包括:
处理所述附加用户输入以生成在生成关于所述自动化助理能够怎样执行所述助理命令的所述确定性履行的推荐动作中要利用的推荐数据。
20.根据权利要求19所述的方法,其中,所述输出还包括关于所述自动化助理能够怎样实现所述助理命令的所述确定性履行的所述推荐动作。
21.根据权利要求20所述的方法,其中,所述推荐动作包括提示,当选择所述提示时,使得所述自动化助理执行所述推荐动作。
22.一种由一个或多个处理器实现的方法,所述方法包括:
从客户端设备的用户接收用户输入,所述用户输入包括助理命令并且被引导到至少部分地在所述客户端设备处执行的自动化助理;
确定是否能够确定在执行所述助理命令的确定性履行中要利用的数据;
响应于确定在执行所述助理命令的所述确定性履行中要利用的所述数据不能被确定:
处理所述用户输入以确定在生成关于所述自动化助理能够怎样执行所述助理命令的所述确定性履行的推荐动作中要利用的推荐数据;以及
使得所述自动化助理利用所述推荐数据来提供输出以呈现给所述客户端设备的所述用户,所述输出包括关于所述自动化助理怎样能够实现所述助理命令的所述确定性履行的所述推荐动作;以及包括提示,当选择所述提示时,使得所述自动化助理执行所述推荐动作;以及
响应于从所述客户端设备的所述用户接收到包括所述提示的用户选择的附加用户输入:
使得所述自动化助理执行所述推荐动作以能够执行所述助理命令的所述确定性履行。
23.根据权利要求22所述的方法,其中,处理所述用户输入以确定在生成关于所述自动化助理能够怎样执行所述助理命令的所述确定性履行的所述推荐动作中要利用的所述推荐数据是响应于确定没有所述助理命令的替代履行。
24.一种由一个或多个处理器实现的方法,所述方法包括:
从客户端设备的用户接收用户输入,所述用户输入包括助理命令并且被引导到至少部分地在所述客户端设备处执行的自动化助理;
处理所述用户输入以确定在执行所述助理命令的确定性履行中要利用的数据;
使得所述自动化助理利用所述数据来执行所述助理命令的所述确定性履行;
从所述客户端设备的所述用户接收附加用户输入,所述附加用户输入包括对所述自动化助理提供关于所述自动化助理为什么不执行所述助理命令的替代履行来代替所述助理命令的所述确定性履行的确定性推理的请求;
处理所述附加用户输入以确定附加数据,所述附加数据将被用于提供关于所述自动化助理为什么不执行所述助理命令的所述替代履行来代替所述助理命令的所述确定性履行的所述确定性推理;以及
使得所述自动化助理利用所述附加数据来提供输出以呈现给所述客户端设备的所述用户,所述输出包括关于所述自动化助理为什么不执行所述助理命令的所述替代履行来代替所述助理命令的所述确定性履行的所述确定性推理。
25.一种由一个或多个处理器实现的方法,所述方法包括:
从客户端设备的用户接收用户输入,所述用户输入包括助理命令并且被引导到至少部分地在所述客户端设备处执行的自动化助理;
处理所述用户输入以确定在执行所述助理命令的确定性履行中要利用的数据;
使得所述自动化助理利用所述数据来执行所述助理命令的所述确定性履行;
当所述自动化助理执行所述助理命令的所述确定性履行时:
使得所述自动化助理视觉渲染可选元素以呈现给所述客户端设备的所述用户,当选择所述可选元素时,使得所述自动化助理提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的确定性推理;以及
响应于从所述客户端设备的所述用户接收到包括所述可选元素的用户选择的附加用户输入:
处理所述附加用户输入以确定附加数据,所述附加数据将被用于提供关于所述自动化助理为什么不执行所述助理命令的所述替代履行来代替所述助理命令的所述确定性履行的所述确定性推理;以及
使得所述自动化助理提供输出以呈现给所述客户端设备的所述用户,所述输出包括关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理。
26.根据权利要求25所述的方法,其中,在由所述客户端设备的一个或多个麦克风生成的音频数据中捕获包括所述助理命令并且被引导到所述自动化助理的所述用户输入。
27.根据权利要求26所述的方法,其中,处理所述用户输入以确定在执行所述助理命令的所述确定性履行中要利用的所述数据包括:
使用自动语音辨识(ASR)模型来处理捕获包括所述助理命令的所述用户输入的所述音频数据以生成ASR输出;
使用自然语言理解(NLU)模型来处理所述ASR输出以生成NLU输出;以及
基于所述NLU输出来确定在执行所述助理命令的所述确定性履行中要利用的所述数据。
28.根据权利要求27所述的方法,其中,使得所述自动化助理视觉渲染所述可选元素以呈现给所述客户端设备的所述用户,当选择所述可选元素时,使得所述自动化助理提供关于所述自动化助理为什么执行所述助理命令的所述确定性履行的所述确定性推理是响应于确定与所述NLU输出相关联的NLU度量未能满足NLU度量阈值。
29.一种系统,包括:
至少一个处理器;以及
存储指令的存储器,所述指令在被执行时使得所述至少一个处理器执行对应于权利要求1至28中的任一项所述的操作。
30.一种存储指令的非暂时性计算机可读存储介质,所述指令在被执行时使得至少一个处理器执行对应于权利要求1至28中的任一项所述的操作。
CN202180089018.1A 2021-07-29 2021-11-29 提供关于履行助理命令的确定性推理 Pending CN116711283A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/226,961 2021-07-29
US17/532,759 US20230031461A1 (en) 2021-07-29 2021-11-22 Providing certain reasoning with respect to fulfillment of an assistant command
US17/532,759 2021-11-22
PCT/US2021/060986 WO2023009156A1 (en) 2021-07-29 2021-11-29 Providing certain reasoning with respect to fulfillment of an assistant command

Publications (1)

Publication Number Publication Date
CN116711283A true CN116711283A (zh) 2023-09-05

Family

ID=87837965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180089018.1A Pending CN116711283A (zh) 2021-07-29 2021-11-29 提供关于履行助理命令的确定性推理

Country Status (1)

Country Link
CN (1) CN116711283A (zh)

Similar Documents

Publication Publication Date Title
KR102586990B1 (ko) 멀티-어시스턴트 환경의 특성에 따른 어시스턴트 응답성 규정하기
JP7297836B2 (ja) アシスタントアプリケーションのための音声ユーザインタフェースショートカット
EP3788620B1 (en) Supplementing voice inputs to an automated assistant according to selected suggestions
US20230074406A1 (en) Using large language model(s) in generating automated assistant response(s
AU2021463794B2 (en) Using large language model(s) in generating automated assistant response(s)
CN116830075A (zh) 助理命令的被动消歧
CN112313606B (zh) 为自动助理扩展物理运动手势词典
US11749284B2 (en) Dynamically adapting on-device models, of grouped assistant devices, for cooperative processing of assistant requests
JP7554921B2 (ja) 自動アシスタントに関する自然な会話を可能にすること
JP2024510698A (ja) アシスタントコマンドの文脈的抑制
US20230031461A1 (en) Providing certain reasoning with respect to fulfillment of an assistant command
US12094454B2 (en) Multimodal intent understanding for automated assistant
KR20230156929A (ko) 적응적 사용자 상호 작용을 갖는 로봇형 컴퓨팅 디바이스
CN116711283A (zh) 提供关于履行助理命令的确定性推理
EP4150536A1 (en) Providing certain reasoning with respect to fulfillment of an assistant command
JP7571199B2 (ja) アシスタントアプリケーションのための音声ユーザインタフェースショートカット
US20240203413A1 (en) Selecting an automated assistant as the primary automated assistant for a device based on determined affinity scores for candidate automated assistants
US20240078374A1 (en) System(s) and method(s) for causing contextually relevant emoji(s) to be visually rendered for presentation to user(s) in smart dictation
KR20240096889A (ko) 자동화 어시스턴트 디바이스 사이의 웜 워드 중재
KR20230158615A (ko) 자동화된 어시스턴트를 위한 소프트 엔드포인팅을 사용한 자연스러운 대화 활성화
KR20230153450A (ko) 자동 스피치 인식의 로컬 실행을 위한 디바이스 중재
CN117121100A (zh) 为自动化助理启用具有软端点的自然对话
WO2024054271A1 (en) System(s) and method(s) for causing contextually relevant emoji(s) to be visually rendered for presentation to user(s) in smart dictation
CN118339609A (zh) 自动化助理装置之间的暖词仲裁

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination