首页 / 专利库 / 人工智能 / 机器翻译 / 语音合成方法、装置、电子设备及存储介质

语音合成方法、装置、电子设备及存储介质

阅读:222发布:2020-05-13

专利汇可以提供语音合成方法、装置、电子设备及存储介质专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种语音合成方法、装置、 电子 设备及存储介质,涉及 人工智能 技术,利用人工智能中 机器学习 技术进行语音合成,该方法包括:获得输入文本对应的分词序列;利用已训练的基于注意 力 机制的语言表征模型确定分词序列对应的向量序列;利用韵律结构模型对向量序列进行韵律结构预测处理,确定韵律结构信息,韵律结构信息包括向量序列中的各 特征向量 对应的分词 片段 在合成的语音中对应的停顿时长和发音轻重;根据韵律结构信息和分词序列中各分词片段对应的读音,合成输入文本对应的语音。本申请提供的语音合成方法、装置、电子设备及存储介质,基于语言表征模型得到的向量序列,可表达出输入文本准确真实的语义,使得听合成语音起来更加自然。,下面是语音合成方法、装置、电子设备及存储介质专利的具体信息内容。

1.一种语音合成方法,其特征在于,包括:
获得输入文本对应的分词序列;
利用已训练的基于注意机制的语言表征模型确定所述分词序列对应的向量序列,所述向量序列中的特征向量与所述分词序列中的分词片段一一对应;
利用韵律结构模型对所述向量序列进行韵律结构预测处理,确定韵律结构信息,所述韵律结构信息包括所述向量序列中的各特征向量对应的分词片段在合成的语音中对应的停顿时长和发音轻重;
根据所述韵律结构信息和所述分词序列中各分词片段对应的读音,合成所述输入文本对应的语音。
2.根据权利要求1所述的方法,其特征在于,所述语言表征模型为神经机器翻译模型中的编码器,或者BERT模型,或者GPT模型。
3.根据权利要求1所述的方法,其特征在于,所述韵律结构模型包括双向卷积神经网络和至少两个独立的条件随机场CRF层,每个CRF层对应一个韵律结构层级;
所述利用韵律结构模型对所述向量序列进行韵律结构预测处理,确定韵律结构信息,具体包括:
将所述向量序列输入所述双向卷积神经网络,得到包含上下文特征的中间向量;
将所述中间向量分别输入所述至少两个独立的CRF层,确定每个韵律结构层级对应的韵律结构信息。
4.根据权利要求3所述的方法,其特征在于,通过如下方式训练所述韵律结构模型:
获取韵律样本集,每个韵律样本包括文本序列和为该文本序列标注的各韵律结构层级对应的韵律结构信息;
将所述韵律样本集中的文本序列对应的向量序列输入所述韵律结构模型,得到所述韵律结构模型中各CRF层输出的韵律结构信息;
针对每个CRF层,根据所述CRF层输出的韵律结果信息和标注的所述CRF层对应的韵律结构层级的韵律结构信息,确定所述CRF层对应的损失值;
根据各CRF层对应的损失值,优化所述韵律结构模型中双向卷积神经网络的权重参数和各CRF层的参数。
5.根据权利要求1至4中任一所述的方法,其特征在于,通过如下方式获取所述分词序列中各分词片段对应的读音:
确定所述分词序列中各分词片段中的非多音字的读音;
将所述分词序列中包含多音字的分词片段对应的特征向量输入针对所有多音字训练的多音字预测模型,得到所述分词序列中各分词片段中的多音字的读音。
6.根据权利要求5所述的方法,其特征在于,所述多音字预测模型包括至少一个中间层和一个输出层
所述将所述分词序列中包含多音字的分词片段对应的特征向量输入针对所有多音字训练的多音字预测模型,得到所述分词序列中的多音字的读音,具体包括:
将所述包含多音字的分词片段对应的特征向量输入所述多音字预测模型,利用所述至少一个中间层逐级提取输入的特征向量对应的特征值;
所述输出层根据最后一个中间层输出的特征值,确定各分类标签对应的概率,并根据所述多音字的所有读音对应的分类标签的概率,确定所述多音字的读音,其中,一个分类标签对应一个多音字的一种读音。
7.根据权利要求6所述的方法,其特征在于,通过如下方式训练所述多音字预测模型:
获取多音字样本集,每个多音字样本包括文本序列和该文本序列对应的分类标签;
将所述多音字样本集中的文本序列对应的向量序列输入所述多音字预测模型,得到所述文本序列中的多音字的读音;
根据所述文本序列中的多音字的读音和所述文本序列对应的分类标签,优化所述多音字预测模型的权重参数。
8.一种语音合成装置,其特征在于,包括:
分词处理模,用于获得输入文本对应的分词序列;
向量转换模块,用于利用已训练的基于注意力机制的语言表征模型确定所述分词序列对应的向量序列,所述向量序列中的特征向量与所述分词序列中的分词片段一一对应;
韵律预测模块,用于利用韵律结构模型对所述向量序列进行韵律结构预测处理,确定韵律结构信息,所述韵律结构信息包括所述向量序列中的各特征向量对应的分词片段在合成的语音中对应的停顿时长和发音轻重;
语音合成模块,用于根据所述韵律结构信息和所述分词序列中各分词片段对应的读音,合成所述输入文本对应的语音。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该计算机程序指令被处理器执行时实现权利要求1至7任一项所述方法的步骤。

说明书全文

语音合成方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及人工智能技术领域,尤其涉及一种语音合成方法、装置、电子设备及存储介质。

背景技术

[0002] 语音合成技术(Text-to-Speech,TTS)是将文字输入转成语音输出的技术,具体涉及声学、语言学、数字信号处理多媒体技术等多个领域,已广泛应用于人机交互中。
[0003] 目前,一般基于RNN(Recurrent Neural Network,循环神经网络)语言模型生成能够表征输入文本的上下文语义的向量序列,然后,基于该向量序列进行韵律结构预测、读音预测等处理,从而基于韵律结构预测结果和读音预测结果合成语音。
[0004] 但是,RNN语言模型存在记忆衰减的问题,无法学习到较长的输入文本中词语间的长距离依赖关系,这就导致基于RNN语言模型生成的向量序列无法表示出输入文本准确、真实的语义,降低了后续韵律结构预测和读音预测的准确率,影响最终合成的语音效果。发明内容
[0005] 本申请实施例提供一种语音合成方法、装置、电子设备及存储介质,以提升语音合成效果。
[0006] 一方面,本申请一实施例提供了一种语音合成方法,包括:
[0007] 获得输入文本对应的分词序列;
[0008] 利用已训练的基于注意力机制的语言表征模型确定所述分词序列对应的向量序列,所述向量序列中的特征向量与所述分词序列中的分词片段一一对应;
[0009] 利用韵律结构模型对所述向量序列进行韵律结构预测处理,确定韵律结构信息,所述韵律结构信息包括所述向量序列中的各特征向量对应的分词片段在合成的语音中对应的停顿时长和发音轻重;
[0010] 根据所述韵律结构信息和所述分词序列中各分词片段对应的读音,合成所述输入文本对应的语音。
[0011] 一方面,本申请一实施例提供了一种语音合成装置,包括:
[0012] 分词处理模,用于获得输入文本对应的分词序列;
[0013] 向量转换模块,用于利用已训练的基于注意力机制的语言表征模型确定所述分词序列对应的向量序列,所述向量序列中的特征向量与所述分词序列中的分词片段一一对应;
[0014] 韵律预测模块,用于利用韵律结构模型对所述向量序列进行韵律结构预测处理,确定韵律结构信息,所述韵律结构信息包括所述向量序列中的各特征向量对应的分词片段在合成的语音中对应的停顿时长和发音轻重;
[0015] 语音合成模块,用于根据所述韵律结构信息和所述分词序列中各分词片段对应的读音,合成所述输入文本对应的语音。
[0016] 可选地,所述语言表征模型为神经机器翻译模型中的编码器,或者BERT模型,或者GPT模型。
[0017] 可选地,所述韵律结构模型包括双向卷积神经网络和至少两个独立的条件随机场CRF层,每个CRF层对应一个韵律结构层级;
[0018] 所述韵律预测模块具体用于:
[0019] 将所述向量序列输入所述双向卷积神经网络,得到包含上下文特征的中间向量;
[0020] 将所述中间向量分别输入所述至少两个独立的CRF层,确定每个韵律结构层级对应的韵律结构信息。
[0021] 可选地,通过如下方式训练所述韵律结构模型:
[0022] 获取韵律样本集,每个韵律样本包括文本序列和为该文本序列标注的各韵律结构层级对应的韵律结构信息;
[0023] 将所述韵律样本集中的文本序列对应的向量序列输入所述韵律结构模型,得到所述韵律结构模型中各CRF层输出的韵律结构信息;
[0024] 针对每个CRF层,根据所述CRF层输出的韵律结果信息和标注的所述CRF层对应的韵律结构层级的韵律结构信息,确定所述CRF层对应的损失值;
[0025] 根据各CRF层对应的损失值,优化所述韵律结构模型中双向卷积神经网络的权重参数和各CRF层的参数。
[0026] 可选地,本申请实施例的语音合成装置还包括读音预测模块,用于:
[0027] 确定所述分词序列中各分词片段中的非多音字的读音;
[0028] 将所述分词序列中包含多音字的分词片段对应的特征向量输入针对所有多音字训练的多音字预测模型,得到所述分词序列中各分词片段中的多音字的读音。
[0029] 可选地,所述多音字预测模型包括至少一个中间层和一个输出层
[0030] 所述读音预测模块具体用于:
[0031] 将所述包含多音字的分词片段对应的特征向量输入所述多音字预测模型,利用所述至少一个中间层逐级提取输入的特征向量对应的特征值;
[0032] 所述输出层根据最后一个中间层输出的特征值,确定各分类标签对应的概率,并根据所述多音字的所有读音对应的分类标签的概率,确定所述多音字的读音,其中,一个分类标签对应一个多音字的一种读音。
[0033] 可选地,通过如下方式训练所述多音字预测模型:
[0034] 获取多音字样本集,每个多音字样本包括文本序列和该文本序列对应的分类标签;
[0035] 将所述多音字样本集中的文本序列对应的向量序列输入所述多音字预测模型,得到所述文本序列中的多音字的读音;
[0036] 根据所述文本序列中的多音字的读音和所述文本序列对应的分类标签,优化所述多音字预测模型的权重参数。
[0037] 一方面,本申请一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行计算机程序时实现上述任一种方法的步骤。
[0038] 一方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。
[0039] 本申请实施例提供的技术方案,将应用于机器翻译领域的语言表征模型迁移到语音合成的前端处理过程中,通过语言表征模型生成输入文本对应的向量序列,该语言表征模型是基于注意力机制的模型,由于意力机制可以让同一文本中间隔较长距离的词语直接联系,即可以很容易地学习到句子之间的长距离依赖关系,因此,基于上述语言表征模型得到的向量序列,可表达出输入文本准确、真实的语义,进而能够提高韵律结构预测的准确度,从而使得合成的语音能准确表达输入文本的真实语义,使得听合成语音起来更加自然。附图说明
[0040] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041] 图1为本申请实施例提供的语音合成方法的应用场景示意图;
[0042] 图2为本申请一实施例提供的语音合成方法的流程示意图;
[0043] 图3为本申请一实施例提供的韵律结构预测结果的一个示例;
[0044] 图4A为三个级联的序列标注模型的结构示意图;
[0045] 图4B为本申请一实施例提供的韵律结构模型的结构示意图;
[0046] 图4C为本申请一实施例提供的韵律结构模型的结构示意图;
[0047] 图5为本申请一实施例提供的训练韵律结构模型的流程示意图;
[0048] 图6为本申请一实施例提供的训练多音字预测模型的流程示意图;
[0049] 图7为本申请一实施例提供的获取分词序列中各分词片段对应的读音的流程示意图;
[0050] 图8为本申请一实施例提供的语音合成装置的结构示意图;
[0051] 图9为本申请一实施例提供的电子设备的结构示意图。

具体实施方式

[0052] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0053] 为了方便理解,下面对本申请实施例中涉及的名词进行解释:
[0054] 人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0055] 人工智能技术是一综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0056] 随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
[0057] 语音技术(Speech Technology)的关键技术有自动语音识别技术(ASR)和语音合成技术(TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
[0058] 自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
[0059] 机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
[0060] TTS:全称为Text To Speech,即文本转语音技术(也称为语音合成技术),它是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的汉语口语输出的技术。
[0061] TTS前端(TTS frontend):指TTS技术中文本分析模块,主要功能包括但不限于文本归一化(Text Normalization)、多音字消歧(Polyphone Disambiguation)、韵律结构预测(Prosodic Structure Prediction)等。
[0062] 文本归一化:是把输入文本中非标准的词转换为标准词,是TTS前端中比较重要的一个过程。
[0063] 多音字消歧:多音字是任何语音中比较常见的现象,它是相同单词在不同的语境下读音不同的现象。多音字消歧指在TTS过程中,确定当前多音字在当前语境下的具体读音的处理过程。
[0064] 韵律结构预测:韵律是指人阅读或说话过程中的停顿、重音、节奏等主观性语言学的范畴。在TTS中,韵律一般使用停顿时长、发音轻重来建模,而用模型确定输入文本的停顿时长、发音轻重的过程叫做韵律结构预测。
[0065] MNT:全称为Neural Machine Translation,中文含义为神经机器翻译
[0066] MNT Encoder:是指神经机器翻译模型中的编码器。
[0067] 迁移学习(Transfer Learning):是属于机器学习的一种研究领域,它专注于存储已有问题的解决模型,并将其利用在其他不同但相关问题上。
[0068] 语言表征模型(Language Representation Model):即得到自然语言文本对应的向量表征的模型,即将自然语言文本转化为特征向量的一种模型。常用的语言表征模型包括:神经机器翻译模型中的编码器、BERT模型、GPT模型等。
[0069] 注意力机制(Attention Mechanism):源于对人类视觉的研究,在认知科学中,由于信息处理的瓶颈,人类会选择性地关注所有信息的一部分,同时忽略其他可见的信息。注意力机制最成功的应用是机器翻译,一般的神经机器翻译模型采用“编码-解码”的方式进行序列到序列的转换,这种方式有两个问题:一是编码向量的容量瓶颈问题,即源语言所有的信息都需要保存在编码向量中,才能进行有效地解码;二是长距离依赖问题,即编码和解码过程中在长距离信息传递中的信息丢失问题。通过引入注意力机制,将源语言中每个位置的信息都保存下来,在解码过程中生成每一个目标语言的单词时,都通过注意力机制直接从源语言的信息中选择相关的信息作为辅助。这样的方式就可以有效地解决上面的两个问题。一是无需让所有的源语言信息都通过编码向量进行传递,在解码的每一步都可以直接访问源语言的所有位置上的信息;二是源语言的信息可以直接传递到解码过程中的每一步,缩短了信息传递的距离。
[0070] BERT模型:全称为Bidirectional  Encoder Representations from Transformers,意为来自变换器的双向编码器表征量,是一种新的语言表征模型。BERT模型旨在基于所有层的左、右语境来预训练深度双向表征,因此,预训练的BERT表征可以仅用一个额外的输出层进行微调,进而为很多任务(如问答和语言推理)创建当前最优模型,无需对任务特定架构做出大量修改
[0071] GPT模型:全称为Generative Pre-Training,意为生成式预训练模型,是一种新的语言表征模型,GPT最早提出于论文《Improving Language Understanding by Generative Pre-Training》,其旨使用无监督预训练和有监督微调来解决语言理解任务。GPT是一种通用的表征模型,适用于多种任务并能在不修改任务架构的同时得到非常好的效果。
[0072] F值为F-Measure(或F-Score),是一种统计量,是Precision和Recall加权调和平均,是IR(信息检索)领域的常用的一个评价标准,常用于评价分类模型的好坏。
[0073] 韵律结构层级,主要指话语停延结构的层级组织,包括韵律词的构成以及各韵律成分边界的界定等,通常叫做韵律切分。以中文为例,一般韵律结构层级可包括韵律词、韵律短语和语调短语三个层级。中文句子由很多词前后衔接构成,一个或者多个词共同构成了韵律词,一个或多个韵律词共同构成了韵律短语,然后一个或多个韵律短语共同构成了语调短语。
[0074] 韵律词的基本特点是:(1)由一个音步构成;(2)一般为三个音节以下的语法词或词组;(3)跨度为1-3个音节,大多数为2-3个音节,例如连词、介词等;(4)具有类似于语法词的连调模式和词重音模式,内部不出现节奏边界;(5)韵律词可以组成韵律短语。
[0075] 韵律短语的主要特点是:(1)由一个或几个韵律词组成;(2)跨度为7-9个音节;(3)内部各个韵律词之间可能出现韵律上的节奏分界,主要表现为韵律词末尾音节的延长和韵律词之间的音高重新设置;(4)韵律短语的调阶走势基本上呈降势;(5)具有相对稳定的短语重音配置模式,即与句法结构相关的常规重音模式。
[0076] 语调短语的主要特点是:(1)可能多音步;(2)内部可能包含不止一个韵律短语语调模式和韵律短语重音模式,因而会出现相关的节奏分界,主要表现为韵律短语末尾音节的延长和韵律短语之间的音高重新设置;(3)具有取决于不同语气或句型的语调模式,即具有特定的调阶走势,例如陈述句降,一般疑问句升,感叹句调阶总体抬高。
[0077] MLP(Multi-Layer Perceptron),即多层感知器,是一种趋向结构的人工神经网络,映射一组输入向量到一组输出向量。MLP可以被看做是一个有向图,由多个节点层组成,每一层全连接到下一层。除了输入节点,每个节点都是一个带有非线性激活函数的神经元(或称处理单元)。一种被称为反向传播算法的监督学习方法常被用来训练MLP。MLP是感知器的推广,克服了感知器无法实现对线性不可分数据识别的缺点。
[0078] 终端设备:可以安装各类应用,并且能够将已安装的应用中提供的对象进行显示的设备,该电子设备可以是移动的,也可以是固定的。例如,手机、平板电脑、各类可穿戴设备、车载设备、个人数字助理(personal digital assistant,PDA)、销售终端(point of sales,POS)或其它能够实现上述功能的电子设备等。
[0079] 附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
[0080] 在具体实践过程中,一般基于RNN语言模型生成能够表征输入文本的上下文语义的向量序列,然后,基于该向量序列进行韵律结构预测、读音预测等处理,从而基于韵律结构预测结果和读音预测结果合成语音。但是,RNN语言模型存在记忆力衰减的问题,无法学习到较长的输入文本中间隔距离较长的词语间的长距离依赖关系,这就导致基于RNN语言模型生成的向量序列无法表示出输入文本准确、真实的语义,降低了后续韵律结构预测和读音预测的准确率,影响最终合成的语音效果。例如,针对同一文本,不同的停顿方式和发音轻重会导致表达的意思和情感会不同,以文本“我知道你会弹琴”为例,“我/知道(重音)/你会弹钢琴”表达的意思是“你不要瞒着我啦,我已经知道你会弹钢琴了”,“我知道你会/弹钢琴(重音)”表达的意思是“我不知你会不会别的乐器,但我知道你会弹钢琴”,如果不考虑上下文的语义,很容易得到错误的停顿方式和发音轻重,从而使得合成的语音无法表达出准确的语义。例如,应”为多音字,读音可以是[yìng]或[yīng],输入文本为“应XXXXXX公司XXX领导的邀请参加XXX会议”中的“应”的读音应该为[yìng],但由于RNN语言模型的长上下文依赖问题,会导致预测结果不准确。此外,RNN语言模型需要通过大量训练数据的训练,才能获得良好的性能和泛化能力,然而,针对大多数TTS任务来说,其可用的训练数据的数量十分有限,导致训练得到的RNN语言模型的性能和泛化能力较差。
[0081] 为此,本申请的发明人利用机器学习中的迁移学习,将应用于机器翻译领域的语言表征模型迁移到语音合成的前端处理过程中,通过该语言表征模型生成输入文本对应的向量序列,该语言表征模型是基于注意力机制的模型,由于意力机制可以让同一文本中间隔较长距离的词语直接联系,即可以很容易地学习到句子之间的长距离依赖关系,因此,基于上述语言表征模型得到的向量序列,可表达出输入文本准确、真实的语义,相比现有的RNN语言模型等技术方案,可有效地解决长文本上下文依赖的问题,从而大大提升语音合成效果。且训练语言表征模型的平行双语语料的数量充足,无需担心样本数量少、样本稀疏的问题。具体的语音合成方法包括:获得输入文本对应的分词序列;利用已训练的基于注意力机制的语言表征模型确定该分词序列对应的向量序列,该向量序列中的特征向量与该分词序列中的分词片段一一对应;利用韵律结构模型对该向量序列进行韵律结构预测处理,确定韵律结构信息,韵律结构信息包括该向量序列中的各特征向量对应的分词片段在合成的语音中对应的停顿时长和发音轻重;根据韵律结构信息和分词序列中各分词片段对应的读音,合成为输入文本对应的语音。
[0082] 在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
[0083] 首先参考图1,其为本申请实施例提供的语音合成方法的应用场景示意图。该应用场景包括终端设备101和语音服务器102。其中,终端设备101和语音服务器102之间通过无线或有线网络连接,终端设备101包括但不限于智能音箱、智能手表、智能家居等智能设备,智能机器人、AI客服、行信用卡催单电话系统,以及具有语音交互功能智能电话、移动电脑、平板电脑等电子设备。语音服务器102可提供相关的语音服务器,如语音识别、语音合成等服务,语音服务器102可以是一台服务器、若干台服务器组成的服务器集群或云计算中心。
[0084] 在一种可能的应用场景下,用户10与终端设备101进行交互,终端设备101将用户10输入的语音数据发送给语音服务器102。语音服务器102对终端设备101发送的语音数据进行语音识别处理和语义解析处理,根据语义解析结果确定出相应的回复文本,然后,利用TTS技术合成回复文本对应的语音,将合成的语音发送给终端设备101。终端设备101播放语音服务器102发送的语音,以向用户10作出反馈,实现用户10与终端设备101之间的语音交互。
[0085] 在另一种可能的应用场景下,终端设备101向语音服务器102发送语音合成请求,该语音合成请求中包含待播报文本。语音服务器102利用TTS技术合成待播报文本对应的语音,并将合成的语音发送给终端设备101。终端设备101播放语音服务器102反馈的语音,使得终端设备101能够通过语音播报的方式输出待播报文本。
[0086] 本申请实施例提供的语音合成方法,可用于对任意一门语言对应的文本进行处理,得到该语言对应的语音,例如中文、英文、日文、德文等。本发明实施例中主要是以对中文的处理方式为例进行说明的,对其他语言的处理方式与此类似,本申请实施例中不再一一举例说明。
[0087] 当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其它可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
[0088] 为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。
[0089] 本申请实施例提供的方案涉及人工智能的语音合成技术,下面结合图1所示的应用场景,对本申请实施例提供的技术方案进行说明。
[0090] 参考图2,本申请实施例提供一种语音合成方法,包括以下步骤:
[0091] S201、获得输入文本对应的分词序列。
[0092] 本申请实施例中,输入文本可以是终端设备发送给语音服务器的待播报文本,或者基于终端设备发送的语音数据确定出的回复文本等需要合成语音的文本,本申请对输入文本的来源不作限定。
[0093] 具体实施时,可通过现有的分词工具(如jieba、SnowNLP、THULAC、NLPIR等)对输入文本进行分词处理,以将输入文本分成若干分词片段,并为每个分词片段标注词性,将这若干分词片段以及各分词片段对应的词性标注按序组成分词序列。例如,输入文本为“比赛还有十五分钟”,则分词结果包括“比赛”、“还”、“有”、“十五”、“分钟”这五个分词片段,并利用词性标注算法得到每个分词片段的词性,“比赛”的词性为名词(用符号“n”表示),“还”的词性为副词(用符号“adv”表示),“有”的词性为动词(用符号“v”表示),“十五”的词性为数词(用符号“m”表示),“分钟”的词性为量词(用符号“q”表示),输入文本对应的分词序列最终可表示为:{比赛/n,还/adv,有/v,十五/m,分钟/q}。常见的词性标注算法包括隐尔可夫模型(Hidden Markov Model,HMM)、条件随机场(Conditional random fields,CRFs)等,词性标注算法为现有技术,此处不再赘述。
[0094] 进一步地,在分词处理前还可以先对输入文本进行文本归一化,即将输入文本中非标准词转换为标准文本,若输入文本为中文,则归一化后的输入文本中只包含中文汉字,若输入文本中还包括英文,则还可以将英文缩写还原成完整的英文单词。例如,输入文本为“12:11双方比分12:11,比赛还有15分钟。”,经过文本归一化处理后得到“十二点十一分双方比分十二比十一,比赛还有十五分钟。”。输入文本经过文本归一化处理后,可以提高分词处理的准确度。
[0095] S202、利用已训练的基于注意力机制的语言表征模型确定分词序列对应的向量序列,该向量序列中的特征向量与该分词序列中的分词片段一一对应。
[0096] 具体实施时,将通过步骤S201获取的分词序列输入语言表征模型,该语言表征模型基于分词序列中的每个分词片段以及词性标注,得到各个分词片段对应的特征向量,从而得到由各个分词片段对应的特征向量组成的向量序列。
[0097] 例如,输入文本为“比赛还有十五分钟”,其对应的分词序列为{比赛/n,还/adv,有/v,十五/m,分钟/q},将该分词序列输入语言表征模型,得到向量序列{x1,x2,x3,x4,x5},其中,x1为“比赛”对应的特征向量,x2为“还”对应的特征向量,x3为“有”对应的特征向量,x4为“十五”对应的特征向量,x5为“分钟”对应的特征向量。
[0098] 需要说明的是,不同的输入文本中,相同的分词片段对应的特征向量可能不同。例如,分词片段“苹果”在输入文本“我喜欢吃苹果”和“你的手机是苹果吗”中表示的含义是不同的,模型训练过程中,基于注意力机制的语言表征模型可学习到两者的不同,进而在使用该语言表征模型对上述两个输入文本进行向量转换时,针对其中的分词片段“苹果”,可获得不同的特征向量。
[0099] 具体实施时,语言表征模型可以是神经机器翻译模型中的编码器,语言表征模型还可以是BERT模型或者GPT模型。其中,神经机器翻译模型中的编码器,BERT模型或者GPT模型均是已训练好的模型,训练用的语料可以是平行双语语料,当转用到语音合成过程中时,无需再对模型进行训练。
[0100] S203、利用韵律结构模型对向量序列进行韵律结构预测处理,确定韵律结构信息,韵律结构信息包括向量序列中的各特征向量对应的分词片段在合成的语音中对应的停顿时长和发音轻重。
[0101] 本申请实施例中的韵律结构模型是指,能够基于输入文本对应的向量序列,预测出该输入文本对应的各分词片段的停顿时长和发音轻重的模型。可基于大量的训练数据训练神经网络,得到韵律结构模型。
[0102] 实际应用中,韵律结构预测处理可看成是一个序列标注问题,即为每个分词序列中的每个分词片段标注对应的停顿时长和发音轻重,得到韵律结构信息。
[0103] 具体实施时,标注停顿时长的方式可根据选用的层级结构模式确定,例如,中文中常用的层级结构模式有“韵律词(PW)-韵律短语(PP)-语调短语(IP)”的层级结构,该层级结构模式划分了韵律词、韵律短语和语调短语这三个韵律结构层级。其中,韵律词对应的停顿时长最短,韵律短语对应的停顿时长居中,语调短语对应的停顿时长最长,被标注为一个韵律词的分词片段之间不存在停顿。通过上述方式标注一个分词序列中的每个分词片段所属的韵律结构层级,从而根据每个分词片段所属的韵律结构层级,确定该分词片段与下一个分词片段之间的停顿时长。为方便描述,相邻韵律词之间对应的停顿时长可记为T1,相邻韵律短语之间对应的停顿时长可记为T2,相邻语调短语之间对应的停顿时长可记为T3,其中,T1
[0104] 举例说明,输入文本为“十二点十一分双方比分十二比十一,比赛还有十五分钟。”,对该输入文本对应的向量序列进行韵律结构预测处理后,得到针对停顿时长的标注结果如图3所示,图中,PW表示韵律词,PP表示韵律短语,IP表示语调短语。从韵律词层级来看,分词片段“还”和“有”被标注为一个韵律词,表示“还”和“有”之间不存在停顿,分词片段“比赛”被标注为一个韵律词,则表示“比赛”和“还”之间的停顿时长为T1;从韵律短语层级来看,分词片段“比赛”、“还”和“有”被标注为一个韵律短语,分词片段“十五”和“分钟”被标注为一个韵律短语,则“比赛还有”和“十五分钟”之间的停顿时长为T2;从语调短语层级来看,“十二点十一分双方比分十二比十一”被标注为一个语调短语,“比赛还有十五分钟”被标注为一个语调短语,则“十二点十一分双方比分十二比十一”和“比赛还有十五分钟”之间的停顿时长为T3。
[0105] 图3所示的标注结果可通过标注序列的方式表示,方便机器识别,如{十二,点/PW,十一,分/PP,双方/PW,比分/PP,十二/PW,比/PW,十一/IP,比赛/PW,还,有/PP,十五/PW,分钟}。合成语音时,根据每个分词片段对应的停顿时长对应的标注进行合成,例如,“十二”后面没有任何标注,表示不需要停顿,“点”的标注为“PW”,表示“点”之后需要停顿T1,“分”的标注为“PP”,表示“分”之后需要停顿T2,“十一”的标注为“IP”,表示“十一”之后需要停顿T3。
[0106] 具体实施时,发音轻重可划分为轻读和重读。实际应用中,韵律结构模型可仅标注出输入的向量序列中那些需要重读的特征向量,该特征向量对应的分词片段即为需要重读的词。
[0107] 需要说明的是,韵律结构模型输出的是对向量序列的标注结果,为了方便描述和理解,才将图3中的标注结果以及对应的标注序列中的特征向量替换为对应的分词片段进行说明。
[0108] S204、根据韵律结构信息和分词序列中各分词片段对应的读音,合成输入文本对应的语音。
[0109] 具体实施时,可预先构建好各语言的发音列表,该发音列表包括该类语言中的各个字与发音之间的映射关系。以中文为例,通过中文发音列表,得到输入文本中每个汉字对应的汉语拼音;以英文为例,通过英文发音列表,得到输入文本中每个子对应的英文音标。实际应用中,一个字可能对应多个发音,因此,发音列表中的一个字可对应至少一个读音。
例如,中文中的汉字经常出现多音字的情况,因此,中文发音列表中的一个汉字可能对应多个读音,例如,汉字“还”有两种读音[hái]和[huán]。
[0110] 具体实施时,可通过预先构建的发音列表,获得分词序列中各分词片段中每个字对应的读音,即可得到每个分词片段对应的读音。
[0111] 在确定出韵律结构信息和每个分词片段对应的读音之后,即可根据韵律结构信息和读音进行声学处理,合成输入文本对应的语音,具体的合成方式为现有技术,不再赘述。
[0112] 本申请实施例提供的语音合成方法,将应用于机器翻译领域的语言表征模型迁移到语音合成的前端处理过程中,通过语言表征模型生成输入文本对应的向量序列,该语言表征模型是基于注意力机制的模型,由于意力机制可以让同一文本中间隔较长距离的词语直接联系,即可以很容易地学习到句子之间的长距离依赖关系,因此,基于上述语言表征模型得到的向量序列,可表达出输入文本准确、真实的语义,进而能够提高韵律结构预测的准确度,从而使得合成的语音能准确表达输入文本的真实语义,使得听合成语音起来更加自然。
[0113] 进一步地,本申请中语言表征模型是从机器翻译领域迁移过来的,即直接使用机器翻译领域中已训练好的模型,无需额外对语言表征模型进行训练。由于机器翻译领域中用于训练语言表征模型的平行双语语料的数量十分充足,因此,无需担心样本数量少、样本稀疏的问题。
[0114] 在上述任一实施方式的基础上,如图4A所示,韵律结构模型40可以是的三个级联的序列标注模型,每个序列标注模型可采用LSTM(Long Short-Term Memory,长短期记忆网络)层+CRF层的结构。将向量序列输入第一级序列标注模型401,得到输出的针对韵律词层级的标注序列Y1;然后,将Y1输入第二级序列标注模型402,得到输出的针对韵律短语层级的标注序列Y2;最后,将Y2输入第三级序列标注模型403,得到输出的针对语调短语层级的标注序列Y3,标注序列Y3即为预测的韵律结构信息。
[0115] 当利用图4A所示的韵律结构模型进行韵律结构预测时,需要分别训练三个序列标注模型,而一些TTS任务的训练样本数量有限,因此无法训练得到效果较好的韵律结构模,且三个序列标注模型级联预测的方式,容易加大最终输出的韵律结构预测结果的误差。
[0116] 为此,在上述任一实施方式的基础上,本申请的韵律结构模型可采用如图4B所示的结构,该韵律结构模型包括双向卷积神经网络和至少两个独立的CRF(conditional random field,条件随机场)层,每个CRF层对应一个韵律结构层级,双向卷积神经网络的输入端即为韵律结构模型的输入端,双向卷积神经网络的输出端分别连接各CRF层的输入端,各CRF层的输出分别为其对应的韵律结构层级的韵律结构信息。
[0117] 具体实施时,双向卷积神经网络包括但不限于双向LSTM或双向GRU等。
[0118] 基于如图4B所示的韵律结构模型,步骤S203具体包括:将向量序列输入双向卷积神经网络,得到包含上下文特征的中间向量;将中间向量分别输入至少两个独立的CRF层,确定每个韵律结构层级对应的韵律结构信息。
[0119] 基于图4B所示的韵律结构模型,各韵律结构层级之间可共享同一双向卷积神经网络的权重参数,同时还将各韵律结构层级之间的内在信息紧密结合,通过一个模型进行一次预测,即可得到各个韵律结构层级对应的韵律结构信息,既提高了韵律结构模型的运算速度,又保证了韵律结构模型的预测效果。此外,只需训练一个韵律结构模型,大大减少了训练所需的样本数量。
[0120] 具体实施时,韵律结构模型中的CRF层的数量根据选用的层级结构模式确定。例如,若选用“韵律词(PW)-韵律短语(PP)-语调短语(IP)”的层级结构模式,则韵律结构模型中可设置三个独立的CRF层,各CRF层分别用于预测韵律词、韵律短语和语调短语。
[0121] 实际应用中,在对输入文本进行韵律结构预测的过程中,一般认为语调短语是非常容易识别出来的,因为语调短语基本都是由标点符号分隔开的,因此,对输入文本的韵律结构预测主要对韵律词和韵律短语这两个韵律结构层级进行预测。为此,具体实施时,可采用图4C所示的韵律结构模型,该韵律结构模型包括双向卷积神经网络和两个独立的CRF层,其中,PW_CRF层用于预测韵律词,PP_CRF层用于预测韵律短语。如图4C所示,将分词序列W={W1,W2,W3,W4}对应的向量序列X={x1,x2,x3,x4}输入双向卷积神经网络,双向卷积神经网络输出中间向量h={h1,h2,h3,h4},然后,将中间向量h分别输入PW_CRF层和PP_CRF层,PW_CRF层输出针对韵律词的预测结果,PP_CRF层输出针对韵律短语的预测结果。图4C中,PW_CRF层的输出结果为{No Break,Break,No Break,Break},表示W1和W2之间不需要停顿(No Break),即W1和W2为一个韵律词,W2和W3之间停顿时长为T1(Break),W3和W4之间不需要停顿(No Break),即W3和W4为一个韵律词;PP_CRF层的输出结果为{No Break,No Break,No Break,Break},表示W1、W2、W3和W4为一个韵律短语,W4之后需要停顿T2时长。
[0122] 当采用图4C所示的韵律结构模型时,语调短语的预测可根据输入文本中的标签确定,即每个标点符号后需要停顿T3时长。例如,输入文本为“比赛还有十五分钟,加油!”,分词序列为{比赛,还,有,十五,分钟,加油},则语调短语层级的标注为{No Break,No Break,No Break,No Break,Break,Break}。
[0123] 具体实施时,参考图5,可通过如下方式训练如图4B或图4C所示的韵律结构模型:
[0124] S501、获取韵律样本集,每个韵律样本包括文本序列和为该文本序列标注的各韵律结构层级对应的韵律结构信息。
[0125] 具体实施时,预先对训练用的每个语料进行分词处理,得到每个语料对应的分词片段组成的文本序列,并为每个文本序列标注韵律结构信息。
[0126] 具体实施时,若希望训练得到能够预测韵律词和韵律短语的韵律结构模型,则分别标注韵律词对应的韵律结构信息和韵律短语对应的韵律结构信息。例如,文本序列W={W1,W2,W3,W4}对应的韵律词的标注可以是{No Break,Break,No Break,Break},表示W1和W2之间不需要停顿(No Break),即W1和W2为一个韵律词,W2和W3之间停顿时长为T1(Break),W3和W4之间不需要停顿(No Break),即W3和W4为一个韵律词;韵律短语的标注可以是{No Break,No Break,No Break,Break},表示W1、W2、W3和W4为一个韵律短语,W4之后需要停顿T2时长。具体的标注方式不限于上述列举的方式。
[0127] 具体实施时,若希望训练得到能够预测韵律词、韵律短语和语调短语的韵律结构模型,则分别标注韵律词对应的韵律结构信息、韵律短语对应的韵律结构信息和语调短语对应的韵律结构信息,具体标注方式与用于预测韵律词和韵律短语的韵律结构模型的类似,不再赘述。
[0128] S502、将韵律样本集中的文本序列对应的向量序列输入韵律结构模型,得到韵律结构模型中各CRF层输出的韵律结构信息。
[0129] 具体实施时,可通过步骤S202中的语言表征模型获取文本序列对应的向量序列。
[0130] 具体实施时,若希望训练得到能够预测韵律词和韵律短语的韵律结构模型,可仅设置两个独立的CRF层;若希望训练得到能够预测韵律词、韵律短语和语调短语的韵律结构模型,则需要设置三个独立的CRF层。
[0131] S503、针对每个CRF层,根据该CRF层输出的韵律结果信息和标注的该CRF层对应的韵律结构层级的韵律结构信息,确定该CRF层对应的损失值。
[0132] 其中,各CRF层输出的韵律结构信息的格式可参考图4C所示的韵律结构模型中各CRF层输出的格式。
[0133] 以图4C所示的两个独立的CRF层为例,可计算韵律样本原有标注中韵律词对应的韵律结构信息和PW_CRF层输出的韵律词对应的韵律结构信息之间的交叉熵,作为PW_CRF层对应的损失值,并计算韵律样本原有标注中韵律短语对应的韵律结构信息和PP_CRF层输出的韵律短语对应的韵律结构信息之间的交叉熵,作为PP_CRF层对应的损失值。
[0134] S504、根据各CRF层对应的损失值,优化该韵律结构模型中双向卷积神经网络的权重参数和各CRF层的参数。
[0135] 在具体实施时,可将各CRF层对应的损失值之和作为整个模型的损失值,进而利用梯度下降算法对神经网络的参数进行调整以期减小损失函数,直至模型收敛,停止模型训练,得到训练好的韵律结构模型。
[0136] 由于中文中存在大量的多音字,因此,在确定分词序列中各分词片段对应的读音时,还需要对分词序列中包含的多音字进行多音字消歧处理。
[0137] 具体实施时,可结合上下文语义,确定分词序列中包含的多音字对应的读音。具体的,基于语言表征模型得到的特征向量很好的提取了输入文本中的上下文语义,因此,可以基于包含多音字的分词片段对应的特征向量进行多音字预测,实现多音字消歧。
[0138] 现有多音字消歧方案通常是,一个多音字建立一个对应的MLP模型,该MLP模型的输入为该多音字的特征向量,输出为多音字对应的分类标签,比如“还”字有[hái]和[huán]两个读音,那么对应的MLP模型输出只能为分类标签“0”或“1”。上述针对每个多音字训练一个专门的MLP模型的方式存在以下缺陷:对于大多数多音字来说,可用的训练样本的数量很小(小于1000),因此,无法有效地训练对应的MLP模型。
[0139] 为此,本申请实施例对所有多音字使用同一多音字预测模型,这样,所有多音字可共享音字预测模型的中间层的权重参数,解决上述训练数据稀疏的问题。
[0140] 具体实施时,对所有多音字的读音进行统计,并为所有多音字的读音分配唯一的分类标签,即一个分类标签对应一个多音字的一种读音。比如“还”字有[hái]和[huán]两个读音,“还”[hái]对应的分类标签为“0”,“还”[huán]对应的分类标签为“1”,“行”字有[háng]、[hàng]、[héng]和[xíng]四个读音,“行”[háng]对应的分类标签为“2”、“行”[hàng]对应的分类标签为“3”、“行”[héng]对应的分类标签为“4”,“行”[xíng]对应的分类标签为“5”,以此类推,这样一来,多音字预测模型输出的分类标签的数量为全部多音字的读音个数的总和N。理论上,预测时,多音字预测模型可输出N个分类标签的概率值,即可输出所有多音字的读音对应的概率值。但是,本申请在实际预测过程中,只需要获得当前预测的多音字对应的读音,因此,可在多音字预测模型的输出层中,将与当前预测的多音字无关的概率值MASK(忽略)掉,最终只输出当前预测的多音字对应的读音分类结果。
[0141] 具体实施时,多音字预测模型包括一个输入层、至少一个中间层和一个输出层。其中,通过输入层输入当前预测的多音字所属分词片段对应的特征向量;至少一个中间层级联,通过至少一个中间层逐级提取通过输入层输入的特征向量对应的特征值,最后一个中间层将输出的特征值输入输出层;输出层获取最后一个中间层输出的特征值(即N个分类标签的概率值),MASK掉除当前预测的多音字的所有读音对应的分类标签以外的其他分类标签的概率值,从当前预测的多音字的所有读音对应的分类标签的概率值中,选取概率值最大的分类标签对应的读音,作为当前预测的多音字的读音。
[0142] 具体实施时,参考图6,可通过如下方式训练多音字预测模型:
[0143] S601、获取多音字样本集,每个多音字样本包括文本序列和该文本序列对应的分类标签。
[0144] 具体实施时,预先对用于训练多音字预测模型的每个语料进行分词处理,得到每个语料对应的分词片段组成的文本序列,并根据每个文本序列中的多音字的读音,标注该文本序列对应的分类标签。具体地,若一个语料中只有一个多音字,则基于该语料得到一个多音字样本;若一个语料中包含多个多音字,则基于该语料可得到多个多音字样本。
[0145] 例如,语料为“比赛还有十五分钟”,其中仅包含一个多音字“还”,其读音为[hái],则语料为“比赛还有十五分钟”对应的文本序列{比赛,还,有,十五,分钟}的分类标签为“0”,即可到一个多音字样本:{比赛,还,有,十五,分钟},分类标签为“0”。
[0146] 例如,语料为“参差不齐”,其中包含两个多音字“参”和“差”,则可以得到两个多音字样本,假设“参”[cēn]的分类标签为“100”,“差”[cī]的分类标签为“155”,则一个多音字样本为:{参差不齐},分类标签为“100”,另一个多音字样本为:{参差不齐},分类标签为“155”。
[0147] S602、将多音字样本集中的文本序列对应的向量序列输入多音字预测模型,得到该文本序列中的多音字的读音。
[0148] 具体实施时,可通过步骤S202中的语言表征模型获取文本序列对应的向量序列。
[0149] S603、根据该文本序列中的多音字的读音和该文本序列对应的分类标签,优化该多音字预测模型的权重参数。
[0150] 在具体实施时,可根据该多音字样本原有的分类标签和多音字预测模型输出的该多音字样本对应的读音,计算用于确定两者偏差的损失函数,进而利用梯度下降算法对神经网络的参数进行调整以期减小损失函数,直至模型收敛,停止模型训练,得到训练好的多音字预测模型。
[0151] 本申请实施例中的多音字预测模型,可通过神经网络训练得到,可用的神经网络包括但不限于以下几种类型:残差网络(ResNet)、卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Network,RNN)、深度神经网络(Deep Neural Network,DNN)、深度置信网(Deep Belief Nets,DBNs)等。
[0152] 具体地,如图7所示,可通过如下方式获取分词序列中各分词片段对应的读音:
[0153] S701、确定分词序列中各分词片段中的非多音字的读音。
[0154] 具体实施时,发音列表中记录了哪些字为多音字,哪些字为非多音字,因此,可通过发音列表,快速地确定分词序列中各分词片段中的非多音字和多音字。针对分词序列中各分词片段中的非多音字,可直接从发音列表中获得对应的读音。
[0155] S702、将分词序列中包含多音字的分词片段对应的特征向量输入针对所有多音字训练的多音字预测模型,得到分词序列中各分词片段中的多音字的读音。
[0156] 具体实施时,基于发音列表确定出分词序列中的多音字,获取确定出的多音字所在分词片段对应的特征向量,将获取的特征向量输入多音字预测模型。
[0157] 具体实施时,将包含多音字的分词片段对应的特征向量输入多音字预测模型,利用至少一个中间层逐级提取输入的特征向量对应的特征值,输出层根据最后一个中间层输出的特征值,确定各分类标签对应的概率,并根据该多音字的所有读音对应的分类标签的概率,确定该多音字的读音。
[0158] 进一步地,若同一分词片段中包含多个多音字,则需要将该分词片段对应的特征向量多次输入到多音字预测模型中,每一次输入仅预测出其中一个多音字对应的读音。例如,分词片段“参差不齐”中包含两个多音字“参”和“差”,则先将“参差不齐”的特征向量输入多音字预测模型,得到“参”对应的读音,然后,再次将“参差不齐”的特征向量输入多音字预测模型,得到“差”对应的读音,两次预测的差别在于,输出层MASK掉的分类标签不同,第一次预测时,输出层MASK掉除“参”对应的读音以外的分类标签,第二次预测时,输出层MASK掉除“差”对应的读音以外的分类标签。
[0159] 下面通过实验数据对现有的语音合成方法和本申请实施例提供的语音合成方法进行比对。
[0160] 实验中,使用来自网络的50GB的中文新闻文本训练了一个基于字级别的BLSTM的语言模型作为现有语音合成方法中使用的语言模型。
[0161] 实验中,选用NMT encoder模型作为语言表征模型,NMT encoder模型使用了1亿句双语语料训练,NMT encoder模型为包含6层网络和512隐节点的transformer结构。对于韵律结构预测任务,收集了15万句韵律样本,并将韵律样本分为8:1:1的训练数据集、验证数据集和测试数据集,通过训练数据集训练韵律结构模型,通过验证数据集验证韵律结构模型的性能,并调整韵律结构模型的超参数,通过测试数据集衡量韵律结构模型的最终性能。对于多音字消歧任务,使用30万句多音字句子作为多音字样本,针对89个常用多音字对应的202个读音,训练多音字预测模型,其中,每个多音字最少包含500个多音字样本,多音字样本分为8:1:1的比例作为训练数据集、验证数据集和测试数据集。
[0162] 最终实验结果参考表1和表2。表1为多音字预测准确率对比结果,从表1中可看出,本申请方案在多音字准确率上提高了1.68%。表2为现有方案和本申请方案中的韵律结构预测的F值对比结果,从表2中可看出,韵律词、韵律短语F值效果分别提升1.3%、2.3%,提升明显。
[0163] 表1
[0164]系统 现有技术方案 本申请方案
准确率 94.50% 96.18%
[0165] 表2
[0166]   韵律词 韵律短语现有技术方案 0.961 0.824
本申请方案 0.974 0.847
[0167] 如图8所示,基于与上述语音合成方法相同的发明构思,本申请实施例还提供了一种语音合成装置80,包括分词处理模块801、向量转换模块802、韵律预测模块803和语音合成模块804。
[0168] 分词处理模块801,用于获得输入文本对应的分词序列。
[0169] 向量转换模块802,用于利用已训练的基于注意力机制的语言表征模型确定所述分词序列对应的向量序列,所述向量序列中的特征向量与所述分词序列中的分词片段一一对应。
[0170] 韵律预测模块803,用于利用韵律结构模型对所述向量序列进行韵律结构预测处理,确定韵律结构信息,所述韵律结构信息包括所述向量序列中的各特征向量对应的分词片段在合成的语音中对应的停顿时长和发音轻重。
[0171] 语音合成模块804,用于根据所述韵律结构信息和所述分词序列中各分词片段对应的读音,合成所述输入文本对应的语音。
[0172] 可选地,语言表征模型为神经机器翻译模型中的编码器,或者BERT模型,或者GPT模型。
[0173] 可选地,韵律结构模型包括双向卷积神经网络和至少两个独立的条件随机场CRF层,每个CRF层对应一个韵律结构层级。
[0174] 相应地,韵律预测模块803具体用于:将所述向量序列输入所述双向卷积神经网络,得到包含上下文特征的中间向量;将所述中间向量分别输入所述至少两个独立的CRF层,确定每个韵律结构层级对应的韵律结构信息。
[0175] 可选地,通过如下方式训练韵律结构模型:
[0176] 获取韵律样本集,每个韵律样本包括文本序列和为该文本序列标注的各韵律结构层级对应的韵律结构信息;
[0177] 将所述韵律样本集中的文本序列对应的向量序列输入所述韵律结构模型,得到所述韵律结构模型中各CRF层输出的韵律结构信息;
[0178] 针对每个CRF层,根据所述CRF层输出的韵律结果信息和标注的所述CRF层对应的韵律结构层级的韵律结构信息,确定所述CRF层对应的损失值;
[0179] 根据各CRF层对应的损失值,优化所述韵律结构模型中双向卷积神经网络的权重参数和各CRF层的参数。
[0180] 可选地,本申请实施例的语音合成装置80还包括读音预测模块805,用于:确定所述分词序列中各分词片段中的非多音字的读音;将所述分词序列中包含多音字的分词片段对应的特征向量输入针对所有多音字训练的多音字预测模型,得到所述分词序列中各分词片段中的多音字的读音。
[0181] 可选地,多音字预测模型包括至少一个中间层和一个输出层。
[0182] 相应地,读音预测模块805具体用于:将所述包含多音字的分词片段对应的特征向量输入所述多音字预测模型,利用所述至少一个中间层逐级提取输入的特征向量对应的特征值;所述输出层根据最后一个中间层输出的特征值,确定各分类标签对应的概率,并根据所述多音字的所有读音对应的分类标签的概率,确定所述多音字的读音,其中,一个分类标签对应一个多音字的一种读音。
[0183] 可选地,通过如下方式训练多音字预测模型:
[0184] 获取多音字样本集,每个多音字样本包括文本序列和该文本序列对应的分类标签;
[0185] 将所述多音字样本集中的文本序列对应的向量序列输入所述多音字预测模型,得到所述文本序列中的多音字的读音;
[0186] 根据所述文本序列中的多音字的读音和所述文本序列对应的分类标签,优化所述多音字预测模型的权重参数。
[0187] 本申请实施例提的语音合成装置与上述语音合成方法采用了相同的发明构思,能够取得相同的有益效果,在此不再赘述。
[0188] 基于与上述语音合成方法相同的发明构思,本申请实施例还提供了一种电子设备,该电子设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、服务器等。如图9所示,该电子设备90可以包括处理器901和存储器902。
[0189] 处理器901可以是通用处理器,例如中央处理器(CPU)、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0190] 存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
[0191] 本申请实施例提供了一种计算机可读存储介质,用于储存为上述电子设备所用的计算机程序指令,其包含用于执行上述弹幕处理方法的程序。
[0192] 上述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
[0193] 以上,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本申请实施例的方法,不应理解为对本申请实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本申请实施例的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈