一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语音合成方法、装置、电子设备及计算机可读存储介质与流程

2021-09-29 00:21:00 来源:中国专利 TAG:自然语言 电子设备 装置 可读 计算机


1.本技术属于自然语言处理技术领域,具体涉及一种语音合成方法、装置、电子设备及计算机可读存储介质。


背景技术:

2.随着人工智能业务的不断拓展,低资源语种(即为各种人工标注的词典、训练数据较少的语种)的语音合成和语音识别的需求日益迫切,但低资源语种的语音数据极为有限,且其收集成本远高于高资源语种(即为人类社会统一体所通用的语言)。例如,以汉语言为例,普通话为高资源语种,而各地域方言为低资源语种。现有技术中通常是通过人工收集低资源语种的文本数据和语音数据,采集周期较长且质量较低。


技术实现要素:

3.本技术实施例的目的是提供一种语音合成方法、装置、电子设备及计算机可读存储介质,能够解决现有技术通过人工收集低资源语种的文本数据和语音数据,采集周期较长且质量较低的问题。
4.为了解决上述技术问题,本技术是这样实现的:
5.第一方面,本技术实施例提供了一种语音合成方法,该方法包括:
6.将第一文本数据转换为第二文本数据,所述第一文本数据为第一语种对应的文本数据,所述第二文本数据为第二语种对应的文本数据,所述第二语种为与所述第一语种存在亲属关系的至少一个语种,所述第二语种的资源少于所述第一语种的资源,所述资源为人工标注的词典和/或语料;
7.将所述第二文本数据输入预先训练的语音生成模型进行语音合成,得到所述第二语种对应的语音数据;
8.其中,所述语音生成模型用于对所述第二文本数据所对应的语音序列中的音素进行音素替换,并根据音素替换后的目标语音序列合成所述第二语种对应的语音数据。
9.第二方面,本技术实施例还提供了一种语音纠正模型的训练方法,该方法包括:
10.获取语音样本数据,所述语音样本数据为第二语种对应的语音数据,所述语音样本数据包括标注的标签,所述标签包括语音数据是否合格、评价分值、音素候选集和修正后的音素列表;
11.将所述语音样本数据输入预设的分类模型进行训练,得到所述语音纠正模型。
12.第三方面,本技术实施例还提供了一种语音识别方法,该方法包括:
13.确定第一语音数据的音素序列,所述第一语音数据为第二语种对应的语音数据;
14.根据预设的第二音素映射关系,确定所述音素序列中各音素在各所述第二语种中出现的概率值,所述第二音素映射关系用于表示各所述第二语种的音素之间的对应关系;
15.基于所述概率值,确定所述第一语音数据所对应的语种类别。
16.第四方面,本技术实施例还提供了一种语音应答方法,应用于智能客服系统,所述
方法包括:
17.获取目标用户的第二语音数据,其中,所述第二语音数据为第二语种对应的语音数据,所述第二语种为与第一语种存在亲属关系的至少一个语种,所述第二语种的资源少于所述第一语种的资源,所述资源为人工标注的词典和/或语料;
18.将第二文本数据转换为第一文本数据,其中,所述第二文本数据基于所述第二语音数据得到,所述第一文本数据为所述第一语种对应的文本数据;
19.将所述第一文本数据输入预先训练的语音生成模型进行语音合成,得到第三语音数据,所述第三语音数据为第一语种对应的语音数据;
20.根据所述第三语音数据识别所述目标用户的意图;
21.根据所述目标用户的意图,在所述智能客服系统的话术库中选择与所述目标用户的意图对应的话术,以对所述目标用户进行应答。
22.第五方面,本技术实施例还提供了一种语音合成装置,该装置包括:
23.第一转换模块,用于将第一文本数据转换为第二文本数据,所述第一文本数据为第一语种对应的文本数据,所述第二文本数据为第二语种对应的文本数据,所述第二语种为与所述第一语种存在亲属关系的至少一个语种,所述第二语种的资源少于所述第一语种的资源,所述资源是指人工标注的词典和/或语料;
24.第一语音合成模块,用于将所述第二文本数据输入预先训练的语音生成模型进行语音合成,得到所述第二语种对应的语音数据;
25.其中,所述语音生成模型用于对所述第二文本数据所对应的语音序列中的音素进行音素替换,并根据音素替换后的目标语音序列合成所述第二语种对应的语音数据。
26.第六方面,本技术实施例还提供了一种语音纠正模型的训练装置,该装置包括:
27.第一获取模块,用于获取语音样本数据,所述语音样本数据为第二语种对应的语音数据,所述语音样本数据均包括标注的标签,所述标签包括语音数据是否合格、评价分值、音素候选集和修正后的音素列表;
28.训练模块,用于将所述语音样本数据输入预设的分类模型进行训练,得到所述语音纠正模型。
29.第七方面,本技术实施例还提供了一种语音识别装置,该装置包括:
30.第一确定模块,用于确定第一语音数据的音素序列,所述第一语音数据为第二语种对应的语音数据;
31.第二确定模块,用于根据预设的第二音素映射关系,确定所述音素序列中各音素在各所述第二语种中出现的概率值,所述第二音素映射关系用于表示各所述第二语种的音素之间的对应关系;
32.第三确定模块,用于基于所述概率值,确定所述第一语音数据所对应的语种类别。
33.第八方面,本技术实施例提供了一种智能客服系统,所述智能客服系统包括:
34.第二获取模块,用于获取目标用户的第二语音数据,其中,所述第二语音数据为第二语种对应的语音数据,所述第二语种为与第一语种存在亲属关系的至少一个语种,所述第二语种的资源少于所述第一语种的资源,所述资源为人工标注的词典和/或语料;
35.第二转换模块,用于将第二文本数据转换为第一文本数据,其中,所述第二文本数据基于所述第二语音数据得到,所述第一文本数据为所述第一语种对应的文本数据;
36.第二语音合成模块,用于将所述第一文本数据输入预先训练的语音生成模型进行语音合成,得到第三语音数据,所述第三语音数据为第一语种对应的语音数据;
37.识别模块,用于根据所述第三语音数据识别所述目标用户的意图;
38.应答模块,用于根据所述目标用户的意图,在所述智能客服系统的话术库中选择与所述目标用户的意图对应的话术以对所述目标用户进行应答。
39.第九方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的语音合成方法的步骤,或者实现如第二方面所述的语音纠正模型的训练方法的步骤,或者实现如第三方面所述的语音识别方法的步骤。
40.第十方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的语音合成方法的步骤,或者实现如第二方面所述的语音纠正模型的训练方法的步骤,或者实现如第三方面所述的语音识别方法的步骤。
41.在本技术实施例中,通过将第一文本数据转换为第二文本数据,所述第一文本数据为第一语种对应的文本数据,所述第二文本数据为第二语种对应的文本数据,所述第二语种为与所述第一语种存在亲属关系的至少一个语种,所述第二语种的资源少于所述第一语种的资源,所述资源为人工标注的词典和/或语料;将所述第二文本数据输入预先训练的语音生成模型进行语音合成,得到所述第二语种对应的语音数据;其中,所述语音生成模型用于对所述第二文本数据所对应的语音序列中的音素进行音素替换,并根据音素替换后的目标语音序列合成所述第二语种对应的语音数据。这样,可以将资源较多的第一语种的第一文本数据,转化为资源较少的第二语种的第二文本数据,并通过预先训练的语音生成模型,将第二文本数据对应的语音序列中的音素替换为第二语种对应的音素,得到第二语种对应的语音数据。由此避免通过人工收集的方式获取第二语种对应的文本数据和语音数据,使得低资源语种的数据采集周期变短,且数据质量提高。
附图说明
42.图1为本技术实施例提供的语音合成方法的流程图;
43.图2为本技术实施例提供的语音生成模型的结构示意图;
44.图3为本技术实施例提供的语音纠正模型的训练方法的流程图;
45.图4为本技术实施例提供的语音识别方法的流程图;
46.图5为本技术实施例提供的语音应答方法的流程图;
47.图6为本技术实施例提供的语音合成装置的结构示意图;
48.图7为本技术实施例提供的语音纠正模型的训练装置的结构示意图;
49.图8为本技术实施例提供的语音识别装置的结构示意图;
50.图9为本技术实施例提供的智能客服系统的结构示意图;
51.图10为本技术实施提供的电子设备的结构示意图。
具体实施方式
52.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
54.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的语音合成方法和语音识别方法进行详细地说明。
55.参见图1,图1为本技术实施例提供的语音合成方法的流程图。如图1所示,该语音合成方法,可以包括如下步骤:
56.步骤101、将第一文本数据转换为第二文本数据,第一文本数据为第一语种对应的文本数据,第二文本数据为第二语种对应的文本数据,第二语种为与第一语种存在亲属关系的至少一个语种,第二语种的资源少于第一语种的资源,资源为人工标注的词典和/或语料。
57.具体地,上述第一语种可以为资源较为丰富的任意一种或多种语种,即人工标注的词典和/或语料等较多的语种。上述第二语种可以为资源较为稀少的任意一种或多种语种,即人工标注的词典和/或语料等较少的语种。而且,上述第二语种与上述第一语种属于同一亲属语言。在语言学界,亲属语言指从同一种语言分化出来的彼此有同源关系的几种独立的语言。这种亲属语言在语音、词汇、语法上有一定的共同特点和对应关系。比如汉语和藏语、壮语、苗语,它们同出一源,就是亲属语言。也就是说,亲属关系指的是从同一种语言中分化出来的各个语言之间具有的历史同源关系。假如上述第二语种是基于上述第一语种衍生出来的新语种,那么上述第一语种和上述第二语种存在亲属关系,而且,从上述第一语种衍生出的多个上述第二语种之间,也是存在亲属关系的。例如,在汉语言体系中,各地域方言是基于普通话衍生出来的语言分支,各地域方言与普通话之间,以及各地域方言之间均存在亲属关系。因而,在汉语言体系中,可以将普通话作为第一语种,将各地域方言作为第二语种。由于各地域方言的人工标注的词典和语料数据相比普通话要少,因而可以将普通话作为第一语种,将各地域方言作为第二语种。这样可以通过获取普通话对应的第一文本数据,根据普通话和各地域方言之间在词汇和语法上的对应关系,可以将普通话对应的第一文本数据转换为各地域方言对应的第二文本数据。当然,在其他亲属关系中的多个语种之间,该方法同样适用。例如,拉丁系语言、日耳曼系语言等亲属语音中,都存在着语音、词汇和语法上的对应关系,可以将该亲属语言中资源丰富的语言作为上述第一语种,将资源较少的语言作为上述第二语种。
58.需要说明的是,对于不存在亲属关系的两种语种之间,由于它们之间缺少语音、词汇、语法上的共同特点和对应关系,因而较难实现跨语种迁移。例如,藏语属于汉藏语系,英语属于印欧语系,两者在语音、词汇、语法上均存在较大区别,较难在藏语和英语之间进行跨语种迁移,而藏语和汉语同属于汉藏语系,因而实现起来较为简单。
59.在该步骤中,可以通过预设的文本转换模型对第一文本数据进行转换,以得到第二文本数据。具体地,在该文本转换模型中预先学习了第一语种与第二语种之间的同义翻译的转换规则,以及语法规则,该转换规则用于指示相同或相近含义的第一语种词汇和第二语种词汇之间的对应关系,语法规则用于指示相同意思表示时第一语种和第二语种之间的语法对应关系。根据该转换规则和语法规则,可以将第一文本数据中的各词汇转化成相同意思表示的第二语种词汇,从而得到第二文本数据。并且,将第一文本数据输入文本转换模型后,还可以根据第一语种的词汇与第二语种的词汇之间的对应关系,标记第一语种位置序列与第二语种位置序列映射字典。例如,以汉语言进行举例说明,假设第一文本数据为“又不是梅雨天,现在是快年三十儿啦!”,对该第一文本数据进行分词后,可以得到第一语种位置序列为“又[0]不是[1]梅雨天[2],现在[3]是[4]快[5]年三十儿[6]啦[7]!”,将其转换为第二文本数据后,第二文本数据为“又弗是黄梅天,现在是年夜快呀!”,该第二文本数据进行分词后,可以得到第二语种位置序列为“又[0]弗是[1]黄梅天[2],现在[3]是[4]年夜[5]快[6]呀[7]!”,从而可以得到的第一语种位置序列与第二语种位置序列映射字典为0:0、1:1、2:2、3:3、4:4、5:6、6:5、7:7。
[0060]
当然,该步骤中除了采用文本转换模型对第一文本数据进行转换外,还可以通过预设的文本映射关系进行转换,例如,可以采用上述举例中得到的第一语种位置序列与第二语种位置序列映射字典来实现等。
[0061]
步骤102、将第二文本数据输入预先训练的语音生成模型进行语音合成,得到第二语种对应的语音数据;其中,语音生成模型用于对第二文本数据所对应的语音序列中的音素进行音素替换,并根据音素替换后的目标语音序列合成第二语种对应的语音数据。
[0062]
具体地,将步骤101中获取到的第二文本数据输入预先训练的语音生成模型,可以基于该语音生成模型对第二文本数据所对应的语音序列中的音素进行音素替换,并根据音素替换后的目标语音序列合成第二语种对应的语音数据。具体而言,上述语音生成模型可以通过预先获得的第一语种与第二语种之间的音素映射关系,对第二文本数据所对应的语音序列中的音素进行音素替换,使得得到的语音数据符合第二语种的发音特征。上述语音生成模型可以为基于深度学习的端到端语音合成模型,如tacotron模型、tacotron2模型等,本技术不做具体限定。
[0063]
上述第二文本数据所对应的语音序列可以根据第二语种所属语系的不同而不同。例如,当第二语种为汉语,且第二文本数据为“你好世界”时,语音序列可以为“ni hao shi jie”的拼音序列;当第二语种为英语,且第二文本数据为“holle world”时,语音序列即为“holle world”等。
[0064]
需要说明的是,此处的第一语种与第二语种之间的音素映射关系用于表征第一语种与第二语种之间的音素对应关系。例如,假设第一语种为普通话,第二语种为上海话,则两者的音素对应关系可以如表一所示:
[0065]
普通话音素上海话音素b[p]b[p]b[p]b[b](浊音,仄声字)p[p
h
]p[p
h
]p[p
h
]b[b](浊音,平声字)
[0066]
表一
[0067]
当然,在实际应用时,除了考虑音素映射关系外,还可以考虑声调映射关系,使得得到的语音数据更贴近第二语种的实际声调。此处的声调包括调类和调值。例如,选择第一语种为普通话,第二语种为地域方言,则普通话与各地域方言之间的声调映射关系可以如表二所示:
[0068]
调类普通话郑州方言川渝方言汉口方言阴平1a一声(平)55二声2455(45、44)55阳平1b二声(眉)35四声41(42)21(31、21)213(312)阴上2a三声(雨)214一声55(53)42(341、42)42阴去3a四声(跳)51四声31(312)214(213、214)35
[0069]
表二
[0070]
在本实施例中,可以将资源较多的第一语种的第一文本数据,转化为资源较少的第二语种的第二文本数据,并通过预先训练的语音生成模型,将第二文本数据对应的语音序列中的音素替换为第二语种对应的音素,得到第二语种对应的语音数据。由此可以通过人工智能的方式,大批量地生产出资源较少的第二语种的文本数据和语音数据,从而丰富了低资源语种的文本数据和语音数据。同时,针对需要使用低资源语种的场景,如方言语音识别、方言语音智能对话等场景下时,可以根据丰富的低资源语种的文本数据和语音数据,提高语音识别或者语音对话的准确性和真实性。
[0071]
可选地,语音生成模型包括音素替换层、编码层和声码器;
[0072]
上述步骤102、将第二文本数据输入预先训练的语音生成模型进行语音合成,得到第二语种对应的语音数据,包括:
[0073]
将第二文本数据输入音素替换层,根据第一音素映射关系对第二文本数据所对应的语音序列中的音素进行音素替换,得到目标语音序列,其中,第一音素映射关系用于表示第一语种中的音素和第二语种中的音素之间的映射关系;
[0074]
将目标语音序列输入编码层进行编码,得到梅尔频谱序列,梅尔频谱序列用于表示目标语音序列的语音学特征、对数基频和音素时长;
[0075]
将梅尔频谱序列输入声码器进行解码,得到第二语种对应的语音数据,声码器用于提取梅尔频谱序列对应的目标语音序列的语音学特征、对数基频和音素时长,并基于语音学特征、对数基频和音素时长合成第二语种对应的语音数据。
[0076]
在一实施例中,可参见图2,图2为本技术实施例提供的语音生成模型的结构示意图。如图2所示,该语音生成模型可以包括音素替换层、编码层和声码器。其中,音素替换层可以获取输入的第二文本数据所对应的语音序列,并将语音序列中的音素替换成符合第二语种发音的音素,形成目标语音序列。编码层可以对输入的目标语音序列进行编码,得到梅尔频谱序列。声码器可以为wavenet的修订版,可以根据编码层输出的梅尔频谱序列进行解码,合成第二语种对应的语音数据。
[0077]
具体而言,在音素替换层,音素替换层的输入是第二文本数据,可以获取第二文本数据的语音序列。例如,当第二文本数据为普通话“你好世界”时,则得到的语音序列为“ni hao shi jie”,然后根据声韵母的方式将其分割成“n i h ao sh i j ie”,或者按照类似英文的方式将其分割成“n i h a o s h i j i e”。分割后的语音序列按照第一音素映射
关系替换为第二语种的音素,得到音素替换后的目标语音序列。此处的第一音素映射关系可以为类似于上述表一所示的音素映射关系,该第一音素映射关系可以用于表示第一语种中的音素与第二语种中的音素之间的映射关系。
[0078]
在编码层,编码层的输入是目标语音序列,编码层可以对目标语音序列中的各个音素进行编码,将目标语音序列中的各个音素编码成多维度的字符向量,再对这些字符向量的各个维度进行卷积计算,再将卷积计算结果输入至双向长短期记忆网络(long short

term memory,简称lstm)中进行学习,得到梅尔频谱序列。此处的该梅尔频谱序列可以反映出该目标语音序列的语音学特征、对数基频和音素时长等特征。例如,假设将各个音素编码成512维的字符向量,可以将该512维的字符向量进行三层卷积,每层卷积包含512个5x1的卷积核,即每个卷积核横跨5个音素,每层卷积会对输入的目标语音序列进行大跨度上下文建模,类似于n

gram(一种基于统计语言模型的算法),然后进行批量归一化(batch normalization,简称bn)处理,再使用修正线性单元(rectified linear unit,简称relu)函数进行激活。这样通过三层卷积得到的结果输入至包含512个单元的双向长短期记忆网络中进行学习,最终可以得到表征目标语音序列的语音学特征、对数基频和音素时长等特征的梅尔频谱序列。需要说明的是,此处的语音学特征可以包括目标语音序列中的韵律、声调、语调、重音、节奏等特征,对数基频用于表示目标语音序列中的音调的大小,音素时长用于表示目标语音序列中每个音素的发音时长。
[0079]
声码器则可以对输入的梅尔频谱序列进行解码,在解码过程中获取目标语音序列的语音学特征、对数基频和音素时长等特征,并基于获取到的目标语音序列的语音学特征、对数基频和音素时长等特征,合成对应的音频数据,即第二语种对应的语音数据。
[0080]
在本实施例中,可以在编码层前加入音素替换层,通过音素替换层来实现第二文本数据的语音序列中的音素的替换,再通过编码层和解码层得到音素替换后的语音数据,即第二语种对应的语音数据,从而可以实现第二语种的语音数据的智能化合成,大大减轻了第二语种的语言数据收集工作。
[0081]
可选地,基于上述图1所示的实施例,在上述步骤102、在将第二文本数据输入预先训练的语音生成模型,得到第二语种对应的语音数据之后,该方法还可以包括如下步骤:
[0082]
将第二语种对应的语音数据输入预先训练的语音纠正模型进行纠正,得到纠正后的语音数据;其中,语音纠正模型包括评估子模型和纠正子模型;评估子模型用于对输入的第二语种对应的语音数据进行评估,得到评估结果,评估结果包括音素候选集,音素候选集为第二语种对应的语音数据中发音不准的音素的集合;纠正子模型用于对输入的第二语种对应的语音数据中的音素候选集进行音素替换,得到纠正后的语音数据。
[0083]
具体地,该语音纠正模型可以包括评估子模型和纠正子模型。其中,该评估子模型用于对输入的第二语种对应的语音数据进行评估,得到评估结果。该纠正子模型用于对输入的第二语种对应的语音数据中的音素候选集进行音素替换,得到纠正后的语音数据。该评估子模型可以为回归模型,如逻辑回归模型、岭回归模型、多项式回归模型,或者弹性网络回归模型等,本实施例不做具体限定。需要说明的是,该评估子模型得到评估结果可以包括但不限于:语音数据是否合格、评价分值、音素候选集等参数。其中,该音素候选集为第二语种对应的语音数据中发音不准的音素的集合。
[0084]
在该实施例中,可以通过语音纠正模型对输入的语音数据进行评估,确定输入的
语音数据的评估结果,并将评估结果对语音数据中发音不准的音素进行纠正,得到合格的、地道性高的语音数据。这样,有利于进一步提高第二语种的语音数据的质量。
[0085]
可选地,纠正子模型中预设有音素变体字典,音素变体字典包括音素本体和与音素本体对应的所有音素变体,音素候选集中的音素包含于音素本体;
[0086]
纠正子模型用于根据音素变体字典,将输入的第二语种对应的语音数据中的音素候选集中的音素替换成音素变体,并根据音素变体,得到纠正后的语音数据。
[0087]
具体地,上述纠正子模型中预先构建了音素变体字典,其中,该音素变体字典包括音素本体和与音素本体对应的所有音素变体。假设某一音素本体对应的音素变体有n个,音素本体与音素变体之间使用分号隔开,则该音素本体在音素变体字典中的结构为:音素本体;音素变体1;音素变体2;

;音素变体n,其中,n为任意正整数。这样,在纠正子模型接收到第二语种对应的语音数据和音素候选集后,可以通过调用函数获取音素变体字典,并根据音素变体字典确定该音素候选集在该音素变体字典中的音素本体,进而找到该音素本体对应的所有音素变体,这样,可以基于音素候选集中所包含的各音素的所有音素变体,进行排列组合,形成m种纠正方式,其中,m为大于或等于n的整数。最后将m种纠正方式与第二语种对应的语音数据中的音素进行替换,得到m条语音数据。
[0088]
在本实施例中,可以对第二语种对应的语音数据中发音不准的音素进行音素变体替换,从而使得第二语种的语音数据发音更加准确,同时,可以得到每个音素变体对应的语音数据,使得第二语种的语音数据更加丰富。
[0089]
可选地,在上述步骤102、将第二文本数据输入预先训练的语音生成模型进行语音合成,得到第二语种对应的语音数据之前,该方法还可以包括如下步骤:
[0090]
提取n个语音数据的音频特征,得到n个声纹特征,n为大于1的整数;
[0091]
在上述步骤102、将第二文本数据输入预先训练的语音生成模型进行语音合成,得到第二语种对应的语音数据之后,该方法还包括:
[0092]
基于n个声纹特征,对第二语种对应的语音数据进行音色迁移,输出n个音色对应的第二语种的语音数据。
[0093]
具体地,可以构建n个发音人的发音语料库,此处的n个发音人中的每个发音人分别具有不同的音色,n为2,3,4等任意整数。该发音语料库可以是基于任意一种语种实现,本技术不做具体限定。在构建好发音语料库后,可以提取该发音语料库中不同发音人的滤波器组(filter bank也可以简称为fbank)特征,再将获取到的fbank特征输入至至预设的残差网络(residual network,简称resnet),通过残差网络对fbank特征进行特征映射,输出n个向量,即n个代表不同音色的声纹特征。这样,在将第二文本数据输入预先训练的语音生成模型进行语音合成,得到第二语种对应的语音数据之后,可以根据获取到的n个声纹特征,合成n种不同音色的第二语种对应的语音数据,从而使得第二语种对应的语音数据更加丰富,同时通过音色迁移实现了发音者年龄分布的平衡。
[0094]
除此之外,本技术还提供了一种语音纠正模型的训练方法。参见图3,图3为本技术实施例提供的语音纠正模型的训练方法的流程图。该语音纠正模型的训练方法可以包括如下步骤:
[0095]
步骤301、获取语音样本数据,语音样本数据为第二语种对应的语音数据,语音样本数据包括标注的标签,标签包括语音数据是否合格、评价分值、音素候选集和修正后的音
素列表;
[0096]
步骤302、将语音样本数据输入预设的分类模型进行训练,得到语音纠正模型。
[0097]
具体地,上述语音样本数据的数量为多个。每个语音样本数据可以是通过上述语音生成方法自动生成,也可以是采用人工方式收集得到,本技术不做具体限定。当语音样本数据是基于上述语音生成方法自动生成时,其具体生成过程可参见上述各实施例,在此不再赘述。
[0098]
每个语音样本数据为人工标注后的第二语种对应的语音样本数据,其中,每个语音样本数据包括人工标注的标签,标签的内容可以包括但不限于:语音数据是否合格、评价分值、音素候选集和修正后的音素列表等标签。然后,对每个语音样本数据进行预处理,提取每个语音样本数据对应的梅尔频率倒谱系数(mel

frequency cepstral coefficients,简称mfcc),以及对应的标签,将梅尔频率倒谱系数存储至mfcc特征表中,如命名为mfcc_vectors的表中,并将标签存储至标签表中,如命名为target的表中。然后使用机器学习工具,如scikit

learn(简称为sklearn)工具,把多个语音样本数据分为训练集、验证集、测试集。其中,训练集、验证集、测试集的比例可以为8:1:1等比例,具体比例可以根据实际需要进行设置。每个数据集均包含有mfcc特征表中所对应语音样本数据的mfcc特征,以及所对应语音样本数据的标签。最后,利用上述训练集、验证集和测试集对预设的分类模型进行训练,并采用预设损失函数来计算标签的预测值与实际值之间的损失值,当损失值达到最小值时,收敛该模型,得到语音纠正模型。此处的预设损失函数可以包括但不限于0

1损失函数、感知损失函数、平方损失函数、hinge损失函数、对数损失函数等。
[0099]
其中,上述分类模型可以是使用pytorch(即一个开源的python机器学习库)框架进行分类的分类模型,也可以是使用传统机器学习模型进行分类的分类模型,如朴素贝叶斯模型等。此处以朴素贝叶斯模型作为分类模型进行解释说明。具体地,该分类模型可以为一个或者多个串联的朴素贝叶斯模型,本技术不做具体限定。
[0100]
在一实施例中,可以使用4个依次串联的朴素贝叶斯模型分别对不同标签进行预测。例如,使用朴素贝叶斯模型1预测语音数据是否合格的标签,如用标签1表示语音数据合格、用标签2表示语音数据不合格等;使用朴素贝叶斯模型2预测评价分值的标签,如用标签1表示评价分值为0分、用标签2表示评价分值为0.5分、用标签3表示评价分值为1分等;使用朴素贝叶斯模型3预测音素候选集的标签,如用数组[0,16,78]表示音素候选集,这里的数值0,16和78分别表示该语音样本数据中的第0个、第16个和第78个音素;使用朴素贝叶斯模型4预测修正后的音素列表的标签,如用[/sh/,/e/,/o/]表示修正后的音素列表,这里的/sh/,/e/和/o/分别表示该语音样本数据中的第0个、第16个和第78个音素对应的音素变体。在使用4个朴素贝叶斯模型分别对上述4个标签进行预测时,需要将标记有mfcc特征和对应标签的训练集数据分别输入至这4个朴素贝叶斯模型中进行迭代训练,这样,每个朴素贝叶斯模型可以基于语音样本数据的mfcc特征和对应标签,分别确定各标签进行划分的条件概率,再使用测试集和验证集对这4个朴素贝叶斯模型的条件概率进行测试和验证,当这4个朴素贝叶斯模型中预设损失函数的损失值均达到最小化时,得到该语音纠正模型。
[0101]
在本实施例中,可以通过多个语音样本数据对分类模型进行训练,得到语音纠正模型,这样可以基于该语音纠正模型对第二语种对应的语音数据的质量进行评估,以此确定出该语音数据是否合格、评价分值、音素候选集和修正后的音素列表等评估结果。同时,
可以根据音素候选集,确定该语音数据中发音不标准的音素,方便后续对发音不准的音素进行纠正。
[0102]
除此之外,本技术还提供了一种语音识别方法,参见图4,图4为本技术实施例提供的语音识别方法的流程图。如图4所示,该方法可以包括如下步骤:
[0103]
步骤401、确定第一语音数据的音素序列,第一语音数据第二语种对应的语音数据。
[0104]
其中,上述第一语音数据的数量可以为一个,也可以为多个,当该第一语音数据为多个时,这多个第一语音数据可以是一种第二语种的语音数据,也可以是多个第二语种的语音数据,本技术不做具体限定。该第一语音数据可以是通过上述语音生成方法自动生成,也可以是采用人工方式收集得到,本技术不做具体限定。当第一语音数据是基于上述语音生成方法自动生成时,其具体生成过程可参见上述各实施例,在此不再赘述。步骤402、根据预设的第二音素映射关系,确定音素序列中各音素在各第二语种中出现的概率值,第二音素映射关系用于表示各第二语种的音素之间的对应关系。
[0105]
其中,第二音素映射关系用于表示各第二语种的音素之间的对应关系。例如,假设第二语种包括第二语种1、第二语种2和第二语种3,则音素对应关系可以如表三所示:
[0106]
音素第二语种1第二语种2第二语种3b p m
‑‑
f
‑‑‑
d
‑‑
t n

l

g


[0107]
表三
[0108]
根据表三所示的音素对应关系,可以分别计算出该音素序列中各音素在不同第二语种类别中出现的概率值,在某一类别的第二语种中出现的概率值越高,表示该音素序列为该类别的概率越高。
[0109]
步骤403、基于概率值,确定第一语音数据所对应的语种类别。
[0110]
具体地,可以选择概率值靠前的k个方言名进行输出,其中,k为大于或等于1的整数。
[0111]
在本实施例中,可以通过第一语音数据中各音素出现的概率值,确定出第一语音数据对应的语种类别,实现对第一语音数据的语种类别识别功能。同时,由于语音的亲属关系可以通过第二音素映射关系进行体现,如同一第一语音数据的各音素在方言、次方言、土语中出现的概率值越来越小,根据该规律,可以实现递系推断,逐个衍生,按照确定方言后可进一步推断次方言,确定次方言后进一步推断土语的方式,逐步聚焦目标语种类别。
[0112]
除此之外,本技术还提供了一种语音应答方法,该语音应答方法应用于智能客服系统,该语音应答方法包括:
[0113]
步骤501、获取目标用户的第二语音数据,其中,第二语音数据为第二语种对应的语音数据,第二语种为与第一语种存在亲属关系的至少一个语种,第二语种的资源少于第一语种的资源,资源为人工标注的词典和/或语料;
[0114]
步骤502、将第二文本数据转换为第一文本数据,其中,第二文本数据基于第二语音数据得到,第一文本数据为第一语种对应的文本数据;
[0115]
步骤503、将第一文本数据输入预先训练的语音生成模型进行语音合成,得到第三语音数据,第三语音数据为第一语种对应的语音数据;
[0116]
步骤504、根据第三语音数据识别目标用户的意图;
[0117]
步骤505、根据目标用户的意图,在智能客服系统的话术库中选择与目标用户的意图对应的话术,以对目标用户进行应答。
[0118]
具体的,上述目标用户可以为使用该智能客服系统的任一用户。该目标用户可以基于该智能客服系统输入第二语音数据,如某一方言语音等。这时,智能客服系统可以基于该第二语音数据,得到该第二语音数据对应的第二文本数据。假设该智能客服系统得到的第二文本数据为“又弗是黄梅天,现在是年夜快呀”。进一步地,该智能客服系统可以根据第一语种和第二语种之间的词汇之间的对应关系,将该第二文本数据转化为第一文本数据,如“又不是梅雨天,现在是快年三十儿啦”。进一步地,该智能客服系统可以将该第一文本数据输入预先训练的语音生成模型进行语音合成,得到第三语音数据,即第一语种对应的语音数据,如普通话语音。通过识别该第三语音数据的语义,了解目标用户的意图,并根据该目标用户的意图,从该智能客服系统的话术库中选择与该目标用户的意图对应的话术,最后将话术输出给该目标用户,对目标用户发出的第二语音数据进行应答。
[0119]
需要说明的是,该实施例中同样具有第一语种和第二语种之间的词汇对应关系,以及第一语种和第二语种之间的音素对应关系,且与上述图1所示的实施例中的相同。该实施例与上述图1所示的实施例的区别在于,上述图1所示的实施例是根据上述词汇对应关系和音素对应关系,将第一语种对应的文本数据转化为第二语种对应的文本数据,将语音序列中的第一语种对应的音素转化为第二语种对应的音素。而在该实施例中,则是根据上述词汇对应关系和音素对应关系,将第二语种对应的文本数据转化为第一语种对应的文本数据,将语音序列中的第二语种对应的音素转化为第一语种对应的音素。其具体实现过程可参见上述图1所示的实施例,在此不再赘述。
[0120]
在该智能客服系统中,可以根据目标用户输入的第二语音数据,如输入的方言语音,将其转化为系统更容易理解的第三语音数据,如普通话语音,进而了解目标用户的真实意图,并作出应答。这样,可以扩大智能客户系统的用户范围,对于不会使用第一语种的用户也能适用。
[0121]
除此之外,本技术还提供了一种语音合成装置。参见图6,图6为本技术实施例提供的语音合成装置的结构示意图。如图6所示,该语音合成装置600包括:
[0122]
第一转换模块601,用于将第一文本数据转换为第二文本数据,第一文本数据为第一语种对应的文本数据,第二文本数据为第二语种对应的文本数据,第二语种为与第一语种存在亲属关系的至少一个语种,第二语种的资源少于第一语种的资源,资源是指人工标注的词典和/或语料;
[0123]
第一语音合成模块602,用于将第二文本数据输入预先训练的语音生成模型进行
语音合成,得到第二语种对应的语音数据;
[0124]
其中,语音生成模型用于对第二文本数据所对应的语音序列中的音素进行音素替换,并根据音素替换后的目标语音序列合成第二语种对应的语音数据。
[0125]
可选地,语音生成模型包括音素替换层、编码层和声码器;
[0126]
第一语音合成模块602包括:
[0127]
音素替换子模块,用于将第二文本数据输入音素替换层,根据第一音素映射关系对第二文本数据所对应的语音序列中的音素进行音素替换,得到目标语音序列,其中,第一音素映射关系用于表示第一语种中的音素和第二语种中的音素之间的映射关系;
[0128]
编码子模块,用于将目标语音序列输入编码层进行编码,得到梅尔频谱序列,梅尔频谱序列用于表示目标语音序列的语音学特征、对数基频和音素时长;
[0129]
解码子模块,用于将梅尔频谱序列输入声码器进行解码,得到第二语种对应的语音数据,声码器用于提取梅尔频谱序列对应的目标语音序列的语音学特征、对数基频和音素时长,并基于语音学特征、对数基频和音素时长合成第二语种对应的语音数据。
[0130]
可选地,该语音合成装置600还包括:
[0131]
纠正模块,用于将第二语种对应的语音数据输入预先训练的语音纠正模型进行纠正,得到纠正后的语音数据;
[0132]
其中,语音纠正模型包括评估子模型和纠正子模型;评估子模型用于对输入的第二语种对应的语音数据进行评估,得到评估结果,评估结果包括音素候选集,音素候选集为第二语种对应的语音数据中发音不准的音素的集合;纠正子模型用于对输入的第二语种对应的语音数据中的音素候选集进行音素替换,得到纠正后的语音数据。
[0133]
可选地,纠正子模型中预设有音素变体字典,音素变体字典包括音素本体和与音素本体对应的所有音素变体,音素候选集中的音素包含于音素本体;
[0134]
纠正子模型用于根据音素变体字典,将输入的第二语种对应的语音数据中的音素候选集中的音素替换成音素变体,并根据音素变体,得到纠正后的语音数据。
[0135]
可选地,该语音合成装置600还包括:
[0136]
提取模块,用于提取n个语音数据的音频特征,得到n个声纹特征,n为大于1的整数;
[0137]
音色迁移模块,用于基于n个声纹特征,对第二语种对应的语音数据进行音色迁移,输出n个音色对应的第二语种的语音数据。
[0138]
本发明实施例提供的语音合成装置600能够实现上述语音合成方法实施例中的各个过程,为避免重复,这里不再赘述。
[0139]
参见图7,图7为本技术实施例提供的语音纠正模型的训练装置的结构示意图。如图7所示,该语音纠正模型的训练装置700包括:
[0140]
第一获取模块701,用于获取语音样本数据,语音样本数据为第二语种对应的语音数据,语音样本数据包括标注的标签,标签包括语音数据是否合格、评价分值、音素候选集和修正后的音素列表;
[0141]
训练模块702,用于将语音样本数据输入预设的分类模型进行训练,得到语音纠正模型。
[0142]
本发明实施例提供的语音纠正模型的训练装置700能够实现上述语音纠正模型的
训练方法实施例中的各个过程,为避免重复,这里不再赘述。
[0143]
参见图8,图8为本技术实施例提供的语音识别装置的结构示意图。如图8所示,该语音识别装置800包括:
[0144]
第一确定模块801,用于确定第一语音数据的音素序列,第一语音数据为第二语种对应的语音数据;
[0145]
第二确定模块802,用于根据预设的第二音素映射关系,确定音素序列中各音素在各第二语种中出现的概率值,第二音素映射关系用于表示各第二语种的音素之间的对应关系;
[0146]
第三确定模块803,用于基于概率值,确定第一语音数据所对应的语种类别。
[0147]
本发明实施例提供的语音识别装置800能够实现上述语音识别方法实施例中的各个过程,为避免重复,这里不再赘述。
[0148]
参见图9,图9为本技术实施例提供的智能客服系统的结构示意图。如图9所示,该智能客服系统900包括:
[0149]
第二获取模块901,用于获取目标用户的第二语音数据,其中,第二语音数据为第二语种对应的语音数据,第二语种为与第一语种存在亲属关系的至少一个语种,第二语种的资源少于第一语种的资源,资源为人工标注的词典和/或语料;
[0150]
第二转换模块902,用于将第二文本数据转换为第一文本数据,其中,第二文本数据基于第二语音数据得到,第一文本数据为第一语种对应的文本数据;
[0151]
第二语音合成模块903,用于将第一文本数据输入预先训练的语音生成模型进行语音合成,得到第三语音数据,第三语音数据为第一语种对应的语音数据;
[0152]
识别模块904,用于根据第三语音数据识别目标用户的意图;
[0153]
应答模块905,用于根据目标用户的意图,在智能客服系统的话术库中选择与目标用户的意图对应的话术以对目标用户进行应答。
[0154]
本发明实施例提供的语音识别装置900能够实现上述语音应答方法实施例中的各个过程,为避免重复,这里不再赘述。
[0155]
参见图10,图10为本技术实施提供的电子设备的结构示意图。如图10所示,电子设备1000包括:处理器1001、存储器1002及存储在存储器1002上并可在处理器上运行的计算机程序,电子设备1000中的各个组件通过总线接口1003耦合在一起,计算机程序被处理器1001执行时实现上述语音合成方法实施例的各个过程,或者实现上述语音纠正模型的训练方法实施例的各个过程,或者实现上述语音识别方法实施例的各个过程,或者实现上述语音应答方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0156]
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述语音合成方法实施例的各个过程,或者实现上述语音纠正模型的训练方法实施例的各个过程,或者实现上述语音识别方法实施例的各个过程,或者实现上述语音应答方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,的计算机可读存储介质,如只读存储器(read

only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0157]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而
且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0158]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
[0159]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜