语音识别方法、装置及电子设备与流程

文档序号:33277947发布日期:2023-02-24 20:11阅读:50来源:国知局
语音识别方法、装置及电子设备与流程

1.本技术实施例涉及人工智能技术领域,尤其涉及一种语音识别方法、装置、及电子设备。


背景技术:

2.语音识别是一种让机器通过识别和理解过程把语音信号转变为相应的文本的技术,随着语音识别技术的发展,其被应用于诸如会议场景、智能客服场景、在线医疗场景中等多种场景中。
3.对于大部分的语音识别任务,其针对的语音中至少包含有一个说话人的声音,更多时候包含有多个说话人的声音。目前的语音识别任务会通过语音识别子任务和说话人日志子任务,这两个子任务进行系统级联实现将语音转换为不同说话人对应的不同文本。其中,这两个子任务通过对应的两个单独的机器学习模型分别实现,并分别进行优化后使用。然而,这种方式因模型间任务信息交互有限,且需要单独进行相应的优化和处理后,还需级联使用,导致语音识别效率低下,且准确度也不够高。


技术实现要素:

4.有鉴于此,本技术实施例提供一种语音识别方案,以至少部分解决上述问题。
5.根据本技术实施例的第一方面,提供了一种语音识别方法,包括:获取待识别的语音帧数据对应的语音表征向量和说话人表征向量;对所述语音表征向量进行并行的语音帧文本激活值预测,并在预测结果指示语音帧文本激活值达到发射阈值时,根据在所述发射阈值的范围内的语音表征向量生成发射向量;根据所述发射向量和所述说话人表征向量,为所述发射向量确定对应的文本及所述文本对应的说话人。
6.根据本技术实施例的第二方面,提供了一种语音识别装置,包括:包括语音识别分支单元和说话人识别分支单元,其中,所述语音识别分支单元包括:语音识别编码器、连续整合发射模块、和语音识别解码器;所述说话人识别分支单元包括:说话人编码器、和说话人解码器;所述语音识别编码器,用于对待识别的语音帧数据对应的声学特征进行语音特征提取,获得对应的语音表征向量;所述连续整合发射模块,用于对所述语音表征向量进行并行的语音帧文本激活值预测,并在预测结果指示语音帧文本激活值达到发射阈值时,根据在所述发射阈值的范围内的语音表征向量生成发射向量并将所述发射向量发射至所述说话人解码器;所述说话人编码器,用于对所述待识别的语音帧数据对应的声学特征进行说话人特征提取,获得对应的说话人表征向量;所述说话人解码器,用于接收所述发射向量,并根据所述发射向量和所述说话人表征向量,确定所述发射向量对应的说话人;所述语音识别解码器,用于将所述发射向量转换为文本,并根据所述发射向量对应的说话人的信息,确定所述文本对应的说话人。
7.根据本技术实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间
的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述方法对应的操作。
8.根据本技术实施例的第四方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。
9.根据本技术实施例提供的方案,在需要进行语音识别并标记相应说话人的场景中,一方面,会基于语音识别任务的语音表征向量生成发射向量,并与说话人识别任务的说话人表征向量相结合,从而,实现了两者在特征生成阶段的任务信息交互,以使得在对语音进行说话人识别时,即有效融合了语音特征和说话人特征,从而提高了语音识别和说话人标记的准确度。另一方面,本技术实施例的方案中,对语音帧文本激活值的预测是并行的,也即,可以同时对多个语音帧的语音表征向量进行预测,并在达到发射阈值时生成发射向量,相较于传统方式中在处理每个语音帧时均需对该语音帧对应的字符的上下文语音帧进行处理的方式,可以大大提高处理速度和效率。可见,通过本技术实施例,既降低了语音识别任务和说话人识别任务之间的交互复杂度,又提高了整体识别效率。
附图说明
10.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
11.图1为适用本技术实施例方案的示例性系统的示意图;图2a为根据本技术实施例一的一种语音识别装置的结构框图;图2b为图2a所示实施例中的一种语音识别装置对应的模型的结构示意图;图3a为根据本技术实施例二的一种语音识别方法的步骤流程图;图3b为图3a所示实施例中的一种场景示例图;图4为根据本技术实施例三的一种电子设备的结构示意图。
具体实施方式
12.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
13.下面结合本技术实施例附图进一步说明本技术实施例具体实现。
14.图1示出了一种适用本技术实施例的示例性系统。如图1所示,该系统100可以包括云服务端102、通信网络104和/或一个或多个用户设备106,图1中示例为多个用户设备。
15.云服务端102可以是用于存储信息、数据、程序和/或任何其他合适类型的内容的任何适当的设备,包括但不限于分布式存储系统设备、服务器集群、计算云服务端集群等。在一些实施例中,云服务端102可以执行任何适当的功能。例如,在一些实施例中,云服务端102可以用于语音识别并标记说话人。作为可选的示例,在一些实施例中,云服务端102可以被用于基于语音识别任务和说话人识别任务之间的交互,来进行语音识别并标记说话人。
在一些实施例中,云服务端102可以通过对待识别的语音帧数据对应的语音表征向量进行并行的语音帧文本激活值预测,并在预测结果指示语音帧文本激活值达到发射阈值时,根据在发射阈值的范围内的语音表征向量生成发射向量;进而通过该发射向量和待识别的语音帧数据对应的说话人表征向量,实现语音识别任务和说话人识别任务之间的交互,最终为发射向量确定对应的文本及文本对应的说话人。作为另一示例,在一些实施例中,云服务端102可以被用于通过用户设备106获取待识别的语音帧数据,并且,在通过上述过程获得发射向量对应的文本及文本对应的说话人后,发送给用户设备106。
16.在一些实施例中,通信网络104可以是一个或多个有线和/或无线网络的任何适当的组合。例如,通信网络104能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(wide area network,wan)、局域网(local area network ,lan)、无线网络、数字订户线路(digital subscriber line,dsl)网络、帧中继网络、异步转移模式(asynchronous transfer mode ,atm)网络、虚拟专用网(virtual private network,vpn)和/或任何其它合适的通信网络。用户设备106能够通过一个或多个通信链路(例如,通信链路112)连接到通信网络104,该通信网络104能够经由一个或多个通信链路(例如,通信链路114)被链接到云服务端102。通信链路可以是适合于在用户设备106和云服务端102之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。
17.用户设备106可以包括适合于与用户语音交互的任何一个或多个用户设备。在一些实施例中,用户设备106可以向云服务端102发送语音识别请求以及所请求的语音帧数据,以及,接收云服务端102反馈的语音识别和说话人标记结果,如,前述发射向量对应的文本及文本对应的说话人,等。在一些实施例中,用户设备106可以包括任何合适类型的设备。例如,在一些实施例中,用户设备106可以包括移动设备、平板计算机、膝上型计算机、台式计算机、可穿戴计算机、游戏控制台、媒体播放器、车辆娱乐系统和/或任何其他合适类型的用户设备。
18.基于上述系统,以下通过多个实施例对本技术的方案进行说明。
19.为便于理解本技术实施例的方案,以下首先对本技术实施例中使用的语音识别模型及其对应的模型结构进行说明。
20.实施例一参照图2a,示出了为根据本技术实施例一的一种语音识别装置的结构框图。
21.该语音识别装置包括:语音识别分支单元202和说话人识别分支单元204,其中,语音识别分支单元202包括:语音识别编码器2022、连续整合发射(continuous integrate-and-fire,cif)模块2024、和语音识别解码器2026;说话人识别分支单元204包括:说话人编码器2042、和说话人解码器2044。
22.语音识别分支单元202可用于语音识别,说话人识别分支单元204可用于说话人识别,但这两个分支单元在任务处理过程中互相交互,以使最终的语音识别及说话人标记结果都更为准确。
23.其中,语音识别编码器2022用于对待识别的语音帧数据对应的声学特征进行语音特征提取,获得对应的语音表征向量。待识别的语音帧数据可以为任意适当的具有一定时长的语音对应的音频帧数据,该段语音中至少有一个说话人的语音,也可以有多个说话人
的语音,通常包括多帧。需要说明的是,若无特殊说明,本技术实施例中,“多个”、“多种”等与“多”有关的数量,均意指两个及两个以上。声学特征是指表示语音声学特性的物理量,是声音诸要素声学表现的统称。如表示音色的能量集中区、共振峰频率、共振峰强度和带宽,以及表示语音韵律特性的时长、基频、平均语声功率等。基于语音帧数据的声学特征提取可由本领域技术人员采用任意适当方式实现,包括但不限于梅尔倒谱系数mfcc方式等,本技术实施例对此不作限制。此外,虽然从理论上来说,可以对语音的时长不作限制,也即语音帧数据可以有任意数量的帧数,但为了便于处理,一般每次可取3-5s或者时间稍微长一些,如5-10s的语音对应的语音帧数据。进一步地,语音识别编码器2022可以通过编码的方式,基于声学特征进行语音特征提取以获得对应的语音表征向量。
24.在此基础上,cif模块2024对语音表征向量进行并行的语音帧文本激活值预测,并在预测结果指示语音帧文本激活值达到发射阈值时,根据在发射阈值的范围内的语音表征向量生成发射向量并将发射向量发射至说话人解码器2044。在一种具体方式中,cif模块2024可以针对语音帧数据包含的多帧语音帧中的每一帧语音帧,对该语音帧对应的语音表征向量进行文本激活值预测;根据该语音帧与在该语音帧之前的至少一个语音帧的文本激活值之和,确定当前文本激活值之和是否达到发射阈值;若达到发射阈值,则将在发射阈值的范围内的文本激活值所对应的语音表征向量生成发射向量,并将发射向量发射至说话人解码器。
25.通常来说,一个语音字符,比如语音“我”可能会对应一帧或多帧语音帧,而一句话,如“我喜欢看书”则由这五个字符对应的所有语音帧组成。与传统的针对每个字符的语音表征向量处理时,均需要依赖其对应的上下文字符的语音帧不同,本技术实施例中,会对语音识别编码器2022提取出的语音表征向量进行并行的语音帧文本激活值预测,并在累积的语音帧文本激活值达到发射阈值时,生成发射向量。其中,一个发射向量对应一个字符。
26.上述过程中,语音帧文本激活值用于表示单个语音帧中的文本含量,数值范围为【0,1】,一般为0-1之间的一个浮点数,但在某些情况下,也可能为0或者为1。此外,本技术实施例中,所述字符可以为任意语音、任意类型,例如,可以为中文中的一个字,或者英文中的一个单词,或者为一个数字等。而发射阈值可以为指示激活值达到某一个程度以触发生成发射向量的值,为提高方案整体速度和效率,以及,便于处理,该发射阈值通常可以设置为1。但不限于此,本领域技术人员根据实际需求设置的其它阈值也可同样适用于本技术实施例的方案。
27.此外,还需要说明的是,对于多个语音帧数据对应的多个语音表征向量来说,cif模块2024可以并行地对它们进行处理,也即,可以同时获得每个语音表征向量对应的文本激活值。以字符“我”对应三个语音帧数据为例,则针对该字符,cif模块2024可以并行地对该三个语音帧数据对应的语音表征向量进行处理,同时获得该三个语音表征向量对应的文本激活值,如,分别为0.3、0.5、0.2。依次类推,以“我喜欢看书”为例,假设其对应有20个语音帧数据,则cif模块2024可以并行地对这20个语音帧数据对应的语音表征向量进行处理,同时获得这20个语音表征向量对应的文本激活值。
28.在此基础上,cif模块2024可以每当文本激活值达到发射阈值时即进行发射,也可以在存在多个发射阈值时再进行发射。仍以前述“我喜欢看书”为例,其对应有20个语音帧数据,再假设对应的语音帧文本激活值分别为【0.3,0.5,0.2,0.4,0.6,0.3,0.4,0.3,0.7,
0.3,0.5,0.5】,假设发射阈值为1,则在一种方式中,在文本激活值如(0.3,0.5,0.2)达到1时,即基于“我”对应的三帧语音表征向量生成发射向量并发射至说话人识别分支单元204中的说话人解码器2044。在另一种方式中,会合并发射,如针对(0.3,0.5,0.2),(0.4,0.6),(0.3,0.4,0.3),(0.7,0.3),(0.5,0.5)分别生成对应的发射向量,共5个,并将该5个发射向量一同发射至说话人识别分支单元204中的说话人解码器2044。并且,因每帧语音帧数据对应的语音表征向量对应的文本激活值可以同时并行预测,相较于传统方式,已能够大大提高计算效率。在此基础上,若采用上述第二种方式,将进一步提高计算速度和效率。但不管哪种方式,均适用于本技术实施例的方案。
29.此外,在模型训练阶段,发射阈值还可以作为文本激活值调整的依据。这是因为,在模型训练的初始阶段,预测获得的文本激活值可能与实际不符。例如,上述“我”在初始阶段对应的文本激活值为(0.1,0.3,0.1),可见,其与实际情况产生了偏差,为此,需要根据语音帧数据中包含的实际的文本数量对文本激活值进行伸缩调整(如放大或缩小调整等),以使模型在此阶段预测生成的发射向量数量与真实文本数量一致。示例性地,假设伸缩系数为2,则调整后“我”对应的文本激活值为(0.2、0.6、0.2),由此,可对应于“我”生成发射向量。进而,通过后续的模型训练,可以使得模型不依赖于该伸缩系数也可准确预测出文本激活值(也可认为伸缩系数为1)。而在模型推理或识别阶段,发射阈值通常为定值,例如1,且无需再使用伸缩系数(或可认为伸缩系数为1)。如,上述“我喜欢看书”对应的语音帧1-20,其前三帧的文本激活值分别为0.3、0.5和0.2,累积已经达到阈值1,则生成一个发射向量代表“我”。以此类推,可基于这20帧语音帧的语音表征向量生成五个发射向量,并依次或同时发射给说话人识别分支单元204中的说话人解码器2044。
30.对于说话人识别分支单元204,其中的说话人编码器2042用于对待识别的语音帧数据对应的声学特征进行说话人特征提取,获得对应的说话人表征向量。说话人特征是表征说话人的特性,以进行不同说话人区分的特征,包括但不限于声纹特征等。本技术实施例中,通过说话人编码器2042,基于语音帧数据的声学特征通过编码方式进行说话人特征提取,从而获得说话人表征向量。
31.而说话人解码器2044接收到cif模块2024所发射的发射向量后,根据发射向量和说话人表征向量,来确定发射向量对应的说话人。因发射向量中包含有相对较为完整的一段语音所对应的语音表征向量,基于此,结合说话人表征向量对发射向量进行其对应的说话人识别,可有效提高识别效率。在具体进行说话人识别时,可根据预设的一个或多个说话人的说话人声音特征向量,来进行发射向量对应的说话人识别,确定其对应的说话人。
32.通过上述说话人编码器2042和说话人解码器2044可获得发射向量,即发射阈值范围内的语音表征向量对应的说话人,在一种可行方式中,可以获得语音表征向量表征的每个语音字符所对应的说话人。基于此,再通过语音识别解码器2026,将发射向量转换为文本,并根据发射向量对应的说话人的信息,确定文本对应的说话人。
33.以下,结合实现上述语音识别装置功能的语音识别模型,对上述各模块及其实现的功能进行进一步示例性说明。
34.图2b中,左侧虚线框中的模型分支为实现上述语音识别装置中的语音识别分支单元202的相应功能的模型分支,右侧虚线框中的模型分支为实现上述语音识别装置中的说话人识别分支单元204的相应功能的模型分支。
35.本示例中,语音识别编码器2022实现为asrencoder,cif模块通过cif模型实现相应功能,语音识别解码器2026实现为asrdecoder;说话人编码器2042实现为speakerencoder,说话人解码器2044在本示例中被划分为解码模块和说话人距离度量模块,具体地,解码模块实现为speakerdecoder,说话人距离度量模块实现为cosine distance。此外,在一种可行方式中,如图2b中所示,解码模块还可以进一步划分为第一解码模块,实现为speakerdecode layer1,和,第二解码模块,实现为speakerdecode layer2。
36.基于上述结构,asrencoder的输入是待识别的语音帧数据对应的声学特征,通过多层神经网络进行建模,得到深层的代表语音的语音表征向量。示例性地,该asrencoder可以实现为任意神经网络结构的编码器,包括但不限于采用transformer结构的编码器,以及其它编码器。
37.类似地,speakerencoder的输入也是待识别的语音帧数据对应的声学特征,通过多层神经网络进行建模,得到深层的代表说话人的说话人表征向量。示例性地,该speakerencoder可以实现为任意神经网络结构的编码器,包括但不限于采用transformer结构的编码器,以及其它编码器。
38.cif模块可以针对语音帧数据包含的多帧语音帧中的每一帧语音帧,对该语音帧对应的语音表征向量进行文本激活值预测;根据该语音帧与在该语音帧之前的至少一个语音帧的文本激活值之和,确定当前文本激活值之和是否达到发射阈值;若达到发射阈值,则将在发射阈值的范围内的文本激活值所对应的语音表征向量生成发射向量,并将发射向量发射至说话人解码器2044。具体到图2b所示模型中,基于asrencoder输出的语音表征向量,cif模型对每个语音表征向量进一步计算得到一个标量(数值在0~1),也即文本激活值,该标量可指示语音表征向量中所携带的文本含量,连续的标量值达到一个阈值(即发射阈值),示例性地,如为1,则会将标量和对应的语音向量表征进行加权得到一个与单个字符对应的发射向量。一段语音得到的发射向量数目等于这段语音包含的字符数目。本示例中,采用这段语音对应的多个发射向量形成为可向外发射的发射向量的方式。其中,cif模型可采用诸如卷积神经网络的结构实现,在一个示例中,其可包括依次连接的至少一个卷积层、至少一个全连接层和一个输出层,其以语音表征向量为输入,通过卷积层和全连接层,可获得所述标量即文本信息权重,通过输出层,基于文本信息权重生成发射向量,并发射至speakerdecode layer1。但不限于此,其它能够预测文本激活值并生成发射向量的模型结构也同样适用于本技术实施例的方案。
39.如前所述,本示例中,说话人解码器2044包括解码模块和说话人距离度量模块。其中,解码模块用于根据发射向量和说话人表征向量,确定发射向量中对应于每个字符的向量所对应的声音特征;说话人距离度量模块根据预设的说话人声音特征向量,为每个字符的向量所对应的声音特征确定对应的说话人。在一种可行方式中,解码模块根据发射向量、说话人表征向量、和语音表征向量,确定发射向量中对应于每个字符的向量所对应的声音特征。可选地,解码模块可以包括第一解码模块和第二解码模块,第一解码模块可以根据发射向量、说话人表征向量、和语音表征向量进行注意力计算,获得发射向量中对应于每个字符的向量所对应的声音特征;第二解码模块可以检测是否需要对每个字符的向量所对应的声音特征进行修正,若需要,则进行修正并将修正后的声音特征发送给说话人距离度量模
块。
40.具体到图2b中,speakerdecode layer1会基于speakerencoder输出的说话人表征向量,asrencoder输出的语音表征向量,和cif输出的发射向量,计算发射向量中每个语音字符对应的向量的声音特征。示例性地,以发射向量作为注意力计算中的参数q,以语音表征向量作为注意力计算中的参数k,以说话人表征向量作为注意力计算中的参数v,进行注意力计算,得到中每个语音字符对应的向量的声音特征。将也作为计算的一部分,可以使得计算结果更为精准。但不限于此,也可仅基于和进行计算,同样可获得中每个语音字符对应的向量的声音特征。该声音特征仅能表征向量对应的说话人,但该说话人具体为何人,是否为目标说话人等,还需要后续基于预先输入的说话人声音特征向量进行确定和区分。在一种可行方式中,speakerdecode layer1可以实现为基于注意力机制的解码器,如采用transformer结构的解码器。
41.但即使结合了、和,也仍然可能存在声音特征不够准确的情况。例如,在某些情况下,前一说话人最后一个字符发音较短,或者,与后一说话人间隔较短,造成前一说话人的该字符语音对应的声音特征与该说话人的其它声音特征区别较大,或者,与后一说话人的声音特征更为接近。又或者,存在前后两个说话人语音重叠的情况,使得该重叠部分的声音特征无法准确表征,等等情况,从而造成声音特征提取不够准确。因此,本示例中,将说话人解码器speakerdecode 分为speakerdecode layer1和speakerdecode layer2。其中,speakerdecode layer2会基于speakerdecode layer1输出的声音特征进行检测,以判断是否需对该特征进行修正。若有需要,则对声音特征进行修正,如,重新提取这些部分的特征等。基于修正结果,输出修正后的声音特征。需要说明的是,通过修正能够输出更为精准的声音特征,但即使不作修正的结果可能导致识别结果没有修正后的结果更为精准,但因基于、和进行了计算,相较于传统方式,结果也会更为准确。并且,在一些情况下,speakerdecode layer1的输出结果也无需修正,也即,和相同。其中,中的每个语音字符对应一个声音特征。可选地,也可以为每个语音字符对应的声音特征设定标识,以便后续更快速地标记每个字符对应的说话人。在一种可行方式中,speakerdecode layer2可以采用与speakerdecode layer1相同的结构,也可实现为不同的结构。示例性地,可实现为基于自注意力机制self-attention机制的解码器。
42.进一步地,speakerdecode layer2的输出结果会被输入cosine distance部分,与预先输入模型的说话人声音特征向量d进行相似度计算。图2b中,,也即,有k个说话人声音特征向量speaker embedding。这些说话人声音特征向量中至少包含有待识别的语音帧数据中的部分说话人的声音特征向量。基于此,可以通过距离度量,如余弦距离,选取和当前声音特征距离最近的说话人声音特征向量,作为该声音特征对应的说话人。也即,发射向量中的每个语音字符对应的说话人。
43.在确定了每个语音字符对应的说话人后,该信息会被传递给asrdecoder。在一种
可行方式中,asrdecoder一方面可以将cif输出的发射向量,也即语音表征向量转换为文本,另一方面,结合每个语音字符对应的说话人的信息,通过多层神经网络建模,预测得到文本输出。该文本输出中既包含输入的语音帧数据对应的文本序列,又包含该文本序列中的每个字符对应的说话人。但为了能够更精准地进行文本预测和输出,在另一种可行方式中,asrdecoder在cif输出的发射向量、和每个语音字符对应的说话人的信息的基础上,还结合了asrencoder输出的语音表征向量进行文本序列预测。示例性地,asrencoder以cif输出的发射向量为注意力计算的参数q,以为注意力计算的参数k、v,进行注意力计算,获得文本序列。再结合每个语音字符对应的说话人的信息,输出文本序列中的每个字符对应的说话人。
44.通过本实施例的语音识别装置,实现了与说话人相关的非自回归端到端的语音识别。一方面,该装置会基于语音识别任务的语音表征向量生成发射向量,并与说话人识别任务的说话人表征向量相结合,从而,实现了两者在特征生成阶段的任务信息交互,以使得在对语音进行说话人识别时,即有效融合了语音特征和说话人特征,从而提高了语音识别和说话人标记的准确度。另一方面,对语音帧文本激活值的预测是并行的,也即,可以同时对多个语音帧的语音表征向量进行预测,并在达到发射阈值时生成发射向量,相较于传统方式中在处理每个语音帧时均需对该语音帧对应的字符的上下文语音帧进行处理的方式,可以大大提高处理速度和效率。可见,通过本实施例,既降低了语音识别任务和说话人识别任务之间的交互复杂度,又提高了整体识别效率。相较于传统的基于自回归的端到端语音识别系统,本实施例中的语音识别装置和模型更为简单,计算效率更为高效。
45.实施例二本实施例基于实施例一中所描述的装置和模型,对使用该模型进行语音识别的方法进行说明。
46.参照图3a,示出了根据本技术实施例二的一种语音识别方法的步骤流程图。
47.本实施例的语音识别方法包括以下步骤:步骤s302:获取待识别的语音帧数据对应的语音表征向量和说话人表征向量。
48.待识别的语音帧数据为包含有至少一个说话人的语音的语音帧数据,本步骤中,或基于该语音帧数据的声学特征分别进行语音特征提取和说话人特征提取,获得对应的语音表征向量和说话人表征向量。
49.在采用如图2b所示的语音识别模型时,可通过语音识别编码器asrencoder和说话人编码器speakerencoder,基于语音帧数据对应的声学特征,由语音识别编码器asrencoder对待识别的语音帧数据对应的声学特征进行语音特征提取,获得对应的语音表征向量;由说话人编码器speakerencoder对待识别的语音帧数据对应的声学特征进行说话人特征提取,获得对应的说话人表征向量。
50.步骤s304:对语音表征向量进行并行的语音帧文本激活值预测,并在预测结果指示语音帧文本激活值达到发射阈值时,根据在发射阈值的范围内的语音表征向量生成发射向量。
51.因语音表征向量对应于语音帧,而每个语音帧中可能仅有部分语音字符,由多个语音帧形成一个语音字符。因此,本实施例中,会对每个语音帧对应的语音表征向量进行语
音帧文本激活值预测,以获得该语音表征向量中所包含的文本量的信息,该信息通过文本激活值的方式表征。则,可选地,本步骤可以实现为:针对语音帧数据包含的多帧语音帧中的每一帧语音帧,对该语音帧对应的语音表征向量进行文本激活值预测;根据该语音帧与在该语音帧之前的至少一个语音帧的文本激活值之和,确定当前文本激活值之和是否达到发射阈值;若达到发射阈值,则将在发射阈值的范围内的文本激活值所对应的语音表征向量生成发射向量。
52.当多个语音帧的文本激活值之和达到发射阈值时,表明可生成与某个字符对应的发射向量进行发射。但如前所述,也可在语音帧中包含的所有语音字符对应的发射向量均生成后,再一同进行发射。
53.在采用如图2b所示的语音识别模型时,可通过其cif模型基于语音识别编码器输出的语音表征向量,对该语音表征向量进行语音帧文本激活值预测,并在预测结果指示语音帧文本激活值达到发射阈值时,根据在发射阈值的范围内的语音表征向量生成发射向量。进而,将该发射向量发射至说话人解码器。
54.步骤s306:根据发射向量和说话人表征向量,为发射向量确定对应的文本及文本对应的说话人。
55.根据说话人表征向量,结合预先输入的说话人声音特征向量,即可为发射向量中的每个语音字符对应的向量确定说话人。也即,可以根据发射向量、说话人表征向量、语音表征向量和预设的说话人声音特征向量,为发射向量确定对应的文本,以及,文本中的每个字符对应的说话人。由此,可以更为准确地区分出文本中不同部分的说话人。
56.在一种可行方式中,还可以结合语音表征向量来为文本确定说话人。即,可以根据发射向量、说话人表征向量、和语音表征向量进行注意力计算,获得发射向量中对应于每个字符的向量所对应的声音特征;根据预设的说话人声音特征向量,为每个字符的向量所对应的声音特征确定对应的说话人;根据每个字符的向量和所述向量对应的说话人,确定每个字符文本及每个字符文本对应的说话人。通过结合语音表征向量进行注意力计算,将语音表达结合进说话人识别时,可以使得为每个字符向量确定的说话人更为准确。
57.但在某些情况下,有可能cif输出的结果存在一定误差,为此,在一种可行方式中,在根据预设的说话人声音特征向量,为每个字符的向量所对应的声音特征确定对应的说话人之前,还可以检测是否需要对每个字符的向量所对应的声音特征进行修正,若需要,则进行修正。则根据预设的说话人声音特征向量,为每个字符的向量所对应的声音特征确定对应的说话人会实现为:根据预设的说话人声音特征向量,为修正后的每个字符的向量所对应的声音特征确定对应的说话人。由此,若cif输出结果准确,则无需修正;而若存在一定偏差,则可及时修正准确。在此基础上,再进行后续的说话人确定,可以获得更为精准的结果。
58.在采用如图2b所示的语音识别模型时,可通过说话人解码器根据发射向量和说话人表征向量,为发射向量中的每个字符确定说话人。当还存在字符向量修正时,可通过说话人解码器中的第一解码模块如speakerdecode layer1对发射向量、说话人表征向量、和语音表征向量进行注意力计算,获得发射向量中对应于每个字符的向量所对应的声音特征;进而,再通过第二解码模块如speakerdecode layer2检测是否需要对每个字符的向量所对应的声音特征进行修正,并在需要时进行修正,然后再将修正后的声音特征发送给说话人解码器中的说话人距离度量模块如cosine distance模块,以为修正后的对应于每个字符
向量的声音特征确定相对应的说话人。
59.而另一方面,可以根据发射向量和语音表征向量,为发射向量确定对应的文本。结合发射向量中的每个字符向量对应的说话人,可为文本中的每个文本字符确定对应的说话人。
60.为了使语音到文本的转换更为精准,在一种可行方式中,在根据发射向量和语音表征向量,为发射向量确定对应的文本时,可以对发射向量和语音表征向量进行注意力计算;根据注意力计算结果,为发射向量确定对应的文本。
61.以下,以会议场景为示例,对上述过程进行示例性说明,如图3b所示。
62.假设,该会议相关的会议音频共5分钟,该会议音频中涉及发言人a和b。首先,会按照一定的截取长度,将该5分钟的会议音频截取为多段,本示例中,假设一段为60s,将会议音频共切分为五段,示意为音频段1、2、3、4和5。再假设,其中的音频段3中同时包含有发言人a和b的发言。则,基于图2b中所示模型,对该音频段3的语音识别过程如下:(1)对音频段3进行声学特征提取,获得音频段3对应的声学特征。
63.其中,音频段3中包含多个语音帧,假设为20个,该20个语音帧组成音频段3对应的语音帧数据,该音频段3对应的声学特征也即该20个语音帧数据对应的声学特征。
64.(2)将20个语音帧数据对应的声学特征输入语音识别模型(图2b所示),通过asrencoder(语音识别编码器)提取语音特征,获得语音表征向量;并且,通过speakerencoder(说话人编码器)提取说话人特征,获得说话人表征向量。
65.(3)基于语音表征向量,通过cif对语音表征向量对应的每一帧语音帧进行文本激活值预测。
66.假设,音频段3中的对话为“请小张来讲;好,我来讲”,再假设,基于语音表征向量,对每一帧语音帧进行文本激活值预测,预测结果即文本激活值分别为【0.4,0.6,0.3,0.4,0.3,0.7,0.3,0.5,0.5,0.3,0.7,0.2,0.8,0.5,0.5,0.2,0.8,0.4,0.4,0.2】,本示例中,发射阈值设定为1,文本激活值之和每达到1,则认为相应的语音帧及其对应的语音表征向量对应于一个语音字符。例如【0.4,0.6】表明第一个和第二个语音帧及其语音表征向量对应于语音字符“请”。依此类推,可确定每一个语音字符对应的语音表征向量。相应地,每一语音表征向量对应的文本激活值也是确定的。
67.(4)通过cif确定语音帧文本激活值是否达到发射阈值,若达到,则生成发射向量。
68.本示例中,“请小张来讲;好,我来讲”包括9个文本字符,则对前述文本激活值进行计算,如计算【0.4,0.6,0.3,0.4,0.3,0.7,0.3,0.5,0.5,0.3,0.7,0.2,0.8,0.5,0.5,0.2,0.8,0.4,0.4,0.2】中,依次获得文本激活值达到发射阈值(本求例中为1)的加和结果(0.4,0.6),(0.3,0.4,0.3),(0.7,0.3),(0.5,0.5),(0.3,0.7),(0.2,0.8),(0.5,0.5),(0.2,0.8),(0.4,0.4,0.2)。基于此,可基于每组达到发射阈值的文本激活值对应的语音表征向量生成发射向量,本示例中,共9组,也即会生成9个发射向量。本示例中,设定将该9个发射向量一起进行发射。
69.(5)通过cif将发射向量发射给speakerdecoder layer1(第一解码模块)。
70.(6)通过speakerdecoder layer1,基于说话人表征向量、发射向量和语音表征向量,为每个语音字符对应的语音表示向量确定相对应的声音特征。
71.例如,根据发射向量中第一个语音帧和第二个语音帧对应的向量,确定“请”字对
应的声音特征;根据第三个、第四个和第五个语音帧对应的向量,确定“小”字对应的声音特征,依此类推,得到“请小张来讲好我来讲”中每一个语音字符对应的声音特征。
72.(7)通过speakerdecoder layer2(第二解码模块),检测通过speakerdecoder layer1输出的声音特征是否需要修正;若需要,则进行修正(如再次生成或者通过预设的修正算法进行修正);若不需要,则直接输出。
73.本示例中,设定不需要修正,speakerdecoder layer2输出“请小张来讲好我来讲”中每一个语音字符对应的声音特征。
74.(8)通过cosine distance(说话人距离度量模块)部分,基于预先输入的说话人声音特征向量,为每一个语音字符对应的声音特征确定说话人。
75.本示例中,假设确定的说话人信息如下:“请
”‑
发言人a;“小
”‑
发言人a;“张
”‑
发言人a;“来
”‑
发言人a;“讲
”‑
发言人a;“好
”‑
发言人b;“我
”‑
发言人b;“来
”‑
发言人b;“讲
”‑
发言人b。
76.(9)通过asrdecoder(语音识别解码器),基于cif输出的发射向量、asrencoder输出的语音表征向量和获得的每一个语音字符对应的说话人的信息,输出音频段3对应的文本序列,及该文本序列中的每个字符对应的说话人。
77.(10)基于文本序列及该文本序列中的每个字符对应的说话人,生成会议记录。
78.通过上述过程,可以高效且准确地进行语音识别及为识别出的文本标记说话人。
79.由上,通过本实施例,在需要进行语音识别并标记相应说话人的场景中,一方面,会基于语音识别任务的语音表征向量生成发射向量,并与说话人识别任务的说话人表征向量相结合,从而,实现了两者在特征生成阶段的任务信息交互,以使得在对语音进行说话人识别时,即有效融合了语音特征和说话人特征,从而提高了语音识别和说话人标记的准确度。另一方面,本实施例的方案中对语音帧文本激活值的预测是并行的,也即,可以同时对多个语音帧的语音表征向量进行预测,并在达到发射阈值时生成发射向量,相较于传统方式中在处理每个语音帧时均需对该语音帧对应的字符的上下文语音帧进行处理的方式,可以大大提高处理速度和效率。可见,通过本实施例,既降低了语音识别任务和说话人识别任务之间的交互复杂度,又提高了整体识别效率。
80.此外,本实施例中,部分步骤的实现描述较为简单,本领域技术人员可参照实施例一中的相关部分实现。
81.实施例三参照图4,示出了根据本技术实施例三的一种电子设备的结构示意图,本技术具体实施例并不对电子设备的具体实现做限定。
82.如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(communications interface)404、存储器(memory)406、以及通信总线408。
83.其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
84.通信接口404,用于与其它电子设备或服务器进行通信。
85.处理器402,用于执行程序410,具体可以执行上述语音识别方法实施例中的相关步骤。
86.具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
87.处理器402可能是cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
88.存储器406,用于存放程序410。存储器406可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
89.程序410具体可以用于使得处理器402执行前述方法实施例中所描述的语音识别方法对应的操作。
90.程序410中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,并具有相应的有益效果,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
91.本技术实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一语音识别方法对应的操作。
92.需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
93.上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如只读光盘(compact disc read-only memory ,cd-rom)、随机存储器(random access memory ,ram)、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如专用集成电路(application specific integrated circuit,asic)或现场可编辑门阵列(field programmable gate array,fpga))的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,随机存储器(random access memory ,ram)、只读存储器(read-only memory, rom)、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
94.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
95.以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1