声学模型的训练方法、语音识别方法及相关设备与流程

文档序号:30348816发布日期:2022-06-08 10:09阅读:556来源:国知局
声学模型的训练方法、语音识别方法及相关设备与流程

1.本公开涉及计算机技术领域,尤其涉及一种声学模型的训练方法、语音识别的方法、声学模型的训练装置、计算机设备、计算机可读存储介质及计算机程序产品。


背景技术:

2.语音识别技术也称为asr(automatic speech recognition,自动语音识别),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,包括按键、二进制编码或者字符序列等,从而实现人机交互。语音识别正确率越高,则可应用的场景越广泛。
3.但相关技术中的语音识别技术还存在模型训练复杂、模型训练效率较低、以及训练获得的模型语音识别准确率不够高的问题。


技术实现要素:

4.本公开实施例提供了一种声学模型的训练方法、语音识别的方法、声学模型的训练装置、计算机设备、计算机可读存储介质及计算机程序产品,可以简化模型训练流程,提高模型训练效率,提高训练获得的目标声学模型的语音识别准确率。
5.本公开实施例提供了一种声学模型的训练方法,该方法包括:获取m个标注语音数据和n个无标注语音数据,m和n均为大于或等于1的正整数;使用所述无标注语音数据自监督预训练初始声学模型,获得第一声学模型;利用所述标注语音数据迭代训练所述第一声学模型s次,获得第二声学模型,s为大于或等于1的正整数;根据所述第二声学模型和所述无标注语音数据,获得所述无标注语音数据的第一伪标签;利用所述标注语音数据和所述无标注语音数据及其第一伪标签,训练所述第二声学模型,以用于获得目标声学模型。
6.本公开实施例提供了一种语音识别方法,该方法包括:获取待识别语音信号;通过目标声学模型处理所述待识别语音信号,获得所述待识别语音信号的识别文本。其中,所述目标声学模型是采用本公开实施例提供的声学模型的训练方法训练获得的。
7.本公开实施例提供了一种声学模型的训练装置,该装置包括:获取单元,用于获取m个标注语音数据和n个无标注语音数据,m和n均为大于或等于1的正整数;训练单元,用于使用所述无标注语音数据自监督预训练初始声学模型,获得第一声学模型;所述训练单元还用于利用所述标注语音数据迭代训练所述第一声学模型s次,获得第二声学模型,s为大于或等于1的正整数;预测单元,用于根据所述第二声学模型和所述无标注语音数据,获得所述无标注语音数据的第一伪标签;所述训练单元还用于利用所述标注语音数据和所述无标注语音数据及其第一伪标签,训练所述第二声学模型,以用于获得目标声学模型。
8.本公开实施例提供了一种语音识别装置,该装置包括:获取单元,用于获取待识别语音信号;处理单元,用于通过目标声学模型处理所述待识别语音信号,获得所述待识别语音信号的识别文本。其中,所述目标声学模型是采用本公开实施例提供的声学模型的训练装置训练获得的。
9.本公开实施例提供了一种计算机设备,包括处理器、存储器、输入输出接口;处理
器分别与存储器和输入输出接口相连,其中,输入输出接口用于接收数据及输出数据,存储器用于存储计算机程序,处理器用于调用该计算机程序,以使包含该处理器的计算机设备执行本公开任一实施例中的方法。
10.本公开实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本公开任一实施例中的方法。
11.本公开实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本公开任一实施例中的各种可选方式中提供的方法。
12.本公开一些实施例提供的声学模型的训练方法、语音识别方法、声学模型的训练装置、计算机设备、计算机可读存储介质及计算机程序产品,在获取m个标注语音数据和n个无标注语音数据时,使用该无标注语音数据自监督预训练初始声学模型,以用于获得第一声学模型;再利用该标注语音数据迭代训练该第一声学模型s次,以用于获得第二声学模型;再根据该第二声学模型和该无标注语音数据,获得该无标注语音数据的第一伪标签;再结合该标注语音数据和该无标注语音数据及其第一伪标签训练该第二声学模型,即采用了无需语言模型的半监督训练方式获得目标声学模型,在上述模型训练过程中,全程不需要引入语言模型,也不需要进行模型参数的重新初始化,因此简化了模型训练流程,提高了模型训练效率。
13.本公开实施例可以将该训练获得的目标声学模型用于识别待识别语音信号,获得待识别语音信号的识别文本,由于上述目标声学模型的训练过程中,将自监督预训练和无需语言模型的半监督训练相结合,因此,将该训练好的目标声学模型用于语音识别,可以提高语音识别的准确率。
附图说明
14.图1是相关技术中提供的语音识别的示意图。
15.图2是本公开实施例提供的一种声学模型的训练方法的流程图。
16.图3是本公开实施例提供的一种声学模型的结构示意图。
17.图4是基于图3的声学模型的结构示意图。
18.图5是本公开实施例提供的一种声学模型的训练方法的示意图。
19.图6是本公开实施例提供的另一种声学模型的训练方法的流程图。
20.图7是本公开实施例提供的又一种声学模型的训练方法的流程图。
21.图8是本公开实施例提供的一种语音识别方法的网络交互架构图。
22.图9是本公开实施例提供的方法应用于车载场景的示意图。
23.图10是本公开实施例提供的方法应用于同声传译场景的示意图。
24.图11是本公开实施例提供的方法应用于同声传译的效果示意图。
25.图12是本公开实施例提供的方法应用于语音输入法的效果示意图。
26.图13是本公开实施例提供的方法应用于在线语音交互场景的效果示意图。
27.图14是本公开实施例提供的一种用户与语音助手的交互界面示意图。
28.图15是本公开实施例提供的一种语音识别方法的流程图。
29.图16是本公开实施例提供的一种声学模型的训练装置的示意图。
30.图17是本公开实施例提供的一种计算机设备的结构示意图。
具体实施方式
31.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
32.首先对本公开实施例中涉及的部分术语进行解释说明。
33.人工智能(artificial intelligence,ai):是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
34.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
35.语音技术(speech technology)的关键技术有自动语音识别技术(asr)和语音合成技术(text to speech,tts)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
36.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
37.本公开实施例中,涉及利用人工智能中的机器学习技术来实现语音识别。
38.语音识别:语音识别技术就是让机器通过识别和理解过程,把语音信号转变为相应的文本或命令的技术。其中,asr是指将语音信号转换成对应的文本内容。在asr的实现中涉及以下名词:
39.声学模型(acoustic model,am):对声学、语音学、环境的变量、说话人性别、口音等的差异化的知识表示,包括基于隐马尔可夫模型(hidden markov model,hmm)的声学模型,例如混合高斯-隐马尔科夫模型(gmm-hmm)和深度神经网络-隐马尔科夫模型((deep neural networks,dnn)-hmm)表示,隐马尔可夫模型是一个离散时域的加权有限状态自动机;当然,还可以包括端到端(end to end)的声学模型,例如连接时序分类/连接主义的时间分类(connectionist temporal classification,ctc)模型、长短时记忆(long-short term memory,lstm)模型和注意力(attention)模型。声学模型的每个状态中表示语音单元(例如词、音节和音素等)的语音特征在该状态的概率分布,并通过状态与状态之间的转移连接成一个有序的状态序列,即得到一段语音信号所代表的语音单元的序列。
40.词典(lexicon):也即发音词典,用于将字或者词与音素对应,简单来说,中文就是汉字和拼音的对应,英文就是单词与音标的对应。
41.语言模型(language model,lm):用于建模语言在文本层面的概率连接关系的模型;也即建立单个字或者词之间概率连接关系的模型。是语言结构的知识表示,这里语言结构可以包括词语、句子之间的规律,例如语法、词语常用搭配等的知识表示,语言模型可以包括n元模子(n-gram)模型、递归神经网络(recurrent neural network,rnn)等。
42.解码器(decoder):是使用提取的声学特征,基于am、词典和lm进行搜索,找到原始语音对应的识别文本的模块;比如,解码器通过am得到原始语音的音素数据,从词典中查找音素数据对应的单词或者词语,再通过lm建立上述单词或者词语之间概率连接关系,得到最终的识别文本(recognition text),识别文本即是输入的原始语音信号对应的识别结果文本。
43.机器学习(machine learning,ml):是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
44.机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。例如,本公开实施例中可以采用人工神经网络的深度学习方式训练获得目标声学模型。
45.机器学习中的学习范式包括:监督学习、无监督学习、自监督学习以及半监督学习。
46.监督学习:利用大量的标注数据(例如标注语音数据)来训练模型,模型的预测和数据的真实标签产生损失后进行反向传播(计算梯度、更新参数),通过不断的学习,最终可以获得识别新样本的能力。
47.无监督学习:不依赖任何标签值,通过对数据内在特征的挖掘,找到样本间的关系,比如聚类相关的任务。
48.自监督学习:相比无监督学习,主要的目的是学习到更丰富的语义表征。自监督学习主要是利用辅助任务从大规模的无标注数据(例如无标注语音数据)中挖掘自身的监督信息,通过这种构造的监督信息对网络进行训练,从而可以学习对下游任务有价值的表征。也就是说自监督学习的监督信息不是人工标注的,而是算法在大规模无标注数据中自动构造监督信息,来进行监督学习或训练。
49.半监督学习(semi-supervised learning,ssl):是监督学习与无监督学习相结合的一种学习方法。半监督学习使用大量的无标注数据,以及同时使用标注数据,来进行模式识别工作。当使用半监督学习时,将会要求尽量少的人员来从事工作,同时,又能够带来比较高的准确性。
50.cnn:convolutional neural networks,即卷积神经网络。
51.transformer:变换器,一种并行处理序列任务的网络结构。
52.ema:exponential moving average,滑动指数平均。
53.wer:word error rate,词错误率。为了使识别出来的词序列和标准的词序列之间保持一致,须要进行替换、删除或者插入某些词,这些插入、替换或删除的词的总个数,除以
标准的词序列中词的总个数的百分比,即为wer。
54.本公开实施例提供的方案应用在涉及人工智能的语音技术和机器学习技术等场景,以实现将待识别语音信号准确的识别为对应的识别文本。
55.语音识别领域需求的增长,使得越来越多的语音识别系统需要在资源受限的条件下快速的搭建起来,例如,应用于小语种的语音识别系统。然而,这种情况下开发者通常缺乏充分的带标签的训练数据(下文称之为标注语音数据),而人工的数据标签通常需要付出高昂的成本,相比之下,无标签的语音数据(下文称之为无标注语音数据)却可以通过互联网和移动终端快速大量地收集。因此,在有标签数据受限的条件下,充分利用无标注语音数据来辅助模型的训练,可以提升语音识别系统的性能。
56.图1是相关技术中提供的语音识别的示意图。如图1所示,相关技术中的语音识别具有复杂的处理流程,主要包括声学模型训练101、语言模型训练102、构建解码资源103以及解码器解码104四个过程。
57.由此可知,相关技术中,为了获得准确的伪标签,解码器解码时需要引入额外的语言模型,因为声学模型am加上语言模型lm解码,比am单独解码得到的伪标签要更加准确,反之,若不用lm,单用am解码出准确率欠佳的伪标签,再次组合无标注语音数据和标注语音数据进行模型训练之后,效果未必会有提升,即在无标注语音数据的伪标签预测阶段需要语言模型参与解码。
58.一方面,这些语言模型往往需要在额外的大量有标注文本数据集上进行单独训练,且要求该标注文本数据集与目标语音数据集(用于训练声学模型的数据集)高度相关,这并不适用于只有一定量目标语音数据集的应用场景。
59.例如要求标注文本数据集与目标语音数据集的领域(domain)匹配,例如若目标语音数据集是商业销售领域,而标注文本数据集是生物医疗领域,这两个数据会有明显的mismatch(不匹配),这种情况下的语言模型lm不太可能对声学模型的解码产生帮助。或者,目标语音数据集是简短日常对话,而标注文本数据集是长篇小说文学类,便会有口语和书面的mismatch。再例如要求目标语音数据集标注的识别文本即为标注文本数据集中的文本样本。
60.另一方面,语言模型的内存较大,基于语言模型所生成的解码网络的内存又比语言模型的内存大的多,这就需要配置大量的存储资源及计算资源,在存储资源及计算资源有限的场景下,很难实现解码,因此,无法兼顾解码速度及解码精度。
61.针对上述相关技术中存在的问题,本公开实施例通过引入自监督预训练与一体化半监督微调相结合的声学模型的训练方法,简化了训练流程,移除了对语言模型的依赖,在只用声学模型生成伪标签的情况下,取得了比利用语言模型更好的效果。这是因为语言模型lm参与伪标签生成的话,伪标签会多数参考语言模型lm的知识(尤其当声学模型am较弱时),因此导致模型学习伪标签时,学习到过多来自lm的信息,从而过拟合lm,由于lm一般是从一个外部数据集(标注文本数据集)上训练获得的,训练过程中过拟合这部分知识是有害于训练am的。
62.其次,相关技术中的训练流程繁琐,在利用标注语音数据进行模型的第一次微调至完全收敛之后,中途需要单独进行一次性解码以获得所有无标注语音数据的伪标签、合并标注语音数据和无标注语音数据以获得合并语音数据集,且由于微调结束后的模型参数
只用作打伪标签,因此,在用合并语音数据集对模型进行第二次微调时,需要对第一次微调结束后的模型参数进行重新初始化,之后再进行第二次微调,即在进行第二次微调时,需要抛弃第一次微调结束后的参数,这样做是为了防止过拟合,如果用第一次微调后的模型在合并语音数据集上继续第二次微调,效果要明显差于参数重新初始化之后进行第二次微调重新训练的操作。
63.再次,由于半监督学习解决的主要问题是如何有效利用未标注语音数据,提升在标注语音数据上模型训练的效果。需要考虑如何推断未标注语音数据的伪标签以及如何防止在利用这些伪标签时的过拟合现象。伪标签质量的好坏直接决定了半监督算法学习出的模型性能。而相关技术中,无标注语音数据是被随机抽取的,并没有考虑到不同无标注语音数据之间的差异,例如,一些无标注语音数据可能与标注语音数据更相关、更相似,例如与标注语音数据是领域匹配的,而其他无标注语音数据可能来自于不同的领域,从而导致了这些无标注语音数据有着更高的学习难度。本公开实施例通过依据不同无标注语音数据的不同学习难度(下文采用伪标签的质量指标来度量,质量指标越高,则认为学习难度越低,对应的无标注语音数据可以认为是简单样本;质量指标越低,则认为学习难度越大,对应的无标注语音数据可以认为是困难样本),课程化即分阶段选择当下应该使用的无标注语音数据及其伪标签作为训练样本,循序渐进、由简及难地使用无标注语音数据,以取得更好的学习效果,保证无标注语音数据的充分利用。
64.图2是本公开实施例提供的一种声学模型的训练方法的流程图。图2实施例提供的方法中的各个步骤可以由任意计算机设备执行,这里以任一服务器执行进行举例说明,但本公开并不限定于此。
65.如图2所示,本公开实施例提供的方法可以包括如下步骤s210至s250。
66.在s210中,获取m个标注语音数据x和n个无标注语音数据u,m和n均为大于或等于1的正整数。
67.本公开实施例中,标注语音数据x包括原始语音及其对应标注的真实文本,该对应标注的真实文本可以是人工手动添加的,以作为对应的原始语音的标签值。无标注语音数据u包括原始语音,但不包括对应标注的真实文本。本公开对标注语音数据和无标注语音数据的来源、语言种类、所属领域等不做限定。
68.本公开实施例中,n可以大于或等于m,即无标注语音数据的数据量多于标注语音数据的数据量,从而可以减少人工手动添加原始语音的工作量,降低标注语音数据采集的难度和成本。
69.在s220中,使用所述无标注语音数据自监督预训练初始声学模型,获得第一声学模型。
70.本公开实施例中,先利用无标注语音数据u自监督预训练初始声学模型,以获得第一声学模型。
71.本公开实施例中,不对声学模型的网络结构和所采用的算法进行限定,其可以是ctc模型,也可以是lstm声学模型或者cnn-dnn声学模型等,当采用不同的声学模型时,所采用的自监督预训练方式可以相应的调整。将未训练过的声学模型称之为初始声学模型,采用无标注语音数据自监督预训练的初始声学模型称之为第一声学模型,将利用标注语音数据迭代训练s次后的第一声学模型称之为第二声学模型,之后可以同时结合该标注语音数
据和该无标注语音数据及其第一伪标签训练第二声学模型,以用于获得目标声学模型,该目标声学模型可作为语音识别模型,用于识别待识别语音信号。
72.在s230中,利用所述标注语音数据x迭代训练所述第一声学模型s次,获得第二声学模型,s为大于或等于1的正整数。
73.本公开实施例中,在对上述s220自监督预训练后的第一声学模型进行微调的过程中,前s步(迭代一次称之为一步)只利用标注语音数据x迭代训练第一声学模型,以确保在下述s240推断无标注语音数据u的伪标签时,第二声学模型已具有一定的伪标签(pseudo-labelling,pl)辨识能力。
74.本公开实施例中,s小于预定步数,该预定步数是指利用该标注语音数据x迭代训练第一声学模型至收敛所需的步数,即在利用标注语音数据x迭代训练第一声学模型s次时,并未训练使得第一声学模型收敛,即前s步只要使得第二声学模型具备伪标签的初步辨识能力便可以进行下述s250的标注语音数据x加上无标注语音数据u的半监督训练阶段,并需要训练到使得第一声学模型收敛,而相关技术中为了确保最好的伪标签质量,需要一定训练到完全收敛才可进行下一步。
75.在s240中,根据所述第二声学模型和所述无标注语音数据,获得所述无标注语音数据的第一伪标签。
76.伪标签的定义来自于半监督学习,半监督学习是通过借助无标注语音数据来提升有监督过程中的模型性能,本公开实施例中的伪标签可以包括第一伪标签、第二伪标签等等,以用于区分不同时刻生成的伪标签。本公开实施例中,伪标签技术是利用在标注语音数据x所训练的第二声学模型,在无标注语音数据u上进行预测,以获得无标注语音数据u的第一伪标签,然后再将标注语音数据x和无标注语音数据u及其第一伪标签再次输入第二声学模型中进行训练。
77.在s250中,利用所述标注语音数据和所述无标注语音数据及其第一伪标签,训练所述第二声学模型,以用于获得目标声学模型。
78.本公开实施例中,在基于s240获得无标注语音数据的第一伪标签之后,同时从标注语音数据x和带第一伪标签的无标注语音数据中抽取数据进行第二声学模型的训练,以用于训练获得目标声学模型,一方面,不需要对第二声学模型重新进行参数初始化,无需重新微调即可获得最终的目标声学模型;另一方面,在预测第一伪标签时,不需要语言模型lm的参与。而相关技术中,为了确保最好的伪标签质量,要求先利用标注语音数据微调至完全收敛,训练结束之后接入lm,对所有无标注语音数据一次性推断其伪标签,再在标注语音数据和带伪标签的无标注语音数据上重新训练,需要重新初始化模型的参数,然后再重新微调一个最终模型。
79.在示例性实施例中,利用所述标注语音数据和所述无标注语音数据及其第一伪标签,训练所述第二声学模型,以用于获得目标声学模型,可以包括:利用所述标注语音数据和所述无标注语音数据及其第一伪标签,训练所述第二声学模型,获得第三声学模型;利用所述第三声学模型处理所述无标注语音数据,获得所述无标注语音数据的第二伪标签;利用所述标注语音数据和所述无标注语音数据及其第二伪标签,训练所述第三声学模型,以用于获得所述目标声学模型。
80.本公开实施例中,在从获得第二声学模型到获得最终的目标声学模型这段期间
中,无标注语音数据u的伪标签是一直在生成且更新的,而不是拿微调后的第二声学模型一次性获得所有无标注语音数据u的伪标签,然后再利用标注语音数据u和所有无标注语音数据u的伪标签对第二声学模型进行一次性微调,这种一次性微调方案中,伪标签一旦生成好了就不会再变,而本公开实施例提供的方法中,无标注语音数据u的伪标签是随着训练动态生成的,由于第二声学模型在训练过程中,性能是逐渐变好的,例如从第二声学模型训练获得第三声学模型,可选的,还可以从第三声学模型训练获得第四声学模型,

,以此类推,最终获得目标声学模型,即第三声学模型的性能好于第二声学模型,第四声学模型的性能好于第三声学模型,

,因此,利用第三声学模型推断的伪标签(为了区分,称之为第二伪标签)的精度会高于利用第二声学模型推断的伪标签(称之为第一伪标签),利用第四声学模型推断的伪标签(为了区分,称之为第三伪标签)的精度会高于利用第三声学模型推断的伪标签(即第二伪标签),

,即伪标签的精度会逐渐提高,而随着伪标签精度的逐渐提高,利用伪标签训练获得的声学模型(例如第三声学模型、第四声学模型等)的精度也会进一步提升,导致最终训练获得的目标声学模型的精度得到改善。
81.在示例性实施例中,根据所述第二声学模型和所述无标注语音数据,获得所述无标注语音数据的第一伪标签,可以包括:在第一个阶段,从n个无标注语音数据中提取c个第一无标注样本,c为大于或等于1且小于或等于n的正整数;通过所述第二声学模型处理所述第一无标注样本,获得所述第一无标注样本的第一伪标签及其质量指标。
82.其中,利用所述标注语音数据和所述无标注语音数据及其第一伪标签,训练所述第二声学模型,获得第三声学模型,可以包括:根据所述第一伪标签的质量指标,对所述第一无标注样本及其第一伪标签进行降序排列;若利用所述标注语音数据和所述无标注语音数据训练所述第二声学模型至所述目标声学模型的已迭代次数,处于所述第一个阶段的迭代范围内,则从降序排列的c个所述第一无标注样本及其第一伪标签中选择前第一预定数量的第一无标注样本及其第一伪标签;从前所述第一预定数量的第一无标注样本及其第一伪标签中,按序选取当前批无标注样本及其第一伪标签;从所述标注语音数据中选择当前批标注语音数据;采用所述当前批无标注样本及其第一伪标签、以及所述当前批标注语音数据迭代训练所述第二声学模型,直至前所述第一预定数量的第一无标注样本及其第一伪标签被使用过至少一次时,获得所述第三声学模型。
83.本公开实施例中,在利用标注语音数据和无标注语音数据及其伪标签训练第二声学模型至目标声学模型的整个过程中,可以分阶段处理,例如假设分为k个阶段,k为大于或等于1的正整数。
84.k为大于或等于1且小于或等于k,k表示k个阶段中的第k个阶段,当k=1时,即在第一个阶段,当c等于n时,即将n个无标注语音数据作为n个第一无标注样本,分别输入至该第二声学模型,分别预测获得这n个无标注语音数据的第一伪标签及其质量指标。
85.当c小于n时,可以建立一个临时伪标签池,从n个无标注语音数据中提取c个无标注语音数据,即获得c个第一无标注样本,利用该第二声学模型预测被提取的c个第一无标注样本的第一伪标签及其质量指标,将该c个第一无标注样本及其第一伪标签放入该临时伪标签池中。
86.在训练第二声学模型的过程中,按照第一伪标签的质量指标,从该临时伪标签池中选取前第一预定数量的第一无标注样本及其第一伪标签,并丢弃该临时伪标签池中其他
剩余的第一无标注样本及其第一伪标签,然后再从该前第一预定数量的第一无标注样本及其第一伪标签中按照第一伪标签的质量指标,按序依次抽取当前批无标注样本及其第一伪标签,同时结合从标注语音数据中抽取的当前批标注语音数据,不断地迭代训练第二声学模型,直至该前第一预定数量的第一无标注样本及其第一伪标签被取空,迭代训练该第二声学模型为第三声学模型。
87.然后再重新从剩余的n-c个无标注语音数据中提取c个无标注语音数据,作为c个第二无标注样本,此时n为大于或等于2c的正整数,再利用第三声学模型预测该c个第二无标注样本的第二伪标签及其质量指标,将该c个第二无标注样本及其第二伪标签放入该临时伪标签池中,
……
这样不断重复下去,直至训练至最大迭代次数,获得目标声学模型。即本公开实施例通过调节临时伪标签池的大小,上述c的大小,可以控制伪标签的更新频率,c设置的越小,则伪标签更新频率越快,反之,若c设置的越大,则伪标签更新频率越慢,可以根据实际需求选择合适的c的大小,在下面实施例中,以c=100进行举例说明,但本公开并不限定于此。
88.当c的取值远小于每个阶段的总训练步数时,在每个阶段,无标注语音数据的伪标签可以更新多轮,例如,假设第一个阶段的总训练步数为1万步,c取值为100时,则被选择的无标注语音数据的伪标签可以更新多轮,具体的轮数还相关于每一当前批无标注样本中包含的无标注语音数据的数量。
89.本公开实施例中,第一次被提取的c个无标注语音数据称之为第一无标注样本,以此类推,第j次被提取的c个无标注语音数据称之为第j无标注样本,j为大于或等于1的正整数。
90.本公开实施例中,基于无标注语音数据自监督预训练和标注语音数据训练s步后的第二声学模型对c个第一无标注样本进行预测,得到c个第一无标注样本的第一伪标签,伴随第一伪标签,第二声学模型可以同时生成描述该第一伪标签可信程度的质量指标,质量指标可以用于表征第二声学模型识别获得的第一伪标签的确定性,较高的质量指标表示第二声学模型对于预测获得的第一伪标签有较高的确定性,也即确定预测出的第一伪标签正确;反之,则表示对预测获得的第一伪标签不太确定,即不确定预测出的第一伪标签是否正确。在从降序排列的c个第一无标注样本及其第一伪标签中选择用于迭代训练第二声学模型的第一无标注样本及其第一伪标签时,可以选择质量指标相对较高的第一无标注样本及其第一伪标签,例如前第一预定数量的第一无标注样本及其第一伪标签,以提高训练获得的第三声学模型的精度,进而提高目标声学模型的精度。
91.本公开实施例中,在利用c个第一无标注样本及其第一伪标签训练第二声学模型的过程中,可以根据第一无标注样本的第一伪标签的质量指标来确定所选择的用于训练第二声学模型的第一无标注样本及其第一伪标签,由此可以避免相关技术中随机挑选无标注语音数据及其伪标签训练模型所带来的识别准确率不高的问题,因为无标注语音数据的伪标签的质量其实是存在好坏之分的,随机挑选存在一定的概率,会选中质量不好的无标注语音数据及其伪标签用于训练模型。
92.本公开实施例中,第一预定数量是指在第一个阶段之内,将第j轮选择的c个第j无标注样本按照质量指标进行降序排列后,从中所选择的用于训练对应第j+1声学模型以获得第j+2声学模型的第j无标注样本的数量,在下面的举例说明中,同一个阶段每轮所选择
的无标注样本的数量是相同的,不同阶段每轮所选择的无标注样本的数量随着阶段增加而增加,例如第一个阶段中每轮所选择的第一无标注样本、第二无标注样本等的数量均为c/k个,第二个阶段中每轮所选择的无标注样本的数量均为2c/k个。但本公开并不限定于此,在其他实施例中,同一个阶段每轮所选择的无标注样本的数量可以不同,例如在同一个阶段,随着每轮的增加而增加;或者,不同阶段每轮所选择的无标注样本的数量可以相同,例如第一个阶段和第二个阶段每轮所选择的无标注样本的数量均为c/k个。
93.在示例性实施例中,通过所述第二声学模型处理所述第一无标注样本,获得所述第一无标注样本的第一伪标签及其质量指标,可以包括:根据所述第二声学模型获得初始滑动指数平均模型;利用所述初始滑动指数平均模型处理所述第一无标注样本,获得所述第一无标注样本的第一伪标签及其质量指标。
94.其中,所述方法还可以包括:在采用所述当前批无标注样本及其第一伪标签、以及所述当前批标注语音数据迭代训练所述第二声学模型时,根据迭代训练后的所述第二声学模型更新所述初始滑动指数平均模型,直至所述第一预定数量的第一无标注样本及其第一伪标签被使用过至少一次时,获得第一滑动指数平均模型。
95.在一些实施例中,可以直接使用上述第二声学模型来预测第一无标注样本的第一伪标签及其质量指标。在另一些实施例中,考虑到伪标签的过拟合问题,可以根据该第二声学模型进一步获得初始ema模型,利用该初始ema模型来预测第一无标注样本的第一伪标签及其质量指标,可以有效地防止伪标签过拟合,防止第二声学模型发散。
96.本公开实施例中,在对前第一预定数量个第一无标注样本及其第一伪标签处理过程中,可以先从前第一预定数量第一无标注样本及其第一伪标签中确定当前批无标注样本及其第一伪标签,在利用当前批无标注样本及其第一伪标签,并结合当前批标注语音数据迭代训练第二声学模型,直至前第一预定数量个第一无标注样本及其第一伪标签均被至少使用过一次之后,获得第三声学模型。
97.利用第一个当前批无标注样本及其第一伪标签、以及第一个当前批标注语音数据训练迭代一次获得第一次迭代训练之后的第二声学模型,再利用第一次迭代训练之后的第二声学模型更新初始ema模型,获得第一ema模型;再利用第二个当前批无标注样本及其第一伪标签、以及第二个当前批标注语音数据训练迭代一次获得第二次迭代训练之后的第二声学模型,再利用第二次迭代训练之后的第二声学模型更新第一ema模型,获得更新后的第一ema模型,

以此类推,直至前第一预定数量个第一无标注样本及其第一伪标签均被至少使用过一次,即第一ema模型是随着第二声学模型的每次迭代而更新的。
98.在示例性实施例中,本公开实施例提供的方法还可以包括:在每次迭代训练所述第二声学模型时,递增所述已迭代次数。
99.其中,利用所述第三声学模型处理所述无标注语音数据,获得所述无标注语音数据的第二伪标签,可以包括:若所述已迭代次数小于训练所述第二声学模型至所述目标声学模型的总训练步数,则在所述第一个阶段,从n-c个剩余的无标注语音数据中提取c个第二无标注样本;通过所述第三声学模型处理所述第二无标注样本,获得所述第二无标注样本的第二伪标签及其质量指标。
100.即每一当前批无标注样本及其第一伪标签、以及第一个当前批标注语音数据训练迭代一次第二声学模型,即递增一次已迭代次数,初始化时,假设i=0,即i是用于累计从第
二声学模型训练获得最终的目标声学模型所迭代的次数,i为大于或等于0且小于或等于max_iter-s的正整数,max_iter表示训练第一声学模型至目标声学模型的最大迭代次数,即max_iter-s表示训练第二声学模型至目标声学模型的总训练步数。在每递增一次已迭代次数之后,会将递增之后的已迭代次数与max_iter-s进行比较,若已迭代次数小于max_iter-s,则继续迭代训练,进行下一轮c个第二无标注样本的处理;若已迭代次数等于max_iter-s,则说明达到了最大迭代次数,则停止迭代训练,获得目标声学模型。
101.其中,利用所述标注语音数据和所述无标注语音数据及其第二伪标签,训练所述第三声学模型,以用于获得所述目标声学模型,可以包括:根据所述第二伪标签的质量指标,对所述第二无标注样本及其第二伪标签进行降序排列;若所述已迭代次数处于所述第一个阶段的迭代范围内,则从降序排列的c个所述第二无标注样本及其第二伪标签中选择前所述第一预定数量的第二无标注样本及其第二伪标签;从所述前第一预定数量的第二无标注样本及其第二伪标签中,按序选取当前批无标注样本及其第二伪标签;从所述标注语音数据中选择当前批标注语音数据;采用所述当前批无标注样本及其第二伪标签、以及所述当前批标注语音数据迭代训练所述第三声学模型,直至前所述第一预定数量的第二无标注样本及其第二伪标签被使用过至少一次,获得第四声学模型,以用于获得所述目标声学模型。
102.若将前第一预定数量个第一无标注样本及其第一伪标签迭代训练完之后,所累计的已迭代次数还处于第一个阶段的迭代范围之内,则维持k=1,即仍然处于第一个阶段;反之,若将前第一预定数量个第一无标注样本及其第一伪标签迭代训练完之后,所累计的已迭代次数超出了第一个阶段的迭代范围、且处于第二个阶段的迭代范围内,则使得k=k+1,即进入第二个阶段,第二个阶段的处理过程与第一个阶段类似。
103.在示例性实施例中,通过所述第三声学模型处理所述第二无标注样本,获得所述第二无标注样本的第二伪标签及其质量指标,可以包括:利用所述第一滑动指数平均模型处理所述第二无标注样本,获得所述第二无标注样本的第二伪标签及其质量指标。
104.其中,本公开实施例提供的方法还可以包括:在采用所述当前批无标注样本及其第二伪标签、以及所述当前批标注语音数据迭代训练所述第三声学模型时,根据迭代训练后的所述第三声学模型更新所述第一滑动指数平均模型,直至前所述第二预定数量的第二无标注样本及其第二伪标签被使用过至少一次时,获得第二滑动指数平均模型。
105.在示例性实施例中,利用所述标注语音数据和所述无标注语音数据及其第二伪标签,训练所述第三声学模型,以用于获得所述目标声学模型,还可以包括:若所述已迭代次数处于第二个阶段的迭代范围内,则从降序排列的c个所述第二无标注样本及其第二伪标签中选择前第二预定数量的第二无标注样本及其第二伪标签;从前所述第二预定数量的第二无标注样本及其第二伪标签中,按序选取当前批无标注样本及其第二伪标签;从所述标注语音数据中选择当前批标注语音数据;采用所述当前批无标注样本及其第二伪标签、以及所述当前批标注语音数据迭代训练所述第三声学模型,直至前所述第二预定数量的第二无标注样本及其第二伪标签被使用过至少一次,获得第四声学模型,以用于获得所述目标声学模型。
106.在示例性实施例中,通过所述第二声学模型处理所述第一无标注样本,获得所述第一无标注样本的第一伪标签,可以包括:通过所述第二声学模型处理所述第一无标注样
本,获得各个时刻的字符的概率;选择各个时刻概率最大的字符作为候选字符;合并所述候选字符中连续且相同的字符,以获得输出字符;去掉所述输出字符中的空白字符,以获得所述第一无标注样本的伪标签。
107.本公开实施例中,只利用第二声学模型或者初始ema模型进行第一伪标签推测,对于基于ctc准则的第二声学模型或者初始ema模型而言,第一伪标签可以通过:1)选择各自时刻概率最大的字符作为候选字符;2)合并候选字符中连续且相同的字符,获得输出字符;3)去掉《blank》即空白字符,以获得第一无标注样本的第一伪标签。其中,空白字符是指预测的某个语音帧上不包含有效的音素,通过删除空白字符,可以提升语音识别的准确性。
108.在示例性实施例中,通过所述第二声学模型处理所述第一无标注样本,获得所述第一无标注样本的第一伪标签的质量指标,可以包括:通过所述第二声学模型处理所述第一无标注样本,获得各个时刻的字符的置信度;选取每一串相同字符的第一个字符的置信度,作为字符置信度;根据所述字符置信度获得所述第一伪标签的置信度分数(用cs表示),以作为所述第一伪标签的质量指标。
109.在一些实施例中,可以采用cs作为第一无标注样本的第一伪标签的质量指标:在这种第一伪标签生成方式中,每个连续字符串的第一个字符对最终结果起到了决定性作用,因此在计算cs时,选取每一串相同字符的第一个字符的置信度,并对所有选出的置信度求平均,作为第一无标注样本的第一伪标签的cs。
110.在示例性实施例中,通过所述第二声学模型处理所述第一无标注样本,获得所述第一无标注样本的第一伪标签的质量指标,可以包括:通过所述第二声学模型处理所述第一无标注样本,获得所述第一无标注样本的第一伪标签及其置信度分数;对所述第一无标注样本执行扰动操作,获得第一扰动无标注样本;通过所述第二声学模型处理所述第一扰动无标注样本,获得所述第一扰动无标注样本的第一扰动伪标签及其扰动置信度分数;根据所述第一无标注样本的第一伪标签及其置信度分数、以及所述第一扰动无标注样本的第一扰动伪标签及其扰动置信度分数,获得所述第一伪标签的置信度鲁棒性分数(用crs表示),以作为所述第一伪标签的质量指标。
111.在一些实施例中,可以采用crs作为第一无标注样本的第一伪标签的质量指标:crs在上述置信度的基础上,进一步考虑到了第一伪标签的鲁棒性。具体的,可以对第一无标注样本进行一次弱增强(即执行扰动操作),获得第一扰动无标注样本,再利用第二声学模型或初始ema模型对该第一扰动无标注样本重新推断其第一伪标签,称之为第一扰动无标注样本的第一扰动伪标签,同时推断其cs,称之为扰动置信度分数,再基于第一无标注样本的第一伪标签的cs、以及第一扰动无标注样本的扰动置信度分数,获得该第一无标注样本的第一伪标签的crs。
112.在示例性实施例中,根据所述第一无标注样本的第一伪标签及其置信度分数、以及所述第一扰动无标注样本的第一扰动伪标签及其扰动置信度分数,获得所述第一伪标签的置信度鲁棒性分数,可以包括:获得所述第一无标注样本的第一伪标签及所述第一扰动无标注样本的第一扰动伪标签之间的编辑距离;获得所述第一伪标签的长度;根据所述置信度分数、所述扰动置信度分数、所述编辑距离和所述长度,获得所述置信度鲁棒性分数。
113.例如,可以通过以下公式计算获得第一无标注样本的第一伪标签的crs:
[0114][0115]
上述公式(1)中,qn表示第n个第一无标注样本的伪标签,n为大于或等于1且小于或等于c的正整数;表示第n个第一无标注样本进行弱增强后的伪标签,即第n个第一扰动无标注样本的伪标签,也即第n个第一扰动伪标签;crs(qn)表示qn的置信度鲁棒性分数;cs(qn)表示qn的置信度分数,表示的扰动置信度分数,λ是一个用于调节第一项和第二项这两项的权重,表示qn和的编辑距离,l表示qn的长度,l为大于或等于1的正整数。上述表达式中,第一项是两次推断的置信度分数和扰动置信度分数之间的平均值,而第二项是一个基于鲁棒性的惩罚项,如果第一伪标签在扰动下变化很大,会导致第二项变大,从而使得最终的置信度鲁棒性分数变低。
[0116]
可以理解的是,crs的计算方式并不限于上述举例的公式(1),只要能够反映扰动对伪标签的置信度分数的影响的计算方式,均属于本公开的保护范围。
[0117]
在示例性实施例中,所述扰动操作可以是指对所述第一无标注样本做通道掩码。
[0118]
本公开实施例中,弱增强和强增强是相对而言的,强增强是指相对于弱增强而言,执行了更多的掩码操作,也可以是执行了信息丢失更大的掩码操作。例如,弱增强可以是指只对第一无标注样本执行了通道掩码,而强增强是指对标注语音数据和无标注语音数据即执行通道掩码,又执行时域掩码。或者,弱增强是指对第一无标注样本执行通道掩码,而强增强是指对标注语音数据和无标注语音数据执行时域掩码。这是因为,遮盖住一部分时间步,相比于遮盖住一部分频域段,信息丢失更大。例如一段语音,如果把高频去掉一部分,相比于直接删掉中间的1秒内容,后者信息损失显然更大。因此,只遮盖频域(通道)被认为是较弱的一种增强,相比之下,强增强是指同时遮盖了时域与频域,或者遮盖了时域。
[0119]
本公开实施例中的通道掩码是指对通道进行mask(掩码)。例如这里假设第二声学模型采用cnn作为特征提取器,而不是抽取mfcc(mel-frequency cepstral coefficients,梅尔频率倒谱系数)或梅尔谱的方式,因此频域在此处对应为通道(channel),即卷积中的通道数,频域掩码(frequency masking)变作通道掩码(channel masking)。相较于通道掩码,另一种掩码方式是时域掩码(time masking)。
[0120]
本公开实施例提供的声学模型的训练方法,在获取m个标注语音数据和n个无标注语音数据时,使用该无标注语音数据自监督预训练初始声学模型,以用于获得第一声学模型;再利用该标注语音数据迭代训练该第一声学模型s次,以用于获得第二声学模型;再根据该第二声学模型和该无标注语音数据,获得该无标注语音数据的第一伪标签;再结合该标注语音数据和该无标注语音数据及其第一伪标签训练该第二声学模型,即采用了无需语言模型的半监督训练方式获得目标声学模型,在上述模型训练过程中,全程不需要引入语言模型,也不需要进行模型参数的重新初始化,因此简化了模型训练流程,提高了模型训练效率。
[0121]
本公开实施例可以将该训练获得的目标声学模型用于识别待识别语音信号,获得待识别语音信号的识别文本,由于上述目标声学模型的训练过程中,将自监督预训练和无需语言模型的半监督训练相结合,因此,将该训练好的目标声学模型用于语音识别,可以提
高语音识别的准确率。
[0122]
在下面的实施例中,以声学模型例如初始声学模型、第一声学模型、第二声学模型、第三声学模型、第四声学模型

以及目标声学模型具有相同的模型结构,且均以wav2vec2.0进行举例说明,但可以理解的是,本公开并不限定声学模型的结构。
[0123]
在自监督预训练阶段,wav2vec2.0作为初始声学模型,在大量无标注语音数据u上,利用被掩膜的声学表示和量化的码本进行无监督对比学习,获得第一声学模型,之后利用标注语音数据x和无标注语音数据u对第一声学模型进行微调,获得最终的目标声学模型。这里以第二声学模型为例,初始声学模型、第一声学模型、第三声学模型、第四声学模型

以及目标声学模型的结构可以参考。
[0124]
在示例性实施例中,所述第二声学模型可以包括特征提取网络、量化网络、上下文提取网络以及预测头网络,所述上下文提取网络可以包括掩膜结构和上下文提取结构。
[0125]
在示例性实施例中,利用所述标注语音数据和所述无标注语音数据及其第一伪标签,训练所述第二声学模型,获得第三声学模型,可以包括:分别将所述标注语音数据和所述无标注语音数据输入至所述特征提取网络,获得所述标注语音数据和所述无标注语音数据的声学特征;利用所述掩膜结构对所述声学特征做通道掩码和时间掩码,获得掩码声学特征;利用所述上下文提取结构处理所述掩码声学特征,获得上下文向量;通过所述量化网络处理所述声学特征,获得目标上下文向量;根据所述上下文向量和所述目标上下文向量以及所述第一伪标签,训练所述第二声学模型,获得所述第三声学模型。
[0126]
图3以声学模型为wav2vec2.0进行举例说明,包括特征提取网络310、量化网络320、上下文提取网络330以及预测头网络(图中未示出,可以是一个线性层)。进一步地,上下文提取网络330可以包括掩码结构331和上下文提取结构332。
[0127]
特征提取网络310可以包括多层cnn模块(block),用于处理原始波形r(可以包括标注语音数据和无标注语音数据的原始语音波形),分别获得标注语音数据和无标注语音数据的声学特征,即图示中的隐语言表示(latent speech representations)z,再将隐语言表示z通过量化网络320处理,量化网络320可以包括量化器,以用于获得量化表示q;同时,将隐语言表示z通过掩码结构331和上下文提取结构332进行处理,上下文提取结构332可以包括transformer(变换器),以获得上下文表示c,即目标上下文向量。根据量化表示q和上下文表示c能够计算获得对比损失υ。
[0128]
具体的,可以参考图4,特征提取网络(feature encoder)410可以包括7个cnn模块,例如依次级联的cnn模块0、cnn模块1、cnn模块2、cnn模块3、cnn模块4、cnn模块5以及cnn模块6,将语音波形即上述的原始波形r输入至cnn模块0。在每一个cnn模块例如cnn模块0中,可以包括依次级联的conv1d(一维卷积层)、groupnorm(正则化层)和gelu(gaussian error linerar units,高斯错误线性单元)激活层。
[0129]
在cnn模块0使用了groupnorm对整个sequence(序列)的每一个channel做归一化,在cnn模块6的输出使用layernorm层归一化对每个batch(批)内的channel做归一化,获得latent speech representations z。
[0130]
对latent speech representations z进行处理,然后apply_mask即应用掩码(可以是强增强,即同时应用时域掩码和通道掩码),再进行层归一化处理之后,送入多层transformer(这里以12层为例,但本公开并不限定于此)430,然后只选取掩码对应的x(表
示原始的语音波形),输出final_proj,即上述上下文表示c。
[0131]
另一边,对latent speech representations z进行处理,只保留掩码对应特征,再采用量化器420,量化器420可以依次使用线性处理和gumbel softmax计算被mask位置的离散表示,输出project_q,即上述量化表示q,然后基于project_q和final_proj进行损失计算。
[0132]
本公开实施例通过采用wave2vec2.0作为声学模型,可以采用无标注语音数据对其进行自监督预训练,可以减少训练过程中所需的训练数据量,提高训练获得的目标声学模型的语音识别准确性,适用于哪些缺乏大量标注语音数据的ai系统训练。
[0133]
图5是本公开实施例提供的一种声学模型的训练方法的示意图。
[0134]
如图5所示,在s501中,使用无标注语音数据自监督预训练初始声学模型510,获得第一声学模型520。
[0135]
在s502中,使用标注语音数据迭代训练第一声学模型s次,获得第二声学模型530。
[0136]
在s503中,再使用第二声学模型530处理无标注语音数据,获得无标注语音数据的第一伪标签,即第一伪标签语音数据包括无标注语音数据及其第一伪标签。
[0137]
在s504中,再结合标注语音数据和第一伪标签语音数据一起训练第二声学模型530,获得第三声学模型540。
[0138]
在s505中,再使用第三声学模型540处理无标注语音数据,获得无标注语音数据的第二伪标签,即第二伪标签语音数据包括无标注语音数据及其第二伪标签。
[0139]
在s506中,再结合标注语音数据和第二伪标签语音数据一起训练第三声学模型540,获得第四声学模型550,以此类推,最终获得目标声学模型。
[0140]
本公开实施例提供的声学模型的训练方法,采用了自监督预训练和一体化半监督微调相结合的方式,其中一体化半监督微调主要表现在操作上,其是相对非一体化半监督微调而言的,非一体化半监督微调在拿到自监督预训练好的第一声学模型后,需要1)先融入lm一次性对所有无标注语音数据u的伪标签进行推断;2)然后再手动合并标注语音数据和伪标签语音数据;3)再重新初始化第一声学模型之后,利用手动合并的标注语音数据和伪标签语音数据重新训练。其中这三步都需要单独的操作,而本公开实施例采用的一体化半监督微调不需要上述三个单独的步骤,直接训练获得最终的目标声学模型。同时,本公开实施例提供的方法,无标注语音数据的伪标签是在不断更新的,且每次更新之后的伪标签的精度在逐步提升,从而使得最终获得的目标声学模型的精度得到提升。
[0141]
下面以图6实施例对本公开实施例提供的声学模型的训练方法进行举例说明,但本公开并不限定于此。图6实施例中直接采用am预测伪标签。
[0142]
如图6所示,本公开实施例提供的方法可以包括如下步骤s601至s616。
[0143]
在s601中,获取m个标注语音数据和n个无标注语音数据
[0144]
假设拥有定量的标注语音数据x和无标注语音数据u,目的是最大化利用x和u来训练出最佳的声学模型,即目标声学模型可以作为语音识别模型,该目标声学模型可以包括图3实施例的模型结构以及叠加在上下文提取网络上的一层随机初始化的线性层,即本公开实施例提供的语音识别模型不需要引入语言模型lm,只需要声学模型am。其中,xm表示第m个标注语音数据的原始语音,ym表示第m个标注语音数据对应标注的真实文本,un表示第n个无标注语音数据的原始语音,m为大于或等于1且小于或等于m的正整数,n为大于或等于1
且小于或等于n的正整数,m和n均为大于或等于1的正整数。
[0145]
在s602中,基于无标注语音数据u,并使用wav2vec2.0预训练声学模型(图6实施例中,各声学模型均用m
θ
表示)。
[0146]
s602中,在自监督预训练阶段,以wav2vec2.0作为初始声学模型m
θ
,使用无标注语音数据u对其进行自监督预训练,利用被掩码的声学表示和量化的码本进行无监督对比学习,学习出高效的隐层声学表示,即上述图3实施例中的上下文表示c,获得第一声学模型m
θ

[0147]
本公开实施例中,自监督预训练可以让声学模型对u提前熟悉以助于后面的学习,自监督预训练提高了模型能力,保证了伪标签更高的质量。
[0148]
在s603中,基于标注语音数据x微调声学模型s步。
[0149]
本公开实施例中的“步”即update,又称iteration,即,一个batch迭代一次。每抽取c个无标注语音数据称之为一轮。
[0150]
在自监督预训练之后,再利用x与u进行半监督微调以得到最终的目标声学模型。微调过程中,前s步只利用标注语音数据x,以确保在推断伪标签时第二声学模型m
θ
已具有一定的辨识能力。
[0151]
在s604中,利用s603微调之后的声学模型(即第二声学模型m
θ
),初始化k=1,i=0。
[0152]
在s605中,从无标注语音数据u中提取c个样本,第j轮提取的样本称之为第j无标注样本。
[0153]
例如,构建临时伪标签池,第一轮操作时,从n个无标注语音数据u中提取c个样本,作为第一无标注样本,在下述推断第一伪标签及其质量指标的步骤之后放入该临时伪标签池中。
[0154]
进行第二轮操作,从剩余的n-c个无标注语音数据u中提取c个样本,作为第二无标注样本,在推断第二伪标签及其质量指标的步骤之后放入该临时伪标签池中。
[0155]
进行第三轮操作,从剩余的从n-2c个无标注语音数据u中提取c个样本,作为第三无标注样本,在下述推断第三伪标签及其质量指标的步骤之后放入该临时伪标签池中。其它处理过程以此类推。
[0156]
在s606中,采用am模型产生c个样本的伪标签,并将各个样本与对应的伪标签存储起来。
[0157]
例如,先采用s603获得的第二声学模型m
θ
产生c个第一无标注样本的第一伪标签,并将各个第一无标注样本与对应的第一伪标签存储起来。图6实施例中,对所有伪标签的预测都是am模型完成的。
[0158]
以c个第一无标注样本进行举例,利用m
θ
推断各个第一无标注样本的第一伪标签,并获得第一伪标签的质量指标,这里以质量指标采用上述公式(1)计算获得的crs进行举例说明,但本公开并不限定于此。将各个第一无标注样本及其第一伪标签存储起来,表示为uc表示第c个第一无标注样本,qc表示第c个第一无标注样本的第一伪标签,c为大于或等于1且小于或等于c的正整数。
[0159]
再例如,采用s615获得的第三声学模型m
θ
产生c个第二无标注样本的第二伪标签,
并将各个第二无标注样本与对应的第二伪标签存储起来,表示为此时uc表示第c个第二无标注样本,qc表示第c个第二无标注样本的第二伪标签。
[0160]
在s607中,按照质量指标对样本及其对应的伪标签进行降序排列,获得降序排列的样本及其伪标签。
[0161]
以c个第一无标注样本进行举例,按照第一伪标签的crs对进行降序排列,获得降序排列后的第一无标注样本及其伪标签,表示为
[0162]
在s608中,若i处于当前课程阶段k的迭代范围之内,则k保持不变;若i处于下一课程阶段k+1的迭代范围之内,则k=k+1。k的最大取值为k。
[0163]
当前课程阶段k即上述的第k个阶段,可以利用如下公式确定当前课程阶段k的训练时长,即第k个阶段的总训练步数:
[0164][0165]
上述公式(2)中,max_iter表示利用所述标注语音数据和所述无标注语音数据训练所述第一声学模型至所述目标声学模型的最大迭代次数;max_iter-s表示利用所述标注语音数据和所述无标注语音数据训练所述第二声学模型至所述目标声学模型的总训练步数,所述第二声学模型至所述目标声学模型的总训练步数等于各个阶段的总训练步数之和,从而可以使得即使在不同阶段,虽然前面的阶段用于训练am的数据,会有比后面的阶段用于训练am的数据少,但无标注语音数据被迭代的轮数是相同的。
[0166]
本公开实施例中使用的伪标签都是从临时伪标签池里取出的,而这个临时伪标签池,根据不同的课程化阶段,临时伪标签池中被用到用于训练am的数据量会不同(随着阶段增加而增加),因此各阶段持续的时间(即训练时长)是不同的,此处的不同正是为了弥补随着阶段增加,而临时伪标签池中被用于训练am的数据量增加这一问题,以保证“轮”数相同。例如当假设第一个阶段,每轮被选择用于训练am的数据量=10,假设1轮=10updates,即迭代10次;而第二个阶段,被选择用于训练am的数据量增加到20后,同样完成1轮需要20updates,即迭代20次。
[0167]
至于每个阶段每一轮的训练步数,假设共有c=30,例如第一轮选择30个第一无标注样本,分为3个课程阶段,即k=3,则第一个阶段的每一轮可以只用crs最好的10个对应无标注样本及其对应伪标签用于训练第二声学模型,例如第一个阶段的第一轮可以只用crs最好的10个第一无标注样本及其第一伪标签用于训练第二声学模型,第一个阶段的第二轮可以只用crs最好的10个第二无标注样本及其第二伪标签用于训练第三声学模型;第二个阶段的每一轮可以只用crs最好的20个对应无标注样本及其对应伪标签;第三个阶段的每一轮可以用全部30个对应无标注样本及其对应伪标签。可以理解的是,这里的crs最好是指每一轮所抽取的c个无标注样本的对应伪标签的质量指标的比较。此时,第一个阶段每一轮的训练步数为10步,第二个阶段每一轮的训练步数为20步,第三个阶段每一轮的训练步数为30步,以保证各个阶段的每一轮,均将被选择用于am训练的整体数据使用1次。
[0168]
本公开实施例中,可以根据c个第一伪标签的质量指标,对c个第一无标注样本及其第一伪标签进行降序排列,在第k=1个阶段的第一轮,选择前c/k个第一无标注样本及其
第一伪标签用于训练第二声学模型,这样,可以优先选择质量指标好的第一无标注样本及其第一伪标签训练第二声学模型,以用于获得精度较高的第三声学模型,提升最终训练获得的目标声学模型的语音识别准确性。在第k=2个阶段,每一轮选择前2c/k个对应无标注样本及其对应伪标签用于训练对应声学模型,以此类推,当k=k时,即当训练到第k个阶段时,每一轮c个对应无标注样本及其对应伪标签至少被训练一次,由此充分利用了无标注语音数据,可以进一步提升目标声学模型的语音识别准确性。
[0169]
在第k个阶段的每一轮中,在从前kc/k个对应无标注样本及其对应伪标签中提取当前批无标注样本及其对应伪标签时,同样可以先从中抽取质量指标相对高的对应无标注样本及其对应伪标签,然后再抽取质量指标相对低的对应无标注样本及其对应伪标签,即按序抽取,以优先采用质量好的伪标签训练对应声学模型,提升最终的目标声学模型的准确性。
[0170]
可以理解的是,本公开实施例中从降序排列的c个对应无标注样本及其对应伪标签、当前批无标注样本及其对应伪标签的方式并不限定于上述例举的方式,在其它实施例中,例如,也可以将按照质量指标降序排列之后的c个对应无标注样本及其对应伪标签非等分成k份,第k个阶段的每一轮选择前k份用于训练对应am。即本公开实施例中的分阶段处理只要满足按照对应无标注样本的质量指标,先选择质量指标相对高的对应无标注样本及其对应伪标签训练对应声学模型,之后再利用质量指标相对低的对应无标注样本及其对应伪标签训练对应声学模型即可。
[0171]
在s609中,从降序排列的样本及其伪标签中获得当前课程阶段k的样本及其伪标签。
[0172]
本公开实施例可以利用伪标签的cs或crs来评判数据的难易程度,先用简单样本,再逐渐加入困难样本,以实现无标注语音数据的课程化分阶段使用。例如,对于获得伪标签的无标注语音数据,将其训练过程分为k个阶段,对于其中的第k个阶段,每一轮所选择的c个无标注语音数据,只利用伪标签质量指标排名前k/k的对应无标注样本及其对应伪标签进行训练。
[0173]
例如,通过以下公式(3)从中选择当前课程阶段k的前第k预定数量的对应无标注样本及其对应伪标签,表示为
[0174][0175]
同时,通过分阶段处理,当k=k时,可以使得每一轮被选取的c个对应无标注样本及其对应伪标签均被用于模型的训练,充分有效地利用了无标注语音数据及其伪标签,也可以进一步地提高训练好的目标声学模型的语音识别准确性。
[0176]
在s610中,从m个标注语音数据x中随机提取一批标注语音数据,以作为当前批标注语音数据b。
[0177]
在s611中,从当前课程阶段k的样本及其伪标签中,按顺序取一批样本及其伪标签,以作为当前批无标注样本及其对应伪标签bu。
[0178]
本公开实施例中,从第s步往后,每次迭代按照1:μ的比例使用标注语音数据x与无标注语音数据u,即当前批标注语音数据b的数据量:当前批无标注样本及其伪标签bu的数
据量=1:μ。
[0179]
本公开实施例中,μ是半监督训练阶段的一个超参数,该超参数的取值可以根据多个因素来决定,例如标注语音数据的质量、以及伪标签的质量等,在标注语音数据的数量很少且质量不高、以及伪标签高质量的情况下,可以增大μ;当标注语音数据的数量较多且质量较高、以及伪标签质量欠佳的情况下,可以降低μ,从而可以防止模型过度拟合伪标签。μ可以根据实验结果进行调节,本公开对其取值不做限定,在下面的举例中,以μ=1进行说明,但本公开并不限定。
[0180]
在s612中,对该批标注语音数据和该批样本及其伪标签应用强增强。
[0181]
例如,对当前批标注语音数据和当前批无标注样本及其对应伪标签的并集b∪bu同时进行时域掩码和通道掩码,获得强增强的该批标注语音数据和该批样本及其伪标签
[0182]
在s613中,基于强增强的该批标注语音数据和该批样本训练声学模型,且在每次迭代训练完之后,递增已迭代次数i=i+1。
[0183]
本公开实施例中采用了两种数据增强方式,来提升数据多样性、鲁棒性以及避免过拟合。在上述s606中,采用了数据弱增强方式,即对数据只做通道掩码,掩码参数可做自行调整,不需要和wav2vec2.0一致,被用于crs评价。在s613中,对数据进行强增强,强增强是对数据做通道掩码和时间掩码,被应用于所有被抽取的标注语音数据和无标注语音数据。
[0184]
其中,数据增强可以发生在cnn提取特征后,传入transformer前。
[0185]
例如,基于做了时域掩码和通道掩码的当前批标注语音数据和当前批无标注样本及其第一伪标签对第二声学模型m
θ
进行训练,迭代一轮之后,即中的所有已生成样本被使用过一次,获得第三声学模型m
θ

[0186]
在s614中,判断已迭代次数i是否等于max_iter-s;若等于max_iter-s,则执行s616;若小于max iter-s,则继续执行s615。
[0187]
在s615中,判断当前课程阶段k的所有已生成样本是否被使用过一次;若是,则回到上述s605,重复执行上述s605至s615,直至训练完第k个阶段/第k个课程阶段,或者达到最大迭代次数;反之,则回到上述s610,重复执行上述s610至s615,直至当前课程阶段k的所有已生成样本被使用过一次。
[0188]
在s616中,将达到最大迭代次数之后的声学模型作为目标声学模型。
[0189]
本公开实施例中,上述模型训练所采用的损失函数由有监督损失与无监督损失相加得到,或者加权累加,两部分均是预测与ground truth(正确的标注,例如上述ym和伪标签)之间的交叉熵(cross entropy)。
[0190]
本公开实施例提供的方法,通过引入一个临时伪标签池,在每一轮中,临时伪标签池中动态存储了c个无标注样本(例如第一无标注样本,第二无标注样本等)及其对应伪标签。在训练过程中,每次先从剩余的无标注语音数据u中抽取c个无标注语音数据,利用此时最新更新的am推断被选取的c个无标注语音数据的对应伪标签及其质量指标,然后加入临时伪标签池中,根据对应伪标签的质量指标对被选取的c个无标注语音数据及其对应伪标
签进行降序排序,然后在第k个阶段的每一轮中,保留前k/k的无标注语音数据及其对应伪标签,丢弃该临时伪标签池中剩余的无标注语音数据及其对应伪标签,am只会学习保留下来的数据,在第k个阶段,am学习每一轮的所有c个无标注语音数据及其对应伪标签。当临时伪标签池为空时,再从剩余的无标注语音数据u中抽取新的c个,对这新的c个进行对应伪标签及其质量指标的预测,预测结束后放入临时伪标签池中,以此类推,不断重复此过程,直至达到最大迭代次数或者完成第k个阶段的训练。这里的抽取是无放回抽取,这样的动态的临时伪标签池起到了控制伪标签的更新频率以及防止过拟合的作用。同时,本公开实施例对无标注语音数据及其对应伪标签进行了分阶段课程化的选取,由易及难的逐步选取,即先选择质量指标高的无标注语音数据及其对应伪标签用于训练am,可以提升最终获得的目标声学模型的准确性。
[0191]
图6实施例的其它内容可以参照上述其它实施例。
[0192]
下面以图7实施例对本公开实施例提供的声学模型的训练方法进行举例说明,但本公开并不限定于此。图7实施例中采用ema预测伪标签。
[0193]
如图7所示,本公开实施例提供的方法可以包括如下步骤s701至s717。
[0194]
在s701中,获取m个标注语音数据和n个无标注语音数据可参考上述s601。
[0195]
在s702中,基于无标注语音数据u,并使用wav2vec2.0预训练声学模型(图7实施例中,各声学模型均用m
θ
表示)。可参考上述s602。
[0196]
在s703中,基于标注语音数据x微调声学模型s步。可参考上述s603。
[0197]
在s704中,利用s703微调之后的声学模型(即第二声学模型m
θ
),初始化ema影子权重,获得初始ema模型。并初始化k=1,i=0。
[0198]
初始化时,可以复制第二声学模型m
θ
的模型参数作为初始ema模型的影子权重,即
[0199]
在s705中,从无标注语音数据u中提取c个样本。可参考上述s605。
[0200]
在s706中,采用ema模型(可以是初始ema模型、或者第一ema模型、或者第二ema模型

)产生c个样本的伪标签,并将各个样本与对应的伪标签存储起来。
[0201]
本公开实施例中,对所有伪标签的预测都是在ema模型的影子权重下完成的。
[0202]
对于语音识别中的自训练技术而言,对伪标签的过拟合是一个最常见的问题。为解决此问题,本公开实施例采用了对声学模型的历史权重进行滑动指数平均(ema)的方法。伪标签均由ema模型生成,即利用影子权重(shadow weights,即ema模型的weights)生成,可以极为有效地防止过拟合,防止模型发散。
[0203]
例如,在第一个阶段的第一轮中,采用s704获得的初始ema模型产生c个第一无标注样本的第一伪标签,并获得第一伪标签的质量指标,并将各个第一无标注样本与对应的第一伪标签存储起来。这里以质量指标采用上述公式(1)计算获得的crs进行举例说明,但本公开并不限定于此。将各个第一无标注样本及其第一伪标签存储起来,表示为uc表示第c个第一无标注样本,qc表示第c个第一无标注样本的第一伪标签,c为大于或等于1且小于或等于c的正整数。
[0204]
在s707中,按照质量指标对样本及其对应的伪标签进行降序排列,获得降序排列
的样本及其伪标签。
[0205]
以c个第一无标注样本进行举例,按照第一伪标签的crs对进行降序排列,获得降序排列后的第一无标注样本及其第一伪标签,表示为
[0206]
在s708中,若已迭代次数i处于当前课程阶段k的迭代范围之内,则k保持不变;反之,若i处于下一课程阶段k+1的迭代范围之内,则k=k+1,即进入第k+1个阶段,k最大取值为k。
[0207]
当前课程阶段k即上述的第k个阶段,可以根据上述公式(2)确定当前课程阶段k的训练时长,即第k个阶段的总训练步数。
[0208]
其它内容可参考上述s608。
[0209]
在s709中,从降序排列的样本及其伪标签中获得当前课程阶段k的样本及其伪标签。可参考上述s609。
[0210]
在s710中,从m个标注语音数据x中随机提取一批标注语音数据,以作为当前批标注语音数据b。可参考上述s610。
[0211]
在s711中,从当前课程阶段k的样本及其伪标签中,按顺序取一批样本及其伪标签,以作为当前批无标注样本及其对应伪标签bu。可参考上述s611。
[0212]
在s712中,对该批标注语音数据和该批样本及其伪标签应用强增强。可参考上述s612。
[0213]
在s713中,基于强增强的该批标注语音数据和该批样本及其伪标签训练声学模型。可参考上述s613。
[0214]
在s714中,判断已迭代次数i是否等于max_iter-s;若等于max_iter-s,则执行s717;若小于max_iter-s,则继续执行s715。
[0215]
在s715中,采用对应声学模型更新对应ema影子权重,获得对应ema模型。
[0216]
例如,可以采用如下公式更新ema模型:
[0217][0218]
上述公式(4)中,第一个表示更新后的ema模型,即本次迭代之后的ema模型,第二个表示更新前即上一次更新后的ema模型,即上一次迭代之后的ema模型,m
θ
表示本次迭代之后的声学模型,即每次迭代更新声学模型的模型参数时,会相应地更新ema模型的影子权重。α为大于0且小于1的实数,α为ema的衰减指数,一般是一个很接近1的值。
[0219]
例如,在第一个阶段的第一轮中,采用s713第一次迭代后的第二声学模型m
θ
更新初始ema模型的影子权重,获得更新后的第一ema模型。
[0220]
在s716中,判断当前课程阶段k的所有已生成样本是否被使用过一次;若是,则回到上述s705,重复执行上述s705至s716,直至训练完第k个阶段/第k个课程阶段,或者达到最大迭代次数;反之,则回到上述s710,重复执行上述s710至s716,直至当前课程阶段k的所有已生成样本被使用过一次。
[0221]
需要说明的是,之所以称之为当前课程阶段k的所有已生成样本是因为在
第k个阶段,可能会执行多轮,每一轮均会更新产生新的因此,在当前轮,只需要考虑当前轮已生成的是否被使用过一次了,而不需要考虑当前轮之后尚未生成的是否被使用过一次了。
[0222]
在s717中,将达到最大迭代次数之后的声学模型作为目标声学模型。
[0223]
本公开实施例提供的方法,通过引入一个临时伪标签池,起到了控制伪标签的更新频率以及防止过拟合的作用。同时,本公开实施例对无标注语音数据及其对应伪标签进行了分阶段课程化的选取,由易及难的逐步选取,可以提升最终获得的目标声学模型的准确性。此外,利用ema模型来预测伪标签,可以极为有效地防止过拟合,防止模型发散。
[0224]
下面以一个具体的例子对图7实施例进行举例说明,假设c=100,k=3,max_iter-s=6万次,则根据上述公式(2)可知,第一个阶段的总训练步数为1万步,第二个阶段的总训练步数为2万步,第三个阶段的总训练步数为3万步,则第一个阶段的迭代范围为[1,10000],第二个阶段的迭代范围为[10001,20000],第一个阶段的迭代范围为[20001,30000]。
[0225]
根据上述公式(3)可知,在第一个阶段,每轮从100个无标注语音数据中选择按照质量指标排序的前100/3(这里取整数为33)个无标注语音数据及其对应伪标签,将其它的67个无标注语音数据及其伪标签丢弃,假设每一批(batch)按序从这33个无标注语音数据中选择一个无标注语音数据,则在第一个阶段每一轮迭代33次,每一次迭代更新一次am模型,并根据上述公式(4)更新ema模型,递增i=i+1,那么迭代33次后完成一轮训练,之后再利用该迭代更新一轮后的ema模型去推测下一100个无标注语音数据的伪标签,以此类推,当迭代完第一个阶段的第303轮时,i=9999,i仍然处于第一个阶段的迭代范围[1,10000]之内,因此,会继续保持为第一个阶段,即第一个阶段会迭代304轮。之后,当迭代完第304轮时,i=10032,则进入第二个阶段。
[0226]
本公开实施例中,在实验中使用了和base(基础)模型相同的模型结构。使用100小时的librispeech(公共领域有声读物的一个语料库)子集作为标注语音数据,全部960小时librispeech数据作为无标注语音数据来展示结果,记做ls-100/ls-960。使用相同的超参数,而对于本公开新引入的超参数,使用max_iter-s为18万,s为8万,μ为1,c为6万4千,k为5,λ为1,α为0.999983。
[0227]
下表1展示了在ls-100/ls-960上,本公开实施例提供的方法相比于传统结合方法以及纯自监督方法的词错误率wer,由此可以看出,本公开实施例提供的方法,在简化训练流程且无需语言模型参与训练的同时,实现了更低的wer。这些结果在评价时用到了语言模型。dev-clean表示dev上的干净数据集,dev-other表示dev上的其他数据集。test-clean表示测试干净数据集,test-other表示测试其他数据集。
[0228]
表1
[0229][0230][0231]
下表2展示了在ls-100/ls-960上,本公开实施例提供的课程化分阶段训练方式,对比相关技术中的其他非课程化方式的效果,由此可以看出,本公开实施例提供的方法取得了最佳的表现,说明本公开实施例提供的方法可以得到比相关技术中提供的更强的声学模型。这些结果在训练和评价时都没有使用到语言模型。
[0232]
表2
[0233][0234]
相关技术中,通过设定一个固定的置信度阈值来过滤无标注语音数据。下表3在利用10小时libri-light数据集作为有标注语音数据的情况下,控制变量地对比了该相关技术方案与本公开实施例提供的方案的效果。二者唯一区别在于,相关技术方案使用固定的置信度阈值来筛选样本,而本公开实施例提供的方案使用前文介绍的分阶段课程化方法。这些结果在训练和评价时都没有使用到语言模型。
[0235]
表3
[0236]
[0237]
由表3可知,本公开实施例提供的课程化分阶段方式,具有比设定固定的置信度阈值更优的实验效果。
[0238]
需要说明的是,设置固定的置信度阈值是半监督(自训练)中的一个常用技术,目的是去除噪声数据(noisy samples),即低质量的数据和其伪标签。但并不一定设定在0.95,也不一定运用本公开实施例提到的cs作为分数来筛选,此处对比目的在于证明,课程化方案相较于固定的置信度阈值筛选方案有更好效果。
[0239]
本公开实施方式提供的声学模型的训练方法,首次将自监督预训练与无需语言模型的半监督算法结合,并首次提出课程化的半监督语音识别方案。具体的,先利用wav2vec2.0进行自监督预训练,再通过课程化的半监督算法微调模型,全程不需要引入语言模型和参数重新初始化,仍可取得比传统方法更高的识别准确率,是一种结合自监督与半监督的课程化语音识别算法。
[0240]
本公开实施例提供的声学模型的训练方法及语音识别方法可应用于需要使用语音识别功能的各种场景,例如,智能家居场景、语音输入场景、车载导航场景、同声传译场景等。
[0241]
图8是本公开实施例提供的一种语音识别方法的网络交互架构图。
[0242]
如图8所示,该应用场景中包括用户801、终端8021、终端8022和服务器803。
[0243]
作为一个示例,本公开实施例提供的声学模型的训练方式可以由服务器803执行,服务器803上可以保存训练完成的目标声学模型以作为语音识别模型,也可以将训练完成的目标声学模型发送至终端8021和/或终端8022。
[0244]
语音识别方法可以是实施于终端8022(例如手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等)的离线识别方案,如图8所示,终端8022会基于用户801发出的待识别语音信号,通过预先向云端获取语音识别的相关数据,依赖于终端8022的处理器和存储器,进行不依赖于服务器803的语音识别,例如各种app(application,应用程序)中的语音输入。
[0245]
作为另一个示例,本公开实施例提供的语音识别方法可以是实施于云端的语音识别方案,如图8所示,在终端8021接收到用户801发出的待识别语音信号后,将待识别语音信号发送给服务器803,由服务器803进行语音识别,并在得到识别结果即识别文本后,将识别结果发送给终端8021。该云端语音识别方案应用到的产品是需要调用语音识别功能的相关场景,比如智能家居场景,语音输入转写,车载导航,智能音箱等,通过调用云端的语音识别能力完成场景应用,可以封装为语音识别app,嵌入到各种app中的语音识别引擎,为各种智能语音交互的场景提供有效的语音识别支撑。
[0246]
可以理解的是,本公开实施例中所提及的终端可以是一种计算机设备,本公开实施例中的计算机设备包括但不限于终端或服务器。换句话说,计算机设备可以是服务器或终端,也可以是服务器和终端组成的系统。其中,以上所提及的终端可以是一种电子设备,包括但不限于手机、平板电脑、台式电脑、笔记本电脑、掌上电脑、车载设备、增强现实/虚拟现实(augmented reality/virtual reality,ar/vr)设备、头盔显示器、智能电视、可穿戴设备、智能音箱、数码相机、摄像头及其他具备网络接入能力的移动互联网设备(mobile internet device,mid),或者火车、轮船、飞行等场景下的终端等。
[0247]
其中,以上所提及的服务器可以是独立的物理服务器,也可以是多个物理服务器
构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、车路协同、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0248]
可选的,本公开实施例中所涉及的数据可以存储在计算机设备中,或者可以基于云存储技术对该数据进行存储,在此不做限制。
[0249]
可以理解,本公开实施例提供的语音识别方法可以应用许多领域。例如,其可以应用于人工智能(artificial intelligence,ai)领域的多种场景,包括但不限于同声传译、语音输入法、在线语音交互或者智能语音助手。下面将对上述场景进行详细说明。
[0250]
图9是本公开实施例提供的声学模型的训练方法及语音识别方法应用于车载场景的示意图。
[0251]
如图9所示,车载终端902可以将待识别语音信号发送至计算机设备901,计算机设备901调用训练获得的目标声学模型,获得识别文本并返回至车载终端902进行显示,该计算机设备901可以是应用程序所在的服务器,也可以属于车载终端902(即是车载终端902的后台)等,在此不做限制。
[0252]
其中,车载终端902可以是交通工具903中的播放设备等,在此不做限制。声音采集组件可以是设置在交通工具903方向盘上的麦克风,以用于采集用户的待识别语音信号。示例性的,用户说“搜索到达目的地的最短路径”,语音识别模型能够识别这段语音,并基于该段语音的识别文本返回相应的文字结果。
[0253]
该车载终端902中可以显示目标应用等。本公开实施例中的目标应用可以是任意一种应用程序。在不同的场景所使用的应用程序可以是不同的,例如远程视频会议、教育、消息、旅游、听书、广告等可以在车上应用的各种应用。其中,出行场景可以进一步分为通勤、出游、拥堵等不同细分场景;社交场景可以进一步分为集结、互动等不同细分场景;娱乐场景可以进一步分为听歌、小说、游戏等不同细分场景。
[0254]
图10是本公开实施例提供的声学模型的训练方法应用于同声传译场景的示意图。
[0255]
参考图10的同声传译场景,服务器1020可以接收终端1010发送的同声传译请求,该同声传译请求用于请求将输入的待识别语音信号翻译为目标语言的语音,该同声传译请求中可以携带待识别语音信号,服务器1020可以先对待识别语音信号进行识别得到识别结果,然后通过翻译模型将识别结果翻译成目标语言的文字,再将目标语言的文字转换成同声传译音频,如此,服务器1020可以响应于同声传译请求,向终端1030发送同声传译音频。
[0256]
其中,目标语言是指交互方中接收方所能理解的语言。该目标语言可以预先设置,也可以由同声传译请求的发起者根据需求而指定,本公开实施例对此不作限定。
[0257]
例如,用户a的常用语言为中文,用户b的常用语言为英文。当用户a输入一条语音,终端1010采集该语音,然后向服务器1020发送同声传译请求,该同声传译请求中携带用户a输入的语音,用于请求将输入的语音翻译英文的语音,以便用户b能够快速理解。
[0258]
服务器1020从同声传译请求中获取用户a输入的语音作为待识别语音信号,然后将该待识别语音信号输入目标声学模型得到该待识别语音信号的识别结果即识别文字。
[0259]
接着,服务器1020将识别结果翻译为英文,并通过合成语音的方式将英文文字转换成英文音频。如此,服务器1020不仅向终端1030发送用户a输入的语音,还向终端1030发送经过同声传译得到的英文音频。
[0260]
终端1030显示用户a输入的语音和同声传译得到的英文音频,用户b可以播放上述英文音频,从而获知用户a输入的语音所携带的信息。
[0261]
图11是本公开实施例提供的声学模型的训练方法应用于同声传译的效果示意图。
[0262]
图11示出了同声传译的效果示意图,如图11所示,其展示了用户a和用户b的聊天界面1100,该聊天界面具体为用户a的终端所展示的界面,发送方即用户a向接收方即用户b发送一段语音1101,在该语音发送过程中,用户a触发同声传译请求,服务器响应于该同声传译请求识别语音得到识别结果,并将识别结果翻译为目标语言,然后将翻译后结果转换为音频1102,接着服务器向用户a的终端返回这段音频1102,如此,用户a还向用户b发送经同声传译后得到的音频1102。
[0263]
当用户b回复用户a时,此时用户b作为发送方,用户a作为接收方,针对用户b回复的语音进行同声传译。需要说明的是,这两个过程中的目标语言是不同的,用户a向用户b发送语音时,目标语言是用户b能理解的语言,用户b回复用户a时,目标语言是用户a能理解的语言。
[0264]
针对上述示例,也可以由接收方触发同声传译请求,使得服务器针对接收的语音进行同声传译,并返回同声传译结果。
[0265]
图12是本公开实施例提供的声学模型的训练方法应用于语音输入法的效果示意图。
[0266]
在语音输入法场景中,服务器接收终端发送的语音输入请求,该语音输入请求用于请求将输入的语音转换为文字,该语音输入请求携带有用户通过终端输入的待识别语音信号,服务器采用本公开实施例提供的语音识别方法对上述待识别语音信号进行识别得到识别结果,如此,服务器可以响应于上述语音输入请求,向所述终端发送待识别语音信号的识别结果,以便终端在输入框中显示待识别语音信号的识别结果。
[0267]
如图12所示,其展示了输入法界面1200,该输入法界面1200提供有语音输入控件1201,用户可以通过触摸等方式触发该控件,开始语音输入,终端采集用户输入的语音,向服务器发送语音输入请求,服务器利用本公开实施例提供的语音识别方法识别该语音得到识别结果1202,并向终端返回识别结果,如此,终端在输入框1203中显示该识别结果1202,实现语音输入。
[0268]
在该场景下,用户无需手动输入,仅需输入语音,通过本公开实施例提供的语音识别方法识别对语音进行识别得到识别结果,然后在输入框中显示该识别结果即可实现语音输入,其提高了输入效率,并且具有较高的准确度。
[0269]
图13是本公开实施例提供的声学模型的训练方法应用于在线语音交互场景的效果示意图。
[0270]
在线语音交互场景是指通过语音进行在线交互的场景,如用户与语音聊天机器人交互的场景。在具体实现时,服务器接收终端发送的智能交互请求,该智能交互请求用于请求针对输入的语音进行答复,该智能交互请求携带有输入的语音,服务器首先利用本公开实施例提供的语音识别方法对输入的语音进行识别得到识别结果,确定与所述语音信号的识别结果相匹配的答复内容,然后响应于所述智能交互请求,向所述终端发送所述答复内容。
[0271]
其中,服务器在确定与语音信号的识别结果相匹配的答复内容时,可以采用预先
训练的问答模型实现,该问答模型可以是通过深度学习训练得到的。考虑到交互体验,在确定答复内容后,服务器还提可以通过语音合成的方式将上述答复内容转换为音频,并向终端发送所述答复内容的音频。
[0272]
图13示出了在线语音交互场景的效果示意图,图13示出了用户a与语音聊天机器人robot的聊天界面1300,用户a向robot发送一条语音1301,robot能够响应于智能交互请求,利用流式语音识别方法识别该语音1301得到识别结果,并确定与该识别结果相匹配的答复内容,将答复内容转换为音频1302,返回给用户a的终端,并在聊天界面1300中展示答复内容的音频。
[0273]
通过本公开实施例提供的语音识别方法,一方面满足了在线语音交互业务对实时性的需求,另一方面其提高了语音识别的准确度,降低了语音识别结果的不确定性,提高了用户体验。
[0274]
图14是本公开实施例提供的一种用户与语音助手的交互界面示意图。
[0275]
很多终端如智能手机、智能音箱还提供有智能语音助手。该智能语音助手以计算机程序的形式存储于终端中,终端运行该应用程序,通过与服务器交互识别语音指令,然后执行该语音指令。具体地,服务器接收终端发送的语音控制请求,该语音控制请求用于请求根据输入的语音执行对应的控制操作,服务器利用本技术的流式语音识别方法识别所述语音控制请求携带的语音,得到识别结果,根据该识别结果可以确定与其相匹配的控制指令,服务器可以响应于所述语音控制请求,向所述终端发送所述控制指令,控制所述终端执行所述控制指令。
[0276]
以智能手机中的语音助手为例,如图14所示,其展示了用户与语音助手的交互界面示意图1400,在唤醒语音助手后,用户按压语音控件1401,输入语音“播放yy”,终端采集用户输入的语音,向服务器发送语音控制请求,该语音控制请求携带用户输入的语音,用于请求根据输入的语音执行对应的控制操作,服务器利用上述语音识别方法识别语音控制请求中携带的语音得到识别结果,根据该识别结果确定相匹配的控制指令,该控制指令具体可以为“播放yy”,如此,服务器向终端发送该控制指令,终端显示用户输入的语音对应的识别结果1402,并执行上述控制指令,通过播放器1403播放歌曲“yy”。
[0277]
本公开实施例提供的语音识别方法能够满足实时识别的业务需求,而且具有较高的识别精度,因此,在应用到智能语音助手场景中时,能够快速且精准地响应用户指令,为用户带来更好的用户体验。
[0278]
需要说明的是,上述场景是以终端和服务器交互实现作为示例进行说明的,在有些情况下,上述场景也可以由终端独立实现。例如,由终端独立为用户提供语音识别服务,例如由终端独立实现同声传译、在线语音交互、语音输入、智能语音助手的相应功能,本公开实施例对此不作限定。
[0279]
图15是本公开实施例提供的一种语音识别方法的流程图。图15实施例中的各个步骤可以由任意计算机设备执行。
[0280]
如图15所示,本公开实施例提供的语音识别方法可以包括如下步骤s1510和s1520。
[0281]
在s1510中,获取待识别语音信号。
[0282]
当s1510是由终端实现时,获取待识别语音信号可以是终端基于自身的语音采集
装置采集用户发出的语音数据,还可以是终端从自身的存储介质中获取已经保存的语音数据。
[0283]
当s1510是由服务器实现时,获取待识别语音信号可以是接收终端发送的语音数据。
[0284]
在s1520中,通过目标声学模型处理所述待识别语音信号,获得所述待识别语音信号的识别文本。
[0285]
其中,所述目标声学模型是采用本公开任一实施例所提供的声学模型的训练方法训练获得的。
[0286]
本公开实施方式提供的语音识别方法的其他内容可以参照上述实施例的描述。
[0287]
图16是本公开实施例提供的一种声学模型的训练装置的示意图。
[0288]
如图16所示,本公开实施例提供的声学模型的训练装置1600可以包括获取单元1610、训练单元1620以及预测单元1630。
[0289]
获取单元1610可以用于获取m个标注语音数据和n个无标注语音数据,m和n均为大于或等于1的正整数。训练单元1620可以用于使用所述无标注语音数据自监督预训练初始声学模型,获得第一声学模型。训练单元1620还可以用于利用所述标注语音数据迭代训练所述第一声学模型s次,获得第二声学模型,s为大于或等于1的正整数。预测单元1630可以用于根据所述第二声学模型和所述无标注语音数据,获得所述无标注语音数据的第一伪标签。训练单元1620还可以用于利用所述标注语音数据和所述无标注语音数据及其第一伪标签,训练所述第二声学模型,以用于获得目标声学模型。
[0290]
在示例性实施例中,训练单元1620还可以用于:利用所述标注语音数据和所述无标注语音数据及其第一伪标签,训练所述第二声学模型,获得第三声学模型;利用所述第三声学模型处理所述无标注语音数据,获得所述无标注语音数据的第二伪标签;利用所述标注语音数据和所述无标注语音数据及其第二伪标签,训练所述第三声学模型,以用于获得所述目标声学模型。
[0291]
在示例性实施例中,预测单元1630还可以用于:在第一个阶段,从n个无标注语音数据中提取c个第一无标注样本,c为大于或等于1且小于或等于n的正整数;通过所述第二声学模型处理所述第一无标注样本,获得所述第一无标注样本的第一伪标签及其质量指标。
[0292]
其中,训练单元1620还可以用于:根据所述第一伪标签的质量指标,对所述第一无标注样本及其第一伪标签进行降序排列;若利用所述标注语音数据和所述无标注语音数据训练所述第二声学模型至所述目标声学模型的已迭代次数,处于所述第一个阶段的迭代范围内,则从降序排列的c个所述第一无标注样本及其第一伪标签中选择前第一预定数量的第一无标注样本及其第一伪标签;从前所述第一预定数量的第一无标注样本及其第一伪标签中,按序选取当前批无标注样本及其第一伪标签;从所述标注语音数据中选择当前批标注语音数据;采用所述当前批无标注样本及其第一伪标签、以及所述当前批标注语音数据迭代训练所述第二声学模型,直至前所述第一预定数量的第一无标注样本及其第一伪标签被使用过至少一次,获得所述第三声学模型。
[0293]
在示例性实施例中,预测单元1630还可以用于:根据所述第二声学模型获得初始滑动指数平均模型;利用所述初始滑动指数平均模型处理所述第一无标注样本,获得所述
第一无标注样本的第一伪标签及其质量指标。
[0294]
其中,声学模型的训练装置1600还可以包括:更新单元,可以用于在采用所述当前批无标注样本及其第一伪标签、以及所述当前批标注语音数据迭代训练所述第二声学模型时,根据迭代训练后的所述第二声学模型更新所述初始滑动指数平均模型,直至所述第一预定数量的第一无标注样本及其第一伪标签被使用过至少一次时,获得第一滑动指数平均模型。
[0295]
在示例性实施例中,声学模型的训练装置1600还可以包括:递增单元,可以用于在每次迭代训练所述第二声学模型时,递增所述已迭代次数。
[0296]
其中,训练单元1620还可以用于:若所述已迭代次数小于训练所述第二声学模型至所述目标声学模型的总训练步数,则在所述第一个阶段,从n-c个剩余的无标注语音数据中提取c个第二无标注样本;通过所述第三声学模型处理所述第二无标注样本,获得所述第二无标注样本的第二伪标签及其质量指标;
[0297]
其中,训练单元1620还可以用于:根据所述第二伪标签的质量指标,对所述第二无标注样本及其第二伪标签进行降序排列;若所述已迭代次数处于所述第一个阶段的迭代范围内,则从降序排列的c个所述第二无标注样本及其第二伪标签中选择前所述第一预定数量的第二无标注样本及其第二伪标签;从所述前第一预定数量的第二无标注样本及其第二伪标签中,按序选取当前批无标注样本及其第二伪标签;从所述标注语音数据中选择当前批标注语音数据;采用所述当前批无标注样本及其第二伪标签、以及所述当前批标注语音数据迭代训练所述第三声学模型,直至前所述第一预定数量的第二无标注样本及其第二伪标签被使用过至少一次,获得第四声学模型,以用于获得所述目标声学模型。
[0298]
在示例性实施例中,训练单元1620还可以用于:利用所述第一滑动指数平均模型处理所述第二无标注样本,获得所述第二无标注样本的第二伪标签及其质量指标。
[0299]
其中,更新单元还可以用于:在采用所述当前批无标注样本及其第二伪标签、以及所述当前批标注语音数据迭代训练所述第三声学模型时,根据迭代训练后的所述第三声学模型更新所述第一滑动指数平均模型,直至前所述第二预定数量的第二无标注样本及其第二伪标签被使用过至少一次时,获得第二滑动指数平均模型。
[0300]
在示例性实施例中,训练单元1620还可以用于:若所述已迭代次数处于第二个阶段的迭代范围内,则从降序排列的c个所述第二无标注样本及其第二伪标签中选择前第二预定数量的第二无标注样本及其第二伪标签;从前所述第二预定数量的第二无标注样本及其第二伪标签中,按序选取当前批无标注样本及其第二伪标签;从所述标注语音数据中选择当前批标注语音数据;采用所述当前批无标注样本及其第二伪标签、以及所述当前批标注语音数据迭代训练所述第三声学模型,直至前所述第二预定数量的第二无标注样本及其第二伪标签被使用过至少一次,获得第四声学模型,以用于获得所述目标声学模型。
[0301]
在示例性实施例中,预测单元1630还可以用于:通过所述第二声学模型处理所述第一无标注样本,获得各个时刻的字符的置信度;选取每一串相同字符的第一个字符的置信度,作为字符置信度;根据所述字符置信度获得所述第一伪标签的置信度分数,以作为所述第一伪标签的质量指标。
[0302]
在示例性实施例中,预测单元1630还可以用于:通过所述第二声学模型处理所述第一无标注样本,获得所述第一无标注样本的第一伪标签及其置信度分数;对所述第一无
标注样本执行扰动操作,获得第一扰动无标注样本;通过所述第二声学模型处理所述第一扰动无标注样本,获得所述第一扰动无标注样本的第一扰动伪标签及其扰动置信度分数;根据所述第一无标注样本的第一伪标签及其置信度分数、以及所述第一扰动无标注样本的第一扰动伪标签及其扰动置信度分数,获得所述第一伪标签的置信度鲁棒性分数,以作为所述第一伪标签的质量指标。
[0303]
在示例性实施例中,根据以下公式确定所述第一个阶段的迭代范围:
[0304][0305]
其中,max_iter表示训练所述第一声学模型至所述目标声学模型的最大迭代次数;k为大于或等于1且小于或等于k的正整数,k为大于或等于1的正整数。
[0306]
进一步地,本公开实施例还提供了一种语音识别装置,该装置可以包括:获取单元以及处理单元。
[0307]
获取单元可以用于获取待识别语音信号。处理单元可以用于通过目标声学模型处理所述待识别语音信号,获得所述待识别语音信号的识别文本。
[0308]
其中,所述目标声学模型是采用本公开实施例提供的声学模型的训练装置训练获得的。
[0309]
参见图17,图17是本公开实施例提供的一种计算机设备的结构示意图。如图17所示,本公开实施例中的计算机设备可以包括:一个或多个处理器1701、存储器1702和输入输出接口1703。该处理器1701、存储器1702和输入输出接口1703通过总线1704连接。存储器1702用于存储计算机程序,该计算机程序包括程序指令,输入输出接口1703用于接收数据及输出数据,如用于宿主机与计算机设备之间进行数据交互,或者用于在宿主机中的各个虚拟机之间进行数据交互;处理器1701用于执行存储器1702存储的程序指令。
[0310]
其中,该处理器1701可以执行如下操作:获取m个标注语音数据和n个无标注语音数据,m和n均为大于或等于1的正整数;使用所述无标注语音数据自监督预训练初始声学模型,获得第一声学模型;利用所述标注语音数据迭代训练所述第一声学模型s次,获得第二声学模型,s为大于或等于1的正整数;根据所述第二声学模型和所述无标注语音数据,获得所述无标注语音数据的第一伪标签;利用所述标注语音数据和所述无标注语音数据及其第一伪标签,训练所述第二声学模型,以用于获得目标声学模型。或者,获取待识别语音信号;通过目标声学模型处理所述待识别语音信号,获得所述待识别语音信号的识别文本;其中,目标声学模型是采用本公开实施例提供的声学模型的训练方法训练获得的。
[0311]
在一些可行的实施方式中,该处理器1701可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0312]
该存储器1702可以包括只读存储器和随机存取存储器,并向处理器1701和输入输出接口1703提供指令和数据。存储器1702的一部分还可以包括非易失性随机存取存储器。例如,存储器1702还可以存储设备类型的信息。
[0313]
具体实现中,该计算机设备可通过其内置的各个功能模块执行如上述任一方法实施例中各个步骤所提供的实现方式,具体可参见上述方法实施例所示图中各个步骤所提供的实现方式,在此不再赘述。
[0314]
本公开实施例通过提供一种计算机设备,包括:处理器、输入输出接口、存储器,通过处理器获取存储器中的计算机程序,执行上述任一实施例中所示方法的各个步骤。
[0315]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序适于由该处理器加载并执行上述任一实施例中各个步骤所提供的声学模型的训练方法,具体可参见该上述任一实施例中各个步骤所提供的实现方式,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本公开所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本公开方法实施例的描述。作为示例,计算机程序可被部署为在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行。
[0316]
该计算机可读存储介质可以是前述任一实施例提供的声学模型的训练装置或者语音识别装置或者该计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
[0317]
本公开实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一实施例中的各种可选方式中所提供的方法。
[0318]
本公开实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
[0319]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在该说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
[0320]
本公开实施例提供的方法及相关装置是参照本公开实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程应用显示设备的处理器
以产生一个机器,使得通过计算机或其他可编程应用显示设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程应用显示设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程应用显示设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
[0321]
以上所揭露的仅为本公开较佳实施例而已,当然不能以此来限定本公开之权利范围,因此依本公开权利要求所作的等同变化,仍属本公开所涵盖的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1