基于多任务学习的前端文本分析方法与流程

allin2023-03-20  73



1.本发明涉及语音合成技术领域,具体是涉及基于多任务学习的前端文本分析方法。


背景技术:

2.文本转语音(text-to-speech,tts),又称语音合成。旨在从文本中合成可理解的自然语音,在人类交流中有着广泛的应用,长期以来一直是人工智能、自然语言处理和语音处理领域的研究课题。开发tts系统需要语言和人类语音生成的知识,涉及多个学科,包括语言学、声学、数字信号处理和机器学习。随着深度学习的发展,基于神经网络的tts蓬勃发展,大量的研究工作集中在神经tts的不同方面。因此,近年来合成语音的质量有了很大的提高。
3.在普通话文本到语音的合成中,前端的文本处理模块对合成语音的可懂度和自然度有很大影响。典型的普通话tts前端是一个基于管道的系统,由一系列文本处理组件构成,如文本归一化(tn)、中文分词(cws)、多音字消歧、韵律预测和注音(g2p)。这种结构使我们能够分治复杂的前端任务。但是,这种串行结构也带来了几个问题。一种是复杂的特征工程和数据标记工作,因为每个组件都需要不同的输入和输出标签。另一个是前端组件需要单独训练和优化,导致训练过程变得非常复杂。


技术实现要素:

4.针对上述背景技术指出的问题,本发明提供了基于多任务学习的前端文本分析方法。
5.为解决上述技术问题,本发明提出了基于多任务学习的前端文本分析方法,使用相同语料进行特征和结果标注,并使用cnn网络作为共享层对语料进行特征提取,然后分别放入两个bi-lstm中并行训练,针对两个任务输出结果,具体技术方案如下:
6.s1、数据标注:
7.人工对相同源语料进行数据标注,即针对不同的任务标注不同的标签;所述相同源语料为文本相同但标签不同的语料;
8.s2、特征准备:
9.s2-1、提取分词特征:
10.使用分词模型对语料进行分词,并使用[bmes]标签进行标注,作为一维特征fea1;所述分词模型指的是用于对文本进行分词的模型;
[0011]
s2-2、提取词性特征:
[0012]
使用词性标注模型对语料进行词性分析,将分析结果按照[pos]标签进行标记作为词性特征,作为一维特征fea2;
[0013]
[pos]标签即词性标签,如为名词则标签标记为[pos]n如为动词则标签标记为[pos]v以此类推;
[0014]
在文本处理任务中,机器首先要模拟理解语言。为了实现这一点,它必须在一定程度上能够了解自然语言的规则;它首先需要理解的是词,特别是每一个词的性质;所以我们使用词性标注模型对语料进行标注,并同样按照其对应的词性进行标注;
[0015]
s2-3、构建多音字特征:
[0016]
针对多音字任务,通过多音字词典构建多音字特征标签[poly],并作为一维特征fea3,以判断该字是否是多音字,若该字是多音字则标注为1,若不是则标注为0;该特征可以很好的指导模型完成多音字消歧任务;
[0017]
上述多音字特征构建完成后,同样拼接在对应文本后面,例如:北 [pos]ns[bmes]b[poly]0
‑‑
京[pos]ns[bmes]e[poly]0-$,上述例子从左到右依次为:语料文本、词性特征[pos]、分词特征[bmes]、多音字特征 [poly]、多音字标签(这两个字不是多音字故为
“‑”
)、韵律标签;
[0018]
s3、特征融合:
[0019]
s3-1、提取共享层特征:
[0020]
使用cnn作为共享层,对语句按char级别输入并提取深层次特征;
[0021]
cnn的输入是词嵌入层得到的字向量,cnn的输出是指字向量通过cnn 所提取到的特征向量;
[0022]
s3-2、拼接融合:
[0023]
通过词嵌入层构建word特征和char特征,再将fea1、fea2、fea3这三个特征和word转为特征向量,大小分别为,分词特征:[4
×
20]、词性特征:[60
×
20]、多音字特征:[2
×
20]、word:[6048
×
50],然后将上述特征向量进行拼接融合;
[0024]
s4、分类:
[0025]
将步骤s3中获取的深层次特征按时间排列成句子级别的特征,并将得到的特征向量分别送到两个bi-lstm网络中学习上下文时间依赖;然后分别完成多音字消歧任务和韵律预测任务。
[0026]
bi-lstm是bi-directional long short-term memory的缩写,是由前向 lstm与后向lstm组合而成,lstm是一种递归神经网络,会根据文本的历史信息和前一时刻的时间步信息来进行当前时刻的预测输出,前向lstm和后向lstm网络会随着时间逐步学习到下上文的信息。多音字标签共包括312个,韵律标签包括#1,#3两种。
[0027]
进一步地,在上述方案中,所述步骤s1在进行数据标注之前还包括数据处理,所述数据处理的方法为:对语料中的每句话按字切分,并过滤掉长度超过 250的语句。
[0028]
进一步地,在上述方案中,所述步骤s1中,针对不同的任务标注不同的标签具体为:将每个文本对应的多音字标签和韵律标签拼接在后面。
[0029]
进一步地,在上述方案中,所述步骤s2-1中,[bmes]标签为:b:开始、 m:中间、e:结束、s:独立。
[0030]
进一步地,在上述方案中,所述步骤s2-2中,词性特征包括:名词n形容词a动词v连词c助词u副词d叹词e连词c数词m标点符号w方位词f 介词p拟声词o量词q代词r。词性是有很多种类不仅含有60种,这的60种指的是,本方法使用的训练语料中仅含有60种词性标签,并不代表所有词性标签一共60。
[0031]
进一步地,在上述方案中,所述步骤s3-1具体为:首先通过词嵌入层将 char转化
为向量(对于中文来说char和word都是以单个字为单位。提取每个字后,使用词嵌入层将每个字转为向量),层大小为[6048
×
30],然后分批放入 cnn网络进行特征提取;cnn网络进行特征提取具体指的是cnn网络在语料中的文本中所提取到含有文本语义的数值型向量。所述cnn网络有一个卷积层,其中有5个卷积核,大小为3
×
3,激活函数为relu,char特征的维度与输入相同,为30,提取到的源语句信息用于后续两个任务的特征融合。
[0032]
因为两个任务使用相同语料,所以我们可以使用cnn网络作为共享层对源语句的深层信息进行提取,相比于单任务模型,该层可以共享两个任务所学到的信息,有更好的泛化效果(指模型对新样本的适应能力)。
[0033]
进一步地,在上述方案中,所述步骤s3-2中,为了保证两个任务可以动态选择特征,构建两个特征向量f1、f2进行拼接融合,维度为140;
[0034]
其中,任务1中第i个话语中第i个字的组合特征向量f1可以表示为:
[0035]
f1
ij
=[word
ij
,char
ij
,fea1
ij
,fea2
ij
,fea3
ij
]
[0036]
任务2中第i个话语中第i个字的组合特征向量f2可以表示为:
[0037]
f2
ij
=[word
ij
,char
ij
,fea1
ij
,fea2
ij
,fea3
ij
]
[0038]
两个任务可以根据实际情况的不同,动态调节所需特征来进行特征融合。
[0039]
5个特征的数量和顺序可以根据需要进行调整,原则是:可以根据训练结果和实际需求,来对效果不明显或对结果起不到正向影响的特征进行筛选。
[0040]
因为设置了两个特征的拼接向量f1、f2,故可以根据选择的特征个数进行拼接。比如对于f1可以选择三种特征进行拼接,f2可以选择两种或者构建更多的特征进行拼接。两个任务不需要同时保持一样个数的特征。
[0041]
进一步地,在上述方案中,所述步骤s4中,多音字消歧任务对每个字进行多音字判断后进行注音消歧,韵律预测任务对句中每个字进行韵律标注。
[0042]
进一步地,在上述方案中,所述步骤s4中,bi-lstm输出层后接一个线性层,输出维度为每个任务对应的label标签数量,激活函数为softmax。
[0043]
与现有技术相比,本发明的有益效果体现在以下几点:
[0044]
第一,使用多任务学习方法将多音字预测和韵律预测任务相结合,实现了一个统一的端到端的文本处理模型,即提供统一的前端结构,以更快速、更轻松地构建高质量的普通话tts系统。
[0045]
第二,在模型中使用了共享层,减少了模型所占用的计算资源,相对的提升了模型的合成速度。
[0046]
第三,统一模型的训练可以使用相同的数据作为输入,可以直接从原始文本中同时预测多音字和韵律,可以将两个任务并行训练,减少了数据标注的工作量,也节约了训练成本,并同时输出两个结果,简化了训练过程。
附图说明
[0047]
图1为本发明的基于多任务学习的前端文本分析方法模型框架图。
具体实施方式
[0048]
实施例
[0049]
为了验证本发明,在自建数据库上进行验证。该数据集中训练集包含 971500个句子,测试集验证集分别为3000句,多音字字典包含312个,韵律包含#1、#3两个。整个系统算法流程如图1所示,下面结合附图1对本发明做进一步详细地描述。
[0050]
图1是本发明基于多任务学习的前端文本分析方法模型框架图。如图1所示,主要包含以下步骤:
[0051]
s1、数据标注:
[0052]
首先进行数据处理:对语料中的每句话按字切分,并过滤掉长度超过250 的语句;
[0053]
然后人工对相同源语料进行数据标注,将每个文本对应的多音字标签和韵律标签拼接在后面;所述相同源语料为文本相同但标签不同的语料;
[0054]
s2、特征准备:
[0055]
s2-1、提取分词特征:
[0056]
使用分词模型对语料进行分词,并使用[bmes]标签进行标注,作为一维特征fea1;[bmes]标签为:b:开始、m:中间、e:结束、s:独立。所述分词模型指的是用于对文本进行分词的模型;
[0057]
s2-2、提取词性特征:
[0058]
使用词性标注模型对语料进行词性分析,将分析结果按照[pos]标签进行标记作为词性特征,作为一维特征fea2;
[0059]
词性特征包括:名词n形容词a动词v连词c助词u副词d叹词e连词 c数词m标点符号w方位词f介词p拟声词o量词q代词r。词性是有很多种类不仅含有60种,这的60种指的是,本方法使用的训练语料中仅含有60种词性标签,并不代表所有词性标签一共60。
[0060]
[pos]标签即词性标签,如为名词则标签标记为[pos]n如为动词则标签标记为[pos]v以此类推;
[0061]
在文本处理任务中,机器首先要模拟理解语言。为了实现这一点,它必须在一定程度上能够了解自然语言的规则;它首先需要理解的是词,特别是每一个词的性质;所以我们使用词性标注模型对语料进行标注,并同样按照其对应的词性进行标注,较全的词性标签过多,无法在这一一体现,以下举一个对全句进行词性标注的例子:“我就怕辞职了去不了云南”:我/r(代词)就/d(副词)怕 /v(动词)辞职/vn(动名词)了/u(助词)去/vf(趋向动词)不/d(副词)了/u(助词)云南 /ns(地名);
[0062]
s2-3、构建多音字特征:
[0063]
针对多音字任务,通过多音字词典构建多音字特征标签[poly],并作为一维特征fea3,以判断该字是否是多音字,若该字是多音字则标注为1,若不是则标注为0;该特征可以很好的指导模型完成多音字消歧任务;
[0064]
上述多音字特征构建完成后,同样拼接在对应文本后面,例如:北 [pos]ns[bmes]b[poly]0
‑‑
京[pos]ns[bmes]e[poly]0-$,上述例子从左到右依次为:语料文本、词性特征[pos]、分词特征[bmes]、多音字特征 [poly]、多音字标签(这两个字不是多音字故为
“‑”
)、韵律标签;
[0065]
s3、特征融合:
[0066]
s3-1、提取共享层特征:
[0067]
使用cnn作为共享层,对语句按char级别输入并提取深层次特征;
[0068]
首先通过词嵌入层将char转化为向量(对于中文来说char和word都是以单个字为单位。提取每个字后,使用词嵌入层将每个字转为向量),层大小为 [6048
×
30],然后分批放入cnn网络进行特征提取;cnn网络进行特征提取具体指的是cnn网络在语料中的文本中所提取到含有文本语义的数值型向量。所述cnn网络有一个卷积层,其中有5个卷积核,大小为3
×
3,激活函数为 relu,char特征的维度与输入相同,为30,提取到的源语句信息用于后续两个任务的特征融合。
[0069]
因为两个任务使用相同语料,所以我们可以使用cnn网络作为共享层对源语句的深层信息进行提取,相比于单任务模型,该层可以共享两个任务所学到的信息,有更好的泛化效果(指模型对新样本的适应能力)。
[0070]
cnn的输入是词嵌入层得到的字向量,cnn的输出是指字向量通过cnn 所提取到的特征向量;
[0071]
s3-2、拼接融合:
[0072]
通过词嵌入层构建word特征和char特征,再将fea1、fea2、fea3这三个特征和word转为特征向量,大小分别为,分词特征:[4
×
20]、词性特征:[60
×
20]、多音字特征:[2
×
20]、word:[6048
×
50],然后将上述特征向量进行拼接融合;
[0073]
为了保证两个任务可以动态选择特征,构建两个特征向量f1、f2进行拼接融合,维度为140;
[0074]
其中,任务1中第i个话语中第j个字的组合特征向量f1可以表示为:
[0075]
f1
ij
=[word
ij
,char
ij
,fea1
ij
,fea2
ij
,fea3
ij
]
[0076]
任务2中第i个话语中第j个字的组合特征向量f2可以表示为:
[0077]
f2
ij
=[word
ij
,char
ij
,fea1
ij
,fea2
ij
,fea3
ij
]
[0078]
两个任务可以根据实际情况的不同,动态调节所需特征来进行特征融合。
[0079]
5个特征的数量和顺序可以根据需要进行调整,原则是:可以根据训练结果和实际需求,来对效果不明显或对结果起不到正向影响的特征进行筛选。
[0080]
因为设置了两个特征的拼接向量f1、f2,故可以根据选择的特征个数进行拼接。比如对于f1可以选择三种特征进行拼接,f2可以选择两种或者构建更多的特征进行拼接。两个任务不需要同时保持一样个数的特征。
[0081]
s4、分类:
[0082]
将步骤s3中获取的深层次特征按时间排列成句子级别的特征,并将得到的特征向量分别送到两个bi-lstm网络中学习上下文时间依赖;然后分别完成多音字消歧任务和韵律预测任务。
[0083]
多音字消歧任务对每个字进行多音字判断后进行注音消歧,韵律预测任务对句中每个字进行韵律标注。
[0084]
bi-lstm输出层后接一个线性层,输出维度为每个任务对应的label标签数量,激活函数为softmax。
[0085]
如图1所示,为保证模型的大小以及解码速度,网络中只有一个隐藏层有 200个隐藏单元,图1中的两个lstm网络结构是相同的,隐层都是200,输入层是140(输入层单元是随着拼接的维度变化的,比如拼接两个特征那就是120),输出层是200。
[0086]
bi-lstm是bi-directional long short-term memory的缩写,是由前向 lstm与
后向lstm组合而成,lstm是一种递归神经网络,会根据文本的历史信息和前一时刻的时间步信息来进行当前时刻的预测输出,前向lstm和后向lstm网络会随着时间逐步学习到下上文的信息。多音字标签共包括312个,韵律标签包括#1,#3两种。
[0087]
本发明基于cnn-blstm的统一模型。其配置如下:
[0088]
cnn有一个卷积层。卷积层有n1个卷积核,卷积大小为k1×
k1。而后进行特征融合分别放入两个blstm,每个blstm中有1个隐藏层,每个层有u个隐藏单元。然后分别使用具有s1,s2个隐藏单元的完全连接层将特征映射到 label1,label2维。
[0089]
表1显示了基于多任务学习的前端文本分析方法所取得的效果。
[0090]
表1本发明的方法进行多音字消歧和韵律预测的效果
[0091][0092]
由表1中可以看出:1)该统一模型相比于单个模型在相同测试集下进行测试的准确率效果相当。2)在模型大小和解码速度方面要优于串行的单个模型。3)在模型训练时间和复杂程度相比单个模型都要简化很多。可以更快速、高效地构建高质量的tts系统,证明本发明是有效的。

技术特征:
1.基于多任务学习的前端文本分析方法,其特征在于,包括以下步骤:s1、数据标注:人工对相同源语料进行数据标注,即针对不同的任务标注不同的标签;所述相同源语料为文本相同但标签不同的语料;s2、特征准备:s2-1、提取分词特征:使用分词模型对语料进行分词,并使用[bmes]标签进行标注,作为一维特征fea1;s2-2、提取词性特征:使用词性标注模型对语料进行词性分析,将分析结果按照[pos]标签进行标记作为词性特征,作为一维特征fea2;s2-3、构建多音字特征:针对多音字任务,通过多音字词典构建多音字特征标签[poly],并作为一维特征fea3,以判断该字是否是多音字,若该字是多音字则标注为1,若不是则标注为0;s3、特征融合:s3-1、提取共享层特征:使用cnn作为共享层,对语句按char级别输入并提取深层次特征;s3-2、拼接融合:通过词嵌入层构建word特征和cha特征,再将fea1、fea2、fea3这三个特征和word转为特征向量,然后将上述特征向量进行拼接融合;s4、分类:将步骤s3中获取的深层次特征按时间排列成句子级别的特征,并将得到的特征向量分别送到两个bi-lstm网络中学习上下文时间依赖;然后分别完成多音字消歧任务和韵律预测任务。2.根据权利要求1所述的基于多任务学习的前端文本分析方法,其特征在于,所述步骤s1在进行数据标注之前还包括数据处理,所述数据处理的方法为:对语料中的每句话按字切分,并过滤掉长度超过250的语句。3.根据权利要求1所述的基于多任务学习的前端文本分析方法,其特征在于,所述步骤s1中,针对不同的任务标注不同的标签具体为:将每个文本对应的多音字标签和韵律标签拼接在后面。4.根据权利要求1所述的基于多任务学习的前端文本分析方法,其特征在于,所述步骤s2-1中,[bmes]标签为:b:开始、m:中间、e:结束、s:独立。5.根据权利要求4所述的基于多任务学习的前端文本分析方法,其特征在于,所述步骤s2-2中,词性特征包括:名词n形容词a动词v连词c助词u副词d叹词e连词c数词m标点符号w方位词f介词p拟声词o量词q代词r。6.根据权利要求1所述的基于多任务学习的前端文本分析方法,其特征在于,所述步骤s3-1具体为:首先通过词嵌入层将char转化为向量,层大小为[6048
×
30],然后分批放入cnn网络进行特征提取;提取到的源语句信息用于后续两个任务的特征融合。7.根据权利要求1所述的基于多任务学习的前端文本分析方法,其特征在于,所述步骤s3-2中,构建两个特征向量f1、f2进行拼接融合,维度为140;
其中,任务1中第i个话语中第j个字的组合特征向量f1可以表示为:f1
ij
=[word
ij
,char
ij
,fea1
ij
,fea2
ij
,fea3
ij
]任务2中第i个话语中第j个字的组合特征向量f2可以表示为:f2
ij
=[word
ij
,char
ij
,fea1
ij
,fea2
ij
,fea3
ij
]两个任务可以根据实际情况的不同,动态调节所需特征来进行特征融合。8.根据权利要求1所述的基于多任务学习的前端文本分析方法,其特征在于,所述步骤s4中,多音字消歧任务对每个字进行多音字判断后进行注音消歧,韵律预测任务对句中每个字进行韵律标注。9.根据权利要求1所述的基于多任务学习的前端文本分析方法,其特征在于,所述步骤s4中,bi-lstm输出层后接一个线性层,输出维度为每个任务对应的label标签数量,激活函数为softmax。

技术总结
本发明公开了基于多任务学习的前端文本分析方法,使用相同语料进行特征和结果标注,并使用CNN网络作为共享层对语料进行特征提取,然后分别放入两个Bi-LSTM中并行训练,针对两个任务输出结果,具体包括以下步骤:S1、数据标注;S2、特征准备;S3、特征融合;S4、分类。本发明使用多任务学习方法将多音字预测和韵律预测任务相结合,实现了一个统一的端到端的文本处理模型,即提供统一的前端结构,以更快速、更轻松地构建高质量的普通话TTS系统。统一模型的训练可以使用相同的数据作为输入,可以直接从原始文本中同时预测多音字和韵律,可以将两个任务并行训练,减少了数据标注的工作量,也节约了训练成本,并同时输出两个结果,简化了训练过程。训练过程。训练过程。


技术研发人员:黎天宇 张句 关昊天 王宇光
受保护的技术使用者:慧言科技(天津)有限公司
技术研发日:2022.02.14
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-6828.html

最新回复(0)