生成和使用用于关键词检出系统的文本到语音数据和语音识别系统中的说话者适配的制作方法

文档序号:26839121发布日期:2021-10-08 20:15阅读:395来源:国知局
生成和使用用于关键词检出系统的文本到语音数据和语音识别系统中的说话者适配
1.背景
2.关键词检出(kws)任务需要检测音频语音信号中的特定词,通常供在启用语音的设备中用作“唤醒词”,诸如microsoft invoke(微软调用)中的“hey cortana(嘿,小娜)”、amazon echo中的“alexa”和google home中的“ok google”。随着用于自动语音识别(asr)的端到端经训练模型的日益普及,在kws应用(其是aws应用的一种类型)的上下文中也已探索了此类模型。在这些模型中,循环神经网络变换器(rnn-t)模型已在kws和其他asr应用中显示出前景良好的结果。rnn-t模型将声学模型和语言模型组件两者合并到单一、经联合训练的模型中。
3.rnn-t模型通常比没有显式的语言模型组件的连接时序分类(ctc)模型表现得更好。而且,rnn-t的流属性使得它对于需要在线低等待时间检测的kws任务而言是理想的。此类基于rnn-t的kws模型利用大量的关键词无关的语音数据进行训练,并且可以被训练成使用因关键词而异的解码设置来检测特定关键词。该语音数据通常是从记录多个说话者而收集到的自然语音数据,这些说话者口述了任意数目的词、短语或句子。
4.尽管有在基于rnn-t的kws模型中的总体改进,但实际上,kws性能随不同关键词而变化。对于在模型的原始训练中使用的数据集中频繁出现的关键词,模型表现得相当良好。相反,对于其音素序列(或子序列)很少出现在基线训练数据中的关键词,性能相当大地劣化。例如,对于外国名称关键词(其声学实现和音素序列很少出现在基线训练数据中),基于rnn-t的kws模型产生低声学和语言模型评分,结果导致kws系统对关键词的错误拒绝(即,启用语音的设备将不会“唤醒”)。
5.克服基线训练数据中的这种数据稀疏性的一种方法是收集包含更多关键词实例的更多训练数据。然而,在资源方面,标识表示宽范围的声学特征的合适说话者、为说话者创建相关脚本以进行口述、记录语音、整理数据、部署到基线训练数据上、以及接着对整个模型进行重新训练(在将经重新训练的模型部署到启用语音的设备上之前)是昂贵的。因此,对于旨在支持任何任意关键词的系统而言,其不是可扩展的解决方案。
6.机器学习模型也已被用于其他asr应用中,诸如用于说话者适配中。例如,在大词汇量语音识别系统中,对来自相异的声学环境和具有不同说话风格或口音的不同说话者的多样化的声学数据源进行建模是一项基本挑战。通常,说话者适配被执行以改变说话者无关模型来更好地适合特定说话者。然而,归因于大量的模型参数和有限量的适配数据,将模型与一个或若干个说话者相适配是具有挑战性的。在与说话者相对应的适配数据非常有限的情况下,针对特定说话者的模型训练通常被称为快速说话者适配。在许多语音生产部署场景中,快速说话者适配是一种实际有用的方案。
7.此外,在实际语音生产部署中,归因于在线计算模式、安全性原因或成本而难以获得用于适配数据的人类转录。无监督适配不需要使用人类转录。相反,其利用语音识别第一遍解码结果作为监督。因此,其在大多数语音生产场景中实际上是更合宜的。然而,在无监督适配期间发生的显式贴标签误差(例如,来自适配数据的第一遍解码结果的误差)可导致
在训练主模型时的灾难性的梯度更新,尤其是在主模型对特定说话者或许多不同说话者的无监督适配中。
8.因而,存在着克服数据稀疏性以训练被用于语音识别、关键词检出和说话者适配的模型的持续不断的需求。本文中所要求保护的主题不限于解决任何缺点或仅在诸如以上所描述的环境那样的环境中操作的各实施例。相反,提供本背景仅用于解说其中可实践本文中所描述的一些实施例的一个示例性技术领域。
9.简要概述
10.所公开的各实施例涉及可被用来促成和改进用于在kws系统中利用文本到语音(tts)训练数据的技术的系统、方法和设备。所公开的各实施例还包括可被用来促进用于生成tts数据以修改语音识别模型的改进的技术(诸如在利用个性化语音合成以供快速说话者适配中)的系统、方法和设备。
11.例如,一些实施例包括被配置成利用文本到语音数据来修改机器学习模型的方法、系统和设备。机器学习模型被训练用于包括asr和kws的语音检测和/或识别应用。在此类实施例中,例如,一种计算系统包括一个或多个处理器和一个或多个计算机可读硬件存储设备。这些硬件存储设备存储计算机可执行指令,这些计算机可执行指令被构造成由(诸)处理器执行。计算机可执行指令的执行致使计算系统标识利用基线训练数据训练的主模型。主模型包括语言模型子组件和声学模型子组件。计算系统获得新的tts训练数据,并利用新的tts训练数据来至少修改主模型的声学模型和语言模型,以降低执行语音检测或执行语音识别时主模型的检测和/或语音识别误差。
12.在一些实施例中,主模型是被用于kws的基于rnn-t的模型。附加地或替代地,新的训练数据是从多说话者神经tts系统获得的。在一些实施例中,当供在kws中使用的特定关键词被确定为在基线训练数据中代表不足时,针对该特定关键词获得新的tts训练数据。在一些实施例中,通过在修改主模型之前将新的tts训练数据中的一些与基线训练数据混合来避免主模型对新的tts训练数据的过拟合。
13.在一些实施例中,新的tts训练数据被用来促成针对kws的发音学习中的改进。在一些实施例中,针对可能在语音命令中检测到的关键词计算置信评分,该置信评分指示语音命令中存在该关键词的概率。在此类实施例中,置信评分根据全局置信评分尺度来被归一化,并且比照全局置信评分阈值进行比较以确定所检测到的关键词是否将被启用语音的设备所接受。
14.在一些实施例中,新的tts训练数据是使用个性化语音合成来生成的,以用于主模型的快速说话者适配。在一些实例中,新的tts训练数据是根据特定说话者的声学特征和/或根据在特定说话者通常说出的语音中所找到的内容而针对该特定说话者进行个性化的语音。因而,在存在有限的适配数据(例如,自然语音数据)可用于特定说话者的情况下,主模型可以利用从神经网络语言模型(nnlm)生成器和神经tts系统生成的个性化语音来经历高效且有效的快速说话者适配。在一些实例中,nnlm生成器被用来根据适配数据的贴标签生成内容相关文本,和/或神经tts系统针对特定说话者的声学特征来被个性化,以从内容相关文本生成经合成的语音。在一些实施例中,新的tts训练数据(即,经合成的个性化语音)与原始适配数据相混合地使用将先前对主模型的无监督适配转换成对主模型的伪监督式适配。
15.提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的概念的选集。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,亦非旨在用于帮助确定所要求保护的主题的范围。
16.附加特征和优点将在以下描述中阐述,且部分会从描述中显而易见,或者可以通过实践本文中的示教来习得。本发明的特征和优点可借助于在所附权利要求书中特别指出的工具和组合来实现和获得。本发明的特征将从以下描述和所附权利要求书中变得更完全地显见,或者可以通过如下文所阐述的本发明的实践来习得。
17.附图简述
18.为了描述可获得以上记载的及其他优点和特征的方式,将参照各具体实施例呈现以上简述的主题的更具体描述,各具体实施例在附图中例示。理解这些附图仅描述典型的实施例,因此不应被视为限制本发明的范围,各实施例将通过使用附图以附加的具体性和细节来描述和解释,附图中:
19.图1解说了包括和/或可被用来实现所公开的各实施例(包括但不限于,用于利用tts训练数据修改asr模型和其他机器学习模型的实施例)的计算系统。
20.图2解说了用作语音识别模型或关键词检出模型的机器学习模型的示例配置。
21.图3解说了包括与用于利用tts训练数据修改模型的方法相关联的动作的流程图。
22.图4解说了包括与用于利用针对自定义关键词的tts训练数据来修改模型的方法相关联的动作的流程图。
23.图5解说了被用于标识代表不足的关键词的关键词无关的阈值。
24.图6解说了包括与用于获得新的tts训练数据以供模型修改的方法相关联的动作的流程图。
25.图7解说了所示出的用于生成和获得tts训练数据的不同过程和组件的流程图。
26.图8解说了用于使用图1的经修改的主模型来检测语音命令中的关键词的不同过程和组件的流程图。
27.图9解说了用于基于新的tts训练数据通过发音学习来检测语音命令中的关键词的不同过程和组件的流程图。
28.图10a解说了具有关键词的可能发音的解码图的示例。
29.图10b解说了自由音素循环的示例。
30.图11解说了用于训练被用来生成新的tts训练数据以供模型自适应的神经tts系统的不同过程和组件的流程图。
31.图12解说了用于训练被用来生成新的tts训练数据以供各种语音识别应用的神经tts系统的不同过程和组件的详细流程图。
32.详细描述
33.所公开的各实施例涉及可被用来通过利用用于随语音识别和关键词检出模型一起生成和应用文本到语音(tts)数据的技术来促成和执行语音识别和关键词检出技术的系统、方法和设备。应当领会,在一些实例中,语音识别和关键词检出指的是分开的技术、模型或系统。在一些实例中,语音识别和关键词检出指的是同一技术、模型或系统,且因而这些术语可通篇地互换使用。
34.在一些实施例中,利用关键词无关的基线训练数据来训练主模型。在一些实施例
中,利用新的tts训练数据来修改主模型的声学和语言模型子组件。在一些实施例中,新的tts训练是针对在基线训练数据中代表不足的关键词从多说话者神经tts系统中获得的。在一些实施例中,新的tts训练数据被用于关键词检出(kws)应用中的发音学习和关键词相关置信评分的归一化。
35.将领会到,本文中所公开的任何实施例的任何特征或操作可以与本文中所公开的任何其他实施例的任何其他特征或操作相组合。即,所公开的各实施例中没有实施例需要是相互排斥的。此外,在任何附图中公开的任何内容可以与在任何其他附图中公开的任何其他内容相组合。
36.技术益处、改进和实际应用的示例
37.以下部分勾勒了所公开的各实施例所提供的一些示例改进和实际应用。然而,将领会到,这些仅是示例,并且各实施例不仅仅限于这些改进。
38.所公开的各实施例为asr系统(诸如关键词检出(kws)系统和其他asr系统)的技术领域带来了实质性的益处,因为它们可以被用来降低在执行语音识别中使用的模型的语音识别误差。例如,通过实践所公开的原理,各实施例能够利用从tts系统生成的文本到语音(tts)数据来扩充或补充基线训练数据。具体而言,在针对特定关键词来自定义kws系统的应用中,tts数据可被用来克服数据稀疏性的问题。在一些实例中,这可以包括训练模型以生成个性化的tts数据。在其中所选关键词在基线训练数据中的代表不足的情形中,新的tts训练数据可被获得以修改执行kws的模型。
39.示例模型修改
40.现在将注意力转向图1,其解说了用于使用新的tts训练数据160来修改主模型110的过程101的计算系统和通用过程流程图。应当注意,本公开的实质部分聚焦于基于循环神经网络变换器(rnn-t)的模型在关键词检出(kws)应用中的使用。然而,所公开的各实施例所涵盖的功能性范围不限于仅使用基于rnn-t的模型来实践,也不限于仅在kws应用中实践。例如,应当领会,主模型可以是包括声学模型和语言模型组件的任何模型。在根据机器学习技术中的最佳实践进行修改之前,可以对种子rnn-t模型执行附加操作。此外,主模型110可以被更普遍地用于自动语音识别(asr)系统和应用。附加地或替代地,新的tts训练数据被用来促成由模型执行的发音学习中的改进。进而,这也降低了由语音识别和/或关键词检出模型所致的语音检测和/或语音识别误差。由此,所公开的原理应当被广义地解读为涵盖任何类型的语音检测、语音识别或关键词检出场景或任何启用语音的设备。例如,一些实施例可以在利用一个或多个asr模型的分布式云计算环境中至少部分地实践。
41.提供并示出了一种计算系统100,其包括一个或多个处理器102以及一个或多个硬件存储设备104。硬件存储设备存储计算机可执行组件或指令(参见标识符106、107、108)。虽然硬件存储设备104被示为存储一定数目的计算机可执行组件106、107、108,但是可以预期的是,硬件存储设备104能够存储任意数目的计算机可执行指令106、107、108,使得存储计算机可执行指令106、107、108所需的存储器不超过与硬件存储设备104相关联的存储器分配。
42.计算系统100标识包括声学模型112和语言模型114的主模型110,其中声学模型112和语言模型114是主模型110的子组件。主模型110利用从非合成或自然说话者数据的语料库汇编的基线训练数据142来进行训练。语料库包括来自一个或多个说话者的音频数据。
音频数据表示在与多种主题和境况有关的自然语音中发现的各种各样的音素和音素序列。
43.在一些实施例中,基线训练数据包括移除了个人可标识信息的30,000小时的经匿名和转录的生产数据。生产数据是在近距离谈话和远场两种条件下记录的。附加地或替代地,该数据还包括标准噪声模拟以及房间脉冲响应(rir)模拟。主模型110是在基线数据上训练的,以将模型配置成用于供语音识别和关键词检出应用的关键词无关和说话者无关的使用。
44.计算系统100利用其对应的声学模型122和对应的语言模型124来标识经训练的主模型120。计算系统100获得新的tts训练数据160以修改经训练的主模型120。新的tts训练数据160是从tts系统150获得的。一般地,tts技术是指从文本或脚本合成地生成波形或音频数据的系统和方法。在这样的情形中,新的tts训练数据160包括模仿自然语音的合成音频数据。经合成的语音越真实,则经修改的主模型130越有效(即,经修改的主模型130在执行语音识别时的检测误差(即,语音识别误差)与新的tts训练数据的质量和真实性成某一比例地降低)。可以通过增加说话者多样性、增加每说话者的数据量、以及针对新的tts训练数据160的数据模拟的应用来促成语音识别和关键词检出应用中的改进。稍后在本文的详细描述中提供了从各种tts系统150获得新的tts训练数据160的可能方法的进一步描述。
45.经训练的主模型120用新的tts训练数据160通过修改声学模型122和语言模型124来进行修改。声学模型122和语言模型124包括与模型122、124的功能和配置相对应的一个或多个参数。经训练的主模型120通过修改声学模型122的至少一个参数和语言模型124的至少一个参数来被修改。在一些实施例中,声学模型122的所有参数和语言模型124的所有参数都被修改。在一些实施例中,每个模型的仅一些参数被修改。主模型120、声学模型122、和/或语言模型124的修改也可被称为所需模型的调整、学习、训练、调谐、和/或自适应。在一些实例中,利用新的tts训练数据160的修改的结果包括所解说的经修改的主模型130,其包括经修改的声学模型132和/或经修改的语言模型134之一或两者。
46.在一些实施例中,计算系统100的硬件存储设备104还存储主模型110、训练模型122和/或经修改的主模型130中的一者或多者。在一些实施例中,硬件存储设备104还可以包括基线训练数据142、非合成的说话者数据140、新的tts训练数据160、和/或tts系统中的一者或多者。在此类实施例中,计算系统可以是例如独立服务器,或者是分布式和/或基于云的服务器系统。
47.现在参考图2,一种类型的经训练的主模型120的示例被示为模型201,其中模型201表示过程101中所使用的主模型120的示例。在一些实施例中,模型201是基于循环神经网络变换器(rnn-t)的模型。模型201被示为包括连接到联合网络226的声学模型222和语言模型224。声学模型222也可被称为编码器网络。语言模型224也可被称为预测网络。声学模型222被配置成接收声学特征(x
t
)并将声学特征(x
t
)转换成高级表示(h
tenc
),其中t是时间索引。语言模型224通过以由rnn-t模型预测的先前的非空白目标y
u-1
为条件来输出高级表示(h
tpre
),其中“u”是输出标签索引。在一些实施例中,联合网络226是前馈网络,其组合声学模型输出(h
tenc
)和语言模型224输出(h
tpre
)。联合网络226的输出是输出z
t,u
,其进一步通过线性变换被连接至输出层。对每个输出令牌的最终后验是应用softmax运算230来获得的。损失函数被给出为l=-ln p(y|x),其中“y”是给定输入声学特征序列“x”的输出标签序列。
48.在一些实施例中,模型201配置有用于每10毫秒的语音的80维对数mel滤波器组的堆栈,以形成640维输入声学特征的帧,作为与给声学模型222的输入相对应的声学特征(x
t
)。应当领会,模型可以被配置为附加或替代的配置、参数和维度。在一些实施例中,声学模型222(也被称为编码器网络)包括5层的层归一化长短期存储器(lstm),每层处有384个隐藏单元。在一些实例中,联合网络的输出是384维向量,但是输出可以包括适合于应用softmax层230的任何向量。声学模型222的输入特征根据经定义的时间索引(例如,每30毫秒)来被移位。输出单元(h
tenc
)是上下文无关的音素。
49.svd重建被应用于联合网络的输出,以减小模型的大小且准确度损失忽略不计。因而,在一些实施例中,模型201是rnn-t svd种子模型,首先在基线训练数据(参见图1,基线训练数据142)上被训练,且接着利用新的tts训练数据(参见图1,新的tts训练数据160)被修改。
50.在一些实施例中,模型201或201的子模型(例如,声学模型222、语言模型244、和/或联合网络226)被配置为连接时序分类(ctc)模型或能够通过在tts数据上进行训练而自适应的其他模型。
51.在一些实施例中,学习速率基于关键词相关的自适应任务来被调谐。在一些实例中,关键词相关模型自适应的学习速率小于被用于模型的基线训练的学习速率。
52.在一些实施例中,针对每个自适应或训练任务来采用模型的选择性自适应。在一些实施例中,语言模型224或预测网络被冻结在种子模型201中。在一些实施例中,声学模型222或编码器网络被冻结在种子模型201中。在一些实施例中,声学模型222的两个底部层被冻结在种子模型中以重新训练从在基线训练数据(参见图1的基线训练数据142)上训练的种子模型习得的因特征而异的权重,而声学模型222的其余层使用新的tts训练数据(参见图1的新的tts训练数据160)来自适应。
53.为了避免过拟合,在一些实施例中,自然语音训练数据(参见图1的基线训练数据142)与经合成的语音训练数据(参见图1的新的tts训练数据160)相混合以训练和/或修改模型201。经合成的语音和自然语音之间的比率取决于模型201的所需修改而变化。在一些实施例中,在其中经合成的语音数据的数量远大于自然语音数据的数量的情况下,加权被应用于自然语音数据以平衡上述比率。与来自测试原始训练的种子模型(参见图1的经训练的主模型120)的正确接受(ca)评分相比,对数据进行混和取得了更高的ca评分(尤其是在针对自定义关键词修改模型的情形中)。
54.现在将注意力转向图3,图3解说了与用于利用tts数据修改模型以供语音识别的方法(例如,方法300)相关联的动作的流程图300。这些方法包括,例如,计算系统(诸如图1的计算系统100)标识经训练的主模型(动作310),其可例如对应于图1的经训练的主模型120和/或图2的模型201。在一些实施例中,经训练的主模型可以对应于被配置成用于语音识别的另一模型,例如,在经由本文中所公开的用于快速说话者适配的技术而被适配的模型中。
55.接下来,计算系统获得新的tts训练数据(动作320),其可以例如对应于图1的新的tts训练数据160和/或本文中所描述的其他tts数据。
56.接着,计算系统将并发地或串行地执行修改经训练的主模型的声学模型的动作(动作330)和/或修改经训练的主模型的语言模型的动作(动作340)。在一些实施例中,声学
模型和语言模型对应于图1的声学模型122和语言模型124和/或图2的声学模型222和语言模型224。
57.用于关键词检出的模型自适应
58.图4解说了与用于利用tts数据修改模型的方法(例如,方法400)相关联的动作的流程图400,该tts数据是针对在可用的自然语音数据中代表不足的关键词而获得的。这些方法包括,例如,计算系统(诸如图1的计算系统100)用于标识经训练的rnn-t主模型(动作410),其可例如对应于图1的经训练的主模型120和/或图2的模型201。
59.如所解说的,图4的方法开始于计算系统接收自定义关键词(动作420)。在一些实施例中,关键词对应于图7的关键词712、可能在图8的语音命令800中找到的关键词(参见图9的逻辑门912)、和/或图9的关键词940。接下来,计算系统确定在先前动作(动作420)中接收到的关键词可以是被确定为在基线训练数据中代表不足的关键词(动作430)。基线训练数据是被用来训练在方法400的第一动作(动作410)中被标识的模型的数据。(有关确定关键词代表不足的进一步信息,请参见图5的描述)。在一些实施例中,基线训练数据对应于图1的基线训练数据142。
60.在确定关键词代表不足(动作430)之后,计算系统获得针对该关键词的新的tts训练数据(动作440)。在一些实施例中,新的tts训练数据对应于图1的新的tts训练数据160和/或本文中所描述的其他tts数据。
61.接着,计算系统利用新的tts训练数据修改经训练的rnn-t模型(动作450)。任选地,计算系统将经修改/训练的rnn-t模型部署为被安装在启用语音的设备上或由启用语音的设备利用的kws系统的一部分(动作460)。接着,由经修改/训练的rnn-t模型检测到的关键词被配置为“唤醒词”,以“唤醒”或激活启用语音的设备(例如,激活用于虚拟个人助理任务实现的自动语音识别)。
62.现在参考图5,示出了数据图表501,其解说了根据置信评分530的尺度映射的多个关键词(510、520)。特定词的置信评分530可被用作用于确定kws系统将能够准确地识别这些特定关键词(当由kws系统检测到时)的可能性的基础。附加地或替代地,置信评分530可被用作用于确定通用或专用asr系统将能够准确地识别特定词或短语(当由asr系统检测到时)的可能性的基础。在一些实施例中,置信评分530被计算以反映与置信评分相关联的对应词/关键词的正确接受(ca)的测量,其中ca是被正确接受的话语的数目与包含这些关键词的话语的总数的比率,通常以百分比报告。因而,在一些实施例中,如果关键词对应于低ca,则该关键词被确定为在基线数据中代表不足。对于原本很强的基线模型(即,针对可被用作关键词的大多数词经良好训练的模型),关键词的ca低可能意味着该模型无法学习以检测代表不足的关键词,因为该模型没有在该特定关键词的足够训练数据上训练。
63.在一些实施例中,置信评分530对应于错误接受(fa)的测量。fa是不包含所考虑的关键词的被错误地接受了的话语的数目。在一些实施例中,置信评分530对应于错误拒绝(fr)的测量。fr是包含关键词并且应被接受而没有被接受的话语的数目。为了促成语音识别和/或关键词检出技术中的改进,可以通过增大ca、减小fa、和/或减小fr来降低关键词(或更广泛地,对于任何词)的检测误差。
64.在一些情形中,被用于测量ca的每关键词的测试集包括在干净(非嘈杂)环境以及嘈杂或至少较为嘈杂的两种环境中被记录的语音。噪声可以是与语音话语的呈现配对的环
境或人工噪声。为了测量fa,针对由被应用于从任意记录获得的一定量的自然语音数据(例如,播客数据)的模型错误地接受的目标关键词的话语的数目执行计数。为了确定关键词是低资源关键词和/或该关键词在基线训练数据中代表不足(参见图4的动作430),置信阈值在经训练的模型被应用于任何新数据集之前被预定义。
65.返回图5,置信阈值540用虚线例示在90%ca测量处。因而,具有小于置信阈值540的置信评分530的任何关键词被确定为在基线数据中代表不足。这可反映出例如没有包含关键词的话语的足够基线数据来提供足够高的ca百分比和/或置信评分以便在预定阈值处成为启用语音的设备的有效唤醒词。不同的kws和其他asr系统可以设置和/或使用不同的预定阈值。在一些实例中,对应于小于100%的置信评分(例如,ca测量)的任何关键词可被确定为在基线训练数据中代表不足。
66.当前,在所解说的示例中,置信评分被报告为范围从0到100的ca百分比,其中0表示0%ca,而100表示100%ca(即,100%的关键词话语被kws正确地接受了)。代表不足的关键词520的一示例基于90%的当前置信阈值540而由词16等示出。在被用来训练被配置成用于语音检测和/或语音识别的模型的基线训练数据中具有足够代表的关键词(例如,关键词510)的示例基于90%的当前置信阈值540而由例如词19等示出。
67.应当领会,ca、fa和fr可以在经合成的(tts)和自然语音数据以及tts和自然语音数据两者的组合上被测量。
68.在一些实施例中,本发明方案的所公开的各实施例被用来使用tts数据针对低资源关键词来改进ca。在一些示例中,kws系统中所使用的模型的性能成绩针对具有低训练资源的特定关键词来被达成。如上面提到的,在资源方面,收集用于特定关键词的更多自然语音训练数据以取得说话者多样性、数据量的水平、以及对所记录的数据执行后处理模拟以取得充分补充基线训练数据所需的数据的质量是昂贵的。在一些实例中,新的tts训练数据可以通过rnn-t模型或其他asr模型获得并且被用来修改rnn-t模型或其他asr模型。例如,参考图4,利用新的tts训练数据修改经训练的rnn-t模型的动作(动作450)是通过针对一个或特定关键词(诸如唤醒词或其他功能触发关键词)生成新的tts训练数据来被启用的,使得模型被修改和/或自适应,以便能够更准确地检测和接受(诸)特定关键词,新的tts训练数据针对(诸)特定关键词来被生成以执行基于检测到(诸)关键词的唤醒功能性或任何其他相关功能性。
69.生成tts数据
70.现在将注意力转向图6,图6解说了与用于生成新的tts训练数据的方法(例如,方法600)相关联的动作的流程图600。这些方法包括例如计算系统,诸如图1的计算系统100。计算系统获得具有指定关键词的实况查询的转录(动作610)。在一些实施例中,新的tts训练数据对应于图1的新的tts训练数据160。在一些实施例中,实况查询的转录对应于图7的经编辑的实况查询转录736。
71.在一些实施例中,实况查询的转录包括在经转录的音频数据的每个说出的短语或分段的开头处具有指定和/或先前利用的关键词的经转录文本。最佳做法是匿名化并从数据中移除所有个人可标识信息,之后将其用于生成tts数据。在获得实况查询的转录的一些示例中,选择包括所指定的关键词“cortana”的话语的查询。只有包括所指定的关键词“cortana”的仅一个话语的转录被接受。这些转录接着通过移除不需要的字符(诸如,非
ascii字符)来被整理。有时,存在具有重复模式的若干个实况查询,诸如“cortana call mom(小娜,给妈妈打电话)”和“cortana call dad(小娜,给爸爸打电话)”。在一些实施例中,对于每重复模式,随机地挑选一个查询,而其余的查询被丢弃。由于正确的标点符号对于tts系统获得正确的韵律是重要的,因此针对所选的每个查询来审阅和/或改正标点符号(例如,通过使用手工制作的语法规则)。在一些实施例中,一定数目(例如,前10000个)查询基于其在基线训练数据中的出现频率而被选择。
72.接下来,计算系统用自定义关键词替换转录中的所指定的关键词(动作620)。在一些实施例中,自定义关键词对应于图4中的方法400的动作(动作420),其中自定义关键词对应于“接收自定义关键词”。附加地或替代地,自定义关键词对应于图7的关键词712和/或图9的关键词940。对于一些示例,其中“cortana”是指定的关键词,而“olivia”是自定义关键词,包括“cortana call mom”的转录被编辑为“olivia call mom(olivia给妈妈打电话)”。现在参考动作(动作630),使得在计算系统用自定义关键词替换转录中的所指定的关键词(动作620)之后,计算系统根据经编辑的转录生成新的tts训练数据(动作630)。在一些实施例中,现在包括由该关键词替换的所指定的关键词(动作620)的经编辑的转录被输入到tts系统,该tts系统输出与经编辑的转录相对应的波形和/或音频数据。(参见图7。)在一些实施例中,根据经编辑的转录生成的新的tts训练数据对应于图1的新的tts训练数据160和/或本文中所描述的其他tts数据。在一些实施例中,该新的tts训练数据(参见动作630)是在方法300(参见动作310)和/或方法400(参见动作440)中获得的新的tts训练数据。
73.现在参考图7,示出了用于生成和获得tts数据的不同过程的流程图。中央组件被示为神经tts系统750,其被配置成接收包括来自各种源的脚本的输入740。在一些实施例中,神经tts系统750对应于图9的tts系统950、图11的神经tts 1150、和/或图12的神经tts 1250。神经tts系统750利用对应的脚本生成音频、波形、和/或经合成的语音数据760。在一些实施例中,经合成的语音数据和脚本的输出760对应于图1的新的tts训练数据160、针对关键词的tts数据960、tts语音、来自图11的脚本1160、图12的波形1274、和/或对应于本文中所描述的用于获得新的tts训练数据的方法(图3的方法301、图4的方法401等)。
74.输入脚本740可以从各种源生成,例如,随机文本732、内容相关文本734、经编辑的实况查询转录736(参见图6的方法601)、随机转录730、和/或经转录的音频或基于文本的通信的其他合适源。随机转录730可以从来自包括电视节目、播客、电影、和/或无线电脱口秀等的各种源的转录音频数据来获得。附加地或替代地,随机转录730是从书籍、报纸、杂志、博客、和/或网页等获得的。在一些实施例中,神经语言生成器(nlg)720被用来生成随机文本732和/或内容相关文本734。nlg 720被配置成接收包括关键词712、随机短语714、和/或语音数据标签716的初始文本输入710。在一些实施例中,nlg 720可以对应于例如图11的神经网络语言模型(nnlm)1140。在一些实施例中,关键词712对应于图9的关键词940和/或在图4的方法401的动作420中接收到的自定义关键词。在一些实施例中,语音数据贴标签716对应于图11的标签1122。
75.在一些实施例中,nlg 720被配置为具有对应的集束搜索算法以生成与内容相关的目标文本的lstm语言模型。例如,每个句子和/或短语(即,关键词712、语音数据贴标签716)被提供作为给nlg的提示,以生成提示的各种延续。多样性约束在集束搜索期间被应用,包括惩罚重复的令牌、限制以相同二元语法(bigram)结尾的集束的数目、以及防止集束
内的n元语法(n-gram)重复。在一些实施例中,语言模型的词汇大小为59k bpe令牌和三个ltsm层,总共有220m个参数。nlg 720通常被训练,以收敛于从web爬取检索到的段落级数据的3b词。
76.nlg 720能够从目标文本输入生成完整的句子、短语、词、词对和/或其他音素序列,以生成内容相关文本。随机文本732是指使用了给nlg 720的随机短语714或随机输入文本的文本。内容相关文本734是指由nlg 720生成的与特定主题或语音类型有关的和/或被个性化为说话者的典型词汇和会话主题或典型语音命令的文本。例如,由nlg 720从关键词712输入生成的文本被认为是内容相关文本734,因为作为输出生成的文本是与关键词相关或有关的(即,其生成通常将使用关键词712的文本)。输出的随机文本732或内容相关文本734可接着被用来从神经tts系统750生成经合成的语音数据760。
77.在一些实施例中,经合成的语音数据760包括来自320个说话者的tts数据。例如,音频针对每说话者10k查询的转录被生成,从而允许对150k话语(在一些实施例中,每关键词712 150k话语)的收集。tts数据被传递通过数据模拟和预处理步骤,在某些实施例中,这使每关键词712的话语量加倍。
78.为了解说文本是如何作为输出从nlg 760生成的示例,参见以下示例:
79.系统接收输入:
80.and you have to do a lot of computation there(而且您必须在此进行大量计算)
81.该系统使用数据模拟来生成众多相关输出:
82.and you have to do a lot of computation there if you want to(而且您必须在此进行大量计算,如果您想要的话).
83.and you have to do a lot of computation there if you’d like to learn more(而且您必须在此进行大量计算,如果您想学习更多的话).
84.and you have to do a lot of computation there in order for it to work properly(而且您必须在此进行大量计算以使其正确地工作).
85.等等
……
86.利用tts数据改进置信评分逻辑
87.在一些自定义关键词服务底层的设备建模技术是利用数万小时的关键词无关数据进行训练的rnn-t模型。在用于确定关键词是否在接收到的语音命令中被检测为模型的输入的解码过程期间,为针对该关键词自定义系统,针对该关键词构造解码图。图中的路径对应于其发音。应用标准集束搜索对图进行解码得到关键词的解码评分或置信评分。置信评分与预定义阈值进行比较,以决定关键词是否在语音命令中被检测到。通常,预定义阈值在所有关键词之间被共享。然而,在关键词自定义的模型的评估期间,发现解码或置信评分的分布逐关键词而变。因而,使用关键词无关的全局置信阈值作为逻辑门的一部分是不实际的,该逻辑门将所计算的关键词相关置信评分与全局阈值进行比较以确定关键词是否在语音命令中被检测到。
88.现在参考图8,示出了过程流程图801,其包括与用于使用关键词检出系统810在语音命令800中检测一个或多个关键词(参见逻辑门812)的方法相关联的过程和组件。关键词检出系统810包括经修改的主模型830,其包括经修改的声学模型832和经修改的语言模型
834。在一些实施例中,经修改的主模型830对应于图1的经修改的主模型120。可能包含关键词的语音命令800由经修改的主模型830来分析。结果802被发送至集束搜索解码器804。
89.在一些实施例中,集束搜索解码器804确定与由经修改的声学模型832接收到的语音命令800相对应的音频特征对应于关键词的话语的可能性。在一些实施例中,集束搜索解码器804实现启发式搜索算法,该启发式搜索算法通过在有限集中扩展最有前景的节点来探索图。在一些实施例中,仅预定数目的最佳部分解被集束搜索解码器804保留为候选。附加地或替代地,集束搜索解码器804被配置为在可能发音的图上操作的令牌传递(token-passing)解码器。
90.在一些实例中,针对关键词计算置信评分806,其中置信评分806表示语音命令800包括关键词的可能性或概率。在一些实施例中,置信评分806根据全局置信评分阈值被归一化,从而得到针对关键词的经归一化的置信评分808。该经归一化的置信评分808与全局置信阈值进行比较(参见逻辑门812),以确定关键词被检测到(在经归一化的置信评分超过全局置信评分阈值的情形中,参见检测到关键词816),或者确定无关键词被检测到(在经归一化的置信评分不超过全局置信评分阈值的情形中,参见未检测到关键词814)。在一些实施例中,置信阈值由用户定义。在一些实施例中,置信阈值由计算系统、机器学习模型、或其他基于规则的确定来确定。
91.在一些实施例中,确定关键词被检测到(参见检测到的关键词816)致使语音命令800被发送至自动语音识别(asr)820系统。在一些实施例中,语音命令800内的关键词的检测或接受激活其中asr系统820与kws系统一起被容纳的启用语音的设备。asr系统820被配置为解释语音命令并确定被容纳在启用语音的设备中的服务或动作要被执行(例如,通过虚拟个人助理)。例如,在其中“olivia”是被用来“唤醒”或激活启用语音的设备的关键词的实施例中,kws系统810接收诸如“olivia,call mom”等语音命令800。在kws系统810正确地检测到关键词的情形中(参见项816),用于“olivia,call mom”的语音命令800被发送至asr系统820。asr系统820接着分析语音命令800,并确定被容纳在启用语音的设备上的虚拟助理将“call mom(打电话给妈妈)”(即,访问用户的联系人,选择联系人“mom(妈妈)”,并拨打与联系人“mom”相关联的电话号码)。
92.在一些实施例中,kws系统810和asr系统820是分开的系统。在一些实施例中,kws系统810和asr系统820是利用同一经修改的主模型830的组合系统。在一些实施例中,对应于图1的经训练的主模型120的经训练的主模型被使用以代替经修改的主模型830。
93.在一些实施例中,置信评分806与关键词相关置信评分阈值而不是全局置信评分阈值进行比较,以确定关键词在语音命令800中被检测到(参见逻辑门812)。全局置信评分阈值被定义为关键词无关的。根据其归一化所计算的关键词相关置信评分的全局置信评分尺度是基于针对多个不同关键词计算出的多个置信评分的归一化。
94.在包括全局置信评分阈值的实施例和包括关键词相关置信评分阈值的实施例中,通常使用两个评估数据集。第一集合包括用以确定给定阈值的关键词回想率(ca评分)关键词话语。第二集合包括如下话语:这些话语不包括用以确定关键词错误警报率(fa评分)的关键词话语。
95.在一些实例中,对于任何给定的关键词,kws系统810包括高ca评分和低fa。置信评分阈值(全局和/或关键词相关)是预定义的。如果置信评分阈值被提高,则fa评分降低,有
时以较低的ca评分为代价(例如,被接受的关键词将通常被分类为被正确地接受的关键词,但语音命令800中实际存在的某些关键词被错误地拒绝了,因为它们没有满足阈值所定义的高的值)。如果置信评分阈值被降低,则较高数目的关键词将被检测到并接受,但是有时这将增加其中关键词被确定为被检测到但实际上没有被包括在语音命令800中的fa评分。
96.第一集合通常在时间和金钱方面收集起来是昂贵的,因为来自大量多样的说话者的大量话语必须被记录以确保关键词的检测在说话者无关的kws系统810上正确地发生。(在一些实施例中,kws系统810和/或asr系统820是针对说话者而个性化的。在一些实施例中,kws系统810和/或asr系统820被训练为说话者无关的。)
97.所公开的各实施例涉及生成和使用tts数据来扩充、补充和/或替换包括关键词的话语的第一数据集的一部分或全部。在一些实施例中,在kws和/或asr系统中使用的模型由tts数据修改(参见经修改的主模型830)。因而,在自适应中使用的tts数据和在模型的评估中使用的tts数据被配置为不相交的,以消除模型的评估的偏差。在一些实施例中,与多说话者神经tts系统相关联的数个说话者(例如320个说话者)以80:20的比例分开,其中80%的说话者被用来生成用于模型自适应或用于修改模型的音频或经合成的语音数据,且20%的说话者被用来生成用于评估的音频或经合成的语音数据。在一些实施例中,被用来生成经合成的语音数据的转录的内容也在模型自适应和模型评估任务之间被划分。在一些实施例中,不同的tts系统被用来生成用于自适应和评估任务的数据。例如,神经tts系统可被用于自适应数据生成,并且统计参量语音合成系统或单元串联系统可被用来生成用于评估的数据。
98.使用tts数据来进行发音学习
99.如上面所描述,在解码期间,针对特定关键词(例如,针对在被用来训练模型的训练数据中代表不足的关键词或由用户选择的其他关键词)构造解码图。前述解码规程包括若干限制。首先,解码中所使用的发音对于一些关键词可能不准确。在一些系统中,发音是经由字典查找或查找表(lut)生成的。如果关键词在字典或lut中没有被找到,则字母到声音模型可以被采用以生成发音。然而,如果关键词是少见的(代表不足的关键词)并且其发音在字典中找不到,则字母到声音模型可能无法给出准确的发音。即使正确的典范发音可以经由字母到声音模型来获得,用户也可能以非典范的方式发音该关键词(例如,用户带有口音说话和/或用户以对于模型而言在关键词被说出时很难检测并考虑关键词中的一些音素的很快的语速说话)。
100.所公开的各实施例涉及生成和使用tts数据以直接学习发音。在一些实施例中,被用于关键词检测的模型不必在tts数据上被重新训练就能在正确标识语音命令中的关键词时是有效的。
101.现在参考图9,示出了关键词检出系统910,其包括经修改的主模型930。在一些实施例中,关键词检出系统910对应于图8的关键词检出系统810。经修改的主模型930包括经修改的声学模型932和经修改的语言模型934。在一些实施例中,经修改的主模型930对应于图8的经修改的主模型830。可能包括关键词的语音命令900由经修改的主模型930来接收。在一些实施例中,语音命令900对应于由图8中的语音命令800表示的语音命令。来自经修改的主模型930的结果902被发送至集束搜索解码器904,其中在一些实施例中,结果902对应于图8的结果802,并且集束搜索解码器904对应于图8的集束搜索解码器804。
102.在一些实施例中,被指定为目标关键词的关键词940(可能包括在语音命令900中的关键词)由tts系统950接收。在一些实施例中,tts系统950对应于由图1的tts系统150、图7的神经tts系统750、图11的神经tts 1150、和/或图12的神经tts 1250表示的tts系统。返回到图9,关键词相关tts数据960由tts系统950生成。解码图970根据针对该关键词的tts数据960被构造。解码图970包括至少一个自由音素循环972(参见图10)。如本文中所描述的计算系统使用rnn-t模型980和tts数据960对来自自由音素循环的音素序列进行解码。在一些实施例中,计算系统对应于图1的计算系统100。在一些实施例中,主模型对应于主模型110、经训练的主模型120、或经修改的主模型130。
103.经解码的音素序列990对应于关键词的发音。一旦音素序列被解码,计算系统便基于频率计数执行发音投票和选择,并将所选择的关键词发音添加到用于该关键词的基础或主解码图。
104.集束搜索解码器904使用来自经修改的主模型930和解码图970的结果。解码图970由关键词的发音构成,其包括来自上述发音学习步骤的经解码的音素序列和/或从发音法中向其添加了典范发音。置信评分906表示语音命令900包括关键词940的概率或可能性。置信评分906与置信评分阈值进行比较(参见逻辑门912)。关键词在置信评分906超过预定义阈值时被检测到(参见项916)。关键词在置信评分906没有超过预定义阈值时未被检测到(参见项914)。
105.在一些实施例中,置信评分906对应于图8的置信评分806,并且被进一步归一化至全局置信评分尺度。因而,在一些实施例中,置信评分906是经归一化的置信评分。在一些实施例中,逻辑门912对应于图8的逻辑门812,其中阈值被配置为全局阈值或关键词相关阈值。在一些实施例中,使用tts数据针对关键词的发音学习不需要模型的重新训练,并且可以利用通用声学模型。因而,在接收自定义关键词与生成kws中所使用的自定义关键词模型之间的等待时间被降低。该模型可以通过svd被进一步压缩和量化(例如,按权重量化至8位、16位等),以在低功耗硬件上运行。在一些实施例中,经修改的声学模型932经由nn层量化、帧跳跃、帧堆叠、svd、和/或帧批处理来压缩。声学模型可以与背景语言模型(blm)结合使用。在一些实施例中,经修改的声学模型932被配置成接收音频特征并产生其中音频特征对应于音素的一系列概率向量。
106.预期到,kws系统810或910可以被部署在许多类型的启用语音的设备上,包括膝上型设备、计算机、终端、移动电话、平板、智能手表、数字音乐播放器、服务器、智能扬声器、和/或虚拟个人助理设备。包括人类用户和/或计算机用户的用户可以生成语音命令900。
107.图10a解说了具有关键词(例如,“计算机”)的发音的解码图1001的一个示例。在一些实施例中,解码图1001对应于图9的经解码的音素序列990。关键词计算机可以具有若干种不同的发音。音频被解构成被串行地分析的各个个体音素。音素序列被从与关键词“计算机”的一个发音相对应的自由音素循环中解码。从音频中提取的音素“k”(参见k 1010)被确定为对应于发音k(2)。音素ax 1012被确定为对应于发音ax(3)。音素序列针对结果导致computer(计算机)1020的发音的音素1010、1011、1012、1013、1014、1015、1016、1017、1018和1019来被类似地解码,该发音被用来确定关键词“computer”是否在给关键词检出系统的语音命令的音频中被检测到。在一些实施例中,解码图以空白(0)音素开始,使得关键词仅在沉默之后或者当在短语开始处被说出时被检测到。
108.图10b解说了自由音素循环1002的一个示例。在一些实施例中,自由音素循环1002对应于图9的解码图970中的自由音素循环972。图10b解说了自由音素循环1002,其被示出为在循环中具有平行路径(例如,路径1040、1050),诸平行路径各自表示英语音素。每个音素(例如,1030、1032、1033、1034)被允许利用跳回循环(例如,路径1042)“跳跃”至任何其他音素。因而,该循环或图被允许生成任何音素序列,其中所示的自由音素循环是一示例实施例。在一些实例中,权重和/或约束被施加在该图的部分或全部上。在解码期间,给定包含关键词的音频作为输入,该图将生成该关键词的最匹配的音素序列。例如,对于关键词“computer”,解码音素序列可以被确定为“k-ax-m-p-y-uw-t-ax-r”。在一些实施例中,该解码音素序列对应于图9的经解码的音素序列990。
109.个性化的tts数据生成
110.现在参考图11,示出了用于使用神经网络语言模型(nnlm)生成器1140、说话者嵌入1130和神经tts系统1150的模型自适应的系统架构1101。在一些实施例中,nnlm生成器1140对应于图7的nlg 720,说话者嵌入1130对应于图12的说话者嵌入1220,和/或神经tts系统1150对应于图12的神经tts 1250、图9的tts系统950和/或图1的tts系统150。
111.针对特定说话者提供自适应数据1110。对于快速说话者自适应中的应用,该自适应数据1140包括从该特定说话者记录的1至10分钟(或另一量)的自然语音数据。贴标签被应用(参见应用贴标签1120),其中贴标签或缩短的标签1122被用作nnlm生成器1140的输入。贴标签可以经由对自适应数据的人类转录或经由模型的第一遍解码来被应用。nnlm生成器1140根据与自适应数据1110相对应的标签1122输出目标脚本1142。在一些实施例中,标签1122对应于图6的语音数据标签716,并且目标脚本1142对应于图7的内容相关文本734。神经tts 1150使用目标脚本1142来生成tts语音和脚本1160。在一些实施例中,来自自适应数据1110的自然语音和对应的标签1124与tts语音和对应的脚本1160相混合,以用作用于模型自适应1170的训练数据。
112.在来自适配数据的贴标签716被用作nnlm生成器1140的输入的情况下,目标脚本1142是对特定说话者个性化的内容相关文本,因为其包含通常由该特定说话者使用的内容主题、论题、词汇和一般方言(例如,音素和/或音素序列)。在一些实例中,贴标签716对应于来自适配数据的字素、音素序列、词片段、和/或词序列。
113.在一些实施例中,神经tts 1150是个性化的(即,与新的说话者适配),其中神经tts 1150根据说话者嵌入1130生成tts语音和脚本1160,并根据自适应数据1110生成标签1122。附加地或替代地,来自随机对话文本的随机脚本1152被用作给神经tts 1150的文本输入,以生成tts语音和脚本1160。说话者嵌入1130被配置成从说话者潜在空间提取说话者数据。在一些实施例中,说话者潜在空间与被用来训练在关键词检出或语音识别应用中(例如,在种子模型针对特定说话者的快速说话者适配中)所使用的种子模型的基线训练数据相关联。
114.在一些实施例中,关于模型自适应1170,kullback-leibler(kl)-散度正则化模型自适应被采纳用于基线训练,以防止灾难性的遗忘和过拟合。对于自适应结构,原始模型的不同组件或附加的子空间因说话者而异的网络组件被比较。当与没有kl-散度正则化的标准模型自适应相比,线性投影层子网自适应产生更具竞争性的性能。
115.在一些实施例中,基线模型是从数万小时的语音中训练的双向lstm。在一些实施
例中,模型具有六个双向lstm层,继以全连通顶部层。每个层可具有多达2048个或更多的隐藏单元。例如,输入可以是80维对数滤波器组特征。输出层可以具有10k senone状态。在一些实施例中,说话者自适应任务包括六个说话者(三个母语者和三个非母语者),每个说话者具有用于训练的10分钟(或另一量)的自适应数据和用于测试的20分钟(或更多或更少)的数据。应当领会,说话者自适应任务可以包括具有母语与非母语说话者的任何比例的任意数目的说话者。而且,在一些实施例中,用于训练和测试的数据量也将变化。
116.在一些实施例中,kl-正则化的子网自适应被放弃,并且过拟合通过将经合成的个性化语音与原始语音相结合而被避免。应当领会,在各种实施例中,不同数量的经合成的语音与不同数量的原始语音相组合,以容适不同所需自适应任务的不同需求和偏好。例如,在一些实施例中,原始语音用预定因子加权(例如,原始语音用10或5(或另一数量)加权,诸如分别用于原始自适应数据的1分钟和10分钟(或另一数量)。在一些实施例中,仅经合成的语音被用于模型自适应。在一些实施例中,在tts数据(即,经合成的语音数据)被生成之后,数据选择和/或数据过滤基于经合成的语音数据的质量来被采用。
117.数据稀疏性是快速说话者自适应中的主要障碍。具有极少量数据的自适应趋向于导致模型对自适应数据1110的过拟合。在一些实施例中,用噪声和说话速率扰动来扩充自适应数据1110。然而,数据模拟(如噪声和说话者速率扰动)没有克服自适应数据1110中有限的语音学覆盖的限制(其中自适应数据1110小于10分钟的说话者数据)。利用个性化的经合成语音可以灵活地生成具有包括相关内容(参见目标脚本1142)的丰富语音学覆盖的任意语音(参见tts数据、脚本1160)。
118.示例tts系统
119.tts系统通常包括在两个阶段中操作的组件。首先,前端或文本分析(其将输入文本转换成发音的表示(例如,音素序列,本质上是系统要说的事物)和其他语言学信息以用于描述对应的韵律(例如,告知系统如何说文本的信息)。其次,后端或合成器将从前端输出的语言学信息转换成语音数据。
120.前端包括许多自然语言处理(nlp)组件,包括断句和断词器、文本标准化、pos标签器、发音模型(词典)、韵律预测器等其他组件。在一些实施例中,基于规则和基于机器学习的方法被使用。
121.后端可以被分类成两个部分。首先,统计参量语音合成被使用,其中声学模型首先针对给定的语言学信息预测声学轮廓(频谱和激励)。声码器被用来合成语音,其中该声码器本质上模拟自然人类语音的产生过程。其次,单元串联系统被使用,其中训练数据的记录语料库被拆分成小的分段或单元。最佳单元根据输入语言学信息被找到,并且系统将这些单元进行串联以形成语音片段。声学模型被用于通过考虑目标成本和串联成本两者连同信号处理模块来引导单元选择以减少诸连续单元之间的不连续性。所使用的一些模型包括dnn、lstm和hmm-gmm模型。
122.虽然如上面所描述的tts系统实现了语音的可懂度和良好的自然性,但是就声音质量(清晰度和保真度)和韵律自然性而言,在经合成的语音和自然人类语音之间的差距仍是显著的。参量语音合成通常在声学模型中遭受过度平滑的困扰,并在声音编码阶段中被以“蜂鸣效应”来表征。单元串联系统即使利用训练数据的非常大的记录语料库也会引入不连续性,并且可导致经合成的语音中的所谓“颤动”。当前的tts系统需要预定义的韵律模
式、用于模型训练的手动贴标签、以及分开的韵律预测和实现,这导致与自然人类语音相比,经合成的语音中的韵律在自然性方面的差距。而且,分段化的工程过程导致沉重的开发成本。
123.为了克服常规tts系统中的限制,所公开的各实施例包括或利用神经tts系统。由于tts是序列到序列映射问题(例如,文本输入映射到语音波形)的应用,因此可以使用神经网络(nn)以更强大且更直接地对序列映射建模。首先,在用于波形生成的一些实施例中,扩张卷积网络被级联以在自回归中对语音样本的长序列建模。诸nn采用具有丰富非线性的跳跃和残差连接以及目标函数来模拟真实语音分布。
124.参照图12,用于神经tts 1250的系统被示出作为具有不同过程和组件的过程流程图的一部分,这些不同过程和组件用于利用说话者嵌入1220来训练神经tts 1250。示出了神经tts 1250,其包括具有编码器1262、解码器1266和注意力1264的频谱预测器1260。还示出了具有声码器1272单元的神经声码器1270。包括字素或音素序列1252的数据被馈送作为频谱预测器的输入,该频谱预测器将输入文本转换成mel-频谱数据。这接着被输入到神经声码器1270,该神经声码器1270以mel频谱数据为条件来生成波形。神经声码器的输出是语音波形1274数据。在一些实施例中,神经声码器是wavenet声码器。
125.说话者嵌入1220被引入,以在训练期间池化多说话者数据,以供高效生成新说话者的个性化语音。在一些实施例中,多说话者数据包括至少30名专业的美式英语说话者和多于200小时的语音学丰富的记录以训练模型。在一些实施例中,该多说话者数据对应于图1的非合成的说话者数据140。频谱预测器1260在给定一些配准数据(例如,说话者波形参考1212或说话者id 1216)的情况下与每个目标说话者相适配。在说话者波形参考1212被获得的情况下,说话者编码器1214用于将说话者波形参考1212编码到说话者嵌入1220中,以使频谱预测器1260与说话者相适配。在说话者id 1216被获得的情况下,说话者嵌入表1218被利用以用来自说话者嵌入表1218的说话者信息来配置说话者嵌入1220,以使频谱预测器1260与由说话者id 1216标识的说话者相适配。在一些实施例中,神经声码器1270是利用同一多说话者数据语料库而不带自适应地训练的通用wavenet模型。
126.前端和声学模型两者由具有注意力1264机制(其与神经机器翻译系统非常类似)的编码器1262-解码器1266架构联合建模。频谱预测器1260可以将任务视为从文本(例如,字素或音素序列1252)到语音的频谱表示的翻译任务。
127.鉴于本公开,将领会到,以所描述的方式使用基于rnn-t/lstm的编码器-解码器有助于声学预测中的改进,以包括比常规tts系统更自然的韵律。例如,在用于频谱预测器1260和对应的神经tts 1250的这种框架中,不需要预定义的韵律模式,并且韵律预测(历时和音高轮廓)与频谱预测一起联合在具有单个目标函数的端到端模型中。而且,通过组合频谱预测器1260和神经声码器1270,使得神经tts 1250能够通过提供高质量的经合成的语音来克服传统tts系统和方法的限制,该高质量的经合成的语音达到了接近经录制的自然人类语音的可懂度和自然性的可懂度和自然性。
128.附加地,利用有限数量的自适应数据(参见图11的自适应数据1110),神经tts 1150可以被个性化为说话者语音的声学和语言特征(声音和内容),如所描述的。通过重复该过程,神经tts 1150被配置为多说话者神经tts系统,其可以为大量的说话者生成经合成的语音并用于提供大量的tts训练数据。
129.伪监督式模型训练
130.通常,模型训练可以被分成两类:监督式训练和无监督训练。返回图11,取决于所应用的贴标签的类型(参见应用贴标签1120),模型自适应1170被分类为无监督或监督式训练。在标签1122被从自适应数据1110的人类转录生成的情况下,模型自适应1170对应于监督式训练。在标签1122被从第一遍解码生成的情况下,模型自适应1170对应于无监督训练。不完善的监督是无监督自适应的根本挑战。
131.所公开的各实施例包括用于对使用未贴标签的语音进行模型自适应1170进行修改的系统、设备和方法。代替直接使用未贴标签的语音以进行自适应(例如,自适应数据1110作为模型自适应1170的唯一输入1124),自适应数据1110被用来训练说话者嵌入1130以供个性化语音合成。可能的转录误差(诸如经由第一遍解码引入的误差)可能在说话者嵌入1130期间发生。然而,这些误差未被转换成经合成的语音中的显式误差。相反,任何误差均被呈现为可感知或不可感知的次要语音失真,这将不会导致在模型自适应1170期间的灾难性的梯度更新或过拟合。
132.将领会到,与生成和使用tts数据来将神经tts系统个性化有关的所公开的各实施例提供了许多益处,包括以下益处:首先,它们通过利用附加的经合成的语音来缓解快速自适应中的普遍数据稀疏性问题。其次,他们通过将训练转换为伪监督式训练来规避无监督自适应中显式贴标签误差的障碍。
133.附加地,当与在无监督和监督式训练两者中通过至少利用针对个性化语音合成而训练的说话者嵌入1130(参见图12的说话者嵌入1210)达成的词误差率(wer)相比时,图11的过程流程图中所解说的过程1101的实现产生了相对wer降低。例如,nnlm 1140被用来生成目标1142和/或随机文本(例如,随机脚本1152)以供语音合成。接着,经合成的语音(参见tts数据、脚本1160)被添加到原始数据(参见自然语音、标签1124),以用于监督式实现中的模型自适应1170。然而,在无监督自适应中,仅原始数据的第一遍解码结果被用于说话者嵌入1130、nnlm生成器1140、和声学模型自适应(例如,模型自适应1170)的训练。
134.利用前述实施方式实现了若干优点。首先,与具有噪声或说话者速率扰动的数据扩充不同,所公开的各实施例的实现可以在内容或数据量方面不受约束来生成任意个性化语音,因而从根本上减轻自适应数据1110中的数据稀疏性。其次,这些实施例可被用来通过引入个性化语音合成将无监督训练(从第一遍解码生成的标签1122)隐式地转换成伪监督式训练。因将贴标签1120应用于自适应数据1110而发生的任何误差通过说话者嵌入1130训练来被平滑,使得所呈现的经合成的语音1160很少表现出与其对应的文本或脚本1160的可感知到的失配。因此,当将经合成的语音1160用于模型自适应1170时,归因于来自第一遍解码的任何贴标签误差而导致的灾难性梯度更新(无监督训练失败的根本原因)可被避免。
135.所公开的各实施例可以包括或利用包括计算机硬件的专用或通用计算机,所述计算机硬件诸如举例而言,一个或多个处理器(诸如(诸)处理器102)和系统存储器(诸如硬件存储设备104),如下面更详细地讨论的。各实施例还包括用于承载或储存计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。以数据的形式存储计算机可执行指令的计算机可读介质是“物理计算机存储介质”或“硬件存储设备”。承载计算机可执行指令的计算机可读介质是“传输介质”。因而,作为示例而非限制,当前各实施例可以包括至少两个显著不同种
类的计算机可读介质:计算机存储介质和传输介质。
136.计算机存储介质(亦称“硬件存储设备”)是计算机可读硬件存储设备,诸如ram、rom、eeprom、cd-rom、基于ram的固态驱动器(“ssd”)、闪存、相变存储器(“pcm”)或其他类型的存储器,或其他光盘存储、磁盘存储、或其他磁存储设备,或可被用来存储计算机可执行指令、数据、或数据结构的形式的所需程序代码装置且可由通用或专用计算机(诸如计算系统100)访问的任何其他介质。
137.计算系统100还可以经由网络(经由有线或无线连接)连接至外部传感器(例如,一个或多个远程相机)或设备。例如,计算系统100可以与任何数目的设备或云服务通信以获得或处理数据。在一些情形中,网络本身可以是云网络。此外,计算系统100还可以通过一个或多个有线或无线网络连接至被配置成执行相关于计算系统100所描述的任何处理的远程/分开的(诸)计算机系统。
[0138]“网络”(如上面所描述的网络)被定义为允许在计算机系统、模块、和/或其他电子设备之间传输电子数据的一个或多个数据链路和/或数据交换机。当信息通过网络(硬连线、无线、或者硬连线和无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。计算机系统100将包括被用来与网络通信的一个或多个通信信道。传输介质包括网络,该网络可被用来以计算机可执行指令的形式或以数据结构的形式携带数据或所需的程序代码。此外,这些计算机可执行指令可以由通用或专用计算机访问。上述的组合同样应当被包括在计算机可读介质的范围内。
[0139]
计算机系统100还可被配置成访问位于计算机系统100外部的训练数据140的语料库。该语料库可被用来以较早描述的方式训练、进一步训练、调谐、或细化计算机系统100的主模型110。
[0140]
在到达各种计算机系统组件之际,计算机可执行指令或数据结构形式的程序代码资料可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,网络接口卡或“nic”)内的ram中,然后最终被传输到计算机系统ram和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
[0141]
计算机可执行的(或计算机可解释的)指令包括,例如使通用计算机、专用计算机,或专用处理设备执行某一功能或功能组的指令。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
[0142]
本领域的技术人员将理解,各实施例可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络pc、小型计算机、大型计算机、移动电话、pda、寻呼机、路由器、交换机等等。各实施例也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统各自都执行任务(例如,云计算、云服务等等)的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者
中。
[0143]
本发明可以以其他具体形式来体现,而不背离其精神或特性。所描述的实施例在全部方面都应被认为仅是说明性而非限制性的。从而,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的全部改变应被权利要求书的范围所涵盖。
当前第1页1 2 
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1