由自动化助理代表人类参与者进行半委托呼叫的制作方法

文档序号:30435154发布日期:2022-06-15 22:57阅读:163来源:国知局
由自动化助理代表人类参与者进行半委托呼叫的制作方法
由自动化助理代表人类参与者进行半委托呼叫


背景技术:

1.自动化助理能够由用户经由各种计算设备来交互,诸如智能电话、平板计算机、可穿戴设备、汽车系统、独立个人助理设备等。自动化助理接收来自用户的输入(例如,口头、触摸和/或键入)并且利用响应输出(例如,视觉和/或听觉)来响应。
2.用户能够与自动化助理交互以使自动化助理代表用户执行(多个)动作。作为一个示例,自动化助理能够代表用户拨打电话呼叫以执行给定动作,并且能够参与与附加用户的对话以执行(多个)动作。例如,用户能够提供请求自动化助理通过电话并且代表用户进行餐厅预订的用户输入。自动化助理能够发起与特定餐厅的电话呼叫,并且能够向与特定餐厅相关联的附加用户提供预订信息以进行预订。自动化助理然后能够向用户通知是否代表用户成功地进行餐厅预订。
3.然而,对于由自动化助理代表用户执行的一些动作,自动化助理可能不知道足够的信息来完全执行(多个)动作。作为一个示例,假设自动化助理通过电话并且代表上述用户进行餐厅预订,并且进一步假设与特定餐厅相关联的附加用户请求自动化助理未知的信息。一些自动化助理能够确定所请求的信息是未知的,并且向用户提供请求用户主动地加入呼叫以完成餐厅预订的通知。然而,等待用户主动地加入呼叫能够延长呼叫并且延长在呼叫期间使用的计算和/或网络资源的相关联使用。另外或替代地,用户可能没空加入呼叫。这能够导致呼叫的失败,并且要求自动化助理和/或用户在稍后时间执行(多个)动作,从而与在初始呼叫期间由自动化助理成功执行(多个)动作的情况相比消耗更多的计算和/或网络资源。


技术实现要素:

4.一些实施方式涉及使用自动化助理与实体执行辅助呼叫,以代表给定用户执行(多个)任务。辅助呼叫在自动化助理和与实体相关联的附加用户之间。自动化助理能够使用与(多个)任务和/或实体相关联的(多个)参数的(多个)解析值来执行辅助呼叫。执行辅助呼叫能够包括由自动化助理在辅助呼叫中可听地渲染附加用户可听地感知的合成语音的(多个)实例。在辅助呼叫中渲染合成语音的实例能够包括将合成语音注入到辅助呼叫中,使得附加用户(但是不一定是给定用户)可听地感知到该合成语音。合成语音的(多个)实例能够各自基于一个或多个解析值来生成和/或能够响应于附加用户在辅助呼叫期间的(多个)话语来生成。执行辅助呼叫还能够包括由自动化助理执行捕获附加用户的(多个)话语的辅助呼叫的音频数据的自动语音识别以生成(多个)话语的识别文本,并且在确定响应于(多个)话语的合成语音的(多个)实例时使用识别文本以用于在辅助呼叫中渲染。
5.这些实施方式中的一些进一步涉及在执行辅助呼叫期间确定附加用户的(多个)话语包括对与附加参数相关联的信息的请求,并且没有附加参数的值是自动地可确定的。作为响应,自动化助理能够使音频和/或视觉通知(例如,提示)向给定用户被渲染,其中通知请求与解析附加参数的(多个)值相关的另外用户输入。在一些实施方式中,通知能够在正在进行的呼叫之外被渲染(即,不作为正在进行的呼叫的一部分被注入),但是对于给定
用户是可感知的,以使给定用户能够在正在进行的呼叫中查明值并且传达该值。在接收响应于通知的任何另外用户输入之前,自动化助理能够继续辅助呼叫。例如,自动化助理能够在呼叫期间前摄地提供基于在合成语音的(多个)先前实例中尚未被传达的(多个)解析值的合成语音的(多个)实例而不等待响应于通知的另外用户输入。如果响应于通知提供了另外用户输入并且附加参数的(多个)值基于另外用户输入是可解析的,则自动化助理能够在继续辅助呼叫之后提供传达附加参数的(多个)解析值的另外合成语音。通过继续辅助呼叫而不等待响应于该通知的另外用户输入,能够在辅助呼叫期间传达完成任务所必需的(多个)值,同时等待附加参数的(多个)附加值,并且能够稍后提供该(多个)附加值(如果接收到的话)。以这些和其它方式,辅助呼叫能够更快地结束,由此减少在执行辅助呼叫中利用计算机和/或网络资源的总持续时间。
6.在渲染请求与解析附加参数的(多个)值相关的另外用户输入的通知的一些实施方式中,能够基于辅助呼叫的状态和/或在辅助呼叫中使用的客户端设备的状态来动态地确定通知和/或用于渲染通知的一个或多个属性。例如,如果客户端设备的状态指示给定用户正在主动地监视辅助呼叫,则通知能够是仅视觉通知和/或能够包括较低音量的可听分量。另一方面,如果客户端设备的状态指示给定用户没有主动地监视辅助呼叫,则通知能够至少包括可听分量和/或可听分量能够以更高的音量被渲染。客户端设备的状态能够基于例如来自客户端设备的(多个)传感器(例如,(多个)陀螺仪、(多个)加速度计、(多个)存在传感器和/或(多个)其他传感器)和/或与用户相关联的(多个)其他客户端设备的(多个)传感器的传感器数据。作为又一示例,如果辅助呼叫的状态指示在提供通知时还必须传达多个解析值,则通知能够是仅视觉通知和/或能够包括较低音量的可听分量。另一方面,如果辅助呼叫的状态指示在提供通知时还必须传达仅一个(或没有)解析值,则通知能够至少包括可听分量和/或可听分量能够以更高音量被渲染。更一般地,当客户端设备的状态指示用户没有主动地监视呼叫时和/或当对话的状态指示有意义地继续对话的持续时间相对短时,实施方式能够寻求提供更多侵入通知。另一方面,当客户端设备的状态指示用户正在主动地监视呼叫时和/或当对话的状态指示有意义地继续对话的持续时间相对长时,实施方式能够寻求提供更少侵入通知。尽管更多侵入通知能够是更资源密集的进行渲染,但是实施方式仍然能够选择性地渲染更多侵入通知,以寻求平衡增加的资源,以利用增加的资源渲染更多侵入通知,该增加的资源是过度延长辅助呼叫和/或在没有完成任务的情况下结束辅助呼叫所需要的。
7.一些实施方式另外或替代地涉及使用自动化助理在给定用户与附加用户之间的正在进行的呼叫期间提供基于附加用户在正在进行中的呼叫期间所请求的值的输出。该输出能够被前摄地提供并且能够防止给定用户在(多个)应用内启动和/或导航以独立地寻求该值。例如,假设给定用户参与与公用事业公司代表的正在进行的呼叫,并且另外假设公用事业公司代表请求给定用户的地址信息和与公用事业公司相关联的账号。在该示例中,给定用户可以提供地址信息,但是可能不知道公用事业公司的账号,而不通过从公用事业公司接收到的电子邮件或消息进行搜索、不通过与公用事业公司相关联的网站进行搜索、和/或不执行其他计算设备交互以定位与公用事业公司相关联的账号。然而,通过使用本文中描述的技术,自动化助理能够独立于来自给定用户的请求自动化助理标识与公用事业公司相关联的账号的任何用户输入而容易地标识该账号,并且能够响应于标识公用事业公司代
表已经请求账号而在正在进行的呼叫期间可视地和/或可听地向给定用户和/或附加用户提供账号。
8.以这些和其它方式,能够通过防止启动(多个)这样的应用和/或与(多个)这样的应用的交互来保留(多个)客户端设备资源。此外,与用户必须独立地寻求由前摄地提供的输出指示的值的情况相比,能够在给定呼叫中更快地传达该值,从而缩短正在进行的呼叫的总持续时间。在各种实施方式中,自动化助理能够处理在正在进行的呼叫期间捕获至少一个口头话语的音频数据流以生成识别文本,其中,该至少一个口头话语是给定用户或附加用户的。此外,自动化助理能够基于处理识别文本来标识至少一个口头话语请求参数的信息,并且针对该参数并且使用对给定用户是个人的访问受限数据来确定用于该参数的值是可解析的。能够响应于确定该值是可解析的来渲染输出。在一些实施方式中,输出能够在正在进行的呼叫之外被渲染(即,不作为正在进行的呼叫的一部分被注入),但是可以被给定用户感知,以使给定用户能够在正在进行的呼叫中查明值并且传达该值。在一些附加或替代实施方式中,输出能够被渲染为合成语音作为正在进行的呼叫的一部分。例如,能够自动地或在从给定用户接收到肯定的用户界面输入时在正在进行的呼叫内渲染合成语音。在给定用户和附加用户之间的正在进行的呼叫期间提供基于由附加用户在正在进行中的呼叫期间请求的值的输出的一些实施方式中,该输出仅响应于确定由给定用户在正在进行的呼叫期间在包括该值的阈值时间量内没有提供口头输入而被提供。以这些和其它方式,能够减轻不必要地渲染输出的实例。
9.以上描述仅作为本文中公开的一些实施方式的概述来提供。在本文中更详细地描述这些实施方式和其他实施方式。
附图说明
10.图1描绘了说明本公开的各个方面并且其中能够实现本文中公开的实施方式的示例环境的框图。
11.图2描绘了图示根据各种实施方式的执行辅助呼叫的示例方法的流程图。
12.图3描绘了图示根据各种实施方式的在正在进行的非辅助呼叫期间提供辅助输出的示例方法的流程图。
13.图4a、4b、4c和4d描绘了根据各种实施方式的关于执行辅助呼叫的用户界面的各种非限制性示例。
14.图5a、5b和5c描绘了根据各种实施方式的关于在正在进行的非辅助呼叫期间提供辅助输出的用户界面的各种非限制性示例。
15.图6描绘了根据各种实施方式的计算设备的示例架构。
具体实施方式
16.图1图示说明本公开的各个方面的示例环境的框图。客户端设备110在图1中被图示,并且在各种实施方式中包括用户输入引擎111、设备状态引擎112、渲染引擎113、调度引擎114、语音识别引擎120a1、自然语言理解(“nlu”)引擎130a1和语音合成引擎140a1。
17.用户输入引擎111能够检测客户端设备110处的各种类型的用户输入。在客户端设备110处检测到的用户输入能够包括经由客户端设备110的(多个)麦克风检测到的口头输
入和/或(例如,在辅助呼叫期间和/或在尚未调用辅助呼叫时的其他正在进行的呼叫期间)从附加用户的附加客户端设备传送到客户端设备110的附加口头输入、经由客户端设备110的用户界面输入设备(例如,触摸屏)检测到的触摸输入和/或经由客户端设备110的用户界面输入设备(例如,经由触摸屏上的虚拟键盘)检测到的键入输入。在与实体的正在进行的(辅助的或非辅助的)呼叫期间与实体相关联的附加用户能够是例如人类、与附加客户端设备相关联的附加人类参与者、与附加用户的附加客户端设备相关联的附加自动化助理、和/或其他附加用户。
18.本文中描述的辅助呼叫和/或正在进行的呼叫能够使用各种语音通信协议(例如,基于互联网协议的语音(voip)、公共交换电话网络(pstn)和/或其它电话通信协议)来执行。如本文中所描述的,合成语音能够被渲染为辅助呼叫和/或正在进行的呼叫的一部分,这能够包括将合成语音注入到呼叫中,使得其可由正在进行的呼叫的参与者中的至少一个参与者感知并且形成正在进行的呼叫的音频数据的一部分。合成语音能够由作为呼叫的端点中的一个的客户端设备生成和/或注入,和/或能够由与客户端设备通信并且也被连接到呼叫的服务器生成和/或注入。同样如本文中所描述的,尽管输出可以由连接到呼叫的客户端设备的麦克风检测,并且作为结果,在呼叫上是可感知的,但是可听输出也能够在辅助呼叫之外被渲染,这不包括将可听输出注入到呼叫中。在一些实施方式中,呼叫能够可选地被静音和/或过滤能够被用于减轻呼叫中的在呼叫外部渲染的可听输出的感知。
19.在各种实施方式中,(在图1中由虚线概括地指示的)自动化助理115能够使用辅助呼叫系统180通过(多个)网络190(例如,wi-fi、蓝牙、近场通信、(多个)局域网、(多个)广域网和/或其他网络)在客户端设备110处执行辅助呼叫。在各种实施方式中,辅助呼叫系统180包括语音识别引擎120a2、nlu引擎130a2、语音合成引擎140a2和辅助呼叫引擎150。自动化助理115能够在与附加用户的电话呼叫期间代表客户端设备110的给定用户利用辅助呼叫系统180执行(多个)任务。
20.此外,在一些实施方式中,在代表客户端设备110的给定用户执行任何(多个)任务之前,自动化助理115能够从附加用户获得同意以参与与自动化助理115的对话。例如,自动化助理115能够在发起辅助呼叫时并且在执行(多个)任务之前获得同意。作为另一示例,即使正在进行的呼叫不是由自动化助理115发起,但是自动化助理115能够在客户端设备110的给定用户在该给定用户发起正在进行的呼叫时获得同意。如果自动化助理115从相关联的附加用户获得同意,则自动化助理115能够使用辅助呼叫系统180执行(多个)任务。然而,如果自动化助理115未从附加用户获得同意,则自动化助理115能够使客户端设备110(例如,使用渲染引擎113)向客户端设备110的给定用户渲染指示需要给定用户执行任务和/或结束呼叫的通知,并且(例如,使用渲染引擎113)向客户端设备110的给定用户渲染指示未执行(多个)任务的通知。
21.如下面更详细地描述的,自动化助理115能够响应于检测到来自客户端设备110的用于使用辅助呼叫发起呼叫的给定用户的用户输入和/或在正在进行的呼叫期间(即,当尚未调用辅助呼叫时)使用辅助呼叫系统180来执行辅助呼叫。在一些实施方式中,自动化助理115能够代表客户端设备110的给定用户在辅助呼叫期间和/或在正在进行的呼叫期间确定用于执行(多个)任务时被使用的(多个)候选参数的(多个)值。在那些实施方式的一些版本中,自动化助理115能够参与与客户端设备110的给定用户的对话以在辅助呼叫之前和/
或期间请求用于(多个)候选参数的(多个)值。在那些实施方式的一些附加和/或替代版本中,自动化助理115能够基于与客户端设备110的给定用户相关联的(多个)用户简档来确定用于(多个)候选参数的(多个)值,并且在辅助呼叫之前和/或期间不请求用于(多个)候选参数的(多个)值。在那些实施方式的一些版本中,自动化助理115能够基于正在进行的呼叫的对话自动地使用辅助呼叫系统180实现辅助呼叫,并且不经由用户输入引擎111检测来自客户端设备110的给定用户的任何用户输入。
22.如图1所示,能够远程地(例如,经由(多个)服务器和/或(多个)其他远程客户端设备)实现辅助呼叫系统180。尽管在图1中将辅助呼叫系统180示出为通过(多个)网络190远程地实现,但是应当理解,这是为了示例的目的而不意味着限制。例如,在各种实施方式中,辅助呼叫系统180能够被本地地实现在客户端设备110上。此外,尽管自动化助理115在图1中被示出为被本地地实现在客户端设备110上并且被远程地实现在辅助呼叫系统180处,但是应当理解,这也是为了示例的目的并且不意味着限制。例如,在各种实施方式中,自动化助理115能够被本地地实现在客户端设备110上,或被本地地实现在客户端设备110上并且与分开的基于云的自动化助理交互。
23.在实施方式中,当用户输入引擎111经由客户端设备110的(多个)麦克风检测到给定用户的口头输入和/或(例如,在辅助呼叫期间和/或正在进行的呼叫期间)从附加用户接收从附加客户端设备传送到客户端设备110的捕获附加口头输入的音频数据时,客户端设备110的语音识别引擎120a1能够使用(多个)语音识别模型120a处理捕获口头输入和/或捕获附加口头输入的音频数据,以生成与口头输入和/或附加口头输入相对应的识别文本。此外,客户端设备110的nlu引擎130a1能够使用(多个)nlu模型130a来处理由语音识别引擎120a1生成的识别文本以确定包括在口头输入和/或附加口头输入中的(多个)意图。例如,如果客户端设备110检测到来自给定用户的“call example caf
é
to make a reservation for tonight(呼叫示例咖啡馆以进行今晚的预订)”的口头输入,则客户端设备110能够使用(多个)语音识别模型120a来处理音频数据,该音频数据捕获口头输入以生成与“call example caf
é
to make a reservation for tonight”的口头输入相对应的识别文本,并且能够使用(多个)nlu模型130a来处理识别文本以至少确定发起呼叫的第一意图和进行餐厅预定的第二意图。作为另一示例,如果客户端设备110检测到“will any children be joining the reservation(任何孩子是否将加入预订)?”,则客户端设备110能够使用语音识别模型120a来处理捕获附加口头输入的音频数据,以生成与“will any children be joining the reservation?”的附加口头输入相对应的识别文本的输入,并且能够使用(多个)nlu模型130a处理识别文本以确定对与(多个)附加参数相关联的信息的请求的意图,如本文中所描述的。在那些实施方式的一些版本中,客户端设备110能够将音频数据、识别文本和/或(多个)意图传送到辅助呼叫系统180。
24.在其他实施方式中,当用户输入引擎111经由客户端设备110的(多个)麦克风检测到给定用户的口头输入和/或(例如,在辅助呼叫期间和/或在正在进行的呼叫期间)检测到捕获从附加客户端设备传送到客户端设备110的来自附加用户的附加口头输入的音频数据时,自动化助理115能够使客户端设备110向辅助呼叫系统180传送捕获口头输入的音频数据和/或捕获附加用户输入的音频数据。辅助呼叫系统180的语音识别引擎120a2和/或nlu引擎130a2能够以与上面关于客户端设备110的语音识别引擎120a1和/或nlu引擎130a1描
述的类似方式处理捕获口头输入的音频数据和/或捕获附加口头话语的音频数据。在一些附加和/或替代实施方式中,客户端设备110的语音识别引擎120a1和/或nlu引擎130a1能够以分布式方式结合辅助呼叫系统180的语音识别引擎120a2和/或nlu引擎130a2使用。此外,(多个)语音识别模型120a和/或(多个)nlu模型130a能够被本地地存储在客户端设备110上和/或远程地存储在通过(多个)网络190与客户端设备110和/或辅助呼叫系统180通信的服务器上。
25.在各种实施方式中,(多个)语音识别模型120a是(多个)端到端语音识别模型,使得(多个)语音识别引擎120a1和/或120a2能够直接使用该模型生成与口头输入相对应的识别文本。例如,(多个)语音识别模型120a能够是用于在逐个字符的基础上(或在其它逐个符号的基础上)生成识别文本的(多个)端到端模型。用于在逐个字符的基础上生成识别文本的(多个)这种端到端模型的一个非限制性示例是循环神经网络转换器(rnn-t)模型。rnn-t模型是一种不采用注意机制的序列-到-序列模型形式。此外,例如,当(多个)语音识别模型不是(多个)端到端语音识别模型时,(多个)语音识别引擎120a1和/或120a2能够反而生成(多个)预测音素(和/或其他表示)。例如,利用这样的模型,(多个)预测音素(和/或其他表示)然后被(多个)语音识别引擎120a1和/或120a2用于确定符合(多个)预测音素的识别文本。在这样做时,(多个)语音识别引擎120a1和/或120a2能够可选地采用解码图、词典和/或其他资源。
26.在实施方式中,当用户输入引擎111经由客户端设备110的用户界面输入设备检测到触摸和/或键入输入时,自动化助理115能够使触摸输入的指示和/或键入输入的指示从客户端设备110被传送到辅助呼叫系统180。在那些实施方式的一些版本中,触摸输入的指示和/或键入输入的指示能够包括触摸输入的底层文本和/或键入输入的文本,并且该底层文本和/或该文本能够使用(多个)nlu模型130a来处理,以确定用于底层文本和/或文本的(多个)意图。
27.如本文中所描述的,辅助呼叫系统180的辅助呼叫引擎150能够进一步处理由(多个)语音识别引擎120a1和/或120a2生成的识别文本、在客户端设备110处检测到的触摸输入的底层文本、在客户端设备110处检测到的键入输入的底层文本、和/或由(多个)nlu引擎130a1和/或130a2确定的(多个)意图。在各种实施方式中,辅助呼叫引擎150包括实体标识引擎151、任务确定引擎152、(多个)参数引擎153、任务执行引擎154、反馈引擎155和推荐引擎156。
28.实体标识引擎151能够代表客户端设备110的给定用户标识参与的实体。实体能够是例如个人实体、商业实体、位置实体和/或其他实体。在一些实施方式中,实体标识引擎151还能够确定所标识的实体的特定类型。例如,个人实体的类型能够是朋友实体、家庭成员实体、同事实体和/或其他特定类型的个人实体。此外,商业实体的类型能够是餐厅实体、航空公司实体、酒店实体、沙龙实体、医生办公室实体和/或其他特定类型的商业实体。此外,位置实体的类型能够是学校实体、博物馆实体、图书馆实体、公园实体和/或其他特定类型的位置实体。在一些实施方式中,实体标识引擎151还能够确定用于所标识的实体的特定实体。例如,个人实体的特定实体能够是个人的名字(例如,jane doe等),商业实体的特定实体能够是商业的名字(例如,hypothetical caf
é
(假想咖啡馆)、example caf
é
(示例咖啡馆)、example airlines(示例航空公司)等),并且位置实体的特定实体能够是位置的名称
(例如,hypothetical university(假想大学)、example national park(示例国家公园)等)。尽管本文中描述的实体能够由各种粒度级别来定义,但是为了简单起见,它们在本文中被统称为“实体”。
29.在一些实施方式中,实体标识引擎151能够在使用自动化助理115发起辅助呼叫之前基于与客户端设备110的(多个)用户交互代表客户端设备110的给定用户标识参与的实体。在那些实施方式的一些版本中,能够响应于接收到发起辅助呼叫的用户输入来标识实体。例如,如果客户端设备110的给定用户将(例如,口头或触摸的)输入引导到软件应用的呼叫界面元素(例如,针对联系人应用中的联系人、针对浏览器应用中的搜索结果和/或包括在其他软件应用中的其他可呼叫实体),则实体标识引擎151能够标识与呼叫界面元素相关联的实体。例如,如果用户输入被引导到浏览器应用中与“示例咖啡馆”相关联的呼叫界面元素,则实体标识引擎151能够在辅助呼叫期间代表客户端设备110的给定用户将“示例咖啡馆”(或者更一般地商业实体或餐厅实体)标识为参与的实体。
30.在一些实施方式中,实体标识引擎151能够基于与正在进行的呼叫相关联的元数据代表客户端设备110的给定用户标识参与的实体。元数据能够包括,例如,与附加用户相关联的电话号码、与附加用户相关联的位置、标识附加用户和/或与附加用户相关联的实体的标识符、正在进行的呼叫开始的时间、正在进行的呼叫的持续时间和/或与电话呼叫相关联的其他元数据。例如,如果客户端设备110的给定用户参与与附加用户的正在进行的呼叫,则实体标识引擎151能够分析客户端设备110的给定用户与附加用户之间的正在进行的呼叫的元数据,以标识与正在进行的呼叫期间参与的附加用户相关联的电话号码。此外,实体标识引擎151能够将电话号码与(多个)数据库交叉引用以标识与附加用户相关联的实体,提交针对电话号码的搜索查询以标识与电话号码相关联的对应搜索结果以标识与附加用户相关联的实体,和/或执行其他动作以标识与附加用户相关联的实体。例如,如果客户端设备110的给定用户参与正在进行的呼叫,则实体标识引擎151能够分析与正在进行的呼叫相关联的元数据以标识“示例航空公司”的标识。
31.此外,实体标识引擎151能够使任何所标识的实体被存储在(多个)实体数据库151a中。在一些实施方式中,存储在(多个)实体数据库151a中的所标识的实体能够由实体和/或特定类型的实体索引。例如,如果实体标识引擎151标识“示例咖啡馆”实体,则“示例咖啡馆”能够在(多个)实体数据库151a中被索引为商业实体,并且能够可选地进一步被索引为餐厅实体。此外,如果实体标识引擎151标识“示例航空公司”实体,则“示例航空公司”也能够在(多个)实体数据库151a中被索引为商业实体,并且能够可选地进一步被索引为航空公司实体。通过在(多个)实体数据库151a中存储和索引所标识的实体,实体标识引擎151能够容易地标识和检索实体,从而减少了在未来的辅助呼叫和/或正在进行的呼叫中遇到实体时标识实体的后续处理。此外,在各种实施方式中,每个实体能够与(多个)实体数据库151a中的(多个)任务相关联。
32.任务确定引擎152能够确定代表客户端设备110的给定用户要被执行的(多个)任务。在一些实施方式中,任务确定引擎152能够在使用自动化助理115发起辅助呼叫之前确定(多个)任务。在那些实施方式的一些版本中,任务确定引擎152能够基于发起辅助呼叫的用户输入来确定代表客户端设备110的给定用户执行的(多个)任务。例如,如果客户端设备110的给定用户提供“call example caf
é
to make a reservation for tonight”的口头输
入,则任务确定引擎152能够利用发起呼叫和进行餐厅预订的(例如,使用(多个)nlu模型130a确定的)(多个)意图以基于口头输入确定进行餐厅预订的任务。作为另一示例,如果客户端设备110的给定用户提供选择与“示例咖啡馆”相关联的呼叫界面元素的触摸输入,并且呼叫界面指示给定用户想要在示例咖啡馆处修改餐厅预订,则任务确定引擎152能够基于触摸输入来确定修改现有餐厅预订的任务。
33.在那些实施方式的一些附加和/或替代版本中,任务确定引擎152能够基于在辅助呼叫期间参与的所标识的实体来确定(多个)任务。例如,餐厅实体能够与进行餐厅预订的任务、修改餐厅预订的任务、取消餐厅预订的任务和/或其他任务相关联。作为另一示例,学校实体能够与查询关闭的任务、报告学生/雇员当天将不会上学的任务和/或其他任务相关联。
34.在其它实施方式中,任务确定引擎152能够确定在正在进行的呼叫期间代表客户端设备110的给定用户要被执行的(多个)任务。在那些实施方式的一些版本中,与客户端设备110的给定用户和附加客户端设备的附加用户之间的对话相对应的音频数据流能够如本文中所描述地(例如,相对于(多个)语音识别模型120a和(多个)nlu模型130a)被处理。例如,如果在客户端设备110的给定用户和与附加客户端设备相关联的附加用户之间的正在进行的呼叫期间,任务确定引擎152标识“what is your frequent flier number(您的常用飞行者号码是什么)”的识别文本,则任务确定引擎152能够确定向附加用户提供常用飞行者号码的任务。在那些实施方式的一些另外版本中,任务确定引擎152还能够基于与(多个)任务相关联地被存储在(多个)实体数据库151a中的实体来确定(多个)任务。例如,如果实体标识引擎151(例如,基于如上所述的与正在进行的呼叫相关联的元数据)标识与示例航空公司实体相关联的附加用户,则任务确定引擎152能够基于用于提供与航空公司实体相关联地被存储的常用飞行者号码的任务来确定向附加用户提供与示例航空公司相关联的常用飞行者号码的任务。
35.(多个)参数引擎153能够标识与由任务确定引擎152确定的(多个)任务相关联的(多个)参数。自动化助理115能够使用用于(多个)参数的(多个)值来执行(多个)任务。在一些实施方式中,(多个)候选参数能够与(多个)任务相关联地被存储在(多个)参数数据库153a中。在那些实施方式的一些版本中,能够响应于在辅助呼叫期间代表客户端设备110的给定用户标识参与的实体来从(多个)参数数据库检测用于给定任务的(多个)候选参数。例如,对于进行餐厅预订的任务,(多个)参数引擎153能够标识和检索一个或多个候选参数,包括名称参数、日期/时间参数、预订的宴会规模参数、电话号码参数、各种类型的(多个)座位参数(例如,卡座座位或餐桌座位、室内座位或室外座位等)、儿童参数(即,儿童是否将加入预订)、特殊时机参数(例如,生日、周年纪念日等)和/或其他候选参数。相反,对于修改餐厅预订的任务,(多个)参数引擎153能够标识并检索候选参数,包括名称参数、原始预订日期/时间参数、修改的预订日期/时间参数、修改的预订的宴会规模参数和/或(多个)其他候选参数。
36.在一些附加和/或替代实施方式中,(多个)参数引擎153能够在客户端设备110的给定用户与附加客户端设备的附加用户之间的正在进行的呼叫期间标识用于给定任务的(多个)参数。在那些实施方式的一些版本中,在正在进行中的呼叫期间针对给定任务所标识的(多个)参数可以是或可以不是与给定任务相关联地存储在(多个)参数数据库153a中
的(多个)候选参数。如上所述,能够处理与给定用户和附加用户之间的对话相对应的音频数据流,以确定在正在进行的呼叫期间要被执行的(多个)任务。(多个)参数引擎153能够确定附加用户是否正在请求与自动化助理115未知的给定参数相关联的信息。例如,如果在正在进行的呼叫期间,示例航空公司的代表从客户端设备的给定用户请求常用飞行者号码,则(多个)参数引擎153能够基于包括在对话的识别文本中的(多个)意图和/或基于所标识的“示例航空公司”实体来标识“示例航空公司常用飞行者号码”参数。
37.此外,在一些实施方式中,存储在(多个)参数数据库153a中的(多个)候选参数能够被被映射到存储在(多个)实体数据库151a中的各种实体。通过将存储在(多个)参数数据库153a中的(多个)候选参数映射到存储在(多个)实体数据库151a中的各种实体,辅助呼叫引擎150能够响应于标识给定实体而容易地标识用于(多个)任务的(多个)参数。例如,响应于标识“示例咖啡馆”实体(或者更一般地,餐厅实体),辅助呼叫引擎150能够标识(例如,与“示例咖啡厅”实体和/或餐厅实体相关联地存储在实体数据库151a中的)(多个)预定义任务以确定(多个)候选参数的集合,并且响应于(例如,基于所标识的实体和/或用户输入)标识特定任务,辅助呼叫引擎150能够确定与所标识的实体的特定任务相关联的(多个)候选参数。在其它实施方式中,(多个)实体数据库151a和(多个)参数数据库153a能够被组合为具有(例如,按实体索引的、按(多个)任务索引的和/或其它索引)各种索引的一个数据库,使得(多个)实体、(多个)任务和(多个)候选参数能够各自彼此相关联地被存储。
38.如上所述,自动化助理115能够代表客户端设备110的给定用户使用用于(多个)参数的(多个)值来执行(多个)任务。(多个)参数引擎153还能够确定用于(多个)参数的(多个)值。在实施方式中,当客户端设备110的给定用户提供用户输入以发起辅助呼叫时,(多个)参数引擎153能够使自动化助理115在发起辅助呼叫之前(例如,经由客户端设备110视觉地和/或听觉地)参与与给定用户的对话,以请求(多个)候选参数的另外用户输入请求信息。如本文中所描述的,自动化助理115能够生成请求信息的(多个)提示,并且能够可听地(例如,经由客户端设备110的(多个)扬声器)和/或可视地(例如,经由客户端设备110的(多个)显示器)渲染请求(多个)对应值(或其子集)的提示。例如,响应于(例如,经由触摸输入或口头输入)接收到发起辅助呼叫以在示例咖啡馆进行预订的用户输入,自动化设备能够生成请求另外用户输入的(多个)提示以用于(多个)候选参数(或其子集),该另外用户输入包括用于预订的日期/时间参数的值、用于预订的人数参数的值等。
39.在那些实施方式的一些版本中,(多个)参数引擎153能够基于客户端设备110的给定用户的存储在(多个)用户简档数据库153b上的(多个)用户简档来确定用于(多个)候选参数的(多个)值。在这些实施方式的一些另外版本中,(多个)参数引擎153能够确定用于(多个)候选参数的(多个)值,而不从给定用户请求任何另外用户输入。(多个)参数引擎153能够访问(多个)用户简档数据库153b,并且能够从软件应用(例如,日历应用、电子邮件应用、联系人应用、提醒应用、便笺应用、sms或文本消息收发应用和/或其它软件应用)检索用于名称参数、电话号码参数、日期/时间参数的(多个)值。(多个)用户简档能够包括,例如并且在来自给定用户的许可下,给定用户的链接账户、给定用户的电子邮件账户、给定用户的相册、给定用户的(多个)社交媒体简档、给定用户的联系人、用户偏好和/或其他信息。例如,如果客户端设备110的给定用户在提供用户输入以发起辅助呼叫之前参与与朋友的文本消息收发会话并且讨论在给定实体处的餐厅预订的日期/时间信息,则(多个)参数引擎
153能够利用来自文本消息收发会话的日期/时间信息作为日期/时间参数的(多个)值,并且自动化助理无需向给定用户提示用于餐厅预订的日期/时间信息。如本文中更详细地讨论的(例如,参考图4b),客户端设备110的给定用户能够在辅助呼叫被发起之前修改(多个)候选参数的(多个)值。
40.此外,在各种实施方式中,给定任务的一些候选参数可以是(多个)所需参数,而给定任务的(多个)其他候选参数可以是(多个)可选参数。在那些实施方式的一些版本中,给定参数是所需参数还是可选参数能够基于任务。换句话说,给定任务的(多个)所需参数能够是已知执行给定任务所需的最小量的信息。例如,对于餐厅预订任务,名称参数和时间/日期参数可以是仅(多个)所需参数。然而,如果(多个)值对于(多个)可选参数(例如,更好地适应预订的宴会规模、如果需要任何附加通信则要呼叫的电话号码等)是已知的,则餐厅预订任务对于给定用户和与餐厅预订任务相关联的餐厅两者可能具有更大的益处。因此,自动化助理115能够生成至少(多个)所需参数的(多个)提示,并且可选地,(多个)可选参数的(多个)提示。
41.在辅助呼叫系统180确定参与与客户端设备110的给定用户的正在进行的呼叫的附加用户请求(多个)参数的信息的实施方式中,(多个)参数引擎153能够基于客户端设备110的给定用户的存储在(多个)用户简档数据库153b上的(多个)用户简档来确定(多个)值。在那些实施方式的一些版本中,(多个)参数引擎153能够响应于标识附加用户正在请求(多个)参数的信息来确定(多个)参数的(多个)值。在那些实施方式的其他版本中,(多个)参数引擎153能够响应于来自请求(多个)参数的信息的客户端设备110的给定用户的用户输入来确定(多个)参数的(多个)值。
42.在各种实施方式中,任务执行引擎154能够使自动化助理115在辅助呼叫期间使用合成语音参与与关联于所标识的实体的附加用户的对话以执行(多个)任务。任务执行引擎154能够向客户端设备110的语音合成引擎140a1和/或辅助呼叫系统180的语音合成引擎140a2提供包括至少该值的文本和/或音素,以生成合成语音音频数据。合成语音音频数据能够被传送到附加用户的附加客户端设备以用于在附加客户端设备处可听的渲染。(多个)语音合成引擎140a1和/或140a2能够使用(多个)语音合成模型140a来生成合成语音音频数据,该合成语音音频数据包括对应于至少(多个)参数的(多个)值的合成语音。例如,(多个)语音合成引擎140a1和/或140a2能够确定被确定为对应于附加用户所请求的(多个)参数的信息的音素的序列,并且能够使用语音合成模型140a来处理该音素的序列,以生成合成语音音频数据。合成语音音频数据能够是,例如,音频波形的形式。在确定对应于至少(多个)参数的(多个)值的音素的序列时,(多个)语音合成引擎140a1和/或140a2能够访问在客户端设备110处本地地存储的或(例如,通过网络190)在(多个)服务器处存储的令牌-到-音素映射。
43.在一些实施方式中,任务执行引擎154能够使客户端设备110代表客户端设备110的给定用户发起与参与的实体的辅助呼叫,并且代表客户端设备110的给定用户执行(多个)任务。此外,任务执行引擎154能够代表客户端设备110的给定用户利用包括至少(多个)参数的(多个)值的合成语音音频数据以执行(多个)任务。例如,对于进行餐厅预订的任务,自动化助理155能够使合成语音在与附加用户相关联的附加客户端设备处被渲染,该附加用户标识代表客户端设备110的给定用户的自动化助理115并且陈述在辅助呼叫期间代表
给定用户要被执行的(多个)任务(例如,“this is jane doe’s automated assistant calling to make a reservation on behalf of jane doe(这是代表jane doe呼叫以进行预订的jane doe的自动化助理)”)。
44.在那些实施方式的一些版本中,自动化助理115能够使(例如,使用如上文所描述的(多个)参数引擎153确定的)各种(多个)候选参数的(多个)对应值被渲染而不被与实体相关联的附加用户明确请求。继续以上示例,自动化助理115能够在对话的开始时提供用于预订的日期/时间参数的值(例如,“今晚7:00pm”等)、用于预订的人数参数的值(例如,“两个”、“三个”、“四个”等)、用于预订的座位参数的类型的值(例如,“卡座”、“室内”等)和/或用于其它候选参数的其它值。在这些实施方式的其它版本中,自动化助理115能够参与与附加计算设备的附加用户的对话,并且提供由与实体相关联的附加用户明确地请求的(多个)参数的(多个)特定值。继续以上实例,自动化助理115能够处理捕获附加用户的语音的音频数据(例如,“for what time and for how many people(几点,多少人)?”等),并且能够响应于接收到来自附加用户的请求来确定由附加用户请求的(多个)参数的信息(例如,“tonight at 7:00pm for five people(今晚下午7:00,五个人)”等)。
45.此外,在那些实施方式的一些版本中,任务确定引擎154能够确定来自与实体相关联的附加用户的请求是对与自动化助理115不知道其对应的(多个)附加值的(多个)附加参数相关联的信息的请求。例如,对于餐厅预订任务,假设自动化助理115知道日期/时间信息参数、人数参数和座位类型参数的值,但是附加用户请求未知的儿童参数(即,任何儿童是否加入预订)的信息。响应于确定附加用户正在请求未知的儿童参数的信息,自动化助理115能够使客户端设备110渲染指示附加用户(例如,使用渲染引擎113)已经请求儿童参数的附加值并且提示客户端设备110的给定用户提供儿童参数的该附加值的通知。
46.在那些实施方式的一些另外版本中,在客户端设备110处渲染的通知的类型和/或渲染通知的一个或多个属性(例如,音量、亮度、大小)能够基于(例如,使用设备状态引擎112所确定的)客户端设备110的状态和/或正在进行的呼叫的状态。正在进行的呼叫的状态能够指示,例如,在正在进行的呼叫中已经传达和/或还没有传达哪个(或哪些)值,和/或能够指示在正在进行的呼叫中已经完成和/或尚未完成正在进行的呼叫的任务的哪个(或哪些)分量。客户端设备110的状态能够基于,例如,在客户端设备110的前台中操作的(多个)软件应用、在客户端设备110的后台中操作的(多个)软件应用、客户端设备110是否处于锁定状态、客户端设备110是否处于睡眠状态、客户端设备110是否处于关闭状态、来自客户端设备110的(多个)传感器的传感器数据和/或其他数据。例如,如果客户端设备110的状态指示显示辅助呼叫的转录的软件应用(例如,自动化助理应用、呼叫应用、辅助呼叫应用和/或其它软件应用)正在客户端设备110的前台中操作,则通知的类型可以是横幅通知、弹出通知和/或其它类型的视觉通知。作为另一示例,如果客户端设备110的状态指示客户端设备110处于睡眠或锁定状态,则通知的类型可以是经由(多个)扬声器的可听指示和/或经由(多个)扬声器或客户端设备110的其他硬件组件的振动。作为又一示例,如果来自客户端设备的(多个)存在传感器、(多个)加速度计和/或(多个)其他传感器的传感器数据指示给定用户当前不在客户端设备附近和/或当前不握持客户端设备,则能够提供更多侵入通知(例如,在第一音量水平的视觉和听觉)。另一方面,如果这种传感器数据指示给定用户当前在客户端设备附近和/或当前握持客户端设备,则能够提供更少侵入通知(例如,仅视觉的,或
者在小于第一音量水平的第二音量水平下的视觉和听觉的)。作为再一示例,当对话的状态指示对话接近完成时,能够提供更多侵入通知,而当对话的状态指示对话不接近完成时,能够提供更少侵入通知。
47.在那些实施方式的一些另外版本中,即使自动化助理115不知道用于由附加用户请求的(多个)附加参数的(多个)对应附加值,任务确定引擎153能够使自动化助理115继续与附加用户的对话。自动化助理11能够随后在响应于来自附加用户的请求而接收另外用户输入之后在对话中提供(多个)附加值。例如,对于餐厅预订任务,假设自动化助理115知道日期/时间信息参数、人数参数和座位类型参数的值,并且进一步假设附加用户请求日期/时间信息参数和人数参数的(多个)值。进一步假设附加用户接下来请求自动化助理115不知道其值的儿童参数的值。在该示例中,任务确定引擎153能够使自动化助理115在附加用户的附加客户端设备处渲染合成语音,该合成语音包括当前不知道儿童是否将加入的所请求的信息的指示,并且自动化助理115能够通过提供(例如,针对座位类型的)(多个)其它值来继续辅助呼叫,直到在客户端设备110处检测到包括儿童参数的值的响应于通知的另外用户输入为止。响应于接收到另外用户输入,自动化助理115能够提供附加值作为独立值(例如,“no children will be joining the reservation(没有儿童将加入预订)”),或作为继续值(例如,“jane doe prefers booth seating,by the way,no children will be joining the reservation(jane doe喜欢卡座座位,顺便说一句,没有孩子将加入预订)”)。
48.此外,在其中附加用户请求未知的(多个)附加参数的信息的实施方式中,如果响应于请求信息的通知的另外用户输入在阈值持续时间(例如,15秒、30秒、60秒和/或其他持续时间)内未被接收,则自动化助理115能够结束辅助呼叫。在那些实施方式的一些版本中,阈值持续时间能够当请求信息的通知在给定用户的客户端设备110处被渲染时开始。在那些实施方式的其他版本中,阈值持续时间能够在由附加用户请求或由自动化助理115(独立于附加用户请求)前摄地提供自动化助理115已知的最后值时开始。
49.此外,在附加用户请求未知的(多个)附加参数的信息的实施方式中,反馈引擎155能够将(多个)附加参数作为任务的(多个)候选参数存储在(多个)参数数据库153a中。在那些实施方式的一些版本中,反馈引擎153a能够将(多个)附加参数映射到存储在(多个)实体数据库151a中的与附加用户相关联的实体。在那些实施方式的一些另外版本中,如果与实体相关联的(多个)附加用户在辅助语音活跃时从多个用户请求(多个)附加参数达阈值次数,则反馈引擎155能够将(多个)附加参数映射到实体。例如,如果餐厅实体在由多个用户经由相应的客户端设备发起的多个辅助呼叫之间的对话期间询问餐厅预订是否将包括儿童达至少阈值次数(例如,100次、1,000次和/或其它数值阈值),则反馈引擎155能够将儿童参数映射到(多个)实体数据库151a中的各个餐厅实体。在该示例中,儿童参数能够被认为是新候选参数,以在发起与各种餐厅实体和/或频繁请求儿童参数的信息的特定实体的(多个)餐厅预订任务的未来辅助呼叫之前请求值。以这些和其它方式,该值能够在发起未来辅助呼叫之前请求,从而缩短未来辅助呼叫的持续时间和/或防止在未来辅助呼叫中渲染对该值的提示时利用计算资源的需要。
50.在一些实施方式中,任务执行引擎154能够使自动化助理115向与实体相关联的附加用户提供与正在进行的呼叫相关的输出,即使正在进行的呼叫不是使用辅助语音(即,非
辅助呼叫)发起的,以代表客户端设备110的给定用户执行(多个)任务。例如,自动化助理115能够中断正在进行的呼叫以使包括(多个)值的合成语音在附加客户端设备110处被渲染。在那些实施方式的一些版本中,自动化助理115能够响应于来自客户端设备110的给定用户的用户输入而提供与正在进行的呼叫相关的输出(例如,如关于图5a所述)。在那些实施方式的一些另外版本中,自动化助理115可以不处理对应于正在进行的呼叫的音频数据,从而消除从附加用户获得同意的需要。相反,自动化助理115能够分析与正在进行的呼叫相关联的元数据,并且基于元数据和/或用户输入来确定由附加用户所请求的参数的(多个)对应值。例如,客户端设备110能够检测激活辅助呼叫并且询问自动化助理115检索附加用户所请求的(多个)对应值(例如,常用飞行者号码参数的值)的用户输入,并且能够基于与正在进行的呼叫相关联的元数据来确定该值与特定实体(例如,示例航空公司)相关联,即使该特定实体在请求中未被明确地标识。然后,能够由自动化助理基于附加用户(例如,“频繁飞行者”)的请求和元数据(例如,“示例航空公司”)两者来使用搜索参数(例如,项)搜索用户的访问受限数据。此外,在那些实施方式的一些另外版本中,用于自动化助理115提供与正在进行的呼叫相关的输出的用户输入响应于由自动化助理115生成并且在客户端设备110处(例如,使用渲染引擎113)渲染的通知,该通知指示辅助呼叫系统180能够向附加用户提供(多个)值(例如,如关于图5b所述)。例如,自动化助理115能够向客户端设备110的给定用户前摄地通知辅助呼叫系统180能够提供附加用户所请求的(多个)参数的(多个)对应值。
51.在那些实施方式的其他版本中,自动化助理115响应于确定信息正在被附加用户请求而提供与正在进行的呼叫相关的输出(例如,正在进行的呼叫内的合成语音),并且不从客户端设备110的给定用户接收任何用户输入(例如,如关于图5c所述)。在那些实施方式的一些版本中,自动化助理115能够基于满足置信度阈值的值的置信度度量自动地提供(多个)值。置信度度量能够基于,例如,给定用户是否响应于接收到对相同值的先前请求而先前提供了所确定的值、在正在进行的呼叫期间所标识的(多个)参数是否是与正在进行的呼叫期间所标识的任务相关联地存储的(多个)候选参数、从其中确定值的源(例如,电子邮件/日历应用相对于文本消息收发应用)和/或确定置信度度量的方式。例如,对于客户端设备110的给定用户和与航空公司实体相关联的附加用户之间的正在进行的呼叫,辅助呼叫系统180能够确定由附加用户请求的常用飞行者号码,并且辅助呼叫系统180能够使自动化助理115自动地提供包括常用飞行者号码的合成语音作为正在进行的呼叫的一部分-并且能够自动地提供合成语音而不接收请求自动化助理115提供常用飞行者号码的任何用户输入。在这些实施方式的一些版本中,客户端设备110的给定用户可能必须授权辅助呼叫自动地中断与辅助呼叫相关联的设置中的正在进行的呼叫。
52.在各种实施方式中,推荐引擎156能够确定将在对话中传达的(多个)候选值,并且能够使自动化助理115提供(多个)候选值作为客户端设备110的给定用户的(多个)推荐。在一些实施方式中,能够通过(多个)网络190向客户端设备110传送(多个)候选值。此外,能够响应于来自附加用户的(多个)请求在客户端设备的显示器上(例如,使用渲染引擎113)可视地渲染(多个)候选值作为(多个)推荐。在那些实施方式的一些版本中,(多个)推荐能够是可选择的,使得当用户输入指向给定推荐(例如,如由用户输入引擎111确定的)时,给定推荐能够被并入到在附加用户的附加客户端设备处被可听地渲染的合成语音中。
53.在一些实施方式中,推荐引擎156能够基于对来自附加用户的信息的请求来确定(多个)候选值。例如,如果请求是是否问题(例如,“will any children be included in the reservation(会有任何孩子将被包括在预订中)”),则推荐引擎156能够确定包括“是”值的第一推荐和包括“否”值的第二推荐。在其他实施方式中,推荐引擎156能够基于存储在(多个)用户简档数据库153b中的与客户端设备110相关联的给定用户的(多个)用户简档来确定(多个)候选值。例如,如果请求征求特定信息(例如,“how many children there be(有多少孩子)”),则推荐引擎156能够基于给定用户的(多个)用户简档并且在给定用户的许可下确定客户端设备110的给定用户具有三个孩子-并且能够确定包括“三”值的第一推荐、包括“二”值的第二推荐、包括“一”值的第三推荐和/或包括(多个)其他值的(多个)其他推荐。本文中描述的各种推荐能够在客户端设备110处可视地和/或可听地渲染,以用于呈现给与客户端设备相关联的给定用户。
54.如本文中所描述的,渲染引擎113能够在客户端设备110处渲染各种通知或其他输出。渲染引擎113能够可听地和/或可视地渲染本文中描述的各种通知。此外,渲染引擎113能够使对话的转录在客户端设备110的用户界面上被渲染。在一些实施方式中,转录能够对应于客户端设备110的给定用户与自动化助理115之间的对话(例如,如关于图4b所述)。在其它实施方式中,转录能够对应于附加客户端设备的附加用户与自动化助理115之间的对话(例如,如关于图4c和4d所述)。在又一些其他实施方式中,转录能够对应于客户端设备110的给定用户、附加客户端设备的附加用户和自动化助理115之间的对话(例如,如关于图5a-5c所述)。
55.在一些实施方式中,调度引擎114能够使自动化助理115连同指示执行任务的结果的通知一起和/或被包括在指示执行(多个)任务的结果的通知中而包括自动化助理基于执行(多个)任务的结果来执行(多个)附加(或后续)任务的(多个)推荐。在那些实施方式的一些版本中,推荐能够是可选择的,使得当用户输入被引导到给定推荐(例如,如由用户输入引擎111确定的)时,给定推荐能够使(多个)附加任务被执行。例如,对于成功的餐厅预订任务,自动化助理115能够经由客户端设备110的显示器的用户界面渲染可选择元素,该可选择元素在由客户端设备110的给定用户选择时使调度引擎114创建用于成功的餐厅预订的日历条目。作为另一示例,对于成功的餐厅预订任务,自动化助理115能够将指示已成功执行餐厅预订任务的sms或文本消息发送到正在加入餐厅预订的(多个)其它用户。相比之下,对于不成功的餐厅预订任务,自动化助理115能够渲染可选择元素,该可选择元素在由客户端设备110的给定用户选择时,使调度引擎114创建提醒和/或日历条目以在稍后时间并且在所尝试的餐厅预订任务的时间/日期值之前再次执行餐厅预订任务(例如,由自动化助理115在稍后时间自动地执行或由自动化助理115响应于对提醒和/或日历条目的用户选择而执行)。
56.在其他实施方式中,调度引擎114能够响应于确定执行任务的结果而使自动化助理115基于执行(多个)任务的结果自动地执行(多个)附加(或后续)任务。例如,对于成功的餐厅预订任务,自动化助理115能够自动地创建用于成功的餐厅预订的日历条目,将指示已经成功执行餐厅预订任务的sms或文本消息自动地发送到正在加入餐厅预订的(多个)其它用户,和/或能够由自动化助理115响应于成功地执行餐厅预订任务而执行的(多个)其它附加任务。相比之下,对于不成功的餐厅预订任务,自动化助理115能够自动地创建提醒和/或
tonight at 7:00pm(呼叫示例咖啡馆以进行今晚7:00的预定)”的口头输入,则系统能够确定该口头输入包括餐厅预订任务。在其它实施方式中,能够基于在框254处标识的实体来确定要被执行的至少一个任务。例如,如果在客户端设备处接收到“call example caf
é
(呼叫示例咖啡馆)”的口头输入(即,没有指定餐厅预订任务),则系统能够基于进行预订的任务是与餐厅实体相关联的预定义任务来推断该进行预订的任务。
62.在框258,系统标识与至少一个任务相关联的(多个)候选参数。在各种实施方式中,(多个)候选参数能够与(在框256处确定的)至少一个任务相关联地和/或与(在框256处确定的)至少一个实体相关联地被存储在一个或多个数据库(例如,图1的(多个)参数数据库153a)中。例如,预定航班、改变航班、取消航班、丢失行李查询的任务和/或其他任务能够与对应候选参数相关联地被存储。此外,例如,改变与航空公司实体1相关联的航班的任务能够与第一对应参数相关联地被存储,并且改变与航空公司实体2相关联的航班的任务能够与第二对应参数相关联地被存储。作为另一示例,餐厅实体1能够与第一对应参数相关联地被存储,并且餐厅实体2能够与第二对应参数相关联地被存储。
63.在框260,系统为(多个)候选参数确定在执行至少一个任务时要被使用的(多个)对应值。在一些实施式中,能够基于存储在一个或多个数据库(例如,图1的(多个)用户简档数据库153b)中的给定用户的(多个)用户简档来确定候选参数的(多个)值。(多个)用户简档能够包括,例如,给定用户的链接账户、给定用户的电子邮件账户、给定用户的相册、给定用户的(多个)社交媒体简档、给定用户的联系人、用户偏好和/或其他信息。例如,对于美发厅预订任务,系统能够基于联系人应用来确定给定用户的名称参数和电话号码参数,并且能够基于与特定发型师的先前通信(例如,电子邮件消息、文本或sms消息、电话呼叫和/或其他通信)来确定美发厅处的优选发型师。在一些附加和/或替代实施方式中,候选参数的(多个)值可以另外或替代地基于响应于在客户端设备处视觉地和/或听觉地渲染的并且请求参数的信息的(多个)提示的另外用户输入来确定。在那些实施方式的一些版本中,系统能够仅针对系统基于(多个)用户简档不能确定的(多个)候选参数的对应值生成(多个)提示。例如,对于上述美发厅预订任务,系统已经知道名称参数、电话号码参数和电话号码参数的(多个)值,因此系统可以仅生成请求日期/时间参数的值的提示。如本文中所描述的(例如,参考图4b),系统能够为客户端设备的给定用户提供在发起辅助呼叫之前修改(多个)候选参数的(多个)值的机会。
64.在框262,系统使用与给定用户相关联的客户端设备代表给定用户发起与实体的辅助呼叫,以利用(多个)候选参数的(多个)值来执行至少一个任务。该系统能够处理在客户端设备处从附加计算设备接收到的音频数据,以确定由附加用户正在请求的(多个)参数的(多个)值。此外,系统能够生成合成语音音频,该合成语音音频被传送到与在框254处标识的实体相关联的附加用户的附加客户端设备,并且(例如,前摄地或响应于由附加用户的请求)至少包括(多个)参数的(多个)值。在一些实施方式中,系统能够参与与附加用户的对话,并且能够生成包括(多个)特定值的合成语音音频,该(多个)特定值被包括在由附加用户请求的信息中。例如,对于餐厅预订任务,附加用户能够请求日期/时间参数的信息,并且系统能够响应于确定来自附加用户的请求是日期/时间参数的信息,生成包括日期/时间值的合成语音音频数据。此外,该系统能够使合成语音音频数据被传送到附加用户的附加客户端设备,并且使包括在合成语音音频数据中的合成语音在附加客户端设备处被可听地渲
染。附加用户能够请求(多个)各种参数的另外信息,并且系统能够向附加用户提供(多个)值以执行餐厅预订任务。
65.在一些实施方式中,方法200能够包括可选子框262a。如果包括,则在可选子框262a,系统从与实体相关联的附加用户获得同意,以监视辅助呼叫。例如,系统能够在发起辅助呼叫时并且在执行(多个)任务之前获得同意。如果系统从相关联的附加用户获得同意,则系统能够执行(多个)任务。然而,如果系统没有从附加用户获得同意,则系统能够使客户端设备向给定用户渲染指示需要给定用户执行任务和/或结束呼叫的通知,并且向给定用户渲染指示不执行(多个)任务的通知。
66.在框264,系统确定在辅助呼叫期间与实体相关联的附加用户是否请求与(多个)附加参数相关联的任何信息。如上所述,系统能够处理在客户端设备处从附加计算设备接收到的音频数据,以确定附加用户所请求的(多个)值。此外,系统能够确定被请求的值是否用于系统先前尚未解析的(多个)附加参数,使得由附加用户请求的(多个)值是系统当前未知的。例如,如果系统先前没有确定用于餐厅预订任务的座位参数的类型的值,则座位参数的类型能够被认为是具有系统当前未知的值的附加参数。如果在框264的迭代,系统确定在辅助呼叫期间与实体相关联的附加用户没有请求与(多个)附加参数相关联的信息,则系统可以进行到框272,这在下面更详细地讨论。
67.如果在包括可选框266的框264的迭代,系统确定(多个)附加参数的(多个)值在辅助呼叫期间被包括在来自与实体相关联的附加用户的请求中,则系统可以前进到可选框266。在包括可选框266的实施方式中,系统可以直接从框264进行到框266,这将在下面更详细地讨论。
68.如果包括,则在可选框266,系统确定与给定用户相关联的客户端设备的状态。客户端设备的状态能够基于例如在客户端设备的前台中操作的(多个)软件应用、在客户端设备的后台中操作的(多个)软件应用、客户端设备110是否处于锁定状态、客户端设备是否处于睡眠状态、客户端设备110是否处于关闭状态、来自客户端设备的(多个)传感器的传感器数据和/或其他数据。在一些实施方式中,系统在框266另外或替代地确定正在进行的呼叫的状态。
69.在框268,系统使与给定用户相关联的客户端设备渲染标识该(多个)附加参数的通知。该通知能够进一步请求包括在信息中的(多个)附加参数的(多个)值。在包括可选框268的实施方式中,由客户端设备渲染的通知的类型和/或用于渲染的一个或多个属性能够基于在可选框268确定的客户端设备的状态和/或正在进行的呼叫的状态。例如,如果客户端设备的状态指示显示辅助呼叫的转录的软件应用(例如,自动化助理应用、呼叫应用、辅助呼叫应用和/或其它软件应用)正在客户端设备的前台中操作,则通知的类型可以是横幅通知、弹出通知和/或其它类型的视觉通知。作为另一示例,如果客户端设备的状态指示客户端设备处于睡眠或锁定状态,则通知的类型可以是经由(多个)扬声器的可听指示和/或经由(多个)扬声器或客户端设备的其他硬件组件的振动。
70.在框270,系统确定在阈值持续时间内在与给定用户相关联的客户端设备处是否接收到任何另外用户输入。该另外用户输入能够是例如响应于请求信息的通知的另外口头输入、另外键入输入和/或另外触摸输入。在一些实施方式中,阈值持续时间能够在请求信息的通知在给定用户的客户端设备处被渲染时开始。在其他实施方式中,阈值持续时间能
够在由附加用户请求最后值时开始。如果在框270的迭代,系统确定在阈值持续时间内接收到另外用户输入,则系统可以进行到框272。能够响应于指示由附加用户正在请求的信息的通知而接收另外用户输入,并且该另外用户输入能够包括响应于该请求的(多个)值的指示。
71.在框272处,系统基于(多个)候选参数和/或附加参数的(多个)值来完成至少一个任务。在系统确定没有(多个)附加值被包括在在辅助呼叫期间在框264来自附加用户的对信息的请求中的实施方式中,系统能够使用在框260确定的(多个)候选参数的(多个)相应值来完成至少一个任务。在这些实施方式中,系统能够完成辅助呼叫而不必涉及客户端设备的给定用户。在系统确定与(多个)附加参数相关联的信息在辅助呼叫期间在框264由附加用户请求的实施方式中,系统能够使用在框260确定的(多个)候选参数的(多个)相应值和在框270接收到的(多个)附加参数的(多个)值来完成至少一个任务。在这些实施方式中,系统能够在客户端设备的给定用户的最少参与的情况下完成辅助呼叫。从框272,系统可以进行到框276,其将在下面更详细地讨论。
72.值得注意的是,尽管系统可以确定附加用户在框264正在请求系统当前未知的信息,但是系统能够继续执行至少一个任务,而没有(多个)附加参数的(多个)值。例如,系统能够使合成语音作为辅助呼叫的一部分被提供,从而使其在附加用户的附加客户端设备处被渲染。此外,合成语音能够指示系统当前不知道(多个)附加参数的(多个)值,但是系统能够请求与来自用户的信息相关联的(多个)值,并且在系统从客户端设备的给定用户请求(多个)附加参数的(多个)值的同时提供在框260确定的(多个)候选参数的(多个)其他值。以这种方式,系统能够继续与附加用户的对话以执行任务。此外,如果响应于来自附加用户的对信息的请求而包括(多个)值的另外用户输入,则系统能够提供(多个)值作为对提供(多个)已知值中的一个的后续操作或者作为当对话中存在中断时的独立值。以这种方式,系统能够以更快和更有效的方式代表客户端设备的给定用户成功地执行任务,因为对话没有被暂停以等待(多个)附加参数的(多个)值。通过以更快和更有效的方式执行任务,由于通过使用本文中公开的技术能够减少会话的长度,所以能够节省网络和计算资源两者。
73.如果在框270的迭代,系统确定在阈值持续时间内没有接收到另外用户输入,则系统可以进行到框274。在框274,系统结束该至少一个任务的执行。此外,系统可以结束与实体的正在进行的呼叫。通过结束正在进行的呼叫,与等待另外用户输入超过阈值持续时间相反,即使任务不能被完全执行,对话也能够更快地结束以实现上述技术优点。系统可以从框274进行到框276。
74.在框276,系统经由客户端设备渲染指示执行至少一个任务的结果的通知。在系统从框272完成任务的执行的实施方式中,通知能够包括代表客户端设备的给定用户完成任务的指示,并且能够包括与任务的完成相关的确认信息(例如,日期/时间信息、与任务相关联的货币成本、确认号码、与实体相关联的信息和/或其他确认信息)。在系统从框274结束任务的执行的实施方式中,通知能够包括未完成任务的指示,并且能够包括与任务的结束相关的任务信息(例如,所需(多个)特定参数的(多个)值、实体不能容纳在框260处确定的(多个)对应值和/或在框270处接收到的(多个)值、实体被关闭、和/或其他任务信息)。在各种实施方式中,通知能够包括(多个)可选择图形元素,其当被选择时能够使系统基于任务的结果创建日历条目,基于任务的结果创建提醒,发送包括任务的结果的消息(例如,文本、
sms、电子邮件和/或其他消息),和/或响应于对其他附加任务的用户选择而发送其他附加任务。
75.图3描绘了图示根据各种实施方式的在正在进行的非辅助呼叫期间的辅助输出的示例方法300的流程图。为了方便,参考执行操作的系统来描述方法300的操作。方法300的该系统包括(多个)计算设备(例如,图1的客户端设备110、图4a-4d的客户端设备410、图5a-5c的客户端设备510、图6的计算设备610、一个或多个服务器和/或其他计算设备)的一个或多个处理器和/或(多个)其他组件。此外,虽然以特定顺序示出了方法300的操作,但是这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
76.在框352,系统在客户端设备处检测与客户端设备相关联的给定用户和与附加客户端设备相关联的附加用户之间的正在进行的呼叫。该系统还能够可选地标识与附加用户相关联的实体。系统能够基于与正在进行的呼叫相关联的元数据来标识实体。在一些实施方式中,方法300能够包括可选子框352a。如果包括,则在可选子块352a,系统从与实体相关联的附加用户获得对监视正在进行的呼叫的同意。系统能够以与关于图2的可选子框260a所描述的相同方式从附加用户获得同意。
77.在框354,系统处理与正在进行的呼叫相对应的音频数据流以生成识别文本。与正在进行的呼叫相对应的音频数据流能够至少包括被传送到给定用户的客户端设备的附加用户的附加口头输入。与正在进行的呼叫相对应的音频数据流还能够包括给定用户的口头输入。此外,系统能够使用(多个)语音识别模型(例如,图1的(多个)语音识别模型120a)来处理音频数据流,以生成识别文本。应当理解,假设附加用户同意监视呼叫,则系统能够连续处理与正在进行的呼叫相对应的音频数据流。
78.在框356,系统基于识别文本来标识要由给定用户在正在进行的呼叫期间执行的至少一个任务的(多个)参数。系统能够使用(多个)nlu模型(例如,图1的(多个)nlu模型130a)来处理来自框354的识别文本,以确定包括在音频数据流中的(多个)意图。在一些实施方式中,系统能够确定附加用户的附加用户输入包括对至少一个任务的(多个)参数的信息的请求。例如,如果来自附加用户的附加口头输入“do you have a quality assurance case number for this matter(您有这个东西的质量保证案例编号吗)”,则系统能够标识质量保证案例编号参数,并且能够确定用户输入包括对用于质量保证案例编号参数的值的请求。在该示例中,任务能够是与航空公司实体相关联的任何任务和/或提供质量保证案例编号的特定任务,而与航空公司实体相关联的(多个)其他参数无关。
79.在框358,系统为(多个)参数确定在执行至少一个任务时要被使用的(多个)对应值。能够在框356标识至少一个任务的(多个)参数之后确定(多个)对应值。在一些实施方式中,能够响应于基于与客户端设备的给定用户相关联的(多个)用户简档标识至少一个任务的(多个)参数而自动地确定(多个)对应值。例如,响应于标识质量保证案例编号参数,系统能够在来自给定用户的许可(例如,在先许可)的情况下访问与给定用户相关联的电子邮件账户,并且搜索包括质量保证案例编号参数的对应值的电子邮件。此外,在标识在正在进行的呼叫期间与给定用户接洽的实体的实施方式中,系统能够将搜索限制为仅与所标识的实体相关联的电子邮件。在其他实施方式中,与被自动地标识相反,能够响应于接收到包括请求(多个)参数的(多个)对应值的信息的用户输入来确定(多个)对应值。能够以与上述相同或类似的方式响应于接收到用户输入来确定(多个)对应值。
80.在一些实施方式中,方法300可以包括可选框360、362及/或364。如果包括,则在可选块360,系统能够确定在与给定用户相关联的客户端设备处是否接收到激活辅助呼叫的任何用户输入。系统能够以本文中描述的任何方式基于在客户端设备的给定用户和附加客户端设备的附加用户之间的正在进行的呼叫期间调用辅助呼叫的口头输入、键入输入和/或触摸输入来确定用户输入是否激活辅助呼叫。如果在可选框360的迭代,系统确定接收到用于激活辅助呼叫的用户输入,则系统能够进到到框366,这将在下面更详细地讨论。如果在可选框360的迭代,系统确定没有接收到用于激活辅助呼叫的用户输入,则系统能够进行到可选框362。
81.如果包括,则在可选框362,系统能够经由与给定用户相关联的客户端设备渲染指示辅助呼叫能够执行至少一个任务的通知。该通知能够包括,例如,附加用户正在请求针对在框356标识的(多个)参数的在框358确定的(多个)对应值的信息的指示,并且还能够包括系统能够代表给定用户向附加用户提供(多个)对应值的指示。能够视觉地和/或听觉地渲染通知。在可听地渲染通知的实施方式中,可以仅在客户端设备可听地渲染通知,使得客户端设备的附加用户不感知该通知(即,在呼叫之外)。可选地,为了减轻附加用户将感知到通知的机会,能够在通知的可听渲染期间暂时静音正在进行的呼叫,或者利用声学回声消除或其他滤波来过滤通知并且防止其作为正在进行的呼叫的一部分被提供。在可听地渲染通知的其他实施方式中,可以在给定用户的客户端设备和附加用户的附加客户端设备两者处可听地渲染通知,使得通知中断给定用户与附加用户之间的正在进行的呼叫。
82.如果包括,则在可选框364,系统能够确定在与给定用户相关联的客户端设备是否接收到用于激活辅助呼叫的任何用户输入。在框364接收到的用户输入能够响应于指示辅助呼叫能够执行至少一个任务的通知的渲染。系统能够以本文中描述的任何方式基于在客户端设备的给定用户和附加客户端设备的附加用户之间的正在进行的呼叫期间调用辅助呼叫的口头输入、键入输入和/或触摸输入来确定用户输入是否激活辅助呼叫。如果在可选框360的迭代,系统确定没有接收到用于激活辅助呼叫的用户输入,则系统能够返回到框354以处理与正在进行的呼叫相对应的另外音频数据。例如,系统可以确定客户端设备的给定用户提供了包括在框362渲染在通知中的(多个)对应值的口头输入,并且系统能够返回到框354以继续处理音频数据流以监视由附加用户正在请求的任何(多个)附加参数。如果在可选框364的迭代,系统确定接收到用于激活辅助呼叫的用户输入,则系统能够进行到框366。
83.在框366,系统使(多个)值在附加客户端设备被渲染以用于呈现给附加用户。该系统能够响应于接收到用于激活辅助呼叫以向附加用户提供对应值的用户输入使包括(多个)对应值的合成语音在附加用户的附加客户端设备和/或在给定用户的客户端设备被渲染。
84.在包括可选框360、362和/或364的实施方式中,系统能够响应于接收到调用辅助呼叫的显式用户输入而使(多个)对应值在附加用户的附加客户端设备和/或在给定用户的客户端设备被渲染。在那些实施方式的一些版本中,激活辅助呼叫并且中断正在进行的呼叫的用户输入能够是前摄的。换句话说,如果系统在框360接收到用户输入,则即使系统尚未渲染任何指示系统能够执行至少一个任务的通知(例如,如参考图5a所述),也能够激活辅助呼叫以提供用于任务的(多个)对应值。在那些实施方式的其他版本中,激活辅助呼叫
的用户输入能够是反应性的。换句话说,如果系统在框364接收到用户输入,则在框362渲染指示系统能够执行至少一个任务(例如,如参考图5b所述)的通知之后,能够激活辅助呼叫以为任务提供(多个)对应值。在不包括可选框360、362和/或364的实施方式中,系统能够直接从框258进行到框366。在那些实施方式的一些版本中,系统能够响应于在框358确定(多个)对应值(例如,如关于图5c所述)而自动地中断正在进行的呼叫(即,不接收对主动辅助呼叫的任何明确的用户输入)。
85.在框368,系统确定在与给定用户相关联的客户端设备处是否接收到用于继续辅助呼叫的任何用户输入。如果在框368的迭代,系统确定没有接收到继续辅助呼叫的用户输入,则系统能够返回到框354以处理与正在进行的呼叫相对应的另外音频数据。如果在框368的迭代,系统确定接收到继续辅助呼叫的用户输入,则系统能够进行到图2的框264,并且确定在辅助呼叫期间是否需要(多个)附加参数的任何(多个)值。以这种方式,系统能够在电话呼叫期间由给定用户执行(多个)任务期间提供(多个)参数的(多个)对应值。通过自动地或响应于如上所述的明确的用户输入来提供(多个)对应值,系统从客户端设备的给定用户接收较少的输入,因为用户不需要导航到具有不同用户界面的各种应用来确定(多个)对应值,由此节省了给定客户端设备处的计算资源。此外,由于用户不需要导航到这些各种应用,因此该系统通过更快地结束正在进行的呼叫来节省计算和网络资源。作为一个非限制性示例,通过使用本文中描述的技术,给定用户不需要暂停对话或将对话挂起,同时用户在电子邮件应用、航空公司应用和/或其他应用中搜索(多个)对应值。
86.现在参考图4a-4d,描述了关于执行辅助呼叫的用户界面的各种非限制性示例。图4a-4d中各自描述了客户端设备410具有显示客户端设备410的给定用户的交互示例的图形用户界面480。交互能够包括,例如,与一个或多个软件应用(例如,web浏览器应用、自动化助理应用、联系人应用、电子邮件应用、日历应用和/或客户端设备410可访问的其他基于软件的应用)的交互,以及与附加用户(例如,与附加客户端设备相关联的附加人类参与者、与附加用户的附加客户端设备相关联的附加自动化助理和/或其他附加用户)的交互。与客户端设备410相关联的自动化助理(例如,图1的自动化助理115)的一个或多个方面可以被本地地实现在客户端设备410上和/或在以分布式方式(例如,经由图1的(多个)网络190)与客户端设备410进行网络通信的其他客户端设备上。为了简单起见,图4a-4d的操作在此被描述为由自动化助理执行。尽管图4a-4d的客户端设备410被描绘为移动电话,但是应当理解,这并不意味着限制。客户端设备410能够是例如独立助理设备(例如,具有(多个)扬声器和/或显示器)、膝上型计算机、台式计算机和/或能够进行电话呼叫的任何其他客户端设备。
87.图4a-4d的图形用户界面480进一步包括用户可以选择以经由虚拟键盘或其他触摸和/或键入输入生成用户输入的文本回复界面元素484,以及用户可以选择以经由客户端设备410的(多个)麦克风生成用户输入的语音回复界面元素485。在一些实施方式中,用户可以经由(多个)麦克风生成用户输入,而不选择语音回复界面元素485。例如,可以发生对经由(多个)麦克风的可听用户输入的主动监视,以避免用户选择语音回复界面元素485的需要。在那些实施方式中的一些和/或在其他实施方式中,可以省略语音回复界面元素485。此外,在一些实施方式中,文本回复界面元素484可以另外和/或替代地被省略(例如,用户可以仅提供可听用户输入)。图4a-4d的图形用户界面480还包括系统界面元素481、482、483,其可以由用户交互以使计算设备410执行一个或多个动作。
88.在本文中描述的各种实施方式中,能够接收用户输入以使用自动化助理发起与实体的电话呼叫(例如,辅助呼叫)。用户输入能够是口头输入、触摸输入和/或键入输入,其包括发起辅助呼叫的指示。此外,自动化助理能够代表客户端设备410的给定用户执行关于实体的(多个)任务。如图4a所示,用户界面480包括来自在客户端设备410可访问的浏览器应用的针对餐厅实体的搜索结果(例如,如由“www.exampleuril0.com/”的url 411指示)。此外,搜索结果包括“假想咖啡馆”的第一搜索结果420和“示例咖啡馆”的第二搜索结果430。
89.在一些实施方式中,搜索结果420和/或430能够与各种可选择图形元素相关联,当这些可选择图形元素被选择时,使客户端设备410执行对应动作。例如,当选择与搜索结果420和/或430中的给定的一个相关联的呼叫图形元素421和/或431时,用户输入能够指示应当执行对与搜索结果420和/或430相关联的餐厅实体的电话呼叫动作。作为另一示例,当选择与搜索结果420和/或430中的给定的一个相关联的方向图形元素422和/或432时,用户输入能够指示应当执行到与搜索结果420和/或430相关联的餐厅实体的导航动作。作为又一示例,当选择与搜索结果420和/或430中的给定的一个相关联的菜单图形元素423和/或433时,用户输入能够指示应当执行用于显示与搜索结果420和/或430相关联的餐厅实体的菜单的基于浏览器的动作。尽管在图4a中从浏览器应用发起辅助呼叫,但是应当理解,这是为了示例的目的,而不意味着限制。例如,能够从在客户端设备410可访问的各种软件应用(例如,联系人应用、电子邮件应用、文本或者sms消息收发应用和/或其它软件应用)发起辅助呼叫,并且如果使用口头输入从客户端设备410的主屏幕、从客户端设备410的锁定屏幕和/或客户端设备410的其它状态发起辅助呼叫。
90.为了示例的目的,假设在客户端设备410检测到用户输入以利用“示例咖啡馆”的第二搜索结果430发起电话呼叫。用户输入能够是,例如,“呼叫示例咖啡馆”的口头输入或被引导到呼叫图形元素431的触摸输入。在一些实施方式中,能够响应于接收到利用“示例咖啡馆”发起电话呼叫的用户输入在客户端设备410渲染呼叫细节界面470。在那些实施方式的一些版本中,呼叫细节界面470能够在客户端设备410处被渲染为用户界面480的一部分。在那些实施方式的一些其他版本中,呼叫细节界面470能够是与覆盖用户界面的用户界面480分开的界面,并且能够包括呼叫细节界面元素486,其允许用户扩展呼叫细节界面470以显示附加呼叫细节(例如,通过在呼叫细节界面元素486上向上滑动)和/或消除呼叫细节界面470(例如,通过在呼叫细节界面元素586上向下滑动)。尽管呼叫细节界面470被描绘为在用户界面480的底部,但是应当理解,这是为了示例的目的而不是意味着限制。例如,呼叫细节界面470能够被渲染在用户界面480的顶部、用户界面480的侧面、或者与用户界面480完全分开的界面。
91.在各种实施方式中,呼叫细节界面470能够包括多个图形元素。在一些实施方式中,图形元素能够是可选择的,使得当图形元素中的给定的一个被选择时,客户端设备410能够执行对应动作。如图4a中所示,呼叫细节界面470包括“assisted call(辅助呼叫)”的第一图形元素471、“regular call(常规呼叫)”的第二图形元素472、以及“保存联系人示例

示例咖啡馆
’”
的第三图形元素473。此外,第一图形元素471能够在被选择时向自动化助理提供期望使用自动化助理发起辅助呼叫的指示;第二图形元素472能够在被选择时使自动化助理发起呼叫而不使用辅助呼叫;并且第三图形元素473在被选择时能够使自动化助理创建与示例咖啡馆相关联的联系人。值得注意的是,在那些实施方式的一些版本中,图形元
素能够包括子元素以提供要被执行的任务的指示。例如,“assisted call”的第一图形元素471能够包括与在示例咖啡馆进行餐厅预订的任务相关联的“make reservation(进行预订)”的第一子元素471a、与修改在示例咖啡馆餐厅的预订的任务相关联的“modify reservation(修改预订)”的第二子元素471b、以及与取消在示例咖啡馆餐厅的预订的任务相关联的“cancel reservation(取消预订)”的第三子元素471c。
92.为了示例的目的,假设在客户端设备410处检测到用户输入以发起与示例咖啡馆的辅助呼叫以在示例咖啡馆进行餐厅预订。用户输入能够是,例如,“call example caf
é
to make a restaurant reservation”的口头输入或被引导到第一子元素471a的触摸输入。响应于检测到用户输入,自动化助理能够确定“make a restaurant reservation at example caf
é
(在示例咖啡厅进行餐厅预订)”的任务,并且能够标识与所标识的任务相关联的(多个)候选参数,如本文中所描述的(例如,相对于图1的(多个)参数引擎153)。在一些实施方式中,并且如图4b中所示,自动化助理能够确定(多个)候选参数的(多个)值。值得注意的是,在从图4a到图4b的过程中,呼叫细节界面470能够被更新以包括所标识的(多个)候选参数。在那些实施方式的一些版本中,自动化助理能够基于与客户端设备410的给定用户相关联的(多个)用户简档来确定候选参数的(多个)值。例如,自动化助理能够确定名称参数474的值474a(例如,jane doe)和电话号码参数475的值475a(例如,(502)123-4567)。尽管本文中关于由自动化助理标识的(多个)特定候选参数来描述图4b,但是应当理解,这是出于示例的目的。
93.在那些实施方式的一些版本中,自动化助理能够参与与客户端设备410的给定用户的(例如,可听和/或视觉的)对话以请求不是基于客户端设备410的给定用户的(多个)用户简档标识的(多个)候选参数的(多个)对应值。在那些实施方式的一些另外版本中,自动化助理可以仅请求被认为是如本文中所描述的(例如,关于图1的参数引擎153)的(多个)所需参数的(多个)候选参数的(多个)值。例如,对于进行餐厅预订的任务,自动化助理能够生成“what day and time would you like to make your reservation at example caf
é
(您希望哪天和什么时间在示例咖啡馆进行您的预订)”的提示452b1,并且接收“march 1st at 7:00pm with booth seating(在3月1日7:00pm卡座座位)”的(例如,键入或口头的)用户输入454b1。因此,呼叫细节界面470能够被更新为包括日期/时间参数476的值476a(例如,2020年3月1日的7:00pm)。值得注意的是,用户输入454b1对于在提示452b1中未请求的座位参数478的类型还包括“booth seating(卡座座位)”的值478a。即使自动化助理在提示452b1中未请求值478a,自动化助理也能够确定值478a对应于座位参数478的类型,其能够被认为是如本文中所描述的可选参数(例如,关于图1的(多个)参数引擎153)。此外,自动化助理能够生成针对附加参数(例如,人数参数477)的附加提示(例如,提示452b2)以确定附加参数的对应值(例如,具有五的值的477a)。以该方式,自动化助理能够在发起辅助呼叫之前确定在代表客户端设备410的给定用户执行任务时要被使用的(多个)候选参数的(多个)值。
94.此外,在各种实施方式中,当确定(多个)候选参数的(多个)值时,并且如图4b所示,呼叫细节界面470能够包括各种图形元素。例如,呼叫细节界面470能够包括编辑图形元素441b,其在被选择时允许用户在发起辅助呼叫之前修改值474a-478a,取消图形元素442b,其在被选择时结束辅助呼叫并且用户界面480能够可选地将用户界面480返回到在检
测到用于发起辅助呼叫的用户输入之前的状态(例如,图4a的用户界面480),以及呼叫界面元素443b,其在被选择时允许用户发起常规呼叫而没有自动化助理的帮助的情况下(例如,类似于对图4a的图形元素472的选择)。
95.在确定(多个)候选参数474-478的(多个)对应值474a-478a之后,自动化助理能够代表客户端设备410的给定用户发起辅助呼叫以关于实体执行任务。自动化助理能够使用在客户端设备410处可访问的呼叫应用来发起辅助呼叫。在各种实施方式中,并且如图4c中所示,响应于由自动化助理发起呼叫,呼叫细节界面470能够被更新以包括各种图形元素。例如,呼叫细节界面470能够包括结束呼叫图形元素441c,其当被选择时使自动化助理在发起辅助呼叫之后结束辅助呼叫,加入呼叫图形元素442c,其当被选择时允许客户端设备410的给定用户接管来自自动化助理的任务的呼叫和/或执行,以及扬声器界面元素443c,其当被选择时使客户端设备410可听地渲染附加用户与自动化助理之间的对话。这些图形元素442c、443c和444c能够在辅助呼叫的整个持续时间内被选择。
96.此外,在各种实施方式中,自动化助理能够在发起辅助呼叫之后并且在执行任务之前从客户端设备的附加用户获得同意。如图4c所示,自动化助理能够使合成语音452c1被渲染在与示例咖啡馆代表相关联的附加客户端设备,该附加客户端设备请求示例咖啡馆代表提供用于与自动化助理交互的同意。自动化助理能够处理对应于来自示例咖啡馆代表的附加口头输入的音频数据456c1以确定示例咖啡馆代表提供了同意(例如,音频数据456c1中的“是”)。此外,自动化助理能够响应于确定音频数据456c1请求用于日期/时间参数476的值476a的信息而使包括日期/时间参数476的值476a的另外合成语音456c2在示例咖啡馆代表的附加客户端设备被渲染。以该方式,自动化助理能够通过提供包括响应于来自示例咖啡馆代表的对信息的请求的(多个)值的合成语音来执行在示例咖啡馆进行餐厅预订的任务。
97.在一些实施方式中,自动化助理能够处理对应于来自示例咖啡馆代表的附加口头输入的音频数据,并且能够确定附加口头输入正在请求与自动化助理当前未知的参数相关联的(多个)附加值的信息。如图4c所示,音频数据456c2捕获附加口头输入,其请求自动化助理当前未知的儿童参数的信息。响应于确定来自示例咖啡馆代表的附加口头输入正在请求自动化助理当前未知的信息,自动化助理能够使在附加客户端设备处渲染指示所请求的信息当前未知的又一合成语音。尽管自动化助理当前可能不知道正在被请求的信息,但是自动化助理能够利用自动化助理当前知道的(多个)其他值来继续执行任务。例如,自动化助理能够响应于确定音频数据456c2请求与自动化助理当前未知的(多个)参数相关联的(多个)附加值的信息而导致“i’m not sure,i’ll have to ask jane doe and get back with you can we continue making the reservation until i hear back(我不确定,我不得不询问jane doe并且再联系您,我们是否可以直到收到我的回复再继续进行预定)?)的又一合成语音454c3。
98.在那些实施方式的一些版本中,当自动化助理确定附加用户的音频数据包括对信息的请求时,自动化助理能够使通知在客户端设备410被渲染,该通知指示附加用户正在请求与自动化助理当前未知的参数相关联的信息。在那些实施方式的一些另外版本中,通知能够进一步包括建议值作为响应于对信息的请求的(多个)推荐。(多个)推荐能够是可选择的,使得在选择推荐中的给定推荐时,自动化助理能够利用推荐中的给定推荐中包括的(多
个)值作为响应于附加用户的请求的值。例如,如图4d所示,自动化助理能够使通知479在呼叫细节界面470中被可视地渲染。通知479包括“example caf
é
want to know if any children will be joining the reservation(示例咖啡馆想知道孩子是否会加入预订)”的指示,并且还包括响应于附加用户的请求而被提供作为(多个)推荐值的“是”的第一建议479a和“否”的第二建议479b。如下文更详细地描述,各种其他类型的通知能够在客户端设备410被渲染,并且当系统确定音频数据包括对自动化助理当前未知的信息的请求时,通知的类型能够基于客户端设备410的状态。
99.如上所述,即使自动化助理确定附加用户正在请求自动化助理当前未知的信息,自动化助理也能够利用自动化助理当前已知的(多个)其他值来继续执行任务。在响应于通知479从客户端设备410的给定用户接收另外用户输入之后,能够稍后在对话中提供(多个)附加值。例如,如图4d中所描绘的,响应于渲染指示儿童参数的值为自动化助理当前未知的又一合成语音452c3,但是自动化助理知道(多个)其它值并且想要使用那些(多个)其它值继续执行任务。此外,假设接收到音频数据456d1“sure,what type of seating(当然,什么类型的座位)?”(例如,对关于座位参数478的类型的“booth(卡座)”的值478a的信息的请求)。进一步假设客户端设备410的给定用户提供被引导到第二建议479b的口头输入和/或触摸输入以指示在音频数据456d1正在由自动化助理处理时没有儿童将加入在示例咖啡的餐厅预订。在该示例中,自动化助理能够使包括座位参数478的类型的“booth”的值478a并且包括该值(例如,基于第二建议479b的用户选择的“否”)的合成语音452d1在附加用户的附加客户端设备被可听地渲染。自动化助理能够处理“perfect,the reservation is complete(完美,预订完成)”的另外音频数据456d2以确定餐厅预约任务被完成,并且能够导致“i’ll let jane doe know,have a nice day(我会让jane doe知道,祝您愉快)!”的另外合成音频数据456d2并且能够结束该呼叫。
100.值得注意的是,在一些实施方式中,自动化助理能够在响应于来自附加用户的对其它信息的请求的合成语音中包括(即,先前在由附加用户请求时未知但现在基于另外用户界面输入已知的)(多个)附加值。换句话说,即使来自附加用户的前一请求不是对信息的请求,自动化助理也能够将附加值包括在合成语音中。例如,如图4d所描绘的,合成语音452d1包括响应于对与音频数据456d1中包括的座位参数478的类型相关联的信息的紧接的前一请求的“booth”值478a,并且该合成语音还包括响应于对与音频数据456c2中包括的儿童参数相关联的信息的前一请求的儿童参数的“否”值。以该方式,自动化助理能够在等待包括(多个)附加值的另外用户输入时继续执行任务,并且能够在(多个)附加值以逻辑和对话方式变成自动化助理已知时将该(多个)附加值提供给附加用户。通过在等待另外用户输入的同时继续执行任务,能够以更快且更有效的方式执行任务,因为直到接收到另外用户输入才暂停任务的执行。通过以更快和更有效的方式执行任务,本文中描述的技术能够在使用辅助呼叫执行任务时节省计算和网络资源。
101.在各种实施方式中,并且尽管未描绘,但是自动化助理可以在辅助呼叫期间确定在阈值持续时间内没有接收到来自与实体相关联的附加用户的另外音频数据。在那些实施方式的一些版本中,自动化助理能够渲染基于尚未被包括在来自附加用户的对信息的请求中的一个或多个对应值的又一合成语音。例如,如果自动化助理确定附加用户没有说任何东西达十秒并且自动化助理知道附加用户尚未请求的餐厅预订任务的宴会人数宴会的值,
则助理能够渲染“in case you wanted to know,five people will joining the reservation(如果您想知道,五个人将加入预订)”的合成语音。在那些实施方式的一些附加和/或替代版本中,自动化助理能够渲染基于尚未被包括在来自附加用户的对信息的请求中的一个或多个参数的又一合成语音。例如,如果自动化助理确定附加用户没有说任何东西达十秒并且自动化助理知道附加用户尚未请求的餐厅预订任务的宴会人数宴会的值,则助理能够渲染“do you want to know how many people will be joining the reservation(您想知道有多少人将加入预订吗)?”的合成语音。
102.此外,在各种实施方式中,自动化助理能够使各种对话的转录在客户端设备410的用户界面480被视觉地渲染。例如,能够在客户端设备410的家中在各种软件应用(例如,助理应用、呼叫应用和/或其它应用)显示转录。在一些实施方式中,转录能够包括自动化助理与客户端设备410的给定用户之间的对话(例如,如图4b中所描绘)。在一些附加和/或替代实施方式中,转录能够包括自动化助理与附加用户之间的对话(例如,如图4c和4d中所描绘的)。
103.尽管图4b-4d中的每一个被描绘为包括对话的转录,但应当注意,这是为了示例的目的并且不意味着限制。应当理解,能够在客户端设备410处于睡眠状态、锁定状态时、在(多个)其他软件应用正在前台操作时和/或在其他状态中执行上述辅助呼叫。此外,在自动化助理使(多个)通知在客户端设备410被渲染的实施方式中,在客户端设备渲染的(多个)通知的类型基于客户端设备410的状态,如本文中所描述的。此外,尽管图4a-4d在本文中关于进行餐厅预订的任务来描述,但是应当理解,这也不意味着限制,并且本文中描述的技术能够用于能够关于多个不同实体执行的多个不同任务。
104.此外,在各种实施方式中,自动化助理能够在辅助呼叫开始时和/或在辅助呼叫期间由附加用户置于挂起。在那些实施方式的一些版本中,当自动化助理不参与与附加人类参与者的对话时,自动化助理可以被认为处于挂起。例如,如果自动化助理由与实体相关联的保持系统、与实体相关联的交互式语音响应(ivr)系统和/或与实体相关联的其他系统占用,则自动化助理能够被认为处于挂起。此外,当辅助呼叫被置于挂起时和/或当辅助呼叫在被置于挂起之后被恢复时,自动化助理能够使通知在客户端设备410被渲染。该通知能够指示,例如,辅助呼叫被置于挂起、辅助呼叫在被置于挂起之后已经恢复、用户在被置于挂起之后被恢复时被请求加入辅助呼叫、和/或与辅助呼叫相关的其它信息。此外,自动化助理能够基于对从附加用户的附加客户端设备传送到给定用户的客户端设备410的音频数据流的处理来确定辅助呼叫在被置于挂起之后已经恢复。
105.在那些实施方式的一些版本中,自动化助理能够确定附加用户已经请求与自动化助理知道的(多个)参数相关联的所有信息。在那些实施方式的一些另外版本中,如果任务的剩余部分需要客户端设备410的给定用户,则自动化助理能够在辅助呼叫被置于挂起之后被恢复时前摄地请求客户端设备410的给定用户加入辅助呼叫。例如,某些任务可能需要客户端设备410的给定用户而不是自动化助理。例如,假设实体是银行,附加用户是银行代表,并且任务是争议借记卡费用。在该示例中,自动化助理最初能够向银行呼叫,提供合成语音和/或模拟按钮按压,诸如包括给定用户的名称的合成语音、包括用户的银行账号的模拟按钮按压、提供呼叫原因的合成语音和/或用于导航通过用于路由与银行相关联的呼叫的自动化系统(例如,ivr系统)的模拟按钮按压。然而,自动化助理可以知道,当辅助呼叫被
转移到银行代表时,将要求给定用户加入辅助呼叫以验证给定用户的身份并且解释有争议的借记卡收费,并且能够使通知当辅助呼叫被转移到银行代表时在用户的客户端设备410被渲染。因此,自动化助理能够处理辅助呼叫的初始部分,并且当银行代表可用于讨论有争议的收费时,请求客户端设备410的给定用户接管辅助呼叫。
106.在那些实施方式的一些其它另外版本中,自动化助理能够前摄地请求客户端设备410的给定用户在辅助呼叫被置于挂起之后被恢复时加入辅助呼叫,因为自动化助理不知道关于餐厅预订的任何另外信息。例如,假设图4b-4d中描绘的辅助呼叫的附加用户在音频数据456d2中将自动化助理置于挂起,而不是指示餐厅预订完成。在该示例中,自动化助理已经提供了自动化助理关于餐厅预订已知的所有信息的值,并且当辅助呼叫被恢复时附加用户请求的任何另外信息将是自动化助理当前未知的信息。因此,自动化助理能够前摄地请求客户端设备410的给定用户在辅助呼叫被恢复时接管该辅助呼叫。
107.在那些实施方式的又一些另外版本中,自动化助理能够保留指示辅助呼叫被置于挂起和/或辅助呼叫在被置于挂起之后已经恢复的通知,一旦辅助呼叫在被置于挂起之后已经恢复,就继续辅助呼叫,并且使该通知连同或代替指示附加用户正在请求与自动化助理当前不知道的(多个)参数相关联的信息的通知(例如,图4d的通知479)在给定用户的客户端设备410被渲染。继续以上示例,不是在辅助呼叫被恢复时前摄地请求客户端设备410的给定用户接管辅助呼叫,而是自动化助理能够处理与附加用户的另外口头输入相对应的另外音频数据,以确定附加用户是否正在请求与自动化助理当前未知的(多个)参数相关联的另外信息。在该示例中,自动化助理能够连同或者代替类似于图4d的通知479的通知提供请求客户端设备410的给定用户接管辅助呼叫的通知,并且其请求另外信息的值。以该方式,自动化助理能够如图4b-4d中所描述的继续辅助呼叫和/或将对辅助呼叫的控制传递给客户端设备410的给定用户。
108.现在参考图5a-5c,描述了关于在正在进行的非辅助呼叫期间提供辅助输出的用户界面的各种非限制性示例。图5a-5c各自描绘了客户端设备510具有显示客户端设备510的给定用户的交互的示例的图形用户界面580。交互能够包括,例如,与一个或多个软件应用(例如,web浏览器应用、自动化助理应用、联系人应用、电子邮件应用、日历应用和/或客户端设备510可访问的其他基于软件的应用)的交互,以及与附加用户(例如,与客户端设备510相关联的自动化助理、与附加客户端设备相关联的附加人类参与者、与附加用户的附加客户端设备相关联的附加自动化助理和/或其他附加用户)的交互。与客户端设备510相关联的自动化助理(例如,图1的自动化助理115)的一个或多个方面可以本地地实现在客户端设备510上和/或被实现在以分布式方式(例如,经由图1的网络190)与客户端设备510进行网络通信的(多个)其他客户端设备上。为了简单,图5a-5c的操作本文中被描述为由自动化助理执行。尽管图5a-5c的客户端设备510被描绘为移动电话,但是应当理解,这并不意味着限制。客户端设备510能够是,例如,独立扬声器、连接到图形用户界面的扬声器、膝上型计算机、台式计算机和/或能够进行电话呼叫的任何其他客户端设备。
109.图5a-5c的图形用户界面580进一步包括用户可以选择以经由虚拟键盘或其他触摸和/或键入输入来生成用户输入的文本回复界面元素584,以及用户可以选择以经由客户端设备510的(多个)麦克风来生成用户输入的语音回复界面元素585。在一些实施方式中,用户可以经由(多个)麦克风生成用户输入而不选择语音回复界面元素585。例如,经由(多
个)麦克风对可听用户输入的主动监视可以发生,以消除用户选择语音回复界面元素585的需要。在那些实施方式中的一些和/或在其他实施方式中,可以省略语音回复界面元素585。此外,在一些实施方式中,文本回复界面元素584可以另外和/或替代地被省略(例如,用户可以仅提供可听用户界面输入)。图5a-5c的图形用户界面580还包括系统界面元素581、582、583,其可以由用户交互以使计算设备510执行一个或多个动作。在一些实施方式中,呼叫细节界面570能够在客户端设备510被渲染,并且呼叫细节界面510能够包括图形元素542,其在被选择时能够使正在进行的呼叫结束,并且还能够包括图形元素543,其在被选择时能够使自动化助理使用辅助呼叫来接管来自客户端设备510的给定用户的呼叫。在那些实施方式的一些版本中,辅助呼叫界面570还能够包括呼叫细节界面元素586,其允许用户扩展呼叫细节界面570以显示附加呼叫细节(例如,通过在呼叫细节界面元素586上向上滑动)和/或撤消呼叫细节界面570(例如,通过在呼叫细节界面元素586上向下滑动)。
110.在各种实施方式中,自动化助理能够中断客户端设备410的给定用户与附加客户端设备的附加用户之间的正在进行的呼叫(即,不是辅助呼叫)。在一些实施方式中,自动化助理能够处理对应于正在进行的呼叫的音频数据以标识与附加用户相关联的实体、在正在进行的呼叫期间要被执行的(多个)任务和/或用于在正在进行的呼叫期间要被执行的(多个)任务的(多个)参数。此外,自动化助理能够确定所标识的(多个)参数的(多个)值。例如,如图5a-5c所描绘,假设在客户端设备510接收到捕获来自附加用户的口头输入“example airlines representative,how may i help you(示例航空公司代表,我能为您提供什么帮助)?”的音频数据552a1、552b1和/或552c1。在该示例中,自动化助理能够处理音频数据552a1、552b1和/或552c1,并且能够基于该处理确定附加用户是示例航空公司代表和/或将示例航空公司标识为与示例航空公司代表相关联的实体。在一些附加和/或替代实施方式中,自动化助理能够另外和/或替代地基于与正在进行的呼叫相关联的元数据来标识实体,如本文中所描述的(例如,关于图1的辅助呼叫引擎150)。在那些实施方式的一些版本中,自动化助理可以不处理与正在进行的呼叫相对应的音频数据流,并且仅基于与正在进行的呼叫相关联的元数据来标识实体,从而消除从正在进行的呼叫的附加用户获得同意的需要。如下所述,自动化助理仍能够代表客户端设备510的给定用户执行(多个)任务,而不处理对应于正在进行的呼叫的音频数据流。
111.进一步假设在客户端设备510检测到捕获来自客户端设备510的给定用户(例如,jane doe)的“hello,i need to change my flight(您好,我需要改变我的航班)”的口头输入的音频数据554a1、554b1和/或554c1,并且将该音频数据传送到附加用户的附加客户端设备。在该示例中,自动化助理能够处理音频数据554a1、554b1和/或552c1,并且能够基于该处理来确定改变航班的任务。在其他示例中,自动化助理能够另外和/或替代地确定与如本文中所描述的实体相关联的(多个)任务(例如,关于图1的辅助呼叫引擎150)。进一步假设在客户端设备510接收到捕获来自附加用户的口头输入“alright,do you have a frequent flier number(好的,您有常用飞行者号码吗)?”的音频数据552a2、552b2和/或552c2。在该示例中,自动化助理能够处理音频数据554a2、554b2和/或552c2,并且能够基于该处理来标识用于改变航班的任务(或者考虑提供常用飞行者号码的任务)的常用飞行者编号参数。在其他示例中,自动化助理可以另外和/或替代地基于与任务和/或实体相关联地存储的(多个)参数来标识(多个)参数,如本文中所描述的(例如,关于图1的辅助呼叫引
擎150)。此外,自动化助理能够确定常用飞行者号码参数的值,并且能够将常用飞行者号码参数的值提供给附加用户。
112.在一些实施方式中,自动化助理能够响应于从客户端设备510的给定用户接收到包括对与参数相关联的信息的请求的用户输入来确定在客户端设备510的给定用户与附加用户之间的正在进行的呼叫期间标识的(多个)参数的(多个)值。自动化助理能够基于与客户端设备510的给定用户相关联的(例如,存储在图1的用户简档数据库153b中的)(多个)用户简档来确定(多个)参数的(多个)值。在那些实施方式的一些版本中,自动化助理能够响应于确定(多个)参数的(多个)值而使(多个)参数的(多个)值在附加用户的附加客户端设备和/或给定用户的客户端设备510被渲染。例如,如图5a所示,假设在客户端设备510处检测到捕获来自客户端设备510的给定用户(例如jane doe)的口头输入“assistant,what’s my frequent flier number(助理,我的常用飞行者号码是多少)?”的音频数据554a2。响应于接收到在音频数据554a2中捕获的口头输入,自动化助理能够确定频繁飞行者参数的值(例如,基于与给定用户相关联的示例航空公司帐户被包括在(多个)用户简档中),并且能够使“jane doe’s example airlines frequent flier number is:0112358(jane doe的示例航空公司的常用飞行者号码是:0112358)”的合成语音556a1在附加用户的附加客户端设备和/或给定用户的客户端设备510被渲染。
113.在那些实施方式的一些附加和/或替代版本中,不是接收到包括在音频数据554a2中的口头输入,自动化助理能够接收对图形元素543的选择以使用辅助呼叫来接管来自客户端设备510的给定用户的呼叫。例如,响应于接收到对图形元素543的选择,自动化助理能够确定常用飞行者参数的值(例如,基于与给定用户相关联的示例航空公司账户被包括在(多个)用户简档中),并且能够使合成语音556a1在附加用户的附加客户端设备和/或给定用户的客户端设备510被渲染。
114.值得注意的是,音频数据554a2包括“what’s my frequent flier number(我的常用飞行者号码是多少)”而不标识与常用飞行者号码相关联的实体。在自动化助理未从附加用户获得同意和/或提供与常用飞行者号码参数相关联的实体的指示的实施方式中,自动化助理能够基于与正在进行的呼叫相关联的元数据来确定“my frequent flier number(我的常用飞行者号码)”引用与示例航空公司相关联的常用飞行者号码参数的值。以该方式,自动化助理仍能够响应于来自客户端设备510的给定用户的请求而提供(多个)值,而不处理与正在进行的呼叫相对应的音频数据流。
115.在其他实施方式中,自动化助理能够前摄地确定在客户端设备510的给定用户与附加用户之间的正在进行的呼叫期间所标识的(多个)参数的(多个)值,而不从客户端设备510的给定用户接收包括对与(多个)参数相关联的信息的请求的任何用户输入。自动化助理能够基于与客户端设备510的给定用户相关联的(例如,存储在图1的(多个)用户简档数据库153b中的)(多个)用户简档来确定(多个)参数的(多个)值。
116.在那些实施方式的一些版本中,自动化助理能够使通知在客户端设备510被渲染,该通知包括辅助呼叫能够执行任务和/或能够向附加用户提供(多个)参数的(多个)值的指示。自动化辅助能够响应于从客户端设备510的给定用户接收到调用辅助语音的用户输入而使包括(多个)值的合成语音在附加用户的附加客户端设备处被渲染。例如,如图5b所示,假设自动化助理响应于标识对音频数据552b2中的常用飞行者号码参数的值的请求来确定
常用飞行者号码参数的值。进一步假设自动化助理使“your example airlines frequent flier number is 0112358,would you like me to provide it to example airlines representative(您的示例航空公司常用飞行者号码是0112358,您想让我将该号码提供给示例航空公司代表吗)?”的通知579在客户端设备510的呼叫细节界面570中被渲染。然后,自动化助理能够使“jane doe’s example airlines frequent flier number is:0112358(jane doe的示例航空公司常用飞行者号码是:0112358)”的合成语音556b1响应于接收到对指示自动化助理应当向附加用户提供常用飞行者号码参数的值的图形元素579a和/或图形元素543的选择而在附加用户的附加客户端设备和/或给定用户的客户端设备510被渲染。在一些附加和/或替代实施方式中,自动化助理能够检测客户端设备510的给定用户的口头输入,其包括在正在进行的对话期间标识的(多个)参数的(多个)值。在那些实施方式的一些版本中,自动化助理能够自动地撤消包括在呼叫细节界面579中的通知579。
117.在那些实施方式的一些其他版本中,自动化助理还能够响应于确定(多个)参数的(多个)值前摄地提供在正在进行的呼叫期间标识的(多个)参数的(多个)值,并且不接收包括对与(多个)参数相关联的信息的请求的任何用户输入。自动化辅助能够响应于确定(多个)值而使包括(多个)值的合成语音在附加用户的附加客户端设备被渲染。例如,如图5c所示,假设自动化助理响应于标识来自附加用户的对音频数据552c2中的常用飞行者号码参数的值的请求来确定常用飞行者号码参数的值。然后,自动化助理能够使“jane doe’s example airlines frequent flier number is:0112358(jane doe的示例航空公司常用飞行者号码是:0112358)”的合成语音556c1响应于确定频繁飞行者号码参数的值并且不接收包括对与常用飞行者号码参数相关联的信息的请求的任何用户输入而在附加用户的附加客户端设备和/或给定用户的客户端设备510被渲染。在那些实施方式的一些另外版本中,如果与(多个)参数的所确定的(多个)值相关联的置信度度量满足置信度阈值,则自动化助理可以仅前摄地提供在正在进行的呼叫期间所标识的(多个)参数的(多个)值。置信度度量能够基于,例如,给定用户是否响应于接收到对相同信息的先前请求而先前提供了所确定的值、在正在进行的呼叫期间标识的(多个)参数是否是与正在进行的呼叫期间所标识的任务相关联地存储的(多个)候选参数、从其中确定值的源(例如,电子邮件/日历应用相对于文本消息收发应用)和/或确定置信度度量的方式。
118.此外,在各种实施方式中,在自动化助理在正在进行的呼叫期间提供所标识的(多个)参数的(多个)值之后,自动化助理能够接管正在进行的呼叫的剩余部分。在那些实施方式的一些版本中,自动化助理能够响应于对图形元素543的用户选择而接管正在进行的呼叫的剩余部分。因此,自动化助理能够基于传送到客户端设备510的音频数据继续标识任务的(多个)参数,并且确定所标识的(多个)参数的(多个)值。此外,如果自动化助理确定给定请求是针对不能由自动化助理确定的信息,则自动化助理能够提供响应于该请求而请求另外用户输入的通知,并且自动化助理能够然后基于响应于请求的另外用户输入来提供值,如上所述(例如,关于图4c和4d)。
119.尽管图5a-5c在本文中关于提供常用飞行者号码的任务来描述,但是应当理解,这不意味着限制,并且本文中描述的技术能够用于能够关于多个不同实体执行的多个不同任务。此外,尽管未在图5a-5c中描绘,但是应当理解,即使正在进行的呼叫不是由自动化助理使用辅助呼叫发起的,自动化助理也能够在正在进行的呼叫被发起时从附加用户获得同
意。自动化助理能够使用本文所述的任何方式从附加用户获得同意。
120.图6是可以可选地被利用来执行本文中描述的技术的一个或多个方面的示例计算设备610的框图。在一些实施方式中,客户端设备、(多个)基于云的自动化助理和/或(多个)其它组件中的一个或多个可以包括示例计算设备610的一个或多个组件。
121.计算设备610通常包括经由总线子系统612与许多外围设备进行通信的至少一个处理器614。这些外围设备可以包括存储子系统624,包括,例如,存储器子系统625和文件存储子系统626、用户界面输出设备620、用户界面输入设备622和网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并且耦合到其它计算设备中的对应的界面设备。
122.用户界面输入设备622可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板这样的定点设备、扫描器、并入到显示器中的触摸屏、诸如语音识别系统、麦克风这样的音频输入设备和/或其它类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备610中或者输入到通信网络上的所有可能类型的设备和方式。
123.用户界面输出设备620可以包括显示子系统、打印机、传真机,或诸如音频输出设备这样的非视觉显示器。显示子系统可以包括阴极射线管(crt)、诸如液晶显示器(lcd)这样的平板设备、投影设备或用于创建可见图像的某种其它机制。显示子系统还可以诸如经由音频输出设备提供非视觉显示。通常,术语“输出设备”的使用旨在包括用于将信息从计算设备610输出到用户或者到另一机器或计算设备的所有可能类型的设备和方式。
124.存储子系统624存储提供本文中描述的模块中的一些或全部的功能性的程序和数据构造。例如,存储子系统624可以包括用于执行本文中公开的方法的所选泽东方面以及实现图1中描绘的各种组件的逻辑。
125.这些软件模块通常由处理器614单独或者与其它处理器相结合地执行。在存储子系统624中使用的存储器625能够包括许多存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(ram)630以及存储有固定指令的只读存储器(rom)632。文件存储子系统626能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd-rom驱动器、光驱或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统626存储在存储子系统624中,或者存储在由(多个)处理器614可访问的其它机器中。
126.总线子系统612提供用于让计算设备610的各种组件和子系统如预期相互通信的机制。尽管总线子系统612被示意性地示出为单条总线,但是总线子系统的替代实施方式可以使用多条总线。
127.计算设备610能够是各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其它数据处理系统或计算设备。由于计算机和网络的不断变化的性质,对图6中描绘的计算设备610的描述仅旨在作为具体示例用于图示一些实施方式的目的。计算设备66的许多其它配置可能具有比图6中描绘的计算设备更多或更少的组件。
128.在本文中描述的系统收集或者以其他方式监视关于用户的个人信息或者可以利用个人信息和/或所监视的信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户偏好或用户当前地理位置的信息)的机会,或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,
在存储或使用某些数据之前,可以以一种或多种方式对其进行处理,从而移除个人可标识信息。例如,可以处理用户的身份,使得不能确定用户的个人可标识信息,或者可以在获得地理位置信息的情况下概括用户的地理位置(诸如概括到城市、zip编码或州级),使得不能确定用户的具体地理位置。因此,用户可以控制如何收集和/或使用关于用户的信息。
129.在一些实施方式中,一种由一个或多个处理实现的方法被提供并且包括从给定用户经由与该给定用户相关联的客户端设备接收用于发起辅助呼叫的用户输入并且基于该用户输入来确定:在辅助呼叫期间代表给定用户参与的实体,以及在辅助呼叫期间代表给定用户执行的任务。该方法还包括针对与任务和/或实体相关联地存储的一个或多个候选参数,确定在执行任务时在辅助呼叫期间自动地生成合成语音时要被使用的一个或多个对应值,使用与给定用户相关联的客户端设备发起执行辅助呼叫,并且在执行辅助呼叫期间并且基于处理辅助呼叫的捕获与实体相关联的附加用户的话语的音频数据,确定与附加参数相关联的信息由附加用户请求。该方法进一步包括,响应于确定请求与附加参数相关联的信息而使客户端设备在辅助呼叫之外渲染标识附加参数并且请求针对信息的另外用户输入的通知。方法还包括在接收响应于通知的任何另外输入之前,继续辅助呼叫。继续该辅助呼叫包括渲染基于候选参数的对应值中的一个或多个的合成语音的一个或多个实例。方法进一步包括在继续辅助呼叫期间,确定在阈值持续时间内是否接收到响应于通知并且标识附加参数的特定值的另外用户输入,并且响应于确定在阈值持续时间内接收到该另外用户输入来渲染基于特定值的另外合成语音作为辅助呼叫的一部分。
130.本文中公开的技术的这些和其它实施方式能够可选地包括以下特征中的一个或多个。
131.在一些实施方式中,确定对应值中的给定值包括在发起辅助呼叫之前生成标识候选参数中的给定候选参数并且请求与该给定候选参数相关联的附加信息的提示,使客户端设备渲染该提示,并且基于响应于该提示的附加用户输入来标识给定候选参数的给定值。
132.在一些实施方式中,确定对应值中的另外值包括,在发起辅助呼叫之前基于与给定用户相关联的用户简档来标识该另外值。
133.在一些实施方式中,继续辅助呼叫包括处理辅助呼叫的附加音频数据以确定附加用户的附加话语包括对候选参数中的给定候选参数的请求,以及响应于确定附加话语包括对给定候选参数的请求,使客户端设备在呼叫时渲染合成语音的一个或多个实例中的给定实例。在那些实施方式的一些版本中,给定实例基于针对给定候选参数确定给定值而包括对应值中的给定值,并且给定实例被渲染而不从所述给定用户请求任何附加用户输入。
134.在一些实施方式中,继续辅助呼叫包括处理另外音频数据以确定在附加阈值持续时间内是否接收到附加用户的另外话语,并且响应于确定在附加阈值持续时间内没有从附加用户接收到另外话语,在辅助呼叫期间渲染合成语音的一个或多个实例中的另外实例,该另外实例基于对应值中的尚未被附加用户请求的一个或多个对应值。
135.在一些实施方式中,该方法进一步包括响应于确定与附加参数相关联的信息被附加用户请求来更新与实体相关联地存储的一个或多个候选参数以包括附加参数。
136.在一些实施方式中,该方法进一步包括当附加用户请求与附加参数相关联的信息时确定客户端设备的状态,并且基于客户端设备的状态来确定通知和/或用于渲染通知的一个或多个属性。
137.在那些实施方式的一些版本中,客户端设备的状态指示给定用户正在主动地监视辅助呼叫,并且基于客户端设备的状态来确定通知包括基于客户端设备的状态指示给定用户正在主动地监视辅助呼叫来确定包括连同一个或多个可选择图形元素经由客户端设备的显示器视觉地渲染的视觉分量的通知。在那些实施方式的一些版本中,响应于所述通知,该另外用户输入包括对所述一个或多个可选择图形元素中的给定可选择图形元素的选择。
138.在那些实施方式的一些版本中,该客户端设备的状态指示给定用户未主动地监视辅助呼叫,并且基于客户端设备的状态确定通知包括基于客户端设备的状态指示给定用户正在主动地监测辅助呼叫来确定包括经由客户端设备的一个或多个扬声器可听地渲染的可听分量的通知。
139.在一些实施方式中,方法进一步包括终止辅助呼叫,并且在终止辅助呼叫之后使客户端设备渲染包括辅助呼叫的结果的指示的附加通知。在那些实施方式的一些版本中,包括辅助呼叫的指示的附加通知:包括响应于终止所述辅助呼叫代表用户执行的附加任务的指示,或者包括一个或多个可选择图形元素,该一个或多个可选择图形元素在被选择时使客户端设备代表用户执行附加任务。
140.在一些实施方式中,方法进一步包括响应于确定在阈值持续时间内未接收到另外用户输入,终止辅助呼叫,并且在终止辅助呼叫之后,使客户端设备渲染包括辅助呼叫的结果的指示的附加通知。
141.在一些实施方式中,阈值持续时间是:从渲染标识附加参数并且请求针对信息的另外用户输入的通知时起的固定持续时间,或者基于对应值中的一个或多个对应值中的最后对应值何时被渲染用于经由附加客户端设备呈现给附加用户的动态持续时间。
142.在一些实施方式中,该方法进一步包括,在发起辅助呼叫之后从与实体相关联的附加用户获得用于监视所述辅助呼叫的同意。
143.在一些实施方式中,一种由一个或多个处理器实现的方法被提供并且包括:在客户端设备检测客户端设备的给定用户与附加客户端设备的附加用户之间的正在进行的呼叫,处理在正在进行的呼叫期间捕获至少一个口头话语的音频数据流,以生成识别文本。至少一个口头话语是给定用户的或附加用户的。该方法进一步包括基于处理识别文本来标识至少一个口语话语请求参数的信息,并且针对该参数并且使用对给定用户是个人的访问受限数据来确定参数的值是可解析的。该方法进一步包括响应于确定值是可解析的在正在进行的呼叫期间渲染基于值的输出。
144.本文中公开的技术的这些和其它实施方式能够可选地包括以下特征中的一个或多个。
145.在一些实施方式中,该方法进一步包括解析参数的值。在那些实施方式的一些版本中,在正在进行的呼叫期间渲染输出还响应于解析参数的值。在那些实施方式的一些版本中,解析参数的值包括分析给定用户与附加用户之间的正在进行的呼叫的元数据,基于分析来标识与附加用户相关联的实体,并且基于值与实体和参数相关联地被存储来解析值。
146.在一些实施方式中,输出包括合成语音,并且在正在进行的呼叫期间渲染基于值的输出包括渲染合成语音作为正在进行的呼叫的一部分。在那些实施方式的一些版本中,该方法还包括在渲染合成语音作为正在进行的呼叫的一部分之前从给定用户接收用于在
正在进行的呼叫期间激活辅助的用户输入。在那些实施方式的一些版本中,渲染合成语音作为正在进行的呼叫的一部分进一步响应于接收到用于激活辅助的用户输入。
147.在一些实施方式中,输出包括在客户端设备并且在正在进行的呼叫之外被渲染的通知。在那些实施方式的一些版本中,输出进一步包括作为正在进行的呼叫的一部分来渲染的合成语音,并且该方法进一步包括在渲染所述通知之后并且响应于接收到响应于通知的肯定用户输入来渲染合成语音。
148.在一些实施方式中,该方法进一步包括基于在请求参数的信息的至少一个口头话语之后的阈值持续时间内处理音频数据流来确定给定用户的并且在该阈值持续时间内接收到的任何附加口头话语是否包括值。在那些实施方式的一些版本中,提供输出取决于确定给定用户的并且在阈值持续时间内接收到的附加口头话语不包括该值。
149.此外,一些实施方式包括一个或多个计算设备的一个或多个处理器(例如,(多个)中央处理单元(cpu)、(多个)图形处理单元(gpu)和/或(多个)张量处理单元(tpu),其中,一个或多个处理器可操作以执行存储在相关联存储器中的指令,以及其中指令被配置为导致执行任何上述方法。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以执行任何上述方法的计算机指令。一些实施方式还包括计算机程序产品,该计算机程序产品包括可由一个或多个处理器执行以执行任何上述方法的指令。
150.应当理解,本文中更详细地描述的前述概念和附加概念的所有组合被预期为本文中公开的主题的一部分。例如,在本公开末尾出现的所要求保护的主题的所有组合被认为是本文中公开的主题的一部分。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1