具有说话人验证的话音快捷检测的制作方法-j9九游会真人

文档序号:35580882发布日期:2023-09-27 05:01阅读:25来源:国知局

具有说话人验证的话音快捷检测


背景技术:

1.用户可以经由诸如智能电话、平板计算机、可穿戴设备、汽车系统、独立个人助理设备等的各种客户端设备与自动助理(也称为“个人助理”、“移动助理”等)交互。自动助理接收来自用户的包括口头自然语言输入(即,话语)的输入,并且可以通过、通过控制另一设备和/或提供响应内容(即,可视自然语言输出和/或可听自然语言输出)执行动作来响应。经由客户端设备交互的自动助理可以是经由客户端设备它本身和/或经由与客户端设备网络通信的一个或多个远程计算设备(例如,云中的计算设备)来实现的。
2.能够经由客户端设备调用自动助理的一些用户接口输入包括在客户端设备处用于调用自动助理的硬件按钮和/或虚拟按钮(例如,对硬件按钮的轻敲、对由客户端设备显示的图形接口元素的选择)。附加地或替代地,能够响应于也被称为“热词/短语”、“触发词/短语”或“关键词/短语”的一个或多个口头通用调用短语来调用许多自动助理。例如,能够讲出诸如“hey assistant(嘿助理)”、“ok assistant(好的助理)”和/或“assistant(助理)”的口头调用短语来调用自动助理。
3.关键词发现(spotting)模型(例如,唤醒词检测模型)能够被用于发起人机谈话。例如,用户能够通过说出关键短语“ok assistant”、“hey assistant”、“assistant”等来发起人机谈话。常规关键词发现模型被训练来辨识单个预定义短语或几个预定义短语。附加地或替代地,常规关键词发现模型常常假定关键词被固定长度音频窗口覆盖。支持新关键短语通常要求重新训练整个关键词发现模型。


技术实现要素:

4.本文公开的技术涉及流传输关键短语检测,该流传输关键短语检测能够被定制来检测一个或多个特定关键短语,而不要求对于那些特定关键短语重新训练任何模型。在一些实施方式中,能够为计算机系统的用户定制一个或多个特定关键短语。例如,用户能够使用自动助理客户端通过向自动助理讲出定制关键短语“turn off the lights(关闭灯)”来关闭一个或多个智能灯,其中“turn off the lights”是针对用户定制的特定关键短语并且映射到关闭一个或多个智能灯的一个或多个助理命令。例如,特定关键短语能够直接映射到助理命令,从而能够绕过自然语言理解(nlu)处理并且响应于检测到特定关键短语而对(多个)助理命令进行更高效且更低延时的执行。
5.相比之下,常规关键短语检测将要求用户在讲出命令“turn off the lights”之前首先讲出预定义通用调用关键短语,例如“ok assistant”,并且在确定与关闭(多个)灯相对应的(多个)助理命令时将要求nlu处理和/或进一步处理。附加地或替代地,常规关键短语检测模型易于误触发(例如,响应于不是关键短语的口头话语和/或非语音噪声而触发自动助理客户端)和/或易于误拒绝(例如,未能响应于包含关键短语的口头话语而触发自动助理客户端)。
6.在一些实施方式中,本文中公开的流传输关键短语检测技术能够减轻误触发和/或误拒绝。附加地或替代地,本文中公开的流传输关键短语检测技术能够被定制来基于在
关键短语检测系统的训练中未包括的一个或多个附加关键短语触发自动助理客户端,而不需要重新训练整个系统。
7.在一些实施方式中,流传输关键短语检测系统能够包括说话人分离模型、文本独立说话人识别(ti-sid)模型、自动语音辨识(asr)模型、关键短语匹配模型、自适应噪声消除模型和/或一个或多个附加或替代模型和/或组件。例如,音频数据能够捕获scott讲出话语“coffee maker,start brewing coffee(咖啡机,开始煮咖啡)”以及婴儿哭声。能够使用说话人分离模型来处理音频数据和与scott相对应的说话人嵌入以生成分离音频数据,其中分离音频数据隔离口头话语。换句话说,分离音频数据捕获scott讲出话语“coffee maker,start brewing coffee”而没有婴儿哭声。
8.能够使用ti-sid模型来处理分离音频数据和与scott相对应的说话人嵌入以生成说话人验证输出,其中说话人验证输出能够确认话语是由注册和/或验证的用户讲出的。在一些实施方式中,系统能够使用asr模型来处理音频数据和/或分离音频数据,以生成话语的文本表示。例如,系统能够使用asr模型来处理捕获话语“coffee maker,start brewing coffee”和婴儿哭声的音频数据和/或捕获话语“coffee maker,start brewing coffee”的分离音频数据,以生成“coffee maker,start brewing coffee”的文本表示。系统能够从与用户相关联的多个关键短语确定口头话语的文本表示是否是特定关键短语。例如,系统能够确定话语“coffee maker,start brewing coffee”的文本表示是否是与scott相对应的特定关键词语。
9.在一些实施方式中,系统能够将话语的文本表示与对应于用户的多个关键短语中的每一个关键短语的文本表示进行比较。在一些其他实施方式中,能够使用关键短语匹配模型来处理口头话语的文本表示以生成关键短语验证输出,其中关键短语验证输出指示话语的文本表示是否包含多个关键短语中的特定关键短语。继续示例,如果系统确定“coffee maker,start brewing coffee”的文本表示与特定关键短语匹配,则系统能够确定与关键短语相对应的一个或多个动作(例如,打开智能咖啡机并且使智能咖啡机煮咖啡)。在一些实施方式中,一个或多个动作能够被直接映射到特定关键短语(例如,对与每个特定关键短语相对应的一个或多个动作的识别被本地存储在计算设备处)。在一些其他实施方式中,能够使用nlu模型来处理文本表示以确定话语的意图。能够基于所确定的意图确定与话语相对应的一个或多个动作。在一些实施方式中,系统能够发起映射到特定关键短语的动作的执行,诸如打开智能咖啡机并且使智能咖啡机开始煮咖啡。
10.在一些实施方式中,说话人分离模型能够被用于通过使目标说话人(例如,计算系统的已知用户)的语音与不是由目标说话人讲出的一个或多个噪声分离来减轻(多个)误拒绝。例如,系统能够处理捕获由目标用户讲出的“turn on the living room lights(打开客厅灯)”的话语和不是由目标用户讲出的一个或多个声音(例如,狗吠声、来自电视的音频、由附加用户讲出的话语、一个或多个附加或替代声音和/或其组合)的音频数据以生成分离音频数据。所生成的分离音频数据能够省略(或至少抑制)音频数据的不是由目标说话人讲出的一些或全部噪声。在一些实施方式中,说话人分离模型能够是话音滤波器模型。
11.话音滤波器模型能够通过使用话音滤波器模型来生成音频数据的预测掩膜(mask)和/或预测增强表示而将人类话音与音频信号的波形表示、音频信号的频率表示和/或音频信号的模型产生的表示隔离。在一些实施方式中,利用预测掩膜处理音频信号的表
示能够隔离音频信号的表示的与人类话音相对应的(多个)部分。例如,利用预测掩膜处理频率表示能够隔离频率表示的与人类话音相对应的(多个)部分。能够使用asr模型来处理通过使用预测掩膜来处理频率表示所生成的修正频率表示,以例如生成通过已隔离的人类话音讲出的(多个)话语的文本表示(例如,文本、文本的符号表示等)。换句话说,能够在处理声学特征(例如,频率表示)并且生成修正声学特征(例如,修正频率表示)时使用话音滤波器模型,该修正声学特征隔离声学特征的与单个人类的(多个)话语相对应的(多个)部分以供在语音处理时使用,而不用从特征重建(多个)音频信号。
12.例如,假定包括来自第一人类说话人的(多个)第一话语、来自第二人类说话人的(多个)第二话语和背景噪声的各种发生的音频数据序列。本文中公开的实施方式能够利用音频数据序列的频率表示来生成修正频率表示,该修正频率表示包括与来自第一人类说话人的(多个)话语相对应的(多个)部分,并且排除与(多个)第二话语和背景噪声相对应的(多个)部分,其中能够进一步利用修正频率表示而不用重建与修正频率表示相对应的附加音频信号。
13.话音滤波器模型能够被用于除了处理音频数据的频率表示之外,还处理与人类说话人相对应的说话人嵌入以生成预测掩膜。例如,除了音频数据序列之外,还能够处理与第一人类说话人相对应的说话人嵌入以生成预测掩膜,该预测掩膜能够被利用来隔离第一人类说话人的(多个)话语。在许多实施方式中,能够在登记过程期间处理音频数据序列之前生成说话人嵌入(即,预生成的说话人嵌入)。音频数据序列能够在验证第一人类说话人(例如,使用话音指纹法和/或(多个)其他生物特征验证)之后与预生成的说话人嵌入相关联。利用预生成的说话人嵌入能够实现对音频数据序列的实时自动语音处理。
14.在一些实施方式中,客户端设备能够与多个用户相关联(例如,客户端设备具有多个注册用户)。在一些实施方式中,系统能够使用说话人分离模型的分离实例和与每个注册用户相对应的说话人嵌入来处理音频数据。然而,这在一些情形下能够是不切实际的。在一些其他实施方式中,说话人分离模型可以是能够在基于多个说话人嵌入生成预测掩膜时使用的多用户话音滤波器模型,每个说话人嵌入对应于客户端设备的注册用户。在一些实施方式中,能够使用附加注意力网络(例如,prenet模型)来处理音频数据,以生成维度与说话人嵌入相同的关键向量。能够为每个说话人嵌入生成参与权重。在那些实施方式中的一些中,能够基于每一个说话人嵌入和每一个说话人嵌入的对应的参与权重来生成参与嵌入。参与嵌入能够由话音滤波器模型使用来生成预测掩膜代替说话人嵌入。换句话说,话音滤波器模型能够基于音频数据的频率表示和参与嵌入生成预测掩膜,其中参与嵌入是基于向客户端设备注册的每个用户的说话人嵌入和与每一个说话人嵌入相对应的参与权重。
15.在一些实施方式中,能够通过使用文本无关说话人识别(ti-sid)模型来处理音频数据(例如,通过使用说话人分离模型来处理音频数据所生成的分离音频数据)以生成说话人验证输出而减轻误触发。说话人验证输出能够提供目标说话人是否讲出了口头话语的指示。例如,说话人验证输出能够提供系统的注册用户是否讲出了口头话语的指示。
16.文本无关(ti)说话人识别能够是基于对捕获口头话语的音频数据(例如,分离音频数据)的处理。在此类示例中,可以仅使得其他设备响应于验证特定授权用户讲出了特定口头话语而被控制。在用户许可的情况下,能够使用说话人识别来验证用户讲出了特定口头话语。响应于验证用户讲出了特定口头口语,能够响应于特定口头话语而提供内容,其中
该内容既响应于特定口头口语又是为用户定制的。说话人识别能够包括使用说话人识别模型来处理捕获口头话语的音频数据以生成输出,并且将输出与用户的说话人嵌入(例如,与用户的用户简档相关联的嵌入)进行比较。例如,如果所生成的输出与用户的说话人嵌入之间的距离度量满足阈值,则能够将用户验证为讲出了特定口头话语的用户。能够根据基于对包括来自用户的口头话语的音频数据的一个或多个实例的处理而生成的(多个)输出来生成用户的说话人嵌入。例如,说话人嵌入能够是基于各自基于对包括来自用户的对应口头话语的音频数据的对应实例的处理而生成的多个不同嵌入的平均值(或其他组合)。
17.在文本相关(td)说话人识别中,用户的说话人嵌入是基于仅包括一个或多个具体词和/或一个或多个具体短语的口头话语而生成的。此外,在使用中,用户必须讲出一个或多个具体词/短语以获得要使用与说话人嵌入充分匹配的td说话人识别模型生成的输出。作为一个示例,td说话人识别中的一个或多个具体词/短语能够局限于被配置成调用自动助理的一个或多个调用短语。自动助理的调用短语包含诸如例如“hey assistant”、“ok assistant”和/或“assistant”的一个或多个热词/触发词。
18.相比之下,在ti说话人识别中,使用ti-sid模型处理的口头话语不局限于(多个)具体词和/或(多个)具体短语。换句话说,能够使用ti-sid模型来处理基于几乎任何口头话语的音频数据,以生成能够有效地与特定用户的ti说话人嵌入进行比较以确定口头话语是否来自特定用户的输出。此外,在各种实施方式中,在ti说话人识别中利用的用户的说话人嵌入是基于包括根本不同的词和/或短语的口头话语而生成的。
19.在一些实施方式中,能够使用自动说话人辨识(asr)模型来处理音频数据和/或分离音频数据(例如,通过使用说话人分离模型来处理音频数据而生成的),以生成在音频数据中捕获的口头话语的文本表示。在一些实施方式中,asr模型能够是设备上asr模型和/或流传输asr模型。例如,系统能够使用被训练来生成口头话语的文本表示的各种asr模型,包括深度神经网络、循环神经网络(rnn)、长短期记忆(lstm)网络、卷积神经网络、一个或多个附加网络和/或其组合。例如,系统能够将递归神经网络转换器(rnn-t)模型用于生成口头话语的文本表示。在一些实施方式中,系统能够使用现有asr模型,诸如存储在客户端设备上本地以用于生成口头话语的文本表示的本地设备上asr模型。现有asr模型的使用能够实现通过各种关键短语中的任一个触发关键短语检测系统,只要能够使用asr模型来识别关键短语中的(多个)词即可。
20.在一些实施方式中,系统能够确定口头话语的文本表示(例如,通过使用asr模型来处理音频数据和/或分离音频数据所生成的文本表示)是否对应于与用户相关联的多个关键短语中的特定关键短语。例如,系统能够使用关键短语匹配模型来处理口头话语的文本表示,以确定口头话语的文本表示是否和与用户相关联的关键短语对应。在一些实施方式中,与用户相关联的多个关键短语能够包括用户的一个或多个个性化关键短语。例如,“turn off the second garage light(关闭第二车库灯)”的个性化关键短语能够由用户生成来控制他们的房子中的具体智能灯。附加地或替代地,多个关键短语能够包括与第三方相关联的一个或多个特定关键短语。例如,特定关键短语能够经由自动助理客户端发起第三方应用的一个或多个动作。例如,能够使用“hey hypothetical caf
é
,i want to order a large coffee(嘿假想咖啡馆,我想订购大杯咖啡)”的特定关键短语来从餐厅hypothetical caf
é
订购大杯咖啡。
21.此外,在一些实施方式中,能够通过使用自适应噪声消除模型来处理音频数据而降低误拒绝率。自适应噪声消除技术能够被用于在检测到音频数据帧流的一个或多个特征时选择性地适配和/或选择性地利用降噪技术。例如,各种技术涉及在对音频数据帧流中的关键短语的检测、对音频数据帧流中的话音特性(例如,用于说话人识别)的检测等方面选择性地适配和/或利用降噪技术。对此类技术的利用能够例如在具有强背景噪声的环境中,在各种情形下导致对音频数据帧流的特征的更鲁棒和/或更准确的检测。在各种实施方式中,可以结合自动助理实现自适应噪声消除技术,并且能够利用利用各种技术检测到的(多个)特征来适配自动助理的功能。例如,当技术被用于检测在音频数据帧流中存在调用短语时,能够响应于检测到口头调用短语而激活自动助理的至少一个功能,诸如使一个或多个随后接收到的音频数据帧被发送到一个或多个远程自动助理服务器以供进一步处理的功能。另外,例如,当技术被用于检测音频数据帧流中的话音特性(例如,用于说话人识别)时,能够基于使用检测到的话音特性识别的说话人来适配由自动助理生成的内容。
22.在各种实施方式中,使用自适应噪声消除模型来处理基于来自客户端设备的一个或多个麦克风的输出的音频数据帧以生成相应的输出。针对每个音频数据帧生成的输出指示音频数据帧是否具有一个或多个目标特征(例如,(多个)目标关键短语),并且用于利用对应的输出指示标记音频数据帧。作为工作示例,针对每个音频数据帧生成的输出能够指示多个目标关键短语中的每一个的对应概率,并且可选地指示“无目标关键短语”的对应概率。继续工作示例,每个音频数据帧的输出指示在输出对于触发关键短语的任何一个指示至少第一“高”阈值概率的情况下能够是“触发”指示;在输出未能对于触发关键短语中的任何一个指示至少第一阈值概率但是对于触发关键短语中的任何一个指示小于第一阈值概率但大于第二“低”阈值概率的概率的情况下能够是“接近触发”指示;以及在输出对于所有触发关键短语指示小于第二阈值概率(和/或对于“无触发关键短语”指示大于第三阈值概率)的情况下能够是“噪声”指示。
23.在那些各种实施方式中的一些中,音频数据帧及其对应的输出指示能够被存储在先进先出(fifo)缓冲器中,并且能够周期性地(或以其他规则间隔和/或非规则间隔)评估缓冲器的内容,以确定要基于缓冲器的内容执行的进一步处理。继续工作示例,如果缓冲器在给定实例下的音频数据帧都具有指示“噪声”的输出指示,则能够利用缓冲器的至少一个音频数据帧来适配降噪技术。例如,包括至少第一通道(基于第一麦克风)和第二通道(基于第二麦克风)的音频数据帧能够被从缓冲器中“弹出”并且被用于适配自适应噪声消除滤波器(或者适配诸如波束成形的另一降噪技术)。如果缓冲器在给定实例下的音频数据帧不包括指示“触发”的输出指示,但是包括指示“接近触发”的至少一个输出指示,则能够刷新整个缓冲器,并且使用如最近适配的降噪技术来处理音频数据帧以生成滤波后的数据帧。然后能够使用附加训练后的机器学习模型来处理滤波后的数据帧,以确定在滤波后的音频数据帧中是否存在调用短语。附加机器学习模型能够与被利用来确定输出指示的机器学习模型相同(但是可选地为其单独的实例),或者可选地可以是单独的模型,诸如利用起来可能更加计算密集的更鲁棒模型。如果缓冲器在给定实例下的音频数据帧包括指示“触发”的至少一个输出指示,则能够刷新整个缓冲器,并且使用附加训练后的机器学习模型来处理缓冲器的音频数据帧,以确定在附加机器学习模型中是否存在调用短语。在一些实施方式中,当触发输出指示存在时能够附加地或替代地使用如最近适配的自适应降噪技术来处理缓
冲器的音频数据帧,以生成滤波后的数据帧—并且使用附加训练后的机器学习模型来处理此类帧以确定是否存在调用短语。
24.在一些实施方式中,关键短语检测系统能够响应于确定说话人验证输出指示目标说话人讲出了话语并且确定口头话语包含特定关键短语而执行映射到特定关键短语的一个或多个动作。换句话说,只有当说话人验证输出指示目标说话人讲出了话语并且口头话语包含特定关键短语时才触发关键短语检测系统,而如果仅满足条件中一个(或两个都不满足)则不触发关键短语检测系统。
25.因此,各种实施方式阐述了用于关键短语检测以减少误触发和/或误拒绝的技术,其中关键短语检测系统能够被定制来检测几乎任何口头话语,其中所检测到的关键短语不局限于(多个)具体词和/或(多个)具体短语。常规关键短语检测技术被训练来辨识单个预定义短语或几个预定义短语。整个常规关键词检测系统需要被重新训练以检测一个或多个新关键短语。重新训练关键词检测系统能够是计算上昂贵的和/或费时的。能够通过使用流传输关键词检测系统来保存系统资源(例如,存储器、电力、处理器周期等)。相比之下,本文中描述的流传输关键短语检测技术能够在没有任何重新训练的情况下(或在最小重新训练的情况下)辨识一个或多个新关键短语。
26.附加地或替代地,常规关键短语检测系统要求用户在讲出命令之前首先讲出一个预定义关键短语。例如,用户在讲出命令“turn off the lights”之前必须讲出关键短语“ok assistant”。本文中公开的流传输关键短语检测系统能够通过允许用户生成映射到经常利用的命令的关键短语来提供更流线化的用户体验。例如,用户能够讲出关键短语“turn off the lights”而不需要讲出“ok assistant”。此外,能够通过消除除了处理“turn off the lights”之外还处理“ok assistant”的需要来保存计算资源。
27.以上描述是仅作为本文中公开的一些实施方式的概述来提供的。在下面附加详细地公开本技术的这些和其他实施方式。
28.应该领会,本文中更详细地描述的上述构思和其他构思的所有组合都被设想为是本文中公开的主题的部分。例如,在本公开末尾处出现的要求保护的主题的所有组合都被设想为是本文中公开的主题的部分。
附图说明
29.图1图示依照本文中公开的各种实施方式的执行映射到特定关键短语的动作的示例。
30.图2图示依照本文中公开的各种实施方式的使用自适应噪声消除模型来处理(多个)音频数据流以生成音频数据流的示例。
31.图3图示依照本文中公开的各种实施方式的生成与说话人相对应的说话人嵌入的示例。
32.图4图示依照本文中公开的各种实施方式的使用话音滤波器模型来生成分离音频数据的示例。
33.图5图示依照本文中公开的各种实施方式的为多个用户生成参与说话人嵌入的示例。
34.图6图示可以在其中实现本文中公开的各种实施方式的示例环境的框图。
35.图7是图示依照本文公开的各种实施方式的执行映射到特定关键短语的(多个)动作的示例过程的流程图。
36.图8图示其中可以实现本文中公开的实施方式的另一示例环境的框图。
37.图9图示计算设备的示例架构。
具体实施方式
38.本文中公开的实施方式包括流传输关键短语检测系统,该流传输关键短语检测系统能够被容易地定制来准确地检测由来自大词汇表的词组成的任何短语。在一些实施方式中,系统是利用端到端训练后的自动语音辨识(asr)模型和文本无关说话人验证模型来实现的。附加地或替代地,为了解决在各种噪声条件下检测这些关键短语的挑战,能够向说话人验证模型的特征前端添加说话人分离模型,并且/或者能够包括自适应噪声消除(anc)算法以利用跨麦克风噪声相干性。在一些实施方式中,能够显示文本无关说话人验证模型大大地降低关键短语检测的误触发率,同时说话人分离模型和/或自适应噪声消除大大地减少误拒绝。
39.在大多数话音辅助技术中,关键词发现(即,唤醒词检测)是用于发起人机谈话的常见方式(例如,“ok assistant”、“assistant”和/或“hey assistant”)。近年来,关键词发现技术已经随着许多激动人心的进步演进了,例如,使用深度神经网络或端到端模型。
40.然而,许多常规关键词发现模型基于单个预定义短语或几个预定义短语,通常假定关键词被固定长度音频窗口覆盖。支持新短语通常要求重新训练整个系统,这能够是消耗资源和时间的。
41.在许多场景中,用户会更更喜欢在不必说出预定义关键词的情况下与话音助理进行更无缝且自然的交互;尤其对诸如“turn on the lights(打开灯)”的简单命令来说如此。然而,这些交互可能对常规关键词发现系统提出新挑战。例如,关键词发现模型可能需要能够检测关键短语的大型语料库(corpus)。附加地或替代地,关键短语可以具有从单个词(例如,“stop(停止)”)到较长句子(例如,“what is the weather tomorrow?(明天天气如何?)”)的可变长度。关键短语的音频持续时间也可能取决于说话人而变化。此外,所辨识的关键短语的集合应该在不用训练和部署新模型的情况下是容易地可定制的。
42.不是使用专用关键短语检测模型,而是一些实施方式能够利用允许用户定义的关键短语的通用asr模型,从而向用户提供更大的灵活性。常规关键词检测系统先前尚未解决的关键短语检测的显著挑战是能够区别口头关键短语和背景中的噪声。这在环境噪声包括含有类似关键短语的语音的情况下能够是尤其困难的。例如,在tv上说出“turn off the lights(关灯)”的说话人能够容易地误触发系统。
43.在嘈杂的多谈话者环境中辨识语音(例如,鸡尾酒会问题)是一个活跃的研究领域。人类大脑具有尤其在说话人熟悉的情况下识别一个人的话音并且将一个人的话音与另一个人的话音分离的非凡能力。大脑解决鸡尾酒会问题的一种方式是通过使用自顶向下注意力来识别来自已知说话人的声音特征,同时过滤出其他无关环境声音。在各种实施方式中,登记的说话人的声音特征能够用神经网络嵌入来表示,并且该信息能够被用于在说话人验证模型的特征前端中抑制来自未知说话人的背景语音。
44.附加地或替代地,在多个麦克风分离小距离的设备(例如,智能家庭扬声器)上,自
适应噪声消除算法能够通过抑制背景噪声进一步增强语音信号。
45.各种实施方式可以包括:(1)采用现有技术水平的rnn-t模型并且应用修剪,使得它能够以显著降低的cpu使用率在设备上连续地运行;(2)将基于rnn-t的asr模型与说话人验证模型和说话人分离模型组合以在各种噪声条件下实现低误触发率和误拒绝率;和/或(3)使用泛化hotword cleaner(热词清理器)以进行通用语音辨识的自适应噪声消除算法。
46.在一些实施方式中,共享特征前端能够被系统中的所有语音模型使用。例如,该前端能够首先对输入音频应用自动增益控制,然后能够以10ms的步长提取32ms长的汉宁加窗(hanning-windowed)帧。对于每个帧,能够在125hz与7500hz之间的范围内计算128维对数梅尔滤波器组能量。这些滤波器组能量然后能够按4帧堆叠并按3帧子采样,从而以30ms的帧率产生512个维度的最终特征。然而,该前端仅仅是说明性的,并且能够使用附加或替代过程来处理音频数据。
47.说话人嵌入(在本文中也称为d-vector)是表示登记用户的话音特性的嵌入向量。它能够是通过提示用户遵循离线话音登记过程来获得的。在运行时,能够以如下两种方式使用d-vector:(1)它能够被用作说话人分离模型的辅助输入以去除不是来自目标说话人的特征分量;和/或(2)它能够在说话人验证模型中表示登记说话人。
48.在一些实施方式中,关键短语检测系统只有在满足以下两个条件时才触发:(1)能够成功地对照目标登记用户来验证文本无关说话人验证系统;以及(2)来自语音辨识模型的辨识文本能够成功地与预定义关键短语之一匹配。
49.在许多实施方式中,可能存在两个主要错误来源:(1)误接受,其中除关键短语以外的短语或由未知说话人(例如,在背景中)讲出的关键短语触发检测系统。(2)误拒绝,其中要么关键短语未被asr模型正确地辨识,要么目标用户被说话人验证系统错误识别。
50.在一些实施方式中,语音辨识模型能够是端到端rnn转换器(rnn-t)模型。作为rnn-t模型的示例,目标输出词表能够由4096个词条构成。附加地或替代地,编码器网络能够具有8个cifg-lstm层,并且预测网络能够具有2个cifg-lstm层。每个cifg-lstm层能够具有后面为640个单元的投影大小的2048个隐藏单元。联合网络能够具有640个隐藏单元和带有4096个单元的softmax层。在一些实施方式中,语音辨识模型需要在设备上连续地运行,能够通过对每个cifg-lstm层应用60%稀疏度来缩小模型以便降低cpu使用率,并且因此延长设备的寿命。例如,在稀疏化和量化之后,总模型大小能够是42mb。在一些实施方式中,能够在包括youtube、话音搜索、远场和电话语音的40万小时多域数据上训练示例rnn-t模型。附加地或替代地,能够在模型训练和推理期间向示例rnn-t模型输入添加域id,这能够提高目标域中的语音辨识质量。
51.各种实施方式能够在评估中集中于家庭自动化应用。例如,话音搜索和远场域能够在训练期间与共享域id组合,并且/或者能够在推理期间使用该id。然而,由于在一些实施方式中测试的目标关键短语是诸如“stop”或“turn on the light”的常见话音命令查询,所以它们经常出现在目标域训练数据中。这进而能够使asr在推理期间对假想这些关键短语具有隐式偏见。
52.许多关键词发现系统是与说话人验证(sv)模型一起装运的。说话人验证模型不仅可以实现诸如个性化查询(例如“what’s on my calendar?(我的日程是什么?)”)的特征,而且还可以大大地降低关键词发现系统的误接受率。
53.由于常规关键词发现系统仅支持单个关键词和/或几个关键词(例如,“ok assistant”和“hey assistant”),所以随它们装运的说话人验证模型通常是文本相关的。然而,对于依照许多实施方式需要在理论上支持无限数目的关键短语的个性化关键短语检测系统,可以使用文本无关说话人验证模型。
54.各种实施方式能够使用按一般化端到端损失而训练的文本无关模型。例如,训练数据能够来自覆盖37个地区的供应商收集的多语言语音查询数据集。附加地或替代地,训练数据能够包括包含librivox、voxceleb、cn-celeb、timit、vctk、spoken wikipedia corpora和booktubespeech的公用数据集以获得域鲁棒性。在一些实施方式中,能够在训练过程期间应用多风格训练(mtr)以获得噪声鲁棒性。作为另一示例,说话人验证模型能够具有3个lstm层,每个lstm层具有768个节点和/或256的投影大小。附加地或替代地,最后lstm层的输出能够被线性地变换为最终256维d-vector。
55.由于asr模型可以经由域id隐式地偏向关键短语,所以即使在嘈杂的背景条件下,各种实施方式中的关键短语检测的误拒绝率也可以仍然是低的。附加地或替代地,说话人验证系统可能易受重叠语音影响。例如,当目标用户和干扰说话人同时讲话时,说话人验证系统可能拒绝话语,因为从重叠说话计算的d-vector将与单独从目标用户语音导出的d-vector很不同。
56.由于说话人验证对减少误触发而言至关重要,所以可能重要的是解决在多谈话者条件下准确的说话人验证的挑战。在一些实施方式中,能够使用话音滤波器模型来增强从登记说话人到说话人验证模型的输入特征,同时屏蔽掉背景语音。
57.与其他语音增强或分离模型不同,话音滤波器模型具有这些益处:(1)它直接增强滤波器组能量而不是音频波形,这大大地减少运行时操作的数目;(2)它支持具有低延时的流传输推理;(3)它使用自适应抑制强度,使得它仅对重叠语音有效,从而避免不必要的过度抑制;(4)它是针对设备上应用优化的。
58.诸如智能扬声器和移动电话的许多设备具有不止一个麦克风。在这些设备上,能够使用自适应噪声消除(anc)算法来学习在仅噪声分段期间基于多个麦克风处的音频信号的相关性来抑制噪声的滤波器。
59.与使用fifo缓冲器来估计自适应滤波器系数的常规技术不同,在许多实施方式中,自适应滤波器系数是从在语音信号之前的一段非语音音频确定的。例如,自适应滤波器系数能够是从在语音信号之前的一段三秒长的非语音音频确定的。可以使这些系数保持冻结以便在含有语音的时期期间抑制噪声。
60.许多实施方式包括对背景噪声和重叠语音高度鲁棒的流传输个性化关键短语检测系统。可以在各种实施方式中使用被修剪以适合设备上约束并且经由域id使它隐式地偏向话音命令的基于rnn-t的环境asr模型。为了补偿由偏置而引起的误触发,能够利用拒绝了来自非登记说话人的所有关键短语的文本无关说话人验证模型。为了减轻在多谈话者场景中由说话人验证引起的误拒绝的增加,能够向说话人验证系统的特征前端添加说话人分离模型。附加地或替代地,能够使用多麦克风自适应噪声消除算法来进一步降低嘈杂条件的误拒绝率。
61.现在转向图,图1图示依照本文中公开的各种实施方式的执行映射到特定关键短语的动作的示例。在所图示的示例100中,能够使用说话人分离模型104来处理音频数据102
和说话人嵌入106以生成分离音频数据108。在一些实施方式中,音频数据102能够捕获由人类说话人讲出的话语和不是由人类说话人讲出的一个或多个声音。例如,音频数据能够捕获由katherine讲出的“turn down the thermostat by 5degrees(将恒温器调低5度)”的话语以及不是由katherine讲出的一个或多个声音,诸如(但不限于)由caleb讲出的附加话语、狗吠声的声音和/或电话振铃的声音。能够在包括由一个或多个另外的说话人讲出的(多个)话语、不是由人类说话人讲出的一个或多个附加声音和/或其组合的音频数据中捕获不是由人类说话人讲出的附加或替代声音。
62.说话人嵌入106能够与人类说话人相关联。在一些实施方式中,说话人嵌入106能够是预生成的说话人嵌入(例如,使用登记过程先前生成的说话人嵌入),从而使用话音指纹法、图像辨识、密码和/或其他验证技术来确定当前活动的人类说话人,并且因此,确定当前活动的人类说话人的说话人嵌入。说话人嵌入106能够对应于客户端设备的注册用户。例如,说话人嵌入106能够对应于手机的所有者。在一些实施方式中,多个用户能够与客户端设备相关联,每个用户具有对应的说话人嵌入。例如,住在一起的两个用户能够与位于房屋中的独立交互式扬声器相关联,其中每个用户具有对应的说话人嵌入。
63.说话人分离模型104能够被用于隔离由与说话人嵌入106相对应的人类说话人讲出的音频数据102的(多个)部分。换句话说,分离音频数据108包含由与说话人嵌入106相对应的人类说话人讲出的话语,并且排除不是由人类说话人讲出的一个或多个附加声音。在一些实施方式中,说话人分离模型104可以是话音滤波器模型。能够通过使用话音滤波器模型来处理音频数据102和说话人嵌入106而生成预测掩膜(mask)。能够基于连同预测掩膜一起处理音频数据102来生成分离音频数据108。在一些实施方式中,能够通过将预测掩膜与音频数据102进行卷积来生成分离音频数据108。在本文中关于图4描述通过依照一些实施方式处理音频数据102和使用话音滤波器模型生成的预测掩膜生成分离音频数据108。在一些实施方式中,能够依照本文中描述的图3生成说话人嵌入106。
64.能够使用文本无关说话人识别(ti-sid)模型110来处理分离音频数据108和说话人嵌入106以生成说话人验证输出112。在文本相关(td)说话人识别中,用户的说话人嵌入是基于仅包括一个或多个具体词和/或一个或多个具体短语的口头话语而生成的。此外,在使用中,用户必须讲出一个或多个具体词/短语以获得要使用与说话人嵌入充分匹配的td说话人识别模型来生成的输出。作为一个示例,td说话人识别中的一个或多个具体词/短语能够被约束于被配置成调用自动助理的一个或多个调用短语(例如,“hey assistant”、“ok assistant”和/或“assistant”)。
65.相比之下,在文本无关(ti)说话人识别中,使用ti-sid模型处理的音频数据不被约束于(多个)具体词和/或(多个)具体短语。换句话说,能够使用ti-sid模型来处理基于几乎任何口头话语的音频数据,以生成能够有效地与特定用户的说话人嵌入进行比较以确定口头话语是否来自特定用户的输出。此外,在各种实施方式中,在ti说话人识别中利用的用户的说话人嵌入通常是基于包括根本不同的词和/或短语的口头话语。
66.在一些实施方式中,说话人验证输出112能够提供在分离音频数据108中捕获的话语是否是由与说话人嵌入106相对应的人类说话人讲出的指示。例如,系统能够生成指示与说话人嵌入106相对应的人类说话人是否讲出了在分离音频数据108中捕获的话语的二元输出(例如,是/否、0/1等)。附加地或替代地,系统能够生成指示与说话人嵌入106相对应的
人类说话人讲出了在分离音频数据108中捕获的话语的可能性的概率。
67.自动语音辨识(asr)模型114能够被用于处理音频数据102以生成话语116的文本表示。例如,katherine能够讲出“turn off the garage lights(关闭车库灯)”的话语。asr模型114能够被用于处理捕获话语“turn off the garage lights”的音频数据,以生成“turn off the garage lights”的文本表示。在一些实施方式中,asr模型114能够被用于除音频数据102(未描绘)之外或替代音频数据102处理分离音频数据108以生成话语116的文本表示。
68.能够使用关键短语模型118来处理话语116的文本表示以确定话语的文本表示是否对应于与用户相关联的一个或多个关键短语中的特定关键短语。例如,系统能够确定“turn off the garage lights”是否对应于katherine的关键短语。在一些实施方式中,系统能够通过使用关键短语模型118来处理话语116的文本表示而生成关键短语验证输出120。在一些实施方式中,关键短语验证输出120能够包括指示话语116的文本表示是否对应于用户的特定关键短语的二元输出(例如,是/否、0/1、正/负等)。在一些实施方式中,用户的特定关键短语能够是用户的个性化关键短语和/或由用户生成的定制关键短语。例如,用户能够(通过关键短语生成过程)设置“set the thermostat to my bedtime temperature(将恒温器设定为我的就寝时间温度)”的关键短语,其中系统将智能恒温器调整为用户在它们睡觉时更喜欢的温度。
69.附加地或替代地,特定关键短语能够与第三方应用相关联,其中讲出特定关键短语使与第三方相关联的应用执行一个或多个动作。例如,特定关键短语能够与“hypothetical music player(假想音乐播放器)”的第三方应用相关联。用户能够讲出“hypothetical music player,play my driving playlist(假想音乐播放器,播放我的驾驶播放清单)”的特定关键短语以使“hypothetical music player”开始播放与用户相关联的播放清单。
70.系统能够基于比较说话人验证输出112和关键短语验证输出120来执行映射到特定关键短语124的(多个)动作。在一些实施方式中,系统能够使用and(与)门122来比较说话人验证输出112和关键短语验证输出120,其中系统仅在说话人验证输出112指示注册和/或验证的用户讲出了话语并且关键短语验证输出120指示话语的文本表示是与用户相关联的特定关键短语时才执行(多个)动作。换句话说,如果说话人验证输出112指示说话人不是注册和/或验证的用户或者关键短语验证输出120指示话语的文本表示不是与用户相关联的特定关键短语,则系统将不执行(多个)动作。
71.图2图示使用自适应噪声消除模型210来生成音频数据102的示例200。在一些实施方式中,系统能够通过可选地使用自适应噪声消除模型210来处理一个或多个麦克风的输出而可选地生成音频数据102。例如,能够使用麦克风1 202来捕获音频数据流1 206,并且能够利用使用自适应噪声消除模型210的麦克风2 204来捕获音频数据流2 208以生成音频数据102。在一些实施方式中,自适应噪声消除模型210能够处理来自一个或多个麦克风的音频数据,并且生成指示每个音频数据流的每个音频数据帧包括(多个)目标关键短语的至少一部分的概率的输出。
72.例如,针对每个音频数据帧生成的输出能够指示多个目标关键短语中的每一个目标关键短语的对应概率,并且可选地指示“无目标关键短语”的对应概率。继续工作示例,每
个音频数据帧的输出指示在输出对于触发关键短语的任何一个指示至少第一“高”阈值概率的情况下能够是“触发”指示;在输出未能对于触发关键短语中的任何一个指示至少第一阈值概率但是对于触发关键短语中的任何一个指示小于第一阈值概率但大于第二“低”阈值概率的概率的情况下能够是“接近触发”指示;并且在输出对于所有触发关键短语指示小于第二阈值概率(和/或对于“无触发关键短语”指示大于第三阈值概率)的情况下能够是“噪声”指示。
73.在那些各种实施方式中的一些中,音频数据帧及其对应的输出指示能够被存储在先进先出(fifo)缓冲器中,并且能够周期性地(或以其他规则间隔和/或非规则间隔)评估缓冲器的内容,以确定要基于缓冲器的内容执行的进一步处理。继续工作示例,如果缓冲器在给定实例下的音频数据帧都具有指示“噪声”的输出指示,则能够利用缓冲器的至少一个音频数据帧来适配降噪技术。例如,包括至少第一声道(基于第一麦克风)和第二声道(基于第二麦克风)的音频数据帧能够从缓冲器中被“弹出”并且被利用来适配自适配噪声消除滤波器(或者适配诸如波束成形的另一降噪技术)。如果缓冲器在给定实例下的音频数据帧不包括指示“触发”的输出指示,但是包括指示“接近触发”的至少一个输出指示,则能够刷新整个缓冲器,并且使用如最近适配的降噪技术来处理音频数据帧以生成滤波后的数据帧。然后能够使用附加训练后的机器学习模型来处理滤波后的数据帧,以确定在滤波后的音频数据帧中是否存在调用短语。附加机器学习模型能够与被用于确定输出指示的机器学习模型(但是可选地其分离的实例)相同,或者可选地能够是分离的模型,诸如可能利用起来更加计算密集的更鲁棒模型。如果缓冲器在给定实例下的音频数据帧包括指示“触发”的至少一个输出指示,则能够刷新整个缓冲器,并且使用附加训练后的机器学习模型来处理缓冲器的音频数据帧,以确定在附加机器学习模型中是否存在调用短语。在一些实施方式中,当触发输出指示存在时能够附加地或替代地使用如最近适配的自适应降噪技术来处理缓冲器的音频数据帧,以生成滤波后的数据帧—并且使用附加训练后的机器学习模型来处理此类帧以确定是否存在调用短语。
74.图3图示依照各种实施方式的生成说话人嵌入的示例。在所图示的示例300中,系统使用说话人登记模型306来处理登记音频数据1 302和登记音频数据2 304以生成说话人嵌入106。在一些实施方式中,登记过程可以是文本无关的,其中能够使用说话人登记模型306来处理捕获由给定用户讲出的几乎任何口头话语的登记音频以生成与给定用户相对应的说话人嵌入106。附加地或替代地,登记过程能够是文本相关的,在系统使用说话人登记模型306来处理捕获由给定用户讲出的一个或多个预定义词和/或短语的登记音频以生成说话人嵌入106。在所图示的示例300中,系统处理登记音频的两个实例(例如,登记音频1 302和登记音频2 304)以生成说话人嵌入106。然而,这仅仅是说明性的,而不意在为限制性的。在一些实施方式中,系统能够基于登记音频的较少数目的实例(例如,登记音频的单个实例)或登记音频的较多数目的实例(例如,登记音频的三个实例、登记音频的四个实例、登记音频的10个实例等)来生成说话人嵌入106。
75.图4图示使用话音滤波器模型来处理音频数据以生成分离的音频数据的示例。在所图示的示例400中,能够使用话音滤波器模型402来处理音频数据102和说话人嵌入106以生成预测掩膜404。在一些实施方式中,能够与说话人嵌入106一起使用话音滤波器模型402来处理音频数据的频率表示(未描绘)以生成预测掩膜404。在那些实施方式中的一些中,音
频数据的频率表示能够是例如以在线方式(例如,实时地或近实时地)处理的流传输音频数据或先前已经记录的非流传输音频数据。
76.说话人嵌入106是给定人类说话人的嵌入,并且能够是基于使用说话人登记模型来处理来自给定说话人的音频数据的一个或多个实例而生成的。在一些实施方式中,能够依照本文中描述的图3生成说话人嵌入。如本文中所描述的,在一些实施方式中,说话人嵌入106是先前通过说话人登记过程基于来自给定说话人的音频数据的(多个)先前实例而生成的。在那些实施方式中的一些中,说话人嵌入106与给定说话人的账户和/或给定说话人的客户端设备相关联,并且能够基于来自账户已经被授权的客户端设备和/或数字系统的频率表示来提供说话人嵌入106以供与音频数据的频率表示一起利用。
77.在一些实施方式中,系统能够可选地使用功率压缩过程来处理音频数据的频率表示以生成功率压缩(未描绘)。在那些实施方式中的一些中,功率压缩过程能够使音频数据中的较安静声音相对于响亮声音的重要性平等(或部分地平等)。附加地或替代地,系统能够可选地使用归一化过程来处理音频数据的频率表示以生成归一化(未描绘),并且能够可选地使用归一化过程来处理说话人嵌入106以生成归一化说话人嵌入(未描绘)。
78.频率表示能够作为输入被应用于话音滤波器模型402的卷积神经网络(cnn)部分(未描绘)。在许多实施方式中,cnn部分是一维卷积神经网络。在许多实施方式中,由cnn部分生成的卷积输出以及说话人嵌入106能够作为输入被应用于话音滤波器模型402的循环神经网络(rnn)部分(未描绘)。在许多实施方式中,rnn部分能够包括单向记忆单元(例如,长短期记忆单元(lstm)、门控递归单元(gru)和/或附加记忆单元)。附加地或替代地,由rnn部分生成的rnn输出能够作为输入被应用于话音滤波器模型402的全连接前馈神经网络部分(未描绘)以生成预测掩膜404。在许多实施方式中,能够省略cnn部分,并且音频数据的频率表示和说话人嵌入106两者都能够作为输入被应用于rnn部分。
79.音频数据102(和/或音频数据的频率表示)能够利用预测掩膜404处理以生成分离音频数据。例如,音频数据102能够与预测掩膜404进行卷积406以生成分离音频数据108。
80.在许多实施方式中,分离音频数据108能够:在音频数据102仅包括来自与说话人嵌入106相对应的说话人的(多个)话语时与音频数据102相同;在音频数据102缺少来自与说话人嵌入106相对应的说话人的任何话语时是空的/零;或者在音频数据102包括来自说话人的(多个)话语和(多个)附加声音(例如,(多个)其他人类说话人的(多个)重叠话语和/或附加背景噪声)时,排除(多个)附加声音同时隔离来自与说话人嵌入106相对应的说话人的(多个)话语。
81.图5图示依照本文中公开的各种实施方式的为多个用户生成参与说话人嵌入的示例。诸如话音滤波器技术的说话人感知技术通常假定神经网络取单个嵌入(在本文中也称为d-vector)作为辅助输入,因此仅能够在运行时针对单个用户进行个性化。然而,诸如家庭扬声器的许多智能设备能够是多个用户当中的共享设备。例如,通常在多个家庭成员之间共享智能家庭扬声器。在此类情况下,常规话音滤波器模型技术可能是使用起来不切实际的。
82.在一些实施方式中,能够将话音滤波器模型(诸如图4所图示的话音滤波器模型402)表示为:
83.y
t
=net(concat(x
t
,d))(1)
84.其中x
t
是音频数据的输入帧,y
t
是输出,d是目标说话人的说话人嵌入,net是诸如lstm网络的神经网络,并且concat是级联运算。
85.在一些实施方式中,诸如共享智能家庭扬声器的系统可以具有未知数目的用户。在那些实施方式中的一些中,系统可以具有多个说话人嵌入,每个说话人嵌入对应于共享设备的不同用户。例如,假定我们具有共享设备的三个用户和三个对应的说话人嵌入:d1、d2和d3。
86.在一些实施方式中,能够从多个登记用户级联说话人嵌入。能够使用话音滤波器模型来处理级联后的说话人嵌入以生成预测掩膜。在那些实施方式的一些版本中,系统需要提前知道登记用户的最大数目。例如,系统能够具有与三个登记用户相对应的三个说话人嵌入d1、d2和d3。能够将所得的多用户话音滤波器模型表示为:
87.y
t
=net(concat(x
t
,d1,d2,d3))
ꢀꢀꢀꢀꢀꢀꢀ
(2)
88.其中x
t
是音频数据的输入帧,y
t
是输出,d1是第一注册用户的说话人嵌入,d2是第二注册用户的说话人嵌入,d3是第三注册用户的说话人嵌入,net是诸如lstm网络的神经网络,并且concat是级联运算。
89.在推理时间,可能存在比登记用户的最大数目少的登记用户。在一些实施方式中,能够将“缺失”登记用户的说话人嵌入设置为全零向量。例如,如果多用户系统被设计有最大三个用户,但是仅具有两个登记用户,则系统能够将一个说话人嵌入设置为等于全零向量(例如,设定d3=0)。作为另一示例,如果多用户系统是为三个用户而设计的,但是仅具有单个登记用户,则系统能够将说话人嵌入中的两个设置为等于全零向量(例如,设置d2=d3=0)。
90.附加地或替代地,在一些实施方式中,能够交错多个注册用户的说话人嵌入,其中说话人嵌入通过在它们之间交替而被混合(与如上所述级联相反)。能够将所得的多话音滤波器模型表示为:
91.y
t
=net(concat(x
t
,d
t
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
92.其中当tmod 3=0时d
t
=d1;当tmod 3=1时d
t
=d2;以及当tmod 3=2时d
t
=d3。
93.此外,在一些实施方式中,能够使用注意力机制来组合说话人嵌入以参与具有不同权重的说话人嵌入。
94.在一些实施方式中,能够使用诸如prenet模型502的注意力网络来处理音频数据102以生成关键向量504,其中关键向量504具有与如等式2中图示的说话人嵌入相同的维数,其中k
t
表示关键向量504。
95.k
t
=prenet(x
t
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
96.在一些实施方式中,能够通过使用参与权重生成过程508来处理每个注册用户506的说话人嵌入和关键向量504而为共享设备的每个注册用户生成参与权重510。在一些实施方式中,能够基于下式生成参与权重α
t
506:
[0097][0098]
在一些实施方式中,能够通过使用参与嵌入处理器来处理参与权重510而生成参与嵌入514,其中γ
t
表示参与嵌入514。在那些实施方式中的一些中,能够将参与嵌入514生成为登记用户嵌入的线性组合:
[0099]
γ
t
=α
t,1
·
d1 α
t,2
·
d2 α
t,3
·
d3ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0100]
在一些实施方式中,能够在话音滤波器模型中使用参与嵌入514来替换说话人嵌入。换句话说,能够通过下式来表示多用户话音滤波器模型:
[0101]yt
=net(concat(x
t

t
))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0102]
换句话说,能够与音频数据一起使用话音滤波器模型来处理参与嵌入514以生成预测掩膜。预测掩膜能够与音频数据进行卷积以生成分离音频数据,其中由共享设备的注册用户讲出的(多个)话语与背景噪声隔离。
[0103]
在一些实施方式中,不同的登记用户嵌入可以是置换不变量,因此系统可能不需要置换训练数据以获得鲁棒性。附加地或替代地,多用户话音滤波器模型能够支持任意数目的登记用户,其中计算成本仅对于附加用户最小地增加。
[0104]
附加地或替代地,在一些实施方式中,能够使用指示话语的说话人的一个或多个附加线索来为共享设备的多个注册用户生成分离音频数据。例如,共享设备的相机能够识别环境中的注册用户之一以及与该用户相对应的说话人嵌入。系统能够基于来自向特定用户注册的非共享设备的信号,诸如基于来自向特定用户注册的手机的信号指示该特定用户与共享设备很接近,来识别具有共享设备的环境中的用户。可以利用(多个)附加或替代线索。在一些实施方式中,能够使用如本文中图4中图示的话音滤波器模型来处理与所识别的用户相对应的说话人嵌入。换句话说,在多用户情形下,分离音频数据能够基于所识别的用户的说话人嵌入生成,而不需要生成参与嵌入514。
[0105]
图6图示其中可以实现本文中公开的实施方式的示例环境600的框图。示例环境600包括计算系统602,其能够包括说话人分离引擎604、ti-sid引擎606、asr引擎608、关键短语动作引擎610、噪声消除引擎612、一个或多个附加或替代引擎(未描绘)和/或其组合。附加地或替代地,计算系统202可以与说话人分离模型614、ti-sid模型616、asr模型618、关键短语模型620、噪声消除模型622、一个或多个关键短语624、一个或多个说话人嵌入626、一个或多个附加或替代组件(未描绘)和/或其组合相关联。
[0106]
在一些实施方式中,计算系统602可以包括用户接口输入/输出设备(未描绘),其可以包括例如物理键盘、触摸屏(例如,实现虚拟键盘或其他文本输入机制)、麦克风、相机、显示屏幕和/或(多个)扬声器。用户接口输入/输出设备可以与用户的一个或多个计算系统602合并。例如,用户的移动电话可以包括用户接口输入输出设备;独立数字助理硬件设备可以包括用户接口输入/输出设备;第一计算设备可以包括(多个)用户接口输入设备并且分离计算设备可以包括(多个)用户接口输出设备等。在一些实施方式中,可以在也包含用户接口输入/输出设备的计算系统上实现计算系统602的全部或各方面。
[0107]
计算系统602的一些非限制性示例包括以下各项中的一者或多者:台式计算设备、膝上型计算设备、至少部分地专用于自动助理的独立硬件设备、平板计算设备、移动电话计算设备、车辆的计算设备(例如,车载通信系统和车载娱乐系统、车载导航系统、车载导航系统),或用户的包括计算设备的可穿戴装置(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代计算系统。计算系统602可以包括用于存储数据和软件应用的一个或多个存储器、用于访问数据并且运行应用的一个或多个处理器、以及有助于通过网络通信的其他组件。由计算系统602执行的操作可以跨多个计算设备分布。例如,在一个或多个位置中的一个或多个计算机上运行的计算程
序能够通过网络彼此耦合。
[0108]
在一些实施方式中,说话人分离引擎604能够用于通过处理音频数据来生成分离音频数据,该音频数据捕获由人类说话人讲出的话语和不是由人类说话人讲出的一个或多个附加声音,其中分离音频数据隔离由人类说话人讲出的话语。在一些实施方式中,说话人分离引擎604能够使用说话人分离模型614和一个或多个说话人嵌入626来处理音频数据以生成分离音频数据。在那些实施方式中的一些中,说话人分离模型614能够包括依照本文中描述的图4的话音滤波器模型402。话音滤波器模型402能够被用于生成预测掩膜,其中能够通过使用预测掩膜来处理音频数据而生成分离音频数据。在一些实施方式中,话音滤波器模型能够处理用户的说话人嵌入和音频数据以生成预测掩膜,诸如依照本文描述的图3生成的说话人嵌入106。在一些其他实施方式中,系统能够使用话音滤波器模型来处理参与嵌入和音频数据以生成分离音频数据。能够基于与向计算系统注册的多个用户相对应的说话人嵌入来生成参与嵌入。在一些实施方式中,能够依照本文中描述的图5生成参与嵌入。
[0109]
ti-sid引擎606能够被用于验证话语的说话人是计算系统的注册和/或验证的用户。在一些实施方式中,ti-sid引擎606能够处理使用说话人分离引擎604生成的分离音频数据和使用ti-sid模型616生成的一个或多个说话人嵌入626以生成说话人验证输出。在一些实施方式中,说话人验证输出能够指示在音频数据中捕获的话语的说话人是否是计算系统的注册和/或验证的用户。
[0110]
asr引擎608能够处理音频数据以生成在音频数据中捕获的话语的候选文本表示。在一些实施方式中,asr引擎608能够使用asr模型618来处理音频数据,以生成在音频数据中捕获的口头话语的文本表示。附加地或替代地,asr引擎608能够使用asr模型618来处理使用说话人识别引擎604生成的分离音频数据,以生成在分离音频数据中捕获的话语的文本表示。在一些实施方式中,asr模型618能够被存储在计算系统602处本地并且/或者能够在计算系统602处在本地处理音频数据。在一些实施方式中,asr模型618能够是rnn-t模型。
[0111]
关键短语动作引擎610能够被用于确定话语的文本表示(例如,使用asr引擎608生成的话语的文本表示)的至少一部分是否对应于与计算系统602相关联的多个关键短语624中的特定关键短语。在一些实施方式中,关键短语动作引擎610能够将话语的文本表示与和用户和/或计算系统602相对应的一个或多个关键短语624的表进行比较。附加地或替代地,关键短语动作引擎610能够使用关键短语模型620来处理话语的文本表示,以生成指示话语的文本表示是否对应于用户的关键短语的关键短语验证输出。在一些实施方式中,要求话语的文本表示与特定关键短语确切地匹配。在一些其他实施方式中,话语的文本表示必须在与特定关键短语的阈值距离内才与之匹配。
[0112]
附加地或替代地,关键短语动作引擎610能够确定映射到特定关键短语的一个或多个动作。在一些实施方式中,只有当人类说话人被确认为验证和/或注册的说话人(例如,使用ti-sid引擎606生成的说话人验证输出指示验证和/或注册的说话人讲出了话语),并且话语的文本表示对应于特定关键短语时,系统才会确定映射到特定关键短语的动作。在一些实施方式中,关键短语动作引擎610能够确定映射到特定关键短语的一个或多个动作。例如,关闭第一厨房灯、第二厨房灯和第三厨房灯的动作能够被映射到“turn off the kitchen lights(关闭厨房灯)”的特定关键短语。在那些实施方式中的一些中,特定关键短语能够在计算系统上被直接映射到一个或多个对应的动作,从而实现绕过nlu处理以识别
命令,并且能够降低延时履行和/或减少发起(多个)动作所需的处理能力。在一些其他实施方式中,关键短语动作引擎610能够发起nlu来识别特定关键短语中的命令,然后能够发起与所识别的命令相对应的(多个)动作。
[0113]
在一些实施方式中,能够可选地使用噪声消除引擎612来处理音频数据流以生成音频数据。在一些实施方式中,能够使用一个或多个麦克风(未描绘)来捕获音频数据流。在一些实施方式中,在本文中关于图2描述使用自适应噪声消除模型622来处理音频数据流以生成音频数据。
[0114]
图7是图示依照本文中公开的各种实施方式的执行映射到特定关键短语的(多个)动作的示例过程700的流程图。为了方便,参考执行操作的系统来描述流程图的操作。该系统可以包括各种计算机系统的各种组件,诸如计算系统602、客户端设备802和/或计算系统910的一个或多个组件。此外,虽然以特定次序示出过程700的操作,但是这不意在为限制性的。能够对一个或多个操作进行重新排序、省略和/或添加。
[0115]
在框702,系统可选地使用自适应噪声消除模型来处理一个或多个音频数据流以生成音频数据。在一些实施方式中,在本文中关于图2描述使用自适应噪声消除模型来处理音频数据流以生成音频数据。
[0116]
在框704,系统使用说话人分离模型来处理音频数据和与人类说话人相对应的说话人嵌入以生成分离音频数据。在一些实施方式中,音频数据捕获由人类说话人讲出的话语和不是来自人类说话人的一个或多个附加声音。分离音频数据隔离由人类说话人讲出的话语。换句话说,分离音频数据捕获话语而不捕获不是来自人类说话人的一个或多个附加声音。例如,音频数据能够捕获“turn on the fan(打开风扇)”的话语以及来自电视的背景噪声。能够使用说话人分离模型来处理音频数据以生成分离音频,该分离音频包括“turn on the fan”的话语,但是不包括来自电视的背景噪声。在一些实施方式中,说话人分离模型是话音滤波器模型。在一些实施方式中,能够通过依照本文中描述的图4使用话音滤波器模型来处理音频数据而生成分离音频数据。
[0117]
能够在系统上预生成和存储与人类说话人相对应的说话人嵌入。例如,能够通过使用说话人登记模型来处理登记音频数据而生成说话人嵌入。在一些实施方式中,说话人嵌入能够是文本相关的,其中登记音频数据捕获一个或多个预定义词和/或短语。在一些其他实施方式中,说话人嵌入能够是文本无关的,其中登记音频数据能够是几乎任何词和/或短语。在一些实施方式中,能够依照本文中描述的图3生成与人类说话人相对应的说话人嵌入。
[0118]
在框706,系统使用文本无关说话人识别(ti-sid)模型来处理分离音频数据和说话人嵌入以生成说话人验证输出。在一些实施方式中,说话人验证输出能够提供与说话人嵌入相对应的用户是否讲出了在分离音频数据中捕获的话语的指示。在一些实施方式中,系统能够使用ti-sid模型来处理分离音频数据以依照本文中描述的图4生成说话人验证输出。
[0119]
在框708,系统使用自动语音辨识(asr)模型来处理音频数据和/或分离音频数据以生成话语的文本表示。例如,系统能够使用asr模型来处理音频数据以生成话语的文本表示,系统能够使用asr模型来处理分离音频数据以生成话语的文本表示,或者系统能够使用asr模型来处理音频数据和分离音频数据以生成音频数据的文本表示。在一些实施方式中,
能够与使用系统执行的其他进程共享asr模型。附加地或替代地,asr模型能够是为流传输关键短语检测定制的专门asr模型。
[0120]
在框710,系统确定话语的文本表示的一个或多个部分是否对应于多个关键短语中的特定关键短语。在一些实施方式中,能够将话语的文本表示与多个关键短语的文本表示进行比较,以确定话语的文本表示的一个或多个部分是否对应于特定关键短语。附加地或替代地,能够使用关键短语模型来处理话语的文本表示,以生成指示话语的文本表示的一个或多个部分是否对应于特定关键短语的输出。
[0121]
在框712,系统确定说话人是否讲出了话语。例如,系统能够基于在框704生成的说话人验证输出来确定注册和/或验证的说话人是否讲出了话语。如果是这样的话,则系统进行到框714。如果不是这样的话,则过程结束。
[0122]
在框714,系统确定话语的文本表示是否对应于特定关键短语。例如,系统能够基于框710确定话语的文本表示是否对应于特定关键短语。如果是,则系统进行到框716。如果不是,则过程结束。
[0123]
在框716,系统使计算系统执行映射到特定关键短语的一个或多个动作。在一些实施方式中,系统能够通过经使用nlu模型来处理话语的文本表示以生成话语的意图而确定与特定关键短语相对应的动作。系统能够基于意图识别一个或多个动作。附加地或替代地,在一些实施方式中,与话语相对应的(多个)动作能够在计算系统上被映射到特定关键短语,从而消除对话语的文本表示执行附加nlu处理的需要。
[0124]
现在转向图8,图示了能够执行各种实施方式的示例环境。最初描述图8,并且图8包括运行自动助理客户端804的实例的客户端计算设备802。能够在经由通常在808处指示的一个或多个局域网和/或广域网(例如,互联网)通信地耦合到客户端设备802的一个或多个计算系统(统称为“云”计算系统)上实现一个或多个基于云的自动助理组件810。
[0125]
自动助理客户端804的实例通过其与一个或多个基于云的自动助理组件810的交互,可以形成从用户的角度看起来是用户可以在人机对话中与之接洽的自动助理800的逻辑实例的东西。在图8中描绘了这样的自动助理800的实例。因此应该理解,在一些实施方式中,与在客户端设备802上运行的自动助理客户端804接洽的用户实际上可以与他或她自己的自动助理800的逻辑实例接洽。为了简洁和简单起见,如在本文中作为“服务”特定用户使用的术语“自动助理”将通常指在由用户操作的客户端设备802上运行的自动助理客户端804和一个或多个基于云的自动助理组件810(其可以在多个客户端计算设备的多个自动助理客户端之间共享)的组合。还应该理解,在一些实施方式中,自动助理800可以对来自任何用户的请求做出响应,而不管该用户是否实际上被自动助理800的该特定实例“服务”。
[0126]
客户端计算设备802可以是例如:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户的车辆的计算设备(例如、车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器、诸如智能电视的智能设备和/或用户的包括计算设备的可穿戴设备(例如,用户的具有计算设备的手表、用户的具有计算设备的眼镜、虚拟或增强现实计算设备)。可以提供附加和/或替代客户端计算设备。在各种实施方式中,客户端计算设备802可以可选地操作除了自动助理客户端804之外的一个或多个其他应用,诸如消息交换客户端(例如,sms、mms、在线聊天)、浏览器等。在那些各种实施方式中的一些中,一个或多个其他应用能够可选地(例如,经由应用编程接口)与自动助理800接口,或者包括自动助理应
用的它们自己的实例(其也可以与(多个)基于云的自动助理组件810接口)。
[0127]
自动助理800经由客户端设备802的用户接口输入和输出设备参与与用户的人机对话会话。为了保护用户隐私和/或保存资源,在许多情形下,用户必须常常在自动助理将完全地处理口头话语之前显式地调用自动助理800。自动助理800的显式调用能够响应于在客户端设备802处接收到的某个用户接口输入而发生。例如,能够经由客户端设备802调用自动助理800的用户接口输入能够可选地包括客户端设备802的硬件按钮和/或虚拟按钮的动作。此外,自动助理客户端能够包括一个或多个本地引擎806,诸如可操作来检测一个或多个口头调用短语的存在的调用引擎。调用引擎能够响应于检测到口头调用短语之一而调用自动助理800。例如,调用引擎能够响应于检测到诸如“hey assistant”、“ok assistant”和/或“assistant”的口头调用短语而调用自动助理800。调用引擎能够连续地处理(例如,在不处于“不活动”模式的情况下)基于来自客户端设备802的一个或多个麦克风的输出的音频数据帧流,以监测口头调用短语的出现。在监测口头调用短语的出现的同时,调用引擎丢弃(例如,在暂时存储在缓冲器中之后)不包括口头调用短语的任何音频数据帧。然而,当调用引擎在处理后的音频数据帧中检测到口头调用短语的出现时,调用引擎能够调用自动助理800。如本文中所使用的,“调用”自动助理800能够包括使自动助理800的一个或多个先前不活动的功能被激活。例如,调用自动助理800能够包括使一个或多个本地引擎806和/或基于云的自动助理组件810进一步处理基于其检测到调用短语的音频数据帧,和/或一个或多个跟随的音频数据帧(然而在调用之前对音频数据帧的进一步处理未出现)。例如,本地组件和/或基于云的组件能够响应于对自动助理800的调用而使用双通道asr模型来处理捕获的音频数据。
[0128]
自动助理800的一个或多个本地引擎806是可选的,并且能够包括例如上述调用引擎、本地话音到文本(“stt”)引擎(其将捕获的音频转换为文本)、本地文本到语音(“tts”)引擎(其将文本转换为语音)、本地自然语言处理器(其确定从音频转换的音频和/或文本的语义含义)和/或其他本地组件。因为客户端设备802在计算资源(例如,处理器周期、内存、电池等)方面相对地受约束,所以相对于被包括在基于云的自动助理组件810中的任何对应物,本地引擎806可能具有有限的功能。
[0129]
相对于(多个)本地引擎806的任何对应方,基于云的自动助理组件810利用云的几乎无限的资源来对音频数据和/或其他用户接口输入执行更鲁棒和/或更准确的处理。再次,在各种实施方式中,客户端设备802能够响应于调用引擎检测到口头调用短语或者检测到对自动助理800的某个其他显式调用,而向基于云的自动助理组件810提供音频数据和/或其他数据。
[0130]
所图示的基于云的自动助理组件810包括基于云的tts模块812、基于云的stt模块814、自然语言处理器816、对话状态跟踪器818和对话管理器820。在一些实施方式中,可以省略、组合和/或在与自动助理800分离的组件中实现自动助理800的一个或多个引擎和/或模块。此外,在一些实施方式中,自动助理800能够包括附加引擎和/或模块和/或替代引擎和/或模块。基于云的stt模块814能够将音频数据转换成文本,该文本然后可以被提供给自然语言处理器816。
[0131]
基于云的tts模块812能够将文本数据(例如,由自动助理800制定的自然语言响应)转换成计算机生成的语音输出。在一些实施方式中,tts模块812可以将计算机生成的语
音输出提供给客户端设备802以被直接输出,例如,使用一个或多个扬声器来输出。在其他实施方式中,由自动助理800产生的文本数据(例如,自然语言响应)可以被提供给(多个)本地引擎806之一,该本地引擎然后可以将文本数据转换成在本地输出的计算机生成的语音。
[0132]
自动助理800的自然语言处理器816处理自由形式的自然语言输入,并且基于自然语言输入来生成带注释的输出以供自动助理800的一个或多个其他组件使用。例如,自然语言处理器816能够处理自然语言自由形式的输入,其是作为由stt模块814对由用户经由客户端设备802提供的音频数据的转换的文本输入。所生成的带注释的输出可以包括自然语言输入的一个或多个注释,并且可选地包括自然语言输入的一个或多个(例如,全部)词语。
[0133]
在一些实施方式中,自然语言处理器816被配置成识别和注释自然语言输入的各种类型的语法信息。在一些实施方式中,自然语言处理器816可以附加地和/或替代地包括实体标记器(未描绘),该实体标记器被配置成注释一个或多个分段中的实体引用,诸如对人(包括例如文学人物、名人、公众人物等)、组织、地点(真实的和想象的)等的引用。在一些实施方式中,自然语言处理器816可以附加地和/或替代地包括共指解析器(未描绘),该共指解析器被配置成基于一个或多个上下文线索对同一实体的引用进行分组或“聚类”。例如,可以利用共指解析器来将自然语言输入“i liked hypothetical caf
é
last time we ate there(我喜欢上次我们在那里吃饭的假想咖啡馆)”中的词语“there(在那里)”解析为“hypothetical caf
é
(假想咖啡馆)”。在一些实施方式中,自然语言处理器816的一个或多个组件可以依靠来自自然语言处理器816的一个或多个其他组件的注释。在一些实施方式中,在处理特定自然语言输入时,自然语言处理器816的一个或多个组件可以使用特定自然语言输入之外的相关在先输入和/或其他相关数据来确定一个或多个注释。
[0134]
图9是可以被可选地利用来执行本文中描述的技术的一个或多个方面的示例计算设备910的框图。在一些实施方式中,客户端计算设备和/或(多个)其他组件中的一者或多者可以包括示例计算设备910的一个或多个组件。
[0135]
计算设备910通常包括经由总线子系统912与许多外围设备进行通信的至少一个处理器914。这些外围设备可以包括存储子系统924(包括例如存储器子系统925和文件存储子系统926)、用户接口输出设备920、用户接口输入设备922和网络接口子系统916。输入设备和输出设备允许用户与计算设备910交互。网络接口子系统916提供到外部网络的接口并且耦合到其他计算设备中的对应接口设备。
[0136]
用户接口输入设备922可以包括键盘、诸如鼠标、轨迹球、触摸板或图形平板的指点设备、扫描仪、并入到显示器中的触摸屏、诸如语音辨识系统、麦克风和/或其他类型的输入设备的音频输入设备。一般而言,术语“输入设备”的使用旨在包括用于将信息输入到计算设备910中或到通信网络上的所有可能类型的设备和方式。
[0137]
用户接口输出设备920可以包括显示子系统、打印机、传真机或诸如音频输出设备的非视觉显示器。显示子系统可以包括阴极射线管(“crt”)、诸如液晶显示器(“lcd”)的平板设备、投影设备、或用于创建可见图像的某种其他机制。显示子系统也可以提供诸如经由音频输出设备的非视觉显示。一般而言,术语“输出设备”的使用旨在包括用于从计算设备910向用户或者向另一机器或计算设备输出信息的所有可能类型的设备和方式。
[0138]
存储子系统924存储提供本文中描述的一些或所有模块的功能的编程和数据构造。例如,存储子系统924可以包括用于执行图7的过程的选定方面以及用于实现图6和/或
图8中描绘的各种组件的逻辑。
[0139]
这些软件模块通常由处理器914单独或与其他处理器相结合地运行。存储子系统924中使用的存储器925能够包括许多存储器,包括用于在程序运行期间存储指令和数据的主随机存取存储器(“ram”)930以及存储有固定指令的只读存储器(“rom”)932。文件存储子系统926能够为程序和数据文件提供持久存储,并且可以包括硬盘驱动器、软盘驱动器以及相关可移动介质、cd-rom驱动器、光驱或可移动介质盒。实现某些实施方式的功能的模块可以由文件存储子系统926存储在存储子系统924中,或者存储在(多个)处理器914可访问的其他机器中。
[0140]
总线子系统912提供用于让计算设备910的各种组件和子系统按预期彼此通信的机制。尽管总线子系统912被示意性地示出为单条总线,但是总线子系统的替代实施方式可以使用多条总线。
[0141]
计算设备910能够具有各种类型,包括工作站、服务器、计算集群、刀片服务器、服务器场、或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图9中描绘的计算设备910的描述仅出于图示一些实施方式的目的旨在作为具体示例。计算设备910的许多其他配置相比于图9中描绘的计算设备可能具有更多或更少的组件。
[0142]
在本文中描述的系统收集关于用户(或如本文中经常提及的,“参与者”)的个人信息或者可以利用个人信息的情形下,可以向用户提供用于控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交动作或活动、职业、用户的偏好或用户的当前地理位置的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。同样,某些数据可以在被存储或使用之前被以一种或多种方式处理,使得个人可识别信息被去除。例如,用户的身份可以被处理,使得对于该用户而言不能确定个人可识别信息,或者可以在获得地理位置信息的情况下使用户的地理位置一般化(诸如到城市、邮政编码或州级别),使得不能确定用户的特定地理位置。因此,用户可以控制信息如何关于用户被收集和/或使用。
[0143]
在一些实施方式中,提供了一种由一个或多个处理器实现的方法,该方法包括:接收音频数据,该音频数据捕获人类说话人的话语并且也捕获不是来自人类说话人的一个或多个附加声音。在一些实施方式中,该方法包括:使用说话人分离模型来处理音频数据和与人类说话人相对应的说话人嵌入,以生成分离音频数据,分离音频数据使人类说话人的话语与不是来自人类说话人的一个或多个附加声音分离。在一些实施方式中,该方法包括:使用文本无关说话人验证模型来处理分离音频数据和说话人嵌入,以生成指示人类说话人是否讲出了所述话语的说话人验证输出。在一些实施方式中,所述方法包括:使用自动语音辨识(“asr”)模型来处理所述音频数据或所述分离音频数据以生成所述话语的文本表示。在一些实施方式中,所述方法包括:确定所述文本表示是否与一个或多个候选关键短语中的特定关键短语匹配。在一些实施方式中,该方法包括:响应于确定说话人验证输出指示人类说话人讲出了话语并且确定文本表示与人类说话人的特定关键短语匹配,使客户端设备执行被映射到特定关键短语的一个或多个动作。
[0144]
本技术的这些和其他实施方式能够包括以下特征中的一个或多个。
[0145]
在一些实施方式中,不是来自人类说话人的一个或多个附加声音包括一个或多个背景噪声,并且该方法进一步包括:在使用说话人分离模型来处理音频数据和说话人嵌入
以生成说话人验证输出之前,使用第一麦克风来捕获第一音频数据流,其中第一音频数据流捕获人类说话人的话语和不是来自人类说话人的一个或多个附加声音。该方法进一步包括:使用第二麦克风来捕获第二音频数据流,其中第二音频数据流捕获人类说话人的话语和不是来自人类说话人的一个或多个附加声音。该方法进一步包括:使用自适应噪声消除模型来处理第一音频数据流和第二音频数据流以生成音频数据,其中自适应噪声消除从音频数据中去除一个或多个背景噪声中的至少一个背景噪声。
[0146]
在一些实施方式中,说话人分离模型是话音滤波器模型,并且其中,使用话音滤波器模型来处理音频数据和与人类说话人相对应的说话人嵌入以生成分离音频数据包括:使用话音滤波器模型来处理音频数据和说话人嵌入以生成预测掩膜,其中,预测掩膜隔离由人类说话人讲出的音频数据的一个或多个部分。在一些实施方式中,该方法进一步包括:使用预测掩膜来处理音频数据以生成分离音频数据。在那些实施方式的一些版本中,使用预测掩膜来处理音频数据以生成分离音频数据包括:将音频数据与预测掩膜进行卷积以生成分离音频数据。
[0147]
在一些实施方式中,使被映射到特定关键短语的一个或多个动作被执行包括:识别映射到特定关键短语的一个或多个动作,其中,映射到与人类说话人相对应的特定关键短语的一个或多个动作不同于映射到与附加人类说话人相对应的特定关键短语的一个或多个附加动作。在一些实施方式中,该方法进一步包括:使客户端设备执行一个或多个动作。
[0148]
在一些实施方式中,话音滤波器模型是多用户话音滤波器模型,其中,使用话音滤波器模型来处理音频数据和与人类说话人相对应的说话人嵌入以生成分离音频数据包括:识别多个设备说话人嵌入,该多个设备说话人嵌入中的对应的每个设备说话人嵌入对应于与客户端设备相关联的不同的注册用户,并且其中,多个设备说话人嵌入包括与所述人类说话人相对应的说话人嵌入。在一些实施方式中,该方法进一步包括:处理多个设备说话人嵌入以生成多用户说话人嵌入。在一些实施方式中,该方法进一步包括:通过使用多用户话音滤波器模型来处理音频数据和多用户说话人嵌入而生成预测掩膜。在一些实施方式中,该方法进一步包括:基于音频数据和预测掩膜生成分离音频数据。在那些实施方式的一些版本中,处理多个设备说话人嵌入以生成多用户说话人嵌入包括:使用prenet模型来处理音频数据以生成关键向量,其中,该关键向量的维数和与人类说话人相对应的说话人嵌入的维数相同。在那些实施方式的一些版本中,该方法进一步包括:对于多个说话人嵌入中的每个设备说话人嵌入,基于关键向量和设备说话人嵌入生成参与权重。在那些实施方式的一些版本中,该方法进一步包括:基于参与权重和对应的设备说话人嵌入中的每一个生成多用户嵌入。在那些实施方式的一些版本中,该方法进一步包括:通过使用多用户话音滤波器模型来处理音频数据和多用户嵌入而生成预测掩膜。在那些实施方式的一些版本中,该方法进一步包括:基于音频数据和预测掩膜生成分离音频数据。在那些实施方式的一些版本中,基于该参与权重和对应的设备说话人嵌入中的每一个生成多用户嵌入包括:对于多个设备说话人嵌入中的每个设备说话人嵌入,通过确定与设备说话人嵌入相对应的参与权重和设备说话人嵌入的点积来生成用户值。在那些实施方式的一些版本中,该方法进一步包括:基于用户中的每一个值生成多用户嵌入。
[0149]
在一些实施方式中,该asr模型是流传输设备上asr模型,其中,该流传输设备上
asr模型被在本地存储在客户端设备处,并且其中,使用asr模型来处理音频数据或分离音频数据以生成话语的文本表示本地发生在客户端设备处。在那些实施方式的一些版本中,流传输设备上asr模型是递归神经网络转换器(“rnn-t”)模型。
[0150]
在一些实施方式中,特定关键短语是针对人类说话人个性化的个性化关键短语。
[0151]
在一些实施方式中,特定关键短语与第三方应用相关联,并且被映射到特定关键短语的一个或多个动作包括第三方应用的一个或多个动作。
[0152]
在一些实施方式中,捕获人类说话人的话语并且也捕获不是来自人类说话人的一个或多个附加声音的音频数据捕获由不是人类说话人的附加人类说话人讲出的附加话语。
[0153]
在一些实施方式中,捕获人类说话人的话语并且也捕获不是来自人类说话人的一个或多个附加声音的音频数据捕获不是口头话语的一个或多个噪声。
[0154]
另外,一些实施方式包括一个或多个计算设备的一个或多个处理器(例如,(多个)中央处理单元(cpu)、(多个)图形处理单元(gpu)和/或(多个)张量处理单元(tpu)),其中一个或多个处理器可操作来运行存储在相关存储器中的指令,并且其中,该指令被配置成使得执行本文中描述的任何方法。一些实施方式也包括一个或多个暂时性或非暂时性计算机可读存储介质,其存储由一个或多个处理器可运行以执行本文中描述的任何方法的计算机指令。
当前第1页1  
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图