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

一种基于语义注意力机制的多音字发音纠错方法及装置与流程

2021-06-04 14:26:00 来源:中国专利 TAG:多音字 语义 纠错 信息安全 发音


1.本发明属于深度学习算法及信息安全研究领域,具体涉及一种基于语义注意力机制的多音字发音纠错方法及装置。


背景技术:

2.语音识别技术和语音合成技术是建立一个有听和讲能力的设备所必需的两项关键技术,这两项技术可以使电脑或者移动设备具有类似于人一样的说话和听懂人说话的能力,是90年代以来信息产业的重要竞争市场。
3.早期的语音合成技术采用拼接合成的方法进行语音合成,该方法根据输入文本分析后的信息,从指定的语音库中挑选预先录制好的语音单元,进行必要的调整之后,拼接在一起实现语音合成。然而这种方法合成的语音存在连续语音单元之间发声不连续的问题。统计参数语音合成是另一种早期的语音合成方法,统计参数模型从语音中提取与发声关系密切的特征,如基频,频谱特征等,对提取到的语音特征进行声学建模,并以训练得到的模型为基础构建语音合成系统。但是由于统计参数模型在对语音特征进行提取时,需要对原始语音进行变换,该过程容易造成信息的丢失,并且由于统计参数模型难以重现声音的细节,导致合成的语音通常听起来沉闷且不自然。
4.由于深度神经网络的优异性能,语音合成技术已从早期的语音合成方法转变为利用深度神经网络进行语音合成。并且深度神经网络使得语音生成技术已经在手机移动端,语音导航,智能家居等领域中有了各种应用。如在移动端,语音生成技术已经可以根据文本生成相应的语音,实现与机主的人机交互,再比如一些诸如故事自动化阅读,喜马拉雅fm等手机应用已经得到了广泛的应用,移动阅读因其便捷性逐渐成为主流阅读方式。在语音导航应用中,语音生成技术可以根据文本生成相应的导航语音,为司机提供路线导航服务。在智能家居设备中,语音生成技术与语音识别技术相结合,从而实现了与主人的语音交互,并且可以识别主人的语音,从而控制一些智能家居设备。因此语音合成技术已经有了广泛的应用场景。
5.虽然语音合成技术已经在手机移动端,语音导航等领域有了各种应用,生成语音的质量已经非常高,但是在中文的语音合成中,由于中文中存在多音字,语音合成技术在处理中文的多音字发音时,仍然会发生错误,不能正确处理一些多音字的发音,如高德地图导航在导航阶段提醒司机系好安全带时,生成的语音会将“系安全带”中的“系”字错误的发音为“x
ì”
安全带。在故事自动化阅读的场景中,语音合成技术只能根据文本合成相应的语音,但是没有考虑中文发音中的多音字发音的问题,如将“一撮毛”中的“撮”字发音为“cu
ō”,而实际发音为“zu
ǒ”。这给用户带来了不好的体验,特别是儿童在学习字词发音的时候,这些错误的发音可能导致儿童错误的学习字词的发音,给今后的更正工作带来困难。也就是说,现在的语音合成技术在合成语音时没有关注多音字的前后字,如系安全带在生成语音时关注到了“安全带”三个字则可以将“系”正确发音为“x
ì”

6.基于以上语音合成技术在一些场景下不能正确处理多音字发音的问题,迫切地需
要研究一种基于语义注意力机制的多音字发音纠错方法,来解决语音合成模型在语音合成过程中,无法正确合成多音字的问题。


技术实现要素:

7.鉴于语音合成技术中,语音合成模型在一些场景下无法正确处理多音字的发音,错误的合成一些多音字音频的问题,本发明的目的是提供一种基于语义注意力机制的多音字发音纠错方法及装置,通过使语音合成模型在合成语音时,与前后的字词关联起来,避免语音合成模型错误的合成多音字。
8.为实现上述发明目的,本发明提供以下技术方案:
9.第一方面,一种基于语义注意力机制的多音字发音纠错方法,包括以下步骤:
10.获取文本数据,并对文本数据进行编码得到字嵌入向量矩阵;
11.构建包含编码器、语义注意力机制单元和解码器的语音合成模型并进行参数优化,其中,编码器用于将输入的字嵌入向量矩阵编码成字嵌入特征矩阵,语义注意力机制单元用于将每个字嵌入向量按照各自权重拆分成疑问部分、关键部分以及价值部分这三部分后,依据相邻字组的三部分计算相邻字组的相关性,以组成关联矩阵;解码器对输入的字嵌入向量矩阵和关联矩阵进行解码处理,输出梅尔线性谱;
12.利用参数优化后的语义合成模型对文本数据进行语音合成,输出梅尔线性谱,依据梅尔线性谱计算得到多音字发音纠错的语音合成结果。
13.优选地,所述编码器包括至少1个卷积层和双向长短时期记忆网络,通过卷积层对输入字嵌入向量的特征提取和双向长短时期记忆网络的特征关联提取,输出字嵌入特征。
14.优选地,所述依据相邻字的三部分计算相邻字的相关性包括:
15.针对由前后字组成的相邻字组,以前字的疑问部分与后字的关键部分的乘积作为相邻字组的得分后,将该得分与后字的价值部分的乘积作为相邻字组的相关性。
16.优选地,所述解码器包含至少1个卷积层、双向长短时期记忆网络以及线性预测层,其中,双向长短时期记忆网络对当前时刻输入的字嵌入特征和相关性与前一时刻的线性预测结果经过至少1个卷积层的卷积结果进行融合特征提取,得到的融合特征经过线性预测层得到线性预测结果,该线性预测结果经过卷积层操作后的结果与原线性预测结果融合后输出梅尔线性谱。
17.优选地,在对语音合成模型进行参数优化时,以语音合成模型输出的预测梅尔线性谱与真实梅尔线性普之间的均方误差作为损失函数,来优化语音合成模型的所有权重参数和偏置参数。
18.优选地,在对语音合成模型行参数优化前,需要构建包含多音字的文本数据集,通过手动录制音频的方式为文本数据集添加多音字音频,以构建文本的真实梅尔线性谱。
19.优选地,采用one

hot编码或bert

serving

server包将本数据进行编码得到字嵌入向量矩阵。
20.第二方面,一种基于语义注意力机制的多音字发音纠错装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,所述计算机存储器中还存储有参数优化后的语音合成模型,所述语音合成模型通过上述基于语义注意力机制的多音字发音纠错方法构建,所述计算机处理器执行计算机程序
时实现以下步骤:
21.获取文本数据,并对文本数据进行编码得到字嵌入向量矩阵;
22.利用语音合成模型对输入的字嵌入向量矩阵进行处理,获得梅尔线性谱;
23.依据梅尔线性谱计算得到多音字发音纠错的语音合成结果。
24.与现有技术相比,本发明具有的有益效果至少包括:
25.本发明提供的基于语义注意力机制的多音字发音纠错方法及装置,通过在语音合成模型中增加语义注意力机制,使语音合成模型在合成阶段,可以将输入的文本前后字词的语义关联起来,根据关联语义确定多音字的读音,避免语音合成模型在合成阶段无法正确处理多音字的问题,从而达到多音字发音纠错的目的。
附图说明
26.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
27.图1是本发明实施例提供的基于rnn结构的语音合成模型的结构示意图;
28.图2是本发明实施例提供的基于语义注意力机制的语音合成模型的结构示意图。
具体实施方式
29.为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
30.针对现在常用的语音合成模型存在的无法正确处理多音字发音的问题。实施例提供了一种基于语义注意力机制的多音字发音纠错方法,包括以下步骤:
31.步骤1,构建包含多音字的文本数据集。
32.实施例中,准备用于语音合成模型训练的数据集,如aishell

1,aishell

2数据集等,但是需要注意的是训练语音合成模型的数据集中应包含有多种多音字的音频,若所得的数据集未包含各种多音字发音的音频,则可以通过录制包含多音字的音频,并将其与对应文本加入到训练语音合成模型的数据集中,组成新训练集训练语音合成模型。具体过程如下:
33.step1:若获得数据集中已经包含了中文中常用的多音字音频,则可以忽略step2,将该数据集分为训练集和测试集后,使用训练集直接训练下述语音合成模型。
34.step2:若获得数据集中未包含足够的多音字发音音频,则需要通过手动录制音频的方式为所获得的数据集添加多音字音频,需要注意的是所录制的音频的采样率以及通道数应与所获得的数据集相同,并且应该在相对安静的环境中录制,避免其他噪声干扰音频的质量,录制好后给音频打上相应的文本,并将这部分音频与所获得的数据集组合在一起,并将其分为训练集和测试集,其中的训练集作为下述语音合成模型的训练数据集。
35.步骤2,搭建目前常用的基于rnn结构的语音合成模型,该语音合成模型主要由编码器和解码器构成。其具体步骤如下:
36.step1:首先输入文本会转为字嵌入向量,根据不同的应用场景,可以生成不同的嵌入向量,如使用one

hot编码作为嵌入向量,或使用bert

serving

server包也可以将字转为嵌入向量。
37.step2:构建编码器,提取字嵌入特征。编码器的结构如图1所示,该编码器由三个卷积层和一个双向长短期记忆网络构成,卷积网络和双向长短期记忆网络可以对不同长度的输入提取特征,从而可以是语音合成模型合成不同长度的语音。该编码器的输入为step1中的字嵌入向量,输出为经过卷积层卷积以及双向长短期记忆网络处理后的字嵌入特征。
38.step3:构建解码器。如图1所示,该解码器由双向长短期记忆网络,卷积层和线性预测层构成,输入为step2中的字嵌入特征,输出为梅尔线性谱。具体地,双向长短时期记忆网络对当前时刻输入的字嵌入特征和相关性与前一时刻的线性预测结果经过至少2个卷积层的卷积结果进行融合特征提取,得到的融合特征经过线性预测层得到线性预测结果,该线性预测结果经过卷积层操作后的结果与原线性预测结果融合后输出梅尔线性谱。得到的梅尔线性谱后可以通过griffin

lim算法获得对应与文本的语音。
39.步骤3,将语义注意力机制加入到所搭建的语音合成模型中,语义注意力机制是基于多头注意力机制构建的,其具体步骤如下:
40.step1:将语义注意力机制加入到所搭建的编码器和解码器结构中构成基于语义注意力机制的语音合成模型,其结构如图2基于语义注意力机制的语音合成模型所示。
41.step2:所构建的语义注意力机制是基于多头注意力机制的,所谓的注意力机制实际上是使提取到的字嵌入特征相互关联起来。具体流程如下:首先输入的语义注意力机制的每个字所对应的字嵌入特征会形成相应的三个矩阵,分别为疑问部分queries,关键部分keys和价值部分values。然后依据邻字组的三部分计算相邻字组的相关性,以组成关联矩阵,具过程为:针对由前后字组成的相邻字组,以前字的疑问部分与后字的关键部分的乘积作为相邻字组的得分后,将该得分与后字的价值部分的乘积作为相邻字组的相关性。
42.以“系安全带”这一组词为例,假设经过语义注意力机制后的“系”字的queries,keys和values分别为queries_a,keys_a和values_a,如下式所示:
43.queries_a=w
q
·
x

44.keys_a=w
k
x

45.values_a=w
v
·
x

46.其中,w
q
,w
k
,w
v
是待训练的参数,x

表示“系”字的嵌入特征。“安全带”的为queries_b,keys_b和values_b,通过下式获得:
47.queries_b=w
q
·
x
安全带
48.keys_b=w
k
x
安全带
49.values_b=w
v
·
x
安全带
50.其中,x
安全带
表示“安全带”的嵌入特征。则语义注意力机制首先会计算“系”与“安全带”之间的得分,其公式如下所示:
51.score=queries_a*keys_b
52.该得分会与values相乘,获得“系”与“安全带”之间的相关性,其公式如下所示:
53.relevance=scores*values_b
54.因此,可以获得“系”与“安全带”之间的相关性,而多头语义注意力机制实际上也
就是有多组的queries,keys和values,也就是每个字嵌入特征之间都可以建立关联,从而获得关联矩阵。解码器在解码时,可以根据关联矩阵和字嵌入特征矩阵进行解码,因此可以避免解码时出现的多音字发音错误的问题。
55.步骤4,构建基于语音注意力机制的语音合成模型的损失函数,由于解码器的输出为梅尔线性谱,因此采用均方误差作为损失函数,来衡量预测的梅尔线性普与真实梅尔线性普之间的差距,其公式如下所示:
[0056][0057]
其中,表示基于语义注意力机制的语音合成模型输出的梅尔线性谱,表示真实的梅尔线性普,需要注意的是通常语音合成模型在合成时都会进行分帧处理,所以i表示某一帧,n表示总帧数。
[0058]
步骤5,利用步骤1中的训练数据集对基于注意力机制的语音合成模型进行训练,使得该语音合成模型可以对输入的文本进行分析,关联字与词,使之在合成阶段可以正确合成多音字的发音。
[0059]
步骤6,在训练完成后,用测试集中的包含多音字的文本对训练好的基于语义注意力机制的语音成模型进行测试,若生成的语音的对多音字的发音仍达不到良好的效果,则可以通过修改模型的结构或者增加训练集中多音字音频数据的数量,重新训练模型,直到训练好的模型对测试集中的多音字有良好的效果为止。
[0060]
步骤7,应用时,获取文本数据,并对文本数据进行编码得到字嵌入向量矩阵,利用参数优化后的语义合成模型对文本数据进行语音合成,输出梅尔线性谱,依据梅尔线性谱计算得到多音字发音纠错的语音合成结果。
[0061]
针对现在常用的语音合成模型存在的无法正确处理多音字发音的问题。实施例提供了一种基于语义注意力机制的多音字发音纠错装置,包括计算机存储器、计算机处理器以及存储在所述计算机存储器中并可在所述计算机处理器上执行的计算机程序,计算机存储器中还存储有参数优化后的语音合成模型,语音合成模型通过上述基于语义注意力机制的多音字发音纠错方法构建,计算机处理器执行计算机程序时实现以下步骤:
[0062]
获取文本数据,并对文本数据进行编码得到字嵌入向量矩阵;
[0063]
利用语音合成模型对输入的字嵌入向量矩阵进行处理,获得梅尔线性谱;
[0064]
依据梅尔线性谱计算得到多音字发音纠错的语音合成结果。
[0065]
实际应用中,计算机存储器可以为在近端的易失性存储器,如ram,还可以是非易失性存储器,如rom,flash,软盘,机械硬盘等,还可以是远端的存储云。计算机处理器可以为中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)、或现场可编程门阵列(fpga),即可以通过这些处理器实现获取文本数据,并对文本数据进行编码得到字嵌入向量矩阵;利用语音合成模型对输入的字嵌入向量矩阵进行处理,获得梅尔线性谱;依据梅尔线性谱计算得到多音字发音纠错的语音合成结果。
[0066]
实施例提供的基于语义注意力机制的多音字发音纠错方法及装置,在现有常用的语音合成模型中加入语义注意力机制,通过构建的包含多音字的音频数据集训练基于语义注意力机制的语音合成模型,使该模型在合成阶段,可以将输入的文本前后字词关联起来,
避免语音合成模型在合成阶段无法正确处理多音字的问题,从而达到多音字发音纠错的目的。
[0067]
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜