首页 > 乐器声学 专利正文
语音识别方法、系统、电子设备和存储介质与流程

时间:2022-01-19 阅读: 作者:专利查询

语音识别方法、系统、电子设备和存储介质与流程

1.本技术涉及语音识别技术领域,尤其涉及一种语音识别方法、系统、电子设备和存储介质。


背景技术:

2.基于transducer的语音识别模型在流式语音识别领域具有重要的应用价值,其典型特点就是能够直接适配流式语音识别任务。其采用逐帧计算的方法进行训练和推理,这种方式虽然使其能够直接应用于流式语音识别任务,但是也带来了两方面的问题:一是对于每帧语音片段都需要单独计算标记的概率分布,训练过程造成极大的内存消耗和计算量,导致计算效率低下;二是模型在推理过程中需要逐帧推理,由于音频中语音帧过多(典型的一秒钟就包含100帧音频),存在大量的计算量,进而推理速度比较慢。


技术实现要素:

3.为了解决上述技术问题或者至少部分地解决上述技术问题,本发明实施例提供一种语音识别方法、系统、电子设备和计算机可读存储介质。
4.第一方面,本发明实施例提供了一种语音识别方法,所述方法包括:对待识别音频进行编码表示,获得所述待识别音频的声学编码状态向量序列;对所述待识别音频的声学编码状态向量序列进行稀疏编码,获得声学编码稀疏向量;确定预设的词表中每一标签的文本预测向量;根据所述声学编码稀疏向量和所述文本预测向量,识别所述待识别音频,确定与所述待识别音频对应的文本内容。
5.在可选的实施例中,对所述待识别音频的声学编码状态向量序列进行稀疏编码,获得声学编码稀疏向量包括:计算所述声学编码状态向量序列中每一声学编码状态向量映射至所述预设的词表中每一标签的概率,根据所述概率,确定切分点;基于所述切分点,对所述声学编码状态向量序列进行切分,获得声学编码切分序列;对所述声学编码切分序列进行稀疏编码,获得声学编码稀疏向量。
6.在可选的实施例中,对待识别音频进行编码表示,获得所述待识别音频的声学编码状态向量序列包括:获取所述待识别音频的声学特征;对所述待识别音频的声学特征进行编码表示,获得所述待识别音频的声学编码状态向量序列。
7.在可选的实施例中,所述标签包括空格标签和非空格标签;计算所述声学编码状态向量序列中每一声学编码状态向量映射至所述预设的词表中每一标签的概率,根据所述概率,确定切分点包括:对所述声学编码状态向量序列中每一声学编码状态向量进行线性映射,确定所述声学编码状态向量映射至所述预设的词表中每一标签的概率分布;根据所述概率分布,确定所述声学编码状态向量映射至非空格标签集合的概率;根据所述声学编码状态向量映射至非空格标签集合的概率,确定切分点。
8.在可选的实施例中,根据所述声学编码状态向量映射至非空格标签集合的概率,
确定切分点包括:将非空格标签集合的概率大于预设阈值的声学编码状态向量标记为触发尖峰;将两个相邻的所述触发尖峰的中间位置标记为切分点。
9.在可选的实施例中,所述方法还包括根据下式对所述声学编码切分序列进行稀疏编码,获得声学编码稀疏向量:其中,表示所述声学编码切分序列,表示线性编码函数,表示声学编码切分序列经线性编码函数编码后的能量值,表示对能量值进行归一化操作得到的权重系数,表示 j 时刻的能量值,表示t时刻的声学编码状态向量,表示根据权重系数对所述声学编码切分序列进行加权求和,得到声学编码稀疏向量,k表示第k个声学编码切分序列,l和r分别表示声学编码切分序列的起始时刻和截止时刻。
10.第二方面,本发明实施例提供了一种语音识别系统,所述语音识别系统包括声学编码器、语言预测器、联合网络、稀疏编码层;其中,所述声学编码器用于对待识别音频进行编码表示,获得所述待识别音频的声学编码状态向量序列;所述稀疏编码层用于对所述待识别音频的声学编码状态向量序列进行稀疏编码,获得声学编码稀疏向量;所述语言预测器用于确定预设的词表中每一标签的文本预测向量;所述联合网络用于根据所述声学编码稀疏向量和所述文本预测向量,识别所述待识别音频,确定与所述待识别音频对应的文本内容。
11.在可选地实施例中,所述稀疏编码层包括ctc预测层和声学状态稀疏层;所述ctc预测层用于计算所述声学编码状态向量序列中每一声学编码状态向量映射至所述预设的词表中每一标签的概率,根据所述概率,确定切分点;基于所述切分点,对所述声学编码状态向量序列进行切分,获得声学编码切分序列;所述声学状态稀疏层用于对所述声学编码切分序列进行稀疏编码,获得声学编码稀疏向量。
12.在可选的实施例中,所述声学编码器还用于:获取所述待识别音频的声学特征;对所述待识别音频的声学特征进行编码表示,获得所述待识别音频的声学编码状态向量序列。
13.在可选的实施例中,所述标签包括空格标签和非空格标签;所述ctc预测层用于:对所述声学编码状态向量序列中每一声学编码状态向量进行线性映射,确定所述声学编码状态向量映射至所述预设的词表中每一标签的概率分布;根据所述概率分布,确定所述声学编码状态向量映射至非空格标签集合的概率;根据所述
声学编码状态向量映射至非空格标签集合的概率,确定切分点。
14.在可选的实施例中,所述ctc预测层用于:将非空格标签集合的概率大于预设阈值的声学编码状态向量标记为触发尖峰;将两个相邻的所述触发尖峰的中间位置标记为切分点。
15.在可选的实施例中,所述声学状态稀疏层根据下式对所述声学编码切分序列进行稀疏编码,获得声学编码稀疏向量:其中,表示所述声学编码切分序列,表示线性编码函数,表示声学编码切分序列经线性编码函数编码后的能量值,表示对能量值进行归一化操作得到的权重系数,表示 j 时刻的能量值,表示t时刻的声学编码状态向量,表示根据权重系数对所述声学编码切分序列进行加权求和,得到声学编码稀疏向量,k表示第k个声学编码切分序列,l和r分别表示声学编码切分序列的起始时刻和截止时刻。
16.第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使得所述处理器执行以下步骤:对待识别音频进行编码表示,获得所述待识别音频的声学编码状态向量序列;对所述待识别音频的声学编码状态向量序列进行稀疏编码,获得声学编码稀疏向量;确定预设的词表中每一标签的文本预测向量;根据所述声学编码稀疏向量和所述文本预测向量,识别所述待识别音频,确定与所述待识别音频对应的文本内容。
17.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例的语音识别方法。
18.上述实施例中的一个或多个技术方案至少具有如下优点的部分或全部:通过对待识别音频的声学编码状态向量进行稀疏编码,得到待识别音频的声学编码稀疏向量,从而降低编码帧数以实现降低计算代价,提升语音识别的速度。更具体的,本发明实施例先连续的待识别音频进行切分,对每个切分内的音频帧进行稀疏编码,得到稀疏帧,通过稀疏帧进行解码,减少解码步数,降低计算量,从而较快语音识别速度。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而
言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
21.图1示意性地示出了本发明实施例的语音识别方法的主要步骤的流程图;图2示意性地示出了本发明实施例的语音识别系统的主要模块的示意图;图3示意性地示出了本发明实施例的语音识别方法的子流程的示意图;图4示意性地示出了本发明实施例的语音识别方法的另一子流程的示意图;图5示意性地示出了本发明实施例的语音识别系统的结构示意图;图6示意性地示出了适用于本发明实施例的语音识别方法的系统架构;图7示意性示出了本发明实施例提供的电子设备的结构框图。
具体实施方式
22.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.传统的transducer语音识别模型,其通常包括声学编码器,语言预测器和联合网络三部分。声学编码器负责将输入声学特征编码为声学编码状态向量,语言预测器输入为空格标签或者预先设置的词表中的文本标签,输出为当前时刻预测的文本预测状态向量,联合网络输入为当前时刻声学编码器输出的声学编码状态向量和语言预测器输出的文本预测状态向量,输出得到词表中所有文本标签的概率。然而,这种模型采用逐帧计算的方法进行训练和推理,造成极大的内存消耗和计算量,识别效率慢。为解决上述技术问题,本发明实施例提供了一种语音识别方法和语音识别系统,该方法和系统改变了传统的transducer语音识别模型的计算方式,将音频的编码状态进行稀疏表示,从而降低模型参与后续训练和推理的编码帧数,实现了降低计算代价,提升速度的作用。
24.图1示意性地示出了本发明一实施例的语音识别方法的主要步骤的流程示意图。
25.如图1所示,该语音识别方法包括:步骤s101:对待识别音频进行编码表示,获得所述待识别音频的声学编码状态向量序列;步骤s102:对所述待识别音频的声学编码状态向量序列进行稀疏编码,获得声学编码稀疏向量;步骤s103:确定预设的词表中每一标签的文本预测向量;步骤s104:根据所述声学编码稀疏向量和所述文本预测向量,识别所述待识别音频,确定与所述待识别音频对应的文本内容。
26.该语音识别方法可以应用于如图2所示的语音识别系统200。如图2所示,该语音识别系统200包括声学编码器201、语言预测器202、稀疏编码层203和联合网络204。
27.对于步骤s101,对待识别音频进行编码表示包括对该待识别音频的声学特征进行编码表示。因此,该步骤包括获取待识别音频的声学特征,对该待识别音频的声学特征进行编码表示,以获得待识别音频的声学编码状态向量序列。其中,待识别音频的声学特征例如可以是mfcc特征,也可以是fbank特征等。mfcc(mel-frequency cepstral coefficients,梅尔倒谱系数)和fbank(filterbank,滤波器组特征)特征是语音识别常用的一种特征。在
获得待识别音频的声学特征之后,对待识别音频的声学特征进行编码表示,获得待识别音频的声学编码状态向量。
28.结合图2,可以将待识别音频输入语音识别系统200的声学编码器201中进行编码表示,得到声学编码状态向量序列。在可选地实施例中,声学编码器可以采用基于循环神经网络,卷积神经网络或者是transformer模型以及这些模型的变体结构或者组合结构构成。
29.对于步骤s102,对待识别音频的声学编码状态向量序列进行稀疏编码,获得声学编码稀疏向量,基于该声学编码稀疏向量进行后续计算可以实现用尽可能少的资源表示尽可能多的知识,以此提高计算效率的效果。如图3所示,该步骤包括如下子步骤:步骤s301:计算所述声学编码状态向量序列中每一声学编码状态向量映射至所述预设的词表中每一标签的概率,根据所述概率,确定切分点;步骤s302:基于所述切分点,对所述声学编码状态向量序列进行切分,获得声学编码切分序列;步骤s303:对所述声学编码切分序列进行稀疏编码,获得声学编码稀疏向量;在本实施例中,标签(label,也可以称为标记)包括空格标签和非空格标签,该空格标签和非空格标签可以记录在预设的词表中。如图4所示,确定切分点的具体步骤包括:步骤s401:对所述声学编码状态向量序列中每一声学编码状态向量进行线性映射,确定所述声学编码状态向量映射至所述预设的词表中每一标签的概率分布;步骤s402:根据所述概率分布,确定所述声学编码状态向量映射至非空格标签集合的概率;步骤s403:根据所述声学编码状态向量映射至非空格标签集合的概率,确定切分点。
30.本实施例可以通过线性映射计算得到声学编码状态向量映射至空格标签和非空格标签的概率,从而得到该声学编码状态向量映射至每一标签的概率分布。然后取出计算得到的空格标签的概率,并根据下式计算得到非空格标签集合的概率:其中,表示t时刻的声学编码状态向量,blk表示空格标签,nblk表示非空格标签的集合,表示预空格标签的概率,表示非空格标签集合的概率。
31.在预测得到待识别音频的声学编码状态向量对应的非空格标签集合的概率之后,可以根据该概率,确定切分点,以根据切分点将声学编码状态向量序列切分成长短不一的声学编码切分序列。其中,根据上述概率确定切分点的步骤包括:将非空格标签集合的概率大于预设阈值的声学编码状态向量标记为触发尖峰;将两个相邻的所述触发尖峰的中间位置标记为切分点。作为示例,预设阈值可以是0.5。即如果非空格标签集合的概率大于0.5,则标记为一个触发尖峰。然后,将两个相邻的触发尖峰中间位置记作切分点,基于该切分点将编码状态向量序列切分成长短不一的声学编码切分序列。
32.在得到声学编码切分序列之后,对声学编码切分序列中的声学编码状态向量进行进一步稀疏编码,其编码过程如下式所示:
其中,表示所述声学编码切分序列,表示线性编码函数,表示声学编码切分序列经线性编码函数编码后的能量值,表示对能量值进行归一化操作得到的权重系数,表示 j 时刻的能量值,表示t时刻的声学编码状态向量,表示根据权重系数对所述声学编码切分序列进行加权求和,得到声学编码稀疏向量,k表示第k个声学编码切分序列,l和r分别表示声学编码切分序列的起始时刻和截止时刻。
33.结合图2,可以通过语音识别系统200的稀疏编码层203对待识别音频的声学编码状态向量序列进行稀疏编码,获得声学编码稀疏向量。
34.在可选地实施例中,如图5所示,稀疏编码层503包括ctc预测层5031和声学状态稀疏层5032,其中,ctc预测层5031用于计算所述声学编码状态向量序列中每一声学编码状态向量映射至所述预设的词表中每一标签的概率,根据所述概率,确定切分点;基于所述切分点,对所述声学编码状态向量序列进行切分,获得声学编码切分序列。ctc预测层5031可以采用ctc(connectionist temporal classification,联结时序分类模型,)模型实现。其是端到端语音识别模型的一种,其典型特点是建模单元中包含空格标签,模型输出的非空格概率分布呈现尖峰状态,尖峰表示预测得到某个输出标记的概率非常高,接近1,同时尖峰的位置通常位于对应输出标记的发音范围中。所述声学状态稀疏层5032用于对所述声学编码切分序列进行稀疏编码,获得声学编码稀疏向量。
35.对于步骤s103,结合图2,可以通过语音识别系统200中的预先训练的语言预测器202确定每一标签的文本预测向量,其中,标签包括空格标签和非空格标签。在本实施例中,语言预测器的作用类似于语言模型,实现了建模标签之间依赖关系的效果。语言预测器对标签之间依赖关系的建模主要依据的是其原理,其通过先前预测得到的标记作为输入,经过前向计算预测得到文本预测向量,文本预测向量经过联合网络计算得到新的标签,将新的标签再输入至语言预测器,重复这一过程。然而模型在最开始位置,并没有预测出来任何非空格标签,此时语言预测器采用空格标记作为输入,空格标记在这里的作用类似于一个起始标记,使得模型能够正常运转。
36.对于步骤s104,结合图2,将上述声学编码稀疏向量和上述文本预测向量输入至联合网络204中,计算得到输出标签的概率分布,根据该概率分布确定与所述待识别音频对应的文本内容。其中,本发明实施例中的语音识别系统是从左到右沿着时间轴进行解码的。在语音识别系统的训练过程中,联合网络采用声学编码稀疏序列和文本预测序列构建训练概率图,在图上利用基于动态规划思想的前后向算法对模型所有可能的文本标签-音频特征对齐路径进行概率求和,并求负对数损失进行优化。在推理过程中,联合网络计算得到标签的概率分布,如果概率分布中最大概率的是空格标签,因为空格标签并没有任何语言信息,
所以保持文本预测向量不变,更新输入的声学编码稀疏向量,如果概率分布中最大概率的是非空格标签,则更新文本预测向量,保持声学编码稀疏向量不变,继续解码直至达到停止条件。
37.本发明实施例的语音识别方法,通过对待识别音频的声学编码状态向量进行稀疏编码,得到待识别音频的声学编码稀疏向量,从而降低编码帧数以实现降低计算代价,提升语音识别的速度。本发明实施例的语音识别方法,从根本上实现了针对transducer模型计算量的优化,能够适用于模型的训练和推理两个过程,提升训练效率,降低训练过程中显存消耗,降低推理的步数,提升推理的速度,其是针对transducer模型计算方式的改变,对结构改变不大,可以适用于多种现有transducer模型。对更具体的,本发明实施例先连续的待识别语音待识别音频进行切分,对每个切分内的音频帧进行稀疏编码,得到稀疏帧,通过稀疏帧进行解码,减少解码步数,降低计算量,从而较快语音识别速度。
38.图6示意性地示出了适用于本发明实施例的语音识别方法的系统架构。
39.如图6所示,适用于本发明实施例的语音识别方法的系统架构600包括:终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
40.终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用。
41.终端设备601、602、603可以是具有数据采集功能的电子设备。
42.服务器605可以是提供各种服务的服务器。服务器可以对接收到的请求或消息进行分析和处理,并将数据处理后得到的结果反馈给终端设备。
43.需要说明的是,本发明实施例所提供的语音识别方法一般可以由服务器605执行。本发明实施例所提供的语音识别方法也可以由不同于服务器605且能够与终端设备601、602、603和/或服务器605通信的服务器或服务器集群执行。
44.应该理解的是,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
45.图7示意性示出了本发明一实施例的电子设备的示意图。如图7所示,本发明实施例提供的电子设备700包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701、通信接口702和存储器703通过通信总线704完成相互间的通信;存储器703,用于存放至少一可执行指令;处理器701,用于执行存储器上所存放的可执行指令时,实现如上所述的语音识别方法。
46.具体而言,当实现上述模型迭代方法时,上述可执行指令使得上述处理器执行以下步骤:对待识别音频进行编码表示,获得所述待识别音频的声学编码状态向量序列;对所述待识别音频的声学编码状态向量序列进行稀疏编码,获得声学编码稀疏向量;确定预设的词表中每一标签的文本预测向量;根据所述声学编码稀疏向量和所述文本预测向量,识别所述待识别音频,确定与所述待识别音频对应的文本内容。
47.上述存储器703可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。存储器703具有用于执行上述方法中的任何方法步骤的程序代码的存储空间。例如,用于程序代码的存储空间可以包括分别用于实现上面的方法中的各个步骤的各个程序代码。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,光盘(cd)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为便携式或者固定存储单元。该存储单元可以具有与上述电子设备中的存储器703类似布置的存储段或者存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括用于执行根据本发明的实施例的方法步骤的程序,即可以由例如诸如701之类的处理器读取的代码,这些代码当由电子设备运行时,导致该电子设备执行上面所描述的方法中的各个步骤。
48.本发明实施例还提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有计算机程序,上述计算机程序被处理器执行时实现如上所述的模型迭代方法。
49.该计算机可读存储介质可以是上述实施例中描述的设备/装置中所包含的;也可以是单独存在,而未装配入该设备/装置中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本发明实施例的方法。
50.根据本发明的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
51.本发明的实施例提供的上述各个技术方案可以全部或部分步骤以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明的实施例的电子设备中的一些或者全部部件的一些或者全部功能。本发明的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。实现本发明的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
52.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者步骤与另一个实体或步骤区分开来,而不一定要求或者暗示这些实体或步骤之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
53.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明
将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。