CN116670638A - 从最初调用的自动化助理向随后调用的自动化助理转移对话数据 - Google Patents

从最初调用的自动化助理向随后调用的自动化助理转移对话数据 Download PDF

Info

Publication number
CN116670638A
CN116670638A CN202180088756.4A CN202180088756A CN116670638A CN 116670638 A CN116670638 A CN 116670638A CN 202180088756 A CN202180088756 A CN 202180088756A CN 116670638 A CN116670638 A CN 116670638A
Authority
CN
China
Prior art keywords
automated assistant
user
invoked
assistant
dialog
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
CN202180088756.4A
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
Application filed by Google LLC filed Critical Google LLC
Priority claimed from PCT/US2021/063753 external-priority patent/WO2023003585A1/en
Publication of CN116670638A publication Critical patent/CN116670638A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/04Training, enrolment or model building
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)

Abstract

用于将对话数据从最初调用的自动化助理提供到随后调用的自动化助理的系统和方法。第一自动化助理可以由用户话语调用,之后是由第一自动化助理处理的与用户的对话。在对话期间,接收将对话数据转移到第二自动化助理的请求。请求可以通过第一自动化助理和/或第二自动化助理由用户发起。一旦被授权,第一自动化助理将先前对话数据提供给第二自动化助理。第二自动化助理基于对话数据来执行一个或多个动作。

Description

从最初调用的自动化助理向随后调用的自动化助理转移对话 数据
背景技术
人类可以以本文被称为“自动化助理”(也被称为“数字代理”、“聊天机器人”、“交互个人助理”、“智能个人助理”、“助理应用”、“会话代理”等)的交互软件应用来参与人机对话。例如,人类(当他们与自动化助理交互时可以被称为“用户”)可以使用在一些情况下可以被转换成文本然后被处理的口头自然语言输入(即话语),和/或通过提供文本(例如,键入的)自然语言输入,来向自动化助理提供命令和/或请求。自动化助理通过提供响应用户界面输出来响应请求,该响应用户界面输出能够包括听觉和/或视觉用户界面输出。
如上所述,许多自动化助理被配置为经由调用助理后的口头话语进行交互。为了保护用户隐私和/或节约资源,用户必须经常在自动化助理将完全处理口头话语之前显式地调用自动化助理。自动化助理的显式调用通常响应于在客户端设备处接收到的某些用户界面输入而发生。客户端设备包括助理界面,其向客户端设备的用户提供用于与自动化助理交互的界面(例如,接收来自用户的口头和/或键入的输入,并且提供听觉和/或图形响应),并且与实现自动化助理的一个或多个附加部件(例如,处理用户输入并且生成适当响应的远程服务器设备)进行交互。
能够经由客户端设备调用自动化助理的一些用户界面输入包括在客户端设备处用于调用自动化助理的硬件和/或虚拟按钮(例如,硬件按钮的敲击、对由客户端设备显示的图形界面元素的选择)。许多自动化助理能够附加地或可替选地响应于一个或多个口头调用短语而被调用,该一个或多个口头调用短语也被称为“热词/短语”或“触发词/短语”。例如,能够说出诸如“Hey Assistant(嘿,助理)”、“OK Assistant(好的,助理)”和/或“Assistant(助理)”的口头调用短语以调用自动化助理。
通常,包括助理界面的客户端设备包括一个或多个本地存储的模型,客户端设备利用该一个或多个模型以至少选择性地监测口头调用短语的出现。这种客户端设备能够利用本地存储的模型本地处理接收到的音频数据,并且丢弃不包括口头调用短语的任何音频数据。然而,当接收到的音频数据的本地处理指示口头调用短语的出现时,客户端设备然后将使音频数据和/或之后的音频数据由自动化助理进一步处理。例如,如果口头调用短语是“Hey,Assistant”,并且用户说出“Hey,Assistant,what time is it(嘿,助理,)”,则与“what time is it(现在几点)”相对应的音频数据能够由自动化助理基于“Hey,Assistant”的检测而处理,并且用于提供当前时间的自动化助理响应。另一方面,如果用户只是说出“what time is it”(没有首先说出调用短语或提供可替选的调用输入),则自动化助理不会提供任何响应,因为“what time is it”前面没有调用短语(或其他调用输入)。
发明内容
本文描述了用于响应于对转移对话数据的请求而将对话数据从第一自动化助理提供给第二自动化助理的技术。例如,各种技术涉及:由最初调用的自动化助理处理用户与最初调用的自动化助理之间的对话,接收将对作为对话的一部分的查询的处理转移到第二自动化助理的请求,并且将指示对话数据的对话数据提供给第二自动化助理以供进一步处理。用户能够最初调用自动化助理并且说出一个或多个查询,被调用的自动化助理能够生成对该一个或多个查询的响应。在用户与最初调用的自动化助理之间的对话中的某个时刻,能够接收指示用户对附加的对话感兴趣和/或对由第二自动化助理正在处理的查询感兴趣的请求。与对话相关的对话和/或对话数据能够由最初调用的自动化助理提供给第二助理,该第二助理能够执行一个或多个动作,诸如处理查询以生成响应。以这些和其他方式,第二助理能够获得对话和/或对话数据而不必参与与用户的计算繁重的对话。此外,最初调用的自动化助理能够经由选择性地将对话和/或对话数据转移到第二助理来引导用户助理对话。此外,在一些实施方式中,第二助理能够生成可能无法由最初调用的自动化助理独立生成的响应——从而增加用户助理对话的鲁棒性。
在一些实施方式中,用户能够说出调用短语,诸如“OK Assistant”,其调用第一自动化助理(本文也被称为“最初调用的自动化助理”),但不显式地调用其他自动化助理,最初调用的自动化助理在处理与调用短语相关联(例如,紧随其后、紧接其前)的接收到的查询时能够至少选择性地与所述其他自动化助理进行交互。因此,基于提供特定于最初调用的自动化助理的调用输入,用户可以指定利用最初调用的自动化助理而不是单独地调用其他自动化助理中的一个。例如,第一调用短语(例如,“OK Assistant A(好的,助理A)”)在被检测到时能够专门地调用第一自动化助理而不调用任何其他自动化助理。同样地,第二调用短语(例如,“OK Assistant B(好的,助理B)”)在被检测到时能够专门地调用第二自动化助理而不调用最初调用的自动化助理和/或任何其他自动化助理。最初调用的助理在被调用时在处理与调用相关联地提供的输入时能够至少选择性地与其他自动化助理(即,“辅助助理”)进行交互。
用户能够通过说出调用短语来调用自动化助理,一旦自动化助理被最初调用,该调用短语可以允许用户与最初调用的自动化助理进行对话。对话能够包括由用户说出的一个或多个查询,后续是由最初调用的自动化助理生成的一个或多个响应。作为示例,用户最初可以通过说出“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(今天天气如何)”,并且最初调用的自动化助理能够提供与用户的先前查询和/或最初调用的自动化助理的先前响应无关的响应。
作为另一个示例,响应于自动化助理以“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”流式传输给用户。
作为又一个示例,一旦调用了最初调用的自动化助理,用户能够说出短语“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度,晴天)”。对话可以在用户与最初调用的自动化助理之间继续,既有相关查询也有不相关意图的查询。
在一些实施方式中,多个自动化助理能够存在于同一环境中。例如,用户可以调用正在执行第二自动化助理的第二设备附近的设备上正在执行的自动化助理。此外,例如,用户可以调用在也正在执行第二自动化助理的设备上正在执行的自动化助理。如前所述,用户可以通过说出激活最初自动化助理但不调用其他自动化助理的热词或短语来调用最初调用的自动化助理。例如,用户可以说出热词“OK Assistant1”以调用第一自动化助理而不调用第二自动化助理。类似地,用户可以说出热词“OK Assistant 2(好的,助理2)”来调用第二自动化助理而不调用第一自动化助理。
在一些实施方式中,自动化助理能够向环境中的其他自动化助理提供该自动化助理能够处置的查询和/或命令类型的指示。例如,自动化助理能够具有对日历应用的访问,因此能够向其他自动化助理提供表明与用户日历相关的查询能够由该自动化助理处置的指示。此外,例如,自动化助理能够经由一个或多个信号向其他自动化助理指示它能够经由媒体流式传输应用来将媒体流式传输。能够向其他自动化助理提供关于其他自动化助理的能力的信息,使得在被调用的自动化助理无法处理查询的实例中,它能够知道在同一环境中可能能够成功地处理查询并且向用户提供响应的其他自动化助理。例如,一个或多个自动化助理能够广播指示广播自动化助理能够处理的查询类型和/或应用类型的超声波信号。此外,例如,自动化助理可以经由Wi-fi、应用编程接口((API))和/或允许自动化助理了解环境中的其他自动化助理的能力的其他通信信道来提供其能力的指示。
在一些实施方式中,自动化助理可以抢先地广播其能力。在那些实例中,当最初调用的自动化助理接收到它无法处理的查询时,它能够搜索正在广播处置该类型请求的能力的其他自动化助理。能力的抢先广播能够减少在确定向哪个第二助理(如果有的话)转移对话和/或对话数据时的时延,并且因此能够导致减少第二助理生成响应的时延。在一些实施方式中,当最初调用的自动化助理接收到它无法处理的请求时,它可以向其他自动化助理广播请求以确定该请求是否能够由一个或多个其他自动化助理处置。例如,最初调用的自动化助理可能会接收到与它不具有访问的日历应用相关的请求,并且能够向其他自动化助理广播消息,该消息询问该请求是否能够由不同的自动化助理处置。作为响应,能够处置请求的自动化助理能够肯定地响应,从而向最初调用的自动化助理通知该请求能够由该自动化助理处理。
在一些实例中,最初调用的自动化助理可能未被配置为生成对用户查询的响应。例如,最初调用的自动化助理能够接收来自用户的查询并且处理该查询以生成响应于该查询的响应。在后续查询中,最初调用的自动化助理可能不会生成实质性响应,诸如当它未被配置为响应由用户说出的查询类型和/或由于用户显式地请求将生成响应传递给不同的自动化助理。在那些实例中,最初调用的自动化助理能够将先前对话的一部分或表示先前对话的至少一部分的数据传输到第二自动化助理以供进一步处理。基于查询和/或先前对话的意图,第二自动化助理能够生成响应并且进一步基于生成的响应而执行一个或多个动作。例如,第二自动化助理一旦已经被提供对话和/或来自先前对话的对话数据,就能够向用户提供可听响应、与应用进行交互和/或基于查询来执行其他任务。
在最初调用的自动化助理未被配置为响应查询的实例中,自动化助理能够确定另一个自动化助理可能更有能力完成查询。例如,用户可能会说出查询“Play Movie A onStreaming Service(在流式传输服务上播放电影A)”。在最初调用的自动化助理可能不具有对“流式传输服务”的访问的实例中,最初调用的自动化助理能够确定一个或多个其他自动化助理是否被配置为处置这样的请求。例如,环境中的其他自动化助理可能会广播指示其能力的超声波信号。例如,环境中的可替选的自动化助理可能先前已经将其能力广播给最初调用的自动化助理,该自动化助理存储与可替选的自动化助理相关联的那些能力(例如,本地存储的)。如果合适的第二自动化助理被最初调用的自动化助理识别(例如,通过访问存储的与第二自动化助理的能力的关联),则可以向第二自动化助理提供转移对话数据的请求。一旦请求已经被第二自动化助理许可,最初调用的自动化助理就能够将包括对话的至少一部分(例如,对话和/或查询的意图)的对话发送给第二自动化助理。然后,第二自动化助理能够处理查询并且执行一个或多个动作,诸如启动“流式传输服务”以经由用户界面向用户提供电影A。
在一些实施方式中,最初调用的自动化助理能够向用户提供将对话数据转移到第二自动化助理的建议。例如,用户可以向最初调用的自动化助理提供最初调用的自动化助理无法处理或不能以其他方式提供满足用户请求的响应的查询。最初调用的自动化助理能够以建议来响应用户,该建议指示另一个自动化助理可以被配置为提供响应,诸如“I don’t know,would you like me to check with Assistant 2?(我不知道,您想让我和助理2核实一下吗?)”作为响应,用户能够说出“Yes(是)”,最初调用的自动化助理能够向助理2提供对话数据,并且助理2可以进一步处置该处理。在该实例中,转移请求(即,“Yes”的话语)由用户直接提供并且由最初调用的自动化助理提供第二自动化助理的调用。
在一些实施方式中,可以基于识别用户偏好并且确定查询是用户有兴趣由不同的自动化助理完成的类型以向用户提供转移建议。例如,最初调用的自动化助理能够确定用户先前已经利用过不同的自动化助理来处置与日历相关的查询,诸如具有对用户的日历应用的访问的自动化助理。当最初调用的自动化助理接收到作为对话的一部分的与日历应用相关的请求时,最初调用的自动化助理能够向用户偏好的处置该请求的自动化助理提供对话和/或指示对话的数据的至少一部分。
在一些实施方式中,转移请求能够基于用户的偏好。例如,用户能够经由一个或多个用户偏好来指示与日历应用相关的所有查询都由第一自动化助理处置。在另一个自动化助理接收到与日历应用相关的查询的实例中,被调用的自动化助理能够将用户设置与日历查询相关的用户偏好视为将针对所有与日历应用相关的查询的对话转移到第一自动化助理的请求。
在一些实施方式中,用户能够在最初地调用不同的自动化助理之后继续与第二自动化助理的对话。例如,用户可以以“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”)中。
在一些实施方式中,随后调用的自动化助理能够确定它不具有完成查询所必需的会话的上下文和/或意图。例如,用户可以调用助理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(流式传输服务)”来播放所请求的电影。
在一些实施方式中,可以在最初调用的自动化助理向随后调用的自动化助理提供对话数据之前来执行说话者的验证。例如,用户可以说出“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提供说话者不同和/或附加的对话数据不可用的指示。
在一些实施方式中,验证可以包括确定针对随后调用的自动化助理的查询是否是先前对话的延续。例如,与最初调用的自动化助理的对话可能包括用户说出“What is theweather in San Francisco(旧金山的天气怎么样)”,后续是来自最初调用的自动化助理的响应。用户随后可以说出“OK Assistant 2,what about in Miami(好的,助理2,迈阿密怎么样)”,这是针对随后调用的自动化助理的。随后调用的自动化助理能够向最初调用的自动化助理提供至少一部分音频(或指示对话和说话者的数据)。为了验证,最初调用的自动化助理能够在将对话数据提供给随后调用的自动化助理之前来确定话语是否与用户的一个或多个先前对话相关。例如,随后调用的自动化助理能够发送用户说出“What aboutin Miami(迈阿密怎么样)”的音频数据,并且最初调用的自动化助理能够确定该话语可能与关于旧金山天气的先前对话的上下文相关。
因此,当最初调用的自动化助理不能满足请求或否则响应来自用户的请求时,本文描述的技术的使用减轻了用户显式地调用第二自动化助理的需要。这导致用户与多个自动化助理的对话的总持续时间被缩短并且导致网络和/或计算资源的使用的对应减少。此外,在最初调用的自动化助理知道另一个更有可能返回客观上更完整的响应的自动化助理的实例中,能够让用户知道第二自动化助理的能力,而无需用户调用第二自动化助理以确定是否能够获得更完整的响应。通过辅助用户从最有可能肯定地响应查询的助理接收到响应而不需要用户花费重新启动与第二自动化助理对话所需的资源,允许查询被顺利传递给第二自动化助理用户减轻了用户延长与自动化助理会话的需要。此外,通过将对话数据提供给第二自动化助理,避免了第二助理向用户提示已经被提供的信息的需要。因此,能够在不需要用户对已经被提供给第一自动化助理的信息进行重复的情况下提供对话的上下文。
提供以上描述作为本公开的一些实施方式的概述。下面更详细地描述那些实施方式和其他实施方式的进一步描述。
附图说明
图1是能够在其中实现本文公开的实施方式的示例环境的图示。
图2是能够在其中实现本文公开的各种方法的示例环境的框图。
图3是能够在其中实现本文公开的各种方法的另一示例环境的框图。
图4A是图示了将对话数据从第一自动化助理转移到第二自动化助理的图。
图4B是图示了在验证说话者之后将对话从最初调用的自动化助理转移到随后调用的自动化助理的图。
图5A、图5B和图5C描绘了根据本文公开的各种实施方式的包括用户、第一自动化助理和第二自动化助理的对话。
图6、图7和图8描绘了流程图,每个流程图图示了根据本文公开的各种实施方式的示例方法。
图9图示了计算设备的示例架构。
具体实施方式
参考图1,提供了示例环境,其包括可以由用户101调用的多个自动化助理。环境包括带有麦克风(未描绘)的第一独立交互式扬声器105和带有麦克风(也未描绘)的第二独立交互式扬声器110。第一扬声器可以正在至少部分地执行可以用调用短语调用的第一自动化助理。第二说话者110可以正在执行可以用调用短语调用的第二自动化助理,该调用短语可以是与第一自动化助理相同的调用短语或者不同的短语,以允许用户基于说出的短语来选择调用哪个自动化助理。在示例环境中,用户101在第一扬声器105和第二扬声器110附近正在说出“OK Assistant,What’s a good animated movie(好的,助理,有什么好的动画电影)”的口头话语115。如果第一和/或第二自动化助理中的一个被配置为由短语“OKAssistant”调用,则被调用的助理可以处理调用短语之后的查询(即,“What’s a goodanimated movie(有什么好的动画电影)”)。
在一些实施方式中,诸如第一扬声器105的设备可以正在执行多个自动化助理。参考图2,示出了包括执行多个自动化助理的多个客户端设备的示例环境。系统包括正在执行第一自动化助理215和第二自动化助理220的第一客户端设备105。通过在客户端设备105附近说出调用短语(对于每个助理是独特的或调用两个助理的相同短语)而使得音频可以被客户端设备105的麦克风225捕获,可以调用第一和第二自动化助理中的每一个。例如,用户101可以通过在客户端设备105附近说出“OK Assistant 1”来调用第一自动化助理215,并且通过在客户端设备105附近说出短语“OK Assistant 2”来进一步调用第二自动化助理220。基于说出的调用短语,用户能够指示用户有兴趣使正在客户端设备105上执行的多个助理中的哪一个来处理口头查询。示例环境进一步包括正在执行第三自动化助理245的第二客户端设备110。第三自动化助理可以被配置为使用第三调用短语——诸如“OKAssistant3(好的,助理3)”使得它可以被麦克风230捕获——来被调用。在一些实施方式中,图2的自动化助理中的一个或多个可以不存在。此外,示例环境可以包括图2中不存在的附加的自动化助理。例如,系统可以包括执行附加的自动化助理的第三设备和/或包括可以正在执行附加的自动化助理和/或比图示更少的自动化助理的客户端设备110和/或客户端设备105。
自动化助理215、220和245中的每一个都能够包括本文描述的自动化助理的一个或多个部件。例如,自动化助理215可以包括它自己的语音捕获部件来处理传入的查询、视觉捕获部件来处理传入的视觉数据、热词检测引擎、和/或其他部件。在一些实施方式中,在同一设备上执行的自动化助理,诸如自动化助理215和220,能够共享可以由这两个自动化助理使用的一个或多个部件。例如,自动化助理215和自动化助理220可以共享设备上的语音辨识器、设备上的NLU引擎、和/或其他部件中的一个或多个。
在一些实施方式中,一个或多个自动化助理可以共享一个或多个模块,诸如自然语言处理器,和/或自然语言、TTS和/或STT处理器的结果。例如,再次参考图2,第一自动化助理215和第二自动化助理220两者都可以共享自然语言处理,使得当客户端设备105接收音频数据时,音频数据被处理一次成为文本,然后可以将文本提供给自动化助理215和220这两者。此外,例如,客户端设备105的一个或多个部件可以将音频数据处理成文本并且将音频数据的文本表示提供给第三自动化助理245,如本文进一步描述的。在一些实施方式中,音频数据可以不被处理成文本,并且可以代替地被提供给自动化助理中的一个或多个作为原始音频数据。
参考图3,图示了两个自动化助理305和310的示例。如图所示,最初调用的自动化助理305正在第一客户端设备301上执行并且随后调用的自动化助理310正在第二客户端设备302上执行。然而,在一些实施方式中,自动化助理305和310两者都能够正在同一设备上执行,如图2所示。
最初调用的自动化助理305能够由经由麦克风320捕获的一个或多个短语调用并且由调用引擎315处理。在一些实施方式中,最初调用的自动化助理305能够由用户经由通过相机(未示出)捕获的一个或多个手势来调用并且由调用引擎315处理。调用引擎315能够基于口头话语和/或手势来确定用户是否有兴趣利用最初调用的自动化助理305。类似地,随后调用的自动化助理310包括调用引擎385,其能够确定用户在说出短语时是否有兴趣通过类似的短语和/或手势来与随后调用的自动化助理310交互,这些短语和/或手势对于随后调用的自动化助理310的调用是独特的。
最初调用的自动化助理305包括查询处理引擎330,其能够处理由用户提交的诸如通过由麦克风320捕获的口头话语查询。在一些实施方式中,用户可以与最初调用的自动化助理305进行对话。例如,用户可以提交“What is the weather today(今天天气怎么样)”的查询,查询处理引擎330能够生成响应,并且最初调用的自动化助理305能够以例如“itis sunny and 80degrees today(天气晴朗,今天是80度)”来响应该查询。用户然后可以提交能够与先前查询相关或与先前查询无关的附加查询。例如,用户可以提交“What will itbe tomorrow(明天会怎样)”的后续查询,指示有兴趣被提供明天的天气情况,并且查询处理引擎330能够基于已经发生的与用户的对话来生成响应。作为响应,最初调用的自动化助理305能够用适当的天气预报进行响应。此外,例如,用户能够提交与先前查询无关的“What’s a good movie to watch(有什么值得看的好电影)”的无关查询,并且被提供与先前查询无关的适当响应。
在一些实施方式中,用户可以提交最初调用的自动化助理305无法处理的查询。例如,用户可以向自动化助理105提交“What’s on my calendar today(今天我的日历上有什么)”的查询,该自动化助理105可能不具有对用户101的日历应用的访问。作为响应,查询处理引擎330能够提供否定响应,诸如“I’m sorry,I don’t have access to your calendar(对不起,我不具有对您的日历的访问)”。在这种情况发生的实例中,用户可能需要向随后调用的自动化助理310提交查询,该随后调用的自动化助理310可以具有对用户的日历的访问。如果是,则自动化助理110能够提供响应,诸如“You have a meeting at three today(您今天三点有会议)”。在最初调用的自动化助理305和随后调用的自动化助理310都不具有对用户的日历应用的访问的实例中,用户可能进一步需要调用不同的自动化助理或直接地访问日历应用。因此,在那些实例中,为了让用户确定哪个自动化助理能够提供感兴趣的信息,计算资源被浪费了。
参考图4A,提供了图示了用户101、最初调用的自动化助理305和随后调用的自动化助理310之间的数据流动的图。最初,对话415能够发生在用户101与最初调用的自动化助理305之间。例如,用户可以说出调用最初调用的自动化助理305的一个或多个短语,诸如“OK Assistant A”。该短语能够是仅调用最初调用的自动化助理305并且不调用随后调用的自动化助理310的短语。
在一些实例中,最初调用的自动化助理305可能未被配置为处置用户101的请求。在一些实施方式中,最初调用的自动化助理305可以建议用户将请求转移到随后调用的自动化助理310。例如,用户101可以提交“Play that on Streaming Service(在流式传输服务上播放它)”的查询,并且最初调用的自动化助理305可能没有被配置和/或以其他方式启用以与“Streaming Service(流式传输服务)”通信。然而,随后调用的自动化助理310可以提供指示,诸如由扬声器370广播并且由麦克风320捕获的超声波信号,指示它被配置为与“Streaming Service”通信。在那些实例中,最初调用的自动化助理305能够以诸如提及随后调用的自动化助理310的“I’m sorry,I can’t do that.Would you like me to askAssistant B(对不起,我不能那样做。您想让我问问助理B吗)”的响应来响应。在一些实施方式中,可以不向用户101提供建议。代替地,最初调用的自动化助理305可以确定请求“Play that on Streaming Service”是将对话转移到随后调用的自动化助理310的请求。因此,在一些实例中,对转移建议420的肯定响应(例如,响应于“Would you like me tohave Assistant B do that(您想让我使助理B那样做吗)”的“Yes(是的)”)能够是转移请求425。此外,在没有转移建议420的实例中,用户101的对最初调用的自动化助理305未被配置执行的动作进行执行的请求能够是转移请求(例如,“Play that on StreamingService”)。此外,例如,针对自动化助理执行先前已经被设置为用户偏好的动作的请求能够是在该动作被请求时的实例中的转移请求。
一旦用户101已经请求转移和/或确认转移建议,最初调用的自动化助理305能够调用435随后调用的自动化助理310。在一些实施方式中,最初调用的自动化助理305可以经由最初调用的自动化助理305的助理协调模块325与在相同或不同的设备上正在执行的一个或多个附加自动化助理——诸如经由随后调用的自动化助理310的助理协调模块375——进行通信。例如,最初调用的自动化助理305可以由用户调用并且助理协调模块325可以利用一种或多种协议,诸如Wi-fi、蓝牙、由客户端设备105经由扬声器350广播并且由随后调用的自动化助理302经由麦克风365、API 390和345接收的超声波信号,和/或其他通信信道。
在调用随后调用的自动化助理310之后,最初调用的自动化助理305能够将对话数据的至少一部分转移440到随后调用的自动化助理310。对话数据可以包括用户说出请求的音频数据,然后可以由随后调用的自动化助理310经由ASR和/或NLU进一步分析。在一些实施方式中,最初调用的自动化助理305可以执行ASR和/或NLU,并且对话数据可以包括对话的文本表示和/或NLU输出。
响应于被提供对话数据,查询处理引擎340能够处理该查询并且随后被调用的自动化助理310能够执行响应于由最初被调用的自动化助理305提供的对话数据的一个或多个动作430。动作能够包括例如访问一个或多个应用、与一个或多个其他设备通信、执行搜索、提供合成语音输出、和/或随后调用的自动化助理310被配置为执行的其他动作。一旦一个或多个动作被执行430,对话能够在用户与最初调用的自动化助理305和/或随后调用的自动化助理310之间继续。
作为示例,参考图5A,示出了用户101与两个自动化助理305和310之间的对话。图示的对话不包括转移建议。最初,对话发生在用户与最初调用的自动化助理305之间。对话以用户请求“OK Assistant,What’s a good animated movie?”开始505,最初调用的自动化助理305以“Movie A is a good animated movie(电影A是一部好的动画电影)”进行响应510。在该实例中,该请求可以由最初调用的自动化助理305处置。接下来,用户请求“OKAssistant,play it on Streaming Service”515。最初调用的自动化助理305能够确定它没有被配置为访问和/或利用“Streaming Service”,并且进一步确定随后调用的自动化助理310能够处理该请求(例如,被配置为与“Streaming Service”进行通信)。最初调用的自动化助理305能够调用随后调用的自动化助理310并且提供对话数据,该对话数据能够允许随后调用的自动化助理310执行在“Streaming Service”上播放“Movie A”的动作。例如,最初调用的自动化助理305能够提供用户101与最初调用的自动化助理305之间的对话的音频数据(例如,对话部分505、510和/或515)、对话的文本表示、和/或对话的意图的其他表示。作为响应,随后调用的自动化助理310提供“Playing now on Streaming Service(现在在流式传输服务上播放)”520的合成语音输出,以及在流式传输服务上播放电影A。在该实例中,转移请求能够包括用户先前经由一个或多个用户偏好和/或过去的行为指示“Streaming Service”查询由随后调用的自动化助理310处置。
作为另一个示例,参考图5B,示出了用户101与两个自动化助理305和310之间的对话。在这个图示的对话中,向用户101提供将与最初调用的自动化助理305的对话的至少一部分转移到随后调用的自动化助理310的建议。最初,对话发生在用户101与最初调用的自动化助理305之间。对话开始于用户请求“OK Assistant,What’s on my calendar?”525。最初调用的自动化助理305可能不具有对用户的日历应用的访问,并且可以基于如本文所述由其他自动化助理提供的指示来确定自动化助理310具有对用户的日历应用的访问。最初调用的自动化助理305以“I don’t have access to your calendar.Would you like meto check with Assistant 2?(对不起,我不具有对您的日历的访问。您想让我和助理2核实一下吗?)”进行响应530。该响应包括向用户101显式地建议将对话转移到“Assistant2”,这是对随后调用的自动化助理310的引用。用户101以“Yes”535进行响应,并且最初调用的自动化助理305能够调用助理310,如前所述,并且将先前对话的全部或一部分(或指示对话的数据)进一步转移到随后调用的自动化助理310。随后调用的自动化助理310——其具有对用户的日历应用的访问——能够通过以来自用户日历540的信息进行响应而继续对话。
参考图4B,提供了图示了用户101、最初调用的自动化助理305和随后调用的自动化助理310之间的数据流动的图。最初,对话445能够发生在用户101与最初调用的自动化助理305之间。例如,用户可以说出调用最初调用的自动化助理305的一个或多个短语,诸如“OK Assistant A”。该短语能够是仅调用最初调用的自动化助理305并且不调用随后调用的自动化助理310的短语。对话可以在最初调用的自动化助理305与用户101之间继续,诸如来自用户101的“What is a good movie to watch?”,之后是来自最初调用的自动化助理305的“Movie Ais a good movie to watch(电影A是一部值得观看的好电影)”的响应。
在与最初调用的自动化助理305的对话中的某个时刻,用户可以通过说出对于随后调用的自动化助理310是独特的热词,诸如“OK Assistant B”,来调用随后调用的自动化助理310。热词之后能够是被引导到随后调用的自动化助理310的对话450,诸如“OKAssistant B,play it on Streaming Service”。因此,在该实例中,用户101已经显式地调用自动化助理310并且直接与助理310开始对话。
在一些实例中,随后调用的自动化助理310可能需要关于与最初调用的自动化助理305的先前对话的信息,以便确定请求的意图和/或上下文。例如,在对话445中,用户可以说出“What’s a good movie”,最初调用的自动化助理305可以以“Movie A is a goodmovie”对其进行响应。用户101然后可以说出“OK Assistant B,play it on StreamingService”作为附加对话450。一旦被调用,随后调用的自动化助理310然后能够处理用户101的话语。然而,在那个时刻,随后调用的自动化助理310可能没有上下文来解析用户请求中“it”的含义。因此,最初调用的自动化助理能够向随后调用的自动化助理310提供对话数据465以确定对话450中的上下文和/或意图。
在一些实施方式中,当随后调用的自动化助理310已经被调用并且处理用户101的话语时,验证模块395能够验证话语的说话者(即,用户101)之前已经参与与最初调用的自动化助理305的对话。在一些实施方式中,验证模块335能够向验证模块395提供说话者验证数据455,该验证模块395然后能够确定与最初调用的自动化助理305的先前对话的说话者是否是与对话445的说话者相同的说话者。在一些实施方式中,麦克风365能够根据用户在先前对话期间的话语生成音频数据,并且验证模块335能够处理音频数据以验证对话445(其中麦克风365已捕获)与对话450(也由麦克风365捕获)的说话者相同。因此,在一些实例中,对话数据445已经被随后调用的自动化助理310接收并且不需要对话数据由最初调用的自动化助理305提供。
说话者验证数据可以包括例如由随后调用的自动化助理310的麦克风365捕获的全部或部分对话、说话者的话音配置文件、和/或能够允许验证模块395验证对话450的说话者是与对话445相同的说话者的其他数据。一旦已经提供了说话者验证数据455,最初调用的自动化助理305就能够确定同一说话者是否已经参与与最初调用的自动化助理305的对话。如果最初调用的自动化助理305确定与用户的对话已经发生,最初调用的自动化助理305能够向随后调用的自动化助理310提供验证确认460。该确认指示说话者先前已经参与最初调用的自动化助理305并且最初调用的自动化助理305能够进一步提供在用户101与最初调用的自动化助理305之间发生的对话的对话数据465。因此,随后调用的自动化助理310能够确定对话的上下文并且解析在由与随后调用的自动化助理310相关联的麦克风先前捕获的对话450中的任何歧义。随后调用的自动化助理310然后可以响应于对话450来执行一个或多个动作470,诸如访问应用和/或提供合成语音作为响应。
作为示例,参考图5C,在用户101、最初调用的自动化助理305和随后调用的自动化助理310之间图示了对话。用户101提供了“OK Assistant 1,What’s a good animatedmovie to buy?”的口头话语545,其被引导到最初调用的自动化助理305。最初调用的自动化助理305以“Movie B is highly rated(电影B评价很高)”550响应该话语。作为响应,用户101提供话语“OK Assistant 2,buy it on Online Store”555,其被引导到随后调用的自动化助理310并且由执行随后调用的自动化助理310的客户端设备的一个或多个麦克风捕获。随后调用的自动化助理310能够向最初调用的自动化助理305提供说出话语555的用户的说话者验证数据,使得最初调用的自动化助理305能够验证话语555是由与话语545相同的用户提供的。在一些实施方式中,一旦已经验证了相同的说话者,随后调用的自动化助理310能够被提供先前对话数据(例如,话语545)。在一些实施方式中,随后调用的自动化助理310可能已经经由执行助理的客户端设备的一个或多个麦克风捕获了话语545,因此已经具有先前对话数据。例如,在一些实施方式中,随后调用的自动化助理310可以连续地捕获有限的音频,并且一旦被调用,在验证说话者在两个实例中是相同的之后利用被引导到最初调用的自动化助理305的先前捕获的音频。
图6描绘了图示了用于处理与第一自动化助理的对话并且将对话数据提供给第二自动化助理的示例方法600的流程图。为方便起见,参考执行操作的系统来描述方法600的操作。方法600的该系统包括一个或多个处理器和/或客户端设备的其他部件。此外,虽然方法600的操作以特定次序示出,但这并不意味着限制。可以重新排序、省略或添加一个或多个操作。
在步骤605处,最初调用的自动化助理参与与用户的对话。最初调用的自动化助理可以由用户说出的一个或多个热词调用并且由调用引擎315处理。一旦被调用,查询处理引擎330就能够处理用户的话语并且响应于用户话语来确定一个或多个要执行的动作。例如,最初调用的自动化助理305能够以短语“OK Assistant A”和后续的查询“What's a goodanimated movie”来调用。查询处理引擎330能够确定“Movie A is a good movie”的响应,其能够经由合成语音提供给用户。对话能够在用户与最初调用的自动化助理305之间继续,使得用户能够提供附加的话语,其与先前话语相关(和/或与来自最初调用的自动化助理305的响应相关)或不相关的话语。
在步骤610处,最初调用的自动化助理接收将对话的一部分转移给第二自动化助理的请求。与助理协调模块325共享一个或多个特性的部件能够确定另一个自动化助理——诸如随后调用的自动化助理310——是否被配置为处理对话数据。例如,助理协调模块375能够提供指示,诸如经由扬声器370的可听信号和/或经由API 345和390的指示,其可以由最初调用的自动化助理305接收,指示能够由随后调用的自动化助理310处置的查询类型。作为示例,随后调用的自动化助理310可以被配置为与用户的日历应用通信,并且能够提供能够由麦克风320接收的超声波信号,以向最初调用的自动化助理305指示与用户的日历应用相关的查询能够由随后调用的自动化助理310处置。
在一些实施方式中,用户可以请求将对话数据转移到随后调用的自动化助理。在一些实例中,用户可以显式地请求由最初调用的自动化助理发起的对话由第二自动化助理继续。例如,用户可以说出“OK Assistant 1,Play Song on Assistant 2(好的,助理1,在助理2上播放歌曲)”。在一些实例中,用户可以说出由最初调用的自动化助理无法处理的查询。例如,在与最初调用的自动化助理的对话中,用户可以说出“OK Assistant,buy Movie1on Online Store(好的,助理,在在线商店购买电影1)”,这能够是转移到能够满足该请求的不同自动化助理的请求。
在一些实施方式中,转移请求可以由用户响应于来自最初调用的自动化助理的转移建议而提供。例如,用户可以说出“OK Assistant 1,what’s on my calendar”,并且最初调用的自动化助理可能未被配置为满足该请求。最初调用的自动化助理能够以“I can’taccess your calendar,would you like me to ask Assistant 2(我不具有对您的日历的访问,您想让我问问助理2吗)”进行响应。然后用户可以说出转移请求,诸如“Yes”,并且最初调用的自动化助理305能够调用随后调用的自动化助理310以转移对话数据。
在一些实施方式中,随后调用的自动化助理310可以请求对话数据的转移。例如,在一些实例中,用户101可以调用最初调用的自动化助理305并且参与对话,诸如图5C中所示的对话。在对话中的某个时刻,用户停止与最初调用的自动化助理305的交互,并且代替地用对话555(即,“OK Assistant 2,buy it on Online Store”)来调用随后调用的自动化助理。在这一时刻,随后调用的自动化助理310可能不具有对先前对话的访问,因为在对话回合545和550发生时,随后调用的自动化助理310还没有被调用。在那些实例中,随后调用的自动化助理310能够向最初调用的自动化助理305提交将对话(或指示对话的数据)转移到随后调用的自动化助理310的请求。
在一些实施方式中,随后调用的自动化助理310能够向最初调用的自动化助理305提供转移对话数据、话音验证数据的请求,以验证与最初调用的自动化助理305的对话的说话者是与调用(并随后与之交互)随后调用的自动化助理310的说话者相同的说话者。例如,参考图3,验证模块335能够经由一个或多个通信信道向随后调用的自动化助理310提供指示调用和/或话语的说话者的数据。验证模块395能够基于例如被引导到随后调用的自动化助理310的话语的话音配置文件数据和/或音频数据,确定先前对话的说话者是与随后话语相同的用户101。一经验证,在步骤615处,由最初调用的自动化助理305将对话数据提供给第二(或随后调用的)自动化助理310。
在一些实施方式中,对话数据可以是先前对话的音频数据,查询处理引擎340能够针对其来确定随后话语的意图和/或上下文。在一些实施方式中,意图和/或上下文可以由最初调用的自动化助理305的查询处理引擎330确定并且该意图和/或上下文可以作为对话数据提供给随后调用的自动化助理310。在那些实施方式中,查询处理引擎340能够基于随后话语和先前对话来确定要执行的一个或多个动作。
在步骤620处,第二自动化助理响应于被提供对话数据而执行一个或多个动作。动作可以包括,例如,随后调用的自动化助理基于先前对话的意图和/或上下文解析的话语来完成请求和/或提供响应。在一些实施方式中,动作可以包括随后调用的自动化助理与一个或多个其他应用进行交互。例如,再次参考图5C的对话,由随后调用的自动化助理310执行的动作能够包括与在线商店应用和/或网站进行交互。其他动作可以包括随后调用的自动化助理310以被配置为完成的响应来进行响应、与日历应用进行交互、与流式传输服务进行交互、和/或与其他应用进行交互。
图7描绘了图示了用于向第二自动化助理提供授权以处理来自用户与最初调用的自动化助理之间的对话的对话数据的示例方法700的流程图。在步骤705处,口头查询由第一自动化助理接收。第一自动化助理能够与最初调用的自动化助理305共享一个或多个特性。在一些实施方式中,步骤705能够与图6的步骤605共享一个或多个特性。
在步骤710处,第一自动化助理识别用户与第一(调用的)自动化助理之间的先前对话。对话能够包括用户的一个或多个话语以及第一自动化助理的一个或多个响应。例如,参考图5B,先前对话能够包括说出话语525的用户以及第一自动化助理305的响应530。先前对话数据能够由与查询处理引擎330共享一个或多个特性的部件来确定。
在步骤715处,能够向第一自动化助理305提供第二自动化助理的授权。例如,授权能够包括用户101的话语535,其被包括在转移建议530中。另外,例如和参考图5A,转移授权能够由用户101的话语暗示,诸如指示由用户101授权继续与第二自动化助理310的相同对话的话语515。
在步骤720处,查询的指示被提供给第二自动化助理。在一些实施方式中,步骤720能够与图6的步骤615共享一个或多个特性。例如,指示能够包括先前发生在第一自动化助理与用户之间的对话,以及对话的意图和/或上下文,和/或允许第二自动化助理解析一个或多个意图和/或确定被引导到第二自动化助理的随后话语的上下文的其他数据。
在步骤725处,第二自动化助理能够响应于被引导到第二自动化助理的用户话语来执行一个或多个动作。步骤725能够与图6的步骤620共享一个或多个特性。例如,一个或多个动作能够包括:提供响应的第二自动化助理,该第二自动化助理被配置为对该响应进行响应;和/或与一个或多个应用进行交互的第二自动化助理。
图8描绘了图示示例方法800的流程图,该方法800用于验证与最初调用的自动化助理的对话的说话者与由随后调用的自动化助理处理对话数据的请求的说话者是相同的。
在步骤805处,对提供请求随后调用的自动化助理利用先前对话数据的口头话语的用户进行确定。例如,参考图5C,话语555是调用自动化助理310并且请求将对话数据转移到随后调用的自动化助理310的话语。在一些实施方式中,转移对话数据的请求可以被引导到第一自动化助理305,诸如“OK Assistant,see if Assistant 2can handle thisrequest(好的,助理,看看助理2能不能处置这个请求)。”在一些实施方式中,转移对话数据的请求可以被引导到随后调用的自动化助理310,如图5C所示。在一些实施方式中,用户的请求可以响应于转移对话数据的建议,如图5B所示。
在步骤810处,对捕获口头话语的音频数据进行确定。音频数据能够由与麦克风365和/或麦克风320共享一个或多个特性的部件捕获。例如,麦克风320可以捕获口头话语,并且助理协调模块325能够将音频数据转移到随后调用的自动化助理310。此外,例如,麦克风365能够直接地捕获音频数据,该音频数据除了是转移请求之外,还能够经由调用引擎385来调用随后调用的自动化助理310。
在步骤815处,一个或多个部件确定音频数据是否由与先前对话相同的用户提供。所述一个或多个部件能够与验证模块335和/或验证模块395共享一个或多个特性。例如,音频数据能够由麦克风365捕获,发送到最初调用的自动化助理305,并且验证模块395能够确定音频数据是否由与先前对话相同的用户提供。此外,例如,最初调用的自动化助理305能够向随后调用的自动化助理310提供验证数据,并且验证模块335能够确定口头话语(由麦克风365捕获)的说话者是否与先前对话的说话者相同。
在步骤820处,先前对话数据被提供给随后调用的自动化助理。先前对话数据能够包括先前对话的音频数据、先前对话的意图和/或上下文,和/或能够由随后调用的自动化助理用来确定用户的随后话语的意图和/或上下文的其他数据。在一些实施方式中,其中,步骤815的验证指示说话者与先前对话的说话者不同,一个或多个部件可以防止对话数据被转移到随后调用的自动化助理315。
图9是可以可选地用于执行本文描述的技术的一个或多个方面的示例计算设备910的框图。计算设备910通常包括至少一个处理器914,其经由总线子系统912与多个外围设备通信。这些外围设备可以包括存储子系统924,包括例如存储器子系统925和文件存储子系统926,用户接口输出设备920、用户接口输入设备922和网络接口子系统916。输入和输出设备允许用户与计算设备910交互。网络接口子系统916提供到外部网络的接口并且被耦合到其他计算设备中的对应接口设备。
用户接口输入设备922可以包括键盘、诸如鼠标、轨迹球、触摸板或绘图板的定点设备、扫描仪、并入显示器的触摸屏、诸如话音辨识系统、麦克风的音频输入设备、和/或其他类型的输入设备。通常,词项“输入设备”的使用旨在包括所有可能类型的设备和将信息输入到计算设备910中或输入到通信网络上的方式。
用户接口输出设备920可以包括显示子系统、打印机、传真机、或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备、或用于创建可见图像的一些其他机制。显示子系统还可以提供非可视显示器,诸如经由音频输出设备。一般而言,词项“输出设备”的使用旨在包括所有可能类型的设备以及将信息从计算设备910输出到用户或输出到另一个机器或计算设备的方式。
存储子系统924存储提供本文描述的一些或所有模块的功能性的编程和数据结构。例如,存储子系统924可以包括用于执行图6-8的方法的被选择的方面的逻辑,和/或实施图2-4中描绘的各种部件。
这些软件模块通常由处理器914单独执行或与其他处理器结合执行。存储子系统924中使用的存储器925能够包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)930以及其中存储固定指令的只读存储器(ROM)932。文件存储子系统926能够为程序和数据文件提供永久性存储,并且可以包括硬盘驱动器、软盘驱动器以及关联的可移动介质、CD-ROM驱动器、光驱或可移动介质盒。实施某些实施方式的功能性的模块可以由文件存储子系统926存储在存储子系统924中,或者存储在处理器914可访问的其他机器中。
总线子系统912提供了一种机制,用于让计算设备910的各种部件和子系统按预期相互通信。尽管总线子系统912被示意性地示出为单个总线,但是总线子系统的可替选的实施方式可以使用多个总线。
计算设备910能够是包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备的不同类型。由于计算机和网络的不断改变的本质,图9中描绘的计算设备910的描述仅旨在作为用于说明一些实施方式的目的的特定示例。计算设备910的许多其他配置可能具有比图9中描绘的计算设备更多或更少的部件。
在一些实施方式中,提供了一种由一个或多个处理器实现的方法,该方法包括,在用户与最初调用的自动化助理之间的对话期间:由最初调用的自动化助理并且经由在具有用户的环境中的客户端设备的第一自动化助理界面,接收被引导到最初调用的自动化助理的用户的口头话语作为对话的一部分;由最初调用的自动化助理来处理口头话语以生成对于口头话语的响应;由最初调用的自动化助理使对于由客户端设备渲染的口头话语的响应作为对话的一部分;以及由最初调用的自动化助理并且在使响应被渲染之后,接收将由第一自动化助理生成的对话数据作为对话的一部分转移到第二自动化助理的请求。响应于接收到所述请求,方法进一步包括由第一自动化助理并且经由与第二自动化助理的通信信道向第二自动化助理提供对话数据,其中,提供对话数据使第二自动化助理基于对话数据来执行一个或多个动作。
本文公开的技术的这些和其他实施方式能够包括以下特征中的一个或多个。
在一些实施方式中,要转移的请求是被引导到最初调用的自动化助理的用户的附加口头话语。
在一些实施方式中,要转移的请求是来自第二自动化助理的处理口头话语的请求。在那些实施方式中的一些中,要转移的请求包括指示口头话语的音频数据。在那些实施方式中的一些中,方法进一步包括:由最初调用的自动化助理基于使用说话者验证模型处理音频数据来验证用户是由音频数据指示的说话者;其中,向第二自动化助理提供对话数据取决于验证用户是由音频数据指示的说话者。
在一些实施方式中,第二自动化助理正在与第一设备分离的第二设备上操作,并且其中,一个或多个动作包括生成经由第二客户端设备提供给用户的第二助理音频输出。
在一些实施方式中,要处理的请求包括要由第二自动化助理执行的一个或多个动作的指示,并且其中,最初调用的助理不能执行所述一个或多个动作。
在一些实施方式中,提供了由一个或多个处理器实现的另一种方法,并且包括:由最初调用的自动化助理的最初调用的自动化助理客户端接收用户的口头查询,该用户的口头查询在用户的环境中在由第一客户端设备的一个或多个麦克风生成的音频数据中捕获,第一自动化助理客户端被安装在第一客户端设备上;基于用户与由音频数据指示的最初调用的自动化助理之间的先前对话,识别由对话的一个或多个词项指示的用户意图,向在环境中的第二客户端设备上安装的第二自动化助理客户端提供授权以基于用户意图来处理查询,以及由最初调用的自动化助理客户端并且经由与第二自动化助理客户端的通信信道向第二自动化助理客户端提供查询的指示和用户意图,其中,提供指示和用户意图使第二自动化助理客户端执行一个或多个动作。
本文公开的技术的这些和其他实施方式能够包括以下特征中的一个或多个。
在一些实施方式中,通信信道包括超声通信信道,并且向第二自动化助理客户端提供查询的指示和用户意图的步骤包括使包含查询的指示和用户意图的超声波信号经由第一客户端设备的一个或多个扬声器被渲染。
在一些实施方式中,方法进一步包括从用户接收请求第二自动化助理客户端处理查询的第二口头查询,其中,响应于接收到第二口头查询而提供授权。
在一些实施方式中,方法进一步包括确定第一自动化助理无法处理用户意图,向用户提供建议以提供授权,以及接收来自用户的授权,其中,响应于接收到来自用户的授权而向第二自动化助理客户端提供授权。
在一些实施方式中,方法进一步包括对捕获口头查询的音频数据执行自动语音辨识以生成文本查询,其中,查询的指示是文本查询。
在一些实施方式中,提供了由一个或多个处理器实现的另一种方法,并且包括在最初调用的自动化助理处确定用户提供了口头话语,该口头话语请求随后调用的自动化助理利用来自用户与最初调用的自动化助理的先前对话的对话数据。响应于确定用户提供了口头话语,方法进一步包括由最初调用的自动化助理处理捕获口头话语的音频数据,并且由最初调用的自动化助理和基于处理,确定音频数据是否由参与先前对话的同一用户提供。当确定所述用户是同一用户时,方法进一步包括将先前对话数据提供给随后调用的自动化助理。当确定用户不是同一用户时,方法包括阻止提供对话数据。
本文公开的技术的这些和其他实施方式能够包括以下特征中的一个或多个。
在一些实施方式中,音频数据由施行最初调用的自动化助理的第一设备的麦克风捕获。
在一些实施方式中,音频数据由施行随后调用的自动化助理的第二设备的麦克风捕获。
在一些实施方式中,口头话语被引导到最初调用的自动化助理。
在一些实施方式中,口头话语被引导到随后调用的自动化助理。
在一些实施方式中,先前对话数据是经由非人类可听信号提供的,该非人类可听信号由施行最初调用的自动化助理的第一客户端设备的扬声器生成并且由施行随后调用的自动化助理的第二客户端设备的一个或多个麦克风接收。
在一些实施方式中,先前对话数据是经由最初调用的自动化助理与随后调用的自动化助理之间的应用编程接口提供的。
在一些实施方式中,先前对话数据包括用户与最初调用的自动化助理之间的对话的文本表示。
在一些实施方式中,先前对话数据包括捕获用户与最初调用的自动化助理之间的对话的音频数据。
在本文讨论的某些实施方式可能收集或使用关于用户的个人信息的情况下(例如,从其他电子通信中提取的用户数据,关于用户社交网络、用户位置、用户时间、用户生物特征信息和用户的活动的信息,和人口统计信息、用户之间的关系等),向用户提供一个或多个机会来控制是否收集信息、是否存储个人信息、是否使用个人信息、以及如何关于用户收集、存储和使用信息。也就是说,本文讨论的系统和方法仅在收到这样做的相关用户的明确授权时才收集、存储和/或使用用户个人信息。
例如,向用户提供对于程序或特征是否收集关于该特定用户或与该程序或特征相关的其他用户的用户信息的控制。向要收集其个人信息的每个用户呈现一个或多个选项,以允许控制与该用户相关的信息收集,就是否收集信息以及收集信息的哪些部分提供许可或授权。例如,能够通过通信网络向用户提供一个或多个这样的控制选项。此外,某些数据在存储或使用之前可能会以一种或多种方式处理,使得个人身份信息被去除。作为一个示例,可以处理用户的身份以使得无法确定个人身份信息。作为另一个示例,可以将用户的地理位置概括为更大的区域,使得不能确定用户的特定位置。
虽然本文已经描述和说明了若干实施方式,但是可以利用本文所述的用于执行功能和/或获得结果和/或一个或多个优点的各种其他装置和/或结构,并且这些变体和/或修改中的每一个被认为是在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置旨在示例性的并且实际参数、尺寸、材料和/或配置将取决于使用教导的一个或多个特定应用。本领域的技术人员将认识到或能够使用不多于常规实验来确定与本文所述的具体实施方式的许多等同物。因此,应当理解,前述实施方式仅以示例的方式呈现,并且在所附权利要求及其等同物的范围内,可以以不同于具体描述和要求保护的方式实践实施方式。本公开的实施方式涉及本文描述的每个单独的特征、系统、物品、材料、套件和/或方法。此外,两个或更多个这样的特征、系统、物品、材料、套件和/或方法的任何组合,如果这样的类特征、系统、物品、材料、套件和/或方法不是相互不一致,则被包括在本公开的范围内。

Claims (22)

1.一种由一个或多个处理器实现的方法,所述方法包括:
在用户与最初调用的自动化助理之间的对话期间:
由所述最初调用的自动化助理并且经由在具有用户的环境中的客户端设备的第一自动化助理界面,接收被引导到所述最初调用的自动化助理的所述用户的口头话语作为所述对话的一部分;
由所述最初调用的自动化助理来处理所述口头话语以生成对于所述口头话语的响应;
由所述最初调用的自动化助理使对于所述口头话语的响应被所述客户端设备渲染作为所述对话的一部分;
由所述最初调用的自动化助理并且在使所述响应被渲染之后,接收将由所述第一自动化助理生成的对话数据作为所述对话的一部分转移到第二自动化助理的请求;
响应于接收到所述请求:
由所述最初调用的自动化助理并且经由与所述第二自动化助理的通信信道向所述第二自动化助理提供所述对话数据,
其中,提供所述对话数据使所述第二自动化助理基于所述对话数据来执行一个或多个动作。
2.根据权利要求1所述的方法,其中,所述用于转移的请求是被引导到所述最初调用的自动化助理的所述用户的附加口头话语。
3.根据权利要求1所述的方法,其中,所述用于转移的请求是来自所述第二自动化助理的处理所述口头话语的请求。
4.根据权利要求3所述的方法,其中,所述用于转移的请求包括指示所述口头话语的音频数据。
5.根据权利要求4所述的方法,进一步包括:
由所述最初调用的自动化助理基于使用说话者验证模型处理所述音频数据来验证所述用户是由所述音频数据指示的说话者;
其中,向所述第二自动化助理提供所述对话数据取决于验证所述用户是由所述音频数据指示的所述说话者。
6.根据任一项前述权利要求所述的方法,其中,所述第二自动化助理在与所述第一设备分离的另一客户端设备上操作,并且其中,所述一个或多个动作包括生成经由所述另一客户端设备提供给所述用户的第二助理音频输出。
7.根据任一项前述权利要求所述的方法,其中,所述对话数据包括对于要由所述第二自动化助理执行的所述一个或多个动作的指示,并且其中,所述最初调用的助理不能执行所述一个或多个动作。
8.一种计算机实现的方法,包括:
由最初调用的自动化助理的最初调用的自动化助理客户端接收用户的口头查询,所述用户的口头查询在所述用户的环境中在由第一客户端设备的一个或多个麦克风生成的音频数据中捕获,所述第一自动化助理客户端被安装在所述第一客户端设备上;
基于所述用户与由所述音频数据指示的所述最初调用的自动化助理之间的先前对话,识别由所述对话的一个或多个词项指示的用户意图;
向被安装在所述环境中的第二客户端设备上的第二自动化助理客户端提供授权以基于所述用户意图来处理所述查询;以及
由所述最初调用的自动化助理客户端并且经由与所述第二自动化助理客户端的通信信道向所述第二自动化助理客户端提供所述查询的指示和所述用户意图,
其中,提供所述指示和所述用户意图使所述第二自动化助理客户端执行一个或多个动作。
9.根据权利要求8所述的方法,其中,所述通信信道包括超声波通信信道,并且其中,向所述第二自动化助理客户端提供所述查询的所述指示和所述用户意图包括:
使包含所述查询的所述指示和所述用户意图的超声波信号经由所述第一客户端设备的一个或多个扬声器被渲染。
10.根据权利要求8或权利要求9所述的方法,进一步包括:
从所述用户接收请求所述第二自动化助理客户端处理所述查询的第二口头查询,其中,响应于接收到所述第二口头查询而提供所述授权。
11.根据权利要求8至10中的任一项所述的方法,进一步包括:
确定所述第一自动化助理无法处理所述用户意图;
响应于确定所述第一自动化助理无法处理所述用户意图,向所述用户提供建议以提供所述授权;以及
接收来自所述用户的所述授权,其中,响应于接收到来自所述用户的所述授权而向所述第二自动化助理客户端提供所述授权。
12.根据权利要求8至11中的任一项所述的方法,进一步包括:
对捕获所述口头查询的所述音频数据执行自动语音辨识以生成文本查询,其中,所述查询的所述指示是所述文本查询。
13.一种计算机实现的方法,包括:
在最初调用的自动化助理处确定用户提供了口头话语,所述口头话语请求随后调用的自动化助理利用来自所述用户与所述最初调用的自动化助理的先前对话的先前对话数据;
响应于确定所述用户提供了所述口头话语,
由所述最初调用的自动化助理处理捕获所述口头话语的音频数据;
由所述最初调用的自动化助理并且基于所述处理,确定所述音频数据是否由参与所述先前对话的同一用户提供;以及
当确定所述用户是所述同一用户时:
将所述先前对话数据提供给所述随后调用的自动化助理;以及
当确定所述用户不是所述同一用户时:
阻止提供所述对话数据。
14.根据权利要求13所述的方法,其中,所述音频数据由施行所述最初调用的自动化助理的第一设备的麦克风捕获。
15.根据权利要求13所述的方法,其中,所述音频数据由施行所述随后调用的自动化助理的第二设备的麦克风捕获。
16.根据权利要求13至15中的任一项所述的方法,其中,所述口头话语被引导到所述最初调用的自动化助理。
17.根据权利要求13至15中的任一项所述的方法,其中,所述口头话语被引导到所述随后调用的自动化助理。
18.根据权利要求13至17中的任一项所述的方法,其中,所述先前对话数据是经由非人类可听信号提供的,所述非人类可听信号由施行所述最初调用的自动化助理的第一客户端设备的扬声器生成并且由施行所述随后调用的自动化助理的第二客户端设备的一个或多个麦克风接收。
19.根据权利要求13至17中的任一项所述的方法,其中,所述先前对话数据是经由所述最初调用的自动化助理与所述随后调用的自动化助理之间的应用编程接口提供的。
20.根据权利要求13至19中的任一项所述的方法,其中,所述先前对话数据包括所述用户与所述最初调用的自动化助理之间的对话的文本表示。
21.一种包括指令的计算机程序,所述指令在由计算系统的一个或多个处理器执行时使所述计算系统执行任一项前述权利要求所述的方法。
22.一个或多个计算设备,所述一个或多个计算设备被配置为执行根据权利要求1至20中的任一项所述的方法。
CN202180088756.4A 2021-07-21 2021-12-16 从最初调用的自动化助理向随后调用的自动化助理转移对话数据 Pending CN116670638A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163224250P 2021-07-21 2021-07-21
US63/224,250 2021-07-21
US17/532,276 2021-11-22
US17/532,276 US20230025709A1 (en) 2021-07-21 2021-11-22 Transferring dialog data from an initially invoked automated assistant to a subsequently invoked automated assistant
PCT/US2021/063753 WO2023003585A1 (en) 2021-07-21 2021-12-16 Transferring dialog data from an initially invoked automated assistant to a subsequently invoked automated assistant

Publications (1)

Publication Number Publication Date
CN116670638A true CN116670638A (zh) 2023-08-29

Family

ID=84976816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180088756.4A Pending CN116670638A (zh) 2021-07-21 2021-12-16 从最初调用的自动化助理向随后调用的自动化助理转移对话数据

Country Status (5)

Country Link
US (1) US20230025709A1 (zh)
EP (1) EP4147231A1 (zh)
JP (1) JP2024505787A (zh)
KR (1) KR20230118940A (zh)
CN (1) CN116670638A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230223031A1 (en) * 2022-01-11 2023-07-13 Google Llc User authentication, for assistant action, using data from other device(s) in a shared environment

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11748660B2 (en) * 2020-09-17 2023-09-05 Google Llc Automated assistant training and/or execution of inter-user procedures

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875494B2 (en) * 2013-04-16 2018-01-23 Sri International Using intents to analyze and personalize a user's dialog experience with a virtual personal assistant
US20150364129A1 (en) * 2014-06-17 2015-12-17 Google Inc. Language Identification
US11436417B2 (en) * 2017-05-15 2022-09-06 Google Llc Providing access to user-controlled resources by automated assistants
EP3688626A1 (en) * 2017-09-28 2020-08-05 Oracle International Corporation Enabling autonomous agents to discriminate between questions and requests
CN118250315A (zh) * 2018-01-16 2024-06-25 谷歌有限责任公司 提供助理深度链接以实行第三方对话会话转移的系统、方法和装置
CN112313924B (zh) * 2018-05-07 2024-09-10 谷歌有限责任公司 提供用于控制各种连接设备的复合图形助理界面
WO2020040753A1 (en) * 2018-08-21 2020-02-27 Google Llc Automated assistant invocation of second interactive module using supplemental data provided by first interactive module
US20200111491A1 (en) * 2018-10-08 2020-04-09 Alkira Software Holdings Pty Ltd. Speech enabled user interaction
CN111902865B (zh) * 2018-12-03 2024-07-12 谷歌有限责任公司 文本无关的说话者识别
WO2020117296A1 (en) * 2018-12-07 2020-06-11 Google Llc Conditionally assigning various automated assistant function(s) to interaction with a peripheral assistant control device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230223031A1 (en) * 2022-01-11 2023-07-13 Google Llc User authentication, for assistant action, using data from other device(s) in a shared environment

Also Published As

Publication number Publication date
US20230025709A1 (en) 2023-01-26
JP2024505787A (ja) 2024-02-08
EP4147231A1 (en) 2023-03-15
KR20230118940A (ko) 2023-08-14

Similar Documents

Publication Publication Date Title
US11798541B2 (en) Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
EP3926625B1 (en) Voice to text conversion based on third-party agent content
CN116670638A (zh) 从最初调用的自动化助理向随后调用的自动化助理转移对话数据
JP2024020472A (ja) 人間の参加者の代理の自動アシスタントによる準委任通話
US12080293B2 (en) Combining responses from multiple automated assistants
US12086554B2 (en) Rendering content using a content agent and/or stored content parameter(s)
WO2023003585A1 (en) Transferring dialog data from an initially invoked automated assistant to a subsequently invoked automated assistant
CN115552517A (zh) 自动化助理响应呈现的无热词抢占
US20230230578A1 (en) Personalized speech query endpointing based on prior interaction(s)
US20230144884A1 (en) Providing related queries to a secondary automated assistant based on past interactions
US12125477B2 (en) Hot-word free pre-emption of automated assistant response presentation
US20240201938A1 (en) Pairing audio data channels based on initiating, using a first client device, playback of media on a second client device
US20230186909A1 (en) Selecting between multiple automated assistants based on invocation properties
US20240185848A1 (en) Generating a group automated assistant session to provide content to a plurality of users via headphones
WO2023086229A1 (en) Providing related queries to a secondary automated assistant based on past interactions
CN118679518A (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