适用于语音识别模型的训练数据生成方法及设备
阅读说明:本技术 适用于语音识别模型的训练数据生成方法及设备 (Training data generation method and device suitable for speech recognition model ) 是由 蒋成林 于 2021-11-18 设计创作,主要内容包括:本申请提供一种适用于语音识别模型的训练数据生成方法及设备,所述方法包括:获取语音数据;由多个语音识别模型分别对所述语音数据进行识别,输出多个文本数据;根据所述多个文本数据得到目标文本数据;获取语音测评模型对所述目标文本数据和所述语音数据的测评结果;对所述测评结果进行判断,如果所述测评结果符合预期,则将所述目标文本和所述语音数据组合为训练数据。(The application provides a training data generation method and equipment suitable for a speech recognition model, wherein the method comprises the following steps: acquiring voice data; respectively recognizing the voice data by a plurality of voice recognition models and outputting a plurality of text data; obtaining target text data according to the text data; acquiring the evaluation result of the voice evaluation model on the target text data and the voice data; and judging the evaluation result, and combining the target text and the voice data into training data if the evaluation result is in accordance with expectation.)
技术领域
本发明涉及语音分析与合成领域,具体涉及一种适用于语音识别模型的训练数据生成方法及设备。
背景技术
语音识别技术从原先的GMM-HMM到基于HMM拓扑结构+神经网络的Hybrid的建模,到目前基于transformer/conformer的CTC/RNNT/LAS端到端的建模方式,建模能力不断增强,但随之而来的是对于训练数据量的需求也在指数增长。端到端对数据的需求已经从原先的data sparse变成了date hungry。目前语音识别厂商标注的数据量多数已经达到10万小时数量级。这里的数据是指<audio, transcription>即语音和文本标签,所以数据标注的人力财力成本都非常高。
目前一些语音识别的厂商的通用语音识别效果已经达到较为优秀的水准,词错率(WER)已经小于3%,已经超越人工转写的水平,达到商用水平。但是因为种种原因,很多企业不希望直接调用语音识别服务商的接口,更希望有自己的语音识别模型,可能的考虑包括数据安全、成本、在实际业务中的效果不理想等等。在这种情况下,企业搭建一个可商用的语音识别系统,按照常规方式是采集语音样本并进行数据标注,然后训练模型,这种处理方式的性价比非常低。
发明内容
有鉴于此,本申请提供一种适用于语音识别模型的训练数据生成方法,包括:
获取语音数据;
由多个语音识别模型分别对所述语音数据进行识别,输出多个文本数据;
根据所述多个文本数据得到目标文本数据;
获取语音测评模型对所述目标文本数据和所述语音数据的测评结果;
对所述测评结果进行判断,如果所述测评结果符合预期,则将所述目标文本和所述语音数据组合为训练数据。
可选地,根据所述多个文本数据得到目标文本数据包括:
根据所述多个文本数据得到文本的图数据,其中各个所述文本数据中相同部分被保持,不同的部分被配置为并联关系;
由语音测评模型对所述文本的图数据和所述语音数据进行测评,根据所述图数据中对应最优测评结果的路径得到目标文本。
可选地,在根据所述多个文本数据得到文本的图数据时,还包括:
判断并联部分的发音是否相同;
如果发音相同,则根据预设词汇表对所述并联部分进行筛选,以排除与应用场景不相关的词汇。
本发明提供另一种适用于语音识别模型的训练数据生成方法,包括:
获取原始语音数据;
对所述原始语音的频率进行变换得到至少一个变换语音数据;
由多个语音识别模型分别对所述原始语音数据进行识别,输出多个原始文本数据;
根据所述多个原始文本数据得到第一目标文本数据,并获取语音测评模型对所述第一目标文本数据和所述原始语音数据的第一测评结果;
由多个所述语音识别模型分别对所述变换语音数据进行识别,输出多个变换文本数据;
根据所述多个变换文本数据得到第二目标文本数据,并获取语音测评模型对所述第二目标文本数据和所述变换语音数据的第二测评结果;
比对所述第一测评结果与所述第二测评结果,如果所述第二测评结果优于所述第一测评结果,则将所述原始语音数据和所述第二目标文本组合为训练数据。
可选地,根据所述原始文本数据得到第一目标文本数据具体包括:
根据所述多个原始文本数据得到原始文本的图数据,其中各个所述原始文本数据中相同部分被保持,不同的部分被配置为并联关系;
由语音测评模型对所述原始文本的图数据和所述原始语音数据进行测评,根据所述原始文本的图数据中对应最优测评结果的路径得到第一目标文本。
可选地,根据所述多个变换文本数据得到第二目标文本数据具体包括:
根据所述多个变换文本数据得到变换文本的图数据,其中各个所述变换文本数据中相同部分被保持,不同的部分被配置为并联关系;
由语音测评模型对所述变换文本的图数据和所述变换语音数据进行测评,根据所述变换文本的图数据中测评结果最优的路径得到第二目标文本。
可选地,所述变换语音数据有多个,并分别对应有所述第二目标文本数据和所述第二测评结果,在比对所述第一测评结果与所述第二测评结果的步骤中,选取多个所述第二测评结果中最优的一个与所述第一测评结果进行比对。
可选地,对所述原始语音的频率进行变换具体包括提高和/或降低声音信号的基频。
可选地,所述变换语音数据相比于所述原始语音数据至少被降低一个半音。
相应地,本发明提供一种适用于语音识别模型的训练数据生成设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述训练数据生成方法。
根据本发明提供的训练数据生成方法及设备,利用其它服务商提供的语音识别模型对未标注的语音进行识别,得到初步的识别文本,然后利用语音测评模型对文本及语音进行评测,得到发音与文本的匹配度,最后根据测评结果判断样本质量,将质量较好的语音样本及其文本标签作为训练数据,由此实现对语音的自动标注,获得高质量的训练数据,提高了模型训练效率,并且能够获得较好的训练效果。
根据本发明提供的训练数据生成方法及设备,通过对语音数据进行处理得到变换频率的语音数据,然后利用其它服务商提供的语音识别模型对原始语音和变换语音分别进行识别,得到相应的识别文本;进一步利用语音测评模型对文本及语音进行评测,得到原始发音与相应文本的匹配度及变换语音与相应文本的匹配度;最后对二者进行比较,如果变换语音的测评结果更好,则表示变换评率的语音与相应文本更加匹配,由此可以将原始语音与变换语音对应的文本作为训练数据,实现对语音的自动标注,获得高质量的训练数据,提高了模型训练效率,并且能够获得较好的训练效果。
附图说明
为了更清楚地说明本发明
具体实施方式
或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种训练数据生成方法的示意图;
图2为本发明实施例中的文本的图数据的示意图;
图3为本发明实施例中的一种训练数据生成方法的数据流示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明的第一种应用场景是需要获得特定领域的语音样本作为训练数据,本申请所述特定领域是指化工、医学等专业程度较高的领域,通用领域是指一般日常生活领域。特定领域相关的语音内容和通用语音数据的内容相差较大,使用通用语音数据训练出的语音识别模型很难适用于特定领域的语音识别任务,而特定领域的语音样本相对较少。
针对这种应用场景,为了获得可用的训练数据,本实施例提供一种适用于语音识别模型的训练数据生成方法,该方法可以由计算机、服务器等电子设备执行,该方法包括如下操作:
S1A,获取语音数据。本实施例的语音数据可以是任何特定领域语音或者通用领域的语音,比如是一句话或一段话的录音,其相应的文本是未知的。本方案不对语种进行限定,使用中文、英文等任何语种都是可行的。
S2A,由 多个语音识别模型分别对语音数据进行识别,输出多个文本数据。语音识别模型是指已经被训练过的、基于深度学习算法的神经网络模型,比如是其它服务商提供的模型等等,该模型具备一定的文本识别能力,只是可能不适用于特定的领域。
如图1所示,以两个语音识别模型为例,第一语音识别模型11和第二语音识别模型12分别对语音数据audio进行语音转文本识别,第一语音识别模型11输出的识别结果是transcription-1、第二语音识别模型12输出的识别结果是transcription-2。
另外,在此步骤中优选使用具有热词识别功能的语音识别模型。具体地,此类模型可以预先获取用户提供的若干词汇,在识别语音数据时这些词汇将被参考,使得识别结果更加准确。举例来说,假设实际的文本中包括“氨基酸”这一词汇,一般的模型可能会输出“按计算”这一错误结果,二者发音相同,而如果模型预先获取该词汇,则会输出正确的识别结果。
S3A,根据多个文本数据得到目标文本数据。由于各个语音识别模型的性能、所采用的训练算法、训练样本等多种因素可能不同,因此它们的识别结果可能会有多处不一致,但也有可能是完全一致的。所以在此步骤中会出现多种情况,比如对于多个识别结果(文本数据)完全一致的情况,那么该识别结果就是目标文本数据。
对于多个识别结果存在不一致的情况,有多种可选地实施方式来得到目标文本数据。假设第一语音识别模型11输出的识别结果是“这个 郭嘉 的 商务 发展 得 很好”、第二语音识别模型12输出的识别结果是“这个 国家 的 上路 发展 得 很好”,可以看出其中相应的词汇“郭嘉”和“国家”是不一致的、“商务”和“上路”是不一致的。
面对此情况,可选的一种处理方式是预先根据应用场景建立词汇表,其中存储所有可能出现在本应用场景中的词汇,当多个模型的输出结果不一致时,可以针对这些不一致的词在该词汇表中进行搜索,保留词汇表中有的词或者出现频率较高的词。
比如针对上述举例,预先建立的词汇表中存储有“国家”和“商务”这两个词,则通过搜索最终得到的目标文本数据是“这个 国家 的 商务 发展 得 很好”。
另一种可选的处理方式是,引入一语音评测模型在多个识别结果中寻找与语音数据最匹配的文本。具体地,根据多个文本数据得到文本的图数据(Graph),其中各个文本数据中相同部分被保持,不同的部分被配置为并联关系。针对上述两个识别结果进行举例,所生产的图可以表示为“这个 [郭嘉|国家] 的 [上路|商务] 发展 地 很好”。如图2所示,其中相同的部分“这个”、“的”、“发展”等作为单一节点,“[郭嘉|国家]”表示这两个词汇为并联关系,它们在图中为并列的节点或称为分支节点,因此如图2所示的图数据有4条路径(path),每一条路径都是由词汇序列组成的。
将图数据作为语音测评模型的识别对象,本实施例所使用的是一种能够分析语音的发音情况与文本匹配度的模型,该模型输出的是一个百分制的分数,分数越高则表示发音情况与文本越匹配,或者可以理解为发音质量越好。语音测评模型的实现方式有多种,比如可以参考中国专利文件CN110797049A公开的语音评测方法及相关装置,需要说明的是本方案并不限于使用该测评方案,也可以使用其它测评模型输出其它形式的测评结果,只要能够对图数据(Graph)和相应的语音数据进行测评的算法都是可行的,关于测评结果的形式比如可以是分类结果,将发音与路径的匹配情况分为“优秀”、“一般”、“较差”等等能够用于比较的都是可行的。
本实施例的语音测评模型对上述图数据进行 搜索,该模型将对图数据(Graph)中的所有路径(path)分别与语音数据进行匹配,也即分别测评该语音数据对于各个路径的匹配度或质量,由此确定其中的最优路径,作为目标文本。
另外需要说明的是,上述两种方式可以相结合来使用。比如当使用更多的语音识别模型得到更多的识别结果时,如果直接采用上述第三种方式来搜索最优路径,第一个问题是图数据的路径过多导致模型的计算量增大,会降低搜索效率;第二个问题是语音测评模型可能并不具备语义分析的能力,因此对于发音完全相同的词、仅发音音调有区别的词,其所在的路径的测评结果可能是完全相同的。在优选的实施例中先采用第一种方式对图数据(Graph)中的分支节点进行初步筛选,排除掉与应用场景不相关的词汇,可以减少分支节点进而减少路径(path)的数量,避免出现上述问题。
S4A,获取语音测评模型对目标文本数据和语音数据的测评结果。返回图1所示,语音测评模型13对目标文本数据transcription及audio进行测评得到测评结果score, 如果在步骤S3A中使用了语音测评模型搜索最优路径,则在此步骤中语音测评模型可以将最优路径的文本作为参考,计算分数或是其他形式的测评结果。当然,如果在步骤S3A中未使用语音测评模型来获得目标文本,而是采用上述其它方式生成了目标文本,则在此步骤中首次使用语音测评模型进行测评。
S5A,对测评结果进行判断,如果测评结果符合预期,则将目标文本和语音数据组合为训练数据。以分数为例,比如可以预设分数阈值,如果对目标文本数据和语音数据的测评结果高于该阈值,则表示该语音与该目标文本的匹配度足够高,这一组数据可以用于训练语音识别模型,是一个高质量的样本,反之则表示匹配度较差,不适于训练模型。
本发明实施例提供的训练数据生成方法利用其它服务商提供的语音识别模型对未标注的语音进行识别,得到初步的识别文本,然后利用语音测评模型对文本及语音进行评测,得到发音与文本的匹配度,最后根据测评结果判断样本质量,将质量较好的语音样本及其文本标签作为训练数据,由此实现对语音的自动标注,获得高质量的训练数据,提高了模型训练效率,并且能够获得较好的训练效果。
第二种应用场景是需要获得特定人群的语音作为训练数据。以低龄儿童相关的业务场景举例,由于儿童发音器官和成人相差较大,儿童的声音和成人的声音表现出很大的差异。现实情况是儿童语音样本相比于普通成人的语音样本更少,如果直接用成人语音训练语音识别模型,训练后用来识别儿童语音,所得到的识别结果的效果会很差,儿童语音识别一直是语音识别中的难题。
现阶段通常的做法是数据增强,比如通过数字信号的手段实现成人语音中频谱的整体上移,使得 声音听起来更加尖锐, 与儿童 的语音方式相似。这种方式能在语音识别训练工具可以带来一定的收益,但是效率非常低,最终效果也不够理想,根本原因还在于做法本身没有针对性,得到的数据也不够真实。
针对这种应用场景,本申请的另一实施例提供一种适用于语音识别模型的训练数据生成方法,该方法可以由计算机、服务器等电子设备执行,该方法包括如下操作:
S1B,获取原始语音数据,作为举例原始语音是儿童的语音。
S2B,对原始语音的频率进行变换得到至少一个变换语音数据。具体的变换方式包括但不限于改变声音信号的频率。对于儿童的语音,本实施例采用的方式是降低声音信号的基频,使得变换语音数据相比于原始语音数据的声音降低了至少一个半音 。
对于其它类似的应用场景,比如原始数据是嗓音非常低的男声或者嗓音非常尖锐的女声,在此可以采用相应的方式对频率进行处理或变换。
结合图3所示,将原始语音数据记为audio-0,为了获得更好的训练数据,在此步骤中可以对原始语音数据进行多次变换处理,依次降低一个半音,得到更多的变换语音数据。比如降低一个半音的变换语音数据,记为audio-1、降低两个半音的变换语音数据audio-2……降低n个半音的变换语音数据audio-n。
通过实际实施例验证发现,在此步骤中得到依次降低3~5个半音的变化语音数据即可得到较好的识别结果,并且具有较高的计算效率。
S3B,由多个语音识别模型分别对原始语音数据进行识别,输出多个原始文本数据。具体参考上述实施例中的S2A,此步骤是指对audio-0进行识别,得到多个原始文本数据。
S4B,根据多个原始文本数据得到第一目标文本数据,并获取语音测评模型对第一目标文本数据和原始语音数据的第一测评结果。具体参考上述实施例中的步骤S3A,为了便于描述,此处将第一目标文本数据记为transcription-0。本实施例优选采用上述实施例中所提供的第三种实施方式,即由语音测评模型根据audio-0和原始文本数据的图数据来搜索transcription0。
进一步地,语音测评模型对audio-0和transcription-0进行测评得到第一测评结果score-0。
S5B,由多个语音识别模型分别对变换语音数据进行识别,输出多个变换文本数据。同样参考上述述实施例中的S2A。当有多个变换语音数据时,如上述audio-1……audio-n,则多个语音识别模型对audio-1进行识别,得到对应的多个变换文本数据;多个语音识别模型对audio-2进行识别,得到对应的多个变换文本数据……多个语音识别模型对audio-n进行识别,得到对应的多个变换文本数据。
S6B,根据多个变换文本数据得到第二目标文本数据,并获取语音测评模型对第二目标文本数据和变换语音数据的第二测评结果。同样参考上述实施例中的S3A。
需要说明的是,当有多个变换语音数据及其对应的多个变换文本数据时,在此将得到与audio-1对应的第二目标文本数据transcription-1、与audio-2对应的第二目标文本数据transcription-2……与audio-n对应的第二目标文本数据transcription-n。
进一步地,语音测评模型对audio-1和transcription-1进行测评得到第二测评结果score-1、语音测评模型对audio-2和transcription-2进行测评得到第二测评结果score-2……语音测评模型对audio-n和transcription-n进行测评得到第二测评结果score-n。
另外,上述步骤S3B、S4B与步骤S5B、S6B可以并行执行,本方案对各步骤的执行顺序不进行限定。
S7B,比对第一测评结果与第二测评结果,如果第二测评结果优于第一测评结果,则将原始语音数据和第二目标文本组合为训练数据。如果步骤S2B中获得了多个变换语音数据,则在此步骤中,首先确定多个第二测评结果中的最优的一个,比如上述举例中的score-0……score-n中分数最高的是score-x,则此步骤中将score-x与score-0进行比对,如果score-x优于score-0,则将原始语音audio-0和score-x对应的目标文本transcription-x组合为训练数据,表示该原始语音与该目标文本的匹配度足够高,这一组数据可以用于训练语音识别模型,是一个高质量的样本,反之则表示匹配度较差,不适于训练模型。
在优选的实施例中,步骤S7B中的比对操作被配置为:在第二测评结果优于第一测评结果的情况下,进一步判断第二测评结果比第一测评结果的优势是否达到预期,当优势足够大(达到预期)时,才将原始语音数据和第二目标文本组合为训练数据。以上述分数形式的测评结果为例,比如score-x大于score-0,还需进一步判断超出值是否大于预设阈值,如果大于预设阈值才将audio-0和transcription-x组合为训练数据。对于其它形式的测评结果,比如分类结果等,也可以进行类似判断。如此得到训练数据更有针对性,训练模型时的效果更加明显。
本发明实施例提供的训练数据生成方法通过对语音数据进行处理得到变换频率的语音数据,然后利用其它服务商提供的语音识别模型对原始语音和变换语音分别进行识别,得到相应的识别文本;进一步利用语音测评模型对文本及语音进行评测,得到原始发音与文本的匹配度及变换语音与文本的匹配度;最后对二者进行比较,如果变换语音的测评结果更好,则表示原始语音与变换语音对应的文本更加匹配,由此可以将原始语音与变换语音对应的文本作为训练数据,由此实现对语音的自动标注,获得高质量的训练数据,提高了模型训练效率,并且能够获得较好的训练效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:用于识别语音的方法和电子装置