语音合成和语音识别
背景技术:1.语音合成(也称为文本转语音,tts)和语音识别(也称为自动语音识别,asr)是重要的语音任务,并且需要大量的文本和语音数据对来进行模型训练。然而,世界上有超过6000种语言。大多数语言都缺少语音训练数据,这使得很难为这些语言提供tts和asr功能,因为需要大量且昂贵的语音训练数据来确保所训练的tts模型和asr模型的准确性。
技术实现要素:2.根据本公开的实现,提出了用于语音合成和语音识别的方案。根据该方案,支持至少一种语言的语音合成(tts)模型和自动语音识别(asr)模型被获取。基于目标语言的第一组配对数据来调整该tts模型和asr模型,以支持目标语言。第一组配对数据包括来自多个说话者的目标语言的语音数据及其对应的文本数据。然后,基于第一组配对数据和该目标语言的第一组合成配对数据来优化该tts模型,同时基于第一组配对数据和该目标语言的第二组合成配对数据来优化该asr模型。第一组合成配对数据包括来自多个说话者的第一组语音数据和由asr模型基于第一组语音数据而生成的第一组文本数据,并且第二组合成配对数据包括第二组文本数据和由tts模型基于第二组文本数据而生成的多个说话者的第二组语音数据。以此方式,该方案能够利用较少的训练数据为缺乏训练数据的语言提供具有较高准确性的tts模型和asr模型。
3.提供发明内容部分是为了简化的形式来介绍对概念的选择,其在下文的具体实施方式中将被进一步描述。发明内容部分无意标识要求保护的主题的关键特征或主要特征,也无意限制要求保护的主题的范围。
附图说明
4.图1示出了本公开的实现可以在其中实施的示例环境的示意图;
5.图2示出了根据本公开的实现的模型训练设备的工作原理的示意性框图;
6.图3a示出了根据本公开的实现的tts模型的示例模型结构的示意图;
7.图3b示出了根据本公开的实现的asr模型的示例模型结构的示意图;
8.图4示出了根据本公开的实现的用于训练tts模型和asr模型的示例方法的流程图;以及
9.图5示出了能够实施本公开的多个实现的电子设备的框图。
10.这些附图中,相同或相似参考符号用于表示相同或相似元素。
具体实施方式
11.现在将参照若干示例实现来论述本公开。应当理解,论述了这些实现仅是为了使得本领域普通技术人员能够更好地理解且因此实现本公开,而不是暗示对本公开的范围的任何限制。
12.如本文所使用的,术语“包括”及其变体要被解读为意味着“包括但不限于”的开放
式术语。术语“基于”要被解读为“至少部分地基于”。术语“一个实现”和“一种实现”要被解读为“至少一个实现”。术语“另一个实现”要被解读为“至少一个其他实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
13.如上所述,语音合成(也称为文本转语音,tts)和语音识别(也称为自动语音识别,asr)是重要的语音任务。
14.tts的目标是根据文本合成可理解的自然语音。训练tts模型通常需要在专业录音室中收集的单个说话者的高质量录音。为了提高发音准确性,tts模型通常还需要发音词典将字符序列转换为音素序列作为模型输入,这被称为字素到音素的转换。另外,tts模型使用文本规范化规则将不规则单词转换为更易于发音的规范化类型。
15.asr的目标是根据语音序列生成正确的文本。训练asr模型通常需要来自多个说话者的语音数据,以使经训练的asr模型能够识别来自未知说话者的语音数据。用于训练asr模型的多个说话者的语音数据可以不需要具有像用于训练tts模型的语音数据那样的高质量,但是其数据量通常要大一个数量级。可选地,asr模型可以首先将语音识别为音素序列,然后像tts模型那样使用语音词典将其进一步转换为字符序列。
16.在传统方案中,针对具有丰富语音训练数据的语言(也称为资源丰富的语言)往往需要大量成对的语音和文本数据来训练tts模型和asr模型以获得高精度。例如,训练tts模型通常需要数十个小时的单个说话者的高质量录音及其对应文本(也称为“单说话者高质量配对数据”),而训练asr模型则需要至少数百小时的多个说话者的低质量语音数据及其对应文本(也称为“多说话者低质量配对数据”)。此外,针对资源丰富的语言,tts模型还可以利用发音词典来提高发音准确性。可选地,可以利用非配对的语音数据和非配对的文本数据来提高tts模型和asr模型的性能。
17.在传统方案中,针对缺乏语音训练数据的语言(也称为资源缺乏的语言),用于训练tts模型的单说话者高质量配对数据可以减少至数十分钟,而用于训练asr模型的多说话者低质量配对数据可以减少至数十小时。此外,针对资源缺乏的语言,常常利用非配对的语音数据和非配对的文本数据来提高tts模型和asr模型的性能。
18.从以上描述能够看出,传统方案往往需要大量的文本和语音数据对来进行模型训练,以确保tts模型和asr模型的准确性。然而,世界上有超过6000种语言,大多数语言都缺少语音训练数据。尽管针对资源缺乏的语言可以减少训练数据量,但是收集用于训练tts模型和asr模型的语音和文本配对数据(例如,tts模型需要数十分钟,asr模型需要数十小时)、发音词典以及大量的单个说话者的高质量非配对语音数据仍然会产生高昂的数据收集成本。而且,在资源缺乏的情况下,tts模型和asr模型的准确性通常较低。
19.根据本公开的实现,提出了一种用于语音合成和语音识别的方案。该方案能够在较低数据收集成本的条件下为资源缺乏的语言提供具有较高准确性的tts模型和asr模型。
20.为了实现较低数据收集成本,该方案仅使用以下数据来训练tts模型和asr模型:1)尽可能少(例如,几分钟)的单说话者高质量配对数据;2)较少(例如,几个小时)的多说话者低质量配对数据;以及3)较多(例如,数十小时)多说话者低质量非配对语音数据。与传统方案相比,该方案不使用单说话者高质量非配对语音数据并且不使用发音词典,而是直接将字符作为tts模型的输入和asr模型的输出。
21.为了实现较高准确性,该方案首先在具有大量配对数据的资源丰富的多种语言上
预先训练tts模型和asr模型,从而学习语音和文本之间的对齐能力。然后,该方案将支持多种语言的tts模型和asr模型调整到目标语言(例如,资源缺乏的语言)上。该方案进一步利用非配对语音数据和非配对文本数据来执行tts模型和asr模型的对偶训练,以迭代地提升彼此的准确性。此外,该方案利用经对偶训练的tts模型和asr模型来合成配对数据,以训练目标tts模型和目标asr模型,使得目标tts模型能够支持单说话者的高质量语音并且目标tts模型和目标asr模型的准确性得以进一步提升。
22.tts和asr通常可以被公式化为序列到序列问题。假设文本和语音序列对被表示为(x,y)∈d,其中d表示用于训练tts模型和asr模型的文本和语音序列对集合。文本序列x中的每个元素表示一个音素或字符,并且语音序列y中的每个元素表示一个语音单元(也称为“帧”)。在一些实现中,为了训练tts模型θ,如下所示的均方差损失函数可以被使用:
[0023][0024]
其中f(x;θ)表示利用tts模型θ生成的与文本序列x对应的语音序列。在一些实现中,为了训练asr模型φ,如下所示的负对数似然损失函数可以被使用:
[0025][0026]
tts模型和asr模型可以基于编码器-注意力-解码器框架来训练,其中编码器将源序列转换为一组隐藏表示,解码器基于通过注意力机制获得的源隐藏表示来自回归地生成目标序列。
[0027]
在下文中,在资源丰富的语言上的用于训练tts模型的配对数据也被表示为d
rich_tts
,并且在资源丰富的语言上的用于训练asr模型的配对数据也被表示为d
rich_asr
。针对目标说话者的单说话者高质量配对数据也被表示为dh,并且多说话者低质量配对数据也被表示为d
l
。非配对文本数据也被表示为xu,并且多说话者低质量非配对语音数据也被表示为yu。
[0028]
以下将进一步结合附图来详细描述本公开的各种实现。
[0029]
图1a和图1b示出了本公开的实现可以在其中实施的示例环境100的示意图。如图1a所示,环境100可以包括模型训练设备120,被配置为基于训练数据集110来训练tts模型130和asr模型140。如图1b所示,tts模型130可以基于输入文本131来生成与文本131对应的语音132。asr模型140可以基于输入语音141来生成与语音141对应的文本142。应当理解,仅出于示例性的目的描述环境100的结构和功能,而不暗示对于本公开的范围的任何限制。本公开的实施例还可以被应用到具有不同的结构和/或功能的环境中。
[0030]
图2示出了根据本公开的实现的模型训练设备120的工作原理的示意性框图。如图2所示,模型训练设备120可以包括预训练及调整模块121、对偶优化模块122和知识蒸馏模块123。应当理解,仅出于示例性的目的描述模型训练设备120的结构和功能,而不暗示对于本公开的范围的任何限制。在一些实现中,模型训练设备120可以以与图2不同的结构来实现。
[0031]
如图2所示,训练数据集110可以包括至少一种源语言的一组配对数据111(本文也称为“第二组配对数据”)。配对数据111可以包括至少一种源语言的多个语音和文本数据对,其中的语音数据可以是来自多个说话者的语音数据。预训练及调整模块121被配置为基于第二组配对数据111来预先训练支持至少一种源语言的tts模型和asr模型。至少一种源
语言可以是资源丰富的语言,例如,英语、汉语等。利用资源丰富的语言的组配对数据来预先训练tts模型和asr模型的原因在于:1)在商业化语音服务中,针对资源丰富的语言的组配对数据往往容易获得;2)此外,由于不同人类语言之间的发音相似性,在资源丰富的语言上学习到的语音和文本的对齐能力能够被迁移到资源缺乏的语言上。在一些实现中,第二组配对数据111可以包括d
rich_tts
和d
rich_asr
。预训练及调整模块121可以按照上述公式(1)基于d
rich_tts
来预先训练tts模型θ,并且按照上述公式(2)基于d
rich_asr
来预先训练asr模型φ。
[0032]
如图2所示,训练数据集110还可以包括目标语言的一组配对数据112(本文也称为“第一组配对数据”)。目标语言可以是与至少一种源语言不同的语言。例如,目标语言可以是资源缺乏的语言。第一组配对数据112可以包括目标语言的多个语音和文本数据对,其中的语音数据可以是来自多个说话者的语音数据。预训练及调整模块121被配置为基于第一组配对数据112来调整经预先训练的tts模型和asr模型,以得到支持目标语言的tts模型131和asr模型141。
[0033]
源语言和目标语言通常具有包括不同的音素/字符的词汇表并且与不同说话者相关联。在一些实现中,预训练及调整模块121可以通过使用经预先训练的tts模型中除音素/字符嵌入和说话者嵌入之外的所有预先训练的参数,来在目标语言上初始化tts模型。预训练及调整模块121可以通过使用经预先训练的asr模型中除音素/字符嵌入之外的所有预先训练的参数,来在目标语言上初始化asr模型。在一些实现中,第一组配对数据112可以包括针对目标说话者的单说话者高质量配对数据dh和多说话者低质量配对数据d
l
。预训练及调整模块121可以按照上述公式(1)基于dh和d
l
两者来调整经预先训练的tts模型θ以支持目标语言,并且按照上述公式(2)基于dh和d
l
两者来调整经预先训练的asr模型φ以支持目标语言。
[0034]
tts和asr是两个对偶任务,它们的对偶特性可以被用来提高彼此的准确性,尤其是在资源不足的情况下。
[0035]
在一些实现中,如图2所示,对偶优化模块122可以利用tts和asr之间的对偶训练来提高文本和语音之间的转换能力。具体地,如图2所示,训练数据集110可以包括目标语言的非配对语音和文本数据集合113,其中非配对语音数据集合在本文中也称为“第一组语音数据”,其例如包括多个yu,并且非配对文本数据集合在本文中也称为“第二组文本数据”,其例如包括多个xu。在一些实现中,针对第一组语音数据中的每个yu,对偶优化模块122可以利用asr模型141来生成与之对应的文本数据。对偶优化模块122可以将第一组语音数据及由asr模型141基于第一组语音数据而生成的相应文本数据(本文中也称为“第一组文本数据”)组合成第一组合成配对数据,并且按照上述公式(1)来训练tts模型θ。由于asr模型能够识别多个说话者的语音,通过利用asr模型将来自多个说话者的语音转换为对应文本,有助于训练能够合成多个说话者的语音的tts模型。此外,由于asr模型能够识别未知说话者的语音,因此使用经合成的配对数据来训练tts模型能够使其具有合成未知说话者的语音的能力。在一些实现中,针对第二组文本数据中的每个xu,对偶优化模块122可以利用tts模型131来生成与之对应的语音数据。例如,对偶优化模块122可以随机选择一个说话者的标识符(id),并且针对xu合成该说话者的语音。对偶优化模块122可以将第二组文本数据及由tts模型131基于第二组文本数据而生成的相应语音数据(本文中也称为“第二组语音数据”)组合成第二组合成配对数据,并且按照上述公式(2)来训练asr模型φ。以此方式,有助
于训练能够识别多个说话者的语音的asr模型。
[0036]
在一些实现中,对偶优化模块122可以利用多次迭代来优化tts模型和asr模型,其中在每次迭代中都利用最新的tts模型和asr模型来为彼此生成新的合成配对数据。附加地或备选地,在一些实现中,在迭代地优化tts模型和asr模型的过程中,除了利用彼此合成的配对数据以外,对偶优化模块122还可以使用配对数据112,以确保所训练的tts模型和asr模型的准确性。例如,对偶优化模块122可以在一轮迭代中使用基于非配对数据合成的配对数据集进行训练,并且在下一轮迭代中使用配对数据112进行训练。又例如,对偶优化模块122可以在每轮迭代中以预定比例(例如,1:1)使用组合成配对数据和配对数据112来进行训练。以此方式,对偶优化模块122可以得到经优化的支持多个说话者的tts模型132和asr模型142。
[0037]
在一些情况下,经对偶训练的tts模型132和asr模型142可能无法适应在线部署的需求,原因在于:1)虽然tts模型132可以支持多个说话者,但针对目标说话者的语音质量可能不够好;2)tts模型132合成的语音可能存在词语遗漏和词语重复的问题;3)asr模型142的准确性可能需要进一步提高。
[0038]
在一些实现中,如图2所示,知识蒸馏模块123可以基于第一组配对数据112以及由tts模型132和asr模型142生成的多组合成配对数据114来训练目标tts模型130和目标asr模型140,从而使得目标tts模型130能够支持单说话者的高质量语音并且目标tts模型130和目标asr模型140的准确性得以进一步提升。
[0039]
在一些实现中,如上所述,配对数据112可以包括针对目标说话者的单说话者高质量配对数据dh和多说话者低质量配对数据d
l
。为了使目标tts模型130能够合成目标说话者的高质量语音,知识蒸馏模块123可以从配对数据112中提取针对目标说话者的单说话者高质量配对数据dh(本文中也称为“第三组配对数据”),以用于训练目标tts模型130。
[0040]
在一些实现中,知识蒸馏模块123还可以利用tts模型132基于大量未配对文本数据(本文中也称为“第三组文本数据”)来合成目标说话者的大量语音数据(本文中也称为“第三组语音数据”)。第三组文本数据例如包括多个xu。在一些实现中,针对第三组文本数据中的每个xu,知识蒸馏模块123可以利用tts模型132来合成与之对应的目标说话者的语音数据。例如,知识蒸馏模块123可以向tts模型132输入文本xu和目标说话者的id,从而合成该目标说话者的语音。知识蒸馏模块123可以将第三组文本数据和第三组语音数据组合成第三组合成配对数据,以用于训练目标tts模型。附加地或备选地,由于tts模型132中合成的第三组语音数据中可能存在词语遗漏和词语重复等问题,在一些实现中,知识蒸馏模块123可以过滤掉第三组语音数据中的不合格语音数据并且过滤掉第三组文本数据中与不合格语音数据对应的文本数据,以得到第四组合成配对数据。知识蒸馏模块123可以基于从配对数据112中提取的第三组配对数据以及经合成和过滤的第四组合成配对数据,并且按照上述公式(1)来训练目标tts模型130,以使得目标tts模型130能够基于目标语言的输入文本数据来合成与之对应的目标说话者的高质量语音。
[0041]
在一些实现中,由知识蒸馏模块123过滤掉的不合格语音数据可以包括以下至少一项:出现词语遗漏的语音数据;出现词语重复的语音数据;以及无法理解的语音数据。在一些实现中,知识蒸馏模块123可以基于以下两个指标中的至少一项来过滤第三组语音数据中的不合格语音数据:单词覆盖率(wcr)和注意力对角比(adr),其中wcr与语音数据中出
现词语遗漏或词语重复的可能性负相关,并且adr指示语音数据与用于合成该语音数据的文本数据之间的对齐程度。
[0042]
在一些实现中,知识蒸馏模块123可以基于以下公式来确定合成语音数据的wcr:
[0043][0044]
其中n表示与该合成语音数据对应的文本中的单词数目,ti表示第i个单词中的字符数目,并且s表示与合成语音对应的目标声谱中的语音单元的数目。a
t,s
表示注意力权重矩阵a中第t行第s列的元素,其中注意力权重矩阵a可以基于tts模型132中的编码器-解码器注意力权重来确定。wcr与合成语音数据中出现词语遗漏或词语重复的可能性负相关。也即,较高的wcr指示合成语音数据中出现词语遗漏或词语重复的可能性较低。在一些实现中,知识蒸馏模块123可以从第三组语音数据中过滤掉wcr低于预定阈值的语音数据。
[0045]
在一些实现中,知识蒸馏模块123可以基于以下公式来确定合成语音数据的adr:
[0046][0047]
其中t表示该合成语音数据对应的文本中的字符数目,s表示该合成语音数据中的语音单元的数目,k=s/t,并且b表示用于确定对角线宽度的超参数。较高的adr表示合成语音数据与对应文本之间具有较好的注意力对齐程度,因此出现单词遗漏、单词重复或语音崩溃(无法理解)等问题的可能性较低。在一些实现中,知识蒸馏模块123可以从第三组语音数据中过滤掉adr低于预定阈值的语音数据。
[0048]
在一些实现中,知识蒸馏模块123可以利用tts模型132基于大量未配对文本数据(本文中也称为“第三组文本数据”)来合成多个说话者的语音数据(本文中也称为“第四组语音数据”)。第三组文本数据例如包括多个xu。在一些实现中,针对第三组文本数据中的每个xu,知识蒸馏模块123可以随机选择一个说话者的标识符(id),并且针对xu合成该说话者的语音。知识蒸馏模块123可以将第三组文本数据和第四组语音数据组合成第五组合成配对数据,以用于训练目标asr模型。附加地或备选地,在一些实现中,知识蒸馏模块123可以利用asr模型142基于大量未配对语音数据(本文中也称为“第五组语音数据”)来生成对应的文本数据(本文中也称为“第四组文本数据”)。知识蒸馏模块123可以将第五组语音数据和第四组文本数据组合成第六组合成配对数据,以用于训练目标asr模型。在一些实现中,知识蒸馏模块123可以基于组配对数据112(其包括针对目标说话者的单说话者高质量配对数据dh和多说话者低质量配对数据d
l
)、第五组合成配对数据和第六组合成配对数据,并且按照上述公式(2)来训练目标asr模型140,以使得目标asr模型140能够基于来自多个说话者的目标语言的语音数据来生成与该语音数据对应的文本数据。
[0049]
图3a示出了根据本公开的实现的tts模型的示例模型结构210的框图。图3b示出了根据本公开的实现的asr模型的示例模型结构220的框图。例如,如图2所示的tts模型130、131和132可以具有如图3a所示的模型结构210,asr模型140、141和142可以具有如图3b所示的模型结构220。在一些实现中,如图3a和3b所示,tts模型和asr模型两者可以采用基于转换器(transformer)的编码器-注意力-解码器(encoder-attention-decoder)结构。在一些
实现中,为了更好地捕获长语音序列中的依赖关系,传统方案的转换器模型中的前馈网络可以被替换成一维卷积神经网络,以用于实现tts模型和asr模型。
[0050]
如图3a所示,tts模型210可以包括文本输入模块211、编码器212、说话者模块213、语音输入模块214、解码器215和输出模块216。在tts模型210中,编码器212的输入模块211可以是字符/音素嵌入向量查找表,其将字符/音素id转换为嵌入向量。解码器215的输入模块214可以是语音pre-net层,其包括多个密集层以非线性地转换语音信号。解码器215的输出模块216包括用于将隐藏特征表示转换成声谱的线性层,以及利用sigmoid函数来预测当前步骤是否停止的停止线性层。支持多个说话者的tts模型210利用说话者模块213来区分多个说话者。在一些实现中,可以向编码器212的输出和解码器215的输入(即,输入模块214的输出)两者都添加说话者嵌入向量。具体地,可以利用嵌入向量查找表将说话者id转换为说话者嵌入向量,然后向说话者嵌入向量应用线性变换以及softsign函数(例如,x=x/(1+|x|))。然后,将变换结果与编码器212的输出或解码器215的输入连接起来,并使用另一线性层将隐藏向量维数减少到编码器212的输出或解码器215的输入的原始维度。编码器212和解码器215可以与传统方案中的编码器和解码器具有相同实现,在此不再赘述。
[0051]
如图3b所示,asr模型220可以包括语音输入模块214、编码器222、文本输入模块223、解码器224和输出模块225。在asr模型220中,编码器222的输入模块221可以包括多个卷积层,以减少语音序列的长度。解码器224的输入模块223可以是字符/音素嵌入向量查找表。解码器224的输出模块225可以包括线性层和softmax函数,其中线性层与输入模块223中的字符/音素嵌入向量查找表共享相同的权值。编码器222和解码器224可以与传统方案中的编码器和解码器具有相同实现,在此不再赘述。
[0052]
图4示出了根据本公开的实现的用于训练tts模型和asr模型的示例方法400的流程图。例如,方法400可以由如图1和图2所示的模型训练设备120来实现。应当理解,方法400还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。
[0053]
如图4所示,在框410处,模型训练设备120获取支持至少一种语言的tts模型和asr模型。
[0054]
在一些实现中,获取所述tts模型和所述asr模型包括:基于所述至少一种语言的第二组配对数据来训练所述tts模型和所述asr模型,其中所述第二组配对数据包括来自多个说话者的所述至少一种语言的语音数据及其对应的文本数据。
[0055]
在框420处,模型训练设备120基于目标语言的第一组配对数据来调整所述tts模型和所述asr模型以支持所述目标语言,其中所述第一组配对数据包括来自多个说话者的所述目标语言的语音数据及其对应的文本数据。
[0056]
在一些实现中,所述目标语言与所述至少一种语言不同。
[0057]
在框430处,模型训练设备120基于所述第一组配对数据和所述目标语言的第一组合成配对数据来优化所述tts模型,同时基于所述第一组配对数据和所述目标语言的第二组合成配对数据来优化所述asr模型,其中所述第一组合成配对数据包括来自多个说话者的第一组语音数据和由所述asr模型基于所述第一组语音数据而生成的第一组文本数据,并且所述第二组合成配对数据包括第二组文本数据和由所述tts模型基于所述第二组文本数据而生成的多个说话者的第二组语音数据。
[0058]
在框440处,模型训练设备120基于所述第一组配对数据以及由经优化的所述tts模型和所述asr模型生成的所述目标语言的多组合成配对数据,训练目标tts模型和目标asr模型。
[0059]
在一些实现中,训练所述目标tts模型包括:从所述第一组配对数据中获取与所述多个说话者中的目标说话者相关联的第三组配对数据,其中所述第三组配对数据包括来自所述目标说话者的所述目标语言的语音数据及其对应的文本数据;利用经优化的所述tts模型来生成所述目标语言的第三组合成配对数据,其中所述第三组合成配对数据包括第三组文本数据和由经优化的所述tts模型基于所述第三组文本数据而生成的所述目标说话者的第三组语音数据;以及基于所述第三组配对数据和所述第三组合成配对数据来训练目标tts模型,以使得所述目标tts模型能够基于所述目标语言的文本数据来生成与所述文本数据对应的所述目标说话者的语音数据。
[0060]
在一些实现中,基于所述第三组配对数据和所述第三组合成配对数据来训练所述目标tts模型包括:过滤所述第三组语音数据中的不合格语音数据和所述第三组文本数据中与所述不合格语音数据对应的文本数据,以得到第四组合成配对数据;以及基于所述第三组配对数据和所述第四组合成配对数据来训练所述目标tts模型。
[0061]
在一些实现中,所述不合格语音数据包括以下至少一项:出现词语遗漏的语音数据;出现词语重复的语音数据;以及无法理解的语音数据。
[0062]
在一些实现中,过滤所述不合格语音数据包括:过滤所述第三组语音数据中单词覆盖率(wcr)低于预定阈值的语音数据,其中所述wcr与所述语音数据出现词语遗漏或词语重复的可能性负相关。
[0063]
在一些实现中,过滤所述不合格语音数据包括:过滤所述第三组语音数据中注意力对角比(adr)低于预定阈值的语音数据,其中所述adr指示所述语音数据与所述第三组文本数据中用于生成所述语音数据的文本数据之间的对齐程度。
[0064]
在一些实现中,训练所述目标asr模型包括:利用经优化的所述tts模型来生成所述目标语言的第五组合成配对数据,所述第五组合成配对数据包括第三组文本数据和由经优化的所述tts模型基于所述第三组文本数据而生成的多个说话者的第四组语音数据;利用经优化的所述asr模型来生成所述目标语言的第六组合成配对数据,其中所述第六组合成配对数据包括来自多个说话者的第五组语音数据和由经优化的所述asr模型基于所述第五组语音数据而生成的第四组文本数据;以及基于所述第一组配对数据、所述第五组合成配对数据和所述第六组合成配对数据来训练目标asr模型,以使得所述目标asr模型能够基于来自多个说话者的所述目标语言的语音数据来生成与所述语音数据对应的文本数据。
[0065]
从以上描述能够看出,本公开的实现提出了一种用于语音合成和语音识别的方案。该方案能够在较低数据收集成本的条件下为资源缺乏的语言提供具有较高准确性的tts模型和asr模型。
[0066]
为了实现较低数据收集成本,该方案仅使用以下数据来训练tts模型和asr模型:1)尽可能少(例如,几分钟)的单说话者高质量配对数据;2)较少(例如,几个小时)的多说话者低质量配对数据;以及3)较多(例如,数十小时)多说话者低质量非配对语音数据。与传统方案相比,该方案不使用单说话者高质量非配对语音数据并且不使用发音词典,由此显著地节省了用于训练tts模型和asr模型的数据收集成本。
[0067]
为了实现较高准确性,该方案首先在具有大量配对数据的资源丰富的多种语言上预先训练tts模型和asr模型,从而学习语音和文本之间的对齐能力。然后,该方案将支持多种语言的tts模型和asr模型调整到目标语言(例如,资源缺乏的语言)上。该方案进一步利用非配对语音数据和非配对文本数据来执行tts模型和asr模型的对偶训练,以迭代地提升彼此的准确性。此外,该方案利用经对偶训练的tts模型和asr模型来合成配对数据,以训练目标tts模型和目标asr模型,使得目标tts模型能够支持单说话者的高质量语音并且目标tts模型和目标asr模型的准确性得以进一步提升。
[0068]
图5示出了能够实施本公开的多个实现的电子设备500的框图。应当理解,图5所示出的电子设备500仅仅是示例性的,而不应当构成对本公开所描述的实现的功能和范围的任何限制。例如,如图1和图2所示的模型训练设备120可以由电子设备500实施。如图5所示,电子设备500包括通用计算设备形式的电子设备500。电子设备500的组件可以包括但不限于一个或多个处理器或处理单元510、存储器520、存储设备530、一个或多个通信单元540、一个或多个输入设备550以及一个或多个输出设备560。
[0069]
在一些实现中,电子设备500可以被实现为各种用户终端或服务终端。服务终端可以是各种服务提供方提供的服务器、大型计算设备等。用户终端诸如是任意类型的移动终端、固定终端或便携式终端,包括移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(pcs)设备、个人导航设备、个人数字助理(pda)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。还可预见到的是,电子设备500能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
[0070]
处理单元510可以是实际或虚拟处理器并且能够根据存储器520中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备500的并行处理能力。处理单元510也可以被称为中央处理单元(cpu)、微处理器、控制器、微控制器。
[0071]
电子设备500通常包括多个计算机存储介质。这样的介质可以是电子设备500可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器520可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(ram))、非易失性存储器(例如,只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、闪存)或其某种组合。
[0072]
存储设备530可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如内存、闪存驱动、磁盘或者任何其他介质,其能够用于存储信息和/或数据并且可以在电子设备500内被访问。电子设备500可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图5中示出,可以提供用于从可拆卸、非易失性磁盘进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。
[0073]
通信单元540实现通过通信介质与另外的计算设备进行通信。附加地,电子设备500的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备500可以使用与一个或多个其他服务器、个人计算机(pc)
或者另一个一般网络节点的逻辑连接来在联网环境中进行操作。
[0074]
输入设备550可以是一个或多个各种输入设备,例如鼠标、键盘、追踪球、语音输入设备等。输出设备560可以是一个或多个输出设备,例如显示器、说话者、打印机等。电子设备500还可以根据需要通过通信单元540与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备500交互的设备进行通信,或者与使得电子设备500与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(i/o)接口(未示出)来执行。
[0075]
在一些实现中,除了被集成在单个设备上之外,电子设备500的各个部件中的一些或所有部件还可以以云计算架构的形式被设置。在云计算架构中,这些部件可以被远程布置,并且可以一起工作以实现本公开所描述的功能。在一些实现中,云计算提供计算、软件、数据访问和存储服务,它们不需要终端用户知晓提供这些服务的系统或硬件的物理位置或配置。在各种实现中,云计算使用适当的协议通过广域网(诸如因特网)提供服务。例如,云计算提供商通过广域网提供应用,并且它们可以通过web浏览器或任何其他计算组件被访问。云计算架构的软件或组件以及相应的数据可以被存储在远程位置处的服务器上。云计算环境中的计算资源可以在远程数据中心位置处被合并或者它们可以被分散。云计算基础设施可以通过共享数据中心提供服务,即使它们表现为针对用户的单一访问点。因此,可以使用云计算架构从远程位置处的服务提供商提供本文所描述的组件和功能。备选地,它们可以从常规服务器被提供,或者它们可以直接或以其他方式被安装在客户端设备上。
[0076]
电子设备500可以用于实施本公开的多个实现中的视频编码。存储器520可以包括视频编码模块522,其具有一个或多个程序指令,该模块可以由处理单元510访问和运行,以实现本文所描述的各种实现的功能。
[0077]
以下列出了本公开的一些示例实现方式。
[0078]
在第一方面,本公开提供了一种计算机实现的方法。所述方法包括:获取支持至少一种语言的语音合成(tts)模型和自动语音识别(asr)模型;基于目标语言的第一组配对数据来调整所述tts模型和所述asr模型以支持所述目标语言,其中所述第一组配对数据包括来自多个说话者的所述目标语言的语音数据及其对应的文本数据;以及基于所述第一组配对数据和所述目标语言的第一组合成配对数据来优化所述tts模型,同时基于所述第一组配对数据和所述目标语言的第二组合成配对数据来优化所述asr模型,其中所述第一组合成配对数据包括来自多个说话者的第一组语音数据和由所述asr模型基于所述第一组语音数据而生成的第一组文本数据,并且所述第二组合成配对数据包括第二组文本数据和由所述tts模型基于所述第二组文本数据而生成的多个说话者的第二组语音数据。
[0079]
在一些实现中,获取所述tts模型和所述asr模型包括:基于所述至少一种语言的第二组配对数据来训练所述tts模型和所述asr模型,其中所述第二组配对数据包括来自多个说话者的所述至少一种语言的语音数据及其对应的文本数据。
[0080]
在一些实现中,所述方法还包括:基于所述第一组配对数据和由经优化的所述tts模型和所述asr模型生成的所述目标语言的多组合成配对数据,训练目标tts模型和目标asr模型。
[0081]
在一些实现中,训练所述目标tts模型包括:从所述第一组配对数据中获取与所述多个说话者中的目标说话者相关联的第三组配对数据,其中所述第三组配对数据包括来自
所述目标说话者的所述目标语言的语音数据及其对应的文本数据;利用经优化的所述tts模型来生成所述目标语言的第三组合成配对数据,其中所述第三组合成配对数据包括第三组文本数据和由经优化的所述tts模型基于所述第三组文本数据而生成的所述目标说话者的第三组语音数据;以及基于所述第三组配对数据和所述第三组合成配对数据来训练目标tts模型,以使得所述目标tts模型能够基于所述目标语言的文本数据来生成与所述文本数据对应的所述目标说话者的语音数据。
[0082]
在一些实现中,基于所述第三组配对数据和所述第三组合成配对数据来训练所述目标tts模型包括:过滤所述第三组语音数据中的不合格语音数据和所述第三组文本数据中与所述不合格语音数据对应的文本数据,以得到第四组合成配对数据;以及基于所述第三组配对数据和所述第四组合成配对数据来训练所述目标tts模型。
[0083]
在一些实现中,所述不合格语音数据包括以下至少一项:出现词语遗漏的语音数据;出现词语重复的语音数据;以及无法理解的语音数据。
[0084]
在一些实现中,过滤所述不合格语音数据包括:过滤所述第三组语音数据中单词覆盖率(wcr)低于预定阈值的语音数据,其中所述wcr与所述语音数据出现词语遗漏或词语重复的可能性负相关。
[0085]
在一些实现中,过滤所述不合格语音数据包括:过滤所述第三组语音数据中注意力对角比(adr)低于预定阈值的语音数据,其中所述adr指示所述语音数据与所述第三组文本数据中用于生成所述语音数据的文本数据之间的对齐程度。
[0086]
在一些实现中,训练所述目标asr模型包括:利用经优化的所述tts模型来生成所述目标语言的第五组合成配对数据,其中所述第五组合成配对数据包括第三组文本数据和由经优化的所述tts模型基于所述第三组文本数据而生成的多个说话者的第四组语音数据;利用经优化的所述asr模型来生成所述目标语言的第六组合成配对数据,其中所述第六组合成配对数据包括来自多个说话者的第五组语音数据和由经优化的所述asr模型基于所述第五组语音数据而生成的第四组文本数据;以及基于所述第一组配对数据、所述第五组合成配对数据和所述第六组合成配对数据来训练目标asr模型,以使得所述目标asr模型能够基于来自多个说话者的所述目标语言的语音数据来生成与所述语音数据对应的文本数据。
[0087]
在一些实现中,所述目标语言与所述至少一种语言不同。
[0088]
在第二方面,本公开提供了一种电子设备。所述电子设备包括:处理单元;以及存储器,耦合至所述处理单元并且包含存储于其上的指令,所述指令在由所述处理单元执行时,使得所述电子设备执行动作,所述动作包括:获取支持至少一种语言的语音合成(tts)模型和自动语音识别(asr)模型;基于目标语言的第一组配对数据来调整所述tts模型和所述asr模型以支持所述目标语言,其中所述第一组配对数据包括来自多个说话者的所述目标语言的语音数据及其对应的文本数据;以及基于所述第一组配对数据和所述目标语言的第一组合成配对数据来优化所述tts模型,同时基于所述第一组配对数据和所述目标语言的第二组合成配对数据来优化所述asr模型,其中所述第一组合成配对数据包括来自多个说话者的第一组语音数据和由所述asr模型基于所述第一组语音数据而生成的第一组文本数据,并且所述第二组合成配对数据包括第二组文本数据和由所述tts模型基于所述第二组文本数据而生成的多个说话者的第二组语音数据。
[0089]
在一些实现中,获取所述tts模型和所述asr模型包括:基于所述至少一种语言的第二组配对数据来训练所述tts模型和所述asr模型,其中所述第二组配对数据包括来自多个说话者的所述至少一种语言的语音数据及其对应的文本数据。
[0090]
在一些实现中,所述动作还包括:基于所述第一组配对数据和由经优化的所述tts模型和所述asr模型生成的所述目标语言的多组合成配对数据,训练目标tts模型和目标asr模型。
[0091]
在一些实现中,训练所述目标tts模型包括:从所述第一组配对数据中获取与所述多个说话者中的目标说话者相关联的第三组配对数据,其中所述第三组配对数据包括来自所述目标说话者的所述目标语言的语音数据及其对应的文本数据;利用经优化的所述tts模型来生成所述目标语言的第三组合成配对数据,其中所述第三组合成配对数据包括第三组文本数据和由经优化的所述tts模型基于所述第三组文本数据而生成的所述目标说话者的第三组语音数据;以及基于所述第三组配对数据和所述第三组合成配对数据来训练目标tts模型,以使得所述目标tts模型能够基于所述目标语言的文本数据来生成与所述文本数据对应的所述目标说话者的语音数据。
[0092]
在一些实现中,基于所述第三组配对数据和所述第三组合成配对数据来训练所述目标tts模型包括:过滤所述第三组语音数据中的不合格语音数据和所述第三组文本数据中与所述不合格语音数据对应的文本数据,以得到第四组合成配对数据;以及基于所述第三组配对数据和所述第四组合成配对数据来训练所述目标tts模型。
[0093]
在一些实现中,所述不合格语音数据包括以下至少一项:出现词语遗漏的语音数据;出现词语重复的语音数据;以及无法理解的语音数据。
[0094]
在一些实现中,过滤所述不合格语音数据包括:过滤所述第三组语音数据中单词覆盖率(wcr)低于预定阈值的语音数据,其中所述wcr与所述语音数据出现词语遗漏或词语重复的可能性负相关。
[0095]
在一些实现中,过滤所述不合格语音数据包括:过滤所述第三组语音数据中注意力对角比(adr)低于预定阈值的语音数据,其中所述adr指示所述语音数据与所述第三组文本数据中用于生成所述语音数据的文本数据之间的对齐程度。
[0096]
在一些实现中,训练所述目标asr模型包括:利用经优化的所述tts模型来生成所述目标语言的第五组合成配对数据,其中所述第五组合成配对数据包括第三组文本数据和由经优化的所述tts模型基于所述第三组文本数据而生成的多个说话者的第四组语音数据;利用经优化的所述asr模型来生成所述目标语言的第六组合成配对数据,其中所述第六组合成配对数据包括来自多个说话者的第五组语音数据和由经优化的所述asr模型基于所述第五组语音数据而生成的第四组文本数据;以及基于所述第一组配对数据、所述第五组合成配对数据和所述第六组合成配对数据来训练目标asr模型,以使得所述目标asr模型能够基于来自多个说话者的所述目标语言的语音数据来生成与所述语音数据对应的文本数据。
[0097]
在一些实现中,所述目标语言与所述至少一种语言不同。
[0098]
在第三方面,本公开提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令,机器可执行指令在由设备执行时使设备执行根据上述第一方面所述的方法。
[0099]
在第四方面,本公开提供了一种计算机可读介质,其上存储有机器可执行指令,机器可执行指令在由设备执行时使设备执行根据上述第一方面所述的方法。
[0100]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
[0101]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0102]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0103]
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0104]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。