掌桥专利:专业的专利平台
掌桥专利
首页

口头话语的解释的协同排名

文献发布时间:2024-04-18 19:58:21


口头话语的解释的协同排名

背景技术

人类可以通过在本文中被称为“自动化助理”(也被称为“聊天机器人”、“交互式个人助理”、“智能个人助理”、“个人话音助理”、“会话代理”等)的交互式软件应用参与人机对话。自动化助理在解释和响应口头话语和/或其他用户输入(例如,键入输入、触摸输入等)时通常依赖于组件的流水线。例如,自动语音辨识(ASR)引擎能够处理与用户的口头话语相对应的音频数据以生成ASR输出,诸如口头话语的语音假设(即,术语和/或其他词元的序列)。此外,自然语言理解(NLU)引擎能够处理ASR输出(或触摸/键入输入)以生成NLU输出,诸如由用户在提供口头话语(和/或其他用户输入)时表达的一个或多个预测意图以及可选地与一个或多个预测意图中的每一个相关联的参数的槽值。此外,履行引擎能够被用来处理NLU输出,并且生成要发送到各种履行器以获得履行输出的一个或多个结构化请求,诸如响应于口头话语而被提供以呈现给用户的内容和/或响应于口头话语而由自动化助理或另一计算设备执行的动作。

通常,自动化助理基于NLU输出和/或履行输出来确定口头话语和/或其他用户输入的多个解释,并且选择口头话语和/或被预测为响应于口头话语的其他用户输入的给定解释。例如,假设用户提供口头话语“Assistant,play Crazy using Example MusicStreaming Platform(助理,使用示例音乐流式传输平台播放Crazy)”。在该示例中,自动化助理能够生成NLU输出,该NLU输出至少包括预测的音乐回放意图,该预测的音乐回放意图对于要使用“示例音乐流式传输平台(Example Music Streaming Platform)”播放的歌曲参数具有“Crazy”的槽值。值得注意的是,在提供口头话语时,用户没有为艺术家参数指定任何槽值。结果,自动化助理可以推断艺术家参数的各种艺术家槽值,以确定口头话语的多个解释。例如,第一解释可以包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 1”的预测音乐回放意图;第二解释可以包括预测的音乐回放意图对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 2”;第三解释可以包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 3”的预测的音乐回放意图;等等。自动化助理可以选择多个解释中的一个,并且响应于接收到口头话语而使例如“Artist 1”的歌曲“Crazy”被回放。

然而,在确定多个解释并且选择多个解释中的一个时,自动化助理可能不考虑“示例流式传输平台”可用的任何数据,因为由于各种隐私考虑,该数据可能不可用于自动化助理。例如,在用户直接与“示例流式传输平台”交互而不利用自动化助理的实例中,自动化助理可能不具有对由“示例流式传输平台”生成的数据的访问。此外,例如,在特定歌曲或特定艺术家跨用户群体热门的实例中,自动化助理可能不具有对由“示例流式传输平台”生成的数据的访问。因此,自动化助理可以响应于接收到口头话语而确定次优解释和/或选择不正确的解释。结果,可能需要用户将口头话语重新提交给自动化助理(并且可选地包括更具体的槽值)和/或与“示例流式传输平台”手动交互,从而增加在客户端设备处接收的用户输入的数量并且延长用户与自动化助理之间的人机对话。此外,用户不仅可能对自动化助理感到沮丧,而且可能对“示例流式传输平台”感到沮丧,从而在用户与自动化助理之间的人机对话期间负面地影响用户的用户体验。

发明内容

本文描述的实施方式涉及使得能够对引导到自动化助理的口头话语的解释进行协同排名。在一些实施方式中,自动化助理能够使用自动语音辨识(ASR)模型处理捕获引导到(例如,至少部分地在用户的客户端设备处执行的)自动化助理的口头话语的音频数据以生成ASR输出,并且使用自然语言理解(NLU)模型处理ASR输出以生成NLU输出。此外,自动化助理能够基于处理NLU输出来确定口头话语的一个或多个第一方(IP)解释。一个或多个1P解释中的每一个可以与对应的1P预测值相关联,该对应的1P预测值指示一个或多个1P解释中的每一个被预测为满足口头话语的置信度的大小。

此外,自动化助理能够基于通过网络将NLU输出发送到一个或多个第三方(3P)代理并且接收一个或多个3P解释来获得由一个或多个3P代理确定的口头话语的一个或多个3P解释。一个或多个3P解释中的每一个可以与对应的3P预测值相关联,该3P预测值指示一个或多个3P解释中的每一个被预测为满足口头话语的置信度的大小。此外,自动化助理能够基于对应的1P预测值和对应的3P预测值从一个或多个1P解释和一个或多个3P解释当中选择口头话语的给定解释,以基于口头话语的给定解释使一个或多个3P代理中的给定3P代理满足口头话语。

在附加或可替代实施方式中,独立3P代理能够获得由自动化助理确定的1P解释和由一个或多个3P代理确定的3P解释,并且选择口头话语的给定解释。此外,独立3P代理能够将口头话语的给定解释发送到自动化助理和/或给定3P代理。因此,能够通过考虑由自动化助理确定的1P解释和由一个或多个3P代理确定的3P解释两者来协同地选择口头话语的给定解释。

例如,假设用户提供口头话语“Assistant,play Crazy using Example MusicStreaming Platform(助理,使用示例音乐流式传输平台播放Crazy)”。在该示例中,自动化助理能够处理捕获口头话语的音频数据以生成ASR输出,诸如与口头话语相对应的辨识文本。此外,自动化助理能够处理ASR输出以生成NLU输出,诸如对于要使用“示例音乐流式传输平台”播放的歌曲参数具有槽值“Crazy”的预测音乐回放意图。值得注意的是,在提供口头话语时,尽管多个音乐艺术家可能与标题为“Crazy”的歌曲相关联,但用户没有为艺术家参数指定任何槽值。结果,自动化助理可以推断艺术家参数的各种艺术家槽值,以确定口头话语的一个或多个1P解释和对应的1P预测值。例如,第一1P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 1”的预测音乐回放意图,并且能够与第一1P预测值相关联;第二1P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 2”的预测音乐回放意图,并且能够与第二1P预测值相关联;第三1P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 3”的预测音乐回放意图,并且能够与第三1P预测值相关联等等。

此外,自动化助理能够将一个或多个结构化请求发送到与“示例音乐流式传输平台”相关联的3P代理。能够基于ASR输出和/或NLU输出生成发送到3P代理的一个或多个结构化请求。例如,一个或多个结构化请求能够包括与口头话语(或其一部分)相对应的辨识文本、预测音乐回放意图、要使用“示例音乐流式传输平台”播放的歌曲参数的槽值“Crazy”、生成一个或多个3P解释的指示和/或需要解析艺术家参数的指示。响应于接收到一个或多个结构化请求,与“示例音乐流式传输平台”相关联的3P代理能够确定一个或多个3P解释和对应的3P预测值。一个或多个3P解释可以与一个或多个1P解释相同和/或包括与一个或多个1P解释不同的口头话语的唯一解释。例如,第一3P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 4”的预测音乐回放意图,并且能够与第一3P预测值相关联;第二3P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 1”的预测音乐回放意图,并且能够与第二3P预测值相关联;第三3P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 2”的预测音乐回放意图,并且能够与第三3P预测值相关联等等。

值得注意的是,当与一个或多个1P解释(例如,与“Artist 4”相关联的第一3P解释)相比时,一个或多个3P解释包括唯一解释。在一些实例中,在一个或多个3P解释中包括的唯一解释能够基于提供口头话语的用户与3P代理的一个或多个用户交互,该3P代理与“示例音乐流式传输平台”相关联并且不使用自动化助理。与“示例音乐流式传输平台”相关联的3P代理的一个或多个用户交互可能被认为是与3P代理的直接用户交互,因为自动化助理可能不知道直接用户交互。例如,一个或多个用户交互能够包括用户与和“示例音乐流式传输平台”相关联的3P代理手动交互以播放示例艺术家“Artist 4”的标题为“Crazy”的歌曲。在其他实例中,在一个或多个3P解释中包括的唯一解释能够基于排除提供口头话语的用户的一组用户与和“示例音乐流式传输平台”相关联的3P代理的一个或多个用户交互。例如,一个或多个用户交互能够包括相应用户与和“示例音乐流式传输平台”相关联的3P代理交互(并且利用或不利用相应的自动化助理)以播放示例艺术家“Artist 4”的标题为“Crazy”的歌曲,使得示例艺术家“Artist 4”的标题为“Crazy”的歌曲在用户组当中热门或受欢迎。因此,可以基于自动化助理不可用的数据来确定由与“示例音乐流式传输平台”相关联的3P代理确定的一个或多个3P解释。

此外,与“示例音乐流式传输平台”相关联的3P代理可以将一个或多个3P解释发送回自动化助理。在这些实施方式中,自动化助理能够基于对应的1P预测值和对应的3P预测值从一个或多个1P解释和一个或多个3P解释中选择给定解释,并且使得与“示例音乐流式传输平台”相关联的3P代理基于口头话语的给定解释来满足口头话语。例如,假设自动化助理选择包括预测音乐回放意图的第一3P解释,该预测音乐回放意图对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 4”。在该实例中,与“示例音乐流式传输平台”相关联的3P代理能够发起示例艺术家“Artist 4”的标题为“Crazy”的歌曲的流式传输。

附加地或可替代地,自动化助理能够将一个或多个1P解释发送到独立的3P代理,并且与“示例音乐流式传输平台”相关联的3P代理能够将一个或多个3P解释发送到独立的3P代理。在这些实施方式中,独立3P代理能够基于对应的1P预测值和对应的3P预测值从一个或多个1P解释和一个或多个3P解释当中选择给定解释。独立3P代理能够将给定解释发送到与“示例音乐流式传输平台”相关联的自动化助理和/或3P代理。换句话说,独立3P代理能够将给定解释发送到自动化助理,并且自动化助理能够使与“示例音乐流式传输平台”相关联的3P代理满足口头话语,或者独立3P代理能够将给定解释直接发送到与“示例音乐流式传输平台”相关联的3P代理。

尽管参考解析与预测意图相关联的参数的槽值描述了上述示例,但是应当理解,这是为了示例的目的而不意味着限制。例如,假设在不指定任何类型的流式传输平台的情况下,用户代替地提供了口头话语“Assistant,play pretty woman(助理,播放prettywoman)”。在该示例中,自动化助理能够处理捕获口头话语的音频数据以生成ASR输出,诸如与口头话语相对应的辨识文本。此外,自动化助理能够处理ASR输出以生成NLU输出,诸如对于歌曲参数具有槽值“pretty woman”的预测音乐回放意图,以及对于电影参数具有槽值“pretty woman”的预测电影回放意图。尽管如此,自动化助理能够确定口头话语的一个或多个1P解释,并且一个或多个3P代理(例如,音乐流式传输服务3P代理、电影流式传输服务3P代理和/或其他3P代理)能够与上述相同或类似的方式确定一个或多个3P解释。换句话说,能够利用多个3P代理来生成一个或多个3P解释,并且自动化助理和/或独立3P代理能够在选择被用于满足口头话语的给定解释时考虑口头话语的所有解释和与其相关联的对应预测值。

在一些实施方式中,对应的1P预测值能够包括对应的1P阶数,作为预测每个1P解释满足口头话语的置信度的大小,并且对应的3P预测值能够包括对应的3P阶数,作为预测每个3P解释满足口头话语的置信度的大小。继续上述示例,自动化助理能够确定一个或多个1P解释的阶数,诸如与“Artist 1”相关联的第一1P解释、与“Artist 2”相关联的第二1P解释,然后与“Artist 3”相关联的第三1P解释的阶数。此外,与“示例音乐流式传输平台”相关联的3P代理能够确定一个或多个1P解释的阶数,诸如与“Artist 4”相关联的第一3P解释、与“Artist 1”相关联的第二3P解释,然后与“Artist 2”相关联的第三3P解释的阶数。

在这些实施方式中,在选择给定解释时,自动化助理和/或独立3P代理能够将一个或多个规则应用于对应的1P阶数和对应的3P阶数以选择口头话语的给定解释。例如,自动化助理和/或独立3P代理能够基于确定对应的1P预测值指示对应的1P阶数并且对应的3P预测值指示对应的3P阶数,将一个或多个启发式定义的规则标识为一个或多个规则。例如,继续上述示例,一个或多个启发式定义的规则能够指示应当选择在对应的1P阶数和对应的3P阶数两者中最高的解释作为给定解释,诸如与“Artist 1”相关联的解释,因为它相对于一个或多个1P解释被排序为第一,并且相对于一个或多个3P解释被排序为第二。可替代地,一个或多个启发式定义的规则能够指示应该选择在对应的3P阶数中最高的解释作为给定解释,诸如与“Artist 4”相关联的解释,因为它相对于一个或多个3P解释排序第一。尽管在上述示例中描述了特定规则,但是应当理解,这些规则是为了示例而提供的,并不意味着限制。

在附加或可替代实施方式中,对于一个或多个1P解释中的每一个,对应的1P预测值可以包括对应的1P得分,作为1P解释中的每一个被预测为满足口头话语的置信度的大小,并且对于一个或多个3P解释中的每一个,对应的3P预测值可以包括对应的3P得分,作为3P解释中的每一个被预测为满足口头话语的置信度的大小。继续上述示例,自动化助理能够确定一个或多个1P解释中的每一个的对应1P得分(例如,概率、对数似然性和/或指示对应1P得分的任何其他预测值),诸如与“Artist 1”相关联的第一1P解释的第一1P得分0.71,与“Artist 2”相关联的第二1P解释的第二1P得分0.6,以及与“Artist 3”相关联的第三1P解释的第三1P得分0.5。自动化助理能够基于与口头话语的ASR输出相关联的ASR度量、与口头话语的NLU输出相关联的NLU度量、用户简档数据、与自动化助理的历史交互(并且可选地限于用户利用自动化助理与和“示例音乐流式传输平台”相关联的3P代理交互的交互)和/或基于自动化助理可访问的任何其他数据来确定对应的1P得分。此外,与“示例音乐流式传输平台”相关联的3P代理可以确定一个或多个3P解释中的每一个的对应3P得分(例如,概率、对数似然性和/或指示对应的3P得分的任何其他预测值),诸如与“Artist 4”相关联的第一3P解释的第一3P得分0.86,与“Artist 1”相关联的第二3P解释的第二3P得分0.7,以及与“Artist 2”相关联的第三3P解释的第三3P得分0.5。与“示例音乐流式传输平台”相关联的3P代理能够基于与“示例音乐流式传输平台”相关联的3P代理可用的任何数据来确定对应的3P得分。

在这些实施方式中,在选择给定解释时,自动化助理和/或独立3P代理能够将一个或多个规则应用于对应的1P得分和对应的3P得分以选择口头话语的给定解释。例如,自动化助理和/或独立3P代理能够将对应的1P得分和对应的3P得分与一个或多个得分阈值进行比较,并且基于将对应的1P得分和对应的3P得分与一个或多个得分阈值进行比较来选择口头话语的给定解释。例如,如果最高得分的1P解释大于0.7(例如,与“Artist 1”相关联的第一1P解释的第一1P得分0.71),则自动化助理和/或独立3P代理能够选择最高得分的1P解释(例如,第一1P解释),除非最高得分的3P解释大于0.85(例如,与“Artist 4”相关联的第一3P解释的第一3P得分0.86)。因此,在上述示例中,可以选择第一3P解释作为给定解释。此外,例如,如果最高得分的1P解释在0.5和0.7之间,则可以选择最高得分的1P解释,除非最高得分的3P解释大于最高1P解释。此外,例如,如果最高得分的1P解释低于0.5,则可以选择最高得分的3P解释。尽管在上述示例中描述了具体规则和得分阈值,但是应当理解,这些规则是为了示例而提供的,并且不意味着限制。

在附加或可替代实施方式中,在确定对应的3P得分时,一个或多个3P代理能够确定基于用户组或群体确定的“全局”3P得分和/或确定提供口头话语的用户个人的“个人”3P得分。例如,与“示例音乐流式传输平台”相关联的3P代理能够基于艺术家的总体流行度(例如,指示“Artist 4”是“示例音乐流式传输平台”上标题为“Crazy”的歌曲的最流行艺术家),并且可选地限于特定的持续时间(例如,指示“Artist 4”是过去一周、一个月、一年等中“示例音乐流式传输平台”上标题为“Crazy”的歌曲的最流行艺术家)来确定不同3P解释的对应3P得分。此外,例如,与“示例音乐流式传输平台”相关联的3P代理能够基于艺术家对提供口头话语的用户的流行度(例如,指示“Artist 1”是“示例音乐流式传输平台”上标题为“Crazy”的歌曲的最流行艺术家,但是提供口头话语的用户更喜欢“Artist 4”),并且可选地限于特定的持续时间(例如,指示用户最近已经在过去的一周、一个月、一年等中比任何其他艺术家更多地收听了“Artist 4”的标题为“Crazy”的歌曲)来确定不同3P解释的对应3P得分。在这些实施方式中,一个或多个3P代理能够将表征“全局”3P得分和/或“个人”3P得分背后的推理的数据发送到自动化助理和/或独立3P代理。例如,与“示例音乐流式传输平台”相关联的3P代理可以发送指示与“Artist 4”相关联的第一3P解释具有最高得分的数据,因为“Artist 4”是“示例音乐流式传输平台”上标题为“Crazy”的歌曲的最受欢迎的艺术家,因为提供口头话语的用户更喜欢“Artist 4”等。在选择口头话语的给定解释时,自动化助理和/或独立3P代理可以考虑该数据。

在一些实施方式中,自动化助理能够生成一个或多个训练实例以用在更新机器学习(ML)模型(例如,分类ML模型、支持向量机(SVM)、贝叶斯网络和/或一个或多个其他ML模型)中,该模型被训练为基于一个或多个1P解释、对应的1P预测值、一个或多个3P解释和/或对应的3P预测值来选择口头话语的给定解释。例如,自动化助理能够利用正训练标签来标记所选择的口头话语的给定解释,并且能够利用对应的负训练标签来标记未被选择的1P解释中的一个或多个以及3P解释中的一个或多个。在该示例中,自动化助理可以响应于确定一个或多个用户满意度标准被满足而仅用正训练标签来标记给定解释。可以在基于给定解释、(例如,经由提供口头话语的用户的客户端设备视觉地和/或可听地)从提供口头话语的用户请求的显式反馈和/或其他用户满意度标准,使给定3P代理满足口头话语之后,基于用户对内容的参与来确定一个或多个用户满意度标准。例如,在上述示例中,自动化助理可以响应于确定用户收听所选择艺术家的标题为“Crazy”的歌曲达阈值持续时间、歌曲回放的标题为“Crazy”的歌曲的音量超过音量阈值、和/或用户提供指示所选择艺术家的标题为“Crazy”的歌曲是正确解释的显式反馈、和/或基于其他信号,仅利用正训练标签标记给定解释。自动化助理能够将一个或多个训练实例存储在一个或多个数据库中,以供后续用于训练ML模型。

在那些实施方式的一些版本中,在训练ML模型时,自动化助理能够应用一个或多个1P解释、对应的1P预测值、一个或多个3P解释、对应的3P预测值、一个或多个3P代理可用但自动化助理不可用的数据被用在生成一个或多个3P解释中的指示,和/或一个或多个意图和/或与一个或多个意图相关联的一个或多个对应参数的指示作为跨ML模型的输入以生成预测输出。预测输出能够包括例如针对口头话语预测的单个解释、一个或多个1P解释和一个或多个3P解释中的每一个的值(例如,二进制值、概率、对数似然性和/或其他值)的分布、和/或其他预测输出。能够将预测输出与正训练标签(或与其相关联的值)和对应的负训练标签(或与其相关联的对应值)进行比较以生成一个或多个损失,并且能够基于一个或多个损失(例如,经由反向传播)来更新ML模型。尽管本文仅描述了单个ML模型,但是应当理解,这是为了示例的目的而不意味着限制。例如,能够为自动化助理与之交互的每个3P代理训练对应的ML模型(例如,特定于与“示例音乐流式传输平台”相关联的3P代理的单个ML模型等),或者能够为自动化助理与之交互的一组3P代理训练单个ML模型(例如,特定于与“示例音乐流式传输平台”和其他音乐流式传输服务相关联的3P代理的单个ML模型等)。

在那些实施方式的一些版本中,自动化助理和/或独立3P代理随后能够在选择给定解释时利用ML模型(例如,代替上述一个或多个规则或者除了上述一个或多个规则之外还有的)。例如,自动化助理能够确定一个或多个1P解释和对应的1P预测值,并且一个或多个3P代理能够确定一个或多个3P解释和对应的3P预测值。此外,自动化助理和/或独立3P代理能够应用至少一个或多个1P解释、对应的1P预测值、一个或多个3P解释、对应的3P预测值作为跨ML模型的输入,以生成预测输出。此外,自动化助理和/或独立3P代理能够基于预测输出来选择给定解释。

在一些实施方式中,并且在生成要发送到一个或多个3P代理的一个或多个结构化请求之前,自动化助理可以确定是否一个或多个3P代理标准标识被满足。响应于确定一个或多个第三方标识标准被满足,可以标识能够满足口头话语的一个或多个3P代理。一个或多个3P标识标准包括以下中的一个或多个:在生成ASR输出时确定的一个或多个ASR度量、在生成NLU输出时确定的一个或多个NLU度量、指示给定3P代理能够满足口头话语的置信度的大小的一个或多个3P能力度量、与获得口头话语的一个或多个3P解释相关联的一个或多个预测时延度量,或者指示为1P解释中的一个被预测来满足口头话语的置信度的大小的对应1P预测值中的一个或多个。例如,假设用户代替地提供了口头话语“Assistant,playCrazy by Artist 1using Example Music Streaming Platform(助理,使用示例音乐流式传输平台播放Artist 1的Crazy)”。在该示例中,假设自动化助理对ASR输出和NLU输出高度自信,自动化助理可以不生成要发送到请求一个或多个3P解释的任何3P代理的任何结构化请求,因为没有丢失的槽值,并且因为请求一个或多个3P解释将延长人机对话的持续时间。作为另一示例,假设用户代替地提供口头话语“Assistant,play rock music usingExample Music Streaming Platform(助理,使用示例音乐流式传输平台播放摇滚音乐)”。在该示例中,假设自动化助理对ASR输出和NLU输出高度自信,自动化助理可以不生成要发送到请求一个或多个3P解释的任何3P代理的任何结构化请求,因为用户提供的请求类型不请求特定歌曲或艺术家,并且因为请求一个或多个3P解释将类似地延长人机对话的持续时间。

在一些实施方式中,自动化助理能够在标识能够满足口头话语的一个或多个3P代理时分析ASR输出和/或NLU输出。例如,在提供口头话语“Assistant,play Crazy usingExample Music Streaming Platform(助理,使用示例音乐流式传输平台播放Crazy)”时,用户已经明确地声明用户想要使用“示例音乐流式传输平台”。因此,在该示例中,自动化助理能够利用ASR输出和/或NLU输出来标识与“示例音乐流式传输平台”相关联的3P代理,并且将一个或多个结构化请求发送到与“示例音乐流式传输平台”相关联的3P代理以获得一个或多个3P解释。在附加或可替代实施方式中,自动化助理能够维护能够用在标识能够满足口头话语的一个或多个3P代理中的各种3P代理的能力列表。例如,假设用户代替地提供口头话语“Assistant,play Crazy by Artist 1(助理,播放Artist 1的Crazy)”。在该示例中,自动化助理能够访问各种3P代理的能力列表,以标识能够满足预测音乐回放意图的一个或多个3P代理。因此,在该示例中,自动化助理能够利用各种3P代理的能力列表来标识能够满足预测音乐回放意图的一个或多个3P代理,并且将一个或多个结构化请求发送到一个或多个3P代理以获得一个或多个3P解释。在附加或可替代实施方式中,自动化助理能够响应于接收到口头话语而轮询各种3P代理,以标识能够满足口头话语的一个或多个3P代理。例如,假设用户再次提供口头话语“Assistant,play Crazy by Artist1(助理,播放Artist1的Crazy)”。在该示例中,自动化助理能够向各种3P代理发送一个或多个结构化请求,其请求各种3P代理提供其是否能够满足预测音乐回放意图的任何指示。因此,在该示例中,自动化助理能够基于各种3P代理的轮询来标识能够满足预测音乐回放意图的一个或多个3P代理,并且将一个或多个结构化请求发送到一个或多个3P代理以获得一个或多个3P解释。

在一些实施方式中,自动化助理能够确定所选择的给定解释是一个或多个1P解释之一还是一个或多个3P解释之一。自动化助理能够使得所选择的给定解释是一个或多个1P解释中的一个或者是一个或多个3P解释中的一个的指示被提供以呈现给用户。例如,能够经由提供口头话语的用户的客户端设备的显示器向用户提供指示以用于视觉呈现,和/或能够经由提供口头话语的用户的客户端设备的一个或多个扬声器向用户提供指示以用于可听呈现。在所选择的给定解释是一个或多个3P解释中的一个并且指示被提供以可听呈现给用户的实施方式中,自动化助理能够在为3P代理预留的合成话音中可听地渲染指示(例如,并且可以特定于与给定解释相关联的给定3P代理),并且该合成话音不同于为自动化助理预留的自动化助理话音。换句话说,如果选择1P解释作为给定解释,则能够在自动化助理话音中提供被提供以呈现给用户的任何可听指示,但是如果3P解释被选择作为给定解释,则能够在为3P代理预留的合成话音中提供被提供以呈现给用户的任何可听指示,使得用户能够在话音之间进行区分。

在独立3P代理获得由自动化助理确定的1P解释和由一个或多个3P代理确定的3P解释并且选择口头话语的给定解释的实施方式中,独立3P代理能够将口头话语的给定解释发送到自动化助理或一个或多个3P代理中的给定3P代理。在这些实施方式中,将口头话语的给定解释发送到自动化助理能够使自动化助理基于口头话语的给定解释使给定3P代理满足口头话语。此外,将口头话语的给定解释发送到给定3P代理能够使给定3P代理基于口头话语的给定解释来满足口头话语。在这些实施方式中,独立3P代理能够基于与将口头话语的给定解释发送到自动化助理相关联的一个或多个预测的时延度量来确定是将口头话语的给定解释发送到自动化助理还是给定3P代理。例如,如果独立3P代理确定与将口头话语的给定解释发送到自动化助理相关联的一个或多个预测的时延度量满足时延阈值,则独立3P代理可以将给定解释直接发送到给定3P代理,而不将给定解释直接发送到自动化助理。然而,如果独立3P代理确定与将口头话语的给定解释发送到自动化助理相关联的一个或多个预测的时延度量不满足时延阈值,则独立3P代理可以将给定解释发送到自动化助理。

通过使用本文描述的技术,能够实现一个或多个技术优点。作为一个非限制性示例,本文描述的技术使得自动化助理和3P代理能够基于分别可用于自动化助理和3P代理的数据来协同地对口头话语的解释进行排名。因此,能够减少或消除自动化助理和3P代理之间的用户数据共享,从而提高用户数据的安全性。此外,所选择的口头话语的给定解释更可能与用户在提供口头话语时的意图对准。因此,能够通过减少用户输入的数量并且以更快速和有效的方式结束人机对话,避免用户提供附加的口头话语或直接与3P代理交互的需要,从而节省计算和/或网络资源。此外,在利用独立3P代理的实施方式中,能够减少选择口头话语的给定解释的时延,特别是在给定解释被直接发送到给定3P代理的情况下,从而以更快速和有效的方式结束人机对话并且节省计算和/或网络资源。

在一些实施方式中,术语“第一方(1P)代理”可以指代由开发和/或维护本文描述的自动化助理的同一实体开发和/或维护的计算代理或系统。在一些实施方式中,术语“第三方(3P)代理”可以指代由与开发和/或维护本文描述的自动化助理的实体不同的实体开发和/或维护的计算代理或系统。在附加或可替代实施方式中,术语“第三方(3P)代理”是指由开发和/或维护本文所述的自动化助理的同一实体开发和/或维护的任何计算代理或系统,但是其与自动化助理不同(例如,计算上不同)。在一些实施方式中,术语“独立第三方(3P)代理”可以指代由与开发和/或维护本文描述的自动化助理的实体不同的实体来开发和/或维护的计算代理或系统,并且该实体与生成口头话语的第三方解释的第三方代理相关联的实体不同。

本文描述的每个代理(例如,1P代理、3P代理、独立3P代理和/或本文描述的任何其他代理)可以至少包括存储器、用于执行在存储器中存储的指令的处理器,以及用于通过有线或无线局域网(“LAN”,包括Wi-Fi LAN、网状网络、蓝牙、近场通信等)和/或广域网(“WAN”,包括互联网)和/或应用编程接口接收和/或发送数据的一个或多个网络接口。此外,本文描述的每个代理能够在客户端设备本地实现或远离客户端设备(例如,处于远程服务器处)实现。

提供以上描述作为本文公开的仅一些实施方式的概述。那些实施方式和其他实施方式在本文中更详细地描述。

应当理解,本文公开的技术能够在客户端设备上本地实现、由经由一个或多个网络连接到客户端设备的服务器远程地实现,和/或两者兼有。

附图说明

图1描绘了演示了本公开的各个方面并且能够实现本文公开的实施方式的示例环境的框图。

图2描绘了根据各种实施方式的使用图1的各种组件演示本公开的各个方面的示例过程流程。

图3描绘了图示根据各种实施方式的自动化助理执行口头话语的第一方解释和口头话语的第三方解释的协同排名的示例方法的流程图。

图4描绘了图示根据各种实施方式的自动化助理生成用于训练机器学习模型的训练实例的示例方法的流程图,该机器学习模型将用在口头话语的第一方解释和口头话语的第三方解释的协同排名中。

图5描绘了图示根据各种实施方式的独立第三方代理执行口头话语的第一方解释和口头话语的第三方解释的协同排名的示例方法的流程图。

图6描绘了根据各种实施方式的计算设备的示例架构。

具体实施方式

现在转到图1,描绘了演示了本公开的各个方面并且能够实现本文公开的实施方式的示例环境的框图。示例环境包括客户端设备110和协同排名系统180。在一些实施方式中,协同排名系统180能够在客户端设备110处本地实现。在附加或可替代的实施方式中,协同排名系统180能够从客户端设备110远程地实现,如图1中所描绘的。在这些实施方式中,客户端设备110和协同排名系统180可以经由一个或多个网络199——诸如一个或多个有线或无线局域网(“LAN”,其包括Wi-Fi LAN、网状网络、蓝牙、近场通信等)或广域网(“WAN”,包括互联网)——彼此通信地耦合。

客户端设备110可以是例如以下中的一个或多个:台式计算机、膝上型计算机、平板电脑、移动电话、车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立式交互式扬声器(可选地具有显示器)、诸如智能电视的智能电器、和/或包括计算设备的用户的可穿戴装置(例如,具有计算设备的用户的手表、具有计算设备的用户的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或可替代的客户端设备。

客户端设备110能够执行自动化助理客户端114。自动化助理客户端114的实例能够是与客户端设备110的操作系统分离的应用(例如,安装在操作系统的“顶部”)或者能够可替代地由客户端设备110的操作系统直接实现。自动化助理客户端114能够与在客户端设备110处本地实现的协同排名系统180交互或者经由如图1所描绘的网络199中的一个或多个网络来远程地交互。自动化助理客户端114(并且可选地通过与其他远程系统(例如,服务器)的交互)可以形成从用户的角度来看看起来是自动化助理115的逻辑实例的内容,用户可以利用该逻辑实例参与人机对话。自动化助理115的实例在图1中被描绘,并且由包括客户端设备110的自动化助理客户端114和协同排名系统180的虚线包围。因此,应当理解,参与在客户端设备110上执行的自动化助理客户端114的用户实际上可以参与他或她自己的自动化助理115的逻辑实例(或在家庭或其他用户组当中共享的自动化助理115的逻辑实例)。为了简洁和简单起见,如本文所使用的自动化助理115将指代在客户端设备110上本地执行和/或可以实现协同排名系统180的一个或多个远程服务器上执行的自动化助理客户端114。

在各种实施方式中,客户端设备110可以包括用户输入引擎111,其被配置为检测由客户端设备110的用户使用一个或多个用户界面输入设备提供的用户输入。例如,客户端设备110可以配备有捕获音频数据的一个或多个麦克风,诸如与用户的口头话语或客户端设备110的环境中的其他声音相对应的音频数据。附加地或可替代地,客户端设备110可以配备有一个或多个视觉组件,其被配置为捕获与在一个或多个视觉组件的视场中检测到的图像和/或移动(例如,手势)相对应的视觉数据。附加地或可替代地,客户端设备110可以配备有一个或多个触敏组件(例如,键盘和鼠标、触笔、触摸屏、触摸面板、一个或多个硬件按钮等),其被配置为捕获与引导到客户端设备110的触摸输入相对应的信号。

在各种实施方式中,客户端设备110可以包括渲染引擎112,其被配置为使用一个或多个用户界面输出设备向客户端设备110的用户提供用于可听和/或视觉呈现的内容。例如,客户端设备110可以配备有一个或多个扬声器,其使得内容能够经由客户端设备110被提供以可听地呈现给用户。附加地或可替代地,客户端设备110可以配备有显示器或投影仪,其使得能够经由客户端设备110提供内容以视觉呈现给用户。

在各种实施方式中,客户端设备110可以包括一个或多个存在传感器113,其被配置为在来自对应用户的同意下提供指示检测到的存在——特别是人类存在——的信号。在那些实施方式中的一些实施方式中,自动化助理115能够至少部分地基于用户在客户端设备110处(或在与客户端设备110的用户相关联的另一计算设备处)的存在来标识客户端设备110(或与客户端设备110的用户相关联的另一计算设备)以满足口头话语。能够通过在客户端设备110和/或与客户端设备110的用户相关联的其他计算设备处(例如,经由渲染引擎112)渲染响应内容、通过使得客户端设备110和/或与客户端设备110的用户相关联的其他计算设备被控制,和/或通过使得客户端设备110和/或与客户端设备110的用户相关联的其他计算设备执行任何其他动作以满足口头话语来满足口头话语。如本文所述,自动化助理115能够充分利用基于存在传感器113确定的数据来基于用户在何处附近或最近在何处附近来确定在满足口头话语中将利用的客户端设备110(或其他计算设备),并且仅向客户端设备110(或那些其他计算设备)提供对应的命令。在一些附加或可替代实施方式中,自动化助理115能够充分利用基于存在传感器113确定的数据来确定任何用户(任何用户或特定用户)当前是否接近客户端设备110(或其他计算设备),并且能够可选地基于接近客户端设备110(或其他计算设备)的用户来抑制向和/或从客户端设备110(或其他计算设备)提供数据。

存在传感器113可以以各种形式出现。例如,客户端设备110能够利用上面相对于用户输入引擎111描述的用户界面输入组件中的一个或多个来检测用户的存在。附加地或可替代地,客户端设备110可以配备有其他类型的基于光的存在传感器113,诸如测量从其视场内的对象辐射的红外(“IR”)光的无源红外(“PIR”)传感器。

附加地或可替代地,在一些实施方式中,存在传感器113可以被配置为检测与人类存在或设备存在相关联的其他现象。例如,在一些实施例中,客户端设备110可以配备有存在传感器113,其检测由例如用户携带/操作的其他计算设备(例如,移动设备、可穿戴计算设备等)和/或其他计算设备发出的各种类型的无线信号(例如,诸如无线电、超声、电磁等波)。例如,客户端设备110可以被配置为发出人类不可感知的波,诸如超声波或红外波,其可以由其他计算设备(例如,经由超声波/红外接收器,诸如具有超声波能力的麦克风)检测。

附加地或可替代地,客户端设备110可以发出其他类型的人类不可感知的波,诸如可以由用户携带/操作的其他计算设备(例如,移动设备、可穿戴计算设备等)检测并用于确定用户的特定位置的无线电波(例如,Wi-Fi、蓝牙、蜂窝等)。在一些实施方式中,GPS和/或Wi-Fi三角测量可以用于例如基于到/来自客户端设备110的GPS和/或Wi-Fi信号来检测人的位置。在其他实施方式中,客户端设备110可以单独地或共同地使用其他无线信号特性,诸如飞行时间、信号强度等,以基于由用户携带/操作的其他计算设备发出的信号来确定特定人的位置。

附加地或可替代地,在一些实施方式中,客户端设备110可以执行说话者标识(SID)以从用户的话音中辨识用户和/或可以执行面部标识(FID)来从捕获他/她的面部的视觉数据辨识用户。在一些实施方式中,然后可以例如通过客户端设备110的存在传感器113(以及可选地,客户端设备110的GPS传感器、Soli芯片和/或加速度计)来确定说话者的移动。在一些实施方式中,基于这样的检测到的移动,可以预测用户的位置,并且当至少部分地基于客户端设备110和/或其他计算设备与用户的位置的接近度来在客户端设备110和/或其他计算设备处渲染任何内容时,可以假设该位置是用户的位置。在一些实施方式中,可以简单地假设用户处于他/她参与自动化助理115的最后一个位置,特别是如果自上次参与以来尚未经过太多时间。

此外,客户端设备110和/或协同排名系统180可以包括用于存储数据和/或软件应用的一个或多个存储器、用于访问数据和执行软件应用的一个或多个处理器、和/或促进通过网络199中的一个或多个网络进行通信的其他组件。在一些实施方式中,软件应用中的一个或多个能够本地安装在客户端设备110处,而在其他实施方式中,软件应用中的一个或多个软件应用能够(例如,由一个或多个服务器)远程地托管,并且能够由客户端设备110通过网络199中的一个或多个网络访问。由客户端设备110、其他计算设备和/或由自动化助理115执行的操作可以跨多个计算机系统分布。自动化助理115可以被实现为例如在客户端设备110和/或通过网络(例如,图1的网络199)彼此耦合的一个或多个位置中的一个或多个计算机上运行的计算机程序。

在一些实施方式中,由自动化助理115执行的操作可以经由自动化助理客户端114在客户端设备110处本地实现。如图1所示,自动化助理客户端114可以包括自动语音辨识(ASR)引擎120A1、自然语言理解(NLU)引擎130A1、履行引擎140A1和文本到语音(TTS)引擎150A1。在一些实施方式中,由自动化助理115执行的操作可以跨多个计算机系统分布,诸如当如图1中所描绘的远离客户端设备110实现协同排名系统180时。在这些实施方式中,自动化助理115可以附加地或可替代地利用协同排名系统180的ASR引擎120A2、NLU引擎130A2、履行引擎140A2和TTS引擎150A2。

这些引擎中的每一个可以被配置为执行一个或多个功能。例如,ASR引擎120A1和/或120A2能够使用在机器学习(ML)模型数据库115A中存储的ASR模型(例如,递归神经网络(RNN)模型、变换器模型和/或能够执行ASR的任何其他类型的ML模型)来处理捕获口头话语并且由客户端设备110的麦克风生成的音频数据以生成ASR输出。此外,NLU引擎130A1和/或130A2能够使用在ML模型数据库115A中存储的NLU模型(例如,长短期记忆(LSTM)、门控循环单元(GRU)、和/或能够执行NLU的任何其他类型的RNN或其他ML模型)和/或基于语法的规则来处理ASR输出以生成NLU输出。此外,履行引擎140A1和/或140A2能够基于根据NLU输出流生成的履行数据来生成履行输出。能够使用例如自动化助理115、一个或多个第一方(1P)代理171和/或一个或多个第三方(3P)代理171(例如,如相对于图2所描述的)来生成履行数据。最后,TTS引擎150A1和/或150A2能够使用在ML模型数据库115A中存储的TTS模型来处理文本数据(例如,由自动化助理115制定的文本),以生成包括计算机生成的合成语音的合成语音音频数据。值得注意的是,在ML模型数据库115A中存储的ML模型能够是本地存储在客户端设备110处的设备上ML模型或客户端设备110和/或远程系统(例如,服务器)两者都可以访问的共享ML模型。

在各种实施方式中,ASR输出能够包括例如被预测为与在音频数据中捕获的用户的口头话语相对应的语音假设(例如,术语假设和/或转录假设)、每个语音假设的一个或多个对应的预测值(例如,概率、对数似然性和/或其他值)、被预测为与在音频数据中捕获的用户的口头话语相对应的多个音素、和/或其他ASR输出。在那些实施方式的一些版本中,ASR引擎120A1和/或120A2能够(例如,基于对应的预测值)选择一个或多个语音假设作为与口头话语相对应的辨识文本。

在各种实施方式中,NLU输出能够包括例如带注释的辨识文本,其包括针对辨识文本的一个或多个(例如,所有)术语的辨识文本的一个或多个注释。例如,NLU引擎130A1和/或130A2可以包括词性标记器(未描绘),其被配置为用词的语法角色来注释术语。附加地或可替代地,NLU引擎130A1和/或130A2可以包括实体标记器(未描绘),其被配置为在所辨识的文本的一个或多个片段中注释实体引用,诸如对人(包括例如文学人物、名人、公众人物等)、组织、位置(真实的和假想的)等的引用。在一些实施方式中,关于实体的数据可以被存储在一个或多个数据库中,诸如在知识图(未描绘)中。在一些实施方式中,知识图可以包括表示已知实体(并且在一些情况下,实体属性)的节点,以及连接节点并表示实体之间的关系的边。实体标记器可以以高粒度级别(例如,以使得能够标识对诸如人的实体类的所有引用)和/或较低粒度级别(例如,以使得能够标识对诸如特定人的特定实体的所有引用)来注释对实体的引用。实体标记器可以依赖于自然语言输入的内容来解析特定实体和/或可以可选地与知识图或其他实体数据库通信以解析特定实体。附加地或可替代地,NLU引擎130A1和/或130A2可以包括共指解析器(未描绘),其被配置为基于一个或多个上下文线索来对相同实体的引用进行分组或“聚类”。例如,可以利用共指解析器来基于在接收到输入“购买他们(buy them)”之前立即渲染的客户端设备通知中提到的“剧院门票(theatretickets)”,将自然语言输入“购买他们(buy them)”中的术语“他们(them)”解析为“购买剧院门票(buy theatre tickets)”。在一些实施方式中,NLU引擎130A1和/或130A2的一个或多个组件可以依赖于来自NLU引擎130A1和/或130A2的一个或多个其他组件的注释。例如,在一些实施方式中,实体标记器可以在注释对特定实体的所有提及时依赖于来自共指解析器的注释。此外,例如,在一些实施方式中,共指解析器可以在聚类对相同实体的引用时依赖于来自实体标记器的注释。

尽管相对于具有单个用户的单个客户端设备描述了图1,但是应当理解,这是为了示例的目的而不意味着限制。例如,用户的一个或多个附加客户端设备也能够实现本文描述的技术。例如,客户端设备110、一个或多个附加客户端设备、和/或用户的任何其他计算设备能够形成能够采用本文描述的技术的设备的生态系统。这些附加客户端设备和/或计算设备可以(例如,通过网络199)与客户端设备110通信。作为另一示例,给定的客户端设备能够由共享设置中的多个用户(例如,一组用户、家庭)使用。

在一些实施方式中,自动化助理115和/或一个或多个独立3P代理173能够利用协同排名系统180来协同地对在客户端设备110处接收的口头话语的解释进行排名。特别地,自动化助理115和/或一个或多个独立3P代理173能够利用协同排名系统180的协同排名引擎160来协同地对在客户端设备110处接收到的口头话语的解释进行排名。在各种实施方式中,并且如图1所描绘的,协同排名引擎160能够包括1P解释引擎、3P标识引擎162、3P解释引擎163、基于规则的引擎164和基于ML的引擎165。相对于图2提供了关于自动化助理115和/或一个或多个独立3P代理173如何利用协同排名引擎150的附加描述。

现在转到图2,描绘了使用图1的各种组件演示本公开的各个方面的示例过程流程。ASR引擎120A1和/或120A2能够使用在ML模型数据库115A中存储的ASR模型来处理捕获口头话语的音频数据201A以生成ASR输出220。NLU引擎130A1和/或130A2能够使用在ML模型数据库115A中存储的NLU模型来处理ASR输出220,以生成NLU输出流230。在一些实施方式中,NLU引擎130A1和/或130A2能够附加地或可替代地在生成NLU输出230时处理非音频数据流201B。非音频数据流201B能够包括例如由客户端设备110的视觉组件生成的视觉数据、由用户经由客户端设备110的触敏显示器提供的触摸输入、由用户经由客户端设备110的触敏显示器或外围设备(例如,鼠标和键盘)提供的键入输入、和/或任何其他非音频数据。

此外,1P解释引擎161能够处理NLU输出230以生成针对在音频数据201A中捕获的口头话语的一个或多个1P解释271的一个或多个1P请求261。1P解释引擎161能够使自动化助理115和/或1P代理171中的一个或多个1P代理基于一个或多个1P请求261来确定口头话语的一个或多个1P解释271。由自动化助理115和/或1P代理171中的一个或多个1P代理确定的一个或多个1P解释271中的每一个能够与对应的1P预测值相关联,该对应的1P预测值指示一个或多个1P解释271中的每一个被预测为满足口头话语的置信度的大小。

此外,3P标识引擎162能够至少基于NLU输出230来确定是否标识要在确定口头话语的一个或多个3P解释272时使用的一个或多个3P代理。例如,如果NLU输出230指示已知预测意图的高置信度和与预测意图相关联的对应参数的所有槽值的高置信度,则3P标识引擎162可以确定不标识要用在确定口头话语的一个或多个3P解释272中的一个或多个3P代理,以减少在结束人机对话会话时的时延,并且因为自动化助理115对口头话语的一个或多个1P解释271具有高置信度。假设3P标识引擎162确定不标识一个或多个3P代理,则能够在框299处确定仅考虑一个或多个1P解释271。

然而,假设3P标识引擎162确定标识一个或多个3P代理,能够在框299处做出决定以确定一个或多个3P解释272。此外,3P标识引擎162能够在基于NLU输出、由自动化助理115维护的3P代理能力列表、和/或轮询3P代理172中的一个或多个3P代理来确定一个或多个3P解释171时,标识可以向其发送一个或多个3P请求263的3P代理172中的一个或多个3P代理,如本文所述。此外,3P解释引擎163能够生成针对在音频数据201A中捕获的口头话语的一个或多个3P解释272的一个或多个3P请求263。1P解释引擎161能够将一个或多个3P请求263发送到一个或多个所标识的3P代理172,以使一个或多个所标识的3P代理172基于一个或多个3P请求263确定口头话语的一个或多个3P解释272。由一个或多个所标识的3P代理172确定的一个或多个3P解释272中的每一个能够与对应的3P预测值相关联,该3P预测值指示一个或多个3P解释272中的每一个被预测为满足口头话语的置信度的大小。

在一些实施方式中,并且如参考图3更详细所述,基于规则的引擎164能够使用在规则数据库164A中存储的一个或多个规则来处理一个或多个1P解释271和/或一个或多个3P解释272,以选择在音频数据201A中捕获的口头话语的给定解释264/265。在附加或可替代实施方式中,并且如相对于图3更详细所述,基于ML的引擎165能够使用在ML模型数据库115A中存储的ML模型来处理一个或多个1P解释271和/或一个或多个3P解释272,以选择在音频数据201A中捕获的口头话语的给定解释264/265,该ML模型数据库115A被训练为选择口头话语的给定解释(例如,如相对于图4所述)。能够将给定解释264/265提供给给定3P代理172A,以使给定3P代理基于给定解释264/265满足在音频数据201A中捕获的口头话语。此外,给定3P代理172A能够将数据传送回自动化助理,该数据随后能够被用在更新ML模型中(例如,当给定3P代理172A基于给定解释254/265满足口头话语时与用户满意度标准相关联的数据、与给定3P代理172A基于给定解释254/265满足口头话语相关联的唯一事件标识符等,如下面相对于图4的方法400所述)。

在一些实施方式中,基于ML的引擎165能够将一个或多个1P解释271和一个或多个3P解释272合并成在音频数据流201A中捕获的口头话语的单个解释流。在那些实施方式的一些版本中,基于ML的引擎165能够使用一种或多种去重复技术来协调解释流,以将一个或多个1P解释271和一个或多个3P解释272合并成口头话语的单个解释流。例如,假设一个或多个1P解释271和一个或多个3P解释272包括用于与要解析的参数相关联的槽值的相同实体(例如,用于艺术家参数的“Artist 1”)。在该示例中,基于ML的引擎165能够利用唯一实体标识符技术、基于文本的匹配技术(例如,精确匹配、软匹配等)来确保口头话语的单个解释流不包括来自一个或多个1P解释271和一个或多个3P解释272的相同解释的多个实例。因此,随后能够基于单个解释流来训练本文描述的ML模型,从而导致ML模型在选择给定解释264/265时的准确度和/或精度改进。

在一些实施方式中,一个或多个3P解释272能够从所标识的3P代理172中的一个或多个3P代理被发送到至少部分地在客户端设备110处执行的自动化助理115,并且自动化助理115能够使得一个或多个1P解释271和/或一个或多个3P解释272使用基于规则的引擎164和/或基于ML的引擎165来被处理。在附加或可替代实施方式中,一个或多个1P解释271和/或一个或多个3P解释272能够被发送到独立3P代理173中的一个或多个独立3P代理,并且独立3P代理173中的一个或多个独立3P代理能够使得一个或多个1P解释271和/或一个或多个3P解释272使用基于规则的引擎164和/或基于ML的引擎165来被处理(例如,如图2中的虚线所指示,并且如相对于图5更详细所述)。

现在转到图3,描绘了图示自动化助理执行口头话语的第一方解释和口头话语的第三方解释的协同排名的示例方法300的流程图。为方便起见,参考执行操作的系统来描述方法300的操作。方法300的该系统包括计算设备(例如,图1的客户端设备110、图6的计算设备610、一个或多个服务器和/或其他计算设备)的一个或多个处理器、存储器和/或其他组件。此外,虽然以特定次序示出了方法300的操作,但这并不意味着限制。可以重新排序、省略和/或添加一个或多个操作。

在框352处,系统使用ASR模型处理捕获用户的口头话语并且被引导到自动化助理的音频数据,以生成ASR输出。在一些实施方式中,系统可以仅响应于确定已经经由一个或多个特定术语或短语(例如,热词,诸如“Assistant(助理)”、“Hey Assistant(嘿,助理)”等)、一个或多个特定手势(例如,引导到至少部分地在客户端设备处执行自动化助理的客户端设备的语音,并且可选地,与诸如引导到客户端设备的用户凝视的一个或多个其他信号耦合)、一个或多个按钮按压(例如,调用自动化助理的软件按钮或硬件按钮的激活)和/或何时满足一个或多个其他条件,处理捕获口头话语的音频数据。在框354处,系统使用NLU模型处理ASR输出以生成NLU输出。

在框356处,系统基于NLU输出来确定口头话语的一个或多个1P解释。一个或多个1P解释中的每一个可以与对应的1P预测值相关联,该对应的1P预测值指示一个或多个1P解释中的每一个被预测为满足口头话语的置信度的大小。例如,假设用户提供口头话语“Assistant,play Crazy using Example Music Streaming Platform(助理,使用示例音乐流式传输平台播放Crazy)”。在该示例中,第一1P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 1”的预测音乐回放意图,并且能够与第一1P预测值相关联;第二1P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 2”的预测音乐回放意图,并且能够与第二1P预测值相关联;第三1P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 3”的预测音乐回放意图,并且能够与第三1P预测值相关联等等。

在一些实施方式中,对应的1P预测值能够包括对应的1P阶数作为1P解释中的每一个被预测为满足口头话语的置信度的大小。对应的1P阶数能够基于例如在生成ASR输出和/或NLU输出时确定的ASR度量和/或NLU度量。在上述示例中,对应的1P预测值能够包括与“Artist 1”相关联的第一1P解释的对应1P阶数,随后是与“Artist 2”相关联的第二1P解释,并且随后是与“Artist 3”相关联的第三1P解释。在附加或可替代实施方式中,对于一个或多个1P解释中的每一个,对应的1P预测值能够包括对应的1P得分,作为1P解释中的每一个被预测为满足口头话语的置信度的大小。在上述示例中,对应的1P预测值能够包括二进制值、概率、对数似然性和/或表示对应的1P得分的任何其他值,诸如对于与“Artist 1”相关联的第一1P解释,第一1P得分为0.71,对于与“Artist 2”相关联的第二1P解释,第二1P得分为0.6,以及对于与“Artist 3”相关联的第三1P解释,第三1P得分为0.5。

在框358处,系统确定是否标识用于确定口头话语的一个或多个3P解释的一个或多个3P代理。系统能够基于确定一个或多个3P代理标准标识是否被满足来确定是否标识一个或多个3P代理。一个或多个3P标识标准包括以下中的一个或多个:在生成ASR输出时确定的一个或多个ASR度量、在生成NLU输出时确定的一个或多个NLU度量、指示给定3P代理能够满足口头话语的置信度的大小的一个或多个3P能力度量、与获得口头话语的一个或多个3P解释相关联的一个或多个预测时延度量,或者指示为1P解释中的一个1P解释被预测为满足口头话语的置信度的大小的对应的1P预测值中的一个或多个1P预测值。换句话说,如果系统确定1P解释中的一个或多个1P解释的高置信度和/或计算资源将被浪费在确定口头话语的一个或多个3P解释中,则系统可以不标识一个或多个3P代理。如果在框358的迭代处,系统确定不标识用于生成口头话语的一个或多个3P解释的一个或多个3P代理,则系统可以前进到框366。下面描述框366的操作。如果在框358的迭代处,系统确定标识用于生成口头话语的一个或多个3P解释的一个或多个3P代理,则系统可以前进到框360。

在框360,系统标识能够满足口头话语的一个或多个给定3P代理。系统能够在标识能够满足口头话语的一个或多个3P代理时分析ASR输出和/或NLU输出。例如,在上述示例中,在提供口头话语“Assistant,play Crazy using Example Music Streaming Platform(助理,使用示例音乐流式传输平台播放Crazy)”时,用户已经明确地声明用户想要使用“示例音乐流式传输平台”。因此,在该示例中,自动化助理能够利用ASR输出和/或NLU输出来标识与“示例音乐流式传输平台”相关联的3P代理。然而,如果用户没有在口头话语中指定与“示例音乐流式传输平台”相关联的3P代理,则系统能够访问能够用于标识能够满足口头话语的一个或多个3P代理的各种3P代理的能力列表和/或轮询能够用于标识能够满足口头话语的一个或多个3P代理的各种3P代理的能力列表。

在框362处,系统通过一个或多个网络并且基于NLU输出向一个或多个给定3P代理发送一个或多个结构化请求,该一个或多个结构化请求在被接收时使一个或多个给定3P代理确定口头话语的一个或多个3P解释。在框364处,系统响应于发送一个或多个结构化请求,从一个或多个给定3P代理并且通过一个或多个网络接收口头话语的一个或多个3P解释。响应于接收到一个或多个结构化请求,一个或多个给定3P代理能够确定口头话语的一个或多个3P解释。类似于一个或多个1P解释中的每一个,一个或多个3P解释中的每一个可以与对应的3P预测值相关联,该对应的3P预测值指示一个或多个3P解释中的每一个被预测为满足口头话语的置信度的大小。继续上述示例,第一3P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 4”的预测音乐回放意图,并且能够与第一3P预测值相关联;第二3P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 3”的预测音乐回放意图,并且能够与第二3P预测值相关联;第三3P解释能够包括对于歌曲参数具有槽值“Crazy”和对于艺术家参数具有槽值“Artist 2”的预测音乐回放意图,并且能够与第三3P预测值相关联等等。

此外,类似地,在一些实施方式中,对应的3P预测值能够包括对应的3P阶数作为3P解释中的每一个被预测为满足口头话语的置信度的大小。对应的3P阶数能够基于例如在一个或多个结构化请求和/或可用于一个或多个给定3P代理中的相应一个但不可用于自动化助理的数据中包括的NLU输出。在上述示例中,对应的3P预测值能够包括与“Artist 4”相关联的第一3P解释的对应3P阶数,随后是与“Artist 1”相关联的第二3P解释,并且随后是与“Artist 2”相关联的第三3P解释。在附加或可替代实施方式中,对于一个或多个3P解释中的每一个,对应的3P预测值能够包括对应的3P得分,作为3P解释中的每一个被预测为满足口头话语的置信度的大小。在上述示例中,对应的3P预测值能够包括二进制值、概率、对数似然性和/或表示对应的3P得分的任何其他值,诸如对于与“Artist 4”相关联的第一3P解释,第一3P得分为0.86,对于与“Artist 1”相关联的第二3P解释,第二3P得分为0.7,以及对于与“Artist 2”相关联的第三3P解释,第三3P得分为0.5。

在框366处,系统从一个或多个1P解释和/或一个或多个3P解释中选择口头话语的给定解释。在系统从框358前进到框366的实施方式中,系统能够仅从一个或多个1P解释当中选择给定解释,因为没有生成口头话语的3P解释。然而,在系统从框364前进到框366的实施方式中,系统能够在选择给定解释时附加地考虑一个或多个3P解释。

在一些实施方式中,系统能够在选择口头话语的给定解释时利用基于规则的方法。例如,系统能够使用一个或多个规则处理一个或多个1P解释和一个或多个3P解释。例如,在对应值包括一个或多个1P解释的对应1P阶数和一个或多个3P解释的对应3P阶数的实施方式中,一个或多个规则能够指示应该选择在对应1P阶数和对应3P阶数两者中最高的解释作为给定解释,诸如与“Artist 1”相关联的解释,因为它相对于一个或多个1P解释排序第一,并且相对于一个或多个3P解释排序第二。附加地或可替代地,一个或多个规则能够指示应该选择在对应的3P阶数中最高的解释作为给定解释,诸如与“Artist 4”相关联的解释,因为它相对于一个或多个3P解释排序第一。尽管在上述示例中描述了特定规则,但是应当理解,这些规则是为了示例而提供的,并不意味着限制。

此外,在对应值包括对应的1P得分和对应的3P得分的实施方式中,一个或多个规则可以指示用于选择口头话语的给定解释的各种得分阈值。例如,如果最高得分的1P解释大于0.7(例如,对于与“Artist1”相关联的第一1P解释,第一1P得分为0.71),则自动化助理和/或独立3P代理能够选择最高得分的1P解释(例如,第一1P解释),除非最高得分的3P解释大于0.85(例如,对于与“Artist 4”相关联的第一3P解释,第一3P得分为0.86)。因此,在上述示例中,可以选择第一3P解释作为给定解释。此外,例如,如果最高得分的1P解释在0.5和0.7之间,则可以选择最高得分的1P解释,除非最高得分的3P解释大于最高1P解释。此外,例如,如果最高得分的1P解释低于0.5,则可以选择最高得分的3P解释。尽管在上述示例中描述了特定规则和得分阈值,但是应当理解,这些规则是为了示例而提供的,并且不意味着限制。

在附加或可替代实施方式中,系统能够在选择口头话语的给定解释时利用基于ML的方法。例如,系统能够应用至少一个或多个1P解释、对应的1P预测值、一个或多个3P解释、对应的3P预测值作为跨(例如,至少部分地以参考图4的方法400描述的方式训练的)ML模型的输入以生成预测输出。此外,系统能够基于预测输出来选择给定解释。预测输出能够包括例如口头话语的给定解释、能够基于其选择给定解释的一个或多个1P解释和一个或多个3P解释中的每一个的对应的修改得分、和/或能够在选择给定解释时利用的其他预测输出。

在框368处,系统基于给定解释使一个或多个给定3P代理中的一个给定3P代理满足口头话语。例如,系统能够使得给定解释被发送到一个或多个给定3P代理中的一个给定3P代理,以基于给定解释来满足口头话语。在上述示例中,系统能够使给定解释被发送到与“示例音乐流式传输平台”相关联的3P代理,以使得与给定解释相关联的艺术家的标题为“Crazy”的歌曲被可听地回放以呈现给提供口头话语的用户。

现在转到图4,描绘了图示自动化助理生成用在训练机器学习模型中的训练实例的示例方法400的流程图,该机器学习模型将在口头话语的第一方解释和口头话语的第三方解释的协同排名中使用。为方便起见,参考执行操作的系统来描述方法400的操作。方法400的该系统包括计算设备(例如,图1的客户端设备110、图6的计算设备610、一个或多个服务器和/或其他计算设备)的一个或多个处理器、存储器和/或其他组件。此外,虽然以特定次序示出了方法400的操作,但这并不意味着限制。可以重新排序、省略和/或添加一个或多个操作。

在框452处,系统确定引导到自动化助理的口头话语的一个或多个1P解释。系统可以以相对于图3的方法300的框352-356的操作所描述的相同或类似的方式来确定引导到自动化助理的口头话语的一个或多个1P解释。在框454处,系统确定引导到自动化助理的口头话语的一个或多个3P解释。假设系统确定标识一个或多个3P代理,系统可以以相对于图3的方法300的框360-364的操作描述的相同或类似的方式确定引导到自动化助理的口头话语的一个或多个3P解释。在框456处,系统从一个或多个1P解释和一个或多个3P解释当中选择口头话语的给定解释。系统能够以相对于图3的框366的操作描述的相同或类似的方式从一个或多个1P解释和一个或多个3P解释当中选择口头话语的给定解释。

在框458处,系统生成一个或多个训练实例以用于更新机器学习(ML)模型,该机器学习(ML)模型被训练为至少基于一个或多个1P解释和一个或多个3P解释来选择口头话语的给定解释。例如,在子框458A处,系统标记一个或多个1P解释和一个或多个3P解释。例如,系统能够用正训练标签来标记所选择的口头话语的给定解释,并且能够用对应的负训练标签来标记未被选择的1P解释中的一个或多个和3P解释中的一个或多个。在该实例中,自动化助理可以响应于确定一个或多个用户满意度标准被满足而仅用正训练标签来标记给定解释。能够在基于给定解释、(例如,经由提供口头话语的用户的客户端设备视觉地和/或可听地)从提供口头话语的用户请求的显式反馈、和/或其他用户满意度标准使给定3P代理满足口头话语之后,基于用户对内容的参与来确定一个或多个用户满意度标准。例如,在图3的上述示例中,自动化助理可以响应于确定用户收听所选择的艺术家的标题为“Crazy”的歌曲达阈值持续时间、歌曲回放的标题为“Crazy”的歌曲的音量超过音量阈值、和/或用户提供指示所选择的艺术家的标题为“Crazy”的歌曲是正确的解释的显式反馈和/或基于其他信号,仅用正训练标签标记给定解释。此外,在子块458B处,系统将一个或多个训练实例存储在一个或多个训练数据库中。此外,例如,给定3P代理能够确定用于基于口头话语的给定解释回放的标题为“Crazy”的歌曲的回放的唯一事件标识符。唯一事件标识符能够与用户满意度标准相关联,并且能够由系统用在生成一个或多个训练实例中。例如,唯一事件标识符能够用在基于用户满意度标准来确定要分配给一个或多个1P解释和一个或多个3P解释的标签中,诸如指示对于[示例唯一事件标识符]满足用户满意度标准的自动化助理或给定3P解释。

在框460处,系统确定是否训练ML模型。系统能够响应于确定一个或多个训练标准被满足来确定是否训练ML模型。一个或多个训练标准能够包括例如一天中的时间、一周中的一天、接收到口头话语的客户端设备具有阈值充电状态、客户端设备当前正在充电、阈值持续时间流逝(例如,每周、每月)、和/或用于确定是否训练ML模型的其他训练标准。尽管框460被描绘为在框458之后发生,但是应当理解,这是为了示例的目的而不意味着限制。例如,能够在框458的操作之前执行框460的操作,使得系统可以响应于接收到口头话语但是等待直到满足一个或多个训练标准以生成一个或多个训练实例才存储一个或多个1P解释和一个或多个3P解释。

如果在框460的迭代处,系统确定不训练ML模型,则系统返回到框452以基于引导到自动化助理的附加口头话语来执行框454-458的附加迭代。换句话说,系统能够基于从用户接收的附加口头话语来继续生成一个或多个附加训练实例。如果在框460的迭代处,系统确定训练ML模型,则系统前进到框462。

在框462处,对于一个或多个训练实例中的给定训练实例,系统应用至少一个或多个1P解释和一个或多个3P解释作为跨ML模型的输入,以生成一个或多个预测输出。例如,系统能够应用一个或多个1P解释、对应的1P预测值、一个或多个3P解释和对应的3P预测值作为跨ML模型的输入,以生成一个或多个预测输出。在一些实施方式中,系统能够可选地应用在生成一个或多个3P解释时利用可用于一个或多个3P代理但不可用于自动化助理的数据的指示,和/或一个或多个意图的指示和/或与一个或多个意图相关联的一个或多个对应参数作为跨ML模型的输入。一个或多个预测输出能够包括例如针对口头话语预测的单个解释、一个或多个1P解释和一个或多个3P解释中的每一个的值(例如,二进制值、概率、对数似然性和/或其他值)的分布和/或其他预测的输出。

在框464处,系统将一个或多个预测输出与一个或多个真实值输出进行比较以生成一个或多个损失。在框466处,系统基于一个或多个损失来使ML模型被更新。例如,能够将一个或多个预测输出与正训练标签(或与其相关联的值)和/或对应的负训练标签(或与其相关联的对应值)进行比较以生成一个或多个损失,并且能够基于一个或多个损失(例如,经由反向传播)来更新ML模型。

现在转到图5,描绘了图示独立第三方代理执行口头话语的第一方解释和口头话语的第三方解释的协同排名的示例方法400的流程图。为方便起见,参考执行操作的系统来描述方法500的操作。方法500的该系统包括计算设备(例如,图1的客户端设备110、图6的计算设备610、一个或多个服务器和/或其他计算设备)的一个或多个处理器、存储器和/或其他组件。此外,虽然以特定次序示出了方法500的操作,但这并不意味着限制。可以重新排序、省略和/或添加一个或多个操作。

在框552处,系统获得引导到自动化助理的口头话语的一个或多个1P解释。口头话语的一个或多个1P解释能够由自动化助理以相对于图3的方法300的框352-356的操作所描述的相同或类似的方式来确定,并且被发送到系统以获得一个或多个1P解释。在框554处,系统获得引导到自动化助理的口头话语的一个或多个3P解释。假设自动化助理确定标识一个或多个3P代理,口头话语的一个或多个3P解释能够由一个或多个3P代理以相对于图3的方法300的框360-364的操作描述的相同或类似的方式确定,并且被发送到系统以获得一个或多个3P解释。

在框556处,系统从一个或多个1P解释和一个或多个3P解释当中选择口头话语的给定解释。系统可以以相对于图3的框366的操作描述的相同或类似的方式从一个或多个1P解释和一个或多个3P解释当中选择口头话语的给定解释。然而,在图5的方法500中,并且与图3的方法300和图4的方法400相反,系统可以与一个或多个独立的3P代理相对应。换句话说,能够以防止自动化助理从一个或多个3P代理获得任何3P代理数据(或基于3P代理数据确定的3P解释)并且还防止一个或多个3P代理获得任何1P代理数据(或基于1P代理数据确定的1P解释)的方式,结合一个或多个1P解释和一个或多个3P解释以用于由一个或多个独立3P代理选择给定解释。此外,通过以该方式选择口头话语的给定解释,可以在选择给定解释并且随后使给定3P代理基于给定解释满足口头话语的过程中减少时延。

在框558处,系统确定是否将给定解释发送到自动化助理或给定3P代理。系统能够基于与将口头话语的给定解释发送到自动化助理相关联的一个或多个预测的时延度量来确定是将口头话语的给定解释发送到自动化助理还是给定3P代理。例如,如果系统基于与将口头话语的给定解释发送到自动化助理相关联的一个或多个预测的时延度量,确定人机对话将被不必要地延长,则系统可以将给定解释直接发送到给定3P代理。然而,如果系统确定与将口头话语的给定解释发送到自动化助理相关联的一个或多个预测的时延度量是可忽略的,则系统可以将给定解释发送到自动化助理。即使在系统将给定解释直接发送到给定3P代理的实施方式中,系统仍然能够将口头话语的给定解释发送到自动化助理,用于生成一个或多个训练实例,如上相对于图3的方法400所述,以充分利用用于训练ML模型的选择,同时确保减少人机对话会话中的时延。

如果在框558的迭代处,系统确定将给定解释发送到自动化助理,则系统可以前进到框560。在框560处,系统将口头话语的给定解释发送到自动化助理,以使自动化助理基于口头话语的给定解释使给定3P代理满足口头话语。例如,给定的3P代理可以在客户端设备处本地执行,自动化助理在该客户端设备上被至少部分地执行。在该示例中,与将口头话语的给定解释发送到自动化助理相关联的一个或多个预测的时延度量可能是可忽略的,因为自动化助理能够容易地将给定解释提供给给定3P代理(例如,经由应用编程接口(API))。

如果在框558的迭代处,系统确定将给定解释发送到给定3P代理,则系统可以进行到框562。在框562处,系统将口头话语的给定解释发送到给定3P代理,以使给定3P代理基于口头话语的给定解释来满足口头话语。例如,给定3P代理可以远离客户端设备(例如,在远程服务器处),自动化助理在该客户端设备上被至少部分地执行。在该示例中,与向自动化助理发送口头话语的给定解释相关联的一个或多个预测的时延度量可能是不可忽略的,因为自动化助理引入不必要的联网跳并且还增加了与给定解释相关联的数据在发送中可能丢失的似然性。

现在转到图6,描绘了可以可选地用于执行本文描述的技术的一个或多个方面的示例计算设备610的框图。在一些实施方式中,客户端设备、基于云的自动化助理组件和/或其他组件中的一个或多个可以包括示例计算设备610的一个或多个组件。

计算设备610通常包括经由总线子系统612与多个外围设备通信的至少一个处理器614。这些外围设备可以包括存储子系统624——包括例如存储器子系统625和文件存储子系统626、用户接口输出设备620、用户接口输入设备622和网络接口子系统616。输入和输出设备允许用户与计算设备610交互。网络接口子系统616提供到外部网络的接口并且耦合到其他计算设备中的对应接口设备。

用户接口输入设备622可以包括键盘、定点设备——诸如鼠标、轨迹球、触摸板或图形输入板、扫描仪、并入显示器中的触摸屏、诸如话音辨识系统、麦克风的音频输入设备、和/或其他类型的输入设备。通常,使用术语“输入设备”旨在包括将信息输入到计算设备610中或通信网络上的所有可能类型的设备和方式。

用户接口输出设备620可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备或用于创建可见图像的一些其他机构。显示子系统还可以诸如经由音频输出设备提供非视觉显示。通常,使用术语“输出设备”旨在包括从计算设备610向用户或另一机器或计算设备输出信息的所有可能类型的设备和方式。

存储子系统624存储提供本文描述的一些或所有模块的功能性的编程和数据结构。例如,存储子系统624可以包括用于执行本文公开的方法的所选择方面以及实现图1和图2中描绘的各种组件的逻辑。

这些软件模块通常由处理器614单独执行或与其他处理器组合执行。在存储子系统624中使用的存储器625能够包括多个存储器,其包括用于在程序执行期间存储指令和数据的主随机存取存储器(RAM)630和存储固定指令的只读存储器(ROM)632。文件存储子系统626能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光盘驱动器或可移动介质盒。实现某些实施方式的功能性的模块可以由文件存储子系统626存储在存储子系统624中,或者存储在可由处理器614访问的其他机器中。

总线子系统612提供用于使计算设备610的各种组件和子系统按预期彼此通信的机制。尽管总线子系统612被示意性地示出为单个总线,但是总线子系统612的替代实施方式可以使用多个总线。

计算设备610能够是各种类型,其包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断改变的性质,图6中描绘的计算设备610的描述仅旨在作为用于图示一些实施方式的目的的具体示例。计算设备610的许多其他配置可能具有比图6中描绘的计算设备更多或更少的组件。

在本文描述的系统收集或以其他方式监视关于用户的个人信息,或者可以利用个人和/或监视的信息的情况下,可以向用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。而且,某些数据可以在其被存储或使用之前以一种或多种方式被处理,使得个人身份信息被移除。例如,可以处理用户的身份,使得不能确定用户的个人身份信息,或者可以在获得地理位置信息的情况下将用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的具体地理位置。因此,用户可能具有对如何收集和/或使用关于用户的信息的控制。

在一些实施方式中,提供了一种由一个或多个处理器实现的方法,并且包括:使用自动语音辨识(ASR)模型来处理捕获用户的口头话语的音频数据以生成ASR输出,所述音频数据由所述用户的客户端设备的一个或多个麦克风生成,并且所述口头话语被引导到至少部分地在所述客户端设备处执行的自动化助理;使用自然语言理解(NLU)模型来处理所述ASR输出,以生成NLU输出;基于所述NLU输出,确定所述口头话语的多个第一方解释,所述多个第一方解释中的每一个与对应的第一方预测值相关联,所述第一方预测值指示所述第一方解释中的每一个被预测为满足所述口头话语的置信度的大小;标识能够满足所述口头话语的给定第三方代理;通过一个或多个网络并且基于所述NLU输出,向所述给定第三方代理发送一个或多个结构化请求,所述一个或多个结构化请求在被接收时使得所述给定第三方确定所述口头话语的多个第三方解释,所述多个第三方解释中的每一个与对应的第三方预测值相关联,所述第三方预测值指示所述第三方解释中的每一个被预测为满足所述口头话语的置信度的大小;从所述给定第三方代理并且通过所述网络中的一个或多个网络接收所述口头话语的所述多个第三方解释;基于所述对应的第一方预测值和所述对应的第三方预测值,从所述多个第一方解释和所述多个第三方解释当中选择所述口头话语的给定解释;以及基于所述口头话语的给定解释,使所述给定第三方代理满足所述口头话语。

本文公开的技术的这些和其他实施方式能够可选地包括以下特征中的一个或多个。

在一些实施方式中,所述对应的第一方预测值可以将对应的第一方阶数指示为所述第一方解释中的每一个被预测为满足所述口头话语的置信度的大小,并且,所述对应的第三方预测值可以将对应的第三方阶数指示为所述第三方解释中的每一个被预测为满足所述口头话语的置信度的大小。

在那些实施方式的一些版本中,基于所述对应的第一方预测值和所述对应的第三方预测值选择所述口头话语的给定解释可以包括:将一个或多个规则应用于所述对应的第一方阶数和所述对应的第三方阶数,以选择所述口头话语的给定解释。在那些实施方式的一些进一步版本中,将所述一个或多个规则应用于所述对应的第一方阶数和所述对应的第三方阶数以选择所述口头话语的给定解释可以包括:基于确定所述对应的第一方预测值指示所述对应的第一方阶数以及所述对应的第三方预测值指示所述对应的第三方阶数,将一个或多个启发式定义的规则标识为所述一个或多个规则;以及将所述一个或多个启发式定义的规则应用于所述对应的第一方阶数和所述对应的第三方阶数,以选择所述口头话语的给定解释。

在那些实施方式的一些版本中,所述对应的第一方阶数与所述对应的第三方阶数不同可以是基于所述用户与所述给定第三方代理的一个或多个用户交互并且不利用所述自动化助理。在那些实施方式的一些版本中,所述对应的第一方阶数与所述对应的第三方阶数不同可以是基于排除所述客户端设备的用户的一组用户与所述给定第三方代理的一个或多个用户交互。

在一些实施方式中,所述对应的第一方预测值针对所述第一方解释中的每一个,可以将对应的第一方得分指示为:所述第一方解释中的每一个被预测为满足所述口头话语的置信度的大小,并且所述对应的第三方预测值针对所述第三方解释中的每一个,可以将对应的第三方得分指示为:所述第三方解释中的每一个被预测为满足所述口头话语的置信度的大小。

在那些实施方式的一些版本中,基于所述对应的第一方预测值和所述对应的第三方预测值选择所述口头话语的给定解释可以包括:将一个或多个规则应用于所述对应的第一方得分和所述对应的第三方得分,以选择所述口头话语的给定解释。在那些实施方式的一些进一步版本中,将所述一个或多个规则应用于所述对应的第一方得分和所述对应的第三方得分以选择所述口头话语的给定解释可以包括:将所述对应的第一方得分和所述对应的第三方得分与多个得分阈值进行比较;以及基于将所述对应的第一方得分和所述对应的第三方得分与所述多个得分阈值进行比较来选择所述口头话语的给定解释。在那些实施方式的又进一步版本中,所述方法可以进一步包括:响应于确定所述对应的第一方得分中的一个或多个第一方得分满足所述多个得分阈值中的第一得分阈值,并且响应于确定所述对应的第三方得分中没有任何一个满足所述多个得分阈值中的第二得分阈值:基于所述对应的第一方得分,选择所述第一方解释中的一个作为所述口头话语的给定解释。在那些实施方式的甚至又进一步版本中,所述方法可以进一步包括:响应于确定所述对应的第一方得分中没有任何一个不满足所述第一得分阈值,并且响应于确定所述对应的第三方得分中的一个或多个满足所述第二得分阈值:基于所述对应的第三方得分,选择所述第三方解释中的一个作为所述口头话语的给定解释。

在那些实施方式的一些版本中,所述对应的第一方得分与所述对应的第三方得分不同可以是基于所述用户与所述给定第三方代理的一个或多个用户交互并且不利用所述自动化助理。在那些实施方式的一些版本中,所述对应的第一方得分与所述对应的第三方得分不同可以是基于排除所述客户端设备的用户的一组用户与所述给定第三方代理的一个或多个用户交互。

在一些实施方式中,所述方法可以进一步包括确定一个或多个第三方代理标准标识是否被满足。标识能够满足所述口头话语的所述给定第三方代理可以是响应于确定所述一个或多个第三方标识标准被满足。在那些实施方式的一些版本中,所述一个或多个第三方标识标准可以包括以下中的一个或多个:在生成所述ASR输出时确定的一个或多个ASR度量、在生成所述NLU输出时确定的一个或多个NLU度量、指示所述给定第三方代理能够满足所述口头话语的置信度的大小的一个或多个第三方能力度量、与获得所述口头话语的所述多个第三方解释相关联的一个或多个预测时延度量,或者指示为所述第一方解释中的一个被预测为满足所述口头话语的置信度的大小的所述对应的第一方预测值中的一个或多个。

在一些实施方式中,所述方法可以进一步包括:标识能够满足所述口头话语的给定的附加第三方代理;通过所述网络中的一个或多个网络并且基于所述NLU输出,向所述给定的附加第三方代理发送所述结构化请求中的一个或多个结构化请求,所述一个或多个结构化请求在被接收时使所述给定的附加第三方确定所述口头话语的多个附加第三方解释,所述多个附加第三方解释中的每一个与对应的附加第三方预测值相关联,所述对应的附加第三方预测值指示所述附加第三方解释中的每一个被预测为满足所述口头话语的置信度的大小;以及从所述给定的附加第三方代理并且通过所述网络中的一个或多个网络接收所述口头话语的所述多个附加第三方解释。选择所述口头话语的给定解释可以进一步基于所述对应的附加第三方预测值,并且从所述多个第一方解释、所述多个第三方解释和所述多个附加第三方解释当中选择所述给定解释。

在一些实施方式中,将所述一个或多个结构化请求发送到所述给定第三方代理可以进一步使得所述给定第三方代理确定所述口头话语的所述多个第三方解释中的一个或多个是否基于所述给定第三方代理可用但所述自动化助理不可用的数据而被确定,并且可以进一步使得所述给定第三方代理发送所述口头话语的所述多个第三方解释中的一个或多个以及所述多个第三方解释中的一个或多个基于所述给定第三方代理可用但所述自动化助理不可用的所述数据而被确定的指示。在那些实施方式的一些版本中,所述给定第三方代理可用但所述自动化助理不可用的所述数据可以基于以下中的一个或多个:所述用户与所述给定第三方代理的一个或多个用户交互并且不利用所述自动化助理,或者基于排除所述客户端设备的用户的一组用户与所述给定第三方代理的一个或附加的多个用户交互。

在一些实施方式中,所述多个第一方解释中的每一个和所述多个第三方解释中的每一个可以包括对应意图、与所述对应意图相关联的一个或多个对应参数,以及用于所述一个或多个对应参数中的每一个的一个或多个对应槽值。在那些实施方式的一些版本中,所述多个第一方解释中的每一个可以包括以下各项中的一项:唯一的对应意图,或者用于所述对应参数中的一个或多个对应参数的一个或多个唯一的对应槽值。在那些实施方式的一些版本中,所述多个第三方解释中的每一个可以包括以下各项中的一项:唯一的对应意图,或者用于所述对应参数中的一个或多个对应参数的一个或多个唯一的对应槽值。

在一些实施方式中,所述方法可以进一步包括:确定所述给定解释是所述多个第一方解释中的一个还是所述多个第三方解释中的一个;以及响应于确定所述给定解释是所述多个第一方解释中的一个:使得所述自动化助理提供所述给定解释是所述多个第一方解释中的一个的指示以呈现给所述客户端设备的用户;以及响应于确定所述给定解释是所述多个第三方解释中的一个:使得所述自动化助理提供所述给定解释是所述多个第三方解释中的一个的指示以呈现给所述客户端设备的用户。在那些实施方式的一些版本中,使所述自动化助理提供所述给定解释是所述多个第三方解释中的一个的指示以呈现给所述客户端设备的用户可以包括:使所述自动化助理以合成话音可听地渲染所述给定解释是所述多个第三方解释中的一个的指示,所述合成话音被预留用于第三方代理并且不同于被预留用于所述自动化助理的自动化助理话音。

在一些实施方式中,提供一种由一个或多个处理器实现的方法,并且包括:使用自动语音辨识(ASR)模型来处理捕获用户的口头话语的音频数据以生成ASR输出,所述音频数据由所述用户的客户端设备的一个或多个麦克风生成,并且所述口头话语被引导到至少部分地在所述客户端设备处执行的自动化助理;使用自然语言理解(NLU)模型来处理所述ASR输出,以生成NLU输出;基于所述NLU输出,确定所述口头话语的多个第一方解释,所述多个第一解释中的每一个与对应的第一方预测值相关联,所述第一方预测值指示所述第一方解释中的每一个被预测为满足所述口头话语的置信度的大小;标识能够满足所述口头话语的给定第三方代理;通过一个或多个网络并且基于所述NLU输出,向所述给定第三方代理发送一个或多个结构化请求,所述一个或多个结构化请求在被接收时使得所述给定第三方确定所述口头话语的多个第三方解释,所述多个第三方解释中的每一个与对应的第三方预测值相关联,所述第三方预测值指示所述第三方解释中的每一个被预测为满足所述口头话语的置信度的大小;从所述给定第三方代理并且通过所述网络中的一个或多个网络接收所述口头话语的所述多个第三方解释;基于所述对应的第一方预测值和所述对应的第三方预测值,从所述多个第一方解释和所述第三方解释当中选择所述口头话语的给定解释;以及生成要用在更新机器学习(ML)模型中的一个或多个训练实例,所述机器学习(ML)模型被训练为基于所述多个第一方解释、所述对应的第一方预测值、所述多个第三方解释和所述对应的第三方预测值来选择口头话语的给定解释。

本文公开的技术的这些和其他实施方式能够可选地包括以下特征中的一个或多个。

在一些实施方式中,生成要用在更新所述ML模型中的所述一个或多个训练实例可以包括:用正训练标签来标记所选择的所述口头话语的给定解释;以及用对应的负训练标签来标记未被选择的所述第一方解释中的一个或多个和所述第三方解释中的一个或多个。

在那些实施方式的一些版本中,所述方法可以进一步包括:应用所述多个第一方解释和所述多个第三方解释作为跨所述ML模型的输入,以生成与所述多个第一方解释和所述多个第三方解释中的每一个相关联的预测输出;将与所述多个第一方解释和所述多个第三方解释中的每一个相关联的所述预测输出与所述正训练标签和所述对应的负训练标签进行比较,以生成一个或多个损失;以及使得所述ML模型基于所述一个或多个损失来被更新。在那些实施方式的一些进一步版本中,将所述多个第一方解释和所述多个第三方解释应用为跨所述ML模型的输入可以包括:将所述对应的第一方预测值和所述对应的第三方预测值应用为跨所述ML模型的输入以生成所述预测输出。在那些实施方式的一些进一步版本中,将所述多个第一方解释和所述多个第三方解释应用为跨所述ML模型的输入可以进一步包括:将对所述给定第三方代理可用但对所述自动化助理不可用的数据被用在生成所述多个第三方解释中的指示连同所述对应的第一方预测值和所述对应的第三方预测值应用为跨所述ML模型的输入。

在那些实施方式的一些版本中,将所述多个第一方解释和所述多个第三方解释应用为跨所述ML模型的输入可以进一步包括将一个或多个意图和/或与所述一个或多个意图相关联的一个或多个对应参数的指示连同所述对应的第一方预测值和所述对应的第三方预测值应用为跨所述ML模型的输入。在那些实施方式的一些进一步版本中,所述一个或多个意图可以被包括在所述NLU数据中,并且所述一个或多个意图的指示可以包括在选择所述给定解释时要解析所述一个或多个意图的指示。在那些实施方式的一些进一步版本中,所述一个或多个对应参数可以被包括在所述NLU数据中,并且所述一个或多个对应参数的指示可以包括在选择所述给定解释时要解析所述一个或多个对应参数的指示。

在那些实施方式的一些版本中,用正训练标签来标记所选择的所述口头话语的给定解释可以包括确定一个或多个用户满意度标准是否被满足。用所述正训练标签来标记所选择的所述口头话语的给定解释可以是响应于确定所述用户满意度标准中的所述一个或多个用户满意度标准被满足。

在一些实施方式中,提供一种由一个或多个处理器实现的方法,并且包括获得口头话语的多个第一方解释。所述口头话语的所述第一方解释中的每一个由自动化助理确定,并且所述自动化助理基于以下各项来确定所述第一方解释:使用自动语音辨识(ASR)模型来处理捕获用户的所述口头话语的音频数据以生成ASR输出,所述音频数据由所述用户的客户端设备的一个或多个麦克风生成,并且所述口头话语被引导到至少部分地在所述客户端设备处执行的所述自动化助理;使用自然语言理解(NLU)模型来处理所述ASR输出,以生成NLU输出;以及基于所述NLU输出,确定所述口头话语的多个第一方解释,所述多个第一方解释中的每一个与对应的第一方预测值相关联,所述第一方预测值指示所述第一方解释中的每一个被预测为满足所述口头话语的置信度的大小。所述方法进一步包括获得所述口头话语的多个第三方解释。所述口头话语的所述第三方解释中的每一个由一个或多个第三方代理确定,并且所述一个或多个第三方代理中的每一个基于以下各项来确定所述第三方解释中的一个或多个:通过一个或多个网络并且基于所述NLU输出从所述自动化助理接收一个或多个结构化请求;以及基于所述一个或多个结构化请求,确定所述口头话语的所述多个第三方解释,所述多个第三方解释中的每一个与对应的第三方预测值相关联,所述第三方预测值指示所述第三方解释中的每一个被预测为满足所述口头话语的置信度的大小。所述方法进一步包括基于所述对应的第一方预测值和所述对应的第三方预测值,从所述多个第一方解释和所述多个第三方解释当中选择所述口头话语的给定解释;以及将所述口头话语的给定解释发送到所述自动化助理或所述一个或多个第三方代理中的给定第三方代理。

本文公开的技术的这些和其他实施方式能够可选地包括以下特征中的一个或多个。

在一些实施方式中,将所述口头话语的给定解释发送到所述自动化助理可以使得所述自动化助理基于所述口头话语的给定解释使所述给定第三方代理满足所述口头话语。

在一些实施方式中,将所述口头话语的给定解释发送到所述给定第三方代理可以使得所述给定第三方代理基于所述口头话语的给定解释来满足所述口头话语。

在一些实施方式中,所述一个或多个处理器可以由独立的第三方代理实现。所述独立的第三方代理可以排除在生成所述多个第三方解释时利用的所述自动化助理和所述一个或多个第三方代理。

在一些实施方式中,所述方法可以进一步包括:基于与将所述口头话语的给定解释发送到所述自动化助理相关联的一个或多个预测的时延度量,确定是将所述口头话语的给定解释发送到所述自动化助理还是所述给定第三方代理;以及响应于确定与将所述口头话语的给定解释发送到所述自动化助理相关联的所述一个或多个预测的时延度量满足时延阈值:将所述口头话语的给定解释发送到所述给定第三方代理。在那些实施方式的一些版本中,所述方法可以进一步包括响应于确定与将所述口头话语的给定解释发送到所述自动化助理相关联的所述一个或多个预测的时延度量未能满足所述时延阈值:将所述口头话语的给定解释发送到所述自动化助理。

另外,一些实施方式包括一个或多个计算设备的一个或多个处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或张量处理单元(TPU)),其中,一个或多个处理器可操作以执行在相关联的存储器中存储的指令,并且其中,指令被配置为使得执行任何上述方法。一些实施方式还包括一个或多个非暂时性计算机可读存储介质,其存储可由一个或多个处理器执行以实现任何上述方法的计算机指令。一些实施方式还包括计算机程序产品,该计算机程序产品包括可由一个或多个处理器执行以实现任何上述方法的指令。

相关技术
  • 在用户迭代地提供口头话语或口头话语序列时由自动化助理对图形用户界面元素的动态适配
  • 信道状态信息反馈的方法及装置
技术分类

06120116481492