HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

文本无关的说话者识别的制作方法

2021-01-28 15:01:17|282|起点商标网
文本无关的说话者识别的制作方法



背景技术:

自动化助理(也称为“个人助理”、“移动助理”等)可以由用户经由多种客户端装置进行交互,诸如智能电话、平板计算机、可穿戴装置、汽车系统、独立个人助理装置等等。自动化助理接收来自用户的输入,包括口头自然语言输入(即,话语),并且可以通过执行动作、通过控制另一装置和/或提供响应内容(例如,视觉和/或听觉自然语言输出)来进行响应。经由客户端装置交互的自动化助理可以经由客户端装置本身和/或经由与客户端装置网络通信的一个或多个远程计算装置(例如,云中的计算装置)来实现。

自动化助理可以将对应于用户的口头话语的音频数据转换成相应的文本(或其他语义表示)。例如,可以基于经由包括自动化助理的客户端装置的一个或多个麦克风检测到用户的口头话语来生成音频数据。自动化助理可以包括语音识别引擎,所述语音识别引擎试图识别在音频数据中捕获的口头话语的各种特性,诸如由口头话语产生的声音(例如,音素)、发音的顺序、语音节奏、语调等。此外,语音识别引擎可以识别出此类特性所表示的文本单词或短语。然后,自动化助理可以进一步处理所述文本(例如,使用自然语言理解引擎和/或对话状态引擎),以确定口头话语的响应内容。语音识别引擎可以由客户端装置和/或远离客户端装置但与客户端装置网络通信的一个或多个自动化助理组件来实现。



技术实现要素:

本文描述的技术涉及基于捕获口头话语的音频数据的处理的文本无关(ti)的说话者识别。然而,当然应了解,除了提供响应内容之外或代替提供响应内容,可以执行/使得执行其他动作,诸如控制其他装置,所述装置诸如但不限于智能锁、智能警报系统、智能开关和/或智能恒温器。在此类示例中,可以仅响应于验证特定授权用户说出了特定口头话语而使得其他装置受到控制。在用户允许的情况下,可以使用说话者识别来验证用户说出了特定的口头话语。响应于验证用户说出了特定的口头话语,可以响应于所述特定的口头话语来提供内容,其中所述内容既响应于特定的口头话语,又是为用户定制的。说话者识别可以包括使用说话者识别模型来处理捕获口头话语的音频数据以生成输出,并将所述输出与用于用户的说话者嵌入进行比较(例如,与用户的用户配置文件相关联的嵌入)。例如,如果生成的输出和用户的说话者嵌入之间的距离度量满足阈值,则用户可以被验证为说出了特定口头话语的用户。可以基于输出来生成用于用户的说话者嵌入,所述输出是基于对包括来自用户的口头话语的音频数据的一个或多个实例的处理而生成的。例如,说话者嵌入可以基于多个不同嵌入的平均值(或其他组合),每一嵌入是基于对包括来自用户的相应口头话语的相应音频数据实例的处理而生成的。

在文本相关(td)的说话者识别中,用户的说话者嵌入是基于仅包括一个或多个特定单词和/或一个或多个特定短语的口头话语而生成的。此外,在使用中,用户必须说出一个或多个特定单词/短语以便使用与说话者嵌入充分匹配的td说话者识别模型来生成输出。作为一个实例,td说话者识别中的一个或多个特定单词/短语可以局限于被配置成调用自动化助理的一个或多个调用短语。自动化助理的调用短语包含一个或多个热词/触发词,例如,“嘿,助理”、“好的,助理”和/或“助理”。

相比来说,在ti说话者识别中,使用ti说话者识别模型处理的口头话语并不局限于特定单词和/或特定短语。换句话说,可以使用ti说话者识别模型来处理基于几乎任何口头话语的音频数据以生成输出,所述输出可以有效地与特定用户的ti说话者嵌入进行比较,以确定口头话语是否来自特定用户。此外,在各种实施方式中,在ti说话者识别中利用的用户的说话者嵌入是基于包括不同的单词和/或短语的口头话语来生成的。

在各种实施方式中,特定用户的一个或多个说话者嵌入存储在与所述特定用户相关联的客户端装置处(例如,客户端装置与所述特定用户的用户配置文件相关联,并且本地存储的说话者嵌入与用户配置文件相关联)。此外,多个用户可以与同一个客户端装置相关联,且因此若干特定用户的多个说话者嵌入可以存储在客户端装置处(例如,客户端装置与若干特定用户的用户配置文件相关联,其中每一用户配置文件包括相关联的特定用户的至少一个说话者嵌入)。在客户端装置处存储说话者嵌入(与在诸如服务器的远程计算装置处存储说话者嵌入相比)可以有助于保护数据安全性。在各种实施方式中,td说话者识别可以发生在客户端装置处。另一方面,ti说话者识别在计算上可能是昂贵的(例如,处理器和/或存储器资源),和/或依赖于需要大量存储空间的ti说话者识别模型。因此,在许多实施方式中,ti说话者识别可以更好地适用于远程计算装置(例如,一个或多个服务器),所述远程计算装置可以利用它们更鲁棒的资源。另外或可替代地,在许多实施方式中,ti说话者识别可以发生在客户端装置处。例如,当在客户端装置处执行ti说话者识别时,增量式验证结果可以从客户端装置传输到服务器。此外,在各种实施方式中,ti说话者嵌入可以本地存储在客户端装置处,并且与捕获口头话语的音频数据一起传输到远程计算装置,以使得能够使用ti说话者嵌入来验证(通过远程计算装置)话语的说话者。在各种实施方式中,在远程计算装置处与音频数据一起接收并在ti说话者识别中利用的说话者嵌入可以在它们被用于说话者识别过程之后立即从远程计算装置中删除,从而保护数据安全性,并减少了恶意行为者以利用说话者嵌入为目的来访问说话者嵌入从而未经授权而访问内容或控制装置的机会。

本文公开的一些实施方式涉及至少选择性地利用说话者识别中的td说话者识别模型和ti说话者识别模型两者。例如,可以使用td说话者识别模型来处理捕获口头话语的音频数据的调用部分,以生成td输出。td输出然后可以与给定用户的td说话者嵌入相比较,以生成给定用户的td用户测量。例如,td用户测量可以基于td输出和td说话者嵌入之间的距离(在嵌入空间中)。此外,可以使用ti说话者识别模型来处理捕获口头话语的音频数据的至少附加部分,以生成ti输出。ti输出然后可以与给定用户的ti说话者嵌入相比较,以生成给定用户的ti用户测量。例如,ti用户测量可以基于ti输出和ti说话者嵌入之间的距离(在嵌入空间中)。

td用户测量和ti用户测量可以至少选择性地组合使用,以确定给定用户是否是口头话语的说话者。例如,td用户测量和ti用户测量可以分别与各自的阈值进行比较,可以被平均(或以其他方式组合)并与阈值进行比较,和/或以其他方式在确定给定用户是否是口头话语的说话者时被组合考虑。利用td和ti用户测量两者可以增加说话者识别的鲁棒性和/或准确性。这可以减轻可能损害(例如,数据)安全性的误判,和/或减轻可能导致相应用户需要再次提供口头话语的漏判——防止计算和网络资源在再次处理和传输口头话语时被浪费。

在一些实施方式中,ti说话者识别模型仅在td用户测量未能满足阈值时用于说话者识别。例如,如果给定用户的td用户测量以高置信度指示给定用户是口头输入的说话者,则可以绕过ti说话者识别。这可以通过在只有td说话者识别以高置信度识别说话者时阻止执行ti说话者识别来节省计算资源。在一些实施方式中,当ti用户测量和td用户测量两者用于说话者识别中时,可以基于针对其正在识别说话者的请求的一个或多个特征来动态确定两个测量的相应权重。此类特征可以包括例如,请求的口头话语的长度(例如,整体长度、或至少请求的任何非调用部分的长度)、和/或td用户测量的量值。例如,相比于“好的,助理,出了什么事”的请求,对于“好的,助理,我接下来的五个日历条目是什么”的请求,ti用户测量的权重可以更重。此类更重的加权可以至少部分地基于“我接下来的五个日历条目是什么”比“出了什么事”更长(持续时间和/或术语/字符方面)——因为使用ti说话者识别模型处理更长的音频数据可以导致生成更准确的ti用户测量。作为另一实例,当td用户测量指示高置信度时,与td用户测量不指示高置信度时相比,ti用户测量的权重低很多。ti和td用户测量的此类动态加权可以通过以更可能导致准确说话者识别的方式移位加权来减轻误判和/或漏判。

上文描述的示例是针对与单个用户相关联的嵌入和测量来描述的。然而,如本文所描述,在各种情况下,客户端装置可以与多个用户相关联,每一用户具有单独的说话者嵌入(例如,每一用户具有相应的ti说话者嵌入和相应的td说话者嵌入)。在这些情况下,针对多个用户中的每一个的相应td用户测量和相应ti用户测量可以用于识别多个用户中的哪一个说出了口头话语。

本文公开的一些实施方式另外地或可替代地涉及启动对与请求相关联的多个用户中的每一个的响应内容的确定,其中所述启动发生在完成确定(例如,使用ti说话者识别模型)多个用户中的哪一个说出了在请求的音频数据中捕获的口头话语之前。然后,响应于确定特定用户说出了在请求的音频数据中捕获的口头话语,可以使特定用户的响应内容响应于请求而被呈现。启动确定多个用户中的每一个的响应内容可以使得响应内容能够在已经确定多个用户中的哪一个说出了口头话语之前开始生成。因此,与在启动生成特定用户的响应内容之前等待识别特定用户相比,可以以减少的时延生成和/或呈现特定用户的响应内容(或者可以执行动作)。可选地,如果在完成其他用户的响应内容的生成之前识别出特定用户,则可以停止生成其他用户的响应内容,以防止在继续生成其他用户的此类响应内容时使用任何其他的计算和/或网络资源。

此外,在各种实施方式中,启动确定与请求相关联的多个用户中的每一个的响应内容仅响应于那些满足一个或多个阈值的多个用户的最初确定的td测量而发生。例如,如本文所描述,在各种情况下,td测量可以在ti测量之前生成,并且/或者可以包括(或至少指示)在接收到的请求中。如果与请求相关联的三个用户中的两个用户的td测量满足阈值,则可以抢先启动生成这两个用户的响应内容(而对于td测量不满足阈值的另一用户,则不抢先启动)。如果只有一个用户的td测量满足阈值,则可选地可以仅针对所述一个用户抢先启动生成响应内容。如果与请求相关联的所有三个用户的td测量都满足阈值,则可以抢先启动生成所有三个用户的响应内容。

一些实施方式另外地或可替代地涉及使用更新的ti说话者识别模型自动地生成给定用户的更新版本的ti说话者嵌入。在这些实施方式中的一些中,从客户端装置接收请求,其中所述请求包括捕获给定用户的口头输入的音频数据,并且包括给定用户的说话者嵌入的版本。在这些实施方式的一些版本中,响应于确定所述版本的说话者嵌入是使用过时的ti说话者识别模型生成的,生成给定用户的更新版本的说话者嵌入。例如,基于包括在请求中的所述版本的说话者嵌入的版本标识符,可以确定已经使用过时的ti说话者识别模型生成了所述版本的说话者嵌入。过时版本的说话者嵌入仍然可以用于将给定用户识别为已经说出了包括在请求的音频数据中的口头输入,以及生成响应于口头输入并且为给定用户定制的响应内容。通过利用过时版本的ti说话者识别模型来处理至少一部分音频数据以生成输出,并将生成的输出与过时版本的说话者嵌入进行比较,可以在识别给定用户时利用过时版本的说话者嵌入。可以响应于请求而将响应内容传输到客户端装置,从而使得在客户端装置处呈现响应内容(或其转换)。利用过时版本的ti说话者识别模型使得能够对包括过时说话者嵌入的请求执行说话者识别,无需等待生成更新的说话者嵌入。尽管部署了更新的说话者嵌入模型,但这可以继续支持过时的说话者嵌入。此外,这可以减轻在生成对包括过时的说话者嵌入的请求的响应中的时延,因为过时的说话者嵌入可以被用来识别说话者,并且可选地传输为所识别的说话者定制的内容——而不是需要等待生成更新的说话者嵌入来验证用户(其中更新的说话者嵌入的生成可能引入不期望的时延)。另外,所述技术确保在大部分时间使用给定用户的最新版本的ti说话者嵌入,同时分散与为所有用户生成和提供更新的说话者嵌入相关联的计算负荷。此外,由于所述版本的ti说话者嵌入仅在接收到来自给定用户的包括内容的请求时生成,所以更新版本的ti说话者嵌入不会自动生成并提供给不再使用或很少使用助理系统的用户。

更新版本的说话者嵌入可以基于音频数据的过去实例而生成,这些过去实例被存储(在用户允许的情况下)并且每一实例捕获被确定为由用户说出的过去口头话语。在那些不同实施方式中的一些中,基于寻求增加嵌入的鲁棒性(从而确保基于说话者嵌入的鲁棒的ti说话者识别)的一个或多个准则来选择被选择用于生成说话者嵌入的音频数据的过去实例。例如,可以基于包括集体多样化的话语(例如,语音多样化、单词多样化和/或其他多样化特征)来选择音频数据实例的集合,可以基于包括至少具有阈值长度的话语来选择音频数据的一个或多个实例,等等。此外,利用满足一个或多个准则的音频数据的过去实例可以导致更鲁棒的嵌入。此外,利用过去的实例可以减轻用户再次提供多个登记话语的需要,这可能是耗时的并且可能不必要地消耗资源,诸如处理登记话语时的计算资源和/或传输对应于登记话语的音频数据时的网络资源。一旦生成,可以将更新的说话者嵌入传输到客户端装置,以使得所述客户端装置本地存储更新的说话者嵌入以用于与未来请求一起传输。当响应于被确定为包括过时的说话者嵌入的请求而生成更新的说话者嵌入时,更新的说话者嵌入可以可选地在传输响应于所述请求并且利用过时的ti说话者嵌入生成的响应内容之后被传输。如上文提及,利用过时的ti说话者识别模型可以能够快速地提供生成响应内容(或动作)并减少时延,同时更新的ti说话者嵌入的生成仍在进行。

提供以上描述作为本文公开的各种实施方式的概述。本文将更详细地描述那些不同的实施方式以及附加的实施方式。

在一些实施方式中,提供一种由一个或多个处理器实现的方法,所述方法包括:从客户端装置并且经由网络接收自动化助理请求,所述请求包括:用于所述客户端装置的特定用户的文本无关(ti)说话者嵌入,以及捕获所述特定用户的口头输入的音频数据,其中所述音频数据经由所述客户端装置的一个或多个麦克风捕获。所述方法进一步包括确定所述ti说话者嵌入是使用过时版本的ti说话者识别模型生成的。所述方法进一步包括响应于确定所述说话者嵌入是使用所述过时版本的所述ti说话者识别模型生成的:使用所述过时版本的所述ti说话者识别模型处理所述音频数据的至少一部分以生成ti输出。所述方法进一步包括通过比较所述ti输出与所述特定用户的所述说话者嵌入,确定所述特定用户是否说出了所述口头输入。所述方法进一步包括响应于确定所述特定用户说出了所述口头输入:执行基于所述音频数据的一个或多个动作;使用更新版本的所述ti说话者识别模型处理捕获所述特定用户的先前口头输入的先前音频数据,以生成更新的说话者嵌入;以及将所述特定用户的所述更新的说话者嵌入传输到所述客户端装置,以使得所述客户端装置本地存储所述更新的说话者嵌入以用于与未来自动化助理请求一起传输。

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

在一些实施方式中,实现所述方法的一个或多个处理器在远离所述客户端装置的一个或多个计算装置处,并且进一步包括:响应于将用于所述特定用户的所述更新的说话者嵌入传输到所述客户端装置:从所述一个或多个计算装置删除所述更新的说话者嵌入的所有实例。

在一些实施方式中,使用过时版本的所述ti说话者识别模型处理所述音频数据的至少一部分以生成ti输出包括:使用所述过时版本的所述ti说话者识别模型处理所述音频数据的附加部分(该附加部分是除了所述音频数据的调用短语部分之外的部分),以生成所述ti输出。

在一些实施方式中,使用过时版本的所述ti说话者识别模型处理所述音频数据的至少一部分以生成ti输出包括:使用所述过时版本的所述ti说话者识别模型处理所述音频数据的调用短语部分和所述音频数据的附加部分,以生成所述ti输出。

在一些实施方式中,使用更新版本的所述ti说话者识别模型处理捕获所述特定用户的先前口头输入的所述先前音频数据以生成更新的说话者嵌入包括:使用所述更新版本的所述ti说话者识别模型处理所述先前音频数据的多个实例以生成所述更新的说话者嵌入,其中所述先前音频数据的所述实例中的每一个捕获所述特定用户的先前口头输入。

在一些实施方式中,所述方法进一步包括基于所述先前音频数据的所述多个实例满足一个或多个准则而选择所述先前音频数据的所述多个实例。

在一些实施方式中,所述一个或多个准则包括以下各项中的一个或多个:用于所述先前音频数据的所述多个实例中的每一者的长度准则;以及用于所述先前音频数据的所述多个实例的多样性准则。在这些实施方式的一些版本中,所述方法进一步包括通过下述方式来用捕获所述特定用户的所述口头输入的所述音频数据替换所述先前音频数据的所述实例中的先前音频数据实例:确定所述多个先前音频数据中先前音频数据的每一实例的长度。所述方法进一步包括确定捕获所述特定用户的所述口头输入的所述音频数据的长度。所述方法进一步包括比较所述音频数据的所述长度与先前音频数据的每一实例的所述长度。所述方法进一步包括响应于基于所述比较确定所述音频数据比先前音频数据的一个或多个实例长,用最短长度的所述音频数据替换先前音频数据的所述实例。

在一些实施方式中,确定所述ti说话者嵌入是使用过时版本的所述ti说话者识别模型生成的至少部分基于所述ti说话者嵌入的版本标识符,所述版本标识符包括在所述自动化助理请求中。

在一些实施方式中,执行基于所述音频数据的一个或多个动作包括基于所述音频数据控制一个或多个外围装置。

在一些实施方式中,执行基于所述音频数据的一个或多个动作包括生成为所述特定用户定制并且基于所述音频数据的响应内容,以及使得所述客户端装置基于所述响应内容呈现输出。在这些实施方式的一些版本中,所述方法进一步包括在使得所述客户端装置基于所述响应内容呈现输出之后,完成生成所述更新的说话者嵌入。

在一些实施方式中,自动化助理请求进一步包括文本相关(td)用户测量,所述td用户测量是使用本地存储在所述客户端装置处的td说话者识别模型以及使用本地存储在所述客户端装置处的td说话者嵌入而在所述客户端装置本地生成的,所述td说话者嵌入用于所述特定用户,并且其中通过比较所述ti输出与所述特定用户的所述说话者嵌入来确定所述特定用户是否说出了所述口头输入进一步包括:通过比较所述ti输出与所述说话者嵌入来确定ti用户测量;以及使用所述td用户测量和所述ti用户测量两者来确定所述特定用户是否说出了所述口头输入。在这些实施方式中的一些版本中,所述方法进一步包括通过下述方式使用所述td用户测量和所述ti用户测量两者确定所述特定用户是否说出了所述口头输入:通过组合所述td用户测量和所述ti用户测量来确定特定用户概率测量,所述特定用户概率测量指示所述特定用户说出了所述口头输入的概率;以及通过确定所述特定用户概率测量是否满足阈值来确定所述特定用户是否说出了所述口头输入。在这些实施方式中的一些版本中,响应于确定所述说话者嵌入是使用所述过时版本的所述ti说话者识别模型生成的,所述方法进一步包括确定第一用户配置文件和第二用户配置文件都与所述自动化助理请求相关联。所述方法进一步包括响应于确定第一用户配置文件和所述第二用户配置文件都与所述自动化助理请求相关联,启动生成为所述第一用户定制并且响应于所述口头输入的第一响应内容。所述方法进一步包括启动生成为所述第二用户定制并且响应于所述口头输入的第二响应内容。所述方法进一步包括在完成生成所述第一响应内容和所述第二响应内容之前,使用所述ti说话者识别模型至少处理音频数据的所述部分以生成ti输出。所述方法近一步包括通过比较所述ti输出与所述第一用户的说话者嵌入,确定所述特定用户是否是所述第一用户,以及所述特定用户是否说出了所述口头输入。所述方法进一步包括,响应于确定所述特定用户说出了所述口头输入,进一步包括将所述第一响应内容传输到所述客户端装置,而不是将所述第二响应内容传输到所述客户端装置。

在一些实施方式中,提供一种由一个或多个处理器实现的方法,所述方法包括从客户端装置并且经由网络接收自动化助理请求,所述请求包括:捕获用户的口头输入的音频数据,其中所述音频数据在所述客户端装置的一个或多个麦克风处捕获,以及文本相关(td)用户测量,所述td用户测量是使用本地存储在所述客户端装置处的td说话者识别模型以及使用本地存储在所述客户端装置处的td说话者嵌入而在所述客户端装置本地生成的,所述td说话者嵌入用于特定用户。所述方法进一步包括使用文本无关(ti)说话者识别模型处理所述音频数据的至少一部分以生成ti输出。所述方法进一步包括通过比较所述ti输出与ti说话者嵌入来确定ti用户测量,所述ti说话者嵌入与所述自动化助理请求相关联并且用于所述特定用户。所述方法进一步包括使用所述td用户测量和所述ti用户测量两者来确定所述特定用户是否说出了所述口头输入。所述方法进一步包括,响应于确定所述口头输入由所述特定用户说出:生成响应于所述口头话语并且为所述特定用户定制的响应内容。所述方法进一步包括将所述响应内容传输到所述客户端装置使得所述客户端装置基于所述响应内容而呈现输出。

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

在一些实施方式中,经由所述网络从所述客户端装置接收的所述自动化助理请求进一步包括用于所述特定用户的所述ti说话者嵌入。

在一些实施方式中,使用所述td用户测量和所述ti用户测量两者确定所述特定用户是否说出了所述口头输入包括:通过组合所述td用户测量和所述ti用户测量来确定特定用户概率测量,所述特定用户概率测量指示所述特定用户说出了所述口头输入的概率。所述方法进一步包括通过确定所述特定用户概率测量是否满足阈值来确定所述特定用户是否说出了所述口头输入。在这些实施方式的一些版本中,组合所述td用户测量和所述ti用户测量包括在所述组合中利用所述td用户测量的第一权重以及在所述组合中利用所述ti用户测量的第二权重。在这些实施方式的一些版本中,所述方法进一步包括基于所述音频数据或所述口头输入的长度来确定所述第一权重和所述第二权重。

在一些实施方式中,所述方法进一步包括基于所述td用户测量的量值来确定所述第一权重和所述第二权重。

在一些实施方式中,所述方法进一步包括确定所述td用户测量未能满足阈值,其中处理所述音频数据的所述部分以生成ti输出、确定所述ti用户测量、以及使用所述td用户测量和所述ti用户测量两者确定所述特定用户是否说出了所述口头输入,都是仅响应于确定所述td用户测量未能满足所述阈值而执行的。

在一些实施方式中,提供一种由一个或多个处理器实现的方法,所述方法包括从客户端装置并且经由网络接收自动化助理请求,所述请求包括捕获口头输入的音频数据,其中所述音频数据是在所述客户端装置的一个或多个麦克风处捕获的。所述方法进一步包括确定第一用户配置文件和第二用户配置文件都与所述自动化助理请求相关联。所述方法进一步包括响应于确定第一用户配置文件和所述第二用户配置文件都与所述自动化助理请求相关联,启动生成为所述第一用户定制并且响应于所述口头输入的第一响应内容。所述方法进一步包括启动生成为第二用户定制并且响应于所述口头输入的第二响应内容。所述方法进一步包括在完成生成所述第一响应内容和所述第二响应内容之前,使用文本无关(ti)说话者识别模型处理所述音频数据的至少一部分以生成ti输出。所述方法进一步包括通过比较对应于所述第一用户配置文件的第一用户说话者嵌入与所述ti输出来确定所述第一用户说出了所述口头输入。所述方法进一步包括,响应于确定所述第一用户说出了所述口头输入,将所述第一响应内容传输到所述客户端装置,而不是将所述第二响应内容传输到所述客户端装置。

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

在一些实施方式中,确定所述第一用户说出了所述口头输入发生在完成生成为所述第二用户定制的所述第二响应内容之前,并且进一步包括,响应于确定所述第一用户说出了所述口头输入,停止生成为所述第二用户定制的所述第二响应内容。

在一些实施方式中,所述方法进一步包括确定除了所述第一用户配置文件和所述第二用户配置文件之外,第三用户配置文件与所述自动化助理请求相关联。所述方法进一步包括,响应于确定所述第三用户配置文件与所述自动化助理请求相关联,启动生成为所述第三用户定制并且响应于所述口头输入的第三响应内容。

在一些实施方式中,确定所述第一用户说出了所述口头输入还基于用于所述第一用户配置文件的文本相关(td)用户测量,所述td用户测量包括在所述自动化助理请求中。

在一些实施方式中,所述自动化助理请求进一步包括用于所述第一用户配置文件的第一文本相关(td)测量和用于所述第二用户配置文件的第二td测量,并且其中启动生成所述第一响应内容以及其中启动生成所述第二响应内容进一步响应于所述第一td测量和所述第二td测量未能满足一个或多个阈值。

另外,一些实施方式包括一个或多个计算装置的一个或多个处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)和/或张量处理单元(tpu))),其中一个或多个处理器可操作以执行存储在相关联的存储器中的指令,并且其中指令被配置成使得执行本文描述的方法中的任一项。一些实施方式还包括存储计算机指令的一个或多个非暂时性计算机可读存储介质,所述计算机指令可由一个或多个处理器执行以执行本文所描述方法中的任一项。

应了解,本文更详细描述的前述概念和附加概念的所有组合都被认为是本文所公开的主题的一部分。例如,出现在本公开末尾的要求保护的主题的所有组合被认为是本文所公开的主题的一部分。

附图说明

图1是示出其中可以实现各种实施方式的示例环境的框图。

图2是示出根据本文公开的实施方式的示例过程的流程图。

图3是示出根据本文公开的实施方式的另一示例过程的另一流程图。

图4是示出根据本文公开的实施方式的另一示例过程的另一流程图。

图5是示出计算装置的示例架构的框图。

具体实施方式

在用户允许的情况下,可以使用说话者识别来验证用户说出了特定的口头话语。响应于验证用户说出了特定的口头话语,可以响应于所述特定的口头话语来提供内容,其中所述内容既响应于特定的口头话语,又是为用户定制的。说话者识别可以包括使用说话者识别模型来处理捕获口头话语的音频数据以生成输出,并将所述输出与用于用户的说话者嵌入(例如,与用户的用户配置文件相关联的嵌入)进行比较。例如,如果生成的输出和用户的说话者嵌入之间的距离度量满足阈值,则用户可以被验证为说出了特定口头话语的用户。可以基于输出来生成用于用户的说话者嵌入,所述输出是基于对包括来自用户的口头话语的音频数据的一个或多个实例的处理而生成的。例如,说话者嵌入可以基于多个不同嵌入的平均值(或其他组合),每一嵌入是基于对包括来自用户的相应口头话语的相应音频数据实例的处理而生成的。

在td说话者识别中,用户的说话者嵌入是基于仅包括一个或多个特定单词和/或一个或多个特定短语的口头话语而生成的。此外,在使用中,用户必须说出一个或多个特定单词/短语以便使用td说话者识别模型生成与说话者嵌入充分匹配的输出。作为一个示例,td说话者识别中的一个或多个特定单词/短语可以局限于被配置成调用自动化助理的一个或多个调用短语。自动化助理的调用短语包含一个或多个热词/触发词,例如,“嘿,助理”、“好的,助理”和/或“助理”。

相比来说,在ti说话者识别中,使用ti说话者识别模型处理的口头话语并不局限于特定单词和/或特定短语。换句话说,可以使用ti说话者识别模型来处理基于几乎任何口头话语的音频数据以生成输出,所述输出可以有效地与特定用户的ti说话者嵌入进行比较,以确定口头话语是否来自特定用户。此外,在各种实施方式中,在ti说话者识别中利用的用户的说话者嵌入是基于包括不同的单词和/或短语的口头话语来生成的。

如本文所描述,在一些实施方式中,口头话语可以包括调用短语以及调用短语之后的后续部分,其中自动化助理可以基于口头话语的后续部分来生成响应内容。例如,“嘿,助理,我叫什么名字”包括“嘿,助理”的调用短语和“我叫什么名字”的附加部分。在许多实施方式中,自动化助理可以生成响应于附加部分的响应内容,并且所述响应内容是基于验证特定用户说出了口头话语而为特定用户定制的。例如,基于确定“我叫什么名字”请求存储的请求用户的名字,并且基于验证口头话语是来自具有存储的名字“苏珊”的用户,可以响应于“嘿,助理,我叫什么名字”而生成“苏珊”的响应。在一些实施方式中,在确定使用ti说话者识别模型生成的输出是否与给定用户的说话者嵌入相匹配时,可以通过ti说话者识别模型来处理口头话语的调用短语部分和附加部分两者。在一些其他实施方式中,仅音频数据的附加部分(或附加部分的较小部分)可以使用ti说话者识别模型来处理。此外,在各种情况下,口头话语缺少任何调用短语,且因此音频数据的使用ti说话者识别模型进行处理的部分不包括任何包括调用短语的部分。

在各种实施方式中,特定用户的一个或多个说话者嵌入存储在与所述特定用户相关联的客户端装置处(例如,客户端装置与所述特定用户的用户配置文件相关联,并且本地存储的说话者嵌入与用户配置文件相关联)。此外,多个用户可以与同一个客户端装置相关联,且因此若干特定用户的多个说话者嵌入可以存储在客户端装置处(例如,客户端装置与若干特定用户的用户配置文件相关联,其中每一用户配置文件包括相关联的特定用户的至少一个说话者嵌入)。在客户端装置处存储说话者嵌入(与在诸如服务器的远程计算装置处存储说话者嵌入相比)可以有助于保护数据安全性。在各种实施方式中,td说话者识别可以发生在客户端装置处。另一方面,ti说话者识别在计算上可能是昂贵的(例如,处理器和/或存储器资源),和/或依赖于需要大量存储空间的ti说话者识别模型。因此,在许多情况下,ti说话者识别可以更好地适用于远程计算装置(例如,一个或多个服务器),所述远程计算装置可以利用它们更鲁棒的资源。此外,在各种实施方式中,ti说话者嵌入可以本地存储在客户端装置处,并且与捕获口头话语的音频数据一起传输到远程计算装置,以使得能够使用ti说话者嵌入来验证(通过远程计算装置)话语的说话者。在各种实施方式中,在远程计算装置处与音频数据一起接收并在ti说话者识别中利用的说话者嵌入可以在它们被用于说话者识别过程之后立即从远程计算装置中删除,从而保护数据安全性。

在许多实施方式中,远程计算装置可以接收来自客户端装置的自动化助理请求。自动化助理请求可以包括各种信息,包括:捕获口头话语的音频数据(例如,音频数据可以在请求中流式传输)、一个或多个ti说话者嵌入、一个或多个td说话者嵌入、使用一个或多个说话者嵌入确定的一个或多个测量(例如,在传输请求的客户端装置处本地确定的td说话者测量)、用以生成ti说话者嵌入的ti说话者识别模型的版本指示、用以生成td说话者嵌入的td说话者识别模型的版本指示、和/或自动化助理在说话者识别、自动语音识别(asr)、自然语言理解(nlu)和/或其他过程中使用的附加信息。

可以使用特定用户的一个或多个存储的先前话语来生成说话者嵌入,从而使用存储的先前话语将特定用户登记到说话者识别系统中。根据许多实施方式,特定用户可以自动登记(和/或在用户明确许可的情况下登记)在说话者识别系统中。例如,自动化助理可以响应于确定接收的说话者嵌入是使用过时版本的ti说话者识别模型而生成的,从而生成更新的说话者嵌入。在许多实施方式中,当系统正在生成更新版本的说话者嵌入时,系统可以使用过时版本的说话者识别模型来验证用户(并生成为用户定制的响应内容)。在各种实施方式中,更新的说话者嵌入是基于存储的音频数据的过去实例生成的(在用户允许的情况下),并且每一实例捕获被确定为由用户说出的过去口头话语。在这些不同实施方式中的一些中,基于寻求增加嵌入鲁棒性的一个或多个准则来选择被选择用于生成说话者嵌入的音频数据的过去实例。例如,可以基于包括集体多样化的话语(例如,语音多样化、单词多样化和/或其他多样化特征)来选择音频数据实例的集合,可以基于包括至少具有阈值长度的话语来选择音频数据的一个或多个实例,等等。

在多种实施方式中,说话者识别系统可以通过将ti用户度量(使用ti说话者识别模型生成)与td用户度量(使用td说话者识别模型生成)相组合来验证口头话语是否是特定用户说出的。例如,自动化助理请求可以包括基于口头话语的音频数据、特定用户的ti说话者嵌入、以及td用户测量,所述td用户测量通过使用td说话者识别模型处理口头话语的调用短语部分以生成输出并将所述输出与td说话者嵌入进行比较而确定。另外地或可替代地,自动化助理请求可以包括td说话者嵌入本身,并且td用户测量可以在远程计算装置处确定。在多种实施方式中,可以使用ti说话者识别模型来处理音频数据以生成附加输出,所述附加输出可以与ti说话者嵌入进行比较以生成ti用户测量。可以组合td用户测量和ti用户测量以验证特定用户是否说出了口头话语。在各种实施方式中,基于给定自动化助理请求的一个或多个特征,可以为给定自动化助理请求动态地确定td和ti用户测量的各自权重。

另外地或可替代地,根据各种实施方式的说话者识别系统可以启动生成为与客户端装置相关联的若干用户定制的响应内容,同时ti说话者识别模型被用以确定哪一用户说出了口头话语。例如,三个用户可以与客户端装置相关联。除了捕获三个用户之一的口头话语的音频数据之外,自动化助理请求可以包括用于三个用户中的每一个的说话者嵌入。在确定哪一用户说出了话语之前,系统可以启动生成为三个用户中的每一个定制的响应内容。一旦系统通过使用ti说话者识别模型处理三个说话者嵌入中的每一个来确定哪一用户说出了话语,系统就可以向客户端装置传输为说出了所述话语的用户定制的响应内容,而不传输为其他两个用户定制的响应内容。

在许多实施方式中,使用存储的特定用户的先前话语为所述用户自动生成更新的说话者嵌入(即,自动将用户登记在更新版本的ti说话者识别系统中)可以防止长时间的登记过程,在所述过程中用户必须在可以为用户生成响应内容之前说出一个或多个登记话语。这种登记过程需要传输对应于那些话语的音频数据,这消耗了网络资源,并且可能需要向用户提供各种提示,这另外消耗了网络资源以及客户端装置资源。另外地或可替代地,根据本文描述的实施方式的用户自动登记可以能够基于过时版本的ti说话者识别模型立即验证用户,从而能够更快地提供响应内容,而无需首先要求用户使用更新版本的ti说话者识别模型进行重新登记和/或无需首先等待使用存储的话语来生成更新的说话者嵌入。换句话说,对于包括过时版本的说话者嵌入的自动化助理请求,可以最小化向用户提供响应内容的时延。

另外地或可替代地,利用使用ti说话者识别模型生成的用户测量以及使用td说话者识别模型生成的用户测量来验证说话者的身份可以确保为说出了口头输入的用户定制内容,从而减轻错误地向另一用户提供内容,这可能导致数据安全性的损害,和/或减轻错误地使未授权的动作执行,诸如控制智能锁或智能家居警报系统。另外地或可替代地,错误地向另一用户提供内容可能浪费系统资源,因为说出口头话语的用户需要再次说出输入以试图获得为他/她定制的内容。在许多实施方式中,如果td用户测量指示置信阈值水平,则不使用ti说话者识别模型来处理音频数据,从而防止在一些情况下不必要地使用资源来确定ti用户测量。

在许多实施方式中,通过在n个用户中的特定用户已经被识别为自动化助理请求的口头话语的来源之前启动生成用于n个用户的内容,预取为若干用户定制的响应内容减少了基于自动化助理请求生成和/或传输响应内容的时延。

现转向附图,图1示出其中可以实现各种实施方式的示例环境100。示例环境100包括一个或多个客户端装置102。每一客户端装置可以执行自动化助理客户端104的相应实例。一个或多个基于云的自动化助理组件114(诸如说话者识别模块120和/或自然语言处理器122)可以在一个或多个计算系统(统称为云计算系统)上实现,所述计算系统经由一个或多个通常指示为112的局域网和/或广域网(例如,互联网)通信地耦合到客户端装置102。

在各种实施方式中,自动化助理客户端104的实例借助于其与一个或多个基于云的自动化助理组件114的交互,可以形成从用户的角度看起来是用户可以参与与之对话的自动化助理110的逻辑实例。自动化助理110的一个这样的实例在图1中用虚线描绘。因此应理解,与在客户端装置102上执行的自动化助理客户端104进行交互的每一用户实际上可以与他们自己的自动化助理110的逻辑实例进行交互。为了简洁和简单起见,本文用作“服务”特定用户的术语“自动化助理”通常可以指由用户操作的自动化助理客户端104和一个或多个基于云的自动化助理组件114(其可以在多个自动化助理客户端104之间共享)的组合。还应理解,在一些实施方式中,自动化助理110可以响应于来自任何用户的请求,而不管所述用户实际上是否由自动化助理110的特定实例“服务”。另外地或可替代地,一个或多个用户可以与客户端装置相关联。例如,生活在同一家庭中的五个用户全部可以共享一个客户端装置(诸如独立的交互式说话者),并且与三个用户中的每一个相关联的用户特征(诸如说话者嵌入)可以存储在客户端装置上。

客户端装置102可以例如包括以下各项中的一个或多个:台式计算装置、膝上型计算装置、平板型计算装置、触敏计算装置(例如,可以经由来自用户的触摸来接收输入的计算装置)、移动电话计算装置、用户车辆中的计算装置(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式说话者、诸如智能电视机的智能家电、和/或包括计算装置的用户的可穿戴设备(例如,具有计算装置的用户手表、具有计算装置的用户眼镜、虚拟或增强现实计算装置)。可以提供附加和/或替代性的客户端计算装置。

在各种实施方式中,客户端装置102可以包括一个或多个传感器(未图示),这些传感器可以以各种形式出现。传感器可以感测对自动化助理110的各种类型的输入,诸如口头、文本、图形、物理(例如,在包括触敏投影仪的显示装置和/或计算装置的触敏屏幕上的触摸)和/或基于视觉(例如,手势)的输入。一些客户端装置102可以配备有一个或多个数码摄像机,所述数码摄像机被配置成捕获和提供指示在视场中检测到的移动的信号。另外地或可替代地,一些客户端装置可以配备有检测声学(或压力)波的传感器,诸如一个或多个麦克风。

客户端装置102和/或基于云的自动化助理组件114可以与一个或多个装置(未图示)通信。装置可以包括各种装置中的任一个,包括:物联网装置,诸如智能家电、智能恒温器、智能咖啡机、智能锁等。所述装置与客户端装置102(和/或客户端装置102的特定用户)链接并且彼此链接。例如,所述装置可以链接到指配给客户端装置102(以及可选地其他客户端装置)的配置文件,和/或可以链接到指配给客户端装置102的用户的配置文件。总的来说,客户端装置102、其他客户端装置和装置可以定义装置的协调生态系统。在各种实施方式中,装置经由装置拓扑表示彼此链接,所述装置拓扑表示可以是用户创建的和/或自动创建的,并且可以定义各种助理客户端装置、各种智能装置、每一装置的标识符和/或每个装置的其他属性。例如,装置的标识符可以指定装置所在结构的房间(和/或其他区域)(例如,起居室、厨房),和/或可以指定装置的昵称和/或别名(例如,沙发灯、前门锁、卧室说话者、厨房助理等)。以此方式,装置的身份可以是用户可能与相应装置相关联的相应装置的名称、别名和/或位置。

在许多实施方式中,自动化助理110可以经由一个或多个客户端装置102的用户接口输入和输出装置参与与一个或多个用户的对话会话。在一些实施方式中,自动化助理110可以响应于用户经由客户端装置102之一的一个或多个接口输入装置提供的用户接口输入来参与与用户的对话会话。在这些实施方式中的一些实施方式中,用户接口输入被明确地指向自动化助理110。例如,用户可以说出预定的调用短语,诸如“好的,助理”或“嘿,助理”,以使自动化助理110开始主动收听。

在一些实施方式中,自动化助理110可以响应于用户接口输入而参与对话会话,即使所述用户接口输入没有明确指向自动化助理110。例如,自动化助理110可以检查用户接口输入的内容,并响应于用户接口输入中存在的某些术语和/或基于其他线索来参与对话会话。在许多实施方式中,自动化助理110可以利用语音识别来将用户的话语转换成文本,并相应地对文本做出响应,例如,通过提供视觉信息、通过提供搜索结果、通过提供一般信息和/或采取一个或多个响应动作(例如,播放媒体、启动游戏、订餐等)。在一些实施方式中,自动化助理110可以另外地或可替代地响应话语,而无需将话语转换成文本。例如,自动化助理110可以将语音输入转换成嵌入、转换成实体表示(指示语音输入中存在的实体)和/或其他“非文本”表示,并对这种非文本表示进行操作。因此,本文描述为基于从语音输入转换的文本进行操作的实施方式可以另外地和/或可替代地直接对语音输入和/或语音输入的其他非文本表示进行操作。

客户端计算装置102和操作基于云的自动化助理组件114的计算装置中的每一个可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据和执行应用的一个或多个处理器、以及促进网络通信的其他组件。由一个或多个计算装置102和/或自动化助理110执行的操作可以分布在多个计算机系统中。自动化助理110可以被实现为例如在一个或多个位置运行的一个或多个计算机上运行的计算机程序,所述计算机通过网络相互耦合。

如上所述,在各种实施方式中,客户端计算装置102可以操作自动化助理客户端104。在各种实施方式中,每一自动化助理客户端102可以包括语音捕获/文本到语音(tts)/语音到文本(stt)引擎106、说话者识别模块107以及附加的引擎和/或模块(未示出)。在其他实施方式中,语音捕获/tts/stt引擎106和/或说话者识别模块107的一个或多个方面可以与自动化助理客户端104分开实现。

每一语音捕获/tts/stt引擎可以被配置成执行一个或多个功能:例如经由麦克风捕获用户的语音;将捕获的音频转换成文本(和/或其他表示或嵌入);和/或将文本转换成语音。例如,在一些实施方式中,因为客户端装置102可能相对局限于计算资源(例如,处理器周期、存储器、电池等)方面,所以每一客户端装置102本地的语音捕获/tts/stt引擎可以被配置成将有限数目的不同口头短语(尤其是调用自动化助理110的短语)转换成文本(或其他形式)。其他语音输入可以被发送到基于云的自动化助理组件114,其可以包括基于云的tts引擎116和/或基于云的stt引擎118。

基于云的stt引擎118可以被配置成利用云的几乎无限的资源来将由语音捕获/tts/stt引擎106捕获的音频数据转换成文本(其然后可以被提供给自然语言处理器122)。基于云的tts引擎116可以被配置成利用云的几乎无限的资源来将文本数据(例如,由自动化助理110制定的自然语言响应)转换成计算机生成的语音,输出到客户端装置102,以例如使用一个或多个扬声器直接输出。在其他实施方式中,由自动化助理110生成的文本数据(例如,自然语言响应)可以被提供给语音捕获/tts/stt引擎106,所述引擎106然后可以将文本数据转换成计算机生成的语音,所述语音在本地输出。

自动化助理110(例如,基于云的自动化助理组件114)可以包括自然语言处理器、tts引擎116、stt引擎118、说话者识别模块120和其他组件,其中一些将在下文更详细地描述。在一些实施方式中,自动化助理110的一个或多个引擎和/或模块可以被省略、组合和/或实现在与自动化助理110分离的组件中。在一些实施方式中,为了保护数据安全性,自动化助理110的一个或多个组件,诸如自然语言处理器122、tts引擎116、stt引擎118、说话者识别模块120等可以至少部分地在客户端装置102上实现(例如,排除云)。

在一些实施方式中,自动化助理110响应于客户端装置102的用户在与自动化助理110的人机对话会话期间生成的各种输入来生成响应内容。自动化助理110可以提供响应内容(例如,当与用户的客户端装置分离时,通过一个或多个网络)以作为对话会话的一部分呈现给用户。例如,自动化助理110可以响应于经由客户端装置102提供的自由形式自然语言输入来生成响应内容。如本文所使用,由用户制定的自由形式的输入,并不局限于供用户选择而呈现的一组选项。

自动化助理110的自然语言处理器122处理由用户经由客户端装置102生成的自然语言输入,并且可以生成注释输出供自动化助理110的一个或多个组件使用。例如,自然语言处理器122可以处理由用户经由客户端装置102的一个或多个用户接口输入装置生成的自然语言自由形式输入。所生成的注释输出包括自然语言输入的一个或多个注释以及可选地自然语言输入的一个或多个(例如,所有)术语。

在一些实施方式中,自然语言处理器122被配置成识别和注释自然语言输入中的各种类型的语法信息。例如,自然语言处理器122可以包括被配置成用术语的语法角色来注释术语的词性标注器。而且,例如,在一些实施方式中,自然语言处理器122可以另外地和/或可替代地包括被配置成确定自然语言输入中的术语之间的句法关系的依存句法分析器(未示出)。

在一些实施方式中,自然语言处理器122可以另外地和/或可替代地包括实体标注器(未示出),所述实体标注器被配置成注释一个或多个片段中的实体引用,诸如对人(包括例如,文学人物、名人、公众人物等)、组织、地点(真实的和虚构的)等等的引用。自然语言处理器122的实体标注器可以在高粒度级别(例如,能够识别对诸如人的实体类的所有引用)和/或低粒度级别(例如,能够识别对诸如特定人的特定实体的所有引用)注释对实体的引用。实体标注器可以依赖自然语言输入的内容来解析特定实体,和/或可以可选地与知识图或其他实体数据库通信来解析特定实体。

在一些实施方式中,自然语言处理器122可以另外地和/或可替代地包括共指解析器(未示出),所述共指解析器被配置成基于一个或多个上下文线索来对同一实体的引用进行分组或“聚类”。例如,共指解析器可以用来将自然语言输入“我喜欢假想咖啡馆,上次我们在那里吃饭”中的术语“那里”解析为“假想咖啡馆”。

在许多实施方式中,自然语言处理器122的一个或多个组件可以依赖于来自自然语言处理器122的一个或多个组件的注释。例如,在一些实施方式中,命名实体标注器可以依赖于来自共指解析器和/或依存句法分析器的注释来注释特定实体的所有提及。而且,例如,在一些实施方式中,共指解析器可以依赖于来自依存句法分析器的注释来对同一实体的引用进行聚类。在许多实施方式中,在处理特定自然语言输入时,自然语言处理器122的一个或多个组件可以使用相关的先前输入和/或特定自然语言输入之外的其他相关数据来确定一个或多个注释。

在许多实施方式中,自动化助理110可以包括自动化助理客户端104的说话者识别模块107、基于云的说话者识别模块120、说话者嵌入模块108、说话者识别模型124(诸如ti说话者识别模型和/或td说话者识别模型)以及捕获一个或多个用户的先前话语126的音频数据。自动化助理客户端104的说话者识别模块107可以确定自动化助理请求以传输到一个或多个基于云的组件,例如基于云的说话者识别模块120。在许多实施方式中,自动化助理请求可以包括一个或多个说话者嵌入108(例如,ti说话者嵌入、td说话者嵌入、用于与客户端装置102相关联的多个用户的说话者嵌入等)、捕获口头输入的音频数据(例如,由语音捕获/tts/stt模块106捕获的音频数据)、一个或多个td说话者识别模型、一个或多个ti说话者识别模型、通过使用本地存储在客户端装置处的说话者识别模型来处理捕获口头输入的音频数据而确定的一个或多个测量(例如,指示特定用户说出了口头话语的概率的测量等)、以及包含关于与客户端装置相关联的一个或多个用户的信息的一个或多个用户配置文件。

在许多实施方式中,可以利用基于云的说话者识别模块120基于捕获用户的先前话语126的音频数据来自动地生成(和/或在明确的用户允许情况下生成)更新的说话者嵌入。在许多实施方式中,基于云的说话者识别模型120可以使用由ti说话者识别模型生成的用户分数以及由td说话者识别模型生成的用户分数来验证特定用户是否说出了口头话语。另外地或可替代地,基于云的说话者识别模型120可以用于为与客户端装置相关联的若干用户预取内容,同时使用ti说话者识别模型来确定说出话语的用户的身份。

现转向图2,提供示出根据本文公开的各种实施方式使用更新版本的ti说话者识别模型来生成更新的说话者嵌入的过程200的流程图。为了方便起见,参考执行操作的系统来描述流程图的操作。此系统可以包括一个或多个组件,诸如一个或多个处理器(例如,cpu、gpu和/或tpu)。虽然过程200的操作以特定顺序示出,但这并不意图是限制性的。一个或多个操作可以被重新排序、省略和/或添加。

在方框202,系统接收来自客户端装置的自动化助理请求。在许多实施方式中,自动化助理请求包括用于特定用户的ti说话者嵌入和捕获口头话语的音频数据。在若干实施方式中,口头话语由客户端装置的一个或多个麦克风捕获。

在方框204,系统确定过时版本的ti说话者识别模型是否生成了作为自动化助理请求的一部分接收的ti说话者嵌入。如果是,系统进行到方框206,并且使用过时版本的ti说话者识别模型处理音频数据以生成输出。如果系统确定当前版本的ti说话者识别模型生成了说话者嵌入,则过程可以使用当前版本的ti说话者识别模型来验证所述特定说话者说出了话语,并且过程可以结束。

在方框208,系统确定特定用户是否说出了口头话语。如果是,系统进行到方框210。在确定特定用户是否说出了口头话语时,系统可以使用过时的ti说话者识别模型处理音频数据以生成输出。系统可以比较所生成的输出与用于特定用户的ti说话者嵌入,以确定特定用户是否说出了口头话语。在许多实施方式中,系统可以处理整个口头话语。在若干实施方式中,系统可以仅处理口头话语的一部分。例如,系统可以仅处理口头话语的调用短语部分之后的后续部分,以生成与说话者嵌入进行比较的输出。然而,如果系统确定特定用户并未说出口头话语,那么,在一些实施方式中,系统可以确定口头话语是由客人用户提供的,并且系统可以生成不是为任何特定用户定制的响应内容。

在方框210,系统基于音频数据生成为特定用户定制的响应内容。在许多实施方式中,系统使得客户端装置基于响应内容呈现输出。例如,系统可以响应于“助理,今天我有什么行程”的口头话语,为特定用户呈现包括一天的一个或多个日历事件的细节的内容。

在方框212,系统通过使用更新版本的ti说话者识别模型处理捕获特定用户的先前口头输入的先前音频数据来生成更新的说话者嵌入。在若干实施方式中,特定用户的先前音频数据的一个或多个实例可以存储在远程计算装置处(例如,存储在与服务器相关联的数据库中)。在若干实施方式中,特定用户的先前音频数据的一个或多个实例可以存储在客户端装置处,并作为自动化助理请求的一部分进行传输。

在各种实施方式中,可以基于一个或多个准则(诸如长度、多样性和/或其他准则)来选择先前音频数据的实例。例如,可以基于每一实例至少具有阈值长度(例如,基于单词数目和/或用户说出口头话语的时间长度)来选择先前音频数据的实例。而且,例如,可以通过分析先前话语中的单词、音素等以增加先前音频数据的实例之间的多样性来另外地或可替代地选择先前音频数据的实例。换句话说,可以选择先前音频数据的实例来减少先前音频数据的实例之间的重叠单词和/或声音的数目。

在方框214,系统将更新的说话者嵌入传输到客户端装置。在许多实施方式中,客户端装置可以本地存储更新的说话者嵌入用于与未来自动化助理请求一起传输。在许多实施方式中,在更新版本的说话者嵌入已被传输到客户端装置之后,可以在远程计算装置处将其删除,以帮助数据安全性。

现转向图3,提供示出根据本文公开的各种实施方式基于ti说话者识别模型所生成的输出和td说话者识别模型所生成的输出来确定特定用户是否说出了话语的过程300的流程图。为了方便起见,参考执行操作的系统来描述流程图的操作。此系统可以包括一个或多个组件,诸如一个或多个处理器(例如,cpu、gpu和/或tpu)。虽然过程300的操作以特定顺序示出,但这并不意图是限制性的。一个或多个操作可以被重新排序、省略和/或添加。

在方框302,系统接收来自客户端装置的自动化助理请求。在许多实施方式中,自动化助理请求包括捕获口头话语的音频数据以及特定用户的td用户测量。在许多实施方式中,口头话语可以由客户端装置的一个或多个麦克风捕获。在许多实施方式中,通过使用td说话者识别模型处理口头话语的调用短语部分以生成输出并将所述输出与td说话者嵌入进行比较,可以在客户端装置本地生成td用户测量。

在方框304,系统使用ti说话者识别模型处理音频数据以生成输出。在许多实施方式中,系统可以处理整个口头话语。在若干实施方式中,系统可以仅处理口头话语的一部分。例如,系统可以仅处理口头话语的调用短语部分之后的后续部分,以生成与说话者嵌入进行比较的输出。

在方框306,系统通过比较使用ti说话者识别模型生成的输出与特定用户的ti说话者嵌入来确定ti用户测量。

在方框308,系统确定特定用户是否说出了口头话语。如果是,则系统进行到方框310。在许多实施方式中,系统可以使用ti用户测量和td用户测量来确定特定用户是否说出了口头话语。例如,ti用户测量值和td用户测量值可以被串联,并且如果串联高于阈值,则特定用户说出了口头话语。另外地或可替代地,可以对td用户测量和/或ti用户测量进行加权。例如,如果td用户测量和/或ti用户测量指示用户说出了口头话语的概率非常高,则用户测量可以被更重地加权(例如,如果ti用户测量指示用户说出了口头话语的95%确定性,则ti用户测量可以比td用户测量更重地被加权)。相反,指示用户说出了口头话语的概率较低的ti用户测量和/或td用户测量可能被更重地加权(例如,指示用户说出了口头话语的10%概率的ti用户测量可以比td用户测量更重地被加权)。在许多实施方式中,如果用户测量高于或低于阈值,则可以忽略其他用户测量。另外或可替代地,如果td用户测量高于或低于阈值,则仅计算td用户测量并且忽略ti用户测量。作为对td用户测量和ti用户测量进行加权的另一实例,在各种实施方式中,当口头话语的至少一部分(例如,非调用部分)具有至少阈值长度(例如,4秒和/或3个单词)时,ti用户测量的加权可以大于当所述至少一部分不是至少阈值长度时的加权。

在方框310,系统生成响应于口头话语并且为特定用户定制的响应内容。

在方框312,系统将响应内容传输到客户端装置。在许多实施方式中,将响应内容传输到客户端装置使得客户端装置基于所述响应内容而呈现输出。所呈现内容可以包括响应内容本身,或者响应内容的转换(例如,响应内容可以包括文本,并且所呈现内容可以包括针对文本生成的语音(例如,使用文本到语音处理器生成的))。

现转向图4,提供示出根据本文公开的各种实施方式在确定哪一用户说出了口头话语之前预取客户端装置的若干用户的响应内容的过程400的流程图。为了方便起见,参考执行操作的系统来描述流程图的操作。此系统可以包括一个或多个组件,诸如一个或多个处理器(例如,cpu、gpu和/或tpu)。虽然过程400的操作以特定顺序展示,但这并不意图是限制性的。一个或多个操作可以被重新排序、省略和/或添加。

在方框402,系统接收来自客户端装置的自动化助理请求。在许多实施方式中,自动化助理请求包括捕获口头话语的音频数据。

在方框404,系统确定第一用户配置文件和第二用户配置文件都与自动化助理请求相关联。在许多实施方式中,系统可以确定除了第一用户配置文件和第二用户配置文件之外,第三用户配置文件(并且可选地第四、第五等)与自动化助理请求相关联。在许多实施方式中,用户配置文件可以与一个或多个自动化助理客户端相关联。例如,五人家庭可以具有第一客户端装置和第二客户端装置。五人家庭中的每一人可以与第一客户端装置和第二客户端装置两者相关联。在许多实施方式中,每一用户配置文件包括用户的说话者嵌入,并且与自动化助理相关联的所有用户的说话者嵌入可以作为自动化助理请求的一部分被传输。在一些实施方式中,只有所有可用的说话者嵌入的子集作为自动化助理请求的一部分被传输。例如,基于五个可用的说话者嵌入中的两个的td测量满足阈值而其他三个的td测量不满足,可以传输这两个可用的说话者嵌入。

在方框406,系统启动生成为第一用户定制并且响应于口头话语的第一响应内容。

在方框408,系统启动生成为第二用户定制并且响应于口头话语的第二响应内容。在许多实施方式中,还可以针对与自动化助理请求相关联的任何附加用户来启动生成响应内容。例如,可以启动生成第三响应内容,其中第三响应内容是为所述请求中指示的第三用户配置文件定制的并且响应于口头话语。

在方框410,在完成生成第一响应内容和生成第二响应内容之前,系统使用ti说话者识别模型处理音频数据以生成输出。换句话说,当系统预取为第一用户定制的响应内容和预取为第二用户定制的响应内容时,系统可以使用ti说话者识别模型来识别说话者。另外或可替代地,系统可以预取为与客户端装置相关联的任何附加用户定制的响应内容(例如,预取为第三用户定制的响应内容)。

在方框412,系统确定哪一用户说出了口头话语。例如,系统可以通过比较在方框410生成的输出与第一用户说话者嵌入来确定第一用户说出了口头话语。

在方框414,系统将响应内容传输到在方框412被确定已说出口头话语的用户的客户端装置,而不是传输用于其他用户的响应内容。例如,如果在方框412系统确定第一用户说出了口头话语,则系统将为第一用户定制的响应内容传输到客户端装置,而不是传输为第二用户定制的响应内容(以及不是传输用于任何附加用户的响应内容)。另外或可替代地,系统使得客户端装置基于用于所确定用户的响应内容而呈现输出。例如,如果在方框412系统确定第一用户说出了口头话语,则系统使得客户端装置基于第一响应内容而呈现输出。

图5是可以可选地用以执行本文所述技术的一个或多个方面的示例性计算装置510的框图。在一些实施方式中,客户端计算装置和/或其他组件中的一个或多个可以包含示例性计算装置510的一个或多个组件。

计算装置510通常包括经由总线子系统512与多个外围装置通信的至少一个处理器514。这些外围装置可以包括存储子系统524(包括例如,存储器子系统525和文件存储子系统526)、用户接口输出装置520、用户接口输入装置522和网络接口子系统516。输入和输出装置允许用户与计算装置510交互。网络接口子系统516提供到外部网络的接口,并且耦合到其他计算装置中的相应接口装置。

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

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

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

这些软件模块通常由处理器514单独或者结合其他处理器来执行。存储子系统524中使用的存储器525可以包括多个存储器,包括用于在程序执行期间存储指令和数据的主随机存取存储器(“ram”)530和其中存储固定指令的只读存储器(“rom”)532。文件存储子系统526可以为程序和数据文件提供持久性存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、cd-rom驱动器、光驱或可移除介质盒。实现某些实施方式的功能的模块可以由文件存储子系统526存储在存储子系统524中,或者处理器514可访问的其他机器中。

总线子系统512提供用于让计算装置510的各种组件和子系统按照预期相互通信的机制。尽管总线子系统512示意性示出为单个总线,但总线子系统的替代性实施方式可以使用多个总线。

计算装置510可以是不同类型的,包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算装置。由于计算机和网络的不断变化的性质,图5中描绘的计算装置510的描述仅旨在作为用于说明一些实施方式的目的的特定示例。许多其他配置的计算装置510可能具有比图5中所描绘的计算装置更多或更少的组件。

虽然本文已描述和示出了若干实施方式,但是可以利用用于执行功能和/或获得结果和/或本文描述的一个或多个优点的各种其他手段和/或结构,并且这些变化和/或修改中的每一个都被认为在本文描述的实施方式的范围内。更一般地,本文描述的所有参数、尺寸、材料和配置都意图是示例性的,并且实际的参数、尺寸、材料和/或配置将取决于使用教导的一个或多个特定应用。本领域技术人员将认识到或者能够仅使用常规实验来确定本文所描述的具体实施方式的许多等同物。因此将理解,前述实施方式仅通过示例给出,并且在所附权利要求及其等同物的范围内,实施方式可以按不同于具体描述和要求保护的方式实践。本公开的实施方式涉及本文描述的每一个单独特征、系统、制品、材料、套件和/或方法。另外,如果此类特征、系统、制品、材料、套件和/或方法不是相互矛盾的,则两个或两个以上此类特征、系统、制品、材料、套件和/或方法的任何组合都包括在本公开的范围内。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

相关标签: 文本分析
tips