CN117012192A - 语音识别方法、装置、电子设备及计算机可读存储介质 - Google Patents
语音识别方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117012192A CN117012192A CN202211473276.2A CN202211473276A CN117012192A CN 117012192 A CN117012192 A CN 117012192A CN 202211473276 A CN202211473276 A CN 202211473276A CN 117012192 A CN117012192 A CN 117012192A
- Authority
- CN
- China
- Prior art keywords
- voice
- fixed
- length
- ctc
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 79
- 230000015654 memory Effects 0.000 claims description 35
- 238000012549 training Methods 0.000 claims description 33
- 230000011218 segmentation Effects 0.000 claims description 26
- 238000004364 calculation method Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 20
- 239000012634 fragment Substances 0.000 claims description 11
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 210000005266 circulating tumour cell Anatomy 0.000 description 190
- 230000001364 causal effect Effects 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000002372 labelling Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012905 input function Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 102100021394 CST complex subunit CTC1 Human genes 0.000 description 1
- 101000894433 Homo sapiens CST complex subunit CTC1 Proteins 0.000 description 1
- 101100142768 Symbiobacterium thermophilum (strain T / IAM 14863) rplY2 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005291 magnetic effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0631—Creating reference templates; Clustering
- G10L2015/0633—Creating reference templates; Clustering using lexical or orthographic knowledge sources
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例提供一种语音识别方法、装置、电子设备及计算机可读存储介质,至少应用于人工智能领域和语音识别领域,其中方法包括:对待识别语音进行定长编码处理,得到至少一个定长编码语音块;定长编码处理所采用的语音截取长度为固定截取长度;确定每一定长编码语音块的CTC概率,基于定长编码语音块的CTC概率,确定与待识别语音对应的至少一个文字所处位置;基于至少一个文字所处位置,对至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块;确定每一变长编码语音块的CTC概率;基于变长编码语音块的CTC概率,确定待识别语音对应的语音识别结果。通过本申请,能够在提高语音识别准确率的同时,降低语音识别的延迟。
Description
技术领域
本申请实施例涉及互联网领域,涉及但不限于一种语音识别方法、装置、电子设备及计算机可读存储介质。
背景技术
目前,对于流式语音识别,通常采用流式截断注意力模型或者流式级联模型实现。其中,流式多级的截断注意力模型(SMLTA,Streaming Multi-Layer TruncatedAttention)和SMLTA2模型是经典的流式截断注意力模型,是基于一种用于处理序列标注问题中的输入与输出标签的对齐问题(CTC,Connectionist Temporal Classification)的尖峰信息对语音流进行截断,进而实现特征层层递进的更精准的特征选择。而流式级联模型中,编码器由两部分构成,因果性编码器(Causal Encoder)与非因果性编码器(Non-CausalEncoder),这种流式级联模型既兼顾了识别延迟,又兼顾了识别效果。
但是,相关技术中,流式截断注意力模型中的注意力部分计算了多次,并且解码器和CTC的尖峰信息同时为注意力的切断位置提供了信息,计算复杂,运行速度较慢,不能直接应用于输入法语音识别中;流式级联模型中语音块切分不准确,从而导致了某些语音的识别错误。由此可见,相关技术中的语音识别方法,均存在识别准确率和识别效率不能同时保证的问题。
发明内容
本申请实施例提供一种语音识别方法、装置、电子设备及计算机可读存储介质,至少能够应用于人工智能领域和语音识别领域,能够在提高语音识别准确率的同时,降低语音识别的延迟。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种语音识别方法,包括:对待识别语音进行定长编码处理,得到至少一个定长编码语音块;所述定长编码处理所采用的语音截取长度为固定截取长度;确定每一所述定长编码语音块的CTC概率,并基于所述定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置;基于所述至少一个文字所处位置,对所述至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块;所述变长编码处理所采用的语音截取区间为非固定区间;确定每一所述变长编码语音块的CTC概率;基于所述变长编码语音块的CTC概率,确定所述待识别语音对应的语音识别结果。
本申请实施例提供一种语音识别装置,所述装置包括:定长编码模块,用于对待识别语音进行定长编码处理,得到至少一个定长编码语音块;所述定长编码处理所采用的语音截取长度为固定截取长度;第一CTC解码模块,用于确定每一所述定长编码语音块的CTC概率,并基于所述定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置;变长编码模块,用于基于所述至少一个文字所处位置,对所述至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块;所述变长编码处理所采用的语音截取区间为非固定区间;第二CTC解码模块,用于确定每一所述变长编码语音块的CTC概率;确定模块,用于基于所述变长编码语音块的CTC概率,确定所述待识别语音对应的语音识别结果。
在一些实施例中,所述定长编码模块还用于:获取预设的固定截取长度;以所述固定截取长度对应的语音帧数量为截取长度,将所述待识别语音对应的语音信号划分成多个第一类语音信号片段;其中,每一所述第一类语音信号片段中均包括所述语音帧数量的语音帧;按照预设的后向偏移参数,依次对每一所述第一类语音信号片段进行前馈计算,得到所述至少一个定长编码语音块。
在一些实施例中,所述定长编码模块还用于:基于所述后向偏移参数,对每一所述第一类语音信号片段进行卷积处理,得到每一所述第一类语音信号片段对应的局部信息;对每一所述第一类语音信号片段进行注意力处理,得到每一所述第一类语音信号片段对应的全局信息;对所述局部信息和所述全局信息进行信息结合,得到每一所述第一类语音信号片段对应的定长编码语音块。
在一些实施例中,所述第一CTC解码模块还用于:通过CTC解码模块确定每一所述定长编码语音块的后验概率;将所述后验概率确定为相应定长编码语音块的CTC概率。
在一些实施例中,所述第一CTC解码模块还用于:确定每一语音帧在预设文字库中的每一预设文字下的CTC概率;其中,所述预设文字库中包括不同的文字和空文本;针对于每一语音帧,从所述语音帧在全部预设文字下的CTC概率中,将最大CTC概率对应的预设文字确定为目标预设文字;如果所述目标预设文字是任一文字,将所述语音帧所在的位置确定为与相应文字对应的一个尖峰位置;如果连续的两个语音帧预测的文字为同一个文字,将在前的一个语音帧所在的位置确定为一个尖峰位置;将每一所述尖峰位置确定为所述待识别语音对应的一个文字所处位置。
在一些实施例中,所述变长编码模块还用于:对所述至少一个定长编码语音块进行拼接处理,得到拼接语音信号;确定与每一所述文字所处位置对应的语音截取区间;以所述语音截取区间对应的语音帧数量为截取长度,将所述拼接语音信号划分成多个第二类语音信号片段;其中,每一所述第二类语音信号片段中包括的语音帧的位置与其他第二类语音信号片段中包括的语音帧的位置不同;依次对每一所述第二类语音信号片段进行前馈计算,得到所述至少一个变长编码语音块。
在一些实施例中,所述变长编码模块还用于:获取预设的后向切分参数;以所述文字所处位置为切分起点,以所述后向切分参数为后向延伸长度,确定每一所述文字所处位置对应的语音截取区间。
在一些实施例中,所述变长编码模块还用于:对每一所述第二类语音信号片段进行卷积处理,得到每一所述第二类语音信号片段对应的局部信息;对每一所述第二类语音信号片段进行注意力处理,得到每一所述第二类语音信号片段对应的全局信息;对所述局部信息和所述全局信息进行信息结合,得到每一所述第二类语音信号片段对应的变长编码语音块。
在一些实施例中,所述装置还包括处理模块,用于控制所述语音识别方法通过语音识别模型实现;所述语音识别模型包括定长编码网络、第一CTC解码网络、变长编码网络、第二CTC解码网络和注意力解码网络;所述定长编码网络用于对所述待识别语音进行所述定长编码处理;所述第一CTC解码网络用于确定每一所述定长编码语音块的CTC概率,并基于所述定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置;所述变长编码网络用于基于所述至少一个文字所处位置,对所述至少一个定长编码语音块进行变长编码处理;所述第二CTC解码网络用于确定每一所述变长编码语音块的CTC概率,并基于所述变长编码语音块的CTC概率,确定所述待识别语音对应的语音识别结果;所述注意力解码网络用于在对所述语音识别模型进行训练时,输出样本识别结果。
在一些实施例中,所述装置还包括模型训练模块,用于:将样本语音输入至语音识别模型中;通过所述语音识别模型的定长编码网络,对所述样本语音进行定长编码处理,得到至少一个样本定长编码语音块;通过所述语音识别模型的第一CTC解码网络,确定每一所述样本定长编码语音块的样本CTC概率,并基于所述样本定长编码语音块的样本CTC概率,确定与所述样本语音对应的至少一个样本文字所处位置;基于所述样本文字所处位置对所述样本语音进行语音识别,得到定长识别结果;通过所述语音识别模型的变长编码网络,基于所述至少一个样本文字所处位置,对所述至少一个样本定长编码语音块进行变长编码处理,得到至少一个样本变长编码语音块;通过所述语音识别模型的第二CTC解码网络,确定每一所述样本变长编码语音块的样本CTC概率;并基于所述样本变长编码语音块的样本CTC概率,确定所述样本语音对应的变长识别结果;通过所述语音识别模型的注意力解码网络,确定所述样本语音对应的注意力识别结果;将所述定长识别结果、所述变长识别结果、所述注意力识别结果和样本标签输入至预设损失模型中,通过所述预设损失模型确定所述语音识别模型对应的损失结果;基于所述损失结果,对所述定长编码网络、第一CTC解码网络、变长编码网络和第二CTC解码网络中的模型参数进行修正,得到训练后的语音识别模型。
在一些实施例中,所述模型训练模块还用于:通过所述预设损失模型,基于所述定长识别结果和所述样本标签,确定所述第一CTC解码网络对应的定长编解码损失;通过所述预设损失模型,基于所述变长识别结果和所述样本标签,确定所述第二CTC解码网络对应的变长编解码损失;通过所述预设损失模型,基于所述注意力识别结果和所述样本标签,确定所述注意力解码网络对应的注意力损失;基于所述定长编解码损失、所述变长编解码损失和所述注意力损失,确定所述语音识别模型对应的损失结果。
在一些实施例中,所述模型训练模块还用于:分别获取与所述定长编解码损失、所述变长编解码损失和所述注意力损失对应的定长编解码损失权重、变长编解码损失权重和注意力损失权重;基于所述定长编解码损失权重、所述变长编解码损失权重和所述注意力损失权重,对所述定长编解码损失、所述变长编解码损失和所述注意力损失进行加权求和,得到所述损失结果;其中,所述定长编解码损失权重、所述变长编解码损失权重和所述注意力损失权重之和等于1。
本申请实施例提供一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现上述的语音识别方法。
本申请实施例提供一种计算机程序产品,该计算机程序产品包括计算机程序或可执行指令,计算机程序或可执行指令存储在计算机可读存储介质中;其中,电子设备的处理器从计算机可读存储介质中读取可执行指令,并执行可执行指令时,实现上述的语音识别方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现上述的语音识别方法。
本申请实施例具有以下有益效果:对待识别语音进行定长编码处理,得到至少一个定长编码语音块;并确定每一定长编码语音块的CTC概率,基于定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置;然后基于至少一个文字所处位置,对至少一个定长编码语音块进行变长编码处理后进行语音识别。如此,基于定长编码处理后计算得到的文字所处位置再进行变长编码处理,能够在提高语音识别准确率的同时,保证语音识别的效率,从而实现在延迟变小的情况下,语音识别性能不变;或是在延迟不变的情况下,语音识别性能变好。
附图说明
图1是本申请实施例提供的语音识别系统的一个可选的架构示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3是本申请实施例提供的语音识别方法的一个可选的流程示意图;
图4是本申请实施例提供的语音识别方法的另一个可选的流程示意图;
图5是本申请实施例提供的定长编码处理的实现流程示意图;
图6是本申请实施例提供的确定每一定长编码语音块的CTC概率的实现流程示意图;
图7是本申请实施例提供的确定文字所处位置的实现流程示意图;
图8是本申请实施例提供的变长编码处理的实现流程示意图;
图9是本申请实施例提供的语音识别模型的训练方法的流程示意图;
图10是本申请实施例提供的损失计算的流程示意图;
图11是本申请实施例提供的基于CTC尖峰的级联模型的结构示意图;
图12是本申请实施例提供的第一CTC解码网络和第二CTC解码网络输出的CTC概率曲线示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请实施例的技术领域的技术人员通常理解的含义相同。本申请实施例所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在解释本申请实施例的语音识别方法之前,首先对相关技术中的语音识别方法进行说明。
相关技术中的SMLTA和SMLTA2模型是经典的流式截断注意力模型,SMLTA和SMLTA2模型基于CTC的尖峰信息对语音流进行截断,然后在每一截断的语音小段上进行当前建模单元的注意力建模,把全局注意力(Attention)的整句识别变成了局部注意力的流式识别,并且引入多层的注意力,实现特征层层递进的更精准的特征选择。其中,SMLTA2在SMLTA的基础上加入了历史信息的建模,在对当前建模单元编码时,历史的语音特征片段被逐层抽象成固定长度的特征向量,然后和当前的语音特征片段一起进行注意力建模。这里的历史特征抽象是指根据解码器输出的隐含特征,对当前语音特征片段的编码器各层进行相关性建模。
而流式级联模型中,编码器由两部分构成,Causal Encoder与Non-CausalEncoder。其中,Causal Encoder由m层流式语音块一致性模块(chunk based Conformer)组成,Non-Causal由n层full context Conformer组成,m>>n。在用户进行语音输入时可以先以Causal Encoder的输出进行CTC+TLG解码进行流式结果上屏,当用户说话结束时,CausalEncoder最后一层的所有输出会给到Non-Causal Encoder进行前向计算得到输出,并再次进行CTC+TLG解码刷新覆盖之前的结果。这种思路既兼顾了识别延迟,又兼顾了识别效果。
但是,SMLTA模型中的注意力部分计算了多次,并且解码器和CTC的尖峰信息同时为注意力的切断位置提供了信息,计算复杂,运行速度较慢,不能直接应用于输入法语音识别中。而目前流式级联模型中的语音块一致性模块中的语音块(chunk)虽然可以为动态chunk,也可以为静态chunk,但是切分不准确,从而导致了某些语音的识别错误。
基于相关技术中存在的上述至少一个问题,本申请实施例提供一种语音识别方法,该方法利用在SMLTA中利用CTC的尖峰信息来切分语音块的思想和级联模型思想,可以提升识别准确率,并提出了一种语音识别模型(即本申请实施例中的基于CTC尖峰的级联模型),在延迟变小的情况下,识别性能不变;或是在延迟不变的情况下,识别性能变好。
本申请实施例提供的语音识别方法中,首先,对待识别语音进行定长编码处理,得到至少一个定长编码语音块;定长编码处理所采用的语音截取长度为固定截取长度;然后,确定每一定长编码语音块的CTC概率,并基于定长编码语音块的CTC概率,确定与待识别语音对应的至少一个文字所处位置;基于至少一个文字所处位置,对至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块;变长编码处理所采用的语音截取区间为非固定区间;最后,确定每一变长编码语音块的CTC概率;并基于变长编码语音块的CTC概率,确定待识别语音对应的语音识别结果。如此,基于定长编码处理后计算得到的文字所处位置再进行变长编码处理,能够在提高语音识别准确率的同时,保证语音识别的效率,从而实现在延迟变小的情况下,语音识别性能不变;或是在延迟不变的情况下,语音识别性能变好。
下面说明本申请实施例的语音识别设备的示例性应用,该语音识别设备是用于实现语音识别方法的电子设备。在一种实现方式中,本申请实施例提供的语音识别设备(即电子设备)可以实施为终端,也可以实施为服务器。在一种实现方式中,本申请实施例提供的语音识别设备可以实施为笔记本电脑,平板电脑,台式计算机,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能机器人、智能家电和智能车载设备等任意的具备语音数据处理和语音播放功能的终端;在另一种实现方式中,本申请实施例提供的语音识别设备还可以实施为服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。下面,将说明语音识别设备实施为服务器时的示例性应用。
参见图1,图1是本申请实施例提供的语音识别系统的一个可选的架构示意图,本申请实施例以语音识别方法应用于任一信息检索应用为例进行说明。在信息检索应用中,可以提供语音输入功能,当信息检索应用的客户端采集到用户实时输入的语音时,可以采用本申请实施例的方法对用户的语音进行识别,得到准确的语音识别结果,并进一步地基于语音识别结果进行信息检索或者输出语音识别结果。本申请实施例中,语音识别系统中至少包括终端100、网络200和服务器300。其中,服务器300可以是信息检索应用的服务器。服务器300可以构成本申请实施例的语音识别设备。终端100通过网络200连接服务器300,网络200可以是广域网或者局域网,又或者是二者的组合。
本申请实施例中,在进行语音识别时,终端100通过信息检索应用的客户端采集用户的语音,该用户的语音构成待识别语音,并将待识别语音封装至语音识别请求中。终端100通过网络200将语音识别请求发送给服务器300。服务器300在接收到语音识别请求之后,响应于语音识别请求,对待识别语音进行定长编码处理,得到至少一个定长编码语音块;定长编码处理所采用的语音截取长度为固定截取长度;然后,确定每一定长编码语音块的CTC概率,并基于定长编码语音块的CTC概率,确定与待识别语音对应的至少一个文字所处位置;基于至少一个文字所处位置,对至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块;变长编码处理所采用的语音截取区间为非固定区间;最后,确定每一变长编码语音块的CTC概率;基于变长编码语音块的CTC概率,确定待识别语音对应的语音识别结果。服务器300在得到语音识别结果之后,可以将语音识别结果通过网络200发送给终端100,终端100的客户端在当前界面上显示语音识别结果。例如,语音识别结果可以是与待识别语音对应的文本信息,可以在当前界面上显示文本信息。
在另一些实施例中,服务器300在得到语音识别结果之后,还可以基于语音识别结果进行信息检索,得到信息检索结果,并将信息检索结果发送给终端100。或者,服务器300在得到语音识别结果之后,可以以信息提示的方式提示用户是否以该语音识别结果对应的文本信息进行信息检索。
在再一些实施例中,语音识别设备还可以实施为终端,也就是说,以终端为执行主体实现本申请实施例的语音识别方法。在实现的过程中,终端通过视频应用的客户端获取用户的实时语音,并对待识别语音进行定长编码处理,得到至少一个定长编码语音块;确定每一定长编码语音块的CTC概率,并基于定长编码语音块的CTC概率,确定与待识别语音对应的至少一个文字所处位置;然后,基于至少一个文字所处位置,对至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块;最后,确定每一变长编码语音块的CTC概率;基于变长编码语音块的CTC概率,确定待识别语音对应的语音识别结果,呈现该语音识别结果。
本申请实施例所提供的语音识别方法还可以基于云平台并通过云技术来实现,例如,上述服务器300可以是云端服务器。通过云端服务器对待识别语音进行定长编码处理,或者,通过云端服务器确定每一定长编码语音块的CTC概率,以及,通过云端服务器对至少一个定长编码语音块进行变长编码处理,通过云端服务器确定每一变长编码语音块的CTC概率,或者,通过云端服务器确定所述待识别语音对应的语音识别结果。
在一些实施例中,还可以具有云端存储器,可以将待识别语音以及定长编码语音块的C TC概率、变长编码语音块的CTC概率等存储至云端存储器中,或者,还可以将语音识别结果存储至云端存储器中,或者,还可以将语音识别模型的模型参数存储至云端存储器中。这样,在接收到新的待识别语音时,可以从云端存储器中获取模型参数,基于模型参数对应的语音识别模型对待识别语音进行语音识别,从而提高语音识别的效率和准确率。
这里需要说明的是,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
图2是本申请实施例提供的电子设备的结构示意图,图2所示的电子设备可以是一语音识别设备,语音识别设备包括:至少一个处理器310、存储器350、至少一个网络接口320和用户接口330。语音识别设备中的各个组件通过总线系统340耦合在一起。可理解,总线系统340用于实现这些组件之间的连接通信。总线系统340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统340。
处理器310可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,以及一个或多个输入装置332。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器310的一个或多个存储设备。存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统351,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;输入处理模块353,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可采用软件方式实现,图2示出了存储在存储器350中的一种语音识别装置354,该语音识别装置354可以是电子设备中的语音识别装置,其可以是程序和插件等形式的软件,包括以下软件模块:定长编码模块3541、第一CT C解码模块3542、变长编码模块3543、第二CTC解码模块3544和确定模块3545,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的语音识别方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logi c Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
本申请各实施例提供的语音识别方法可以由电子设备来执行,其中,该电子设备可以是服务器也可以是终端,即本申请各实施例的语音识别方法可以通过服务器来执行,也可以通过终端来执行,或者也可以通过服务器与终端之间交互执行。
图3是本申请实施例提供的语音识别方法的一个可选的流程示意图,下面将结合图3示出的步骤进行说明,需要说明的是,图3中的语音识别方法是服务器作为执行主体为例来说明的,如图3所示,方法包括以下步骤S101至步骤S105:
步骤S101,对待识别语音进行定长编码处理,得到至少一个定长编码语音块。
这里,待识别语音可以是实时采集的语音,或者是预先获取的完整语音。本申请实施例的语音识别方法,可以应用于对用户的实时语音进行实时语音识别,也可以用于对输入的完整语音进行语音识别。
本申请实施例中,服务器在获取到待识别语音之后,首先对待识别语音进行定长编码处理。这里,定长编码处理所采用的语音截取长度为固定截取长度。定长编码处理是指以固定截取长度对待识别语音进行语音截取和语音编码,得到至少一个定长编码语音块。在对待识别语音进行语音识别时,首先需要对待识别语音进行编码处理,而编码处理时通常是采用卷积计算、池化计算和全连接计算等至少一种神经网络计算方式来实现,因此,在进行编码处理的时候需要考虑计算的步长和偏移量。本申请实施例中,在进行编码处理时,采用定长编码处理,即以一个固定截取长度对待识别语音进行神经网络计算,实现了对待识别语音的初步粗编码。所得到的至少一个定长编码语音块,能够较为准确的用于预测与待识别语音对应的文本信息。
本申请实施例中,由于定长编码处理所采用的语音截取长度为固定截取长度,因此,在进行定长编码处理之后所得到的定长编码语音块对应相同的语音帧数量。这里,语音帧是指待识别语音对应的语音信号中的每一帧信号,语音帧是语音信号的划分单元,可以通过语音帧将待识别语音划分成多个语音帧。
步骤S102,确定每一定长编码语音块的CTC概率,并基于定长编码语音块的CTC概率,确定与待识别语音对应的至少一个文字所处位置。
这里,可以通过计算每一定长编码语音块的后验概率,并基于后验概率确定每一定长编码语音块的CTC概率。
需要说明的是,后验概率的计算方式,可以基于CTC技术来实现。CTC技术主要用于处理序列标注问题中的输入与输出标签的对齐问题。CTC是序列标注问题中的一种损失函数。传统序列标注算法需要每一时刻输入与输出符号完全对齐,而CTC扩展了标签集合,添加了空元素,在使用扩展标签集合对语音信号对应的序列进行标注后,所有可以通过映射函数转换为真实序列的预测序列,都是正确的预测结果,也就是在无需数据对齐处理,即可得到待识别语音的预测序列。CTC的目标函数就是最大化所有正确的预测序列的概率和。本申请实施例中,在确定CTC概率时,通过查找所有正确预测序列,采用后向算法,即在后向过程计算从第t时刻至第T时刻的语音帧,并预测出正确的后缀的概率,得到后验概率。
在得到每一定长编码语音块的CTC概率之后,可以基于定长编码语音块的CTC概率,分别确定每一语音帧在预设文字库中的每一预设文字下的CTC概率;其中,预设文字库中包括不同的文字和空文本(blank);针对于每一语音帧,从语音帧在全部预设文字下的CTC概率中,将最大CTC概率对应的预设文字确定为目标预设文字;如果目标预设文字是任一文字,将语音帧所在的位置确定为与相应文字对应的一个尖峰位置;如果连续的两个语音帧预测的文字为同一个文字,将在前的一个语音帧所在的位置确定为一个尖峰位置;将每一尖峰位置确定为待识别语音对应的一个文字所处位置。这里,文字所处位置是指通过CTC概率计算后所预测得到的每一文字可能存在于待识别语音中的位置信息。文字所处位置可以采用在待识别语音中的时长位置来表示。例如,对于一段10秒长的语音,可以预测得到这段语音中的三个文字所处位置为第3秒、第6秒和第9秒位置。
步骤S103,基于至少一个文字所处位置,对至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块。
本申请实施例中,通过定长编码语音块的CTC概率确定出的至少一个文字所处位置,是对待识别语音进行粗略识别后的结果,为了进一步保证语音识别的准确性,且提高语音识别的准确率,可以基于文字所处位置,对已经编码的定长编码语音块进行再次编码处理,即进行变长编码处理,从而实现对待识别语音的再一次的预测和识别。
这里,变长编码处理所采用的语音截取区间为非固定区间。也就是说,在进行变长编码处理时,对语音块进行划分的划分区间不是固定区间。相比于定长编码处理时,由于划分语音块时的长度固定,因此对应的划分区间也是固定区间。本申请实施例中,可以基于定长编码处理后所确定出的每一个文字所处位置确定语音截取区间,也就是说,根据文字所处位置对定长编码语音块再次划分语音块。
在一种实现方式中,可以以文字所处位置为切分起点,以一个预设的后向切分参数为后向延伸长度,确定出该文字所处位置对应的语音截取区间。
本申请实施例中,每一变长编码语音块的语音截取区间的区间长度可以是相同长度,只是在进行变长编码处理时进行语音块划分的截取区间所在的区间位置是不确定的,该区间位置需要根据文字所处位置来确定。
步骤S104,确定每一变长编码语音块的CTC概率。
这里,也可以通过计算每一变长编码语音块的后验概率,并基于后验概率确定每一变长编码语音块的CTC概率。
步骤S105,基于变长编码语音块的CTC概率,确定待识别语音对应的语音识别结果。
这里,在得到每一变长编码语音块的CTC概率之后,可以基于变长编码语音块的CTC概率确定与待识别语音对应的至少一个文字所处位置,并对该文字所处位置处的语音子信号进行信号分析,匹配与该语音子信号对应的文字,从而得到该语音子信号对应的文字。在得到待识别语音中每一语音子信号对应的文字之后,按照语音子信号在待识别语音中的先后顺序,对相应的文字进行拼接,即可得到与待识别语音对应的文本信息,该文本信息构成待识别语音的语音识别结果。
本申请实施例是基于定长编码语音块的CTC概率初步筛选出文字所处位置后,基于初步筛选出的文字所处位置进一步定位出更加准确的文字所处位置,从而减少识别中的替换错误。
本申请实施例提供的语音识别方法,通过对待识别语音进行定长编码处理,得到至少一个定长编码语音块;并确定每一定长编码语音块的CTC概率,基于定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置;然后基于至少一个文字所处位置,对至少一个定长编码语音块进行变长编码处理后进行语音识别。如此,基于定长编码处理后计算得到的文字所处位置再进行变长编码处理,能够在提高语音识别准确率的同时,保证语音识别的效率,从而实现在延迟变小的情况下,语音识别性能不变;或是在延迟不变的情况下,语音识别性能变好。
在一些实施例中,语音识别系统中至少包括终端和服务器,上述语音识别方法可以应用于任意一种具备语音识别需求和语音识别功能的应用中,例如,可以应用于信息检索应用、即时通信应用、购物应用和信息推荐应用等。
下面以本申请实施例的语音识别方法应用于信息检索应用为例进行说明。在信息检索应用中,可以提供语音输入功能,当信息检索应用的客户端采集到用户实时输入的语音时,可以采用本申请实施例的方法对用户的语音进行识别,得到准确的语音识别结果,并进一步地基于语音识别结果进行信息检索或者输出语音识别结果。本申请实施例中,服务器可以是信息检索应用的服务器。终端上安装有信息检索应用,通过终端采集用户的实时语音,并将用户的实时语音发送给服务器进行语音识别。
图4是本申请实施例提供的语音识别方法的另一个可选的流程示意图,如图4所示,方法包括以下步骤S201至步骤S211:
步骤S201,终端通过语音采集装置采集用户的语音。
本申请实施例中,终端可以通过语音采集装置(例如,麦克风)实时采集用户的语音,该用户的语音构成待识别语音。
步骤S202,终端将待识别语音封装至语音识别请求中。
语音识别请求用于请求服务器对该待识别语音进行语音识别,得到与用户的语音对应的文本信息,从而基于识别出的文本信息进行后续的处理。例如,基于识别出的文本信息进行信息检索。
步骤S203,终端将语音识别请求发送给服务器。
步骤S204,服务器响应于语音识别请求,对待识别语音进行定长编码处理,得到至少一个定长编码语音块。
这里,定长编码处理是指以固定截取长度对待识别语音进行语音截取和语音编码,得到至少一个定长编码语音块。
在一些实施例中,参见图5,图5示出了步骤S204可以通过以下步骤S2041至步骤S2043实现:
步骤S2041,获取预设的固定截取长度。
这里,固定截取长度可以是人工预先设置的值,也可以是通过对历史语音识别任务的识别结果进行评估后选择和更新后的适用于当前语音识别环境(例如信息检索应用)的值。
固定截取长度小于待识别语音的语音长度,其中,语音长度是指待识别语音包含的语音帧的数量,固定截取长度是指对待识别语音进行切分时,切分的每一个语音块中的语音帧的数量。
步骤S2042,以固定截取长度对应的语音帧数量为截取长度,将待识别语音对应的语音信号划分成多个第一类语音信号片段。
这里,每一第一类语音信号片段中均包括语音帧数量的语音帧。
举例来说,对于具有N帧的待识别语音X={X1,…,XN},XN为待识别语音中的第N帧语音帧,可以采用固定截取长度m对待识别语音X={X1,…,XN}进行截取,得到多个第一类语音信号片段。
步骤S2043,按照预设的后向偏移参数,依次对每一第一类语音信号片段进行前馈计算,得到至少一个定长编码语音块。
在一些实施例中,在进行前馈计算时,可以通过以下方式实现:首先,基于后向偏移参数,对每一第一类语音信号片段进行卷积处理,得到每一第一类语音信号片段对应的局部信息;然后,对每一第一类语音信号片段进行注意力处理,得到每一第一类语音信号片段对应的全局信息;最后,对局部信息和全局信息进行信息结合,得到每一第一类语音信号片段对应的定长编码语音块。
本申请实施例中,前馈计算可以通过定长编码网络来实现,该定长编码网络可以是一个基于语音块的编码器(chunk based Encoder)。定长编码网络可以通过一个因果一致性conf ormer模型(causal conformer)实现,因果一致性conformer模型是基于Transformer模型和因果一致性卷积网络(causal CNN,causal Convolutional NeuralNetworks)的模型构建的新的模型。可以将自注意力机制(self-attention)和因果一致性CNN网络结合起来,自注意力机制学习待识别语音序列的依赖和基于内容的全局交互信息,因果一致性CNN则学习基于相对位置偏移的局部相关性,从而能够有效利用待识别语音序列的局部特征,并将学习到的两种特征结合起来,夹到一对前馈神经网络模块之间。如此,将基于自注意力机制的Tra nsformer模型和因果一致性CNN结合起来形成的因果一致性conformer模型,能够对待识别语音序列进行局部和全局依赖都进行建模。
在实现的过程中,通过因果一致性conformer模型中的因果一致性CNN网络实现基于后向偏移参数,对每一第一类语音信号片段进行卷积处理,得到每一第一类语音信号片段对应的局部信息,之后,通过因果一致性conformer模型中的Transformer模型对每一第一类语音信号片段进行注意力处理,得到每一第一类语音信号片段对应的全局信息;最后,对局部信息和全局信息进行信息结合,即可得到每一第一类语音信号片段对应的定长编码语音块。
本申请实施例中,定长编码处理所采用的语音截取长度为固定截取长度。
步骤S205,服务器确定每一定长编码语音块的CTC概率。
在一些实施例中,参见图6,图6示出了步骤S205可以通过以下步骤S2051至步骤S2052实现:
步骤S2051,通过CTC解码模块确定每一定长编码语音块的后验概率。
步骤S2052,将后验概率确定为相应定长编码语音块的CTC概率。
本申请实施例中,可以采用通过CTC解码模块确定每一定长编码语音块的后验概率,这里,CTC作为损失函数的声学模型训练,是一种完全端到端的声学模型训练,不需要预先对待识别语音的语音数据做对齐,只需要一个语音输入序列和一个输出序列即可以训练。这样就不需要对数据对齐和一一标注,输入输出之间的队列不再那么重要。也就是说,通过C TC技术,可以直接输出待识别语音序列预测的概率,即后验概率。该后验概率即定长编码语音块的CTC概率。
步骤S206,服务器基于定长编码语音块的CTC概率,确定与待识别语音对应的至少一个文字所处位置。
在一些实施例中,参见图7,图7示出了步骤S206可以通过以下步骤S2061至步骤S2065实现:
步骤S2061,确定每一语音帧在预设文字库中的每一预设文字下的CTC概率。
这里,预设文字库中包括不同的文字和空文本(blank)。
步骤S2062,针对于每一语音帧,从语音帧在全部预设文字下的CTC概率中,将最大C TC概率对应的预设文字确定为目标预设文字。
步骤S2063,如果目标预设文字是任一文字,将语音帧所在的位置确定为与相应文字对应的一个尖峰位置。
这里,如果目标预设文字为空文本的话,则表明预测出该语音帧不是文字对应的语音,因此该语音帧所在的位置不是尖峰位置。
步骤S2064,如果连续的两个语音帧预测的文字为同一个文字,将在前的一个语音帧所在的位置确定为一个尖峰位置。
步骤S2065,将每一尖峰位置确定为待识别语音对应的一个文字所处位置。
由于在每一尖峰位置处对应的文字的CTC概率最大,因此,该尖峰位置处是待识别语音中的相应文字对应的语音的概率最大,则可以将每个尖峰位置预测为待识别语音对应的一个文字所处位置。
步骤S207,服务器基于至少一个文字所处位置,对至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块。
在一些实施例中,参见图8,图8示出了步骤S207可以通过以下步骤S2071至步骤S2074实现:
步骤S2071,对至少一个定长编码语音块进行拼接处理,得到拼接语音信号。
这里,拼接语音信号的长度与待识别语音的语音信号长度相同。
步骤S2072,确定与每一文字所处位置对应的语音截取区间。
在一些实施例中,可以通过以下方式确定每一文字所处位置对应的语音截取区间:首先,获取预设的后向切分参数;然后,以文字所处位置为切分起点,以后向切分参数为后向延伸长度,确定每一文字所处位置对应的语音截取区间。
这里,后向切分参数可以是人工预先设置的值,后向切分参数也可以是通过对语音识别模型的识别结果进行分析后进行不断更新和修正后得到的适用于当前应用场景的值。语音截取区间的区间长度等于该后向切分参数。语音截取区间的区间起点为文字所处位置。
举例来说,当确定出文字所处位置为第10帧,且后向切分参数为k,则相应地确定出与该文字所处位置对应的语音截取区间为[10,10+k]。
步骤S2073,以语音截取区间对应的语音帧数量为截取长度,将拼接语音信号划分成多个第二类语音信号片段。
这里,按照确定出的语音截取区间对拼接语音信号进行划分。举例来说,当确定出的语音截取区间为[10,15]、[17,22]、[25,30]时,则截取三个第二类语音信号片段分别为10到15帧的语音信号片段、17到22帧的语音信号片段、25到30帧的语音信号片段。也就是说,对于不处于语音截取区间内的语音帧将不会进行截取,从而极大的降低了信号编码处理时的数据量,提高编码效率。
本申请实施例中,每一第二类语音信号片段中包括的语音帧的位置与其他第二类语音信号片段中包括的语音帧的位置不同。
步骤S2074,依次对每一第二类语音信号片段进行前馈计算,得到至少一个变长编码语音块。
在一些实施例中,步骤S2074可以通过以下方式实现:对每一第二类语音信号片段进行卷积处理,得到每一第二类语音信号片段对应的局部信息;对每一第二类语音信号片段进行注意力处理,得到每一第二类语音信号片段对应的全局信息;之后,对局部信息和全局信息进行信息结合,得到每一第二类语音信号片段对应的变长编码语音块。
本申请实施例中,变长编码处理所采用的语音截取区间为非固定区间。
步骤S208,服务器确定每一变长编码语音块的CTC概率。
这里,也可以通过CTC解码模块确定每一变长编码语音块的后验概率,并将后验概率确定为相应变长编码语音块的CTC概率。
步骤S209,服务器基于变长编码语音块的CTC概率,确定待识别语音对应的语音识别结果。
步骤S210,服务器将语音识别结果发送给终端。
步骤S211,终端在当前界面上显示语音识别结果。
本申请实施例提供的语音识别方法,基于定长编码处理后计算得到的文字所处位置再进行变长编码处理,能够在提高语音识别准确率的同时,保证语音识别的效率,从而实现在延迟变小的情况下,语音识别性能不变;或是在延迟不变的情况下,语音识别性能变好。
在一些实施例中,上述语音识别方法可以通过预先训练好的语音识别模型来实现,其中,语音识别模型包括定长编码网络、第一CTC解码网络、变长编码网络、第二CTC解码网络和注意力解码网络。定长编码网络用于对待识别语音进行所述定长编码处理;第一CTC解码网络用于确定每一定长编码语音块的CTC概率,并基于定长编码语音块的CTC概率,确定与待识别语音对应的至少一个文字所处位置;变长编码网络用于基于至少一个文字所处位置,对至少一个定长编码语音块进行变长编码处理;第二CTC解码网络用于确定每一变长编码语音块的CTC概率,并基于变长编码语音块的CTC概率,确定待识别语音对应的语音识别结果;注意力解码网络用于在对语音识别模型进行训练时,输出样本识别结果。
下面将对本申请实施例提供的语音识别模型的训练方法进行说明。语音识别模型的训练方法可以通过模型训练装置来执行。其中,模型训练装置可以是语音识别设备(即电子设备)中的装置,即模型训练装置可以是服务器也可以是终端;或者,也可以是独立于语音识别设备的另一设备,即模型训练装置是区别于上述用于实现语音识别方法的服务器和终端之外的其他电子设备。如图9所示,语音识别模型的训练方法包括以下步骤S301至步骤S308:
步骤S301,模型训练装置将样本语音输入至语音识别模型中。
步骤S302,模型训练装置通过语音识别模型的定长编码网络,对样本语音进行定长编码处理,得到至少一个样本定长编码语音块。
在一些实施例中,定长编码网络可以实施为一种基于语音块的编码器,可以通过一个因果一致性conformer模型实现。
步骤S303,模型训练装置通过语音识别模型的第一CTC解码网络,确定每一样本定长编码语音块的样本CTC概率,并基于样本定长编码语音块的样本CTC概率,确定与样本语音对应的至少一个样本文字所处位置;基于样本文字所处位置对样本语音进行语音识别,得到定长识别结果。
步骤S304,模型训练装置通过语音识别模型的变长编码网络,基于至少一个样本文字所处位置,对至少一个样本定长编码语音块进行变长编码处理,得到至少一个样本变长编码语音块。
在一些实施例中,变长编码网络可以实施为一种基于尖峰位置的编码器,也可以通过一个因果一致性conformer模型来实现。
步骤S305,模型训练装置通过语音识别模型的第二CTC解码网络,确定每一样本变长编码语音块的样本CTC概率;并基于样本变长编码语音块的样本CTC概率,确定样本语音对应的变长识别结果。
步骤S306,模型训练装置通过语音识别模型的注意力解码网络,确定样本语音对应的注意力识别结果。
步骤S307,模型训练装置将定长识别结果、变长识别结果、注意力识别结果和样本标签输入至预设损失模型中,通过预设损失模型确定所述语音识别模型对应的损失结果。
在一些实施例中,参见图10,图10示出了步骤S307可以通过以下步骤S3071至步骤S3074实现:
步骤S3071,通过预设损失模型,基于定长识别结果和样本标签,确定第一CTC解码网络对应的定长编解码损失。
步骤S3072,通过预设损失模型,基于变长识别结果和样本标签,确定第二CTC解码网络对应的变长编解码损失。
步骤S3073,通过预设损失模型,基于注意力识别结果和样本标签,确定注意力解码网络对应的注意力损失。
步骤S3074,基于定长编解码损失、变长编解码损失和注意力损失,确定语音识别模型对应的损失结果。
在一些实施例中,基于定长编解码损失、变长编解码损失和注意力损失,确定语音识别模型对应的损失结果,可以通过以下方式实现:分别获取与定长编解码损失、变长编解码损失和注意力损失对应的定长编解码损失权重、变长编解码损失权重和注意力损失权重;然后,基于定长编解码损失权重、变长编解码损失权重和注意力损失权重,对定长编解码损失、变长编解码损失和注意力损失进行加权求和,得到损失结果;其中,定长编解码损失权重、变长编解码损失权重和注意力损失权重之和等于1。
步骤S308,模型训练装置基于损失结果,对定长编码网络、第一CTC解码网络、变长编码网络和第二CTC解码网络中的模型参数进行修正,得到训练后的语音识别模型。
本申请实施例提供的语音识别模型的训练方法,通过定长编解码损失、变长编解码损失和注意力损失三重损失,对语音识别模型进行训练,实现了多维度的模型训练,从而能够保证对语音识别模型进行有效的训练,使得训练后的语音识别模型能够对待识别语音进行快速和准确的识别。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
对于流式语音识别,语音块(chunk)的切分是极为关键的,语音块切分越准确,则性能(这里的性能例如可以是识别的准确率)会越好,而性能越好,则可能会造成延迟越大,所以本申请实施例结合SMLTA的思想和级联思想,设计了一种基于CTC尖峰的级联模型(即上述语音识别模型),能够对流式语音进行实时识别,可以在延迟变小的情况下,识别性能不变;或是在延迟不变的情况下,识别性能变好。
本申请实施例中,基于CTC尖峰的级联模型由两个串联的流式一致性编码器(confor mer Encoder)组成,分别是基于语音块的编码器(chunk based Encoder,即上述定长编码网络)和基于尖峰位置的编码器(peak based Encoder,即上述变长编码网络)组成,两个编码器的语音块配置不同,基于语音块的编码器是固定语音块截取长度,输出的CTC概率可以计算CTC尖峰的峰值,基于尖峰位置的编码器通过基于语音块的编码器的CTC尖峰计算的窗口作为输入来计算最终的输出。相比于纯基于语音块的编码器模型,识别准确率和延迟两方面性能更优。
本申请实施例中,当语音块切分准确时,时延不会降低,同时识别正确率变好。基于语音块的编码器的语音块是固定时长切分的,基于尖峰位置的编码器的语音块是按照CTC尖峰来切分的,切分更准确,识别更准确,所以在与相等延迟的纯基于语音块的编码器对比,识别结果会更好。并且,本申请实施例的识别准确率不变的情况下,可以降低延迟,提升出字速度。因为最终的识别结果主要是由基于尖峰位置的编码器的出字结果决定的,而时延主要是由基于语音块的编码器的语音块的大小决定的。通过改变基于语音块的编码器的语音块配置来降低延迟,基于尖峰位置的编码器的出字结果也不会比更高延迟的纯基于语音块的编码器的出字结果差。
输入法产品中的语音识别是非常重要的,对于想用语音输入的用户来说,语音识别的准确程度和出字的速度会非常影响产品的体验。在实验中发现,性能越好的语音识别往往延迟越大,所以如何在保持识别准确率不变的情况下,降低出字的延迟,或是在延迟不变的情况下,提升语音识别的准确率是一个值得探索的问题。为此,本申请实施例基于SMLTA思想和级联模型思想,设计了基于CTC尖峰的级联模型,在识别准确率和出字速度两方面进行了优化。
本申请实施例对原有的语音识别模型和基于CTC尖峰的级联模型在准确率和出字速度进行了模拟比较实验,有以下两个结论:(1)在两种模型准确率一致的情况下,基于CTC尖峰的级联模型的延迟可以降低120ms左右。(2)在两种模型延迟差不多的情况下,基于CTC尖峰的级联模型的识别准确率可以变好7%左右。
对于流式语音识别,语音块的切分是极为关键的,通过对语音块的不同切分方式进行了对比,发现了以下两个结论:(1)如果语音块在文本的语音边界上切分得越准确,则识别准确率越高。因为语音块切分的不准,语音块的边界容易带来一些删除和插入错误。(2)识别准确率越高的模型,往往延迟越大,这里存在两种情况,一种是不同模型的比较,语音块越大,获取的上下文越多,识别准确率越好,但是延迟越大;另一种情况语音块长度相同,但切分的更准的模型识别准确率更高,延迟也更大。基于发现的这两点语音块切分的特点,为了满足识别准确率和延迟两方面的性能,本申请实施例提出了基于CTC尖峰的级联模型。图11是本申请实施例提供的基于CTC尖峰的级联模型的结构示意图,如图11所示,基于CTC尖峰的级联模型由两个串联的流式一致性编码器组成,即基于语音块的编码器1101和基于尖峰位置的编码器1102。两个编码器的语音块配置不同,基于尖峰位置的编码器1102通过基于语音块的编码器1101的CTC尖峰计算的窗口作为输入来计算最终的输出,相比于纯基于语音块的编码器的识别结果更准确。
下面对基于CTC尖峰的级联模型的训练过程进行说明。
在训练基于CTC尖峰的级联模型时,可以将N帧的语音长句表示为X={X1,…,XN},以一个固定长度m帧(对应上述固定截取长度)将语音长句通过掩码(mask)进行切分,每一段表示成X[t,t+m](对应上述第一类语音信号片段)。经过基于语音块的编码器进行前向计算(即前馈计算)时,在基于语音块的编码器的第一层每段可以向后看r(对应上述后向偏移参数)帧,所以基于语音块的编码器部分的延迟为m+r帧,即可以表示成语音X[t,t+m(r)](对应上述定长编码语音块)。将这些成段的语音X[t,t+m(r)]依次送入基于语音块的编码器1101中进行计算,得到语音在基于语音块的编码器1101的输出,即C[t,t+m(r)],计算过程参见以下公式(1):
C[t,t+M(r)]= chunk based Encoder(X[t,t+m(r)]) (1)。
之后,这些C[t,t+M(r)]经过第一CTC解码网络1103计算后验概率后,可以计算尖峰的位置P{P1,…,PL},其中PL表示第L个尖峰位置。另外C[t,t+M(r)]经过CTC计算后也可以输出文字Ychunk,从而得到第一CTC解码网络1103部分的损失结果,记作CTC-1_loss。
接下来,可以将全部C[t,t+M(r)]拼接在一起,记为C={C1,…,CN},其中,CN表示第N个C[t,t+M(r)]。根据CTC的特性,尖峰的位置就是一个建模单元(即文字)存在的位置,可以按照尖峰位置对C进行切分,每一个语音块为尖峰位置到该语音块之后s帧的距离,即语音块C[p,p+s]。
将这些C[p,p+s]送入基于尖峰位置的编码器1102中进行计算,得到语音在基于尖峰位置的编码器1102后的输出,即Y[p,p+s],计算过程参见以下公式(2):
Y[p,p+s]= peak based Encoder(C[p,p+s]) (2)。
基于尖峰位置的编码器1102的输出Y[p,p+s]经过CTC计算后也可以输出文字Ypeak,从而得到第二CTC解码网络1104部分的损失结果,记作CTC-2_loss。图12是本申请实施例提供的第一CTC解码网络和第二CTC解码网络输出的CTC概率曲线示意图,可以看出,第一CTC解码网络输出的CTC概率曲线CTC1,与第二CTC解码网络输出的CTC概率曲线CTC2中的尖峰位置相差不大,因此,第一CTC解码网络输出的尖峰信息能够有效的辅助基于尖峰位置的编码器的变长编码处理和第二CTC解码网络的CTC计算过程,从而有效的提高基于CTC尖峰的级联模型的识别准确率。
在一些实施例中,Y[p,p+s]经过注意力解码网络1105(Attention Decoder)后也可以输出文字Yatt,从而得到注意力解码网络1105部分的损失结果,记作att_loss。其中,图11中的Y表示输入的标签信息。
最终的损失结果由这三个损失结果以一定的权重组成,如以下公式(3):
loss=ctc_weight*0.5*(CTC-1_loss+CTC-2_loss)+(1-ctc_weight)*att_loss (3)。
其中,ctc_weight*0.5分别是CTC-1_loss和CTC-2_loss的权重,即因果性损失权重和变长编解码损失权重;(1-ctc_weight)是att_loss的权重,即注意力损失权重。
在一些实施例中,上述基于CTC尖峰的级联模型的测试流程可以是先用固定语音块截取长度的基于语音块的编码器得到CTC尖峰,然后再用基于尖峰位置的编码器在基于语音块的编码器用CTC尖峰计算的窗口上进行前向计算作为最终的输出。
需要注意的是:对于基于CTC尖峰的级联模型延迟的影响一共有三个参数,m,r和s。通常可以只调小r,使得在减小延迟的同时模型的识别准确率基本不变。
可以理解的是,在本申请实施例中,涉及到用户信息的内容,例如,用户的实时语音、语音识别结果等信息,如果涉及与用户信息或企业信息相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的语音识别装置354实施为软件模块的示例性结构,在一些实施例中,如图2所示,语音识别装置354包括:定长编码模块3541,用于对待识别语音进行定长编码处理,得到至少一个定长编码语音块;所述定长编码处理所采用的语音截取长度为固定截取长度;第一CTC解码模块3542,用于确定每一所述定长编码语音块的CTC概率,并基于所述定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置;变长编码模块3543,用于基于所述至少一个文字所处位置,对所述至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块;所述变长编码处理所采用的语音截取区间为非固定区间;第二CTC解码模块3544,用于确定每一所述变长编码语音块的CTC概率;确定模块3545,用于基于所述变长编码语音块的CTC概率,确定所述待识别语音对应的语音识别结果。
在一些实施例中,所述定长编码模块还用于:获取预设的固定截取长度;以所述固定截取长度对应的语音帧数量为截取长度,将所述待识别语音对应的语音信号划分成多个第一类语音信号片段;其中,每一所述第一类语音信号片段中均包括所述语音帧数量的语音帧;按照预设的后向偏移参数,依次对每一所述第一类语音信号片段进行前馈计算,得到所述至少一个定长编码语音块。
在一些实施例中,所述定长编码模块还用于:基于所述后向偏移参数,对每一所述第一类语音信号片段进行卷积处理,得到每一所述第一类语音信号片段对应的局部信息;对每一所述第一类语音信号片段进行注意力处理,得到每一所述第一类语音信号片段对应的全局信息;对所述局部信息和所述全局信息进行信息结合,得到每一所述第一类语音信号片段对应的定长编码语音块。
在一些实施例中,所述第一CTC解码模块还用于:通过CTC解码模块确定每一所述定长编码语音块的后验概率;将所述后验概率确定为相应定长编码语音块的CTC概率。
在一些实施例中,所述第一CTC解码模块还用于:确定每一语音帧在预设文字库中的每一预设文字下的CTC概率;其中,所述预设文字库中包括不同的文字和空文本;针对于每一语音帧,从所述语音帧在全部预设文字下的CTC概率中,将最大CTC概率对应的预设文字确定为目标预设文字;如果所述目标预设文字是任一文字,将所述语音帧所在的位置确定为与相应文字对应的一个尖峰位置;如果连续的两个语音帧预测的文字为同一个文字,将在前的一个语音帧所在的位置确定为一个尖峰位置;将每一所述尖峰位置确定为所述待识别语音对应的一个文字所处位置。
在一些实施例中,所述变长编码模块还用于:对所述至少一个定长编码语音块进行拼接处理,得到拼接语音信号;确定与每一所述文字所处位置对应的语音截取区间;以所述语音截取区间对应的语音帧数量为截取长度,将所述拼接语音信号划分成多个第二类语音信号片段;其中,每一所述第二类语音信号片段中包括的语音帧的位置与其他第二类语音信号片段中包括的语音帧的位置不同;依次对每一所述第二类语音信号片段进行前馈计算,得到所述至少一个变长编码语音块。
在一些实施例中,所述变长编码模块还用于:获取预设的后向切分参数;以所述文字所处位置为切分起点,以所述后向切分参数为后向延伸长度,确定每一所述文字所处位置对应的语音截取区间。
在一些实施例中,所述变长编码模块还用于:对每一所述第二类语音信号片段进行卷积处理,得到每一所述第二类语音信号片段对应的局部信息;对每一所述第二类语音信号片段进行注意力处理,得到每一所述第二类语音信号片段对应的全局信息;对所述局部信息和所述全局信息进行信息结合,得到每一所述第二类语音信号片段对应的变长编码语音块。
在一些实施例中,所述装置还包括处理模块,用于控制所述语音识别方法通过语音识别模型实现;所述语音识别模型包括定长编码网络、第一CTC解码网络、变长编码网络、第二CTC解码网络和注意力解码网络;所述定长编码网络用于对所述待识别语音进行所述定长编码处理;所述第一CTC解码网络用于确定每一所述定长编码语音块的CTC概率,并基于所述定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置;所述变长编码网络用于基于所述至少一个文字所处位置,对所述至少一个定长编码语音块进行变长编码处理;所述第二CTC解码网络用于确定每一所述变长编码语音块的CTC概率,并基于所述变长编码语音块的CTC概率,确定所述待识别语音对应的语音识别结果;所述注意力解码网络用于在对所述语音识别模型进行训练时,输出样本识别结果。
在一些实施例中,所述装置还包括模型训练模块,用于:将样本语音输入至语音识别模型中;通过所述语音识别模型的定长编码网络,对所述样本语音进行定长编码处理,得到至少一个样本定长编码语音块;通过所述语音识别模型的第一CTC解码网络,确定每一所述样本定长编码语音块的样本CTC概率,并基于所述样本定长编码语音块的样本CTC概率,确定与所述样本语音对应的至少一个样本文字所处位置;基于所述样本文字所处位置对所述样本语音进行语音识别,得到定长识别结果;通过所述语音识别模型的变长编码网络,基于所述至少一个样本文字所处位置,对所述至少一个样本定长编码语音块进行变长编码处理,得到至少一个样本变长编码语音块;通过所述语音识别模型的第二CTC解码网络,确定每一所述样本变长编码语音块的样本CTC概率;并基于所述样本变长编码语音块的样本CTC概率,确定所述样本语音对应的变长识别结果;通过所述语音识别模型的注意力解码网络,确定所述样本语音对应的注意力识别结果;将所述定长识别结果、所述变长识别结果、所述注意力识别结果和样本标签输入至预设损失模型中,通过所述预设损失模型确定所述语音识别模型对应的损失结果;基于所述损失结果,对所述定长编码网络、第一CTC解码网络、变长编码网络和第二CTC解码网络中的模型参数进行修正,得到训练后的语音识别模型。
在一些实施例中,所述模型训练模块还用于:通过所述预设损失模型,基于所述定长识别结果和所述样本标签,确定所述第一CTC解码网络对应的定长编解码损失;通过所述预设损失模型,基于所述变长识别结果和所述样本标签,确定所述第二CTC解码网络对应的变长编解码损失;通过所述预设损失模型,基于所述注意力识别结果和所述样本标签,确定所述注意力解码网络对应的注意力损失;基于所述定长编解码损失、所述变长编解码损失和所述注意力损失,确定所述语音识别模型对应的损失结果。
在一些实施例中,所述模型训练模块还用于:分别获取与所述定长编解码损失、所述变长编解码损失和所述注意力损失对应的定长编解码损失权重、变长编解码损失权重和注意力损失权重;基于所述定长编解码损失权重、所述变长编解码损失权重和所述注意力损失权重,对所述定长编解码损失、所述变长编解码损失和所述注意力损失进行加权求和,得到所述损失结果;其中,所述定长编解码损失权重、所述变长编解码损失权重和所述注意力损失权重之和等于1。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或可执行指令,该计算机程序或可执行指令是一种计算机指令;该计算机程序或可执行指令存储在计算机可读存储介质中。当电子设备的处理器从计算机可读存储介质读取该计算机程序或可执行指令,处理器执行该计算机程序或可执行指令时,使得该电子设备执行本申请实施例上述的方法。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3示出的方法。
在一些实施例中,存储介质可以是计算机可读存储介质,例如,铁电存储器(FRAM,Ferromagnetic Random Access Memory)、只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read Only Memory)、可擦除可编程只读存储器(E PROM,Erasable Programmable Read Only Memory)、带电可擦可编程只读存储器(EEPR OM,Electrically Erasable Programmable Read Only Memory)、闪存、磁表面存储器、光盘、或光盘只读存储器(CD-ROM,Compact Disk-Read Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMar kup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种语音识别方法,其特征在于,所述方法包括:
对待识别语音进行定长编码处理,得到至少一个定长编码语音块;所述定长编码处理所采用的语音截取长度为固定截取长度;
确定每一所述定长编码语音块的CTC概率,并基于所述定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置;
基于所述至少一个文字所处位置,对所述至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块;所述变长编码处理所采用的语音截取区间为非固定区间;
确定每一所述变长编码语音块的CTC概率;
基于所述变长编码语音块的CTC概率,确定所述待识别语音对应的语音识别结果。
2.根据权利要求1所述的方法,其特征在于,所述对待识别语音进行定长编码处理,得到至少一个定长编码语音块,包括:
获取预设的固定截取长度;
以所述固定截取长度对应的语音帧数量为截取长度,将所述待识别语音对应的语音信号划分成多个第一类语音信号片段;其中,每一所述第一类语音信号片段中均包括所述语音帧数量的语音帧;
按照预设的后向偏移参数,依次对每一所述第一类语音信号片段进行前馈计算,得到所述至少一个定长编码语音块。
3.根据权利要求2所述的方法,其特征在于,所述按照预设的后向偏移参数,依次对每一所述第一类语音信号片段进行前馈计算,得到所述至少一个定长编码语音块,包括:
基于所述后向偏移参数,对每一所述第一类语音信号片段进行卷积处理,得到每一所述第一类语音信号片段对应的局部信息;
对每一所述第一类语音信号片段进行注意力处理,得到每一所述第一类语音信号片段对应的全局信息;
对所述局部信息和所述全局信息进行信息结合,得到每一所述第一类语音信号片段对应的定长编码语音块。
4.根据权利要求1所述的方法,其特征在于,所述确定每一所述定长编码语音块的CT C概率,包括:
通过CTC解码模块确定每一所述定长编码语音块的后验概率;
将所述后验概率确定为相应定长编码语音块的CTC概率。
5.根据权利要求1所述的方法,其特征在于,所述基于所述定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置,包括:
确定每一语音帧在预设文字库中的每一预设文字下的CTC概率;其中,所述预设文字库中包括不同的文字和空文本;
针对于每一语音帧,从所述语音帧在全部预设文字下的CTC概率中,将最大CTC概率对应的预设文字确定为目标预设文字;
如果所述目标预设文字是任一文字,将所述语音帧所在的位置确定为与相应文字对应的一个尖峰位置;
如果连续的两个语音帧预测的文字为同一个文字,将在前的一个语音帧所在的位置确定为一个尖峰位置;
将每一所述尖峰位置确定为所述待识别语音对应的一个文字所处位置。
6.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个文字所处位置,对所述至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块,包括:
对所述至少一个定长编码语音块进行拼接处理,得到拼接语音信号;
确定与每一所述文字所处位置对应的语音截取区间;
以所述语音截取区间对应的语音帧数量为截取长度,将所述拼接语音信号划分成多个第二类语音信号片段;其中,每一所述第二类语音信号片段中包括的语音帧的位置与其他第二类语音信号片段中包括的语音帧的位置不同;
依次对每一所述第二类语音信号片段进行前馈计算,得到所述至少一个变长编码语音块。
7.根据权利要求6所述的方法,其特征在于,所述确定与每一所述文字所处位置对应的语音截取区间,包括:
获取预设的后向切分参数;
以所述文字所处位置为切分起点,以所述后向切分参数为后向延伸长度,确定每一所述文字所处位置对应的语音截取区间。
8.根据权利要求6所述的方法,其特征在于,所述依次对每一所述第二类语音信号片段进行前馈计算,得到所述至少一个变长编码语音块,包括:
对每一所述第二类语音信号片段进行卷积处理,得到每一所述第二类语音信号片段对应的局部信息;
对每一所述第二类语音信号片段进行注意力处理,得到每一所述第二类语音信号片段对应的全局信息;
对所述局部信息和所述全局信息进行信息结合,得到每一所述第二类语音信号片段对应的变长编码语音块。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述语音识别方法通过语音识别模型实现;所述语音识别模型包括定长编码网络、第一CTC解码网络、变长编码网络、第二CTC解码网络和注意力解码网络;
所述定长编码网络用于对所述待识别语音进行所述定长编码处理;
所述第一CTC解码网络用于确定每一所述定长编码语音块的CTC概率,并基于所述定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置;
所述变长编码网络用于基于所述至少一个文字所处位置,对所述至少一个定长编码语音块进行变长编码处理;
所述第二CTC解码网络用于确定每一所述变长编码语音块的CTC概率,并基于所述变长编码语音块的CTC概率,确定所述待识别语音对应的语音识别结果;
所述注意力解码网络用于在对所述语音识别模型进行训练时,输出样本识别结果。
10.根据权利要求9所述的方法,其特征在于,所述语音识别模型通过以下步骤进行训练:
将样本语音输入至语音识别模型中;
通过所述语音识别模型的定长编码网络,对所述样本语音进行定长编码处理,得到至少一个样本定长编码语音块;
通过所述语音识别模型的第一CTC解码网络,确定每一所述样本定长编码语音块的样本CTC概率,并基于所述样本定长编码语音块的样本CTC概率,确定与所述样本语音对应的至少一个样本文字所处位置;基于所述样本文字所处位置对所述样本语音进行语音识别,得到定长识别结果;
通过所述语音识别模型的变长编码网络,基于所述至少一个样本文字所处位置,对所述至少一个样本定长编码语音块进行变长编码处理,得到至少一个样本变长编码语音块;
通过所述语音识别模型的第二CTC解码网络,确定每一所述样本变长编码语音块的样本CTC概率;并基于所述样本变长编码语音块的样本CTC概率,确定所述样本语音对应的变长识别结果;
通过所述语音识别模型的注意力解码网络,确定所述样本语音对应的注意力识别结果;
将所述定长识别结果、所述变长识别结果、所述注意力识别结果和样本标签输入至预设损失模型中,通过所述预设损失模型确定所述语音识别模型对应的损失结果;
基于所述损失结果,对所述定长编码网络、第一CTC解码网络、变长编码网络和第二CTC解码网络中的模型参数进行修正,得到训练后的语音识别模型。
11.根据权利要求10所述的方法,其特征在于,所述通过所述预设损失模型确定所述语音识别模型对应的损失结果,包括:
通过所述预设损失模型,基于所述定长识别结果和所述样本标签,确定所述第一CTC解码网络对应的定长编解码损失;
通过所述预设损失模型,基于所述变长识别结果和所述样本标签,确定所述第二CTC解码网络对应的变长编解码损失;
通过所述预设损失模型,基于所述注意力识别结果和所述样本标签,确定所述注意力解码网络对应的注意力损失;
基于所述定长编解码损失、所述变长编解码损失和所述注意力损失,确定所述语音识别模型对应的损失结果。
12.根据权利要求11所述的方法,其特征在于,所述基于所述定长编解码损失、所述变长编解码损失和所述注意力损失,确定所述语音识别模型对应的损失结果,包括:
分别获取与所述定长编解码损失、所述变长编解码损失和所述注意力损失对应的定长编解码损失权重、变长编解码损失权重和注意力损失权重;
基于所述定长编解码损失权重、所述变长编解码损失权重和所述注意力损失权重,对所述定长编解码损失、所述变长编解码损失和所述注意力损失进行加权求和,得到所述损失结果;
其中,所述定长编解码损失权重、所述变长编解码损失权重和所述注意力损失权重之和等于1。
13.一种语音识别装置,其特征在于,所述装置包括:
定长编码模块,用于对待识别语音进行定长编码处理,得到至少一个定长编码语音块;所述定长编码处理所采用的语音截取长度为固定截取长度;
第一CTC解码模块,用于确定每一所述定长编码语音块的CTC概率,并基于所述定长编码语音块的CTC概率,确定与所述待识别语音对应的至少一个文字所处位置;
变长编码模块,用于基于所述至少一个文字所处位置,对所述至少一个定长编码语音块进行变长编码处理,得到至少一个变长编码语音块;所述变长编码处理所采用的语音截取区间为非固定区间;
第二CTC解码模块,用于确定每一所述变长编码语音块的CTC概率;
确定模块,用于基于所述变长编码语音块的CTC概率,确定所述待识别语音对应的语音识别结果。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的语音识别方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行所述可执行指令时,实现权利要求1至12任一项所述的语音识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211473276.2A CN117012192A (zh) | 2022-11-21 | 2022-11-21 | 语音识别方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211473276.2A CN117012192A (zh) | 2022-11-21 | 2022-11-21 | 语音识别方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117012192A true CN117012192A (zh) | 2023-11-07 |
Family
ID=88560693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211473276.2A Pending CN117012192A (zh) | 2022-11-21 | 2022-11-21 | 语音识别方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117012192A (zh) |
-
2022
- 2022-11-21 CN CN202211473276.2A patent/CN117012192A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347873B (zh) | 视频分类方法、装置、电子设备及存储介质 | |
CN111581229B (zh) | Sql语句的生成方法、装置、计算机设备及存储介质 | |
US20210081503A1 (en) | Utilizing a gated self-attention memory network model for predicting a candidate answer match to a query | |
CN112528637B (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN108959388B (zh) | 信息生成方法及装置 | |
CN112395385B (zh) | 基于人工智能的文本生成方法、装置、计算机设备及介质 | |
CN111090756A (zh) | 基于人工智能的多目标推荐模型的训练方法及装置 | |
CN112084752B (zh) | 基于自然语言的语句标注方法、装置、设备及存储介质 | |
CN113327599B (zh) | 语音识别方法、装置、介质及电子设备 | |
CN111767394A (zh) | 一种基于人工智能专家系统的摘要提取方法及装置 | |
CN115132209A (zh) | 语音识别方法、装置、设备和介质 | |
CN112182281B (zh) | 一种音频推荐方法、装置及存储介质 | |
CN117370373A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN111078849A (zh) | 用于输出信息的方法和装置 | |
CN116913278B (zh) | 语音处理方法、装置、设备和存储介质 | |
CN113836308B (zh) | 网络大数据长文本多标签分类方法、系统、设备及介质 | |
CN117012192A (zh) | 语音识别方法、装置、电子设备及计算机可读存储介质 | |
CN113986958B (zh) | 文本信息的转换方法、装置、可读介质和电子设备 | |
CN112651231B (zh) | 口语信息处理方法、装置和电子设备 | |
CN111027332B (zh) | 生成翻译模型的方法和装置 | |
CN113870830A (zh) | 基于人工智能的语音合成方法、装置、设备及存储介质 | |
CN114297349A (zh) | 模型训练方法、对话摘要生成方法、系统、设备及介质 | |
CN113628215B (zh) | 图像处理方法、系统、设备及存储介质 | |
CN116776870B (zh) | 意图识别方法、装置、计算机设备及介质 | |
CN114492457B (zh) | 语义识别方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |