从最初调用的自动化助理向随后调用的自动化助理转移对话数据的制作方法

文档序号:35286304发布日期:2023-09-01 07:08阅读:23来源:国知局
从最初调用的自动化助理向随后调用的自动化助理转移对话数据的制作方法


背景技术:

1、人类可以以本文被称为“自动化助理”(也被称为“数字代理”、“聊天机器人”、“交互个人助理”、“智能个人助理”、“助理应用”、“会话代理”等)的交互软件应用来参与人机对话。例如,人类(当他们与自动化助理交互时可以被称为“用户”)可以使用在一些情况下可以被转换成文本然后被处理的口头自然语言输入(即话语),和/或通过提供文本(例如,键入的)自然语言输入,来向自动化助理提供命令和/或请求。自动化助理通过提供响应用户界面输出来响应请求,该响应用户界面输出能够包括听觉和/或视觉用户界面输出。

2、如上所述,许多自动化助理被配置为经由调用助理后的口头话语进行交互。为了保护用户隐私和/或节约资源,用户必须经常在自动化助理将完全处理口头话语之前显式地调用自动化助理。自动化助理的显式调用通常响应于在客户端设备处接收到的某些用户界面输入而发生。客户端设备包括助理界面,其向客户端设备的用户提供用于与自动化助理交互的界面(例如,接收来自用户的口头和/或键入的输入,并且提供听觉和/或图形响应),并且与实现自动化助理的一个或多个附加部件(例如,处理用户输入并且生成适当响应的远程服务器设备)进行交互。

3、能够经由客户端设备调用自动化助理的一些用户界面输入包括在客户端设备处用于调用自动化助理的硬件和/或虚拟按钮(例如,硬件按钮的敲击、对由客户端设备显示的图形界面元素的选择)。许多自动化助理能够附加地或可替选地响应于一个或多个口头调用短语而被调用,该一个或多个口头调用短语也被称为“热词/短语”或“触发词/短语”。例如,能够说出诸如“hey assistant(嘿,助理)”、“ok assistant(好的,助理)”和/或“assistant(助理)”的口头调用短语以调用自动化助理。

4、通常,包括助理界面的客户端设备包括一个或多个本地存储的模型,客户端设备利用该一个或多个模型以至少选择性地监测口头调用短语的出现。这种客户端设备能够利用本地存储的模型本地处理接收到的音频数据,并且丢弃不包括口头调用短语的任何音频数据。然而,当接收到的音频数据的本地处理指示口头调用短语的出现时,客户端设备然后将使音频数据和/或之后的音频数据由自动化助理进一步处理。例如,如果口头调用短语是“hey,assistant”,并且用户说出“hey,assistant,what time is it(嘿,助理,)”,则与“what time is it(现在几点)”相对应的音频数据能够由自动化助理基于“hey,assistant”的检测而处理,并且用于提供当前时间的自动化助理响应。另一方面,如果用户只是说出“what time is it”(没有首先说出调用短语或提供可替选的调用输入),则自动化助理不会提供任何响应,因为“what time is it”前面没有调用短语(或其他调用输入)。


技术实现思路

1、本文描述了用于响应于对转移对话数据的请求而将对话数据从第一自动化助理提供给第二自动化助理的技术。例如,各种技术涉及:由最初调用的自动化助理处理用户与最初调用的自动化助理之间的对话,接收将对作为对话的一部分的查询的处理转移到第二自动化助理的请求,并且将指示对话数据的对话数据提供给第二自动化助理以供进一步处理。用户能够最初调用自动化助理并且说出一个或多个查询,被调用的自动化助理能够生成对该一个或多个查询的响应。在用户与最初调用的自动化助理之间的对话中的某个时刻,能够接收指示用户对附加的对话感兴趣和/或对由第二自动化助理正在处理的查询感兴趣的请求。与对话相关的对话和/或对话数据能够由最初调用的自动化助理提供给第二助理,该第二助理能够执行一个或多个动作,诸如处理查询以生成响应。以这些和其他方式,第二助理能够获得对话和/或对话数据而不必参与与用户的计算繁重的对话。此外,最初调用的自动化助理能够经由选择性地将对话和/或对话数据转移到第二助理来引导用户助理对话。此外,在一些实施方式中,第二助理能够生成可能无法由最初调用的自动化助理独立生成的响应——从而增加用户助理对话的鲁棒性。

2、在一些实施方式中,用户能够说出调用短语,诸如“ok assistant”,其调用第一自动化助理(本文也被称为“最初调用的自动化助理”),但不显式地调用其他自动化助理,最初调用的自动化助理在处理与调用短语相关联(例如,紧随其后、紧接其前)的接收到的查询时能够至少选择性地与所述其他自动化助理进行交互。因此,基于提供特定于最初调用的自动化助理的调用输入,用户可以指定利用最初调用的自动化助理而不是单独地调用其他自动化助理中的一个。例如,第一调用短语(例如,“ok assistant a(好的,助理a)”)在被检测到时能够专门地调用第一自动化助理而不调用任何其他自动化助理。同样地,第二调用短语(例如,“ok assistant b(好的,助理b)”)在被检测到时能够专门地调用第二自动化助理而不调用最初调用的自动化助理和/或任何其他自动化助理。最初调用的助理在被调用时在处理与调用相关联地提供的输入时能够至少选择性地与其他自动化助理(即,“辅助助理”)进行交互。

3、用户能够通过说出调用短语来调用自动化助理,一旦自动化助理被最初调用,该调用短语可以允许用户与最初调用的自动化助理进行对话。对话能够包括由用户说出的一个或多个查询,后续是由最初调用的自动化助理生成的一个或多个响应。作为示例,用户最初可以通过说出“ok assistant 1,what is a good movie for kids(好的,助理1,什么是适合孩子看的好电影)?”来调用助理1。在该实例中,“ok assistant 1(好的,助理1)”能够是调用第一自动化助理的热词,其能够生成并且提供“movie a is a good movie forkids(电影a是一部适合孩子看的好电影)”的响应。作为响应,用户可以说出与第一查询相关或不相关的查询的附加查询,以在最初调用的自动化助理与用户之间生成对话。例如,用户可以说出“what is another good movie(另一部好电影是什么)”的查询以被提供附加生成的与来自先前查询的“good movies for kids(适合孩子看的好电影)”相关的响应。此外,例如,用户可以接下来说出“what is the weather today(今天天气如何)”,并且最初调用的自动化助理能够提供与用户的先前查询和/或最初调用的自动化助理的先前响应无关的响应。

4、作为另一个示例,响应于自动化助理以“movie a is a good movie for kids”来响应,用户可以接下来询问“ok,play it on streaming service(好的,在流式传输服务上播放它)”。在该实例中,自动化助理可以确定查询的意图,其能够包括基于用户与自动化助理之间的先前对话来确定用户通过诸如“movie a(电影a)”的词项“it(它)”意指什么。响应于“play it on streaming service(在流式传输服务上播放它)”的后续查询,最初调用的自动化助理能够向流式传输应用“streaming service”提供数据,该流式传输应用能够经由用户界面将“movie a”流式传输给用户。

5、作为又一个示例,一旦调用了最初调用的自动化助理,用户能够说出短语“whatis the weather in san francisco(旧金山的天气如何)”,并且最初调用的自动化助理能够生成响应于该查询的响应,诸如“the weather today in san francisco is 50degreesand cloudy(今天旧金山的天气是50度,多云)”。在一些实例中,对话可能包括与先前查询相关的用户的附加查询。例如,用户可以说出“what about in miami(迈阿密怎么样)”的后续查询,指示被提供迈阿密天气的意图。作为响应,最初调用的自动化助理能够回应“theweather in miami is 80degrees and sunny(迈阿密的天气是80度,晴天)”。对话可以在用户与最初调用的自动化助理之间继续,既有相关查询也有不相关意图的查询。

6、在一些实施方式中,多个自动化助理能够存在于同一环境中。例如,用户可以调用正在执行第二自动化助理的第二设备附近的设备上正在执行的自动化助理。此外,例如,用户可以调用在也正在执行第二自动化助理的设备上正在执行的自动化助理。如前所述,用户可以通过说出激活最初自动化助理但不调用其他自动化助理的热词或短语来调用最初调用的自动化助理。例如,用户可以说出热词“ok assistant1”以调用第一自动化助理而不调用第二自动化助理。类似地,用户可以说出热词“ok assistant 2(好的,助理2)”来调用第二自动化助理而不调用第一自动化助理。

7、在一些实施方式中,自动化助理能够向环境中的其他自动化助理提供该自动化助理能够处置的查询和/或命令类型的指示。例如,自动化助理能够具有对日历应用的访问,因此能够向其他自动化助理提供表明与用户日历相关的查询能够由该自动化助理处置的指示。此外,例如,自动化助理能够经由一个或多个信号向其他自动化助理指示它能够经由媒体流式传输应用来将媒体流式传输。能够向其他自动化助理提供关于其他自动化助理的能力的信息,使得在被调用的自动化助理无法处理查询的实例中,它能够知道在同一环境中可能能够成功地处理查询并且向用户提供响应的其他自动化助理。例如,一个或多个自动化助理能够广播指示广播自动化助理能够处理的查询类型和/或应用类型的超声波信号。此外,例如,自动化助理可以经由wi-fi、应用编程接口((api))和/或允许自动化助理了解环境中的其他自动化助理的能力的其他通信信道来提供其能力的指示。

8、在一些实施方式中,自动化助理可以抢先地广播其能力。在那些实例中,当最初调用的自动化助理接收到它无法处理的查询时,它能够搜索正在广播处置该类型请求的能力的其他自动化助理。能力的抢先广播能够减少在确定向哪个第二助理(如果有的话)转移对话和/或对话数据时的时延,并且因此能够导致减少第二助理生成响应的时延。在一些实施方式中,当最初调用的自动化助理接收到它无法处理的请求时,它可以向其他自动化助理广播请求以确定该请求是否能够由一个或多个其他自动化助理处置。例如,最初调用的自动化助理可能会接收到与它不具有访问的日历应用相关的请求,并且能够向其他自动化助理广播消息,该消息询问该请求是否能够由不同的自动化助理处置。作为响应,能够处置请求的自动化助理能够肯定地响应,从而向最初调用的自动化助理通知该请求能够由该自动化助理处理。

9、在一些实例中,最初调用的自动化助理可能未被配置为生成对用户查询的响应。例如,最初调用的自动化助理能够接收来自用户的查询并且处理该查询以生成响应于该查询的响应。在后续查询中,最初调用的自动化助理可能不会生成实质性响应,诸如当它未被配置为响应由用户说出的查询类型和/或由于用户显式地请求将生成响应传递给不同的自动化助理。在那些实例中,最初调用的自动化助理能够将先前对话的一部分或表示先前对话的至少一部分的数据传输到第二自动化助理以供进一步处理。基于查询和/或先前对话的意图,第二自动化助理能够生成响应并且进一步基于生成的响应而执行一个或多个动作。例如,第二自动化助理一旦已经被提供对话和/或来自先前对话的对话数据,就能够向用户提供可听响应、与应用进行交互和/或基于查询来执行其他任务。

10、在最初调用的自动化助理未被配置为响应查询的实例中,自动化助理能够确定另一个自动化助理可能更有能力完成查询。例如,用户可能会说出查询“play movie a onstreaming service(在流式传输服务上播放电影a)”。在最初调用的自动化助理可能不具有对“流式传输服务”的访问的实例中,最初调用的自动化助理能够确定一个或多个其他自动化助理是否被配置为处置这样的请求。例如,环境中的其他自动化助理可能会广播指示其能力的超声波信号。例如,环境中的可替选的自动化助理可能先前已经将其能力广播给最初调用的自动化助理,该自动化助理存储与可替选的自动化助理相关联的那些能力(例如,本地存储的)。如果合适的第二自动化助理被最初调用的自动化助理识别(例如,通过访问存储的与第二自动化助理的能力的关联),则可以向第二自动化助理提供转移对话数据的请求。一旦请求已经被第二自动化助理许可,最初调用的自动化助理就能够将包括对话的至少一部分(例如,对话和/或查询的意图)的对话发送给第二自动化助理。然后,第二自动化助理能够处理查询并且执行一个或多个动作,诸如启动“流式传输服务”以经由用户界面向用户提供电影a。

11、在一些实施方式中,最初调用的自动化助理能够向用户提供将对话数据转移到第二自动化助理的建议。例如,用户可以向最初调用的自动化助理提供最初调用的自动化助理无法处理或不能以其他方式提供满足用户请求的响应的查询。最初调用的自动化助理能够以建议来响应用户,该建议指示另一个自动化助理可以被配置为提供响应,诸如“i don’t know,would you like me to check with assistant 2?(我不知道,您想让我和助理2核实一下吗?)”作为响应,用户能够说出“yes(是)”,最初调用的自动化助理能够向助理2提供对话数据,并且助理2可以进一步处置该处理。在该实例中,转移请求(即,“yes”的话语)由用户直接提供并且由最初调用的自动化助理提供第二自动化助理的调用。

12、在一些实施方式中,可以基于识别用户偏好并且确定查询是用户有兴趣由不同的自动化助理完成的类型以向用户提供转移建议。例如,最初调用的自动化助理能够确定用户先前已经利用过不同的自动化助理来处置与日历相关的查询,诸如具有对用户的日历应用的访问的自动化助理。当最初调用的自动化助理接收到作为对话的一部分的与日历应用相关的请求时,最初调用的自动化助理能够向用户偏好的处置该请求的自动化助理提供对话和/或指示对话的数据的至少一部分。

13、在一些实施方式中,转移请求能够基于用户的偏好。例如,用户能够经由一个或多个用户偏好来指示与日历应用相关的所有查询都由第一自动化助理处置。在另一个自动化助理接收到与日历应用相关的查询的实例中,被调用的自动化助理能够将用户设置与日历查询相关的用户偏好视为将针对所有与日历应用相关的查询的对话转移到第一自动化助理的请求。

14、在一些实施方式中,用户能够在最初地调用不同的自动化助理之后继续与第二自动化助理的对话。例如,用户可以以“ok assistant 1”来调用自动化助理并且提供查询“what is the weather like in miami(迈阿密的天气怎么样)?”最初调用的自动化助理能够响应该查询,诸如“the weather is 75and sunny(天气是75度,晴天)。”随后,用户可以说出“ok assistant 2,how about in san francisco(好的,助理2,旧金山怎么样)”,指示用户对第二个助理(即,以“ok assistant 2”调用的自动化助理)感兴趣以进一步处理对话。最初调用的自动化助理能够确定对话包括对第二自动化助理的引用,并且将先前对话数据提供给第二自动化助理以允许第二自动化助理确定针对它的查询的上下文和/或意图。例如,从先前示例中的查询没有显式地包括“what is the weather in san francisco(旧金山的天气怎么样)”,但是基于查询与先前查询的关系,被提供天气信息的意图可能被包括在先前的对话(即,“what is the weather like in miami”)中。

15、在一些实施方式中,随后调用的自动化助理能够确定它不具有完成查询所必需的会话的上下文和/或意图。例如,用户可以调用助理1并且说出“what movie should iwatch(我应该看什么电影)”的查询,助理1可以用“movie a is a good movie(电影a是一部好电影)”来回应该查询。用户随后可以说出“ok assistant 2,play it on streamingservice(好的,助理2,在流式传输服务上播放它)”。因为电影的名称(即,“movie a(电影a)”)不是与助理2的对话的一部分,助理2可以从助理1请求与助理1的先前对话的上下文、意图和/或部分,使得助理2能够通过在查询“play it on streaming service”中的词项“it”来确定用户的意图。一旦助理1提供了先前对话的上下文,助理2就能够确定“it”指的是“movie a”,并且启动“streaming service(流式传输服务)”来播放所请求的电影。

16、在一些实施方式中,可以在最初调用的自动化助理向随后调用的自动化助理提供对话数据之前来执行说话者的验证。例如,用户可以说出“ok assistant 1,what is agood movie to buy(好的,助理1,有什么好电影要买)”,并且助理1可以提供“movie a ishighly rated(电影a评价很高)”的响应。用户随后可以说出“ok assistant 2,buy it ononline store(好的,助理2,在在线商店购买它)”。助理2能够请求先前对话的一部分以确定针对助理2的查询的上下文,以及能够包括例如用户话语“buy it on online store(在在线商店购买它)”的音频数据。在向助理2提供对话数据和/或先前对话的上下文之前,助理1可以使用来自助理2的音频数据执行验证,以确定先前对话的说话者是否是说出“buyit on online store”的同一说话者。例如,助理1能够使用一个或多个设备上的模型执行与文本无关的说话者验证,以生成说话者向量来验证与先前对话相关联的说话者。可替选地或附加地,助理1能够通过使用设备上的文本相关的说话者验证(tdsv)模型处理音频数据来执行tdsv,以生成说话者向量,并且验证说话者向量匹配与先前对话相关联的说话者向量。在说话者验证确定向助理2说出查询的说话者与助理1的先前对话的说话者是同一说话者的实例中,助理1能够如前所述提供对话数据。在无法将说话者验证为两个对话中的同一说话者的实例化中,助理1能够向助理2提供说话者不同和/或附加的对话数据不可用的指示。

17、在一些实施方式中,验证可以包括确定针对随后调用的自动化助理的查询是否是先前对话的延续。例如,与最初调用的自动化助理的对话可能包括用户说出“what is theweather in san francisco(旧金山的天气怎么样)”,后续是来自最初调用的自动化助理的响应。用户随后可以说出“ok assistant 2,what about in miami(好的,助理2,迈阿密怎么样)”,这是针对随后调用的自动化助理的。随后调用的自动化助理能够向最初调用的自动化助理提供至少一部分音频(或指示对话和说话者的数据)。为了验证,最初调用的自动化助理能够在将对话数据提供给随后调用的自动化助理之前来确定话语是否与用户的一个或多个先前对话相关。例如,随后调用的自动化助理能够发送用户说出“what aboutin miami(迈阿密怎么样)”的音频数据,并且最初调用的自动化助理能够确定该话语可能与关于旧金山天气的先前对话的上下文相关。

18、因此,当最初调用的自动化助理不能满足请求或否则响应来自用户的请求时,本文描述的技术的使用减轻了用户显式地调用第二自动化助理的需要。这导致用户与多个自动化助理的对话的总持续时间被缩短并且导致网络和/或计算资源的使用的对应减少。此外,在最初调用的自动化助理知道另一个更有可能返回客观上更完整的响应的自动化助理的实例中,能够让用户知道第二自动化助理的能力,而无需用户调用第二自动化助理以确定是否能够获得更完整的响应。通过辅助用户从最有可能肯定地响应查询的助理接收到响应而不需要用户花费重新启动与第二自动化助理对话所需的资源,允许查询被顺利传递给第二自动化助理用户减轻了用户延长与自动化助理会话的需要。此外,通过将对话数据提供给第二自动化助理,避免了第二助理向用户提示已经被提供的信息的需要。因此,能够在不需要用户对已经被提供给第一自动化助理的信息进行重复的情况下提供对话的上下文。

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

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