首页 > 乐器声学 专利正文
语音识别方法、装置及相关设备与流程

时间:2022-02-13 阅读: 作者:专利查询

语音识别方法、装置及相关设备与流程

1.本公开涉及人工智能技术领域,尤其涉及一种语音识别方法、装置及相关设备。


背景技术:

2.近年来,随着深度学习技术的高速发展,基于端到端深度神经网络的语音识别模型已经逐渐发展成为当前语音识别领域的主流技术。基于端到端深度神经网络的语音识别模型可以基于对比学习进行自监督训练。模型训练中对比学习需对于每个样本随机选取一定比例的、特定长度的片段进行掩码。掩码的长度参数对模型的最终性能影响较大。
3.然而现有技术中掩码的长度参数仅通过试验或经验获得,如何获得准确的掩码的长度参数亟待解决。


技术实现要素:

4.针对现有技术存在的问题,本公开提供一种语音识别方法、装置及相关设备。
5.第一方面,本公开提供一种语音识别方法,包括:提取待测音频在不同时间区间对应的频谱特征矩阵;将所述频谱特征矩阵输入至预先训练的语音识别模型,获取作为所述待测音频识别结果的文本;其中,所述语音识别模型通过对多个样本频谱特征矩阵及其对应的样本语音识别结果和样本音素对齐结果训练获取;并且,所述样本语音识别结果为样本频谱特征矩阵通过所述语音识别模型获取的识别结果,所述样本音素对齐结果通过将所述样本频谱特征矩阵输入预先训练的声学模型获取。
6.根据本公开提供的一种语音识别方法,将所述频谱特征矩阵输入至预先训练的语音识别模型,获取作为所述待测音频识别结果的文本包括:基于所述频谱特征矩阵,获取浅层特征序列;基于所述浅层特征序列,获取深层特征序列;基于所述深层特征序列,获取句子特征向量矩阵;基于所述句子特征向量矩阵,获取待测语音识别结果。
7.根据本公开提供的一种语音识别方法,所述语音识别模型通过以下方式训练得到:基于样本音频特征矩阵,获取样本音频浅层特征序列;随机抽取所述样本音频浅层特征序列中的样本帧进行掩码,获取掩码样本音频浅层特征序列;基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列;基于掩码样本音频深层特征序列,获取样本语音识别结果;基于损失函数计算差异;基于损失函数计算得到的差异和反向传播算法,调整语音识别网络模型参数。
8.第二方面,本公开提供一种语音识别模型的训练方法,包括:基于样本音频特征矩阵,获取样本音频浅层特征序列;随机抽取所述样本音频浅层特征序列中的样本帧进行掩码,获取掩码样本音频浅层特征序列;基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列;基于掩码样本音频深层特征序列,获取样本语音识别结果;基于损失函数计算差异;基于损失函数计算得到的差异和反向传播算法,调整语音识别网络模型参数;其中,所述差异为,对比学习差异和语音识别差异之和。
9.根据本公开提供的一种语音识别模型的训练方法,所述随机抽取所述样本音频浅
层特征序列中的样本帧进行掩码后还包括:根据样本音频特征矩阵对应的样本音素对齐结果,对锚样本对应样本帧的相邻帧中与锚样本音素对齐结果的样本帧进行掩码;其中,所述锚样本为被掩码的样本帧特征。
10.根据本公开提供的一种语音识别模型的训练方法,基于损失函数计算差异进一步包括:基于连接时间分类损失函数计算所述样本语音识别结果与样本文本标签之间的语音识别差异;基于对比学习损失函数计算所述锚样本与对比样本的对比学习差异;对所述语音识别差异和对比学习差异求和,得到差异;其中,所述样本文本标签,预先由人工听取样本音频特征矩阵转写获取的真实文本;所述对比样本为,通过对所述样本音频浅层特征序列进行线性变换得到的对比样本音频深层特征序列中的特征。
11.根据本公开提供的一种语音识别模型的训练方法,所述对比样本包括:正样本和负样本;其中,所述正样本为对比样本音频深层特征序列中与锚样本位置相同的特征;所述负样本为对比样本音频深层特征序列中与锚样本位置和音素对齐结果均不同的特征。
12.根据本公开提供的一种语音识别模型的训练方法,所述对比学习损失函数的公式为:
[0013][0014]
其中,m为锚样本个数,为第m个锚样本,为第m个锚样本正样本,m∈[1,m],为第m个锚样本中第s个负样本,s为每个锚样本的负样本个数,s∈[1,s]。
[0015]
第三方面,本公开还提供一种语音识别装置,包括提取模块和获取模块;其中,提取模块,用于提取待测音频在不同时间区间对应的频谱特征矩阵;获取模块,用于将所述频谱特征矩阵输入至预先训练的语音识别模型,获取作为所述待测音频识别结果的文本;其中,所述语音识别模型通过对多个样本频谱特征矩阵及其对应的样本语音识别结果和样本音素对齐结果训练获取;并且,所述样本语音识别结果为样本频谱特征矩阵通过所述语音识别模型获取的识别结果,所述样本音素对齐结果通过将所述样本频谱特征矩阵输入预先训练的声学模型获取。
[0016]
第四方面,本公开还提供一种语音识别模型的训练装置,包括:获取序列模块、掩码模块、自注意力模块、获取结果模块、计算模块和调整模块;其中,获取序列模块,用于基于样本音频特征矩阵,获取样本音频浅层特征序列;掩码模块,用于随机抽取所述样本音频浅层特征序列中的样本帧进行掩码,获取掩码样本音频浅层特征序列;自注意力模块,用于基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列;获取结果模块,用于基于掩码样本音频深层特征序列,获取样本语音识别结果;计算模块,用于基于损失函数计算差异;调整模块,用于基于损失函数计算得到的差异和反向传播算法,调整语音识别网络模型参数;其中,所述差异为,对比学习差异和语音识别差异之和。
[0017]
第五方面,本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述语音识别方法的步骤。
[0018]
第六方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述语音识别方法的步骤。
[0019]
第七方面,本公开还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述语音识别方法的步骤。
[0020]
第八方面,本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述语音识别模型的训练方法的步骤。
[0021]
第九方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述语音识别模型的训练方法的步骤。
[0022]
第十方面,本公开还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述语音识别模型的训练方法的步骤。
[0023]
本公开提供的语音识别方法、装置及相关设备,通过随机抽取基于样本音频特征矩阵获取到的样本音频浅层特征序列中的样本帧进行掩码,获取掩码样本音频浅层特征序列;基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列;基于掩码样本音频深层特征序列,获取样本语音识别结果;基于损失函数计算差异;其中,差异为对比学习差异和语音识别差异之和;基于损失函数计算得到的差异和反向传播算法,调整语音识别网络模型参数,对语音识别模型进行训练。
[0024]
该方法中采用的样本音频特征矩阵为有监督数据,基于损失函数计算样本音频特征矩阵的差异,差异为对比学习差异和语音识别差异之和,即将对比学习任务和语音识别任务进行联合训练,从而将训练步骤合二为一,只需进行一次实验设计,即可训练出满足要求的语音识别模型,以学习率、迭代步数等超参数的选择为例,现有技术的模型预训练和模型微调需根据需要各自设计超参数,而本公开提供的语音识别模型的训练方法仅在训练开始前设计一次超参数即可,简化实验难度。与此同时,现有技术的模型准确性主要依赖于模型预训练对大量无标注的数据进行训练,该方法中采用的样本音频特征矩阵为有监督数据,可以提高训练好的模型的准确性。
[0025]
本公开提供的语音识别方法、装置及相关设备,通过提取待测音频在不同时间区间对应的频谱特征矩阵;将频谱特征矩阵输入至预先训练的语音识别模型,获取作为所述待测音频识别结果的文本。其中,所述语音识别模型为通过对多个样本频谱特征矩阵及其对应的样本语音识别结果和样本音素对齐结果训练获取;并且,所述样本语音识别结果为样本频谱特征矩阵通过所述语音识别模型获取的识别结果,所述样本音素对齐结果通过将所述样本频谱特征矩阵输入预先训练的声学模型获取。该方法中采用的预先训练的语音识别模型用于训练的样本音频特征矩阵为有监督数据,整个训练过程中一直对有监督数据进行训练,可以提高训练好的模型输出结果的准确性。从而,使用该方法输出的结果相较于现有技术训练出的模型准确率更高,提高了用户体验。
附图说明
[0026]
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]
图1是本公开提供的语音识别模型的训练方法的流程示意图;
[0028]
图2是本公开提供的语音识别模型的训练装置的结构示意图;
[0029]
图3是本公开提供的电子设备的结构示意图;
[0030]
图4是本公开提供的语音识别方法的流程示意图;
[0031]
图5是本公开提供的语音识别装置的结构示意图;
[0032]
图6是本公开提供的语音识别模型的训练方法中基于的神经网络模型的逻辑结构示意图;
[0033]
图7是本公开提供的电子设备的结构示意图。
具体实施方式
[0034]
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
[0035]
近年来,随着深度学习技术的高速发展,基于端到端深度神经网络的自动语音识别技术(automatic speech recognition:asr)已经逐渐发展成为当前语音识别领域的主流技术,目前已经在电商、物流、金融等多个实际场景中得到了广泛应用。端到端asr模型能够将输入端的一段音频数据直接转成输出端的文本识别结果,易于模型训练、推理和优化,相比于传统的基于gmm

hmm(gaussian mixed model

hidden markov model,高斯混合模型

隐马尔科夫模型)的声学模型,端到端深度神经网络模型对语音数据的声学特征具有更强的表示能力,是语音识别模型获得性能提升的关键。
[0036]
基于对比学习(cl,contrastive learning)的语音识别技术通过自监督的训练模式,直接利用语音数据本身作为监督信息,来学习语音数据的特征表示,用于提高下游语音识别任务的性能。近年来,利用对比学习进行语音识别模型训练具有代表性的工作包括wav2vec2.0等,该类模型训练主要包括两个步骤:
[0037]
第一步为模型预训练:利用对比学习的损失函数,在无标注音频数据的基础上进行模型的对比学习训练,获得音频特征表示的预训练模型。在该步骤中,具体的实现方式是,首先在神经网络的浅层表示中,对每个样本随机选取一定比例的、特定长度的片段,记为锚样本,并进行掩码;其次在深层表示中,将被掩码时刻的特征记为锚样本的正样本,其它时刻的特征记为锚样本的负样本,进行对比学习训练,通过模型参数的更新,缩小锚样本和正样本之间的距离,同时增加锚样本和负样本之间的距离,获得语音数据特征表示模型。
[0038]
第二步为模型微调训练:在第一步中得到的音频特征表示的预训练模型基础上,利用语音识别任务的损失函数,将人工标注文本音频数据作为监督信息,对预训练模型参数进行微调训练,最终获语音识别模型。
[0039]
下面结合图1描述本公开实施例的语音识别模型的训练方法,包括:
[0040]
步骤s101、基于样本音频特征矩阵,获取样本音频浅层特征序列;
[0041]
步骤s103、随机抽取样本音频浅层特征序列中的样本帧进行掩码,获取掩码样本音频浅层特征序列;
[0042]
步骤s105、基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列;
[0043]
步骤s107、基于掩码样本音频深层特征序列,获取样本语音识别结果;
[0044]
步骤s109、基于损失函数计算差异;其中,差异为对比学习差异和语音识别差异之和;
[0045]
步骤s111、基于损失函数计算得到的差异和反向传播算法,调整语音识别网络模型参数。
[0046]
本公开提供的语音识别模型的训练方法,通过随机抽取基于样本音频特征矩阵获取到的样本音频浅层特征序列中的样本帧进行掩码,获取掩码样本音频浅层特征序列;基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列;基于掩码样本音频深层特征序列,获取样本语音识别结果;基于损失函数计算差异;其中,差异为对比学习差异和语音识别差异之和;基于损失函数计算得到的差异和反向传播算法,调整语音识别网络模型参数。该方法中采用的样本音频特征矩阵为有监督数据,基于损失函数计算样本音频特征矩阵的差异,差异为对比学习差异和语音识别差异之和,即将对比学习任务和语音识别任务进行联合训练,从而将训练步骤合二为一,只需进行一次实验设计,即可训练出满足要求的语音识别模型,以学习率、迭代步数等超参数的选择为例,现有技术的模型预训练和模型微调需根据需要各自设计超参数,而本公开提供的语音识别模型的训练方法仅在训练开始前设计一次超参数即可,简化实验难度。与此同时,现有技术的模型准确性主要依赖于模型预训练对大量无标注的数据进行训练,该方法中采用的样本音频特征矩阵为有监督数据,可以提高训练好的模型的准确性。
[0047]
下面结合图1对来具体描述各个步骤。
[0048]
步骤s101、基于样本音频特征矩阵,获取样本音频浅层特征序列;
[0049]
具体来说,样本音频特征矩阵为80维梅尔谱特征,样本音频特征矩阵通过样本音频按帧转化而来。其中,样本音频每一帧的时长为20ms,步长为10ms;样本音频以16khz的音频采样率采样得到。可选地,将样本音频特征矩阵输入卷积神经网络层,获取样本音频浅层特征序列。在具体应用中,样本音频特征矩阵预先存储于训练数据集中,训练数据集记为d={x
i
,y
i
|i∈[1,n]},其中x
i
为第i个训练数据样本的样本音频特征矩阵,y
i
为样本音频特征矩阵x
i
对应的文本标注结果,n为训练数据集的样本数量。通过利用传统gmm

hmm构建声学模型,获得每一个样本特征矩阵x
i
的音素对齐结果a
i
,也即x
i
中每一帧对应的音素结果,有助于后续基于音素进行掩码策略,提高模型对音素的表示能力,也即语音识别性能;同时,可利用音素对齐结果提高锚样本的正样本和负样本选取的正确率,进而提高模型的收敛效果。
[0050]
步骤s103、随机抽取样本音频浅层特征序列中的样本帧进行掩码,获取掩码样本音频浅层特征序列;
[0051]
具体来说,随机抽取样本音频浅层特征序列中的样本帧进行掩码为给定一个样本的样本音频浅层特征序列e
i
,从e
i
中随机选取百分之p的样本帧作为锚样本,在具体实施时,随机掩码概率p=6.5。为了进一步提升模型效果,可以在此基础上随机掩码2或3个相邻音素的特征。
[0052]
步骤s105、基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列;
[0053]
具体来说,基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列可
以为将掩码样本音频浅层特征序列输入自注意力层进行计算获取掩码样本音频深层特征序列。
[0054]
步骤s107、基于掩码样本音频深层特征序列,获取样本语音识别结果;
[0055]
具体来说,样本语音识别结果用于和样本音频特征矩阵对应的预先由人工听取转写得到的文本进行比对。
[0056]
步骤s109、基于损失函数计算差异;其中,差异为对比学习差异和语音识别差异之和;
[0057]
具体来说,基于损失函数计算差异具体包括计算对比学习差异和语音识别差异。
[0058]
步骤s111、基于损失函数计算得到的差异和反向传播算法,调整语音识别网络模型参数。
[0059]
具体来说,反向传播算法可采用现有adam优化算法。当损失函数计算得到的差异符合阈值或者收敛,则语音识别网络模型参数调整完毕,即语音识别网络模型训练完成。
[0060]
在一种可选实施例中,步骤s103在随机抽取所述样本音频浅层特征序列中的样本帧进行掩码后还包括:
[0061]
根据样本音频特征矩阵对应的样本音素对齐结果,对锚样本对应样本帧的相邻帧中与锚样本音素对齐结果的样本帧进行掩码。
[0062]
具体来说,锚样本为被掩码的样本帧特征。样本音素对齐结果通过将样本频谱特征矩阵输入预先训练的声学模型获取。这里的声学模型可为采用混合高斯模型或混合拉普拉斯模型等方法对语音信号的分布进行拟合,与矢量聚类相结合生成的不同的隐马尔科夫模型,不做限制,这里我们采用高斯混合模型

隐马尔科夫模型。
[0063]
本公开实施例提供的语音识别模型的训练方法根据样本音频特征矩阵对应的音素对齐结果,将锚样本对应样本帧的相邻帧中与锚样本音素对齐结果的样本帧进行掩码,即以音素为单位进行掩码,基于音素的掩码策略,参数选取考虑到作为语音识别声学建模单元的长度,获取适宜的参数长度,既不会因为掩码过长则因为丢失较多的浅层特征而导致模型训练困难,也不会因为掩码过短则降低模型对比学习的难度,这样训练的模型性能更佳。
[0064]
在一种可选实施例中,步骤s109进一步包括:
[0065]
步骤s1091、基于连接时间分类损失函数计算样本语音识别结果与样本文本标签之间的语音识别差异;
[0066]
步骤s1093、基于对比学习损失函数计算锚样本与对比样本的对比学习差异;
[0067]
步骤s1095、对语音识别差异和对比学习差异求和,得到差异。
[0068]
具体来说,样本文本标签,预先由人工听取样本音频特征矩阵转写获取的真实文本;对比样本为,通过对样本音频浅层特征序列进行线性变换得到的对比样本音频深层特征序列中的特征。
[0069]
在一种实施例中,对比样本包括正样本和负样本;其中,正样本为对比样本音频深层特征序列中与锚样本位置相同的特征;负样本为对比样本音频深层特征序列中与锚样本位置和音素对齐结果均不同的特征。
[0070]
在本公开实施例中,负样本选取与锚样本位置和音素对齐结果均不同的特征,提高锚样本的正样本和负样本选取的正确率,进而提高模型的收敛效果。这样在进行对比学
习时,缩小锚样本和正样本之间的距离,同时增加锚样本和负样本之间的距离,不会存在锚样本与负样本为不同位置的相同音素却需增加锚样本和负样本之间的距离的情况,从而提高模型的收敛效果。
[0071]
在一种可选实施例中,对比学习损失函数的公式为:
[0072][0073]
其中,m为锚样本个数,为第m个锚样本,为第m个锚样本正样本,m∈[1,m],为第m个锚样本中第s个负样本,s为每个锚样本的负样本个数,s∈[1,s]。在具体实施中,锚样本的数量为m=10,对应的负样本的数量设为s=100,尺度系数t=10。
[0074]
sim函数的公式为:
[0075]
sim(a,b)=a
t
b/(||a||||b||)
[0076]
在具体应用中,本公开实施例提供的语音识别模型的训练方法基于神经网络模型实现,参照图6,神经网络模型主要包括声学网络和对比学习网络两部分:其中声学模型依次包括3层卷积神经网络层,10层自注意力层,2层全连接层;对比学习网络包括掩码层和一个线性变换层。
[0077]
本公开实施例提供的语音识别模型的训练方法与普通asr训练方法(基线方法)和采用固定掩码长度(设为7最佳)得到的模型用于识别语音的准确率的比较如表1。
[0078]
表1.本公开实施例提出的语音识别模型的训练方法与其他方法准确率比较
[0079][0080]
下面对本公开实施例提供的语音识别模型的训练装置进行描述,下文描述的语音识别模型的训练装置与上文描述的语音识别模型的训练方法可相互对应参照。
[0081]
下面结合图2描述本公开实施例的语音识别模型的训练装置,包括:获取序列模块20、掩码模块22、自注意力模块24、获取结果模块26、计算模块28和调整模块29;其中,获取序列模块20,用于基于样本音频特征矩阵,获取样本音频浅层特征序列;掩码模块22,用于随机抽取样本音频浅层特征序列中的样本帧进行掩码,获取掩码样本音频浅层特征序列;自注意力模块24,用于基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列;获取结果模块26,用于基于掩码样本音频深层特征序列,获取样本语音识别结果;计算模块28,用于基于损失函数计算差异;其中,差异为对比学习差异和语音识别差异之和;调整模块29,用于基于损失函数计算得到的差异和反向传播算法,调整语音识别网络模型参数。
[0082]
本公开提供的语音识别模型的训练装置,通过掩码模块22随机抽取基于样本音频特征矩阵获取序列模块20获取到的样本音频浅层特征序列中的样本帧进行掩码,获取掩码
样本音频浅层特征序列;自注意力模块24基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列;随即获取结果模块26基于掩码样本音频深层特征序列,获取样本语音识别结果;计算模块28基于损失函数计算差异;其中,差异为对比学习差异和语音识别差异之和;调整模块29基于损失函数计算得到的差异和反向传播算法,调整语音识别网络模型参数。该装置采用的样本音频特征矩阵为有监督数据,基于损失函数计算样本音频特征矩阵的差异,差异为对比学习差异和语音识别差异之和,即将对比学习任务和语音识别任务进行联合训练,从而将训练步骤合二为一,只需进行一次实验设计,即可训练出满足要求的语音识别模型,以学习率、迭代步数等超参数的选择为例,现有技术的模型预训练和模型微调需根据需要各自设计超参数,而本公开提供的语音识别模型的训练装置仅在训练开始前设计一次超参数即可,简化实验难度。与此同时,现有技术的模型准确性主要依赖于模型预训练对大量无标注的数据进行训练,该装置中采用的样本音频特征矩阵为有监督数据,可以提高训练好的模型的准确性。
[0083]
下面结合图2对来具体描述各个模块。
[0084]
具体来说,获取序列模块20中的样本音频特征矩阵为80维梅尔谱特征,样本音频特征矩阵通过样本音频按帧转化而来。其中,样本音频每一帧的时长为20ms,步长为10ms;样本音频以16khz的音频采样率采样得到。可选地,将样本音频特征矩阵输入卷积神经网络层,获取样本音频浅层特征序列。
[0085]
具体来说,掩码模块22用于随机抽取样本音频浅层特征序列中的样本帧进行掩码为给定一个样本的样本音频浅层特征序列e
i
,从e
i
中随机选取百分之p的样本帧作为锚样本,在具体实施时,随机掩码概率p=6.5。为了进一步提升模型效果,可以在此基础上随机掩码2或3个相邻音素的特征。
[0086]
具体来说,自注意力模块24用于基于掩码样本音频浅层特征序列,获取掩码样本音频深层特征序列可以为用于将掩码样本音频浅层特征序列输入自注意力层进行计算获取掩码样本音频深层特征序列。
[0087]
具体来说,调整模块29中的反向传播算法可采用现有adam优化算法。当损失函数计算得到的差异符合阈值或者收敛,则语音识别网络模型参数调整完毕,即语音识别网络模型训练完成。
[0088]
在一种可选实施例中,掩码模块22,进一步用于:
[0089]
在随机抽取所述样本音频浅层特征序列中的样本帧进行掩码后,根据样本音频特征矩阵对应的音素对齐结果,对锚样本对应样本帧的相邻帧中与锚样本音素对齐结果的样本帧进行掩码。
[0090]
具体来说,锚样本为被掩码的样本帧特征。
[0091]
本公开实施例提供的语音识别模型的训练装置根据样本音频特征矩阵对应的音素对齐结果,将锚样本对应样本帧的相邻帧中与锚样本音素对齐结果的样本帧进行掩码,即以音素为单位进行掩码,基于音素的掩码策略,参数选取考虑到作为语音识别声学建模单元的长度,获取适宜的参数长度,既不会因为掩码过长则因为丢失较多的浅层特征而导致模型训练困难,也不会因为掩码过短则降低模型对比学习的难度,这样训练的模型性能更佳。
[0092]
在一种可选实施例中,计算模块28进一步包括:
[0093]
计算识别差异单元,用于基于连接时间分类损失函数计算样本语音识别结果与样本文本标签之间的语音识别差异;
[0094]
计算学习差异单元,用于基于对比学习损失函数计算锚样本与对比样本的对比学习差异;
[0095]
求和单元,用于对语音识别差异和对比学习差异求和,得到差异。
[0096]
具体来说,样本文本标签,预先由人工听取样本音频特征矩阵转写获取的真实文本;对比样本为,通过对样本音频浅层特征序列进行线性变换得到的对比样本音频深层特征序列中的特征。
[0097]
在一种实施例中,计算学习差异单元中的对比样本包括正样本和负样本;其中,正样本为对比样本音频深层特征序列中与锚样本位置相同的特征;负样本为对比样本音频深层特征序列中与锚样本位置和音素对齐结果均不同的特征。
[0098]
在本公开实施例中,负样本选取与锚样本位置和音素对齐结果均不同的特征,提高锚样本的正样本和负样本选取的正确率,进而提高模型的收敛效果。这样在进行对比学习时,缩小锚样本和正样本之间的距离,同时增加锚样本和负样本之间的距离,不会存在锚样本与负样本为不同位置的相同音素却需增加锚样本和负样本之间的距离的情况,从而提高模型的收敛效果。
[0099]
在一种可选实施例中,对比学习损失函数的公式为:
[0100][0101]
其中,m为锚样本个数,为第m个锚样本,为第m个锚样本正样本,m∈[1,m],为第m个锚样本中第s个负样本,s为每个锚样本的负样本个数,s∈[1,s]。在具体实施中,锚样本的数量为m=10,对应的负样本的数量设为s=100,尺度系数t=10。
[0102]
sim函数的公式为:
[0103]
sim(a,b)=a
t
b/(||a||||b||)
[0104]
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communications interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行语音识别模型的训练方法。
[0105]
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0106]
另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序
指令被计算机执行时,计算机能够执行上述各方法所提供的语音识别模型的训练方法。
[0107]
又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的语音识别模型的训练方法。
[0108]
基于上述方法训练好的语音识别模型,可用于本公开实施例提供的一种语音识别方法,参照图4,该方法包括:
[0109]
步骤s401、提取待测音频在不同时间区间对应的频谱特征矩阵;
[0110]
具体来说,提取方式基于预设的音频每一帧的时长为20ms,步长为10ms,频谱特征矩阵为80维梅尔谱特征,频谱特征矩阵通过待测音频按帧转化而来。
[0111]
步骤s403、将频谱特征矩阵输入至预先训练的语音识别模型,获取作为待测音频识别结果的文本。
[0112]
本公开实施例提供的语音识别方法,通过将提取到的待测音频在不同时间区间对应的频谱特征矩阵输入至预先训练的语音识别模型,获取作为待测音频识别结果的文本,这里预先训练的语音识别模型为按上述方法提前训练好的模型,输出的结果相较于现有技术训练出的模型准确率更高,提高了用户体验。
[0113]
在一种可选实施例中,步骤s403具体包括:
[0114]
步骤s4031、基于频谱特征矩阵,获取浅层特征序列;
[0115]
具体来说,可以通过将频谱特征矩阵输入卷积神经网络层,获取浅层特征序列。
[0116]
步骤s4033、基于浅层特征序列,获取深层特征序列;
[0117]
具体来说,可以通过将浅层特征序列输入自注意力层,获取深层特征序列。
[0118]
步骤s4035、基于深层特征序列,获取句子特征向量矩阵;
[0119]
具体来说,可以通过将深层特征序列输入全连接网络层,获取句子特征向量矩阵。
[0120]
步骤s4037、基于句子特征向量矩阵,获取待测语音识别结果。
[0121]
具体来说,可以通过,将句子特征向量矩阵输入ctc解码器,选取解码概率最高的语音识别输出文本作为待测语音识别结果。ctc解码器参数与训练时连接时间分类损失函数相关。
[0122]
在具体实施中,语音识别模型可以包括3层卷积神经网络,10层自注意力模块,2层全连接层。
[0123]
下面对本公开实施例提供的语音识别模型的训练装置进行描述,下文描述的语音识别模型的训练装置与上文描述的语音识别模型的训练方法可相互对应参照。
[0124]
参照图5,本公开实施例提供一种语音识别装置,包括:提取模块52和获取模块54。其中,提取模块52,用于提取待测音频在不同时间区间对应的频谱特征矩阵;获取模块54,用于将频谱特征矩阵输入至预先训练的语音识别模型,获取作为待测音频识别结果的文本;
[0125]
具体来说,提取模块52中的提取方式基于预设的音频每一帧的时长为20ms,步长为10ms,频谱特征矩阵为80维梅尔谱特征,频谱特征矩阵通过待测音频按帧转化而来。
[0126]
本公开实施例提供的语音识别装置,通过获取模块54将提取模块52提取到的待测音频在不同时间区间对应的频谱特征矩阵输入至预先训练的语音识别模型,获取作为待测音频识别结果的文本,这里预先训练的语音识别模型为按上述方法提前训练好的模型,输出的结果相较于现有技术训练出的模型准确率更高,提高了用户体验。
[0127]
在一种可选实施例中,获取模块54具体包括:
[0128]
获取浅层序列单元,用于基于频谱特征矩阵,获取浅层特征序列;
[0129]
具体来说,可以通过将频谱特征矩阵输入卷积神经网络层,获取浅层特征序列。
[0130]
获取深层特征序列单元,用于基于浅层特征序列,获取深层特征序列;
[0131]
具体来说,可以通过将浅层特征序列输入自注意力层,获取深层特征序列。
[0132]
获取句子特征单元,用于基于深层特征序列,获取句子特征向量矩阵;
[0133]
具体来说,可以通过将深层特征序列输入全连接网络层,获取句子特征向量矩阵。
[0134]
获取识别结果单元,用于基于句子特征向量矩阵,获取待测语音识别结果。
[0135]
具体来说,可以通过,将句子特征向量矩阵输入ctc解码器,选取解码概率最高的语音识别输出文本作为待测语音识别结果。ctc解码器参数与训练时连接时间分类损失函数相关。
[0136]
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行语音识别方法。
[0137]
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0138]
另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的语音识别方法。
[0139]
又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的语音识别方法。
[0140]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0141]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0142]
最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。