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

使用说话者相关语音模型的说话者感知

文献发布时间:2023-06-19 12:11:54


使用说话者相关语音模型的说话者感知

背景技术

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

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

发明内容

本文所描述的技术涉及基于受训练的说话者无关(SI)语音模型(SI语音模型)来训练说话者相关(SD)语音模型(SD语音模型),其中在进行训练后,SD语音模型对任何用户可个性化。本文所描述的技术另外地或可替代地涉及使用受训练的SD语音模型处理音频数据以及目标用户的说话者嵌入,以生成针对目标用户个性化的输出。输出对于目标用户是个性化的,因为所述输出仅反映音频数据中包括的目标用户的口头话语(如果存在)。作为一个非限制性示例,如果受训练的SD语音模型是热词检测模型,则输出将反映音频数据是否包括目标用户说出的热词。因此,如果音频数据仅包括不同目标用户说出的热词,则输出将反映出音频数据不包括目标用户说出的热词。另一方面,如果音频数据包括目标用户说出的热词,则输出将指示音频数据的确包括目标用户说出的热词。如本文所描述,由于使用受训练的SD语音模型以及音频数据处理目标用户的说话者嵌入,使用受训练的SD语音模型生成的输出针对目标用户个性化。因此,可以使用相同受训练的SD语音模型(或其副本)以及音频数据处理不同目标用户的不同说话者嵌入,以生成针对不同目标用户个性化的不同输出。通过这些和其他方式,通过与相应音频数据一起并且使用SD语音模型处理所述用户中的相应一个的说话者嵌入,可以使用相同SD语音模型(或其副本)并使其适合于多个用户中的任一相应用户。

作为一个特定示例,假设Katherine的第一说话者嵌入、Caleb的第二说话者嵌入,以及捕获Katherine的口头话语但未捕获Caleb的任何口头话语的音频数据。如果SD语音模型用于处理:(a)捕获Katherine的口头话语但未捕获Caleb的任何口头话语的音频数据,以及(b)第一说话者嵌入(对应于Katherine),则将生成针对Katherine个性化的输出。例如,如果SD语音模型是自动语音识别(ASR)模型,则输出可以(直接地或间接地)指示Katherine的口头话语的已识别文本(而不指示可能已在音频数据中捕获的任何其他用户的话语的任何已识别文本)。如果另一方面,SD语音模型用于处理(a)捕获Katherine的口头话语但未捕获Caleb的任何口头话语的音频数据,以及(b)第二说话者嵌入(对应于Caleb),则将生成针对Caleb个性化的输出。例如,如果SD语音模型是ASR模型,则输出可以(直接地或间接地)指示没有音频数据的已识别文本(即,由于音频数据未捕获Caleb的任何口头话语)。作为特定示例的继续,假设捕获Caleb的口头话语但未捕获Katherine的任何口头话语的额外音频数据。如果使用SD语音模型以及(Caleb的)第二说话者嵌入处理额外音频数据,则将生成针对Caleb个性化的输出。例如,如果SD语音模型是ASR模型,则输出可以(直接地或间接地)指示Caleb的口头话语的已识别文本(而不指示可能已在额外音频数据中捕获的任何其他用户的话语的任何已识别文本)。另一方面,如果使用SD语音模型以及(Katherine的)第一说话者嵌入处理额外音频数据,则将生成针对Katherine个性化的输出。例如,如果SD语音模型是ASR模型,则输出可以(直接地或间接地)指示没有音频数据的已识别文本(即,由于额外音频数据未捕获Katherine的任何口头话语)。

在许多训练实施方式中,可以使用师生学习技术基于SI语音模型来训练SD语音模型。在师生学习中,由源域模型(即,SI语音模型)生成的概率可以用于训练目标域模型(即,SD语音模型)。在训练SD语音模型时,SI语音模型可以用于处理捕获单个目标说话者的话语的音频数据的干净实例,以生成SI输出。SD语音模型可以用于处理音频数据的嘈杂实例以及对应于目标说话者的说话者嵌入以生成SD输出,其中通过将捕获单个目标说话者的话语的音频数据的实例与不是来自目标说话者的一个或多个额外声音(例如,来自一个或多个额外说话者的话语、背景噪音等)组合来生成音频数据的嘈杂实例。因此,基于使用SI语音模型处理音频数据的干净实例而不处理任何说话者嵌入来生成SI输出。另一方面,基于使用SD语音模型处理音频数据的嘈杂实例以及说话者嵌入来生成SD输出。可以基于SI输出与SD输出之间的差来确定损失(例如,可以基于SI输出与SD输出来确定交叉熵损失)。在许多实施方式中,可以基于所确定的损失来更新SD语音模型的一个或多个部分。例如,可以基于损失以及可选地额外损失(例如,在批量训练技术中)来更新SD语音模型。通过对不同音频数据实例和不同说话者嵌入的大量迭代,可以将SD语音模型训练成针对任何目标说话者可个性化。

在各种实施方式中,可以在训练SD语音模型时冻结SI语音模型。换句话说,不会基于所确定的损失来更新SI语音模型。在各种实施方式中,SD语音模型可以具有与SI语音模型相同的网络拓扑。另外或可替代地,SD语音模型可以与SI语音模型具有不同网络拓扑,诸如较小网络拓扑。例如,SD语音模型可以具有较少节点,由此具有较小内存占用空间,和/或模型具有较小存储占用空间。较小内存和/或存储占用空间可以使经常受到资源限制的客户端装置能够利用受训练的SD语音模型和/或在利用受训练的SD语音模型时利用较少存储器资源。

在一些实施方式中,可以在捕获人类说话者的话语的音频数据中标记人类说话者。可以通过选择对应于所标记说话者的预先计算的说话者嵌入来确定说话者嵌入。例如,可以为标记为James的捕获话语的音频数据的实例选择对应于James的预先计算的说话者嵌入。另外或可替代地,可以通过使用说话者嵌入模型处理音频数据的部分(和/或已知来自同一说话者的其他音频数据)来生成说话者嵌入。换句话说,可以基于音频数据本身的实例来生成说话者嵌入,而不需要标记的音频数据。这可以实现使用非结构化数据训练SD语音模型。

本文所公开的技术可以与各种语音模型中的任一个一起使用,包括自动语音识别(ASR)模型、话音活动检测(VAD)模型、热词检测模型、语音增强模型,和/或额外语音模型。例如,可以基于说话者无关VAD模型(SI VAD模型)来训练说话者相关VAD模型(SD VAD模型)。类似地,可以基于说话者无关热词检测模型来训练说话者相关热词检测模型。

在许多实施方式中,系统可以包括多个SD语音模型。例如,系统可以包括VAD模型、热词检测模型和ASR模型,其中使用VAD模型生成的输出用于确定是否使用热词检测模型处理音频数据,以及其中使用热词检测模型生成的输出用于确定是否使用ASR模型处理音频数据。在一些实施方式中,系统中的所有语音模型是SD语音模型。例如,系统可以包括SDVAD模型、SD热词检测模型和SD ASR模型。在一些其他实施方式中,系统中的一些但不是所有语音模型是SD语音模型。例如,系统可以包括SD VAD模型、SI热词检测模型和SI ASR模型;系统可以包括SD VAD模型、SD热词检测模型和SI ASR模型;系统可以包括SI VAD模型、SI热词检测模型和SD ASR模型。根据许多实施方式,可以在系统内利用说话者相关和/或说话者无关语音模型的额外或替代组合。

因此,各种实施方式阐述用于基于SI语音模型使用师生学习来训练SD语音模型的技术。以完全监督的方式生成训练实例可能会占用大量资源和/或劳动力。例如,在生成单个训练实例时,必须将相关数据(例如,捕获单个说话者的口头话语的音频数据)传输到人类检查者的客户端装置,客户端装置的资源必须用于使检查者能够提供注释(例如,在音频数据的实例中标记单个说话者),以及必须传输回注释以训练实例生成。本文所公开的实施方式利用使用非结构化数据(例如,不具有识别说话者的相应标签的音频数据)生成训练实例,从而使系统能够快速地生成对应于大量不同说话者的训练数据,而无需将数据传输到检查者的客户端装置以及无需在获得检查者提供的注释时利用那些客户端装置的资源。另外或可替代地,可以从各种不同资源中自动地生成大量训练实例,这可以提高使用在此类训练实例上训练的SD语音模型生成的输出的准确性和/或鲁棒性。在许多实施方式中,可以使用自动生成的训练数据训练SD语音模型。例如,可以基于音频数据的实例的部分自动地生成说话者嵌入,并且可以通过将音频数据的话语与不是来自音频数据中捕获的话语的说话者的额外噪音进行口头组合来自动地生成音频数据的嘈杂实例。

此外,通过处理相应说话者嵌入以及音频数据,SD语音模型可以针对任何目标用户可个性化,由此生成特定于目标用户和音频数据的输出。因此,使用SD语音模型生成的输出将仅反映与使用模型(以及相应音频数据)处理的说话者嵌入相对应的目标用户的话语。因此,将仅针对来自目标用户的话语执行下游过程,所述下游过程仅响应于使用SD语音模型生成的某些输出的发生而执行。这可以减少针对除了目标用户之外的用户激活此类下游过程的实例的数量,由此节省在执行此类下游过程时利用的各种资源。例如,使用SD VAD模型处理音频数据以及Sam的嵌入可以生成输出(例如,满足阈值的概率或其他度量),所述输出在音频数据包括来自Sam的话音活动时引起音频数据的下游处理(例如,ASR),同时生成其他输出(例如,不满足阈值的概率或其他度量),所述输出在音频数据包括来自Dean的话音活动(不具有来自Sam的任何话音活动)时防止音频数据的进一步下游处理。通过这些以及其他方式,下游语音模型,诸如SD VAD模型下游的ASR模型可以用于处理音频数据的较小部分,因此节省系统资源(例如,电池电量、处理器周期、内存等)。作为另一实例,使用SD语音模型处理音频数据以及Sam的嵌入可以生成在音频数据包括此种口头话语时指示(直接地或间接地)Sam的话语的已识别文本的输出,同时生成在音频数据缺乏Sam的任何口头话语(即使音频数据可以包括来自另一用户的口头话语)时指示没有已识别文本的输出。因此,当SD语音模型指示已识别文本时(即,仅当音频数据包括来自Sam的口头话语时),将仅利用处理已识别文本的自然语言理解(NLU)模型和/或基于已识别文本和/或NLU处理生成响应(和/或执行其他响应动作)的实现引擎。因此,当SD语音模型指示已识别文本时(即,仅当音频数据包括来自Sam的口头话语时),将仅利用与NLU处理和/或实现引擎相关联的资源。另外或可替代地,SD语音模型可以具有比其相应SI语音模型小的网络拓扑。具有较小网络拓扑的网络可以具有较小内存占用空间。利用具有较小网络拓扑的语音模型可以提供诸如节省内存、存储和/或电力资源的技术优势,这对于具有受限资源的客户端装置和/或其他计算装置可能尤其有益。

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

附图说明

图1A图示根据本文所公开的各种实施方式的使用说话者相关语音模型处理音频数据和说话者嵌入的示例。

图1B图示根据本文所公开的各种实施方式的基于说话者无关语音模型训练说话者相关语音模型的示例。

图2是图示可以实施各种实施方式的示例环境的框图。

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

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

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

图6是图示可以实施各种实施方式的又一示例环境的框图。

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

具体实施方式

现在转向附图,图1A图示根据本文所公开的实施方式的使用SD语音模型处理音频数据以及若干不同说话者嵌入的示例。图1A包括音频数据102,所述音频数据包括“说话者A”和“说话者B”的重叠话语。音频数据102中的箭头图示时间,音频数据102中的三个对角阴影区域表示其中“说话者A”正提供相应话语的音频数据段,并且音频数据102中的两个交叉线阴影区域表示其中“说话者B”正提供相应话语的音频数据段。在所说明实例中,“说话者A”的话语至少部分地与“说话者B”的话语重叠。图1A进一步图示使用SD语音模型112处理音频数据102以及对应于“说话者A”的说话者嵌入A 110以生成输出A 114的示例104。SD语音模型112针对客户端装置的任何用户可个性化。在许多实施方式中,说话者嵌入可以用于针对不同用户将SD语音模型112个性化。例如,说话者嵌入A 110可以用于针对“说话者A”将SD语音模型112个性化。在音频数据102中捕获“说话者A”的话语,因此使用SD语音模型112处理音频数据102以及说话者嵌入A 110可以生成输出A 114,从而提供音频数据102包括“说话者A”的话语的指示。

在许多实施方式中,可以通过处理音频数据以及额外和/或替代说话者嵌入来针对额外和/或替代说话者将相同SD语音模型个性化。图1A图示使用SD语音模型112处理音频数据102以及对应于“说话者B”的说话者嵌入B 116以生成输出B 118的另一示例106。音频数据102另外捕获“说话者B”的话语,因此使用SD语音模型112处理音频数据102以及说话者嵌入B 110可以生成输出B 118,其中输出B 118提供音频数据102包括“说话者B”的话语的指示。

图1A还图示使用SD语音模型112处理音频数据102以及对应于“说话者C”的说话者嵌入C 120以生成输出C 122的示例108。在所图示实例中,在音频数据102中没有捕获“说话者C”的话语(或最少话语)。因此,通过使用SD语音模型112处理音频数据102以及说话者嵌入C 120生成的输出C 112可以提供在音频数据102中没有捕获“说话者C“的话语的指示。

尽管图1A中的示例正处理音频数据102的相同实例,但是可以根据许多实施方式处理音频数据的额外和/或替代实例。音频数据可以捕获来自一个或多个额外和/或替代说话者的口头话语。例如,音频数据可以捕获由三个用户、四个用户、五个用户等说出的话语。音频数据可以另外或可替代地捕获客户端装置的用户未说出的背景噪音。例如,音频数据可以捕获狗叫声、电话铃声、烟雾报警器的蜂鸣声,和/或其他噪音。音频数据102包括至少部分地与“说话者B”的话语重叠的“说话者A”的话语。然而,这仅仅是示例,并且可以使用SD语音模型处理捕获不同说话者的非重叠话语的音频数据。

可以根据许多实施方式利用各种类型的语音模型(例如,SD VAD模型、SD ASR模型、SD热词模型、SD语音增强模型等)。使用各种类型的SD语音模型处理音频数据和说话者嵌入可以生成适合于SD语音模型类型的各种类型的输出。例如,使用SD VAD模型生成的输出可以提供与处理后说话者嵌入相对应的说话者的话音活动存在于处理后音频数据中的指示(与使用SI VAD模型生成的输出相反,所述使用SI VAD模型生成的输出提供话语的任何说话者的话音活动是处理后音频数据的指示)。SD ASR模型可以用于生成输出,所述使用SD ASR模型生成的输出提供与对应于处理后说话者嵌入的说话者说出的话语相对应的文本的表示(与使用SI ASR模型生成的输出相反,所述使用SI ASR模型生成的输出提供在处理后音频数据中捕获的任何话语的文本表示)。类似地,SD热词检测模型可以用于生成输出,所述输出指示是否在处理后音频数据中捕获对应于处理后说话者嵌入的说话者说出的热词(与SI热词检测模型的输出相反,所述SI热词检测模型的输出提供在处理后音频数据中捕获任何用户说出的热词的指示)。此外,SD语音增强模型可以用于生成对应于处理后说话者嵌入的增强语音(与SI语音增强模型相反,所述SI语音增强模型可以用于生成与在处理后音频数据中捕获的任何话语相对应的增强语音)。

在一些实施方式中,系统可以包括多个语音模型。例如,系统可以包括VAD模型、热词检测模型和ASR模型,其中使用VAD模型生成的输出用于确定是否使用热词检测模型处理音频数据,以及其中使用热词检测模型生成的输出用于确定是否使用ASR模型处理音频数据。在一些实施方式中,系统中的所有语音模型是SD语音模型。例如,系统可以包括SD VAD模型、SD热词检测模型和SD ASR模型。在一些其他实施方式中,系统中的一些但不是所有语音模型是SD语音模型。例如,系统可以包括SD VAD模型、SI热词检测模型和SI ASR模型;系统可以包括SD VAD模型、SD热词检测模型和SI ASR模型;系统可以包括SI VAD模型、SI热词检测模型和SD ASR模型。根据许多实施方式,可以在系统内利用说话者相关和/或说话者无关语音模型的额外或替代组合。

图1B图示基于SI语音模型154训练SD语音模型158的示例150。在许多实施方式中,师生学习技术可以用于基于SI语音模型154训练SD语音模型158。在许多实施方式中,音频数据152的实例以及音频数据156的嘈杂实例可以用于训练SD语音模型158。音频数据152可以捕获目标说话者的口头话语,而无需捕获来自不是目标说话者的说话者的任何话语(或捕获来自不是目标说话者的说话者的最少话语),和/或无需捕获背景噪音(或捕获最少背景噪音)。例如,音频数据152可以捕获Molly说出的话语,但不捕获来自不是Molly的说话者的话语和/或不捕获任何背景噪音。可以通过将目标用户说出的话语与目标用户未说出的额外噪音组合来生成嘈杂音频数据156。例如,可以通过将Molly说出的话语与Timmy说出的话语组合来生成嘈杂音频数据156。

可以使用SI语音模型154处理音频数据152(即,仅捕获来自Molly的话语的音频数据)以生成SI输出162。可以使用SD语音模型158处理嘈杂音频数据156(即,捕获来自Molly的话语以及来自Timmy的话语的音频数据)以及对应于Molly的说话者嵌入160,以生成SD输出164。在一些实施方式中,可以基于指示在音频数据152中捕获的说话者的标签来确定说话者嵌入160(例如,指示音频数据152捕获Molly说出的话语的标签可以用于选择对应于Molly的预先计算的说话者嵌入)。在各种实施方式中,可以通过使用说话者嵌入模型(未描绘)处理音频数据152的一个或多个部分来生成说话者嵌入160。例如,可以使用说话者嵌入模型处理音频数据152的前0.5秒、音频数据152的前1.5秒,音频数据152的后2秒、音频数据152的第一秒和最后一秒、音频数据152的整体和/或音频数据152的额外部分来生成说话者嵌入160。在许多实施方式中,说话者嵌入160可以是d矢量、i矢量和/或音频数据的说话者的额外表示。

在许多实施方式中,可以基于SI输出162和SD输出164生成损失。例如,可以基于SI输出162和SD输出164生成交叉熵损失。在若干实施方式中,可以生成各种损失,包括:最大似然损失、均方误差损失和/或附加或替代损失。可以基于损失166更新(例如,使用反向传播更新)SD语音模型158的一个或多个部分。在各种实施方式中,可以在训练SD语音模型158时冻结SI语音模型154。换句话说,不会基于损失166更新SI语音模型154的部分。在许多实施方式中,SD语音模型158可以具有与SI语音模型154相同的网络拓扑。然而,额外和/或替代实施方式可以包括具有与SI语音模型154不同的网络拓扑的SD语音模型158。例如,SD语音模型158可以具有较小网络拓扑,使得SD语音模型158具有比SI语音模型154少的节点,由此SD语音模型158具有比SI语音模型154小的内存占用空间和/或存储占用空间。

转向图2,图示可以实施各种实施方式的示例环境。图2包括客户端计算装置202。在许多实施方式中,客户端装置202可以执行自动助理(未描绘)的实例。客户端计算装置202可以是例如:台式计算装置、膝上型计算装置、平板计算装置、移动电话计算装置、用户的车辆的计算装置(例如,车载通信系统,以及车载娱乐系统、车载导航系统)、独立的交互式扬声器、诸如智能电视的智能电器设备,和/或包括计算装置的用户的可穿戴设备(例如,具有计算装置的用户的手表、具有计算装置的用户的眼镜、虚拟或增强现实计算装置)。可以提供额外和/或替代客户端计算装置。

图2中所图示的示例环境包括个性化引擎204、说话者嵌入引擎206、训练引擎208、SD语音模型158、SI语音模型154,和/或额外引擎和/或额外模型(未描绘)。个性化引擎204、话者嵌入引擎206和训练引擎208是本文所描述的技术可以接口在其中的示例组件。由图2的一个或多个引擎204、206和208执行的操作可以分布在多个计算系统上。在一些方面中,引擎204、206和208和/或模型158和154的一个或多个方面可以被组合成单个系统,和/或一个或多个方面可以在客户端装置202上实施。例如,在那些实施方式中的一些实施方式中,个性化引擎204的方面可以与说话者嵌入引擎206的方面组合。根据许多实施方式的引擎可以各自在例如通过通信网络进行通信的一个或多个计算装置中实施。通信网络可以包括诸如互联网的广域网、诸如Wi-Fi LAN、网状网络等的一个或多个局域网(“LAN”),和/或一个或多个总线子系统。通信网络可以可选地利用一种或多种标准通信技术、协议和/或进程间通信技术。

训练引擎208可以基于SI语音模型154训练SD语音模型158。在许多实施方式中,训练引擎208可以利用师生学习技术来基于SI语音模型154训练SD语音模型158。例如,训练引擎208可以选择一个或多个训练实例(未示出)并使用SD语音模型158和SI语音模型154处理训练实例。在许多实施方式中,训练实例可以包括(1)捕获目标说话者的口头话语的音频数据的干净实例;(2)捕获目标说话者的口头话语以及目标说话者未说出的噪音的音频数据的嘈杂实例;以及(3)对应于目标说话者的说话者嵌入。训练引擎208可以使用SI语音模型154处理捕获目标说话者的口头话语的音频数据的干净实例以生成SI输出。另外,训练引擎208可以使用SD语音模型158处理音频数据的嘈杂实例以及说话者嵌入以生成SD输出。在许多实施方式中,训练引擎208可以基于SD输出与SI输出之间的差而生成损失(例如,交叉熵损失),并且基于所生成的损失来更新SD语音模型158的一个或多个部分。换句话说,在冻结SI语音模型154时,更新SD语音模型158的部分。在各种实施方式中,可以根据图3的过程300使用训练实例引擎(未描绘)生成训练实例。在若干实施方式中,训练引擎208可以根据图4的过程400训练SD语音模型158。

个性化引擎204可以使用SD语音模型158处理音频数据(诸如使用客户端装置202的麦克风(未描绘)捕获的音频数据)以及说话者嵌入,以生成说话者相关输出。在许多实施方式中,可以使用说话者嵌入引擎206选择说话者嵌入。例如,说话者嵌入引擎206可以选择与客户端装置202相关联的用户配置文件的说话者嵌入。在各种实施方式中,可以在用户通过数字系统登记(例如,通过客户端装置202登记和/或通过额外数字系统登记)期间预先计算说话者嵌入。

现在转向图3,提供图示根据本文所公开的各种实施方式的生成训练实例以用于基于SI语音模型训练SD语音模型的过程300的流程图。为了方便起见,参考执行操作的系统来描述流程图的操作。此系统可以包括一个或多个组件,诸如一个或多个处理器(例如,CPU、GPU和/或TPU)。尽管以特定顺序示出过程300的操作,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。

在框302处,系统选择捕获说话者的口头话语的音频数据的实例。在许多实施方式中,音频数据的选定实例没有(或者最少地)捕获不是来自说话者的额外噪音。

在框304处,系统确定说话者的说话者嵌入。在一些实施方式中,音频数据的实例可以通过说话者标记,并且系统可以基于标签选择预先计算的说话者嵌入。在许多实施方式中,系统可以通过使用说话者嵌入模型处理音频数据的实例的部分来生成说话者嵌入。这可以允许系统使用非结构化数据生成训练实例,其中说话者的身份是未知的。

在框306处,系统生成捕获以下各项的嘈杂音频数据的实例:(1)说话者说出的话语,以及(2)说话者未说出的额外噪音。在许多实施方式中,系统可以通过将在框302处选择的音频数据的实例与由一个或多个额外说话者说出的一个或多个话语组合来生成音频数据的嘈杂实例,所述额外说话者不是音频数据的实例中的话语的说话者。在许多实施方式中,系统可以通过将在框302处选择的音频数据的实例与背景噪音(即,未由任何说话者说出的噪音)组合来生成音频数据的嘈杂实例。另外或可替代地,系统可以通过将额外说话者说出的话语以及背景噪音与音频数据的实例中的话语组合来生成音频数据的嘈杂实例。

在框308处,系统存储(1)音频数据的实例、(2)音频数据的嘈杂实例以及(3)说话者嵌入作为训练实例。

在框310处,系统确定是否生成额外训练实例。如果是,则系统返回到框302,并且在使用音频数据的额外实例前进到框304、306和308之前选择捕获单个说话者的口头话语的音频数据的额外实例。在一些实施方式中,音频数据的额外实例中的话语的说话者是音频数据中的话语的同一说话者。在一些实施方式中,音频数据的额外实例中的话语的说话者不是音频数据的实例中的话语的同一说话者。如果在框310处,系统确定不生成任何额外训练实例,则过程结束。

现在转向图4,提供图示根据本文所公开的各种实施方式的训练SD语音模型的过程400的流程图。为了方便起见,参考执行操作的系统来描述流程图的操作。此系统可以包括一个或多个组件,例如一个或多个处理器(例如,CPU、GPU和/或TPU)。尽管以特定顺序示出过程400的操作,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。

在框402处,系统选择说话者的训练实例,包括:(1)捕获说话者说出的话语的音频数据的实例;(2)捕获说话者说出的话语以及说话者未说出的额外噪音的音频数据的嘈杂实例;以及(3)对应于说话者的说话者嵌入。在许多实施方式中,可以根据本文所描述的图3的过程300生成训练实例。

在框404处,系统使用SI语音模型处理音频数据的实例以生成SI输出。

在框406处,系统使用SD语音模型处理音频数据的嘈杂实例以及说话者嵌入以生成SD输出。

在框408处,系统基于SI输出和SD输出生成损失。在许多实施方式中,系统可以生成交叉熵损失。

在框410处,系统基于所确定的损失来更新SD语音模型的一个或多个部分。例如,系统可以利用反向传播,以基于所确定的损失来更新SD语音模型的部分。在许多实施方式中,所确定的损失用于更新仅SD语音模型的部分并且不用于更新SI语音模型的部分。换句话说,可以在训练SD语音模型期间冻结SI语音模型。

在框412处,系统确定是否执行额外训练。如果是,则系统返回到框402,选择额外训练实例,基于额外训练实例执行框404、406、408和410的迭代,然后执行框412的额外迭代。在一些实施方式中,如果存在一个或多个额外的未处理训练实例和/或如果尚未满足其他标准,则系统可以确定执行更多。其他标准可以包括例如是否发生阈值次数的训练和/或是否发生阈值训练持续时间。尽管针对非批量学习技术描述过程400,但是可以另外或可替代地利用批量学习。如果在框412处,系统确定不执行额外训练,则过程结束。

现在转向图5,提供图示根据本文所公开的各种实施方式的使用SD语音模型处理所捕获音频数据以及说话者嵌入以生成输出以及基于输出执行动作的过程500的流程图。为了方便起见,参考执行操作的系统来描述流程图的操作。此系统可以包括一个或多个组件,诸如一个或多个处理器(例如,CPU、GPU和/或TPU)。尽管以特定顺序示出过程500的操作,但这并不意味着是限制性的。可以重新排序、省略和/或添加一个或多个操作。

在框502处,系统接收捕获客户端装置的用户的口头话语的音频数据的实例。在一些实施方式中,音频数据的实例捕获没有用户未说出的额外噪音(或具有最少额外噪音)的用户的口头话语。另外或可替代地,音频数据的实例可以捕获用户的口头话语以及额外噪音。例如,除了用户说出的话语之外,音频数据的实例还可以捕获一个或多个额外说话者说出的话语和/或背景噪音。

在框504处,系统选择客户端装置的目标用户的说话者嵌入。在许多实施方式中,在与说话者嵌入相关联的用户的客户端装置处捕获音频数据之后,可以选择说话者嵌入。另外或可替代地,可以基于给定用户的验证来选择说话者嵌入(例如,使用来自较早话语的话音指纹和/或其他生物特征验证)。在各种实施方式中,可以在用户通过数字系统登记(例如,用户通过自动助理登记)期间生成说话者嵌入。在许多实施方式中,客户端装置可以与单个说话者嵌入相关联(例如,说话者嵌入对应于客户端装置的拥有者)。例如,移动电话可以存储与移动电话的拥有者相关联的说话者嵌入。另外或可替代地,客户端装置可以与多个说话者嵌入相关联,并且系统可以基于当前确定的活跃用户来选择说话者嵌入。在许多实施方式中,可以基于面部识别、话音识别,和/或额外的生物特征识别技术来确定当前活跃用户。

在框506处,系统使用SD语音模型处理(1)音频数据的实例以及(2)说话者嵌入以生成输出。在许多实施方式中,输出可以指示音频数据捕获说话者说出的对应于说话者嵌入的话语。另外或可替代地,输出可以指示音频数据未捕获说话者说出的对应于说话者嵌入的话语。作为示例,用户John可以与助理进行多对话会话。系统可以基于John说出的调用短语来确定John是活跃用户,这可以使系统在框504处选择与John相关联的说话者嵌入。如果Bob在对话会话期间在John未讲话时开始与John讲话,则系统可以使用例如SD VAD模型处理捕获Bob说出的话语的音频数据以及对应于John(活跃用户)的说话者嵌入以生成输出,所述输出指示John未说出捕获Bob说出的话语的音频数据的部分。

在框508处,系统基于输出执行一个或多个动作。例如,在框506处的SD语音模型可以是SD VAD模型,其中所生成的输出提供是否在音频数据中捕获目标说话者的话音活动(即,口头话语)的指示。相比之下,SI VAD模型可以用于生成指示是否在音频数据中捕获任何说话者的话音活动(即,口头话语)的输出。当使用SD VAD模型在框506处生成的输出指示音频数据捕获目标用户说出的话语时,可以使用SD VAD模型下游的额外和/或替代语音模型(例如,SD VAD模型下游的热词检测模型、SD VAD模型下游的ASR模型等)处理捕获目标用户说出的话语的音频数据和/或音频数据的部分。在一些实施方式中,当在框506处使用SD语音模型生成的输出指示音频数据未捕获目标用户说出的话语时,系统可以返回到框504以选择额外目标用户的额外说话者嵌入,并且在框506处使用SD语音模型处理音频数据的实例以及额外说话者嵌入。另外或可替代地,系统可以包括SD语音模型的多个实例,并且可以使用SD语音模型并行地处理音频数据以及多个说话者嵌入(例如,与系统使用SD语音模型的第二实例处理音频数据以及说话者嵌入B并行地,系统可以使用SD语音模型的第一实例处理音频数据以及说话者嵌入A)。在各种实施方式中,当在框506处使用SD语音模型生成的输出指示音频数据未捕获目标用户说出的话语时,系统可以等待另外的音频数据。

另外或可替代地,在框506处的SD语音模型可以是SD热词检测模型,其中所生成的输出提供音频数据是否捕获目标用户说出的一个或多个热词的指示。相比之下,使用SI热词检测模型生成的输出可以提供音频数据是否捕获任何用户说出的一个或多个热词的指示。当使用SD热词检测模型在框506处生成的输出指示音频数据捕获目标用户说出的热词时,可以使用SD热词检测模型下游的额外和/或替代语音模型(例如,SD热词检测模型下游的VAD模型、SD热词检测模型下游的ASR模型等)处理捕获目标用户说出的话语的音频数据和/或音频数据的部分。在一些实施方式中,当在框506处使用SD热词检测模型生成的输出指示音频数据未捕获目标用户说出的热词时,系统可以返回到框504以选择额外目标用户的额外说话者嵌入,并且在框506处使用SD语音模型处理音频数据的实例以及额外说话者嵌入。在各种实施方式中,当在框506处使用SD热词检测模型生成的输出指示音频数据未捕获目标用户说出的热词时,系统可以等待另外的音频数据。

此外,在框506处的SD语音模型可以是SD ASR模型,其中所生成的输出提供捕获目标用户说出的话语的文本表示并且排除不是目标用户的用户说出的话语。相比之下,SIASR模型可以用于生成在音频数据中捕获的任何说话者的话语的文本表示。当在框506处使用SD ASR模型生成的输出指示音频数据捕获目标用户说出的话语(例如,输出包括口头话语的文本表示)时,系统可以使用文本表示来执行动作。例如,目标用户可以说出“关闭客厅灯”,这可以使用SD ASR模型转换成文本表示。文本表示可以由系统的额外部分处理,以控制位于客厅的一个或多个联网智能灯泡。在一些实施方式中,当在框506处使用SD ASR模型生成的输出指示音频数据未捕获目标用户说出的话语(例如,输出缺少口头话语的任何文本表示并且为空、零等)时,系统可以返回到框504以选择额外目标用户的额外说话者嵌入,并且在框506处使用SD语音模型处理音频数据的实例以及额外说话者嵌入。在各种实施方式中,当在框506处使用SD ASR模型生成的输出指示音频数据未捕获目标用户说出的话语时,系统可以等待另外的音频数据。

现在转向图6,图示可以执行各种实施方式的示例环境。图6首先描述且包括客户端计算装置602,所述客户端计算装置执行自动助理客户端604的实例。一个或多个基于云的自动助理组件610可以在一个或多个计算系统(统称为“云”计算系统)上实施,所述计算系统经由通常在608处指示的一个或多个局域网和/或广域网(例如,互联网)通信地耦合到客户端装置602。

自动助理客户端604的实例通过其与一个或多个基于云的自动助理组件610的交互可以形成(从用户的角度看起来是)自动助理600的逻辑实例,用户可以通过所述自动助理参与人机对话。图6中描绘此自动助理600的实例。因此,应理解,在一些实施方式中,与在客户端装置602上执行的自动助理客户端604交互的用户实际上可以与他/她自己的自动助理600的逻辑实例交互。为简洁起见,本文中用作“服务”特定用户的术语“自动助理”通常是指在用户操作的客户端装置602上执行的自动助理客户端604和一个或多个基于云的自动助理组件610(其可以在多个客户端计算装置的多个自动助理客户端之间共享)的组合。还应理解,在一些实施方式中,自动助理600可以对来自任何用户的请求作出响应,而不管自动助理600的所述特定实例是否实际“服务”用户。

客户端计算装置602可以是例如:台式计算装置、膝上型计算装置、平板计算装置、移动电话计算装置、用户的车辆的计算装置(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立的交互式扬声器、诸如智能电视的智能电器设备,和/或包括计算装置的用户的可穿戴设备(例如,具有计算装置的用户的手表、具有计算装置的用户的眼镜、虚拟或增强现实计算装置)。可以提供额外和/或替代客户端计算装置。在各种实施方式中,客户端计算装置602可以可选地操作除自动助理客户端604之外的一个或多个其他应用,诸如,消息交换客户端(例如,SMS、MMS、在线聊天)、浏览器等等。在这些各种实施方式中的一些实施方式中,其他应用中的一个或多个可以可选地与自动助理600接口(例如,经由应用编程接口),或包括其自己的自动助理应用(还可以与基于云的自动助理组件610接口)的实例。

自动助理600经由客户端装置602的用户接口输入和输出装置与用户进行人机对话会话。为了保护用户隐私和/或节省资源,在许多情况下,用户通常必须在自动助理将完全处理口头话语之前显式地调用自动助理600。可以响应于在客户端装置602处接收到的特定用户接口输入而发生自动助理600的显式调用。例如,可以经由客户端装置602调用自动助理600的用户接口输入可以可选地包括客户端装置602的硬件和/或虚拟按钮的致动。此外,自动助理客户端可以包括一个或多个本地引擎606,诸如,可用于检测是否存在一个或多个口头调用短语的调用引擎。调用引擎可以响应于检测到口头调用短语中的一个而调用自动助理600。例如,调用引擎可以响应于检测到诸如“嗨,助理”、“OK,助理”和/或“助理”的口头调用短语而调用自动助理600。调用引擎可以连续地处理(例如,如果不是处于“非活动”模式)基于来自客户端装置602的一个或多个麦克风的输出的音频数据帧流,以监视口头调用短语的出现。当监视到口头调用短语的出现时,调用引擎丢弃(例如,在临时存储在缓冲区中之后)不包括口头调用短语的任何音频数据帧。然而,当调用引擎在处理后的音频数据帧中检测到口头调用短语的出现时,调用引擎可以调用自动助理600。如本文所使用,“调用”自动助理600可以包括使自动助理600的一个或多个先前不活动功能激活。例如,调用自动助理600可以包括使一个或多个本地引擎606和/或基于云的自动助理组件610进一步处理基于其检测到调用短语的音频数据帧,和/或一个或多个以下音频数据帧(然而,在调用之前,没有进行音频数据帧的进一步处理)。例如,响应于自动助理600的调用,本地和/或基于云的组件可以使用SD语音模型处理所捕获音频数据。

自动助理600的一个或多个本地引擎606是可选的,并且可以包括例如上述调用引擎、本地话音到文本(“STT”)引擎(将所捕获音频转换成文本)、本地文本到语音(“TTS”)引擎(将文本转换成语音)、本地自然语言处理器(确定音频和/或从音频转换的文本的语义),和/或其他本地组件。因为客户端装置602在计算资源(例如,处理器周期、存储器、电池等)方面相对受限,所以本地引擎606可以相对于包括在基于云的自动助理组件610中的任何对等方具有受限功能。

基于云的自动助理组件610利用云的实际上无限资源,以相对于本地引擎606的任何对等方执行音频数据和/或其他用户接口输入的更鲁棒和/或更精确处理。同样,在各种实施方式中,客户端装置602可以响应于调用引擎检测到口头调用短语或检测到自动助理600的一些其他显式调用而将音频数据和/或其他数据提供给基于云的自动助理组件610。

所图示的基于云的自动助理组件610包括基于云的TTS模块612、基于云的STT模块614、自然语言处理器616、对话状态跟踪器618,以及对话管理器620。在一些实施方式中,可以在与自动助理600分开的组件中省略、组合和/或实施自动助理600的引擎和/或模块中的一个或多个。此外,在一些实施方式中,自动助理600可以包括额外和/或替代引擎和/或模块。基于云的STT模块614可以将音频数据转换成文本,然后可以将所述文本提供给自然语言处理器616。

基于云的TTS模块612可以将本文数据(例如,由自动助理600制定的自然语言响应)转换成计算机生成的语音输出。在一些实施方式中,TTS模块612可以将计算机生成的语音输出提供给客户端装置602,以例如使用一个或多个扬声器直接输出。在其他实施方式中,可以将由自动助理600生成的文本数据(例如,自然语音响应)提供给本地引擎606中的一个,所述本地引擎然后可以将文本数据转换成本地输出的计算机生成的语音。

自动助理600的自然语言处理器616处理自由形式的自然语言输入,并且基于自然语言输入生成带注释输出,以供自动助理600的一个或多个其他组件使用。例如,自然语言处理器616可以处理自然语言自由形式的输入,所述自然语言自由形式的输入是文本输入,所述文本输入是STT模块614对用户经由客户端装置602提供的音频数据的转换。生成的带注释输出可以包括自然语言输入的一个或多个注释,以及可选地自然语言输入的一个或多个(例如,所有)术语。

在一些实施方式中,自然语言处理器616被配置成识别和注释自然语言输入中的各种类型的语法信息。在一些实施方式中,自然语言处理器616可以另外和/或可替代地包括实体标注器(未描绘),所述实体标注器被配置成注释一个或多个片段中的实体引用,诸如,对人(包括例如,文学人物、名人、公众人物等)、组织、位置(真实和虚拟)等的引用。在一些实施方式中,自然语言处理器616可以另外和/或可替代地包括共指解析器(未描绘),所述共指解析器被配置成基于一个或多个语境线索对相同实体的参考进行分组或“聚类”。例如,共指解析器可以用于将自然语言输入“我喜欢假想咖啡馆(Hypothetical Café),上次我们在那里吃饭”中的术语“那里”解析成“假想咖啡馆”。在一些实施方式中,自然语言处理器616的一个或多个组件可以依赖于来自自然语言处理器616的一个或多个其他组件的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器616的一个或多个组件可以使用相关的先前输入和/或特定自然语言输入之外的其他相关数据来确定一个或多个注释。

在一些实施方式中,对话状态跟踪器618可以被配置成跟踪“对话状态”,所述对话状态包括例如,在人机对话会话的过程中和/或跨越多个对话会话的一个或多个用户目标(或“意图”)的信念状态。在确定对话状态时,一些对话状态跟踪器可以试图基于对话会话中的用户和系统话语来确定在对话中实例化的时隙的最可能值。一些技术利用限定一组时隙以及与这些时隙相关联的值集的固定本体。一些技术另外或可替代地可以适合于各个时隙和/或域。例如,一些技术可能需要针对每个域中的每种时隙类型来训练模型。

对话管理器620可以被配置成将例如由对话状态跟踪器618提供的当前对话状态映射到然后由自动助理600执行的多个候选响应动作中的一个或多个“响应动作”。取决于当前会话状态,响应动作可能以多种形式出现。例如,与在最后一回合之前发生的对话会话的回合(例如,当执行最终用户期望的任务时)相对应的初始和中间对话状态可以被映射到包括自动助理600输出附加自然语言对话的各种响应动作。此响应动作可以包括例如请求用户为对话状态跟踪器618认为用户打算执行的某些动作(即,填充时隙)提供参数。在一些实施方式中,响应动作可以包括诸如“请求”(例如,寻找用于时隙填充的参数)、“提供”(例如,为用户建议动作或动作过程)、“选择”、“通知”(例如,向用户提供请求的信息)、“不匹配”(例如,通知用户所述用户的最后输入不被理解)、对外围装置的命令(例如,关闭灯泡)等等。

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

计算装置710通常包括经由总线子系统712与多个外围装置通信的至少一个处理器714。这些外围装置可以包括:存储子系统724,所述存储子系统包括例如存储器子系统725和文件存储子系统726;用户接口输出装置720;用户接口输入装置722;以及网络接口子系统716。输入和输出装置允许与计算装置710进行用户交互。网络接口子系统716提供到外部网络的接口并且耦合到其他计算装置中的相应接口装置。

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

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

存储子系统724存储提供本文所描述的一些或全部模块的功能的编程和数据结构。例如,存储子系统724可以包括用于执行图3、图4和/或图5的一个或多个过程的选定方面,以及实施图2和/或图6中描绘的各种组件的逻辑。

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

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

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

在本文所描述的系统收集关于用户(或本文中通常称为“参与者”)的个人信息,或可以利用个人信息的情况下,可以为用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户的偏好或用户的当前地理位置的信息),或控制是否和/或如何从内容服务器接收可能与用户更相关的机会。而且,某些数据可以在存储或使用之前以一种或多种方式进行处理,使得去除个人可识别信息。例如,可以处理用户的身份,使得针对用户无法确定任何个人可识别信息,或者可以在获得地理位置信息(诸如,城市、邮政编码或州级别)的情况下将用户的地理位置一般化,使得无法确定用户的特定地理位置。因此,用户可以控制如何收集关于用户的信息和/或如何使用信息。

在一些实施方式中,提供一种方法,包括基于受训练的说话者无关语音模型(SI语音模型)来训练说话者相关语音模型(SD语音模型)。SD语音模型针对相应客户端装置的任何用户可个性化。训练SD语音模型包括识别捕获目标用户的一个或多个口头话语的音频数据的实例,以及确定目标用户的说话者嵌入。训练SD语音模型进一步包括通过将音频数据的实例与不是来自目标用户的一个或多个额外声音组合来生成音频数据的嘈杂实例。训练SD语音模型进一步包括使用SI语音模型处理音频数据的实例以生成说话者无关输出(SI输出)。训练SD语音模型进一步包括使用SD语音模型处理音频数据的嘈杂实例以及说话者嵌入,以生成说话者相关输出(SD输出)。训练SD语音模型进一步包括基于SI输出和SD输出生成损失,以及基于所生成的损失而更新SD模型的一个或多个部分。

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

在一些实施方式中,基于受训练的SI语音模型来训练SD语音模型进一步包括:识别捕获额外目标用户的一个或多个额外口头话语的额外音频数据的实例;确定额外目标用户的额外说话者嵌入;通过将额外音频数据的实例与不是来自额外目标用户的一个或多个额外声音组合来生成额外音频数据的嘈杂实例;使用SI语音模型处理额外音频数据的实例,以生成额外说话者无关输出(额外SI输出);使用SD语音模型处理额外音频数据的嘈杂实例以及额外说话者嵌入,以生成额外说话者相关输出(额外SD输出);基于额外SI输出和额外SD输出来生成额外损失;以及基于所生成的额外损失来更新SD语音模型的一个或多个部分。

在一些实施方式中,所述方法进一步包括在训练SD语音模型之后,使SD语音模型存储于给定客户端装置的本地存储装置中并且部署在给定客户端装置处。响应于SD语音模型存储于本地存储装置中并且部署在给定客户端装置处,给定客户端装置基于使用受训练的SD语音模型处理音频数据的本地实例以及本地说话者嵌入来执行一个或多个动作。本地说话者嵌入对应于与客户端装置相关联的不同用户。在这些实施方式中的一些版本中,SI语音模型是说话者无关话音活动检测模型,SD语音模型是说话者相关话音活动检测模型(SD VAD模型),并且所述方法进一步包括:在客户端装置处检测音频数据的本地实例;在客户端装置处使用SD VAD模型处理音频数据的本地实例以及本地说话者嵌入,以生成指示音频数据是否包括不同用户的话音活动的输出;以及响应于确定音频数据包括不同用户的话音活动而执行一个或多个动作。例如,执行一个或多个动作可以包括使用额外语音模型,诸如热词检测模型和/或自动语音识别引擎模型处理音频数据的本地实例。在这些实施方式中的一些其他版本中,SI语音模型是说话者无关自动语音识别模型,SD语音模型是说话者相关自动语音识别模型(SD ASR模型),并且所述方法进一步包括:在客户端装置处检测音频数据的本地实例;在客户端装置处使用SD ASR模型处理音频数据的本地实例以及本地说话者嵌入,以生成指示仅用于不同用户的一个或多个口头话语的已识别文本的输出;以及基于由输出指示的已识别文本来执行一个或多个动作。在这些实施方式中的又一版本中,SI语音模型是语音无关热词检测模型,SD语音模型是说话者相关热词检测模型(SD热词检测模型),并且所述方法进一步包括:在客户端装置处检测音频数据的本地实例;在客户端装置处使用SD热词检测模型处理音频数据的本地实例以及说话者嵌入,以生成指示音频数据是否包括不同用户说出的热词的输出;以及响应于确定音频数据包括不同用户说出的热词而执行一个或多个动作。例如,执行一个或多个动作可以包括使用额外语音模型,诸如话音活动检测模型和/或自动语音识别模型处理音频数据的本地实例。

在一些实施方式中,将音频数据的实例映射到标签,所述标签指示目标用户对应于捕获目标用户的一个或多个口头话语的音频数据的实例。在这些实施方式中的一些实施方式中,确定目标用户的说话者嵌入包括基于标签选择目标用户的说话者嵌入。

在一些实施方式中,确定目标用户的说话者嵌入包括:使用说话者嵌入模型处理捕获目标用户的一个或多个口头话语的音频数据的实例的一个或多个部分,以生成目标用户的说话者嵌入。

在一些实施方式中,不是来自目标用户的一个或多个额外声音包括一个或多个背景噪音,并且通过将音频数据的实例与不是来自目标用户的一个或多个额外声音组合来生成音频数据的嘈杂实例包括将音频数据的实例与一个或多个背景噪音组合。在一些实施方式中,不是来自目标用户的一个或多个额外声音另外或可替代地包括不是目标用户的用户说出的一个或多个话语,并且通过将音频数据的实例与不是来自目标用户的一个或多个额外声音组合来生成音频数据的嘈杂实例包括将音频数据的实例与不是目标用户的用户说出的一个或多个话语组合。

在一些实施方式中,在训练SD语音模型期间冻结受训练的SI语音模型。

在一些实施方式中,基于SI输出和SD输出生成损失包括基于SI输出和SD输出生成交叉熵损失。在这些实施方式中的一些实施方式中,基于所生成的损失来更新SD模型的一个或多个部分包括基于交叉熵损失来更新SD模型的一个或多个部分。

在一些实施方式中,SD语音模型具有与SI语音模型相同的网络拓扑。

在一些实施方式中,SD语音模型不具有与SI语音模型相同的网络拓扑,并且其中SD语音模型拓扑比SI语音模型更紧凑。

在一些实施方式中,提供一种方法,并且所述方法包括接收捕获客户端装置的用户的一个或多个口头话语的音频数据的实例。使用客户端装置的一个或多个麦克风捕获音频数据的实例。所述方法进一步包括确定对应于客户端装置的目标用户的说话者嵌入。所述方法进一步包括使用说话者相关话音活动检测模型(SD VAD模型)处理音频数据的实例以及说话者嵌入,以生成指示音频数据是否包括客户端装置的目标用户的话音活动的输出。SD VAD模型对客户端装置的任何用户可个性化。所述方法进一步包括基于输出执行一个或多个动作。

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

在一些实施方式中,基于输出执行一个或多个动作包括:基于输出确定音频数据是否包括目标用户的话音活动;以及响应于确定音频数据包括客户端装置的目标用户的话音活动,使用额外语音模型处理音频数据的实例。在这些实施方式中的一些实施方式中,额外语音模型是热词检测模型和/或自动语音识别模型。

在一些实施方式中,基于输出执行一个或多个动作包括:基于输出确定音频数据是否包括目标用户的话音活动;响应于确定音频数据不包括客户端装置的目标用户的话音活动,确定对应于客户端装置的额外目标用户的额外说话者嵌入;以及使用SD VAD模型处理音频数据的实例以及额外说话者嵌入,以生成指示音频数据是否包括客户端装置的额外目标用户的话音活动的额外输出。

在一些实施方式中,基于输出执行一个或多个动作包括:基于输出确定音频数据是否包括目标用户的话音活动;响应于确定音频数据不包括客户端装置的目标用户的话音活动,丢弃音频数据的实例,而无需对音频数据的实例执行任何进一步处理。

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

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

相关技术
  • 使用说话者相关语音模型的说话者感知
  • 对通用背景模型和登记说话者模型进行文本转录适配的说话者验证计算机系统
技术分类

06120113206074