1.本公开涉及通过流式端到端模型的大规模多语言语音识别。
背景技术:2.被称为多语言asr系统的可以转录多种语言的语音的自动语音识别(asr)系统,作为扩大世界语言的asr覆盖的有效方式而受到欢迎。通过跨不同语言共享模型元素的学习,传统的多语言asr系统已被示出胜过单语asr系统,特别是对于那些可用训练数据较少的语言。
3.传统的多语言asr系统可以使用显著简化的基础设施来实现,这是因为可以仅用单个语音模型而不是多个单独模型来支持多种自然语言。然而,在大多数最先进的多语言asr系统中,只有声学模型(am)实际上是多语言的,并且仍然需要分离的、语言特定的语言模型(lm)及其相关联的词汇表。
4.近来,端到端(e2e)模型已经示出用于asr的巨大希望,与常规设备上asr系统相比,展示出改进的词错误率(wer)和时延度量。将am发音模型(pm)和lm折叠到单个网络中以直接学习语音至文本映射的这些e2e模型与具有分离的am、pm和lm的常规asr系统相比已经示出了有竞争性结果。代表性e2e模型包括基于词的连接主义时间分类(ctc)模型、递归神经网络换能器(rnn-t)模型以及诸如听、注意和拼写(las)的基于注意力的模型。
技术实现要素:5.本文中的实施方式针对增强型多语言端到端(e2e)模型,该模型被配备以在低时延交互式应用中操作,并且能够解决现实世界训练数据的关键挑战,即,跨世界各地说出的许多不同语言的可用训练数据量中的不平衡。通过在语言向量上调节多语言e2e模型并训练语言特定的适配器层,增强型多语言e2e模型可以在不同语言的各种训练数据上进行训练,并实现比可比较的单语e2e模型和传统asr系统更低的单词错误率(wer),同时满足现代交互式应用的时延约束。此外,该模型可以有效地解决大规模真实世界数据中固有的挑战,并且与最先进的传统模型具有竞争力,同时仍然在相同的训练和服务约束下操作。
6.本公开的一个方面提供了一种使用多语言端到端(e2e)语音识别模型来转录语音的方法。该方法包括在数据处理硬件处接收以特定母语说出的话语的音频数据;通过数据处理硬件获得标识特定语言的语言向量;以及通过数据处理硬件使用多语言e2e语音识别模型对从音频数据导出的语言向量和声学特征进行处理以生成对话语的转录。多语言e2e语音识别模型包括多个语言特定的适配器模块,其包括特定于特定母语的一个或多个适配器模块和特定于与特定母语不同的至少一种其他母语的一个或多个其他适配器模块。该方法还包括由数据处理硬件提供用于输出的转录。
7.本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,该方法还包括在处理语言向量和声学特征之前,由数据处理硬件使用音频数据生成话语的向量表示。话语的向量表示包括从音频数据导出的声学特征。在这些实施方式中,该方法可
以进一步包括由数据处理硬件级联语言向量和话语的向量表示以生成输入向量。这里,处理语言向量和声学特征包括使用多语言e2e语音识别模型处理输入向量以生成话语的转录。
8.语言向量可以包括独热向量。在一些示例中,获得语言向量包括基于说出话语的用户的语言偏好来标识话语的特定母语并基于标识的特定母语生成语言向量。在其他示例中,获得语言向量包括执行语言标识系统,该语言标识系统被配置成通过处理音频数据来标识特定母语并基于所标识的特定母语生成语言向量。
9.在一些实施方式中,多语言e2e语音识别模型使用递归神经网络换能器(rnn-t)架构,其包括编码器网络、预测网络和联合网络。编码器网络被配置成在多个时间步中的每一个处从输入向量生成高阶特征表示,该输入向量包括语言向量和从音频数据导出的声学特征的级联。预测网络被配置成将一系列先前输出的非空白符号处理成密集表示。联合网络被配置成基于编码器网络输出的高阶特征表示和预测网络输出的密集表示,在多个时间步的每一个处预测在可能输出标签上的概率分布。在这些实施方式中,编码器网络可以包括多个堆叠的长短期记忆(lstm)层,并且在每个lstm层之后,包括多个语言特定的适配器模块的相应子集的相应层。此处,相应层中的每个语言特定的适配器模块特定于不同的相应母语,其中相应层中的语言特定的适配器模块中的一个特定于特定母语。为话语生成的转录可以是以表示特定母语的相应母语脚本。
10.在一些配置中,多语言e2e语音识别模型通过训练过程进行训练。在一些示例中,训练过程发生在远程计算设备上,并且一旦模型被训练,远程计算设备将模型推送到用户设备以在用户设备的数据处理硬件上执行模型。值得注意的是,数据处理硬件可以可替选地驻留在与经由用户设备的一个或多个麦克风捕获话语的用户设备通信的远程计算设备上。训练过程可以包括下述步骤:获得多个训练数据集,每个训练数据集与不同于其他训练数据集的相应母语的相应母语相关联,使用随机优化算法在所有的训练数据集的并集上训练多语言e2e语音识别模型,并在第一阶段完成后的第二阶段训练过程期间,修改多语言e2e语音识别模型以包括多个语言特定的适配器模块。多个训练数据集中的每个训练数据集包括多个相应的训练数据样本。每个训练数据样本包括用相应母语说出的话语的音频数据、标识相应母语的语言标识符、以及以表示相应母语的相应母语脚本的话语的对应转录。此外,在训练过程的第二阶段,训练过程进一步包括,针对特定于特定母语的一个或多个适配器模块中的每一个,通过仅在与相应特定母语相关联的训练数据集上训练多语言e2e语音识别模型来学习相应权重集的值。
11.本公开的另一方面提供了一种用于使用多语言端到端(e2e)语音识别模型来转录语音的系统。该系统包括数据处理硬件和与数据处理硬件通信的存储硬件,该存储硬件存储指令,当在数据处理硬件上执行时,这些指令使数据处理硬件执行包括下述的操作:接收以特定母语说出的话语的音频数据语;获得标识特定语言的语言向量;以及使用多语言e2e语音识别模型处理语言向量和从音频数据中导出的声学特征以生成话语的转录。多语言e2e语音识别模型包括多个语言特定的适配器模块,其包括特定于特定母语的一个或多个适配器模块和特定于不同于特定母语的至少一种其他母语的一个或多个其他适配器模块。操作还包括由数据处理硬件提供用于输出的转录。
12.该方面可以包括以下可选特征中的一个或多个。在一些实施方式中,操作还包括,
在处理语言向量和声学特征之前,使用音频数据生成话语的向量表示。话语的向量表示包括从音频数据导出的声学特征。在这些实施方式中,操作可以进一步包括级联语言向量和话语的向量表示以生成输入向量。这里,处理语言向量和声学特征包括使用多语言e2e语音识别模型处理输入向量以生成话语的转录。
13.语言向量可以包括独热向量。在一些示例中,获得语言向量包括基于说出话语的用户的语言偏好来标识话语的特定母语并基于标识的特定母语生成语言向量。在其他示例中,获得语言向量包括执行语言标识系统,该语言标识系统被配置成通过处理音频数据来标识特定母语并且基于所标识的特定母语生成语言向量。
14.在一些实施方式中,多语言e2e语音识别模型使用递归神经网络换能器(rnn-t)架构,其包括编码器网络、预测网络和联合网络。编码器网络被配置成在多个时间步中的每一个处从输入向量生成高阶特征表示,该输入向量包括语言向量和从音频数据导出的声学特征的级联。预测网络被配置成将一系列先前输出的非空白符号处理成密集表示。联合网络被配置成基于编码器网络输出的高阶特征表示和预测网络输出的密集表示,在多个时间步的每一个处预测在可能输出标签上的概率分布。在这些实施方式中,编码器网络可以包括多个堆叠的长短期记忆(lstm)层,并且在每个lstm层之后,包括多个语言特定适配器模块的相应子集的相应层。此处,相应层中的每个语言特定的适配器模块特定于不同的相应母语,其中相应层中的语言特定的适配器模块之一特定于特定母语。为话语生成的转录可以是以表示特定母语的相应母语脚本。
15.在一些配置中,多语言e2e语音识别模型通过训练过程进行训练。在一些示例中,训练过程发生在远程计算设备上,并且一旦模型被训练,远程计算设备将模型推送到用户设备以在用户设备的数据处理硬件上执行模型。值得注意的是,数据处理硬件可以可替选地驻留在与经由用户设备的一个或多个麦克风捕获话语的用户设备通信的远程计算设备上。训练过程可以包括下述步骤:获得多个训练数据集,每个训练数据集与不同于其他训练数据集的相应母语的相应母语相关联;使用随机优化算法在所有训练的数据集的并集上训练多语言e2e语音识别模型,以及在第一阶段完成后的第二阶段的训练过程中,修改多语言e2e语音识别模型以包括多个语言特定的适配器模块。多个训练数据集中的每个训练数据集包括多个相应的训练数据样本。每个训练数据样本包括用相应母语说出的话语的音频数据、标识相应母语的语言标识符、以及以表示相应母语的相应母语脚本的相应话语转录。此外,在训练过程的第二阶段,训练过程进一步包括,针对特定于特定母语的一个或多个适配器模块中的每一个,通过仅在与相应特定母语相关联的训练数据集上训练多语言e2e语音识别来学习相应权重集的值。
16.在附图和下面的描述中阐述了本公开的一种或多种实施方式的细节。从描述和附图以及从权利要求中,其他方面、特征和优点将是明显的。
附图说明
17.图1是包括用于多语言语音识别的流式、端到端(e2e)语音识别模型的自动语音识别(asr)系统的示意图。
18.图2a和2b是包括与不同的相应语言相关联的多个语言适配器的图1的asr系统的流式e2e语音识别模型的示意图。
19.图3是图1和2的流式e2e语音识别模型中的语言适配器的示例架构的示意图。
20.图4是使用多语言e2e语音识别模型转录语音的方法的示例操作布置的流程图。
21.图5是可以被用于实现本文中描述的系统和方法的示例计算设备的示意图。
22.各图中相同的参考符号指示相同的元件。
具体实施方式
23.图1示出实施用于多语言语音识别的流式、端到端(e2e)语音识别模型150(可互换地称为“模型150”)的增强型自动语音识别(asr)系统100的示例。在所示的示例中,asr系统100驻留在说出不同母语的相应用户104、104a-b的用户设备102、102a-b上。具体地,用户设备102a的用户104a说出英语作为他/她相应的母语,而用户设备102b的用户104b说出法语作为他/她相应的母语。虽然所示示例描绘了驻留在用户设备102上的asr系统100,但是asr系统100的一些或所有组件可以驻留在与用户设备102通信的远程计算设备201上(例如,在云计算环境中执行的分布式系统的一个或多个服务器)。此外,其他用户104可以说出其他语言或其他方言的语言,诸如但不限于英语、法语、西班牙语、汉语、德语、日语、孟加拉语、印地语、卡纳达语和/或泰米尔语。尽管用户设备102被描绘为移动电话,但是用户设备102可以对应于任何类型的计算设备,诸如但不限于平板设备、膝上型/台式计算机、可穿戴设备、数字助理设备、智能扬声器/显示器、智能电器、汽车信息娱乐系统或物联网(iot)设备。
24.每个用户设备102包括音频子系统108,其被配置成接收由用户104(例如,用户设备102可以包括一个或多个用于记录说出的话语106的麦克风)以他们相应的母语说出的话语106,并且将话语106转换成与能够由asr系统100处理的输入声学帧110相关联的对应的数字格式。在所示的示例中,每个用户104以相应的英语短语“where is the bathroom?(浴室在哪里?)”的母语说出相应的话语106、106a-b并且音频子系统108将每个话语106、106a-b转换成对应的声学帧110、110a-b以输入到asr系统100。这里,声学帧110a与以英语的相应母语说出的音频相关联并且声学帧110b与以法语的相应母语说出的音频相关联。声学帧110可以是一系列参数化的输入声学帧,每一个均包括80维log-mel特征,用短的——例如,25ms——窗口计算并且每隔几毫秒(例如,10毫秒)位移。
25.asr系统100被配置成处理与每个话语106相关联的参数化输入声学帧110,并输出相应的转录120,即,以英文脚本“where is the bathroom?”的第一转录120a和以法文脚本“o
ù
se trouvent les toilettes?”的第二转录120b。如这里所使用的,术语“脚本”(“script”)通常是指包括用于表示自然语言的符号系统的书写系统。在所示示例中,用户设备102和/或远程计算设备201还执行用户界面生成器107,该用户界面生成器107被配置成向用户设备102的相应用户104呈现每个话语106的相应转录120的表示。例如,用户界面生成器107可以生成表示相应转录120的计算机代码,使得用户设备102的用户界面可以在用户设备102的屏幕上显示转录120。
26.在一些配置中,例如,由在用户设备102或远程计算设备201上执行的自然语言理解(nlu)模块处理从asr系统100输出的转录120,以执行用户命令。例如,在所示示例中,每个相应话语106的转录120包括可以提供给搜索引擎以检索答案的查询。例如,搜索引擎可以提供带有去往浴室的说明/方向的答案。在该示例中,用户界面生成器107可以使每个用户设备102的图形用户界面以对应用户104的相应母语显示到浴室的说明/方向的文本表
示。另外或可替选地,文本语音转换系统(例如,在用户设备102或远程计算设备201的任何组合上执行)可以将说明/方向的文本表示转换为合成语音,用于用户设备102的可听输出。
27.继续参考图1,asr系统100包括语言标识符112、语言向量生成器114、向量表示生成器116、级联器118和流式e2e语音识别模型150。语言标识符112被配置成接收每个相应的话语106的输入声学帧110并标识相应的母语。存在多种方式以确定与每个话语相关联的语言。例如,用户104的语言偏好可以在第一次打开他们的设备102上的程序时由用户104明确设置,或者由用户104在用户104的简档中明确设置语言偏好。可替选地,用户104的语言偏好可以是默认设置,其包括在用户104的地理区域中说出的主要母语。在另一示例中,语言标识符112可以执行语言标识系统,该语言标识系统能够在每个话语的基础上确定语言。
28.使用由语言标识符112标识的母语,语言向量生成器114被配置成生成与相应话语106的标识语言相关联的相应语言向量115。如下文更详细讨论的,使用语言向量115通过允许向模型150馈送标识的语言以激活编码器网络210的适当的语言特定的适配器模块300(图2a、2b和3)而用作多语言e2e模型150的扩展。这样做时,语言特定的适配器模型218可以捕获针对每种单独语言微调模型150的质量益处,同时保持具有单个全局、多语言e2e模型150的参数效率。
29.在一些示例中,语言向量115是将相应语言表示为“独热(one-hot)”向量的固定长度向量。这里,用于训练多语言e2e模型150的k种语言中的每一种都将由对应的k维向量表示,由此对于给定的语言i,除了设置为一(1)的第i之外,所有位都设置为0。在附加示例中,语言向量115将语言表示为嵌入向量,其中选择维数d,并且每种语言由d个浮点权重表示。这些权重可以在训练期间学习。最后,语言可以被表示为通过聚类自适应训练(cat)学习的聚类的组合。在此变化中,聚类是从数据中学习的。如上所述,每个聚类都表示为k维的独热向量。然后可以将特定示例表达为聚类的加权组合,并且然后指配给每个聚类的权重组成k维语言向量。
30.向量表示生成器116还接收每个相应话语106的输入声学帧110并为每个话语106生成相应向量表示117。向量表示117可以包括从音频数据(例如,输入声学帧110)导出的声学特征。在一些示例中,向量表示117包括由向量表示生成器116在每个时间步输出的d维特征向量(x),使得向量表示生成器116生成d维特征向量x=(x1,x2,
···
,x
t
)的序列,其中在一些示例中,级联器118将每个话语106的相应语言向量115(例如,独热向量)和相应向量表示117(d维特征向量)级联,作为输入向量119,输入到多语言e2e语音识别模型150。
31.在一些实施方式中,多语言e2e语音识别模型150使用递归神经网络换能器(rnn-t)架构,该架构遵守与交互式应用相关联的时延约束并包括编码器网络200、预测网络220和联合网络230。编码器网络200大致类似于传统asr系统中的声学模型(am)并且包括堆叠的长短期记忆(lstm)层216(图2a和2b)的递归网络。在所示的示例中,编码器网络200接收与语言向量115和向量表示117的级联相对应的输入向量119(例如,d维特征向量序列x=(x1,x2,
···
,x
t
)),并在每个时间步处生成高阶特征表示。这个高阶特征表示可以被表示为
32.类似地,预测网络220也是lstm网络,其与语言模型(lm)一样,将到目前为止由最
终softmax层240输出的非空白符号序列,y0,...,y
ui-1
,处理成密集表示最后,使用rnn-t模型架构,编码器和预测网络200、220产生的表示由联合网络230组合。然后联合网络230预测其是下一个输出符号上的分布。softmax层240可以采用任何技术来选择分布中具有最高概率的输出符号作为模型150预测的下一个输出符号。以这种方式,多语言rnn-t模型150不作出条件独立性假设,而是每个符号的预测不仅以声学为条件,而且以到目前为止输出的标签序列为条件。多语言rnn-t模型150确实假设输出符号独立于未来的声学帧110,这允许以流式方式采用多语言rnn-t模型。
33.在一些示例中,编码器网络200由八个2,048维lstm层组成,每个层接着是640维投影层。预测网络220可以具有两个2,048维的lstm层,每个层还接着是640维的投影层。最后,联合网络230也可能有640个隐藏单元。softmax层240可以由来自所有语言的统一字素集组成,即,总共988个字素,其使用训练数据中的所有唯一字素生成。模型150可以在inlingvo中在批量大小为4,096的8x8张量处理单元切片上进行训练。如以下参考图3更详细地描述的,适配器模块300在八个编码器层216中的每一个之后均使用256维瓶颈。
34.本文的实施方式涉及装备多语言e2e语音识别模型150以在低时延交互式应用中操作,同时解决现实世界训练数据的关键挑战,即,跨语言的可用训练数据量的不平衡。具体地,语言向量115通过在特定语言信息上调节模型150提供对多语言e2e语音识别模型150的架构的第一扩展以来解决训练数据不平衡,使得多语言模型150可以成为每种单独语言的“专家”,而不是学习为具有更多数据的语言量身定制的表示。此外,将语言特定的适配器模块300应用于编码器网络200,其包括对来自每个lstm层216的激活输出的域特定调整,通过在训练期间对每种单独的语言微调模型150来提供对多语言e2e语音识别模型150的架构的第二扩展,但是仍然保持具有单个全局、多语言e2e模型150的参数效率。
35.参考图2a和2b,使用rnn-t架构的多语言e2e语音识别模型150的编码器网络200、200a-b包括多个lstm层216、216a-c,在相邻lstm层216之间设置有多个语言特定的适配器模块300。虽然在所示示例中示例编码器网络200a、200b中的每一个都包括三个lstm层216,但是编码器网络200可以包括任意数量的lstm层216。在一个示例中,编码器网络200a、200b包括八个lstm层216。
36.图2a的编码器网络200a属于多语言e2e语音识别模型150,该多语言e2e语音识别模型150被训练以对法语、日语或英语中的任何一种说出的话语执行语音识别。因此,在第一lstm层116a之后,编码器网络200a包括语言特定的适配器模块300a-c的层,其各自对应于法语(fr)、日语(jp)和英语(en)语言中的相应一个。类似地,在第二lstm层216b之后,编码器网络包括语言特定的适配器模块300d-f的另一层,其各自对应于法语(fr)、日语(jp)和英语(en)语言中的相应一个。
37.继续图1的示例,编码器网络200a通过通过第一lstm层216a穿过输入向量119、通过用于英语话语106a的适当适配器模块300c穿过来自第一lstm层216a的输出、由第二lstm层216b处理适配器模块300a的输出、通过用于英语话语106a的适当的适配器模块300f穿过来自第二lstm层216b的输出,并处理来自适配器模块300f的输出以生成提供给联合网络230的高阶特征表示来处理与用英语说出的口语106a相关联的输入向量119。编码器网络200b类似地处理与法语话语106b相关联的相应输入向量119,但是来自第一和第二lstm层
216a、216b的输出反而穿过用于法语话语106b的适配器模块300a,300e。
38.参考图2b,编码器网络200b属于多语言e2e语音识别模型150,其被训练以对以包括马拉地语、印地语、孟加拉语、泰米尔语和乌尔都语的印度语言说出的话语执行语音识别。这里,语言特定的适配器模块300g-k的层被设置在第一和第二lstm层216a、216b之间,每个层对应于马拉地语、印地语、孟加拉语、泰米尔语和乌尔都语中的相应一个,而语言特定的适配器模块300l-p的另一层被设置在第二和第三lstm层216b、216f之间。在所示示例中,用泰米尔语说出的话语的相应输入向量119。因此,因为输入向量119提供指示话语106是用泰米尔语说出的语言向量115,所以编码器200b仅将泰米尔语适配器300j、300o应用于每个激活。
39.图3示出语言特定的适配器模块300的示例架构的示意图。适配器模块300包括归一化层302、下投影304、非线性306和上投影308。具体地,每个来自lstm层216的激活向下投影到较小的维度,穿过非线性,并且然后投影回到原始大小。在传递到下一个lst层216之前,可以将结果添加到原始激活中。
40.语言特定的适配器模块300可以使用两阶段训练过程有效地实现到多语言e2e模型150中。训练过程可以在远程计算设备201(图1)上执行并且远程计算设备201可以将经训练的模型150推送到用户设备102以在其上执行。训练过程可以包括获得多个训练数据集,每个训练数据集与不同于其他训练数据集的相应母语的相应母语相关联。这里,每个训练数据集包括多个相应的训练数据样本,每个样本包括以相应母语说出的话语106的音频数据(例如,声学特征)110、标识相应母语的语言向量115和表示相应的母语的相应母语脚本的话语106的相应转录120。
41.在第一阶段,模型150对所有语言的并集进行全局训练并且可以使用随机优化算法,诸如随机梯度下降。为一批示例计算损失函数,并且然后针对模型中的每个权重进行微分。产生的梯度被用于更新模型权重。重复此直到权重收敛。
42.训练的第二阶段修改全局训练模型150以在编码器网络200的每个lstm层216之后包括适配器层。每个适配器层对于每种语言具有单独的权重集。训练过程从单一语言——诸如法语——的数据恢复。现在,在每批示例之后,仅针对法语的适配器权重计算梯度,而不针对模型中的任何其他参数计算梯度。因此,法语的适配器权重仅更新一系列步骤。然后,训练过程继续使用来自另一种语言——诸如英语——的数据。同样,在每批示例之后,仅针对英语的适配器权重计算梯度,而不针对模型中的任何其他参数计算梯度。因此,英语的适配器权重仅更新一系列步骤。重复此过程,直到学习了每种语言的适配器权重。
43.这种多阶段训练导致单个模型具有少量特定于每种语言的参数,这些参数通常小于原始模型大小的10%。这种增强允许跨语言的有效参数共享,以及每语言的专业化。例如,编码器网络200主要由占主导语言成形,而不太占主导语言可能具有明显的声学特征,这些特征可以从每层的小调整中受益。添加语言特定的适配器模块300允许模型以与微调整个模型相同的方式专门研究每种语言,但是以参数效率高得多的方式。具体来说,在一个经过测试的实施方式中,为每种语言添加的容量仅为原始模型大小的2%左右。
44.此外,当适配器模块300没有帮助时,不需要采用它们。例如,在实践中,适配器模块可能只在它们最有效时才被选择或使用,而将所有其他适配器设置为恒等操作,即,将权重设置为零。这样的模型只比原始模型略大,同时在某些模型上示出显著的收益。
45.适配器对每种语言的有效性是通过在该语言的测试集上测量用特定语言的适配器增强的模型和没有适配器的模型两者的词错误率(wer)来确定的。如果语言特定的适配器层没有帮助,则不需要使用它们。可以组成单个模型,其包含仅用于它们帮助的语言的语言特定的适配器层,而对于其他语言,这些层被设置为恒等操作(即,所有权重为零)。
46.鉴于跨世界语言中说话人分布的广泛偏差,不同数量的转录数据可用作不同语言的训练数据。结果,在训练多语言e2e模型150时进行了考虑,包括避免在训练数据中被过度表示的语言过度影响模型150。使用包括数万小时训练数据在内的多种不同语言的语料库,比较几种增强功能,即:以语言向量115为条件,调整语言采样率和使用语言特定的适配器模块300。这些增强功能可以单独使用或组合使用。当结合上述增强功能时,生成的多语言e2e模型150不仅超越了单语e2e模型,而且超越了使用最先进的ams、lexica和lms构建的单语传统系统,并始终以显著的相对减少实现在每种测试语言上的wer,即,与单语传统系统相比时。
47.数据不平衡是跨世界语言中说话人分布不同的自然结果。说话人较多的语言往往更容易产生转录数据。虽然一些asr系统可能只在转录语音数据上训练am,但是多语言e2e模型中的所有组件都在转录语音数据上进行训练。作为结果,多语言e2e模型可能对数据不平衡更敏感。
48.关于数据采样,不平衡的数据通常导致模型在具有更多训练数据的语言上表现更好。例如,假设多语言模型在k种语言l0,
…
,lk上进行训练,其中li具有ni个训练示例,并且在训练的每个步骤中,通过从总共n个示例中采样来组装一批示例。假设训练示例已跨语言池化并且重组,批次内语言li的采样率应被预计为意指对于任何i、j,该模型将使用由语言li生成的梯度比由语言lj生成的梯度多倍来更新,其中ni》nj。
49.数据采样可以通过对来自代表性不足的语言的数据进行上采样来解决这样的数据不平衡,使得跨不同语言的分布更加均匀。在极端情况下,每种语言都可以统一采样为统一的,这样对于所有i,更一般地,s(i)可以满足等式(1),如下:
[0050][0051]
在等式(1)中,n*是任何语言的最大示例数,并且α是可调谐的参数。如果α=0,则语言的训练数据以其自然频率进行采样,而如果α=1,则语言的训练数据将被均匀采样。在测试中,将α从0增加到0.25意味着对较小语言的训练数据进行了上采样。正如人们所预期的,除了训练数据中一些最大的语言之外,所有其他语言的wer都在减少。这样做时,模型关于输出哪种语言的先验正在被改变,使得当遇到模棱两可的话语时,模型可能不太可能默认为主导语言。
[0052]
如以上评论中所提出的,可以通过对多语言e2e模型的架构的上述扩展来解决这些具有数据不平衡的问题。例如,以语言向量115上的模型150为条件以表示馈送到模型150的每个话语的语言的第一扩展可以允许模型150成为每个单独语言的“专家”,而不是学习为具有更多数据的语言量身定制的表示。另外,在编码器网络200中的每个lstm层216之后修改模型150以包括语言特定的适配器模块的适配器层的第二扩展使模型150能够包括少
量特定于每种语言的参数。以语言向量115上的模型150为条件可以单独使用或与语言特定的适配器模块300的使用结合使用。类似地,语言特定的适配器模块300可以单独使用或与语言向量115结合使用。
[0053]
图4提供了使用多语言端到端(e2e)语音识别模型150转录语音的方法400的示例操作布置的流程图。驻留在用户设备102上的数据处理硬件510(图5)或远程计算设备201可以执行方法400的操作。在操作402,方法400包括在数据处理硬件510处接收以特定母语说出的话语106的音频数据110。在操作404,方法400包括由数据处理硬件510获得标识特定语言的语言向量115。语言向量115可以包括独热向量。
[0054]
在操作406,方法400包括由数据处理硬件510使用多语言e2e语音识别模型150、语言向量115和从音频数据110导出的声学特征117进行处理,以生成对话语106的转录120。多语言e2e语音识别模型150包括多个特定语言的适配器模块300,其包括一个或多个特定于特定母语的适配器模块300和特定于不同于特定母语的至少一种其他母语的一个或多个其他适配器模块300。在操作408,方法400还包括由数据处理硬件510提供用于输出的转录120。
[0055]
软件应用(即,软件资源)可以指使计算设备执行任务的计算机软件。在一些示例中,软件应用可以被称为“应用”、“app”或“程序”。示例应用包括但不限于系统诊断应用、系统管理应用、系统维护应用、文字处理应用、电子表格应用、消息传递应用、媒体流应用、社交联网应用和游戏应用。
[0056]
非暂时性存储器可以是用于在临时或永久基础上存储程序(例如,指令序列)或数据(例如,程序状态信息)以用于计算设备使用的物理设备。非暂时性存储器可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦除可编程只读存储器(eprom)/电子可擦除可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或者磁带。
[0057]
图5是可以被用于实现本文档中所描述的系统和方法的示例计算设备500的示意图。计算设备500旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机以及其它适当的计算机。本文所示的组件、它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实施方式。
[0058]
计算设备500包括处理器510、存储器520、存储设备530、连接到存储器520和高速扩展端口550的高速接口/控制器540,以及连接到低速总线570和存储设备530的低速接口/控制器560。组件510、520、530、540、550和560中的每个组件使用各种总线互连,并且可以被安装在公共主板上或酌情以其它方式被安装。处理器510能够处理用于在计算设备500内执行的指令,包括存储在存储器520中或存储在存储设备530上的指令,以在诸如耦合到高速接口540的显示器580的外部输入/输出设备上显示用于图形用户界面(gui)的图形信息。在其它实施方式中,多个处理器和/或多个总线可以适当地被使用,连同多个存储器和存储器类型。此外,多个计算设备500可以被连接,其中每个设备提供必要操作的部分(例如,作为服务器组、刀片服务器组或多处理器系统)。
[0059]
存储器520在计算设备500内非暂时性地存储信息。存储器520可以是计算机可读介质、易失性存储器单元或非易失性存储器单元。非暂时性存储器520可以是用于在临时或永久基础上存储程序(例如,指令序列)或数据(例如,程序状态信息)以用于计算设备500使用的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(rom)/可编程只读存储器(prom)/可擦可编程只读存储器(eprom)/电子可擦可编程只读存储器(eeprom)(例如,通常用于固件,诸如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、相变存储器(pcm)以及磁盘或磁带。
[0060]
存储设备530能够为计算设备500提供大容量存储。在一些实施方式中,存储设备530可以是计算机可读介质。在各种不同的实施方式中,存储设备530可以是软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其它类似的固态存储设备,或设备阵列,包括在存储区域网络或其它配置中的设备。在另外的实施方式中,计算机程序产品被有形地体现为信息载体。该计算机程序产品包含指令,所述指令在被执行时执行一种或多种方法,诸如上述那些方法。信息载体是计算机或机器可读介质,诸如存储器520、存储设备530或处理器510上的存储器。
[0061]
高速控制器540管理计算设备500的带宽密集型操作,而低速控制器560管理较低的带宽密集型操作。这种职责分配仅是示例性的。在一些实施方式中,高速控制器540被耦合到存储器520、显示器580(例如,通过图形处理器或加速器)和可以接受各种扩展卡(未示出)的高速扩展端口550。在一些实施方式中,低速控制器560被耦合到存储设备530和低速扩展端口590。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口590可以例如通过网络适配器被耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或联网设备,诸如交换机或路由器。
[0062]
如图所示,可以以多种不同形式来实现计算设备500。例如,其可以被实现为标准服务器500a或在这样的服务器500a的组中多次实现,被实现为膝上型计算机500b或被实现为机架服务器系统500c的一部分。
[0063]
本文中所描述的系统和技术的各种实施方式能够以数字电子和/或光学电路、集成电路、专门设计的asic(应用专用集成电路)、计算机硬件、固件、软件和/或其组合被实现。这些各种实施方式能够包括在一个或多个计算机程序中的实施方式,该计算机程序在包括至少一个可编程处理器的可编程系统上是可执行的和/或可解释的,该可编程处理器可以是专用的或通用的,被耦合以从存储系统、至少一个输入设备以及至少一个输出设备接收数据和指令,并将数据和指令传送到这些设备。
[0064]
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且能够以高级过程和/或面向对象的编程语言和/或以汇编/机器语言被实现。如本文中使用的,术语“机器可读介质”和“计算机可读介质”是指任何计算机程序产品、非暂时性计算机可读介质、用于向可编程处理器提供机器指令和/或数据的装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑设备(pld)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
[0065]
本说明书中所描述的过程和逻辑流程能够由执行一个或多个计算机程序以通过
对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器,也被称为数据处理硬件,被执行。过程和逻辑流程也能够由专用逻辑电路执行,例如fpga(现场可编程门阵列)或asic(应用专用集成电路)。例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的例如磁盘、磁光盘或光盘的大容量存储设备或可操作地耦合至该大容量存储设备以从其接收数据或向其传输数据,或者两者。然而,计算机不必须具有这种设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及cd rom和dvd-rom盘。处理器和存储器能够由专用逻辑电路补充或被并入专用逻辑电路中。
[0066]
为了提供与用户的交互,本公开的一个或多个方面能够在具有显示设备或用于向用户显示信息的触摸屏以及可选的键盘和定点设备的计算机上实现,该显示设备例如是crt(阴极射线管)、lcd(液晶显示器)监视器,该定点设备例如是鼠标和轨迹球,用户能够通过其向计算机提供输入。其它类型的设备也能够被用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入能够以任何形式被接收,包括声音、语音或触觉输入。另外,计算机能够通过向用户使用的设备发送文档以及从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从web浏览器收到的请求将网页发送到用户客户端设备上的web浏览器。
[0067]
已经描述了许多实施方式。然而,应理解,在不脱离本公开的精神和范围的情况下,可以做出各种修改。因而,其它实施方式也在所附权利要求的范围内。