语音识别方法及装置与流程

文档序号:25080816发布日期:2021-05-14 17:25阅读:210来源:国知局

1.本申请涉及自然语言处理技术领域,尤其涉及一种语音识别方法及装置。


背景技术:

2.目前,变形(transformer)模型已经在图像、自然语言处理、语音等领域取得了突破性的进展,在很多任务上都取得了目前业界最好的效果。
3.但是,transformer模型结构包括编码器(encoder)和解码器(decoder)。transformer模型的encoder(简称transformer encoder)用于对语音信息进行识别,生成编码序列,transformer模型的decoder(简称transformer decoder)用于对编码序列进行识别,生成识别结果。假设transformer encoder输出的编码序列为{x1,x2,....,xt},根据transformer模型的注意力(attention)机制,transformer decoder的识别需要依赖完整的编码序列{x1,x2,....,xt},也就是transformer decoder的识别必须等到transformer encoder的输出完整的编码序列之后才可以开始。可以看出,由于transformer模型的结构限制,基于transformer模型无法进行流式语音识别。
4.而在语音识别任务许多场景中,如输入法、语音助手、嵌入式端语音识别等,均要求能够进行流式语音识别,生成中间识别结果,并且中间识别结果需要以较低的延迟呈现给用户,基于transformer模型的语音识别方法无法满足上述需求。


技术实现要素:

5.为解决上述问题,本发明提供一种语音识别方法及装置,能够实现流式语音识别,即时输出中间识别结果,从而提升用户体验。
6.为了实现上述目的,在第一方面,本发明实施例提供了一种语音识别方法,该方法应用于电子设备,该电子设备包括流式语音识别模型,该流式语音识别模型包括:时间序列分类(connectionist temporal classification,ctc)模型和transformer模型,该方法包括:
7.接收语音信息;
8.对所述语音信息进行编码,生成编码序列;
9.当所述编码序列中除最后一个元素外的任一元素生成时,利用ctc模型对所述元素进行识别,生成中间识别结果;
10.输出所述中间识别结果;
11.利用transformer模型对所述编码序列进行识别,生成最终识别结果;
12.输出所述最终识别结果。
13.优选的,所述利用transformer模型对所述编码序列进行识别,生成最终识别结果,包括:当所述编码序列中的最后一个元素生成时,利用ctc模型对所述最后一个元素进行识别,生成多个参考最终识别结果;利用transformer模型根据所述编码序列调整所述多个参考最终识别结果的权重;将权重最高的参考最终识别结果确定为最终识别结果。
14.优选的,所述利用ctc模型对所述元素进行识别,生成中间识别结果,包括:利用ctc模型对所述元素进行识别,生成多个参考中间识别结果;将所述多个参考中间识别结果中权重最高的参考中间识别结果确定为所述元素对应的中间识别结果。
15.优选的,所述对所述语音信息进行编码,生成编码序列,包括:利用transformer模型对所述语音信息进行编码,生成编码序列。
16.在第二方面,本发明实施例提供了一种语音识别装置,该装置应用于电子设备,所述电子设备包括流式语音识别模型,所述流式语音识别模型包括:ctc模型和transformer模型,所述装置包括:
17.接收单元,用于接收语音信息;
18.编码单元,用于对所述语音信息进行编码,生成编码序列;
19.第一识别单元,用于当所述编码序列中除最后一个元素外的任一元素生成时,利用ctc模型对所述元素进行识别,生成中间识别结果;
20.输出单元,用于输出所述中间识别结果;
21.第二识别单元,用于利用transformer模型对所述编码序列进行识别,生成最终识别结果;
22.所述输出单元,还用于输出所述最终识别结果。
23.优选的,所述第二识别单元,具体用于:当所述编码序列中的最后一个元素生成时,利用ctc模型对所述最后一个元素进行识别,生成多个参考最终识别结果;利用transformer模型根据所述编码序列调整所述多个参考最终识别结果的权重;将权重最高的参考最终识别结果确定为最终识别结果。
24.优选的,所述第一识别单元,具体用于:利用ctc模型对所述元素进行识别,生成多个参考中间识别结果;将所述多个参考中间识别结果中权重最高的参考中间识别结果确定为所述元素对应的中间识别结果。
25.优选的,所述编码单元,具体用于:利用transformer模型对所述语音信息进行编码,生成编码序列。
26.在第三方面,本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述第一方面所述的语音识别方法。
27.在第四方面,本发明实施例提供了一种电子设备,包括:
28.处理器;
29.用于存储所述处理器可执行指令的存储器;
30.所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述第一方面所述的语音识别方法。
31.利用本发明提供的语音识别方法及装置,对语音信息进行编码,生成编码序列,当编码序列中的除最后一个元素外的任一元素生成时,利用ctc模型对该元素进行识别,生成中间识别结果,并输出中间识别结果;利用transformer模型对该编码序列进行识别,生成最终识别结果,并输出最终识别结果。可以看出,利用由ctc模型和transformer模型构成的流式语音识别模型对语音信息进行识别,能够实现流式语音识别,即时输出中间识别结果,从而提升用户体验。
附图说明
32.通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
33.图1为本申请示例性实施例提供的一种流式语音识别模型的结构示意图;
34.图2为本申请示例性实施例提供的一种语音识别方法的流程示意图;
35.图3为本申请示例性实施例提供的一种语音识别装置的结构图;
36.图4为本申请示例性实施例提供的电子设备的结构图。
具体实施方式
37.下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
38.本申请实施例示出的一种语音识别方法,该语音识别方法可应用于电子设备,该电子设备包括流式语音识别模型,其中,该流式语音识别模型包括:ctc模型和transformer模型。该流式语音识别模型的结构如图1所示。
39.图2为本申请实施例示出的一种语音识别方法的流程示意图。该方法包括:
40.步骤201,接收语音信息。
41.步骤202,对该语音信息进行编码,生成编码序列。
42.在一个例子中,利用共享编码器(shared encoder)对该语音信息进行编码,生成编码序列,如,{x1,x2,....,xt}。其中,shared encode可以为transformer encode。由于该序列编码后续需要被ctc模型和transformer模型共用,因此该序列编码也可称为共享编码序列。
43.步骤203,当该编码序列中除最后一个元素外的任一元素生成时,利用ctc模型对该元素进行识别,生成中间识别结果。
44.在一个例子中,利用ctc模型对该元素进行识别,生成中间识别结果,可以具体包括:利用ctc模型对该元素进行识别,生成多个参考中间识别结果;将该多个参考中间识别结果中权重最高的参考中间识别结果确定为该元素对应的中间识别结果。
45.具体的,以编码序列{x1,x2,....,xt}为例,ctc模型的解码器(decoder)和shared encoder的连接没有attention机制,因此,每当shared encoder产生输出编码序列的一个元素,如x4,的时候,ctc模型的decoder可以独立的对x4进行识别,得到多个识别结果,然后分别结合x1、x2、x3分别对应的多个识别结果,得到多个识别结果序列,该多个识别结果序列即为参考中间识别结果,根据ctc模型的decoder的机制,每个参考中间识别结果对应一权重值,权重越高说明越接近真实意思表示,因此将参考中间识别结果中权重最高的参考中间识别结果确定为x4对应的中间识别结果。
46.步骤204,输出该中间识别结果。
47.由于在生成编码序列的过程中,每生成一元素即可生成一中间识别结果,并输出该中间识别结果,从而实现了流失的语音识别,可即时将中间识别结果呈现给用户。
48.步骤205,利用transformer模型对该编码序列进行识别,生成最终识别结果。
49.在生成完整的编码序列后,可以仅利用transformer模型的decoder对该编码序列进行识别,生成最终识别结果,该方法与现有技术相同,在此不再赘述。该方法生成的最终识别结果的正确率高,但由于需要由transformer模型的decoder对该编码序列进行完整的识别,效率较低,会影响流式语音识别模型的性能。
50.优选的,在一个例子中,为提高流式语音识别模型的识别效率及性能,可以将ctc模型和transformer模型进行结合,来识别出的最终识别结果。具体的,步骤205,可以包括:
51.步骤2501,当该编码序列中的最后一个元素生成时,利用ctc模型对最后一个元素进行识别,生成多个参考最终识别结果。
52.具体的,生成多个参考最终识别结果的过程与步骤203中生成多个参考中间识别结果的过程相同,在此不再赘述。
53.步骤2502,利用transformer模型根据该编码序列调整多个参考最终识别结果的权重。
54.步骤2503,将权重最高的参考最终识别结果确定为最终识别结果。
55.可以理解的是,基于步骤2501到2503,transformer模型不需要对编码序列进行识别,且ctc模型在编码序列的每生成一个元素就识别一个元素,当最后一个元素生成时,ctc模型只需要识别最后一个元素,即可生成多个参考最终识别结果,因此,ctc模型生成多个参考最终识别结果所用的时间远小于transformer模型对编码序列进行识别生成最终识别结果所用的时间,且对多个参考最终识别结果的权重进行调整及确定最终识别结果的耗时很短。这样可以有效提高最终识别结果的识别效率及流式语音识别模型的性能。同时,由于transformer模型会根据该编码序列调整多个参考最终识别结果的权重,因此相较于仅利用transformer模型识别出的最终识别结果不会有较大正确率损失。
56.步骤206,输出该最终识别结果。
57.通过利用本发明实施例提供的语音识别方法,对语音信息进行编码,生成编码序列,当编码序列中的除最后一个元素外的任一元素生成时,利用ctc模型对该元素进行识别,生成中间识别结果,并输出中间识别结果;利用transformer模型对该编码序列进行识别,生成最终识别结果,并输出最终识别结果。可以看出,利用由ctc模型和transformer模型构成的流式语音识别模型对语音信息进行识别,能够实现流式语音识别,即时输出中间识别结果,从而提升用户体验。
58.本发明实施例提供一种语音识别装置,图3为该语音识别装置的结构图。该装置可应用于电子设备。该电子设备包括流式语音识别模型,其中,该流式语音识别模型包括:ctc模型和transformer模型。该流式语音识别模型的结构如图1所示。
59.如图3所示,该语音识别装置包括:
60.接收单元301,用于接收语音信息;
61.编码单元302,用于对所述语音信息进行编码,生成编码序列;
62.第一识别单元303,用于当所述编码序列中除最后一个元素外的任一元素生成时,利用ctc模型对所述元素进行识别,生成中间识别结果;
63.输出单元304,用于输出所述中间识别结果;
64.第二识别单元305,用于利用transformer模型对所述编码序列进行识别,生成最
终识别结果;
65.所述输出单元304,还用于输出所述最终识别结果。
66.优选的,所述第二识别单元305,具体用于:当所述编码序列中的最后一个元素生成时,利用ctc模型对所述最后一个元素进行识别,生成多个参考最终识别结果;利用transformer模型根据所述编码序列调整所述多个参考最终识别结果的权重;将权重最高的参考最终识别结果确定为最终识别结果。
67.优选的,所述第一识别单元303,具体用于:利用ctc模型对所述元素进行识别,生成多个参考中间识别结果;将所述多个参考中间识别结果中权重最高的参考中间识别结果确定为所述元素对应的中间识别结果。
68.优选的,所述编码单元302,具体用于:利用transformer模型对所述语音信息进行编码,生成编码序列。
69.利用本发明提供的语音识别装置,对语音信息进行编码,生成编码序列,当编码序列中的除最后一个元素外的任一元素生成时,利用ctc模型对该元素进行识别,生成中间识别结果,并输出中间识别结果;利用transformer模型对该编码序列进行识别,生成最终识别结果,并输出最终识别结果。可以看出,利用由ctc模型和transformer模型构成的流式语音识别模型对语音信息进行识别,能够实现流式语音识别,即时输出中间识别结果,从而提升用户体验。
70.下面,参考图4来描述根据本申请实施例的电子设备11。
71.如图4所示,电子设备11包括一个或多个处理器111和存储器112。
72.处理器111可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备11中的其他组件以执行期望的功能。
73.存储器112可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器111可以运行所述程序指令,以实现上文所述的本申请的各个实施例的语音识别方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
74.在一个示例中,电子设备11还可以包括:输入装置113和输出装置114,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
75.该输入设备113可以包括例如键盘、鼠标等等。
76.该输出装置114可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备114可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
77.当然,为了简化,图4中仅示出了该电子设备11中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备11还可以包括任何其他适当的组件。
78.示例性计算机程序产品和计算机可读存储介质
79.除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计
算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的语音识别方法中的步骤。
80.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
81.此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的语音识别方法中的步骤。
82.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
83.以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
84.本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
85.还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
86.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
87.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1