CN115346517A - 一种流式语音识别方法、装置、设备及存储介质 - Google Patents
一种流式语音识别方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115346517A CN115346517A CN202110522267.7A CN202110522267A CN115346517A CN 115346517 A CN115346517 A CN 115346517A CN 202110522267 A CN202110522267 A CN 202110522267A CN 115346517 A CN115346517 A CN 115346517A
- Authority
- CN
- China
- Prior art keywords
- segment
- current
- identification
- preset
- recognition
- 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
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种流式语音识别方法、装置、设备及存储介质,该方法包括:接收语音流为当前识别片段;对当前识别片段进行静音检测,基于静音检测的结果判断当前识别片段中是否包含预设静音部分;如果当前识别片段中包含预设静音部分,利用解码器对当前识别片段进行解码,得到相应的语音识别结果,并在对当前识别片段中位于预设静音部分之前的部分进行解码后,初始化解码器中的相应参数;如果当前识别片段中不包含预设静音部分,利用解码器对当前识别片段进行解码,得到相应的语音识别结果,且在对当前识别片段进行解码的过程中无需初始化所述解码器中的相应参数;预设静音部分为静音持续时长大于预设时长的部分。从而能够有效提高语音识别速度。
Description
技术领域
本发明涉及音频检测技术领域,更具体地说,涉及一种流式语音识别方法、装置、设备及存储介质。
背景技术
随着技术的不断进步,越来越多的企业、机构推出基于语音交互技术的产品,如智能外呼机器人、智能客服质检、会议字幕等。这类产品利用语音识别、自然语言处理等技术分析用户的语音输入,以完成相应的操作或任务。
在语音交互过程中,为提高用户体验,这类产品需要及时对用户语音输入进行处理,以降低响应延时。比如在智能外呼场景下,就需要产品能够准确、快速地通过语音识别服务器将该语音识别成文字信息,然后再根据自然语言处理得到用户意图后,作出相应的回复,从而完成一轮对话。
在传统方案中,通常是将语音流连续不断的输入至语音识别引擎中进行语音识别,具体可以包括得到输入的语音的概率矩阵以及对概率矩阵进行解码,但是由于语音长度较长,因此在语音识别过程中会导致解码路径不断累积,解码速度不断变慢,也即现有技术中实现语音识别的方式存在语音识别速度较慢的问题。
发明内容
本发明的目的是提供一种流式语音识别方法、装置、设备及存储介质,能够有效提高语音识别速度。
为了实现上述目的,本发明提供如下技术方案:
一种流式语音识别方法,包括:
接收语音流,确定当前接收的语音流为当前识别片段;
对当前识别片段进行静音检测,基于静音检测的结果判断当前识别片段中是否包含预设静音部分;其中,所述预设静音部分为静音持续时长大于预设时长的部分;
如果当前识别片段中包含所述预设静音部分,则利用解码器对当前识别片段进行解码,得到相应的语音识别结果,并在对当前识别片段中位于所述预设静音部分之前的部分进行解码后,初始化所述解码器中的相应参数;
如果当前识别片段中不包含所述预设静音部分,则利用所述解码器对当前识别片段进行解码,得到相应的语音识别结果,且在对当前识别片段进行解码的过程中无需初始化所述解码器中的相应参数。
优选的,利用解码器对当前识别片段进行解码,包括:
判断当前识别片段是否为所属语音段的第一个识别片段;
如果当前识别片段为所属语音段的第一个识别片段,则将当前识别片段的概率矩阵输入至所述解码器解码;其中,任意识别片段的概率矩阵为将该任意识别片段输入CTC训练的声学模型得到的;
如果当前识别片段不为所属语音段的第一个识别片段,则利用当前识别片段前两个识别片段的概率矩阵及当前识别片段的概率矩阵计算新的概率矩阵,将该新的概率矩阵作为当前识别片段的概率矩阵输入至所述解码器解码。
优选的,将当前识别片段的概率矩阵输入至所述解码器解码,包括:
如果当前识别片段中包含所述预设静音部分,则将当前识别片段中包含的每个所述预设静音部分均作为断点,利用所述断点将当前识别片段分割为多个识别子片段,并将每个所述识别子片段的概率矩阵分别输入至所述解码器解码;
如果当前识别片段中不包含所述预设静音部分,则直接将当前识别片段的概率矩阵输入至所述解码器解码。
优选的,利用当前识别片段前两个识别片段的概率矩阵及当前识别片段的概率矩阵计算新的概率矩阵,包括:
确定当前识别片段的前两个识别片段对应的概率矩阵分别为第一概率矩阵及第二概率矩阵;其中,所述第一概率矩阵早于所述第二概率矩阵得到;
计算所述第一概率矩阵的矩阵值为预设比例,并确定位于所述第二概率矩阵尾部的所述预设比例的行为子概率矩阵;
将子概率矩阵及当前识别矩阵的概率矩阵进行拼接,得到新的概率矩阵。
优选的,判断当前识别片段是否为所属语音段的第一个识别片段,包括:
检测开始标志的值;
如果所述开始标志的值为第一预设值,则确定当前识别片段为所属语音段的第一个识别片段;
如果所述开始标志的值为第二预设值,则确定当前识别片段不为所属语音段的第一个识别片段;其中,接收到指定识别片段后将所述开始标志设置为所述第二预设值,其余时间将所述开始标志设置为所述第一预设值,所述指定识别片段为包含所述预设静音部分的识别片段。
优选的,基于静音检测的结果判断当前识别片段中是否包含预设静音部分,包括:
获取静音检测的结果中包含的多个blank得分;
如果存在任意多个连续的blank得分均大于得分阈值,则确定当前识别片段中包含所述预设静音部分,且该任意多个连续的blank得分对应当前识别片段中的部分为所述预设静音部分;
如果不存在任意多个连续的blank得分均大于得分阈值,则确定当前识别片段中不包含所述预设静音部分。
优选的,对当前识别片段进行静音检测之前,还包括:
检测结束标志的值;
如果所述结束标志的值为第三预设值,则在利用解码器对当前识别片段进行解码后,初始化所述解码器中的相应参数;
如果所述结束标志的值为第四预设值,则执行对当前识别片段进行静音检测的步骤;其中,接收到管理终端发送的结束指令后将所述结束标志设置为所述第三预设值,其余时间将所述结束标志设置为所述第四预设值。
一种流式语音识别装置,包括:
确定模块,用于:接收语音流,确定当前接收的语音流为当前识别片段;
检测模块,用于:对当前识别片段进行静音检测,基于静音检测的结果判断当前识别片段中是否包含预设静音部分;其中,所述预设静音部分为静音持续时长大于预设时长的部分;
第一执行模块,用于:如果当前识别片段中包含所述预设静音部分,则利用解码器对当前识别片段进行解码,得到相应的语音识别结果,并在对当前识别片段中位于所述预设静音部分之前的部分进行解码后,初始化所述解码器中的相应参数;
第二执行模块,用于:如果当前识别片段中不包含所述预设静音部分,则利用所述解码器对当前识别片段进行解码,得到相应的语音识别结果,且在对当前识别片段进行解码的过程中无需初始化所述解码器中的相应参数。
一种流式语音识别设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述流式语音识别方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述流式语音识别方法的步骤。
本发明提供了一种流式语音识别方法、装置、设备及存储介质,该方法包括:接收语音流,确定当前接收的语音流为当前识别片段;对当前识别片段进行静音检测,基于静音检测的结果判断当前识别片段中是否包含预设静音部分;如果当前识别片段中包含所述预设静音部分,则利用解码器对当前识别片段进行解码,得到相应的语音识别结果,并在对当前识别片段中位于所述预设静音部分之前的部分进行解码后,初始化所述解码器中的相应参数;如果当前识别片段中不包含所述预设静音部分,则利用所述解码器对当前识别片段进行解码,得到相应的语音识别结果,且在对当前识别片段进行解码的过程中无需初始化所述解码器中的相应参数;其中,所述预设静音部分为静音持续时长大于预设时长的部分。
由于流式语音中可能包含有多个含义之间无直接关联的语音段,而无直接关联的语音段之间在解码时并不需要互相考虑,因此本申请可以通过判断接收的语音流中是否具有足够长的静音部分,确定该语音流中是否包含所属语音段最后的语音部分,如果语音流具有足够长的静音部分,则说明该语音流中上述静音部分之前的部分所属的语音段所包含的具有含义的文字部分已经输入完成,也即该语音流中上述静音部分之前的部分为所属语音段最后的语音部分,考虑到该语音流中上述静音部分之前的部分所属语音段的解码对其之后的语音流的解码并不存在影响,则可以初始化解码器中的相应参数,以清除相应的解码路径,如果语音流中不具有足够长的静音部分,则为了考虑该语音流对所属语音段的其他语音流的影响,并不初始化解码器中的相应参数,而是继续使用当前的解码器;从而在保证对接收的语音流能够实现有效解码以进行相应语音识别的同时,避免由于语音长度较长导致解码路径不断累积、解码速度不断变慢,能够有效提高语音识别速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种流式语音识别方法的流程图;
图2为本发明实施例提供的一种流式语音识别方法中利用解码器对当前识别片段进行解码的流程图;
图3为本发明实施例提供的一种流式语音识别方法中计算新的概率矩阵的流程图;
图4为本发明实施例提供的一种流式语音识别方法中判断当前识别片段是否为所属语音段的第一个识别片段的流程图;
图5为本发明实施例提供的一种流式语音识别方法基于结束标志确定是否进行静音检测的流程图;
图6为本发明实施例提供的一种流式语音识别方法中判断当前识别片段中是否包含预设静音部分的流程图;
图7本发明实施例提供的一种流式语音识别装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的一种流式语音识别方法的流程图,可以包括:
S11:接收语音流,确定当前接收的语音流为当前识别片段。
本发明实施例提供的一种流式语音识别方法的执行主体可以为流式语音识别装置或设备,也可以称流式语音识别装置或设备为语音识别引擎,以下以该流式语音识别方法的执行主体为语音识别引擎进行具体说明。需要说明的是,可以将语音流连续不断的输入至语音识别引擎中,语音识别引擎每接收到输入的一段语音流,则将这段语音流作为一个识别片段,并在后续对该识别片段进行相应的语音识别。
S12:对当前识别片段进行静音检测,基于静音检测的结果判断当前识别片段中是否包含预设静音部分;其中,预设静音部分为静音持续时长大于预设时长的部分。
其中,预设时长可以根据实际需要进行设定,如8ms、10ms等。本申请在每次接收到一段语音流后均将其作为识别片段,而当前接收到的识别片段则可以称之为当前识别片段。需要说明的是,通常连续不断输入的语音流中可能包含有多个含义之间无直接关联的语音段,每个语音段的末尾都存在相应的静音部分,与现有技术中含义相同的是,静音部分即为不存在任何能够转换为文字的、不具有任何实际含义的语音的部分;如语音流为外界说话的声音时,每段话说完都会经过一段时间的静音后再开始下一段话,因此每段话的语音流则作为相应的语音段。本申请为了区分不同的语音段,实现流式语音的智能断句,可以对当前识别片段进行静音检测,从而基于静音检测的结果确定当前识别片段中存在足够长的静音部分时,则可以认为当前识别片段中位于该足够长的静音部分之前的部分、为所属语音段的最后的语音部分,以基于此将不断连续输入的语音流划分为相应的语音段。
另外,当前识别片段中一般仅可能包含一个预设静音部分,但是在特殊情况下也可能包含多个预设静音部分,此时当前识别片段中每个预设静音部分之前的部分均为其所属语音段最后的部分,因此在对当前识别片段中每个预设静音部分之前的尚未解码的部分进行解码后,均需要初始化解码器中的相关参数,以清除相应语音段的解码路径。
S13:如果当前识别片段中包含预设静音部分,则利用解码器对当前识别片段进行解码,得到相应的语音识别结果,并在对当前识别片段中位于预设静音部分之前的部分进行解码后,初始化解码器中的相应参数。
其中,解码器与现有技术中实现语音识别时所用的解码器含义相同,利用解码器能够对任意识别片段进行解码,以得到对该任意识别片段进行语音识别的结果,即语音识别结果;在利用解码器对识别片段进行解码时,如果不对解码器中与解码相关的参数进行初始化,则这些参数将会受对识别片段解码的操作的影响发生相应的变化,而这些参数发生变化则会导致相应解码路径的累积,也即不断利用解码器对识别片段进行解码,会导致相应解码路径不断累积,这与现有技术中解码器的解码原理是一致的。
由于同一语音段内不同语音流的含义之间很可能存在一定的关联,因此本申请在对同一语音段内的语音流进行解码的过程中并不对解码器中解码相关的参数进行初始化,而是使得同一语音段内较早时间录入的语音流对解码器中相应参数产生的影响,延续到较晚时间录入的语音流,从而实现同一语音段内不同语音流的有效解码;由于不同语音段内不同语音流的含义之间通常并不存在关联,因此本申请在对任意语音段的全部语音流解码完成后,则会对解码器中与解码相关的参数进行初始化,以清除在对该任意语音段的语音流解码过程中累积的解码路径,避免因解码路径的累积导致解码速度的变慢。其中,对解码器中与解码相关的参数进行初始化可以为将解码器中与解码相关的参数的值设置为默认值。
S14:如果当前识别片段中不包含预设静音部分,则利用解码器对当前识别片段进行解码,得到相应的语音识别结果,且在对当前识别片段进行解码的过程中无需初始化解码器中的相应参数。
如果当前识别片段中不包含预设静音部分,则说明当前识别片段中并不存在所属语音段的最后语音的部分,因此在对当前识别片段进行解码的过程中初始化解码器中的相关参数,而是直接继续使用当前的解码器实现后续相关语音流的解码。
由于流式语音中可能包含有多个含义之间无直接关联的语音段,而无直接关联的语音段之间在解码时并不需要互相考虑,因此本申请可以通过判断接收的语音流中是否具有足够长的静音部分,确定该语音流中是否包含所属语音段最后的语音部分,如果语音流具有足够长的静音部分,则说明该语音流中上述静音部分之前的部分所属的语音段所包含的具有含义的文字部分已经输入完成,也即该语音流中上述静音部分之前的部分为所属语音段最后的语音部分,考虑到该语音流中上述静音部分之前的部分所属语音段的解码对其之后的语音流的解码并不存在影响,则可以初始化解码器中的相应参数,以清除相应的解码路径,如果语音流中不具有足够长的静音部分,则为了考虑该语音流对所属语音段的其他语音流的影响,并不初始化解码器中的相应参数,而是继续使用当前的解码器;从而在保证对接收的语音流能够实现有效解码以进行相应语音识别的同时,避免由于语音长度较长导致解码路径不断累积、解码速度不断变慢,能够有效提高语音识别速度。
如图2所示,本发明实施例提供的一种流式语音识别方法,利用解码器对当前识别片段进行解码,可以包括:
S21:判断当前识别片段是否为所属语音段的第一个识别片段;
S22:如果当前识别片段为所属语音段的第一个识别片段,则将当前识别片段的概率矩阵输入至解码器解码;其中,任意识别片段的概率矩阵为将该任意识别片段输入CTC训练的声学模型得到的;
S23:如果当前识别片段不为所属语音段的第一个识别片段,则利用当前识别片段前两个识别片段的概率矩阵及当前识别片段的概率矩阵计算新的概率矩阵,将该新的概率矩阵作为当前识别片段的概率矩阵输入至解码器解码。
其中,CTC(Connectionist temporal classification,基于神经网络的时序类分类)为神经网络训练中使用的一种计算损失的方法,用来解决时序类数据的分类问题,而CTC训练的声学模型与现有技术中对应概念的含义相同;将任意的识别片段输入至该声学模型,能够得到该声学模型输出的概率矩阵,进而将该概率矩阵输入至解码器中,则能够得到解码器输出的该任意的识别片段的语音识别结果。由于属于同一语音段的不同语音流的含义之间很可能存在关联,因此本申请在对任意的识别片段进行解码时,可以考虑该任意的识别片段的前两个识别片段,进而基于该任意的识别片段的概率距离及该任意的识别片段的前两个识别片段的概率矩阵综合计算得到一个新的概率矩阵,并将该新的概率矩阵作为该任意的识别片段的概率矩阵进行解码,从而能够有效提高识别片段的解码准确性。
另外,由于任意语音段的第一个识别片段是不存在前两个识别片段的,因此对于任意语音段的第一个识别片段,可以直接将其概率矩阵进行解码,由于任意语音段的第二个识别片段仅存在前一个识别片段,因此也可以将其作为第一识别片段进行处理,也即将其概率矩阵进行解码;当然根据实际需要进行的其他设定也均在本发明的保护范围之内。
本发明实施例提供的一种流式语音识别方法,将当前识别片段的概率矩阵输入至解码器解码,可以包括:
如果当前识别片段中包含预设静音部分,则将当前识别片段中包含的每个预设静音部分均作为断点,利用断点将当前识别片段分割为多个识别子片段,并将每个识别子片段的概率矩阵分别输入至解码器解码;
如果当前识别片段中不包含预设静音部分,则直接将当前识别片段的概率矩阵输入至解码器解码。
由于同一段语音流中可能存在多个预设静音部分,这些预设静音部分如果位于所属语音流的中间,则可以将所属语音流中相邻两个预设静音部分之间的部分作为一个识别子片段,所属语音流的开始及位于该语音流中间的第一个预设静音部分之间的部分作为一个识别子片段,所属语音流的末尾及位于该语音流中间的最后一个预设静音部分之间的部分作为一个识别子片段,从而将位于同一段语音流中间的每个预设静音部分作为断点,利用这些断点将所属语音流划分为多个识别子片段,然后依次将这些识别子片段对应的概率矩阵分别输入至解码器中进行解码,并在对每个识别子片段的概率矩阵进行解码后,均需要初始化解码器中相关的参数;可见,本申请能够基于视频流中包含的预设静音部分将其划分为多个识别子片段,进而实现这些识别子片段的概率矩阵的解码,保证对每个语音段解码完成后均对解码器中相关参数进行初始化。
如图3所示,本发明实施例提供的一种流式语音识别方法,利用当前识别片段前两个识别片段的概率矩阵及当前识别片段的概率矩阵计算新的概率矩阵,可以包括:
S31:确定当前识别片段的前两个识别片段对应的概率矩阵分别为第一概率矩阵及第二概率矩阵;其中,第一概率矩阵早于第二概率矩阵得到;
S32:计算第一概率矩阵的矩阵值为预设比例,并确定位于第二概率矩阵尾部的预设比例的行为子概率矩阵;
S33:将子概率矩阵及当前识别矩阵的概率矩阵进行拼接,得到新的概率矩阵。
其中,第一概率矩阵早于第二概率矩阵得到,也即为接收第一概率矩阵对应识别片段早于接收第二概率矩阵对应识别片段。需要说明的是,本申请在利用当前识别片段及其前两个识别片段分别对应的概率矩阵计算新的概率矩阵时,可以计算前两个识别片段中接收时间较早的识别片段的概率矩阵的矩阵值,将该矩阵值作为预设比例,然后从前两个识别片段中接收时间较晚的识别片段的概率矩阵的最后一行起、向上取至少一行作为子概率矩阵,子概率矩阵占前两个识别片段中接收时间较晚的识别片段的概率矩阵的比例为预设比例,最后将子概率矩阵及当前识别片段的概率矩阵拼接在一起,则可以得到新的概率矩阵,从而能够通过这种方式有效基于当前识别片段及其前两个识别片段实现对当前识别片段的解码,提高当前识别片段解码准确性。
如图4所示,本发明实施例提供的一种流式语音识别方法,判断当前识别片段是否为所属语音段的第一个识别片段,可以包括:
S41:检测开始标志的值;
S42:如果开始标志的值为第一预设值,则确定当前识别片段为所属语音段的第一个识别片段;
S43:如果开始标志的值为第二预设值,则确定当前识别片段不为所属语音段的第一个识别片段;其中,接收到指定识别片段后将开始标志设置为第二预设值,其余时间将开始标志设置为第一预设值,指定识别片段为包含预设静音部分的识别片段。
其中,第一预设值及第二预设值的取值可以根据实际需要进行设定,如第一预设值为1,第二预设值为0。为了便于快速判断当前识别片段是否为所属语音段的第一识别片段,本申请可以设置有开始标志,开始标志的默认值为第一预设值,具体来说,接收一段数据流,此时开始标志的值为第一预设值,因此可以确定该段数据流为所属语音段的第一个识别片段,并将开始标志的值更改为第二预设值,再接收到新的数据流,此时开始标志的值为第二预设值,因此可以确定再接收到的新的数据流不为所属语音段的第一个识别片段,如果再接收到的新的数据流包含所属语音段的最后一个识别片段,则将开始标志的值更改为第一预设值,否则不对开始标志的值进行更改,继续接收数据流,以此类推。
如图5所示,本发明实施例提供的一种流式语音识别方法,对当前识别片段进行静音检测之前,还可以包括:
S51:检测结束标志的值;
S52:如果结束标志的值为第三预设值,则在利用解码器对当前识别片段进行解码后,初始化解码器中的相应参数;
S53:如果结束标志的值为第四预设值,则执行对当前识别片段进行静音检测的步骤;其中,接收到管理终端发送的结束指令后将结束标志设置为第三预设值,其余时间将结束标志设置为第四预设值。
其中,第三预设值及第四预设值的取值可以根据实际需要进行设定,如第三预设值为1,第四预设值为0。本申请实施例中外界可以通过管理终端向语音识别引擎发送结束语音识别的指令,即结束指令;语音识别引擎在接收到结束指令后,可以响应该结束指令在识别完成已经接收的识别片段后停止接收语音流,并将结束标志的值设置为第三预设值;如果在接收到任意识别片段后,结束标志的值为第三预设值,则说明该任意识别片段必然为最后一个识别片段,因此无需再对其进行静音检测,而是直接对其进行解码后初始化解码器中相应的参数,否则,继续实现静音检测等步骤。可见,本申请可以满足外界结束语音识别的需求,并能够在外界需要结束语音识别时不再对已经接收到的语音流进行静音检测,有效避免相应资源的浪费。
如图6所示,本发明实施例提供的一种流式语音识别方法,基于静音检测的结果判断当前识别片段中是否包含预设静音部分,可以包括:
S61:获取静音检测的结果中包含的多个blank得分;
S62:如果存在任意多个连续的blank得分均大于得分阈值,则确定当前识别片段中包含静音部分,且该任意多个连续的blank得分对应当前识别片段中的部分为静音部分;
S63:如果不存在任意多个连续的blank得分均大于得分阈值,则确定当前识别片段中不包含静音部分。
其中,得分阈值可以根据实际需要进行设定。本申请在实现静音检测时可以是基于blank得分实现的,blank得分与现有技术中对应概念的含义相同,blank代表空,blank得分就是对应的部分非字的概率,这部分可能是静音,也可能是噪音,但不是一个或者多个字,根据这一特征就可以根据blank得分的大小来判断当前识别片段中相应部分是不是有人声。具体来说,任意识别片段可以包含有多个blank得分,这些blank得分对应该任意识别片段的不同部分,比如一个识别片段为40ms,而产生的blank得分对应到每10ms一个,则40ms的识别片段对应4个blank得分;在一种具体实现方式中,任意识别片段的blank得分可以为将其输入至声学模型后得到的概率矩阵的最后一列。如果任意blank得分大于相应的得分阈值,则说明该任意blank得分对应的识别片段的部分是空的、不包含任何文字的,也即为静音;因此在存在多个连续的blank得分均大于得分阈值时,则可以确定这多个连续的blank得分对应的识别片段的部分为预设静音部分,从而能够基于识别片段的blank得分有效确定出相应的预设静音部分。另外,判断预设静音部分时,需要大于得分阈值的blank得分的连续个数根据实际需要进行设定,如3个;且需要大于得分阈值的连续多个blank得分所对应的识别片段的部分的总时长大于预设时长。
在一种具体实现方式中,基于blank得分实现静音检测的过程可以包括:
步骤一 初始化三个列表,这三个列表分别用于记录基于预设静音部分划分后每个识别子片段的起始位置、结束位置及blank得分;
步骤二 判断结束标志是否为1(第三预设值为1),若是,则起始位置为当前识别片段的开始,结束位置为当前识别片段的结束;否则,执行步骤三;
步骤三 将当前识别片段的blank得分填充进blank得分的列表,且每个blank得分均具有相应的序号,起始位置的列表加入当前识别片段的开始位置;初始化开始变量和结束变量为0,然后循环遍历blank得分的列表,执行步骤四;
步骤四 根据blank得分更新开始变量和结束变量的值,如果blank得分大于得分阈值,则将结束变量赋值为当前blank得分的序号,否则将开始变量赋值为当前blank得分的序号;当结束变量和开始变量的值大于根据实际需要设定的切分阈值并且下一个blank得分也大于得分阈值时,将结束变量的值加入起始位置列表和结束位置列表,更新开始变量和结束变量的值为当前blank得分的序号;
步骤五 结束位置的列表加入当前识别片段的结束位置,最终基于起始位置的列表及结束位置的列表确定出每个预设静音部分及每个识别子片段。
而实现流式语音识别的过程具体可以包括:
步骤一 输入一段语音流;
步骤二 将输入的该段语音流作为当前识别片段,执行CTC blank智能断句逻辑(步骤三);
步骤三 判断开始标志是否为0(第二预设值为0),若是,则进入步骤四;否则,将上一识别片段处理返回的概率矩阵与该识别片段的概率矩阵拼接在一起进行解码,并返回上一识别片段处理返回的概率矩阵;
步骤四 判断上一识别片段处理返回的概率矩阵是否为空,若为空,则直接获取blank得分实现的切分结果;否则,根据上一识别片段返回的概率矩阵大小,从当前识别片段的起始节点(当前识别片段的上一识别片段的概率矩阵的最后一行)开始向上取得子概率矩阵,将此子概率矩阵与当前识别片段的概率矩阵拼接在一起,得到当前识别片段最终的概率矩阵,并获取blank得分实现的切分结果;
步骤五:如果对当前识别片段切分成多个识别子片段,则将每个识别子片段对应概率矩阵输入至解码器中得到相应语音识别结果,在每次对识别子片段进行解码后初始化解码参数,将每个识别子片段对应语音识别结果拼接得到当前识别片段总的语音识别结果,返回最后一个识别子片段的概率矩阵;如果未对当前识别片段切分成多个识别子片段,则直接将该当前识别片段的概率矩阵输入至解码器中得到相应语音识别结果,返回上一识别片段返回的概率矩阵;其中,任意识别片段返回的概率矩阵及该任意识别片段的概率矩阵是不同的含义。
在一种具体应用场景中,输入的语音为外界说话的声音,每次接收的数据流均为20ms,在每次接收到20ms的数据流后,均将该段数据流作为当前待识别片段实现流式语音识别;在流式语音识别过程中,语音段包含的语音为外界连续说出某段话的语音,预设静音部分为外界并没有说话的声音,其余部分则为外界正在说话的声音,而基于预设静音部分实现的识别子片段划分,实际上则可以理解为智能断句,最终通过智能断句的结果实现解码器的相关参数初始化,以消除相应的解码路径,避免解码路径不断累积导致的解码速度变慢。
综上,本申请能够基于blank得分实现预设静音部分的定位,进而实现语音流的划分,其利用CTC训练的声学模型的尖峰特征,可以在有音乐噪声等环境下有效的切分语音,防止解码速度的变慢;同时不引入额外的计算消耗。
本发明实施例还提供了一种流式语音识别装置,如图7所示,可以包括:
确定模块11,用于:接收语音流,确定当前接收的语音流为当前识别片段;
检测模块12,用于:对当前识别片段进行静音检测,基于静音检测的结果判断当前识别片段中是否包含预设静音部分;其中,预设静音部分为静音持续时长大于预设时长的部分;
第一执行模块13,用于:如果当前识别片段中包含预设静音部分,则利用解码器对当前识别片段进行解码,得到相应的语音识别结果,并在对当前识别片段中位于预设静音部分之前的部分进行解码后,初始化解码器中的相应参数;
第二执行模块14,用于:如果当前识别片段中不包含预设静音部分,则利用解码器对当前识别片段进行解码,得到相应的语音识别结果,且在对当前识别片段进行解码的过程中无需初始化解码器中的相应参数。
本发明实施例提供的一种流式语音识别装置,第一执行模块及第二执行模块均可以包括:
解码模块,用于:判断当前识别片段是否为所属语音段的第一个识别片段;如果当前识别片段为所属语音段的第一个识别片段,则将当前识别片段的概率矩阵输入至解码器解码;其中,任意识别片段的概率矩阵为将该任意识别片段输入CTC训练的声学模型得到的;如果当前识别片段不为所属语音段的第一个识别片段,则利用当前识别片段前两个识别片段的概率矩阵及当前识别片段的概率矩阵计算新的概率矩阵,将该新的概率矩阵作为当前识别片段的概率矩阵输入至解码器解码。
本发明实施例提供的一种流式语音识别装置,解码模块可以包括:
划分单元,用于:如果当前识别片段中包含预设静音部分,则将当前识别片段中包含的每个预设静音部分均作为断点,利用断点将当前识别片段分割为多个识别子片段,并将每个识别子片段的概率矩阵分别输入至解码器解码;如果当前识别片段中不包含预设静音部分,则直接将当前识别片段的概率矩阵输入至解码器解码。
本发明实施例提供的一种流式语音识别装置,解码模块可以包括:
计算单元,用于:确定当前识别片段的前两个识别片段对应的概率矩阵分别为第一概率矩阵及第二概率矩阵;计算第一概率矩阵的矩阵值为预设比例,并确定位于第二概率矩阵尾部的预设比例的行为子概率矩阵;将子概率矩阵及当前识别矩阵的概率矩阵进行拼接,得到新的概率矩阵;其中,第一概率矩阵早于第二概率矩阵得到。
本发明实施例提供的一种流式语音识别装置,解码模块可以包括:
判断单元,用于:检测开始标志的值;如果开始标志的值为第一预设值,则确定当前识别片段为所属语音段的第一个识别片段;如果开始标志的值为第二预设值,则确定当前识别片段不为所属语音段的第一个识别片段;其中,接收到指定识别片段后将开始标志设置为第二预设值,其余时间将开始标志设置为第一预设值,指定识别片段为包含预设静音部分的识别片段。
本发明实施例提供的一种流式语音识别装置,检测模块可以包括:
检测单元,用于:获取静音检测的结果中包含的多个blank得分;如果存在任意多个连续的blank得分均大于得分阈值,则确定当前识别片段中包含预设静音部分,且该任意多个连续的blank得分对应当前识别片段中的部分为预设静音部分;如果不存在任意多个连续的blank得分均大于得分阈值,则确定当前识别片段中不包含预设静音部分。
本发明实施例提供的一种流式语音识别装置,还包括:
响应模块,用于:对当前识别片段进行静音检测之前,检测结束标志的值;如果结束标志的值为第三预设值,则在利用解码器对当前识别片段进行解码后,初始化解码器中的相应参数;如果结束标志的值为第四预设值,则执行对当前识别片段进行静音检测的步骤;其中,接收到管理终端发送的结束指令后将结束标志设置为第三预设值,其余时间将结束标志设置为第四预设值。
本发明实施例还提供了一种流式语音识别设备,可以包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上任一项流式语音识别方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可以实现如上任一项流式语音识别方法的步骤。
需要说明的是,本发明实施例提供的一种流式语音识别装置、设备及存储介质中相关部分的说明请参见本发明实施例提供的一种流式语音识别方法中对应部分的详细说明,在此不再赘述。另外本发明实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
需要指出的是,上述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本申请所提供的一种流式语音识别方法、装置、设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种流式语音识别方法,其特征在于,包括:
接收语音流,确定当前接收的语音流为当前识别片段;
对当前识别片段进行静音检测,基于静音检测的结果判断当前识别片段中是否包含预设静音部分;其中,所述预设静音部分为静音持续时长大于预设时长的部分;
如果当前识别片段中包含所述预设静音部分,则利用解码器对当前识别片段进行解码,得到相应的语音识别结果,并在对当前识别片段中位于所述预设静音部分之前的部分进行解码后,初始化所述解码器中的相应参数;
如果当前识别片段中不包含所述预设静音部分,则利用所述解码器对当前识别片段进行解码,得到相应的语音识别结果,且在对当前识别片段进行解码的过程中无需初始化所述解码器中的相应参数。
2.根据权利要求1所述的方法,其特征在于,利用解码器对当前识别片段进行解码,包括:
判断当前识别片段是否为所属语音段的第一个识别片段;
如果当前识别片段为所属语音段的第一个识别片段,则将当前识别片段的概率矩阵输入至所述解码器解码;其中,任意识别片段的概率矩阵为将该任意识别片段输入CTC训练的声学模型得到的;
如果当前识别片段不为所属语音段的第一个识别片段,则利用当前识别片段前两个识别片段的概率矩阵及当前识别片段的概率矩阵计算新的概率矩阵,将该新的概率矩阵作为当前识别片段的概率矩阵输入至所述解码器解码。
3.根据权利要求2所述的方法,其特征在于,将当前识别片段的概率矩阵输入至所述解码器解码,包括:
如果当前识别片段中包含所述预设静音部分,则将当前识别片段中包含的每个所述预设静音部分均作为断点,利用所述断点将当前识别片段分割为多个识别子片段,并将每个所述识别子片段的概率矩阵分别输入至所述解码器解码;
如果当前识别片段中不包含所述预设静音部分,则直接将当前识别片段的概率矩阵输入至所述解码器解码。
4.根据权利要求2所述的方法,其特征在于,利用当前识别片段前两个识别片段的概率矩阵及当前识别片段的概率矩阵计算新的概率矩阵,包括:
确定当前识别片段的前两个识别片段对应的概率矩阵分别为第一概率矩阵及第二概率矩阵;其中,所述第一概率矩阵早于所述第二概率矩阵得到;
计算所述第一概率矩阵的矩阵值为预设比例,并确定位于所述第二概率矩阵尾部的所述预设比例的行为子概率矩阵;
将子概率矩阵及当前识别矩阵的概率矩阵进行拼接,得到新的概率矩阵。
5.根据权利要求2所述的方法,其特征在于,判断当前识别片段是否为所属语音段的第一个识别片段,包括:
检测开始标志的值;
如果所述开始标志的值为第一预设值,则确定当前识别片段为所属语音段的第一个识别片段;
如果所述开始标志的值为第二预设值,则确定当前识别片段不为所属语音段的第一个识别片段;其中,接收到指定识别片段后将所述开始标志设置为所述第二预设值,其余时间将所述开始标志设置为所述第一预设值,所述指定识别片段为包含所述预设静音部分的识别片段。
6.根据权利要求3所述的方法,其特征在于,基于静音检测的结果判断当前识别片段中是否包含预设静音部分,包括:
获取静音检测的结果中包含的多个blank得分;
如果存在任意多个连续的blank得分均大于得分阈值,则确定当前识别片段中包含所述预设静音部分,且该任意多个连续的blank得分对应当前识别片段中的部分为所述预设静音部分;
如果不存在任意多个连续的blank得分均大于得分阈值,则确定当前识别片段中不包含所述预设静音部分。
7.根据权利要求3至6任一项所述的方法,其特征在于,对当前识别片段进行静音检测之前,还包括:
检测结束标志的值;
如果所述结束标志的值为第三预设值,则在利用解码器对当前识别片段进行解码后,初始化所述解码器中的相应参数;
如果所述结束标志的值为第四预设值,则执行对当前识别片段进行静音检测的步骤;其中,接收到管理终端发送的结束指令后将所述结束标志设置为所述第三预设值,其余时间将所述结束标志设置为所述第四预设值。
8.一种流式语音识别装置,其特征在于,包括:
确定模块,用于:接收语音流,确定当前接收的语音流为当前识别片段;
检测模块,用于:对当前识别片段进行静音检测,基于静音检测的结果判断当前识别片段中是否包含预设静音部分;其中,所述预设静音部分为静音持续时长大于预设时长的部分;
第一执行模块,用于:如果当前识别片段中包含所述预设静音部分,则利用解码器对当前识别片段进行解码,得到相应的语音识别结果,并在对当前识别片段中位于所述预设静音部分之前的部分进行解码后,初始化所述解码器中的相应参数;
第二执行模块,用于:如果当前识别片段中不包含所述预设静音部分,则利用所述解码器对当前识别片段进行解码,得到相应的语音识别结果,且在对当前识别片段进行解码的过程中无需初始化所述解码器中的相应参数。
9.一种流式语音识别设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述流式语音识别方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述流式语音识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110522267.7A CN115346517A (zh) | 2021-05-13 | 2021-05-13 | 一种流式语音识别方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110522267.7A CN115346517A (zh) | 2021-05-13 | 2021-05-13 | 一种流式语音识别方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115346517A true CN115346517A (zh) | 2022-11-15 |
Family
ID=83978043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110522267.7A Pending CN115346517A (zh) | 2021-05-13 | 2021-05-13 | 一种流式语音识别方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115346517A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116343769A (zh) * | 2023-03-27 | 2023-06-27 | 镁佳(北京)科技有限公司 | 一种语音识别方法、装置、电子设备及存储介质 |
CN117524199A (zh) * | 2024-01-04 | 2024-02-06 | 广州小鹏汽车科技有限公司 | 语音识别方法、装置及车辆 |
-
2021
- 2021-05-13 CN CN202110522267.7A patent/CN115346517A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116343769A (zh) * | 2023-03-27 | 2023-06-27 | 镁佳(北京)科技有限公司 | 一种语音识别方法、装置、电子设备及存储介质 |
CN116343769B (zh) * | 2023-03-27 | 2023-10-20 | 镁佳(北京)科技有限公司 | 一种语音识别方法、装置、电子设备及存储介质 |
CN117524199A (zh) * | 2024-01-04 | 2024-02-06 | 广州小鹏汽车科技有限公司 | 语音识别方法、装置及车辆 |
CN117524199B (zh) * | 2024-01-04 | 2024-04-16 | 广州小鹏汽车科技有限公司 | 语音识别方法、装置及车辆 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111797632B (zh) | 信息处理方法、装置及电子设备 | |
KR101131278B1 (ko) | 대화 로그를 이용한 학습 기반 대화 시스템 성능 향상 방법 및 그 장치 | |
CN115346517A (zh) | 一种流式语音识别方法、装置、设备及存储介质 | |
CN110995943B (zh) | 多用户流式语音识别方法、系统、设备及介质 | |
CN112581938B (zh) | 基于人工智能的语音断点检测方法、装置和设备 | |
CN113345473B (zh) | 语音端点检测方法、装置、电子设备和存储介质 | |
CN114385800A (zh) | 语音对话方法和装置 | |
CN116153294B (zh) | 语音识别方法、装置、系统、设备及介质 | |
CN113314124A (zh) | 文本输出方法及系统、存储介质、电子装置 | |
CN111816172A (zh) | 一种语音应答方法及装置 | |
Chang et al. | Turn-taking prediction for natural conversational speech | |
US11295728B2 (en) | Method and system for improving recognition of disordered speech | |
CN114254587A (zh) | 主题段落划分方法、装置、电子设备及存储介质 | |
US20220399013A1 (en) | Response method, terminal, and storage medium | |
CN114783405B (zh) | 一种语音合成方法、装置、电子设备及存储介质 | |
CN113345423B (zh) | 语音端点检测方法、装置、电子设备和存储介质 | |
CN115831109A (zh) | 语音唤醒方法、装置、存储介质及电子设备 | |
CN112397053B (zh) | 语音识别方法、装置、电子设备及可读存储介质 | |
CN111970311B (zh) | 会话切分方法、电子设备及计算机可读介质 | |
CN111681644A (zh) | 一种说话人分割方法、装置、设备和存储介质 | |
Chang et al. | Streaming intended query detection using e2e modeling for continued conversation | |
CN111785259A (zh) | 信息处理方法、装置及电子设备 | |
CN114648984B (zh) | 音频断句方法、装置、计算机设备及存储介质 | |
CN114220444B (zh) | 语音解码方法、装置、电子设备和存储介质 | |
KR20230036891A (ko) | 음성 신호 대응 응답 텍스트 처리 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |