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

训练数据的筛选方法、系统、装置及介质与流程

2022-02-20 01:37:05 来源:中国专利 TAG:


1.本发明属于语音识别处理技术领域,特别适用于语音识别转写时使用的机器学习模型的训练数据的获取,更具体的是涉及一种训练数据的筛选方法、系统、装置及介质。


背景技术:

2.在智能的语音交互、人机交互等场景下使用语音识别、语音转换、语音识别搜索等处理,可以通过机器学习例如各种语音/音频识别模型等实现。随着语音识别技术发展日趋成熟,利用大批量数据训练的语音识别技术已经能在某些特定场景超过人类。但是语音模型的训练需要大量的人工标注的数据进行训练提升模型的预测识别性能(精度和准确度)即有监督学习,以更好实现语音识别、交互;如果没有充足的数据,再好的模型结构也无法学到足够的“知识”。而人工标注标签的数据虽然质量高但价格往往也高、且成本高消耗大效率低,因此,更希望能利用没有标注的数据对模型进行性能增强。利用已有数据中没有标注的数据来训练模型称为半监督学习,比如直接利用现有语音模型对音频数据进行识别,获取音频数据的“伪标签”,即给音频数据打上一些伪标签,然后将相对质量较好的有“伪标签”的数据加入标注数据中,重新继续对模型进行训练。
3.但由于获得的打了伪标签的音频数据不确定其质量好坏是否符合训练数据需求,从而会根据一定的指标确定伪标签数据的准确度即其数据识别/转写准确率,再根据评判的准确度来筛选出较高准确度的伪标签数据,将高准确度的伪标签数据加入到训练数据中提供给语音识别的模型再次进行模型训练,确保提升增强模型识别效率和识别效果。
4.而现有常见的训练数据的筛选方案,一种是根据句子级别置信度筛选即计算句子级别置信度,另一种是利用mbr(minimum bayes risk)计算词级别的置信度。
5.前一种方案线上系统常常使用,利用每一个句子lattice的最优和次优路径的总开销total cost的差异来衡量句子置信度
6.sentence_confidence=1-exp(-(best_cost-second_best_cost))
7.这样计算的置信度粗糙、不准确,不能反映出实际的句子识别的好坏,尤其遇到长句的时候,由于语言模型对长序列的打分不够好,更导致这种标准完全失效。
8.后一种方案用解码算法进行解码,根据解码结果的mbr值计算词级别的置信度,并作为筛选数据条件。根据mbr值对数据进行筛选,缺陷在于mbr值的计算是根据包括语言模型的整个解码步骤得到的结果,会受到acoustic-scale和lm rescore的影响,不同的解码策略会得到不同的结果,因此根据mbr值这样的指标进行筛选的策略并不稳定。具体mbr指标筛选思路可参见“xu h,povey d,mangu l,et al.minimum bayes risk decoding and system combination based on a recursion for edit distance[j].computer speech&language,2011,25(4):802-828.”。
[0009]
因而,需要改进现有的伪标签数据的筛选方式,使得其筛选受到的干扰少、筛选稳定、效率高、能更精确迅速地确定伪标签数据准确度高低,从而高效筛选出有价值高质量的伪标签数据,得到更多更好的训练数据。


技术实现要素:

[0010]
(一)要解决的技术问题
[0011]
本发明旨在解决如何基于半监督学习的伪标签准确度筛选训练数据的技术问题;进一步,解决如何在k12场景ai教学体系下有效利用/筛选已有数据进行半监督训练提升智能语音模型识别效果的技术问题;进一步,解决如何筛选出高质量、应用于不同场景语音模型的训练数据的技术问题。
[0012]
(二)技术方案
[0013]
为解决上述技术问题,本发明的第一方面提出一种训练数据的筛选方法,包括:将语音识别在解码时的所有解码路径中每条解码路径的每个节点预计会链接的节点数量的均值,作为判断准确率高低的指标;为准确率高的解码结果所对应的音频数据标注伪标签,并将带有伪标签的音频数据作为选出的训练数据。
[0014]
根据本发明的优选实施方式,语音识别在解码时的所有解码路径,具体包括:利用kaldi工具包的语音识别模型,对输入的未标注的音频数据进行语音识别;在语音识别过程中根据预定束宽beamsize进行beam搜索解码;将解码时搜索过的预计存在的所有解码路径进行存储。
[0015]
根据本发明的优选实施方式,将解码时搜索过的预计存在的所有解码路径进行存储,具体包括:解码时从状态网络wfst中进行解码路径搜索,获得解码路径图;利用lattice对解码路径图中搜索过的所有解码路径进行存储;输出最优解码路径作为对应所述音频数据的解码结果。
[0016]
根据本发明的优选实施方式,所有解码路径中每条解码路径的每个节点预计会链接的节点数量的均值,作为判断准确率高低的指标,具体包括:从lattice存储的所有解码路径中,获取每个解码路径中每个节点能够向后链接的路径的数量并计算均值;将所述均值作为判断准确率高低的指标latticedepth;根据数据集中多个音频数据经语音识别在解码时得到的相应的多个指标latticedepth进行排序比较,以判断准确率高低。
[0017]
根据本发明的优选实施方式,根据数据集中多个音频数据经语音识别在解码时得到的相应的多个指标latticedepth进行排序比较,以判断准确率高低,具体包括:将多个音频数据各自对应的指标latticedepth进行排序并与预设的阈值进行比较;如果所述指标latticedepth的排序在低于所述预设阈值的位置,表示对应的所述音频数据的解码结果的准确率越高。
[0018]
根据本发明的优选实施方式,为准确率高的解码结果所对应的音频数据标注伪标签,具体包括:获取准确率高的解码结果所对应的未标注的音频数据;根据语音识别输出的解码结果中的文本标签,对所述音频数据进行伪标签标注。
[0019]
根据本发明的优选实施方式,将带有伪标签的音频数据作为选出的训练数据,具体包括:筛选出所有准确率高的解码结果所对应的未标注的音频数据;在所述音频数据进行伪标签标注后,将带有所述伪标签的所述音频数据加入到语音识别的模型训练集中,重新训练语音识别的模型。
[0020]
根据本发明的优选实施方式,还包括:基于半监督学习方式,通过少量人工标注标签训练后的语音识别的模型、或者通过初始化设置文本标签的语音识别的模型,直接将数据集中的多个未标注的音频数据输入所述模型中进行语音识别,输出相应的多个解码结
果,以在筛选出一个或多个准确率高的解码结果时,将解码结果所对应的未标注的音频数据直接用解码结果中的文本标签进行标注。
[0021]
为解决上述技术问题,本发明的第二方面提出一种训练数据的筛选系统,包括:设置指标模块,用于将语音识别在解码时的解码路径中每个节点能够链接的节点个数的均值,作为判断准确率高低的指标;筛选数据模块,用于为准确率高的解码结果所对应的音频数据标注伪标签以将带有伪标签的音频数据作为选出的训练数据。
[0022]
为解决上述技术问题,本发明第三方面提出一种电子装置,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行如第一方面任一项所述的方法。
[0023]
为解决上述技术问题,本发明第四方面提出一种计算机可读介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现如第一方面任一项所述的方法。
[0024]
为解决上述技术问题,本发明第五方面提出一种计算机可执行程序,所述计算机可执行程序被执行时,实现如第一方面任一项所述的方法。
[0025]
(三)有益效果
[0026]
本发明针对上述解决如何基于半监督学习的伪标签准确度筛选高质量的、应用于语音识别、搜索、转写等模型的训练数据的技术问题,进而,在k12场景ai教学体系的智能语音识别中训练数据标注不足时如何利用(筛选)已有的转写数据进行半监督训练以提升模型识别效果,通过在解码中利用解码路径的节点链接个数均值对解码结果排序即采用了一种新的筛选指标评判伪标签准确度、以筛选排序靠前的伪标签语音数据作为模型训练数据,提高了筛选效率和数据质量,降低成本减少消耗,并且根据高质量的训练数据进行模型训练,提升了模型训练效率以及模型识别效果。
[0027]
进一步,通过语音识别的模型如kaldi语音识别工具本身的状态网络中解码路径搜索过程获得的解码图的节点确定latticedepth指标,基本不增加算力消耗的情况下,即可利用lattice depth指标作为回流数据的筛选指标,从而高效率低消耗地筛选出高质量的无标签数据(如:未标注的音频数据),以再训练模型而增强模型的效果。其不引入其他参数、类等的处理,兼具简单易用、筛选的音频质量高、噪声小等优点。
[0028]
进一步,本发明的实施例的采用的该指标筛选方式,可以使用在任何语音识别的场景下,只需要语音识别的解码器利用到了fst,即能获得解码图,是一种较为通用的筛选方案。
附图说明
[0029]
图1是根据本发明的训练数据的筛选方法的一个实施例的主要流程图;
[0030]
图2是根据本发明的训练数据的筛选系统的一个实施例的主要结构框图;
[0031]
图3是根据本发明的电子装置的一个实施例的主要结构框图;
[0032]
图4是根据本发明的更具体的一个电子装置的一个实施例的主要结构示意图;
[0033]
图5是根据本发明的计算机可读介质的一个实施例的主要结构示意图。
具体实施方式
[0034]
在对于具体实施例的介绍过程中,对结构、性能、效果或者其他特征的细节描述是
为了使本领域的技术人员对实施例能够充分理解。但是,并不排除本领域技术人员可以在特定情况下,以不含有上述结构、性能、效果或者其他特征的技术方案来实施本发明。
[0035]
附图中的流程图仅是一种示例性的流程演示,不代表本发明的方案中必须包括流程图中的所有的内容、操作和步骤,也不代表必须按照图中所显示的顺序执行。例如,流程图中有的操作/步骤可以分解,有的操作/步骤可以合并或部分合并,等等,在不脱离本发明的发明主旨的情况下,流程图中显示的执行顺序可以根据实际情况改变。
[0036]
附图中的框图一般表示的是功能实体,并不一定必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理单元装置和/或微控制器装置中实现这些功能实体。
[0037]
各附图中相同的附图标记表示相同或类似的元件、组件或部分,因而下文中可能省略了对相同或类似的元件、组件或部分的重复描述。还应理解,虽然本文中可能使用第一、第二、第三等表示编号的定语来描述各种器件、元件、组件或部分,但是这些器件、元件、组件或部分不应受这些定语的限制。也就是说,这些定语仅是用来将一者与另一者区分。例如,第一器件亦可称为第二器件,但不偏离本发明实质的技术方案。此外,术语“和/或”、“及/或”是指包括所列出项目中的任一个或多个的所有组合。
[0038]
下面先说明一下本发明的相关内容中可能涉及的一些技术术语:
[0039]
asr:语音识别(automatic speech recognition,asr)语音识别是计算机科学和计算语言学的一个跨学科子领域,它发展了一些方法和技术,使计算机可以将口语识别和翻译成文本。
[0040]
kaldi:指起源于2009年的约翰霍普金斯大学的夏季研讨会的语音识别开源工具包,kaldi是近几年最流行的语音技术工具包之一。
[0041]
fa:有限自动机(finite automata,fa)是由一组有限的状态和状态转移的集合组成,其每一个转移都至少有一个标签。最基本的fa是有限状态接收器(finite state acceptor,fsa)。对于给定的输入序列,fsa返回“接收”或者“不接收”两种状态。
[0042]
fst:有限状态转换器(finite state transducers,fst),是fsa的扩展,其每一次状态转移时都有一个输出标签,叫做输入输出标签对,通过标签对,fst可描述一组规则的转换或一组符号序列到另一组符号序列的转换。
[0043]
lattice:晶格,一个有限状态转换器(fst)的形式,它的输入和输出可以是任何fst的label(通常是transition id和单词),权重包含声学模型,语言模型,转换权重。而wfst即基于fst形成的解码图或者说解码识别搜索路径时的状态网络,通过搜索找到最佳或者说最匹配声音的路径(比如句子、词等)。
[0044]
cer:字错误率(character error rate,cer),音频的识别结果,相对音频的真实标注的编辑距离,除以真实标注的字数得到的百分比值。
[0045]
acoustic-scale:声学模型对数概率分数的缩放因子。在kaldi的语音识别中,可以通过声学模型和语言模型来共同识别音频,以保证音频声音的输出更符合人类说话的习惯和逻辑。该缩放因子是为了平衡声学和语言模型,对声学模型的概率输出进行缩放的系数。
[0046]
lm rescore:语言模型重打分。在得到一个语音识别的模型之后,如果希望让该模
型能更好地识别某一领域的数据,或者希望综合不同的语言模型(如ngram rnnlm)的优点来增强模型效果,往往会利用不同领域数据或不同模型结构训练得到的语言模型,来对识别的结果进行二次打分,并用二次打分的结果作为最终结果。
[0047]
本发明的一个实施例主要是基于半监督学习的伪标签准确度筛选方式实现训练数据获取或者说筛选,其实现流程例如:s1、将语音识别在解码时的所有解码路径中每条解码路径的每个节点能够链接的节点个数的均值,作为判断准确率高低的指标;s2、为准确率高的解码结果所对应的音频数据标注伪标签以将带有伪标签的音频数据作为选出的训练数据。
[0048]
【实施例1】
[0049]
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明的方法实现作进一步的详细说明。
[0050]
这里将结合图1所示本发明的方法的一个实施例的主要步骤流程图进行说明。该方法主要基于半监督学习方式,通过少量人工标注标签训练后的语音识别的模型、或者通过初始化设置文本标签的语音识别的模型,直接将数据集中的多个未标注的音频数据输入所述模型中进行语音识别,输出相应的多个解码结果,以在筛选出一个或多个准确率高的解码结果时,将解码结果所对应的未标注的音频数据直接用解码结果中的文本标签进行标注。主要流程包括:
[0051]
步骤s110,基于半监督学习训练语音识别的模型对音频数据进行语音识别。
[0052]
一个实施方式中,训练数据的伪标签准确率,是基于半监督学习方式下语音识别的模型训练中用到的。具体地,构建语音识别的模型,包括声学模型和语言模型,例如:kaldi工具包实现的语音识别工具。
[0053]
进一步,在不同的应用场景下的语音识别的模型往往需要特定领域的训练数据才能使之获得最好的效果。比如在弹幕语音识别、质检语音转写任务中,都需要分别利用各自场景回流的数据对模型进行针对性增强训练,以适应不同场景下的需求。本发明基于班监督学习训练语音识别的模型的一个实施例可以采用:输入极少量的人工标注文本标签的音频数据对该语音识别的模型进行训练后,能够在识别完成输出解码结果/识别结果时输出相应的文本标签,从而将筛选出高准确率的解码结果对应的音频数据直接打上结果中的文本标签作为回流的训练数据重新训练所述模型。或者,可以采用:预先为语音识别的模型设定文本标签,比如根据实际应用场景:语音弹幕识别、质检语音转写、语音搜题识别等不同场景的特点,直接输入未标注的音频数据到所述模型中评价准确率并筛选数据并利用解码结果中预测的相应的文本标签的进行标注。
[0054]
可见,在k12场景下ai教学体系的智能语音识别在语音识别的模型使用的标注数据不足时,可以有效利用(筛选)已有的转写数据(文本标签对应的音频数据),进行半监督训练,获得训练数据来训练模型,提升模型的识别性能、效果和质量。而为了避免噪声的影响,已有的转写数据中,还需要质量满足一定的要求,才能用来扩充训练数据,即需要筛选出高质量数据,保证筛选出的数据的转写准确率足够高,且噪声足够小,利用这样的数据进行训练才真正有助于模型的性能、效果的提升。
[0055]
步骤s120,将语音识别在解码时的所有解码路径中每条解码路径的每个节点预计会链接的节点数量的均值,作为判断准确率高低的指标。
[0056]
一个实施方式中,可以利用kaldi工具包的语音识别模型,对输入的未标注的音频数据进行语音识别;在语音识别过程中根据预定束宽beamsize进行beam搜索解码;将解码时搜索过的预计存在的所有解码路径进行存储。
[0057]
进一步,将解码时搜索过的预计存在的所有解码路径进行存储,具体包括:解码时从状态网络wfst中进行解码路径搜索,获得解码路径图;利用lattice对解码路径图中搜索过的所有解码路径进行存储;输出最优解码路径作为对应所述音频数据的解码结果。
[0058]
进一步,所有解码路径中每条解码路径的每个节点预计会链接的节点数量的均值,作为判断准确率高低的指标,具体包括:从lattice存储的所有解码路径中,获取每个解码路径中每个节点能够向后链接的路径的数量并计算均值;将所述均值作为判断准确率高低的指标lattice depth;根据数据集中多个音频数据经语音识别在解码时得到的相应的多个指标lattice depth进行排序比较,以判断准确率高低。
[0059]
进一步,根据数据集中多个音频数据经语音识别在解码时得到的相应的多个指标lattice depth进行排序比较,以判断准确率高低,具体包括:将多个音频数据各自对应的指标lattice depth进行排序并与预设的阈值进行比较;如果所述指标lattice depth的排序在低于所述预设阈值的位置,表示对应的所述音频数据的解码结果的准确率越高。
[0060]
具体地,利用kaldi工具包实现的语音识别工具,例如hmm模型,构建了wfst状态网络,即以fst、lattice为基础的状态网络,其解码就是从该状态网络中搜索与要识别的声音最匹配的路径,例如,可以在解码的时候根据给定的束宽beam size,进行beam搜索(寻找全局最优路径),得到相应的解码图,其有多个可能的解码路径,找到最优的即最佳的路径匹配为解码结果,而此时,可以利用lattice储存所有可能的解码路径,相当于存储了该解码图。而最优路径即为解码结果,可以输出该模型的解码结果即音频的识别结果。
[0061]
将解码路径中每个节点可能链接的节点个数的均值,作为评价伪标签的准确率的排序指标或者判断指标lattice depth。该计算均值仅对可能链接的节点个数或者可能展开的路径数量做平均,算法简单效率高运算资源消耗小,并且直接在解码过程中获得不会引入任何干扰和不确定的运算处理。
[0062]
在基于半监督学习的语音识别的模型执行识别和训练中,利用数据集比如多个未标注的音频输入到模型中解码得到解码结果和相应于多个音频的多个所述指标latticedepth,将多个指标latticedepth排序,从高到低或从低到高,优选从低到高排序,并且预先设置一个合适的阈值,比如在弹幕语音识别场景下,设定的阈值为5。进而,将所有识别结果的latticedepth值低于该阈值5的音频都进行回收,这些音频即为高质量的音频,这些低于阈值5的指标latticedepth对应的即为准确率高的解码结果。
[0063]
可见,利用lattice depth作为一个音频解码结果的准确率排序指标,其不需要引入任何其他操作步骤或参数处理,比如:不引入acoustic-scale缩放因子、lm rescore重打分、不必进行置信度分值计算、粗糙的句子级别置信度计算、没有各种解码策略干扰等,完全不受acoustic-scale和lm rescore的影响,比mbr等指标更稳定,从而能更能精准的从所有音频中找出解码准确的部分音频。并且,在语音识别中,对于噪声小、容易识别的音频来说,解码时更不易产生太多解码路径,因而,解码识别音频的latticedepth较小则能够表明音频的质量较高,即音频a被识别为语言a很准确,噪声小,这样不易对模型产生负面影响。在实际检验该指标latticedepth时,其针对识别好的句子的区分度很好。进一步,在获得指
标lattice depth时其计算消耗的算力资源非常少,即能够有效降低多余的资源消耗,不会增加计算机解码的算力负担。
[0064]
步骤s130,为准确率高的解码结果所对应的音频数据标注伪标签,并将带有伪标签的音频数据作为选出的训练数据。
[0065]
一个实施方式中,获取准确率高的解码结果所对应的未标注的音频数据;根据语音识别输出的解码结果中的文本标签,对所述音频数据进行伪标签标注。
[0066]
一个实施方式中,将带有伪标签的音频数据作为选出的训练数据,可以例如:筛选出所有准确率高的解码结果所对应的未标注的音频数据;在所述音频数据进行伪标签标注后,将带有所述伪标签的所述音频数据加入到语音识别的模型训练集中,重新训练语音识别的模型。
[0067]
具体地,音频经语音识别的模型解码后输出解码结果比如给出识别的文本数据,将指标latticedepth评价为准确率高的解码结果中的文本标签/文本数据直接作为对应的音频的伪标签,即模型识别结果即为高质量的音频的伪标签,然后将回流的该音频数据(即已经标注了伪标签的音频)加入到已标注的数据中即作为训练集中的训练数据,重新训练模型。由此,基于lattice depth的asr半监督学习回流语料筛选,能够筛选出合适的训练数据,继续为提升模型的识别性能效果质量等提供大量数据训练。
[0068]
可见,直接提供伪标签,简单容易实现,筛选出的训练数据也能保证足够高的转写准确率且噪声小。另外,通过lattice depth挑选的数据也可用于增强语音合成、噪声消除等场景下模型的训练;更广泛的,lattice depth这种指标表示的是模式识别可能结果的多寡,即数据分类的确定程度,同样在别的人工智能领域(如计算机视觉的图像分类),利用这种思想可以设计出类似的其他的指标,用于筛选出优质数据来训练增强已有模型的性能效果,因而,该指标在将来的适用范围会更广泛。
[0069]
【实施例2】
[0070]
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明的系统实现作进一步的详细说明。
[0071]
这里将结合图2所示本发明的方法的一个实施例的主要结构框图进行说明。该系统同样,主要基于半监督学习方式,通过少量人工标注标签训练后的语音识别的模型、或者通过初始化设置文本标签的语音识别的模型,直接将数据集中的多个未标注的音频数据输入所述模型中进行语音识别,输出相应的多个解码结果,以在筛选出一个或多个准确率高的解码结果时,将解码结果所对应的未标注的音频数据直接用解码结果中的文本标签进行标注。该实施例中主要包括:
[0072]
训练识别模块b210,基于半监督学习训练语音识别的模型,并对音频数据进行语音识别。
[0073]
一个实施方式中,训练数据的伪标签准确率,是基于半监督学习方式下语音识别的模型训练中用到的。具体地,构建语音识别的模型,包括声学模型和语言模型,例如:kaldi工具包实现的语音识别工具。
[0074]
进一步,在不同的应用场景下的语音识别的模型往往需要特定领域的训练数据才能使之获得最好的效果。比如在弹幕语音识别、质检语音转写任务中,都需要分别利用各自场景回流的数据对模型进行针对性增强训练,以适应不同场景下的需求。本发明基于班监
督学习训练语音识别的模型的一个实施例可以采用:输入极少量的人工标注文本标签的音频数据对该语音识别的模型进行训练后,能够在识别完成输出解码结果/识别结果时输出相应的文本标签,从而将筛选出高准确率的解码结果对应的音频数据直接打上结果中的文本标签作为回流的训练数据重新训练所述模型。或者,可以采用:预先为语音识别的模型设定文本标签,比如根据实际应用场景:语音弹幕识别、质检语音转写、语音搜题识别等不同场景的特点,直接输入未标注的音频数据到所述模型中评价准确率并筛选数据并利用解码结果中预测的相应的文本标签的进行标注。
[0075]
可见,在k12场景下ai教学体系的智能语音识别在语音识别的模型使用的标注数据不足时,可以有效利用(筛选)已有的转写数据(文本标签对应的音频数据),进行半监督训练,获得训练数据来训练模型,提升模型的识别性能、效果和质量。而为了避免噪声的影响,已有的转写数据中,还需要质量满足一定的要求,才能用来扩充训练数据,即需要筛选出高质量数据,保证筛选出的数据的转写准确率足够高,且噪声足够小,利用这样的数据进行训练才真正有助于模型的性能、效果的提升。
[0076]
设置指标模块b220,将语音识别在解码时的所有解码路径中每条解码路径的每个节点预计会链接的节点数量的均值,作为判断准确率高低的指标。
[0077]
一个实施方式中,可以利用kaldi工具包的语音识别模型,对输入的未标注的音频数据进行语音识别;在语音识别过程中根据预定束宽beamsize进行beam搜索解码;将解码时搜索过的预计存在的所有解码路径进行存储。
[0078]
进一步,将解码时搜索过的预计存在的所有解码路径进行存储,具体包括:解码时从状态网络wfst中进行解码路径搜索,获得解码路径图;利用lattice对解码路径图中搜索过的所有解码路径进行存储;输出最优解码路径作为对应所述音频数据的解码结果。
[0079]
进一步,所有解码路径中每条解码路径的每个节点预计会链接的节点数量的均值,作为判断准确率高低的指标,具体包括:从lattice存储的所有解码路径中,获取每个解码路径中每个节点能够向后链接的路径的数量并计算均值;将所述均值作为判断准确率高低的指标lattice depth;根据数据集中多个音频数据经语音识别在解码时得到的相应的多个指标lattice depth进行排序比较,以判断准确率高低。
[0080]
进一步,根据数据集中多个音频数据经语音识别在解码时得到的相应的多个指标lattice depth进行排序比较,以判断准确率高低,具体包括:将多个音频数据各自对应的指标lattice depth进行排序并与预设的阈值进行比较;如果所述指标lattice depth的排序在低于所述预设阈值的位置,表示对应的所述音频数据的解码结果的准确率越高。
[0081]
具体地,利用kaldi工具包实现的语音识别工具,例如hmm模型,构建了wfst状态网络,即以fst、lattice为基础的状态网络,其解码就是从该状态网络中搜索与要识别的声音最匹配的路径,例如,可以在解码的时候根据给定的束宽beam size,进行beam搜索(寻找全局最优路径),得到相应的解码图,其有多个可能的解码路径,找到最优的即最佳的路径匹配为解码结果,而此时,可以利用lattice储存所有可能的解码路径,相当于存储了该解码图。而最优路径即为解码结果,可以输出该模型的解码结果即音频的识别结果。
[0082]
将解码路径中每个节点可能链接的节点个数的均值,作为评价伪标签的准确率的排序指标或者判断指标lattice depth。该计算均值仅对可能链接的节点个数或者可能展开的路径数量做平均,算法简单效率高运算资源消耗小,并且直接在解码过程中获得不会
引入任何干扰和不确定的运算处理。
[0083]
在基于半监督学习的语音识别的模型执行识别和训练中,利用数据集比如多个未标注的音频输入到模型中解码得到解码结果和相应于多个音频的多个所述指标lattice depth,将多个指标lattice depth排序,从高到低或从低到高,优选从低到高排序,并且预先设置一个合适的阈值,比如在弹幕语音识别场景下,设定的阈值为5。进而,将所有识别结果的lattice depth值低于该阈值5的音频都进行回收,这些音频即为高质量的音频,这些低于阈值5的指标lattice depth对应的即为准确率高的解码结果。
[0084]
可见,利用lattice depth作为一个音频解码结果的准确率排序指标,其不需要引入任何其他操作步骤或参数处理,比如:不引入acoustic-scale缩放因子、lm rescore重打分、不必进行置信度分值计算、粗糙的句子级别置信度计算、没有各种解码策略干扰等,完全不受acoustic-scale和lm rescore的影响,比mbr等指标更稳定,从而能更能精准的从所有音频中找出解码准确的部分音频。并且,在语音识别中,对于噪声小、容易识别的音频来说,解码时更不易产生太多解码路径,因而,解码识别音频的lattice depth较小则能够表明音频的质量较高,即音频a被识别为语言a很准确,噪声小,这样不易对模型产生负面影响。在实际检验该指标lattice depth时,其针对识别好的句子的区分度很好。进一步,在获得指标lattice depth时其计算消耗的算力资源非常少,即能够有效降低多余的资源消耗,不会增加计算机解码的算力负担。
[0085]
筛选数据模块b230,为准确率高的解码结果所对应的音频数据标注伪标签,并将带有伪标签的音频数据作为选出的训练数据。
[0086]
一个实施方式中,获取准确率高的解码结果所对应的未标注的音频数据;根据语音识别输出的解码结果中的文本标签,对所述音频数据进行伪标签标注。
[0087]
一个实施方式中,将带有伪标签的音频数据作为选出的训练数据,可以例如:筛选出所有准确率高的解码结果所对应的未标注的音频数据;在所述音频数据进行伪标签标注后,将带有所述伪标签的所述音频数据加入到语音识别的模型训练集中,重新训练语音识别的模型。
[0088]
具体地,音频经语音识别的模型解码后输出解码结果比如给出识别的文本数据,将指标lattice depth评价为准确率高的解码结果中的文本标签/文本数据直接作为对应的音频的伪标签,即模型识别结果即为高质量的音频的伪标签,然后将回流的该音频数据(即已经标注了伪标签的音频)加入到已标注的数据中即作为训练集中的训练数据,重新训练模型。由此,基于lattice depth的asr半监督学习回流语料筛选,能够筛选出合适的训练数据,继续为提升模型的识别性能效果质量等提供大量数据训练。
[0089]
可见,直接提供伪标签,简单容易实现,筛选出的训练数据也能保证足够高的转写准确率且噪声小。另外,通过lattice depth挑选的数据也可用于增强语音合成、噪声消除等场景下模型的训练;更广泛的,lattice depth这种指标表示的是模式识别可能结果的多寡,即数据分类的确定程度,同样在别的人工智能领域(如计算机视觉的图像分类),利用这种思想可以设计出类似的其他的指标,用于筛选出优质数据来训练增强已有模型的性能效果,因而,该指标在将来的适用范围会更广泛。
[0090]
【实施例3】
[0091]
下面描述一个整体的应用场景结合实施例1和2进一步说明本发明的实现过程:
[0092]
利用kaldi工具包实现语音识别。基于半监督学习训练配置的kaldi中的语音识别的模型。该训练可以直接采用未标注的音频进行,训练结合自主标注、筛选训练数据(音频)、再训练的方式,以简单易行高效率低成本低资源消耗的方式获得标注的训练数据,以可扩展地适应于各种不同场景下的模型以及训练模型以提升模型性能增强其识别效果和质量。
[0093]
该kaldi工具包的语音识别的模型,可以采用hmm等声音模型结合语言模型对输入的音频进行识别,过程例如:输入的音频切分成帧后识别其状态、状态组合成音素、音素合成单词。而kaldi的hmm支持fst、lattice,因而,通过hmm在解码识别状态时,根据fst构建了一个状态网wfst,根据给定的束宽beamsize,通过beam搜索在该wfst中搜索最佳路径,即找到与声音最匹配的路径(解码路径)。搜索过程中,将所有可能的解码路径都通过lattice存储起来(参见前述对lattice和fst关系的解释)。获得解码路径中的每个节点可能链接的节点个数或者说可能连接的路径数量,计算均值,作为解码结果的准确度或者准确率指标latticedepth(lattice深度)。例如:路径1中节点a链接1个节点,节点b链接2个节点,节点c链接1个节点;路径2中节点a链接1个节点,节点c链接2个节点,节点d链接1个节点,均值为8/4=2,即该指标的值为2(此处仅为概念性的说明并非实际计算的例子)。
[0094]
该指标的值越小则准确率越高,相应的音频用作训练数据其质量越高,即其识别准确更能符合当前应用场景的实际需求。
[0095]
将输入的未标注的多个音频的各个解码结果的latticedepth指标从小到大排序,与预先设定的阈值例如弹幕语音识别设置阈值为5进行比较。该阈值设定也符合实际应用领域的需求,因而,一个指标能够用到更多的需要语音识别的不同场景中。
[0096]
假设a、b、c三段音频输入后latticedepth指标的值依次为6、5.5、4,那么4、5.5、6中只有音频c的指标低于阈值5。进一步,该c的解码结果中的文本标签可以直接给c作为标注,即筛选出了该c,并将标注了文本标签的c加入到训练数据集合中,在训练基于半监督学习的该模型时(即配置的kaldi中的语音识别的模型)继续利用新的训练数据c进行模型训练。
[0097]
【实施例4】
[0098]
图3是根据本发明的一个实施例的电子装置的结构示意框图,该电子装置包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行如前述实施例1、3中的涉及的方法的实施例步骤。
[0099]
如图3所示,电子装置以通用计算设备的形式表现。其中处理器可以是一个,也可以是多个并且协同工作。本发明也不排除进行分布式处理,即处理器可以分散在不同的实体设备中。本发明的电子装置并不限于单一实体,也可以是多个实体设备的总和。
[0100]
所述存储器存储有计算机可执行程序,通常是机器可读的代码。所述计算机可读程序可以被所述处理器执行,以使得电子装置能够执行本发明的方法,或者方法中的至少部分步骤。
[0101]
所述存储器包括易失性存储器,例如随机存取存储单元(ram)和/或高速缓存存储单元,还可以是非易失性存储器,如只读存储单元(rom)。
[0102]
可选的,该实施例中,电子装置还包括有i/o接口,其用于电子装置与外部的设备进行数据交换。i/o接口可以为表示几类总线结构中的一种或多种,包括存储单元总线或者
存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0103]
更具体地,参见图4所示的该实施例所述的电子装置的更具体的一个例子的结构框图。该示例性实施例的电子装置200以通用数据处理设备的形式表现。电子装置200的组件可以包括但不限于:至少一个处理单元210、至少一个存储单元220、连接不同系统组件(包括存储单元220和处理单元210)的总线230、显示单元240等。
[0104]
其中,所述存储单元220存储有计算机可读程序,其可以是源程序或都只读程序的代码。所述程序可以被处理单元210执行,使得所述处理单元210执行本发明各种实施方式的步骤。例如,所述处理单元210可以执行前述实施例2至5的方法的各个步骤。
[0105]
所述存储单元220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)2201和/或高速缓存存储单元2202,还可以进一步包括只读存储单元(rom)2203。所述存储单元220还可以包括具有一组(至少一个)程序模块2205的程序/实用工具2204,这样的程序模块2205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0106]
总线230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0107]
电子装置200也可以与一个或多个外部设备300(例如键盘、显示器、网络设备、蓝牙设备等)通信,使得用户能经由这些外部设备300与该电子装置200交互,和/或使得该电子装置200能与一个或多个其它数据处理设备(例如路由器、调制解调器等等)进行通信。这种通信可以通过输入/输出(i/o)接口250进行,还可以通过网络适配器260与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)进行。网络适配器260可以通过总线230与电子装置200的其它模块通信。应当明白,尽管图中未示出,电子装置200中可使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0108]
应当理解,图3、4显示的电子装置仅仅是本发明的一个示例,本发明的电子装置中还可以包括上述示例中未示出的元件或组件。例如,有些电子装置中还包括有显示屏等显示单元,有些电子装置还包括人机交互元件,例如按扭、键盘等。只要该电子装置能够执行存储器中的计算机可读程序以实现本发明方法或方法的至少部分步骤,均可认为是本发明所涵盖的电子装置。
[0109]
【实施例5】
[0110]
图5是本发明的一个实施例的计算机可读记录介质的示意图。如图5所示,计算机可读记录介质中存储有计算机可执行程序,所述计算机可执行程序被执行时,实现本发明上述的基于题目的辅导策略提供方法。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的
组合。
[0111]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0112]
通过以上对实施方式的描述,本领域的技术人员易于理解,本发明可以由能够执行特定计算机程序的硬件来实现,例如本发明的系统,以及系统中包含的电子处理单元、服务器、客户端、手机、控制单元、处理器等,本发明也可以由包含上述系统或部件的至少一部分的车辆来实现。本发明也可以由执行本发明的方法的计算机软件来实现,例如由机车端的微处理器、电子控制单元,客户端、服务器端等执行的控制软件来实现。但需要说明的是,执行本发明的方法的计算机软件并不限于由一个或特定个的硬件实体中执行,其也可以是由不特定具体硬件的以分布式的方式来实现,例如计算机程序执行的某些方法步骤可以在机车端执行,另一部分可以在移动终端或智能头盔等中执行。对于计算机软件,软件产品可以存储在一个计算机可读的存储介质(可以是cd-rom,u盘,移动硬盘等)中,也可以分布式存储于网络上,只要其能使得电子装置执行根据本发明的方法。
[0113]
通过以上对实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
[0114]
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子装置固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献