1.本发明涉及人工智能领域,尤其涉及一种基于时长预测模型的发音时长预测方法及相关设备。
背景技术:2.随着互联网的发展,智能语音技术也随之得到了发展,并逐渐应用于导航、语音播报、语音交互等场景中,还可以应用于智能诊疗、线上问诊等数字医疗场景中,给用户的生活带来了极大的方便,语音合成是智能语音技术中较重要的处理过程,但在相关技术中,语音合成的效果较差,不能实现对声音的精准合成,进而导致所合成的语音不够真实。准确的音素时长预测一直是语音合成至关重要的一步,音素时长模型能够刻画出语音中的抑扬顿挫与轻重缓急,进而提高合成语音的表现力和自然度。
3.现有的对于音素发音时长的预测主要是基于模型进行预测,但是不能充分考虑上下文信息,且其时长预测结果只考虑多维高斯分布的均值,导致发音时长预测的准确度低。
技术实现要素:4.本发明的主要目的在于解决现有技术中发音时长预测的准确度低的技术问题。
5.本发明第一方面提供了一种基于时长预测模型的发音时长预测方法,所述基于时长预测模型的发音时长预测方法包括:获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,并将所述医疗文本数据转换为音素发音序列,其中,所述音素发音序列包含多个音素;将所述音素发音序列输入至预设的时长预测模型中,对所述音素发音序列中各音素进行向量化处理,得到音素向量序列;计算所述音素向量序列中各音素向量对应的隐性特征向量,并根据所述隐性特征向量,计算各所述音素的多维高斯分布;将所述音频序列中各音频帧和所述多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据所述对齐关系,确定各所述音素的发音时长。
6.可选的,在本发明的第一方面的第一种实现方式中,所述将所述音素发音序列输入至预设的时长预测模型中,对所述音素发音序列中各音素进行向量化处理,得到音素向量序列包括:将所述音素发音序列按照预设的窗长和步长转化为固定维数的特征维度序列;将所述特征维度序列输入至预设的时长预测模型的音素向量层中,并提取所述特征维度序列中各音素的特征维度以及序列位置序号;根据所述特征维度和序列位置序号,对所述特征维度序列中各音素进行编码,得到多个编码值;对各所述编码值进行向量化处理,得到多个音素向量,并根据各所述音素向量生成音素向量序列。
7.可选的,在本发明的第一方面的第二种实现方式中,所述计算所述音素向量序列中各音素向量对应的隐性特征向量,并根据所述隐性特征向量,计算各所述音素的多维高斯分布包括:根据所述时长预测模型中预设的多头注意力机制,计算所述音素向量序列中各音素向量对应的隐性特征向量,其中,所述多头注意力机制为选择多个特定输入信息的注意力机制;对所述隐性特征向量进行高斯处理,得到高斯分布;计算所述高斯分布的均值
和方差,并根据所述均值和方差,生成均值向量和方差对角矩阵;对所述均值向量和所述方差对角矩阵构建函数关系,生成多维高斯函数;根据预设的双向长短期记忆网络和多维高斯函数,计算各所述音素的多维高斯分布。
8.可选的,在本发明的第一方面的第三种实现方式中,所述将所述音频序列中各音频帧和所述多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据所述对齐关系,确定各所述音素的发音时长包括:计算所述音频序列中各音频帧与所述多维高斯分布中各音素的对齐概率;将所述音频序列中各音频帧和所述多维高斯分布中各音素按照所述对齐概率进行对齐处理,得到对齐关系;根据所述对齐关系,查找所述音频序列中各所述音素的开始位置和结束位置;根据各所述音素对应的开始位置和结束位置确定各所述音素的发音时长。
9.可选的,在本发明第一方面的第四种实现方式中,所述将所述音频序列中各音频帧和所述多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据所述对齐关系,确定各所述音素的发音时长包括:根据预设的短时傅里叶变换规则,计算所述音频序列的幅度谱;将所述幅度谱输入至预设的梅尔滤波器组中,将所述幅度谱转换为梅尔谱帧序列;提取所述梅尔谱帧序列中各梅尔谱帧;将各所述梅尔谱帧与所述多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据所述对齐关系,确定各所述音素的发音时长。
10.可选的,在本发明第一方面的第五种实现方式中,在所述将所述音素发音序列输入至预设的时长预测模型中,对所述音素发音序列中的各音素进行向量化处理,得到音素向量序列之前,还包括:对预设的音素训练序列和对应的音频训练序列进行对齐处理,得到各音素的发音时长;将所述音素训练序列进行向量化处理,得到音素向量;将所述音素向量输入至预设的机器学习模型中,得到各音素的预测时长;根据各所述音素的发音时长和预测时长确定损失函数;采用所述损失函数对机器学习模型进行参数调整,得到时长预测模型。
11.本发明第二方面提出一种发音时长预测装置,所述发音时长预测装置包括:获取模块,用于获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,并将所述医疗文本数据转换为音素发音序列;处理模块,用于将所述音素发音序列输入至预设的时长预测模型中,对所述音素发音序列中的各音素进行向量化处理,得到音素向量序列;计算模块,用于计算所述音素向量序列中各音素向量对应的隐性特征向量,并根据所述隐性特征向量,计算各所述音素的多维高斯分布;确定模块,用于将所述音频序列中各音频帧和所述多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据所述对齐关系,确定各所述音素的发音时长。
12.可选的,在本发明第二方面的第一种实现方式中,所述处理模块包括:转化单元,用于将所述音素发音序列按照预设的窗长和步长转化为固定维数的特征维度序列;提取单元,用于将所述特征维度序列输入至预设的时长预测模型的音素向量层中,并提取所述特征维度序列中各音素的特征维度以及序列位置序号;编码单元,用于根据所述特征维度和序列位置序号,对所述特征维度序列中各音素进行编码,得到多个编码值;生成单元,用于对各所述编码值进行向量化处理,得到多个音素向量,并根据各所述音素向量生成音素向量序列。
13.可选的,在本发明第二方面的第二种实现方式中,所述计算模块包括:第一计算单
元,用于根据所述时长预测模型中预设的多头注意力机制,计算所述音素向量序列中各音素向量对应的隐性特征向量,其中,所述多头注意力机制为选择多个特定输入信息的注意力机制;高斯处理单元,用于对所述隐性特征向量进行高斯处理,得到高斯分布;第二计算单元,用于计算所述高斯分布的均值和方差,并根据所述均值和方差,生成均值向量和方差对角矩阵;构建单元,用于对所述均值向量和所述方差对角矩阵构建函数关系,生成多维高斯函数;第三计算单元,用于根据预设的双向长短期记忆网络和多维高斯函数,计算各所述音素的多维高斯分布。
14.可选的,在本发明第二方面的第三种实现方式中,所述确定模块具体用于:计算所述音频序列中各音频帧与所述多维高斯分布中各音素的对齐概率;将所述音频序列中各音频帧和所述多维高斯分布中各音素按照所述对齐概率进行对齐处理,得到对齐关系;根据所述对齐关系,查找所述音频序列中各所述音素的开始位置和结束位置;根据各所述音素对应的开始位置和结束位置确定各所述音素的发音时长。
15.可选的,在本发明第二方面的第四种实现方式中,所述确定模块还具体用于:根据预设的短时傅里叶变换规则,计算所述音频序列的幅度谱;将所述幅度谱输入至预设的梅尔滤波器组中,将所述幅度谱转换为梅尔谱帧序列;提取所述梅尔谱帧序列中各梅尔谱帧;将各所述梅尔谱帧与所述多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据所述对齐关系,确定各所述音素的发音时长。
16.可选的,在本发明第二方面的第五种实现方式中,所述发音时长预测装置还包括训练模块,所述训练模块包括:序列对齐单元,用于对预设的音素训练序列和对应的音频训练序列进行对齐处理,得到各音素的发音时长;向量化单元,用于将所述音素训练序列进行向量化处理,得到音素向量;时长预测单元,用于将所述音素向量输入至预设的机器学习模型中,得到各音素的预测时长;函数确定单元,用于根据各所述音素的发音时长和预测时长确定损失函数;调整单元,用于采用所述损失函数对机器学习模型进行参数调整,得到时长预测模型。
17.本发明第三方面提供了一种发音时长预测设备,所述发音时长预测设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述发音时长预测设备执行上述的基于时长预测模型的发音时长预测方法的步骤。
18.本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当其在计算机上运行时,使得计算机执行上述的基于时长预测模型的发音时长预测方法的步骤。
19.在本发明提供的技术方案中,通过获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,并将医疗文本数据转换为音素发音序列;将音素发音序列输入至预设的时长预测模型中,对音素发音序列中各音素进行向量化处理,得到音素向量序列;计算音素向量序列中各音素向量对应的隐性特征向量,以及各音素的多维高斯分布;将音频序列中各音频帧和多维高斯分布中各音素进行对齐处理,确定各音素的发音时长。本发明的技术方案通过预置时长预测模型中的双向长短期记忆神经网络结合上下文信息,以及多维高斯分布的均值向量和方差对角矩阵进行发音时长预测,提高了预测的准确度。
附图说明
20.图1为本发明实施例中基于时长预测模型的发音时长预测方法的第一个实施例示意图;
21.图2为本发明实施例中基于时长预测模型的发音时长预测方法的第二个实施例示意图;
22.图3为本发明实施例中基于时长预测模型的发音时长预测方法的第三个实施例示意图;
23.图4为本发明实施例中基于时长预测模型的发音时长预测方法的第四个实施例示意图;
24.图5为本发明实施例中发音时长预测装置的一个实施例示意图;
25.图6为本发明实施例中发音时长预测装置的另一个实施例示意图;
26.图7为本发明实施例中发音时长预测设备的一个实施例示意图。
具体实施方式
27.本发明实施例提供了一种基于时长预测模型的发音时长预测方法及相关设备,通过获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,并将医疗文本数据转换为音素发音序列;将音素发音序列输入至预设的时长预测模型中,对音素发音序列中各音素进行向量化处理,得到音素向量序列;计算音素向量序列中各音素向量对应的隐性特征向量,以及各音素的多维高斯分布;将音频序列中各音频帧和多维高斯分布中各音素进行对齐处理,确定各音素的发音时长。本发明的技术方案通过预置时长预测模型中的双向长短期记忆神经网络结合上下文信息,以及多维高斯分布的均值向量和方差对角矩阵进行发音时长预测,提高了预测的准确度。
28.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
29.为便于理解,下面对本发明实施例的具体内容进行描述,请参阅图1,本发明实施例中基于时长预测模型的发音时长预测方法的第一个实施例包括:
30.101,获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,并将医疗文本数据转换为音素发音序列;
31.服务器获取智能诊疗系统产生的医疗文本数据以及与该医疗文本数据对应的音频数据,即音频序列;服务器根据预设的音素表将文本数据转换为音素发音序列。其中,医疗文本数据是指以文本形式呈现且包含个人健康档案、处方、检查报告等医疗电子记录信息的数据,音素发音序列是指排列成一列的音素元素,医疗文本数据可以是英文单词的文本数据,该文本数据中每一个英文单词都对应有一个音素发音序列;医疗文本数据也可以是中文词语,该文本数据中的每个词语都对应有一个音素发音序列;音频序列中包含有医
疗文本数据对应的声音特征。
32.在本发明实施例中,用户向服务器发送包含个人健康档案、处方、检查报告等医疗电子记录信息的文本数据,服务器在获取该文本数据后,会通过查询音素表的方式将该文本数据中的每个单词转换成各自对应的音素发音序列,便于后续对文本数据对应的至少一个音素发音序列进行处理。
33.音素是根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。例如,将单个词分解为多个音节,进而将每个音节分解为对应的多个音素。进一步例如,对于词序列“平安”,其对应的音节有两个,分别为“ping”和“an”;可将音节“ping”进一步分解为音素“p”和“ing”,将音素“an”进一步分解为音素“a”和“n”。在中文中,一个汉字对应一个音节;在英文中,一个单词对应一个音节,其他语言类似。
34.102,将音素发音序列输入至预设的时长预测模型中,对音素发音序列中各音素进行向量化处理,得到音素向量序列;
35.在本实施例中,预置时长预测模型由音素向量层、快速傅里叶变换层和双向长短期记忆神经网络组成,用于建模和预测音素发音序列中各声韵母发音时长,即各音素的发音时长。
36.服务器将音素发音序列输入至预设的时长预测模型的音素向量层中,对音素发音序列中各音素进行向量化处理,对音素发音序列中各音素进行一位有效编码(one
‑
hot编码),得到各音素对应的编码值,将该编码值进行二进制向量转换,生成各音素对应的音素向量,将各音素向量按照对应的音素发音序列中各音素的排序位置进行排序,得到音素向量序列。
37.103,计算音素向量序列中各音素向量对应的隐性特征向量,并根据隐性特征向量,计算各音素的多维高斯分布;
38.在时长预测模型的快速傅里叶变换层中计算音素向量序列中各音素向量对应的隐性特征向量,双向长短期记忆神经网络根据隐性特征向量和音素向量序列中各音素的上下文信息,计算音素向量序列中各音素的多维高斯分布。在本实施例中,快速傅里叶变换层由多头注意力机制和两层一维卷积层组成,其中使用了残差连接、层归一化和随机失活(dropout)算法。
39.104,将音频序列中各音频帧和多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据对齐关系,确定各音素的发音时长。
40.将音频序列中各音频帧和多维高斯分布中各音素采用强制对齐技术通过隐马尔科夫模型算法进行对齐处理,得到音素发音序列中各音素与对应的音频序列中各音频帧的对齐关系,根据该对齐关系,查找各音素在音频序列中的开始位置和结束位置,从而得到每个音素的持续时间,即发音时长。根据预测的发音时长对音频进行拼接,合成医疗语音,该医疗语音可应用于智能诊疗、远程会诊中。
41.在本实施例中,通过对机器学习模型进行深度学习训练以得到时长预测模型,根据时长预测模型对音素的发音时长进行预测,并根据预测结果对音素进行扩展,以便每个音素的发音时长等于对应的预测发音时长。机器学习模型包括多层的双向长短期记忆网络(long short term memory,简称:lstm)模型、多层的自注意力网络(self
‑
attention)模型或多层的卷积神经网络(convolutional neural network,简称:cnn)模型,在本实施例中
选取双向长短期记忆网络模型进行深度学习训练。具体的,对预设的音素训练序列和与该音素训练序列对应的音频训练序列进行对齐处理,得到音素训练序列中各音素与对应的音频训练序列中各音频帧的对齐关系,根据该对齐关系,查找各音素在音频训练序列中的开始位置和结束位置,从而得到每个音素的发音时长;将音素训练序列进行向量化处理,得到音素向量;将音素向量输入至预设的机器学习模型中进行学习训练,得到各音素的预测时长;根据各音素的发音时长和预测时长确定损失函数,即动态调整损失函数;当损失函数收敛时,采用维特比算法提取音素与对应音频之间的时间对齐关系,得到时长预测模型。
42.本发明实施例可以基于人工智能技术对医疗文本数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
43.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
44.在本发明实施例中,通过获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,将医疗文本数据转换为音素发音序列,并输入至预设的时长预测模型中,对音素发音序列中各音素进行向量化处理,并计算各音素向量对应的隐性特征向量以及多维高斯分布;将音频序列中各音频帧和多维高斯分布中各音素进行对齐处理,确定各音素的发音时长。本发明通过预置时长预测模型中的双向长短期记忆神经网络结合上下文信息进行发音时长预测,提高了预测的准确度。
45.请参阅图2,本发明实施例中基于时长预测模型的发音时长预测方法的第二个实施例包括:
46.201,获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,并将医疗文本数据转换为音素发音序列;
47.服务器获取智能诊疗系统产生的医疗文本数据以及与该医疗文本数据对应的音频数据,即音频序列;服务器根据预设的音素表将文本数据转换为音素发音序列。其中,医疗文本数据是指以文本形式呈现且包含个人健康档案、处方、检查报告等医疗电子记录信息的数据,音素发音序列是指排列成一列的音素元素,医疗文本数据可以是英文单词的文本数据,该文本数据中每一个英文单词都对应有一个音素发音序列;医疗文本数据也可以是中文词语,该文本数据中的每个词语都对应有一个音素发音序列;音频序列中包含有医疗文本数据对应的声音特征。
48.在本发明实施例中,用户向服务器发送包含个人健康档案、处方、检查报告等医疗电子记录信息的文本数据,服务器在获取该文本数据后,会通过查询音素表的方式将该文本数据中的每个单词转换成各自对应的音素发音序列,便于后续对文本数据对应的至少一个音素发音序列进行处理。
49.202,将音素发音序列按照预设的窗长和步长转化为固定维数的特征维度序列;
50.服务器按照预设的窗长和预设的步长将音素发音序列转化为固定维数的特征维度序列。其中,预设的窗长、预设的步长和固定维数,可以在具体实现时根据实现需求和/或
系统性能等自行设定,本实施例对窗长、步长和固定维数的大小不作限定。
51.203,将特征维度序列输入至预设的时长预测模型的音素向量层中,并提取特征维度序列中各音素的特征维度以及序列位置序号;
52.将特征维度序列输入至预设的时长预测模型的音素向量层中,音素向量层提取特征维度序列中各音素的特征维度以及序列位置序号,即将特征维度序列经过时长预测模型中预置的位置编码器进行序列位置信息计算,位置编码器用于在时长预测模型中引入序列位置信息(pe),如公式(1)和公式(2):
53.pe(pos,2i)=sin(pos/10000
2i/d
)
ꢀꢀꢀ
(1)
54.pe(pos,2i+1)=cos(pos/10000
2i/d
)
ꢀꢀꢀ
(2)
55.其中,pos为位置序号,i为特征维度序列,d为特征维度。
56.204,根据特征维度和序列位置序号,对特征维度序列中各音素进行编码,得到多个编码值;
57.服务器根据各音素对应的特征维度和序列位置序号,对特征维度序列中各音素进行一位有效编码,从而得到多个编码值。在本实施例中,一位有效编码(one
‑
hot编码),主要是采用n位状态寄存器来对n个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候只有一位有效。
58.205,对各编码值进行向量化处理,得到多个音素向量,并根据各音素向量生成音素向量序列;
59.对各编码值进行向量化处理,即将各编码值进行二进制向量转换,生成各音素对应的音素向量,将各音素向量按照对应的音素发音序列中各音素的排序位置进行排序,得到音素向量序列。
60.206,计算音素向量序列中各音素向量对应的隐性特征向量,并根据隐性特征向量,计算各音素的多维高斯分布;
61.在时长预测模型的快速傅里叶变换层中计算音素向量序列中各音素向量对应的隐性特征向量,双向长短期记忆神经网络根据隐性特征向量和音素向量序列中各音素的上下文信息,计算音素向量序列中各音素的多维高斯分布。在本实施例中,快速傅里叶变换层由多头注意力机制和两层一维卷积层组成,其中使用了残差连接、层归一化和随机失活(dropout)算法。其中,多头注意力机制为选择多个特定输入信息的注意力机制。
62.207,将音频序列中各音频帧和多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据对齐关系,确定各音素的发音时长。
63.将音频序列中各音频帧和多维高斯分布中各音素采用强制对齐技术通过隐马尔科夫模型算法进行对齐处理,得到音素发音序列中各音素与对应的音频序列中各音频帧的对齐关系,根据该对齐关系,查找各音素在音频序列中的开始位置和结束位置,从而得到每个音素的持续时间,即发音时长。
64.在本发明实施例中,将音素发音序列转化为特征维度序列,将其输入至时长预测模型的音素向量层中,根据特征维度序列中各音素的特征维度和序列位置序号对各音素进行编码以及向量化处理,再根据音素进行发音时长的预测,提高了发音时长预测的准确度和可靠性。
65.请参阅图3,本发明实施例中基于时长预测模型的发音时长预测方法的第三个实
施例包括:
66.301,获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,并将医疗文本数据转换为音素发音序列;
67.302,将音素发音序列输入至预设的时长预测模型中,对音素发音序列中各音素进行向量化处理,得到音素向量序列;
68.303,根据时长预测模型中预设的多头注意力机制,计算音素向量序列中各音素向量对应的隐性特征向量;
69.在时长预测模型的快速傅里叶变换层中计算音素向量序列中各音素向量对应的隐性特征向量,在本实施例中,快速傅里叶变换层由多头注意力机制和两层一维卷积层组成,其中使用了残差连接、层归一化和随机失活(dropout)算法。具体的,服务器根据多头注意力机制对音素向量进行快速傅里叶变换处理,提取需要关注的信息,得到各音素向量对应的隐性特征向量。
70.304,对隐性特征向量进行高斯处理,得到高斯分布;
71.305,计算高斯分布的均值和方差,并根据均值和方差,生成均值向量和方差对角矩阵;
72.306,对均值向量和方差对角矩阵构建函数关系,生成多维高斯函数;
73.服务器对隐性特征向量进行高斯处理,得到一维高斯分布,并计算一维高斯分布的均值向量和方差,根据该一维高斯分布的均值向量和方差,生成一维高斯分布的均值向量和方差对角矩阵。
74.服务器对所得到的均值向量和方差对角矩阵构建函数关系,生成多维高斯函数:
75.z
j
=(μ
j
,∑
j
)。
76.307,根据预设的双向长短期记忆网络和多维高斯函数,计算各音素的多维高斯分布;
77.服务器采用双向长短期记忆神经网络根据隐性特征向量和音素向量序列中各音素的上下文信息,通过多维高斯函数计算音素向量序列中各音素的多维高斯分布。其中,各音素的多维高斯分布为:
78.z=(z1,z2,...,z
m
)。
79.308,将音频序列中各音频帧和多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据对齐关系,确定各音素的发音时长。
80.根据多维高斯函数计算梅尔谱帧序列中各音频帧与多维高斯分布中各音素的对齐概率,例如,计算梅尔谱帧序列中第i帧音频帧对齐多维高斯分布中第j个音素的概率(p(y
i
|z
j
)):
81.p(y
i
|z
j
)=n(y
i
|μ
j
,∑
j
)
82.服务器将梅尔谱帧序列中各音频帧和多维高斯分布中各音素按照对应的对齐概率采用强制对齐技术通过隐马尔科夫模型算法进行对齐处理,并采用维特比算法(viterbi算法)提取各音频帧和各音素之间的对齐关系。根据该对齐关系,查找各音素在音频序列中的开始位置和结束位置,从而得到每个音素的持续时间,即发音时长。
83.在本实施例中,维特比算法(viterbi算法)是多步骤每步多选择的最优选择问题,其在每一步的所有选择都保存了前续所有步骤到当前步骤当前选择的最小总代价(或者最
大价值)以及当前代价的情况下前继步骤的选择。依次计算完所有步骤后,通过回溯的方法找到最优选择路径。
84.在本发明实施例中,步骤301
‑
302与上述的基于时长预测模型的发音时长预测方法的第一个实施例中的步骤101
‑
102一致,在此不做赘述。
85.在本发明实施例中,计算音素向量序列的隐性特征向量,并计算该隐性特征向量的均值向量和方差对角矩阵,以及多维高斯分布,再对音频序列和多维高斯分布进行对齐处理,预测音素的发音时长。本发明实施例结合均值和方差构建均值向量和方差对角矩阵来预测音素的发音时长,提高了发音时长预测的灵活性和准确度。
86.请参阅图4,本发明实施例中基于时长预测模型的发音时长预测方法的第四个实施例包括:
87.401,获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,并将医疗文本数据转换为音素发音序列;
88.402,将音素发音序列输入至预设的时长预测模型中,对音素发音序列中各音素进行向量化处理,得到音素向量序列;
89.403,计算音素向量序列中各音素向量对应的隐性特征向量,并根据隐性特征向量,计算各音素的多维高斯分布;
90.在时长预测模型的快速傅里叶变换层中计算音素向量序列中各音素向量对应的隐性特征向量,双向长短期记忆神经网络根据隐性特征向量和音素向量序列中各音素的上下文信息,计算音素向量序列中各音素的多维高斯分布。在本实施例中,快速傅里叶变换层由多头注意力机制和两层一维卷积层组成,其中使用了残差连接、层归一化和随机失活(dropout)算法。其中,各音素的多维高斯分布为:
91.z=(z1,z2,...,z
m
)。
92.404,根据预设的短时傅里叶变换规则,计算音频序列的幅度谱;
93.405,将幅度谱输入至预设的梅尔滤波器组中,将幅度谱转换为梅尔谱帧序列;
94.服务器采用预设的短时傅里叶变换(stft)规则计算音频序列的幅度谱,即通过短时傅里叶变换规则,将音频序列转换为对应的幅度谱;将幅度谱输入至预设的梅尔滤波器组中进行滤波处理,通过梅尔滤波器组中50ms帧长,12.5ms帧移和汉宁窗(hanning窗)函数,经80维梅尔滤波器组转换幅度谱,计算得到梅尔谱帧序列,其中,该梅尔谱帧序列包括多个梅尔谱帧。
95.406,提取梅尔谱帧序列中各梅尔谱帧;
96.407,将各梅尔谱帧与多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据对齐关系,确定各音素的发音时长。
97.服务器提取梅尔谱帧序列中各梅尔谱帧,并将梅尔谱帧序列中各梅尔谱帧和多维高斯分布中各音素采用强制对齐技术通过隐马尔科夫模型算法进行对齐处理,并采用维特比算法(viterbi算法)提取各梅尔谱帧和各音素之间的对齐关系,根据该对齐关系,查找各音素在梅尔谱帧序列中的开始位置和结束位置,从而得到每个音素的持续时间,即发音时长。
98.在本发明实施例中,步骤401
‑
402与上述的基于时长预测模型的发音时长预测方法的第一个实施例中的步骤101
‑
102一致,在此不做赘述。
99.在本发明实施例中,计算音频序列的幅度谱,并将其转换为梅尔谱帧序列,对梅尔谱序列中各梅尔谱帧与多维高斯分布中各音素进行对齐处理,确定各音素的发音时长,提高了各音素的发音时长预测的准确度。
100.上面对本发明实施例中的基于时长预测模型的发音时长预测方法进行了描述,下面对本发明实施例中的发音时长预测装置进行描述,请参照图5,本发明实施例中的发音时长预测装置的一个实施例包括:
101.获取模块501,用于获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,并将所述医疗文本数据转换为音素发音序列;
102.处理模块502,用于将所述音素发音序列输入至预设的时长预测模型中,对所述音素发音序列中的各音素进行向量化处理,得到音素向量序列;
103.计算模块503,用于计算所述音素向量序列中各音素向量对应的隐性特征向量,并根据所述隐性特征向量,计算各所述音素的多维高斯分布;
104.确定模块504,用于将所述音频序列中各音频帧和所述多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据所述对齐关系,确定各所述音素的发音时长。
105.在本发明实施例中,通过发音时长预测装置获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,将医疗文本数据转换为音素发音序列,并输入至预设的时长预测模型中,对音素发音序列中各音素进行向量化处理,并计算各音素向量对应的隐性特征向量以及多维高斯分布;将音频序列中各音频帧和多维高斯分布中各音素进行对齐处理,确定各音素的发音时长。本发明通过预置时长预测模型中的双向长短期记忆神经网络结合上下文信息进行发音时长预测,提高了预测的准确度。
106.请参阅图6,本发明实施例中的发音时长预测装置的另一个实施例包括:
107.获取模块501,用于获取智能诊疗系统产生的医疗文本数据以及对应的音频序列,并将所述医疗文本数据转换为音素发音序列;
108.处理模块502,用于将所述音素发音序列输入至预设的时长预测模型中,对所述音素发音序列中的各音素进行向量化处理,得到音素向量序列;
109.计算模块503,用于计算所述音素向量序列中各音素向量对应的隐性特征向量,并根据所述隐性特征向量,计算各所述音素的多维高斯分布;
110.确定模块504,用于将所述音频序列中各音频帧和所述多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据所述对齐关系,确定各所述音素的发音时长。
111.其中,所述处理模块502包括:
112.转化单元5021,用于将所述音素发音序列按照预设的窗长和步长转化为固定维数的特征维度序列;
113.提取单元5022,用于将所述特征维度序列输入至预设的时长预测模型的音素向量层中,并提取所述特征维度序列中各音素的特征维度以及序列位置序号;
114.编码单元5023,用于根据所述特征维度和序列位置序号,对所述特征维度序列中各音素进行编码,得到多个编码值;
115.生成单元5024,用于对各所述编码值进行向量化处理,得到多个音素向量,并根据各所述音素向量生成音素向量序列。
116.其中,所述计算模块503包括:
117.第一计算单元5031,用于根据所述时长预测模型中预设的多头注意力机制,计算所述音素向量序列中各音素向量对应的隐性特征向量;
118.高斯处理单元5032,用于对所述隐性特征向量进行高斯处理,得到高斯分布;
119.第二计算单元5033,用于计算所述高斯分布的均值和方差,并根据所述均值和方差,生成均值向量和方差对角矩阵;
120.构建单元5034,用于对所述均值向量和所述方差对角矩阵构建函数关系,生成多维高斯函数;
121.第三计算单元5035,用于根据预设的双向长短期记忆网络和多维高斯函数,计算各所述音素的多维高斯分布。
122.其中,所述确定模块504具体用于:
123.计算所述音频序列中各音频帧与所述多维高斯分布中各音素的对齐概率;
124.将所述音频序列中各音频帧和所述多维高斯分布中各音素按照所述对齐概率进行对齐处理,得到对齐关系;
125.根据所述对齐关系,查找所述音频序列中各所述音素的开始位置和结束位置;
126.根据各所述音素对应的开始位置和结束位置确定各所述音素的发音时长。
127.其中,所述确定模块504还具体用于:
128.根据预设的短时傅里叶变换规则,计算所述音频序列的幅度谱;
129.将所述幅度谱输入至预设的梅尔滤波器组中,将所述幅度谱转换为梅尔谱帧序列;
130.提取所述梅尔谱帧序列中各梅尔谱帧;
131.将各所述梅尔谱帧与所述多维高斯分布中各音素进行对齐处理,得到对齐关系,并根据所述对齐关系,确定各所述音素的发音时长。
132.其中,所述发音时长预测装置还包括训练模块505,所述训练模块505包括:
133.序列对齐单元5051,用于对预设的音素训练序列和对应的音频训练序列进行对齐处理,得到各音素的发音时长;
134.向量化单元5052,用于将所述音素训练序列进行向量化处理,得到音素向量;
135.时长预测单元5053,用于将所述音素向量输入至预设的机器学习模型中,得到各音素的预测时长;
136.函数确定单元5054,用于根据各所述音素的发音时长和预测时长确定损失函数;
137.调整单元5055,用于采用所述损失函数对机器学习模型进行参数调整,得到时长预测模型。
138.在本发明实施例中,通过发音时长预测装置计算音素向量序列的隐性特征向量,并计算该隐性特征向量的均值向量和方差对角矩阵,以及多维高斯分布,再对音频序列和多维高斯分布进行对齐处理,预测音素的发音时长。本发明实施例结合均值和方差构建均值向量和方差对角矩阵来预测音素的发音时长,提高了发音时长预测的灵活性和准确度。
139.请参阅图7,下面从硬件处理的角度对本发明实施例中的发音时长预测设备的一个实施例进行详细描述。
140.图7是本发明实施例提供的一种发音时长预测设备的结构示意图,该发音时长预测设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器
(central processing units,cpu)710(例如,一个或一个以上处理器)和存储器720,一个或一个以上存储应用程序733或数据732的存储介质730(例如一个或一个以上海量存储设备)。其中,存储器720和存储介质730可以是短暂存储或持久存储。存储在存储介质730的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对发音时长预测设备700中的一系列指令操作。更进一步地,处理器710可以设置为与存储介质730通信,在发音时长预测设备700上执行存储介质730中的一系列指令操作。
141.发音时长预测设备700还可以包括一个或一个以上电源740,一个或一个以上有线或无线网络接口750,一个或一个以上输入输出接口760,和或或,一个或一个以上操作系统731,例如windows serve,mac os x,unix,linux,freebsd等等。本领域技术人员可以理解,图7示出的发音时长预测设备结构并不构成对发音时长预测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
142.本发明所指服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
143.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
144.本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于时长预测模型的发音时长预测方法的步骤。
145.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中对应的过程,在此不再赘述。
146.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read
‑
only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
147.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。