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

一种语音识别方法、装置、设备及计算机可读存储介质与流程

2021-06-11 21:44:00 来源:中国专利 TAG:语音识别 装置 可读 计算机 方法
一种语音识别方法、装置、设备及计算机可读存储介质与流程

本申请涉及语音识别技术领域,尤其涉及一种语音识别方法、装置、设备及计算机可读存储介质。



背景技术:

语音识别技术为将语音信号转变为相应文本的技术。目前的语音识别方案多为采用语音识别模型的语音识别方案,其中,语音识别模型中基于注意力机制的端到端的语音识别模型效果较佳。

虽然采用基于注意力机制的端到端的语音识别模型的语音识别方案的识别效果较佳,但其需要等待用户说完话后才能开始解码,因此,这种识别方案并不适用于实时的语音识别应用场景。



技术实现要素:

有鉴于此,本申请提供了一种语音识别方法、装置、设备及计算机可读存储介质,用以解决现有的语音识别方案不适用于实时的语音识别应用场景的问题,其技术方案如下:

一种语音识别方法,包括:

基于预先建立的语音识别模型,依次获取待识别语音中每个语音帧对应的特征向量;

在每获得一语音帧对应的特征向量后,基于所述语音识别模型、当前获得的特征向量和前一解码位置对应的识别结果,确定当前获得的特征向量处是否为解码位置;

若是,则基于所述语音识别模型、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前解码位置对应的识别结果。

可选的,所述基于预先建立的语音识别模型,依次获取待识别语音中每个语音帧对应的特征向量,包括:

依次获取所述待识别语音中每个语音帧对应的语音特征;

在每获得一语音帧对应的语音特征后,将当前获得的语音特征输入所述语音识别模型的语音编码模块进行编码,以得到所述当前获得的语音特征对应的语音帧所对应的特征向量。

可选的,所述基于所述语音识别模型、当前获得的特征向量和前一解码位置对应的识别结果,确定当前获得的特征向量处是否为解码位置,包括:

将前一解码位置对应的识别结果的表征向量输入所述语音识别模型的文本编码模块进行编码,得到前一解码位置对应的识别结果所对应的特征向量;

基于所述语音识别模型的第一注意力模块、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,预测当前获得的特征向量处是否为解码位置。

可选的,所述基于所述语音识别模型的第一注意力模块、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,预测当前获得的特征向量处是否为解码位置,包括:

基于所述语音识别模型的第一注意力模块、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,预测当前获得的特征向量处为解码位置的概率;

若当前获得的特征向量处为解码位置的概率大于或等于预设的概率阈值,则确定当前获得的特征向量处为解码位置,否则,确定当前获得的特征向量处不为解码位置。

可选的,所述基于所述语音识别模型的第一注意力模块、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,预测当前获得的特征向量处为解码位置的概率,包括:

利用所述语音识别模型的第一注意力模块,确定当前获得的特征向量与前一解码位置对应的识别结果所对应的特征向量的相关度表征值;

根据确定出的相关度表征值,确定当前获得的特征向量处为解码位置的概率。

可选的,所述基于所述语音识别模型、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前解码位置对应的识别结果,包括:

基于所述语音识别模型的第二注意力模块、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前获得的特征向量对应的语音帧所对应的上下文向量;

基于所述语音识别模型的解码模块、当前获得的特征向量对应的语音帧所对应的上下文向量以及前一解码位置对应的识别结果所对应的特征向量,确定当前解码位置对应的识别结果。

可选的,建立所述语音识别模型的过程包括:

从训练语音集中获取训练语音,并获取所述训练语音对应的标注文本;

基于语音识别模型,获取所述训练语音中各语音帧分别对应的特征向量,作为训练特征向量;

依次获取训练特征向量,在每获得一训练特征向量后,基于语音识别模型、当前获得的训练特征向量和所述标注文本中与前一解码位置对应的文本单元,确定当前获得的训练特征向量处是否为解码位置;

若是,则基于语音识别模型、所述训练语音中所有语音帧分别对应的训练特征向量,确定当前解码位置对应的识别结果;

根据当前解码位置对应的识别结果和所述标注文本中与当前解码位置对应的文本单元,确定语音识别模型的第一预测损失;

根据所述第一预测损失,更新语音识别模型的参数。

可选的,所述建立所述语音识别模型的过程还包括:

根据当前解码位置与前一解码位置的时间间隔,确定语音识别模型的第二预测损失;

所述根据所述第一预测损失,更新语音识别模型的参数,包括:

根据所述第一预测损失和所述第二预测损失,更新语音识别模型的参数。

可选的,所述基于语音识别模型、当前获得的训练特征向量和所述标注文本中与前一解码位置对应的文本单元,确定当前获取的训练特征向量处是否为解码位置,包括:

基于语音识别模型的第一注意力模块,计算当前获取的训练特征向量与所述标注文本中与前一解码位置对应的文本单元所对应的特征向量的相关度表征值;

根据当前获得的训练特征向量与所述标注文本中与前一解码位置对应的文本单元所对应的特征向量的相关度表征值,确定当前获取的训练特征向量处是否为解码位置。

可选的,所述基于语音识别模型、所述训练语音中所有语音帧分别对应的特征向量,确定当前解码位置对应的识别结果,包括:

基于所述语音识别模型的第二注意力模块、所述训练语音中所有语音帧分别对应的特征向量以及所述训练语音中每个语音帧对应的特征向量处为解码位置的期望,确定当前获取的训练特征向量对应的语音帧所对应的上下文向量;

基于所述语音识别模型的解码模块、当前获取的训练特征向量对应的语音帧所对应的上下文向量以及所述标注文本中与前一解码位置对应的文本单元所对应的特征向量,确定当前解码位置对应的识别结果。

一种语音识别装置,包括:特征向量获取模块、解码位置确定模块和识别结果确定模块;

所述特征向量获取模块,用于基于预先建立的语音识别模型,依次获取待识别语音中每个语音帧对应的特征向量;

所述解码位置确定模块,用于在每获得一语音帧对应的特征向量后,基于所述语音识别模型、当前获得的特征向量和前一解码位置对应的识别结果,确定当前获得的特征向量处是否为解码位置;

所述识别结果确定模块,用于当所述解码位置确定模块确定当前获得的特征向量处为解码位置时,基于所述语音识别模型、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前解码位置对应的识别结果。

一种语音识别设备,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现上述任一项所述的语音识别方法的各个步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的语音识别方法的各个步骤。

本申请提供的语音识别方法、装置、设备及计算机可读存储介质,可基于预先建立的语音识别模型,依次获取待识别语音中每个语音帧对应的特征向量,在每获得一语音帧对应的特征向量后,可基于语音识别模型、当前获得的特征向量和前一解码位置对应的识别结果,预测当前获得的特征向量处是否为解码位置,若当前获得的特征向量处为解码位置,则基于语音识别模型、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前解码位置对应的识别结果。本申请提供的语音识别方法可在每获得一语音帧对应的特征向量后,进行解码位置的预测,并在预测出解码位置后,基于当前预测出的解码位置处以及之前的所有特征向量解码出当前解码位置对应的识别结果,而不需要利用未来语音帧的信息,由此可见,本申请提供的语音识别方法实现了实时流式解码,其为一种实时的语音识别方法,适用于实时的语音识别应用场景。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为现有的基于注意力机制的端到端语音识别模型的结构示意图;

图2为本申请实施例提供的语音识别方法的流程示意图;

图3为本申请实施例提供的语音识别模型的结构示意图;

图4为本申请实施例提供的基于图3示出的语音识别模型的语音识别方法的流程示意图;

图5为本申请实施例提供的建立语音识别模型的流程示意图;

图6为本申请实施例提供的语音识别装置的结构示意图;

图7为本申请实施例提供的语音识别设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

自从2014年基于注意力机制的端到端机器翻译框架提出以来,端到端建模思路已成为机器翻译、手写识别、语音识别等序列建模任务中的研究热点。在语音识别任务中,端到端建模方法具有声学和语言联合建模的优点,结合互联网时代累计的海量语音数据,在大数据的加持下,声学语言联合建模的端到端语音识别已经超越了声学和语言分开建模的传统语音识别,成为现阶段最优的语音识别模型,图1示出了现有的基于注意力机制的端到端语音识别模型的结构示意图。

本案发明人发现:尽管现有的基于注意力机制的端到端语音识别模型识别效果较佳,但是,现有的基于注意力机制的端到端语音识别模型中的注意力模块采用的是全注意力机制,即,在每个解码时刻,需要对语音编码器的所有输出加权求和,这意味着,只有等待用户说完话后才能开始解码,因此,现有的基于注意力机制的端到端语音识别模型并不适用于实时的语音识别应用场景。

鉴于现有的采用基于注意力机制的端到端语音识别模型的语音识别方案存在的问题,本案发明人试图提出一种能够适用于实时的语音识别应用场景的语音识别方法,并为此进行了研究,起初的思路是:

采用基于ctc&attention结构的语音识别模型进行语音识别,具体的,使用ctc的尖峰信息对连续语音进行截断,然后在每一个截断的语音小段上进行当前建模单元的注意力建模,使得语音识别过程变成一个简单的滚动生成过程:在一个时间步生产一个识别结果,然后滚动到下一个时间步,再生成下一个识别结果,直到识别过程结束,由于该方法把传统的全局的注意力建模转换成局部注意力建模,因此,这个过程是一个可以流式实现的过程,同时也实现了流式解码。

本案发明人通过进一步研究发现:采用基于ctc&attention结构的语音识别模型虽然能够实现流式解码,但是,其存在一些问题:

其一,ctc模型存在着插入和删除等错误,这些错误会影响截断的效果,也就是说,ctc模型存在的插入和删除等错误会导致语音分段不准确,从而一定程度上影响语音识别效果;其二,由于模型只对截断之后的语音进行attention,即只考虑了语音的局部信息,缺少上下文信息,因此,导致识别效果不如基于整句的全局注意力的模型,影响用户体验。

鉴于上述基于ctc&attention结构的语音识别模型的语音识别方案存在的缺陷,本案发明人进一步进行了研究,在研究过程中,本案发明人发现:对于语音识别任务来说,输出文本和输入的语音特征序列的对齐关系是单调的,两者是时序对齐的,例如,当某人说“早上好”时,文本“早上”所对应的语音片段总是在文本“好”所对应的语音片段之前,这意味着,每个解码时刻,只需要利用当前已有的语音帧的信息,而不需要未来的语音帧的信息,沿着这个思路,本案发明人继续进行研究,最终提出了一种适用于实时的语音识别应用场景且识别效果较好的语音识别方案,该语音识别方案的基本构思是:

首先根据语音识别任务单调对齐的特性,在每获得一语音帧的编码信息时,基于单调注意力机制确定当前获得的编码信息处可以进行解码的概率,以得到解码位置,然后对截至当前获得的所有语音帧的编码信息进行softattention,即充分利用当前已获得的所有语音帧的信息,以使识别效果与基于整句的全局注意力的效果相当。

本申请提供的语音识别方法可应用于具有处理能力的电子设备,该电子设备可以为网络侧的服务器,也可以为用户侧使用的终端,比如pc、笔记本、智能手机、车载终端、智能家居设备等,网络侧的服务器或用户侧使用的终端可按本申请提供的语音识别方法对用户的语音进行识别。

接下来,通过下述实施例对本申请提供的语音识别方法进行介绍。

第一实施例

请参阅图2,示出了本申请实施例提供的语音识别方法的流程示意图,该方法可以包括:

步骤s201:基于预先建立的语音识别模型,依次获取待识别语音中每个语音帧对应的特征向量。

其中,一个语音帧所对应的特征向量能够表征该语音帧的语音信息。

具体的,依次获取待识别语音中每个语音帧对应的语音特征,在每获得待识别语音中一语音帧对应的特征向量后,基于预先建立的语音识别模型对当前获得的特征向量进行编码,以得到当前获得的特征向量对应的语音帧所对应的特征向量。

其中,语音识别模型采用训练语音和其对应的标注文本训练得到。

步骤s202:在每获得一特征向量后,基于语音识别模型、当前获得的特征向量和前一解码位置对应的识别结果,确定当前获得的特征向量处是否为解码位置。

具体的,获取前一解码位置对应的识别结果的表征向量,基于语音识别模型对前一解码位置对应的识别结果的表征向量进行编码,以得到前一解码位置对应的识别结果所对应的特征向量,然后基于语音识别模型、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,确定当前获得的特征向量处是否为解码位置。

需要说明的是,由于一个语音帧对应的特征向量表征的是该语音帧的语音信息,因此,确定当前获得的特征向量处是否为解码位置也可以认为是确定当前获得的特征向量所对应的语音帧处是否为解码位置。

步骤s203:若当前获得的特征向量处为解码位置,则基于语音识别模型、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前解码位置对应的识别结果;

假设当前获得的特征向量为待识别语音中第j个语音帧对应的特征向量,若第j个语音帧对应的特征向量处为解码位置,则基于语音识别模型、第j个语音帧对应的特征向量以及第j个语音帧之前的所有语音帧分别对应的特征向量,确定当前解码位置对应的识别结果。

若待识别语音中第j个语音帧对应的特征向量处不为解码位置,则获取下一语音帧对应的特征向量,并返回执行步骤s202,直至解码完成。

本申请实施例提供的语音识别方法,可基于预先建立的语音识别模型,依次获取待识别语音中每个语音帧对应的特征向量,在每获得待识别语音中一语音帧对应的特征向量后,可针对当前获得的特征向量进行解码位置的预测,并在预测出解码位置后,基于当前预测出的解码位置处以及之前的所有特征向量解码出当前解码位置对应的识别结果,而不需要利用未来语音帧的信息,由此可见,本申请实施例提供的语音识别方法实现了实时流式解码,其为一种实时的语音识别方法,适用于实时的语音识别应用场景。

第二实施例

经由上述实施例提供的语音识别方法可知,上述实时的语音识别基于语音识别模型实现,为此,本实施例提供语音识别模型的一种可选结构,请参阅图3,示出了本实施例提供的语音识别模型的结构示意图,其可以包括:语音编码模块301、文本编码模块302、第一注意力模块303、第二注意力模块304和解码模块305。

在第一实施例提供的语音识别方法的基础上,本实施例提供一种基于图3示出的语音识别模型的语音识别方法,请参阅图4,示出了该语音识别方法的流程示意图,可以包括:

步骤s401:依次获取待识别语音每个语音帧对应的语音特征。

其中,待识别语音中一语音帧对应的语音特征可以为filterbank特征,当然,本实施例并不限定于此,待识别语音中一语音帧对应的语音特征还可以为plp特征、mfcc特征、filterbank特征等中的任一种。

步骤s402:在每获得一语音帧对应的语音特征后,将当前获得的语音特征输入语音识别模型的语音编码模块301进行编码,以得到当前获得的语音特征对应的语音帧所对应的特征向量。

需要说明的是,本实施例为了实现实时语音识别,每获得待识别语音中一语音帧对应的语音特征后,便将当前获得的语音特征输入语音识别模型的语音编码模块301进行编码,语音编码模块每对一语音帧对应的语音特征编码后,便输出一特征向量。

假设待识别语音包括j个语音帧,通过步骤s401可依次获得语音特征x1、…、xj,…、xj,其中,x1为待识别语音中第1个语音帧对应的语音特征,xj为待识别语音中第j个语音帧对应的语音特征,xj为待识别语音中第j个语音帧对应的语音特征,在每获得一语音特征后,将其输入语音识别模型的语音编码模块301进行编码,得到对应语音帧对应的特征向量,具体的,在获得语音特征x1后,将x1输入语音识别模型的语音编码模块301进行编码,得到待识别语音中第1个语音帧对应的特征向量h1,…,在获得语音特征xj后,将xj输入语音识别模型的语音编码模块301进行编码,得到第j个语音帧对应的语音特征hj,…,在获得语音特征xj后,将xj输入语音识别模型的语音编码模块301进行编码,得到第j个语音帧对应的语音特征hj,即,最终获得一组表征待识别语音的语音信息的特征向量序列h={h1,…,hj,…,hj}。

可选的,本实施例中的语音识别模型的语音编码模块可以但不限于为lstm、cnn、self-attention。需要说明的是,由于本申请的目的在于实现实时语音识别,因此,语音识别模型的语音编码模块看不到未来的语音帧信息,因此,语音编码模块采用单向网络结构,从而对实时输入的语音特征进行编码。

步骤s403:在每获得一语音帧对应特征向量后,基于语音识别模型的文本编码模块302、第一注意力模块303、当前获得的特征向量和前一解码位置对应的识别结果,确定当前获得的特征向量处是否为解码位置。

具体的,步骤s403的实现过程可以包括:

步骤s4031、将前一解码位置对应的识别结果的表征向量输入语音识别模型的文本编码模块302进行编码,得到前一解码位置对应的识别结果所对应的特征向量。

其中,语音识别模型的文本编码模块可以为lstm,前一解码位置对应的识别结果的表征向量输入lstm,lstm对输入的向量进行处理,输出前一解码位置对应的识别结果所对应的特征向量。需要说明的是,前一解码位置对应的识别结果所对应的特征向量能够表征前一解码位置对应的识别结果的文本信息。

步骤s4032:基于语音识别模型的第一注意力模块303、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,预测当前获得的特征向量处是否为解码位置。

具体的,步骤s4032的实现过程可以包括:

步骤s4032-1、基于语音识别模型的第一注意力模块303、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,预测当前获得的特征向量处为解码位置的概率。

具体的,首先利用语音识别模型的第一注意力模块303,确定当前获得的特征向量与前一解码位置对应的识别结果所对应的特征向量的相关度表征值,然后根据当前获得的特征向量与前一解码位置对应的识别结果所对应的特征向量的相关度表征值,确定当前获得的特征向量处为解码位置的概率。

假设待预测的解码位置第i个解码位置,当前获得的特征向量为待识别语音中第j个语音帧对应的特征向量hj,前一解码位置(即第i-1个解码位置)对应的识别结果所对应的特征向量为gi-1,则可利用语音识别模型的第一注意力模块303计算hj与gi-1的attention能量ei,j,作为hj与gi-1的相关度表征值,其中,hj与gi-1的attention能量ei,j可通过下式确定:

其中,是权重归一化参数,其为可训练参数,w、v和b是模型参数,a是可设置的标量,在训练阶段,其可以让模型学习到一个合适的偏移量。

在获得hj与gi-1的attention能量ei,j后,可通过下式确定当前获得的特征向量hj处为解码位置的概率pi,j:

pi,j=sigmoid(ei,j)(2)

步骤s4032-2、判断当前获得的特征向量处为解码位置的概率是否大于或等于预设的概率阈值。

步骤s4032-3a、若当前获得的特征向量处为解码位置的概率大于或等于预设的概率阈值,则确定当前获得的特征向量处为解码位置。

步骤s4032-3b、若当前获得的特征向量处为解码位置的概率小于预设的概率阈值,则确定当前获得的特征向量处不为解码位置。

其中,概率阈值可根据具体情况设定,比如,可设定概率阈值为0.5,假设当前获得的特征向量为hj,若hj处为解码位置的概率大于或等于0.5,则确定hj处为解码位置,若hj处为解码位置的概率小于0.5,则确定hj处不为解码位置,需要继续获取下一特征向量hj 1,并进行解码位置的判别。

步骤s404:基于语音识别模型的第二注意力模块304和解码模块305,以及当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前解码位置对应的识别结果。

具体的,步骤s404的实现过程可以包括:

步骤s4041、基于语音识别模型的第二注意力模块304、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前获得的特征向量对应的语音帧所对应的上下文向量。

具体的,可先基于语音识别模型的第二注意力模块304计算截至当前已获得的每个特征向量与解码模块305前一次解码时的隐层输出向量的相似度表征值,以得到对应于截至当前已获得的每个特征向量的相似度表征值,然后基于对应于每个特征向量的相似度表征值确定每个特征向量对应的权重,最后,按确定出的权重对截至当前已获得的各个特征向量加权求和,得到当前获得的特征向量对应的语音帧所对应的上下文向量。

假设当前获得的特征向量为待识别语音中第k个语音帧对应的特征向量,则可按下式计算第j个语音帧对应的特征向量与解码模块305前一次解码时的隐层输出向量di-1的相似度表征值ui,j(j=1,2,…,k):

ui,j=vttanh(whhj wddi-1 b)(3)

其中,v、wh、wd、b为语音识别模型的第二注意力模块304中的可训练参数。

在获得分别对应于k个特征向量(k个特征向量指的是,待识别语音中第1个语音帧~第k个语音帧分别对应的特征向量)的相似度表征值后,可基于下式确定k个特征向量分别对应的权重γi,j(j=1,2,…,k):

最后,按k个特征向量分别对应的权重对k个特征向量加权求和,加权求和后得到的向量ci为当前获得的特征向量对应的语音帧所对应的上下文向量,即:

步骤s4042、基于语音识别模型的解码模块305、当前获得的特征向量对应的语音帧所对应的上下文向量以及前一解码位置对应的识别结果所对应的特征向量,确定当前解码位置对应的识别结果。

具体的,将经由步骤s4041获得的上下文向量与前一解码位置对应的识别结果所对应的特征向量输入解码模块305进行解码,以获得当前解码位置对应的识别结果。

本申请实施例提供的语音识别方法可基于预先建立的语音识别模型,依次获取待识别语音中各语音帧对应的特征向量,在每获得一语音帧对应的特征向量后,针对当前获取的特征向量可进行解码位置的预测,并在预测出解码位置后,基于当前预测出的解码位置处以及之前的所有特征向量解码出当前解码位置对应的识别结果,而不需要利用未来语音帧的信息,由此可见,本申请实施例提供的语音识别方法实现了实时流式解码,其为一种实时的语音识别方法,适用于实时的语音识别应用场景。

第三实施例

经由上述第一实施例和第二实施例提供的语音识别方法可知,实时的语音识别基于预先建立的语音识别模型实现,本申请实施例重点对建立语音识别模型的的具体实现过程进行介绍。

请参阅图5,示出了建立语音识别模型的流程示意图,可以包括:

步骤s501:从训练语音集中获取训练语音,并获取训练语音对应的标注文本。

其中,训练语音集中包括多条训练语音,训练语音集中的每条训练语音对应有一标注文本。需要说明的是,训练语音对应的标注文本中除了包括训练语音对应的文本内容外,还包括句子起始符“<s>”以及句子结束符“</s>”,假设一训练语音的文本内容为“早上好”,则该训练语音对应的标注文本为“<s>,早,上,好,</s>”。

步骤s502:基于语音识别模型,确定训练语音中各语音帧分别对应的特征向量,作为训练特征向量。

具体的,先获取训练语音中各语音帧分别对应的语音特征,然后将训练语音中各语音帧分别对应的语音特征输入语音识别模型的语音编码模块进行编码,得到训练语音中各语音帧分别对应的特征向量。

步骤s503:依次获取确定出的训练特征向量,在每获得一训练特征向量后,基于语音识别模型、当前获得的训练特征向量和标注文本中的目标文本单元,确定当前获得的训练特征向量处是否为解码位置。

其中,标注文本中的目标文本单元为标注文本中与前一解码位置对应的文本单元。

具体的,基于语音识别模型、当前获得的训练特征向量和标注文本中的目标文本单元,确定当前获得的训练特征向量处是否为解码位置的过程可以包括:

步骤s5031、基于语音识别模型的第一注意力模块,计算当前获取的训练特征向量与标注文本中目标文本单元所对应的特征向量的相关度表征值。

其中,标注文本中目标文本单元所对应的特征向量基于语音识别模型的文本编码模块获得,即,将标注文本中目标文本单元的表征向量输入语音识别模型的文本编码模块进行编码,得到标注文本中目标文本单元所对应的特征向量。

步骤s5032、根据当前获得的训练特征向量与标注文本中目标文本单元所对应的特征向量的相关度表征值,确定当前获取的训练特征向量处是否为解码位置。

具体的,根据当前获得的训练特征向量与标注文本中目标文本单元所对应的特征向量的相关度表征值,确定当前获得的训练特征向量处为解码位置的概率,若当前获得的训练特征向量处为解码位置的概率大于或等于预设的概率阈值,则确定当前获取的训练特征向量处为解码位置,若当前获得的训练特征向量处为解码位置的概率小于预设的概率阈值,则确定当前获取的训练特征向量处不为解码位置。

假设当前获取的训练特征向量为训练语音中的第1个语音帧对应的训练特征向量h1,则标注文本中的目标文本单元为训练语音对应的标注文本中的起始符,将训练语音对应的标注文本中的起始符(比如“<s>,早,上,好,</s>”中的“<s>”)的表征向量(即embedding向量)输入语音识别模型的文本编码模块进行编码,得到训练语音对应的标注文本中起始符对应的特征向量s0,接下来基于语音识别模型的第一注意力模块计算h1与s0的相关度表征值(比如h1与s0的attention能量),然后根据h1与s0的相关度表征值确定h1处为解码位置的概率,若h1处为解码位置的概率大于预设的概率阈值,则确定h1处为解码位置,然后执行步骤s504,若h1处不为解码位置,则继续获取训练语音中第2个语音帧对应的训练特征向量h2,基于语音识别模型的第一注意力模块计算h2与s0的相关度表征值,并根据h2与s0的相关度表征值确定h2处为解码位置的概率,若h2处为解码位置的大于预设的概率阈值,则确定h2处为解码位置,然后执行步骤s504,执行完步骤s504后,可继续获取训练语音中第3个语音帧对应的训练特征向量h3,基于语音识别模型的文本编码模块对标注文本中起始符后的第一个文本单元(比如“<s>,早,上,好,</s>”中的“早”)的表征向量进行编码,以得到特征向量s1,然后基于语音识别模型的第一注意力模块计算h3与s1的相关度表征值,并根据h3与s1的相关度表征值确定h3处为解码位置的概率,以此类推。

其中,当前获得的训练特征向量与标注文本中目标文本单元所对应的特征向量的相关度表征值可通过上式(1)计算,需要说明的是,在训练阶段,上式(1)中的gi-1需替换为标注文本中目标文本单元所对应的特征向量。

步骤s504:若当前获得的训练特征向量处为解码位置,则基于语音识别模型、训练语音中所有语音帧分别对应的训练特征向量,确定当前解码位置对应的识别结果。

具体的,基于语音识别模型、训练语音中所有语音帧分别对应的特征向量,确定当前解码位置对应的识别结果,包括:

步骤s5041、基于语音识别模型的第二注意力模块、训练语音中所有语音帧分别对应的特征向量以及训练语音中每个语音帧对应的特征向量处为解码位置的期望,确定当前获取的训练特征向量对应的语音帧所对应的上下文向量。

具体的,首先基于语音识别模型的第二注意力模块、训练语音中各语音帧分别对应的特征向量、训练语音中每个语音帧对应的特征向量处为解码位置的期望以及语音识别模型的解码模块前一次解码时的隐层输出向量,确定训练语音中每个语音帧对应的特征向量所对应的权重,然后,按确定出的权重对训练语音中各语音帧分别对应的特征向量加权求和,加权求和后向量作为当前获取的训练特征向量对应的语音帧所对应的上下文向量。

假设当前获得的训练特征向量为训练语音中第k个语音帧对应的特征向量,经判别,第k个语音帧对应的特征向量处为解码位置,则可首先按上式(3)计算第j个语音帧对应的特征向量hj与解码模块305前一次解码时的隐层输出向量di-1的相似度表征值ui,j(j=1,2,…|x|,|x|为训练语音的总帧数),以得到待识别语音中各语音帧对应的特征向量分别与di-1的相似度表征值,然后,按下式(6)计算第j个语音帧对应的特征向量所对应的权重βi,j,以得到训练语音中每个语音帧对应的特征向量所对应的权重,最后按确定出的权重对训练语音中各语音帧分别对应的特征向量加权求和,以得到训练语音中第k个语音帧所对应的上下文向量,如下式(7)所示:

需要说明的是,上式(6)中的αi,k为第k个语音帧对应的特征向量处为解码位置的期望,其确定方式如下:

当i=1时,假如hk处被选择为解码位置,hk处为解码位置的概率为pi,k,说明此时h1到hk-1都被跳过,没有被选择,其概率为则该事件的联合概率为:

当i≥2时,假设i-1时刻选中了hn,那么从时刻1到时刻i-1选中hn这总共i-1个事件的联合概率即为αi-1,n,然后假设i时刻选中了hk,概率为pi,k,那么说明hn,…,hk-1都被跳过了,其概率为因此,整个联合概率为:

经由上式(8)和(9)计算得到的αi,k即为第k个语音帧对应的特征向量为解码位置的期望。

为了提高上述αi,k的运算效率,本实施例提供如下优化方案:

首先令qi,y=1-pi,y,然后将qi,x下三角的值全部置为1得到接着对按行求累积乘积得到最后取出上三角矩阵得到如下:

根据上式可以得到(即),其中,α0的值可设置为1。

步骤s5042、基于语音识别模型的解码模块、当前获取的训练特征向量对应的语音帧所对应的上下文向量以及标注文本中目标文本单元所对应的特征向量,确定当前解码位置对应的识别结果。

具体的,将当前获取的训练特征向量对应的语音帧所对应的上下文向量以及标注文本中目标文本单元所对应的特征向量输入语音识别模型的解码模块进行解码,以得到当前解码位置对应的识别结果。

步骤s505a:根据当前解码位置对应的识别结果和标注文本中对应的文本单元,确定语音识别模型的第一预测损失。

具体的,可根据当前解码位置对应的识别结果和标注文本中对应的文本单元计算交叉熵损失,作为语音识别模型的第一预测损失。可以理解的是,解码位置预测的越准,识别效果就越好,第一预测损失就越低,模型会朝着这个方向进行优化。

在一种可能的实现方式中,可直接根据语音识别模型的第一预测损失进行参数更新,为了能够降低语音识别模型的解码时延,提高解码效率,在另一种可能的实现方式中,在进行参数更新前,还可执行:

步骤s505b:根据当前解码位置与前一解码位置的时间间隔,确定语音识别模型的第二预测损失。

具体的,第二预测损失可基于下式计算:

其中,若delay(j-k)中的j-k大于0,则delay(j-k)=j-k,若j-k小于或等于0,则delay(j-k)=0,αi,j表示第j个语音帧对应的训练特征向量为i个解码位置的期望,αi-1,k表示第k个语音帧对应的训练特征向量为i-1个解码位置的期望。

本实施例在第一预测损失的基础上可额外添加一个约束损失,即第二预测损失,以最小化相邻两个解码位置之间的时间间隔的均方根误差值为优化方向进行优化,相邻两个解码位置之间的时间间隔的均方根误差值越小,则模型的解码延迟就越小,解码效率就越高。

步骤s506:根据第一预测损失和第二预测损失,更新语音识别模型的参数。

按步骤s501~步骤s506的方式进行多次迭代训练,直至满足训练结束条件,训练结束后得到的模型即为建立的语音识别模型。

基于上述过程建立的语音识别模型可实现实时的语音识别,其适用于实时的语音识别应用场景。

第四实施例

本申请实施例还提供了一种语音识别装置,下面对本申请实施例提供的语音识别装置进行描述,下文描述的语音识别装置与上文描述的语音识别方法可相互对应参照。

请参阅图6,示出了本申请实施例提供的语音识别装置的结构示意图,可以包括:特征向量获取模块601、解码位置确定模块602和识别结果确定模块603。

特征向量获取模块601,用于基于预先建立的语音识别模型,依次获取待识别语音中每个语音帧对应的特征向量。

解码位置确定模块602,用于在每获得一语音帧对应的特征向量后,基于所述语音识别模型、当前获得的特征向量和前一解码位置对应的识别结果,确定当前获得的特征向量处是否为解码位置。

识别结果确定模块603,用于当所述解码位置确定模块确定当前获得的特征向量处为解码位置时,基于所述语音识别模型、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前解码位置对应的识别结果。

其中,所述语音识别模型采用训练语音和其对应的标注文本训练得到。

可选的,特征向量获取模块601,具体用于依次获取所述待识别语音中每个语音帧对应的语音特征,在每获得一语音帧对应的语音特征后,将当前获得的语音特征输入所述语音识别模型的语音编码模块进行编码,以得到所述当前获得的语音特征对应的语音帧所对应的特征向量。

可选的,解码位置确定模块602,具体用于将前一解码位置对应的识别结果的表征向量输入所述语音识别模型的文本编码模块进行编码,得到前一解码位置对应的识别结果所对应的特征向量,基于所述语音识别模型的第一注意力模块、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,预测当前获得的特征向量处是否为解码位置。

可选的,解码位置确定模块602在基于所述语音识别模型的第一注意力模块、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,预测当前获得的特征向量处是否为解码位置时,具体用于基于所述语音识别模型的第一注意力模块、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,预测当前获得的特征向量处为解码位置的概率,若当前获得的特征向量处为解码位置的概率大于或等于预设的概率阈值,则确定当前获得的特征向量处为解码位置,否则,确定当前获得的特征向量处不为解码位置。

可选的,解码位置确定模块602在基于所述语音识别模型的第一注意力模块、当前获得的特征向量以及前一解码位置对应的识别结果所对应的特征向量,预测当前获得的特征向量处为解码位置的概率时,具体用于利用所述语音识别模型的第一注意力模块,确定当前获得的特征向量与前一解码位置对应的识别结果所对应的特征向量的相关度表征值,根据确定出的相关度表征值,确定当前获得的特征向量处为解码位置的概率。

可选的,识别结果确定模块603,具体用于基于所述语音识别模型的第二注意力模块、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前获得的特征向量对应的语音帧所对应的上下文向量,基于所述语音识别模型的解码模块、当前获得的特征向量对应的语音帧所对应的上下文向量以及前一解码位置对应的识别结果所对应的特征向量,确定当前解码位置对应的识别结果。

可选的,本实施例提供的语音识别装置还包括语音识别模型建立模块,语音识别模型建立模块可以包括:训练数据获取模块、模型训练模块、模型预测损失确定模块和模型参数更新模块。

所述训练数据获取模块,用于从训练语音集中获取训练语音,并获取所述训练语音对应的标注文本。

所述模型训练模块,用于基于语音识别模型,获取所述训练语音中各语音帧分别对应的特征向量,作为训练特征向量,依次获取训练特征向量,在每获得一训练特征向量后,基于语音识别模型、当前获得的训练特征向量和所述标注文本中与前一解码位置对应的文本单元,确定当前获得的训练特征向量处是否为解码位置,若是,则基于语音识别模型、所述训练语音中所有语音帧分别对应的训练特征向量,确定当前解码位置对应的识别结果。

所述模型预测损失确定模块,用于根据当前解码位置对应的识别结果和所述标注文本中与当前解码位置对应的文本单元,确定语音识别模型的第一预测损失。

所述模型参数更新模块,用于根据所述第一预测损失,更新语音识别模型的参数。

可选的,所述模型预测损失确定模块,还用于根据当前解码位置与前一解码位置的时间间隔,确定语音识别模型的第二预测损失。

所述模型参数更新模块,具体用于根据所述第一预测损失和所述第二预测损失,更新语音识别模型的参数。

可选的,所述模型训练模块在基于语音识别模型、当前获得的训练特征向量和所述标注文本中与前一解码位置对应的文本单元,确定当前获取的训练特征向量处是否为解码位置时,具体用于基于语音识别模型的第一注意力模块,计算当前获取的训练特征向量与所述标注文本中与前一解码位置对应的文本单元所对应的特征向量的相关度表征值,根据当前获得的训练特征向量与所述标注文本中与前一解码位置对应的文本单元所对应的特征向量的相关度表征值,确定当前获取的训练特征向量处是否为解码位置。

可选的,所述模型训练模块在基于语音识别模型、所述训练语音中所有语音帧分别对应的特征向量,确定当前解码位置对应的识别结果时,具体用于基于所述语音识别模型的第二注意力模块、所述训练语音中所有语音帧分别对应的特征向量以及所述训练语音中每个语音帧对应的特征向量处为解码位置的期望,确定当前获取的训练特征向量对应的语音帧所对应的上下文向量,基于所述语音识别模型的解码模块、当前获取的训练特征向量对应的语音帧所对应的上下文向量以及所述标注文本中与前一解码位置对应的文本单元所对应的特征向量,确定当前解码位置对应的识别结果。

本申请实施例提供的语音识别装置,可基于预先建立的语音识别模型,依次获取待识别语音中各语音帧对应的特征向量,在每获得一语音帧对应的特征向量后,针对当前获取的特征向量可进行解码位置的预测,并在预测出解码位置后,基于当前预测出的解码位置处以及之前的所有特征向量解码出当前解码位置对应的识别结果,而不需要利用未来语音帧的信息,由此可见,本申请实施例提供的语音识别装置实现了实时流式解码,适用于实时的语音识别应用场景。

第五实施例

本申请实施例还提供了一种语音识别设备,请参阅图7,示出了该语音识别设备的结构示意图,该语音识别设备可以包括:至少一个处理器701,至少一个通信接口702,至少一个存储器703和至少一个通信总线704;

在本申请实施例中,处理器701、通信接口702、存储器703、通信总线704的数量为至少一个,且处理器701、通信接口702、存储器703通过通信总线704完成相互间的通信;

处理器701可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;

存储器703可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;

其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:

基于预先建立的语音识别模型,依次获取待识别语音中每个语音帧对应的特征向量;

在每获得一语音帧对应的特征向量后,基于所述语音识别模型、当前获得的特征向量和前一解码位置对应的识别结果,确定当前获得的特征向量处是否为解码位置;

若是,则基于所述语音识别模型、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前解码位置对应的识别结果;

其中,所述语音识别模型采用训练语音和其对应的标注文本训练得到。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

第六实施例

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质可存储有适于处理器执行的程序,所述程序用于:

基于预先建立的语音识别模型,依次获取待识别语音中每个语音帧对应的特征向量;

在每获得一语音帧对应的特征向量后,基于所述语音识别模型、当前获得的特征向量和前一解码位置对应的识别结果,确定当前获得的特征向量处是否为解码位置;

若是,则基于所述语音识别模型、当前获得的特征向量和当前获得的特征向量之前的所有特征向量,确定当前解码位置对应的识别结果;

其中,所述语音识别模型采用训练语音和其对应的标注文本训练得到。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜