本发明涉及语音信号处理技术领域,具体涉及一种端到端语音识别二遍解码方法、装置、电子设备及计算机可读存储介质。
背景技术:
语音识别技术就是把语音转成对应的文字。语音识别技术涉及到的领域包括信号处理、语言学、统计学、计算机科学等。近年来,随着机器学习、深度学习的发展,语音识别技术的也经历了巨大的变革。其中,声学模型也逐渐由传统的高斯混合模型转变为深度神经网络模型,后者显著提升了语音识别系的准确率,使得语音识别能够更好的应用于我们的日常生活。在教育领域,语音识别技术有着非常广泛的应用。在教研阶段,语音识别技术可以帮助教研老师进行内容的自动生产;教学过程中,语音识别技术可以识别老师/学生的说话内容,帮助进行课堂情况的反馈;课后,语音识别技术还能辅助对学生的口头作业进行批改。
语音识别二遍解码是因为在语音识别一遍解码中存在识别错误等问题造成识别性能差等原因进行的在一次解码的基础上进行的再一次解码。基于隐马尔可夫模型(hiddenmarkovmodel,简称为hmm)模型的二遍解码方案是根据一遍解码过程中生成的词图路径,通过一个语言模型进行路径重新打分得到最终的识别结果。端到端语音识别模型的解码直接产生最终的识别结果,目前主流的端到端二遍解码方案是在一遍解码的多个可能结果上面进行语言模型打分的重排序。
端到端语音识别是近年来研究的热点,其在各个语音识别任务上取得了重大的突破。在二遍解码上,端到端语音识别框架依然采用传统语音识别方法,即神经网络语言模型的重打分。综上所述,传统语音识别、目前主流的端到端语音识别在二遍解码上均采用语言模型的方式进行解码,性能仅依赖于二遍解码中用到的语言模型特征维度单一,且是针对所有的识别结果进行打分,并未对识别较好的结果进行过滤,因此,容易造成二遍解码的不稳定性。
针对现有技术中端到端语音识别在二遍解码上均采用语言模型的方式进行解码,容易造成二遍解码不稳定性的问题还未提出有效的解决方案。
技术实现要素:
有鉴于此,本发明实施例提供了一种端到端语音识别二遍解码方法、装置、电子设备及计算机可读存储介质,以解决现有技术中端到端语音识别在二遍解码上均采用语言模型的方式进行解码,容易造成二遍解码不稳定性的问题。
为此,本发明实施例提供了如下技术方案:
本发明第一方面,提供了一种端到端语音识别二遍解码方法,包括:
获取当前时刻的语音信息;
将所述当前时刻的语音信息输入语音编码器得到第一声学信息;
获取上一时刻的语音识别结果;
将所述上一时刻的语音识别结果输入预测网络得到第一语音模型信息;
将所述第一声学信息和所述第一语音模型信息依次输入至联合网络和softmax网络得到第一语音识别文字的概率分布,将所述第一语音识别文字的概率分布作为一遍解码结果;
判断所述第一语音识别文字的概率分布是否小于预定置信度;
将小于所述预定置信度的指定语音识别文字的概率分布对应的语音信息进行二遍解码。
可选地,将所述当前时刻的语音信息输入语音编码器得到第一声学信息包括:
将所述第一声学信息输入rnn循环网络,由所述rnn循环网络将所述第一声学信息与语种标签序列对齐;其中,所述语种标签序列与所述第一声学信息对应。
可选地,将所述第一声学信息输入rnn循环网络,由所述rnn循环网络将所述第一声学信息与语种标签序列对齐包括:
对于一对输入输出(x,y),ctc的目标是最大化:
其中,
x表示语音编码器的输出,y表示与x对应的文本标签序列,t表示从1到t的时间序列,a表示合法路径的集合,
可选地,将小于所述预定置信度的指定语音识别文字的概率分布对应的语音信息进行二遍解码之前,所述方法还包括:
将所述小于所述预定置信度的语音识别文字的概率分布用统一的向量表示。
可选地,将小于所述预定置信度的指定语音识别文字的概率分布对应的语音信息进行二遍解码包括:
将所述指定语音识别文字的概率分布对应的语音信息输入语音编码器得到第二声学信息;
将与所述指定语音识别文字的概率分布的一遍解码结果输入预测网络得到第二语音模型信息;
将所述第二声学信息和所述第二语音模型信息依次输入至联合网络和softmax网络得到第二语音识别文字的概率分布,将所述第二语音识别文字的概率分布作为二遍解码结果。
可选地,将所述当前时刻的语音信息输入语音编码器之前,所述方法还包括:
提取所述当前时刻的语音信息的fbank特征;
将所述fbank特征输入至所述语音编码器。
本发明第二方面,提供了一种端到端语音识别二遍解码装置,包括:
第一获取模块,用于获取当前时刻的语音信息;
第一输入模块,用于将所述当前时刻的语音信息输入语音编码器得到第一声学信息;
第二获取模块,用于获取上一时刻的语音识别结果;
第二输入模块,用于将所述上一时刻的语音识别结果输入预测网络得到第一语音模型信息;
第三输入模块,用于将所述第一声学信息和所述第一语音模型信息依次输入至联合网络和softmax网络得到第一语音识别文字的概率分布,将所述第一语音识别文字的概率分布作为一遍解码结果;
判断模块,用于判断所述第一语音识别文字的概率分布是否小于预定置信度;
解码模块,用于将小于所述预定置信度的指定语音识别文字的概率分布对应的语音信息进行二遍解码。
可选地,所述第一输入模块还用于将所述第一声学信息输入rnn循环网络,由所述rnn循环网络将所述第一声学信息与语种标签序列对齐;其中,所述语种标签序列与所述第一声学信息对应。
本发明第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述第一方面中任一所述的端到端语音识别二遍解码方法。
本发明第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述第一方面中任一所述的端到端语音识别二遍解码方法。
本发明实施例技术方案,具有如下优点:
本发明实施例提供了一种端到端语音识别二遍解码方法、装置、电子设备及计算机可读存储介质,其中,该方法包括:获取当前时刻的语音信息;将当前时刻的语音信息输入语音编码器得到第一声学信息;获取上一时刻的语音识别结果;将上一时刻的语音识别结果输入预测网络得到第一语音模型信息;将第一声学信息和第一语音模型信息依次输入至联合网络和softmax网络得到第一语音识别文字的概率分布,将第一语音识别文字的概率分布作为一遍解码结果;判断第一语音识别文字的概率分布是否小于预定置信度;将小于预定置信度的指定语音识别文字的概率分布对应的语音信息进行二遍解码。解决了现有技术中端到端语音识别在二遍解码上均采用语言模型的方式进行解码,容易造成二遍解码不稳定性的问题,实现了动态优化语音识别二遍解码,提升了语音识别的准确度。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的端到端语音识别二遍解码方法的流程图;
图2是根据本发明实施例的基于置信度敏感的端到端语音识别二遍解码另一流程图;
图3是根据本发明实施例的联合网络结构示意图;
图4是根据本发明实施例的端到端语音识别二遍解码装置的结构框图;
图5是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本申请,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本申请。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本申请的描述变得晦涩。因此,本申请并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
根据本发明实施例,提供了一种端到端语音识别二遍解码方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
在本实施例中提供了一种端到端语音识别二遍解码方法,可以用于任何具有端对端语音识别功能的如手机、电脑等具有显示、处理和网络连接功能的智能设备(电子设备)。图1是根据本发明实施例的端到端语音识别二遍解码方法的流程图,如图1所示,该流程包括如下步骤:
步骤s101,获取当前时刻的语音信息。其中,该语音信息可以来自于各种场合,例如教室中老师的授课、庭审中原被告双方的发言等。
步骤s102,将当前时刻的语音信息输入语音编码器得到第一声学信息。在一个可选实施例中,可以提取当前时刻的语音信息的fbank特征,将fbank特征输入至该语音编码器,在另一个可选实施例中,还可以提取短时能量、短时过零率、基频周期、短时幅度谱的峰度和短时幅度谱的偏度五个用来表征语音信号的时域特征,将该时域特征输入至语音编码器。声学模型可以理解为是对发声的建模,它能够把语音输入转换成声学表示的输出,更准确的说是给出语音属于某个声学符号的概率。在英文中这个声学符号可以是音节或者更小的颗粒度音素(phone),在中文中这个声学符号可以是声韵母或者是颗粒度同英文一样小的音素。
步骤s103,获取上一时刻的语音识别结果。本领域技术人员应当知晓,该上一时刻的语音识别结果可以通过现有技术中的任一语音识别方法获取到。
步骤s104,将上一时刻的语音识别结果输入预测网络得到第一语音模型信息。语言模型表示某一字序列发生的概率,是对一组字序列构成的知识表示。它的作用之一为消解多音字的问题,在声学模型给出发音序列之后,从候选的文字序列中找出概率最大的字符串序列。
步骤s105,将该第一声学信息和该第一语音模型信息依次输入至联合网络和softmax网络得到第一语音识别文字的概率分布,将该第一语音识别文字的概率分布作为一遍解码结果。
步骤s106,判断该第一语音识别文字的概率分布是否小于预定置信度。具体地,在一遍识别结果上基于置信度进行一遍识别结果的筛选和标记,将识别结果中置信度较低的token(即上述语音识别文字)进行mask标记,并输入到二遍解码网络中。
步骤s107,将小于该预定置信度的指定语音识别文字的概率分布对应的语音信息进行二遍解码。具体地,可以采用本实施例中一遍解码的方式进行对该指定语音识别文字的概率分布对应的语音信息进行二遍解码,也可以采用现有技术中其他的语音识别方式进行对该指定语音识别文字的概率分布对应的语音信息进行二遍解码,需要说明的是,上述语音信息二遍解码方式仅为举例说明,而并非用以限制本发明。
通过上述步骤,端到端语音识别过程依据当前时刻的语音信息通过语音编码器得到的声学信息和根据上一时刻的语音识别结果得到的语音模型信息综合得到对语音进行识别的文字的概率分布,相比于现有技术中在二遍解码上,端到端语音识别框架依然采用传统语音识别方法,即神经网络语言模型的重打分,端到端语音识别在二遍解码上均采用语言模型的方式进行解码,性能仅依赖于二遍解码中用到的语言模型特征维度单一,本实施例在二遍解码网络中,除了语言信息,还使用语音特征的编码信息,综合对一遍识别结果存在问题的部分进行重新识别,最终提升识别结果的准确率。进一步地,相比于现有技术中针对所有的识别结果进行打分,并未对识别较好的结果进行过滤,容易造成二遍解码的不稳定性,本实施例根据语音识别文字的概率分布确定是否进行二遍解码,仅将小于预定置信度的指定语音识别文字的概率分布对应的语音信息进行二遍解码,大于预定置信度的语音识别文字的概率分布对应的语音信息不需要进行二遍解码,对识别较好的结果进行过滤,进而提升了二遍解码的稳定性。
上述步骤s102涉及将当前时刻的语音信息输入语音编码器得到第一声学信息,在一个可选实施例中,将第一声学信息输入循环神经网络(recurrentneuralnetwork,简称为rnn),由该rnn循环网络将第一声学信息与语种标签序列对齐;其中,该语种标签序列与该第一声学信息对应。在一个具体的可选实施例中,对于一对输入输出(x,y),ctc的目标是最大化:
其中,
x表示语音编码器的输出,y表示与x对应的文本标签序列,t表示从1到t的时间序列,a表示合法路径的集合,
在执行上述步骤s107将小于预定置信度的指定语音识别文字的概率分布对应的语音信息进行二遍解码之前,在一个可选实施例中,将小于该预定置信度的语音识别文字的概率分布用统一的向量表示。使用统一的向量表示,其目的是为了预测最终该位置所代表的token,不使用原始的表示主要考虑到原始的错误表示包含错误的信息,对网络的预测不利。具体地,可以将mask作为一种向量替换机制,被替换的向量即二遍解码中需要预测的向量。
图2是根据本发明实施例的基于置信度敏感的端到端语音识别二遍解码另一流程图,下面结合图2中各个网络模块说明基于置信度敏感的端到端语音识别二遍解码方法,如图2所示,yu[i-1]代表前一时刻预测的token的向量表示。lmu[i]表示预测到的下一时刻的token的向量。henc表示声学模型audioencoder的高阶特征表示。
1.audioencoder
原始音频输入audioencoder之前,先对音频进行fbank特征提取xt[1,t];fbank是在语音识别中广泛使用的原始语音特征。对于提取到的音频特征,本实施例选择基于multi-headattention的编码方法,图2中的audioencoder网络结构描述如下:
audioencoder由n=6个相同的layer组成,每个layer由两个sub-layer组成,分别是multi-headself-attentionmechanism和fullyconnectedfeed-forwardnetwork。其中每个sub-layer都加了residualconnection和normalization,因此可以将audioencoder的输出表示为:
其中,x表示输入。
上述公式layernorm表示层的归一化,multi-head代表多头机制,concat代表拼接操作,headi表示第i个head的计算方式,self-attention代表自注意力机制,q,k,v。q、k、v代表self-attention计算的三个向量,其分别是由输入到网络中的语音特征(第一层是语音fbank特征,后续都是前一层的输出)分别经过三个参数矩阵计算得到的
2.predictnetwork
predictnetwork本质上是一个语言模型。语言模型其主旨是描述自然语言内在固有规律的数学模型,应用在各个需要对句子序列进行概率评估的任务中。本实施例采用经典的rnn语言模型。rnn是深度学习经典代表之一,本实施例不对其具体细节进行阐述;predictnetwork网络是输入上一时刻的识别结果
yu[i-1],输出是经过rnn编码计算的向量。
3.联合网络【jointnetwork】
jointnetwork是将predictnetwork的输出(语言模型信息),audioencoder的输出(声学信息)进行综合运算进行最终结果的输出;具体的,audioencoder的输出输入到一个基于rnn的循环网络中去。如图3所示,o1、o2、o3表示每个时刻的识别结果的输出,因为并不是每个音频帧都有识别结果,因此,这里采用ctc的方式进行损失函数的计算,从而进行自动的对齐。predictnetwork的作用是将上一时刻的输出进行编码,并输入到rnn的网络中进行解码。
ctc是一种connectionisttemporalclassification(ctc)适合不知道输入输出是否对齐的情况使用的算法,在本可选实施例中,做如下定义:
4.confidence&mask
confidence模块是一个可以自定义阈值的模块,其根据联合网络的概率输出进行token级别的mask判断,约定小于该阈值(即上述预定置信度)的token概率分布进行mask。如果该语音文件中所有的token的预测概率均大于阈值,则该条语音的转录的结果不需要进行二遍解码;
mask是一种向量替换的机制,通过confidence模块的判断,将小于阈值的distribution向量用统一的向量表示。被替换的向量即二遍解码中需要预测的向量。其中,distribution是联合网络经过softmax之后的输出向量。
5.tow-passdecoder
上述步骤s107涉及将小于该预定置信度的指定语音识别文字的概率分布对应的语音信息进行二遍解码,在一个可选实施例中,将指定语音识别文字的概率分布对应的语音信息输入语音编码器得到第二声学信息,将与指定语音识别文字的概率分布的一遍解码结果输入预测网络得到第二语音模型信息,将该第二声学信息和该第二语音模型信息依次输入至联合网络和softmax网络得到第二语音识别文字的概率分布,将该第二语音识别文字的概率分布作为二遍解码结果。
具体地,tow-passdecoder:模型的基本架构同transformer的encoder的模块,但是在计算self-attention时q和k均来自被置信度mask的输出分布向量。该部分仅仅对mask的部分进行预测;在训练阶段,随机对distribution进行mask,再输入到tow-passdecoder中进行预测。在模型使用阶段(推理阶段),根据confidence与阈值的比较,对mask的部分进行预测。
在本实施例中还提供了一种端到端语音识别二遍解码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”为可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种端到端语音识别二遍解码装置,如图4所示,包括:
第一获取模块41,用于获取当前时刻的语音信息;
第一输入模块42,用于将该当前时刻的语音信息输入语音编码器得到第一声学信息;
第二获取模块43,用于获取上一时刻的语音识别结果;
第二输入模块44,用于将该上一时刻的语音识别结果输入预测网络得到第一语音模型信息;
第三输入模块45,用于将该第一声学信息和该第一语音模型信息依次输入至联合网络和softmax网络得到第一语音识别文字的概率分布,将该第一语音识别文字的概率分布作为一遍解码结果;
判断模块46,用于判断该第一语音识别文字的概率分布是否小于预定置信度;
解码模块47,用于将小于该预定置信度的指定语音识别文字的概率分布对应的语音信息进行二遍解码。
可选地,该第一输入模块还用于将该第一声学信息输入rnn循环网络,由该rnn循环网络将该第一声学信息与语种标签序列对齐;其中,该语种标签序列与该第一声学信息对应。
本实施例中的一种端到端语音识别二遍解码装置是以功能单元的形式来呈现,这里的单元是指asic电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种电子设备,具有上述图4所示的一种端到端语音识别二遍解码装置。
请参阅图5,图5是本发明可选实施例提供的一种电子的结构示意图,如图5所示,该终端可以包括:至少一个处理器501,例如cpu(centralprocessingunit,中央处理器),至少一个通信接口503,存储器504,至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,通信接口503可以包括显示屏(display)、键盘(keyboard),可选通信接口503还可以包括标准的有线接口、无线接口。存储器504可以是高速ram存储器(randomaccessmemory,随机存取存储器),也可以是非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。存储器504可选的还可以是至少一个位于远离前述处理器501的存储装置。其中处理器501可以结合图4所描述的装置,存储器504中存储应用程序,且处理器501调用存储器504中存储的程序代码,以用于执行上述任一方法步骤,即用于执行上述任一实施例的端到端语音识别二遍解码方法。
其中,通信总线502可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。通信总线502可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器504可以包括易失性存储器(英文:volatilememory),例如随机存取存储器(英文:random-accessmemory,缩写:ram);存储器也可以包括非易失性存储器(英文:non-volatilememory),例如快闪存储器(英文:flashmemory),硬盘(英文:harddiskdrive,缩写:hdd)或固态硬盘(英文:solid-statedrive,缩写:ssd);存储器504还可以包括上述种类的存储器的组合。
其中,处理器501可以是中央处理器(英文:centralprocessingunit,缩写:cpu),网络处理器(英文:networkprocessor,缩写:np)或者cpu和np的组合。
其中,处理器501还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specificintegratedcircuit,缩写:asic),可编程逻辑器件(英文:programmablelogicdevice,缩写:pld)或其组合。上述pld可以是复杂可编程逻辑器件(英文:complexprogrammablelogicdevice,缩写:cpld),现场可编程逻辑门阵列(英文:field-programmablegatearray,缩写:fpga),通用阵列逻辑(英文:genericarraylogic,缩写:gal)或其任意组合。
可选地,存储器504还用于存储程序指令。处理器501可以调用程序指令,实现如本申请图1和2实施例中所示的端到端语音识别二遍解码方法。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的端到端语音识别二遍解码的处理方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、快闪存储器(flashmemory)、硬盘(harddiskdrive,缩写:hdd)或固态硬盘(solid-statedrive,ssd)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。