HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

一种延迟控制方法和装置与流程

2021-01-28 14:01:30|297|起点商标网
一种延迟控制方法和装置与流程

本申请实施例涉及语音识别技术,尤其涉及一种延迟控制方法和装置。



背景技术:

语音识别(automaticspeechrecognition,简称asr)是以语音为研究对象,通过语音信号处理和模式识别让机器自动识别和理解人类口述的语言。语音识别技术就是让机器通过识别和理解过程把语音信号转换为相应的文本或命令的技术。随着信息技术的发展,语音识别技术正逐步成为计算机信息处理技术中的关键技术,语音识别技术的应用场景也变得越来越广泛,例如语音识别技术可以应用在字幕添加、识别谈话中的敏感内容、人机交互等场景。

在使用语音识别技术的过程中,不可避免地存在网络延迟、语音解码延迟等延迟,导致将语音转换成文字的实时性难以达到业务要求。为了提高语音识别的实时性,在相关技术中,可以在asr模型的训练阶段对语音解码器剪枝或压缩,但这样会导致语音识别的识别率受损。



技术实现要素:

本申请提供一种延迟控制方法和装置,以解决为了提高语音识别的实时性而导致识别率受损的问题。

第一方面,本申请实施例提供了一种延迟控制方法,所述方法应用于语音识别系统中,所述语音识别系统中包括延迟控制参数,所述方法包括:

确定待识别语音信号的延迟等级;

根据所述延迟等级确定所述待识别语音信号的目标延迟估计时间;

确定所述待识别语音信号的时变延迟时间和非时变延迟时间;

结合所述时变延迟时间、所述非时变延迟时间以及所述目标延迟估计时间,判断是否需要调整所述语音识别系统的语音识别延迟时间;

若判定需要调整所述语音识别系统的语音识别延迟时间,则调整所述延迟控制参数的值。

第二方面,本申请实施例还提供了一种延迟控制装置,所述装置应用于语音识别系统中,所述语音识别系统中包括延迟控制参数,所述装置包括:

延迟等级确定单元,用于确定待识别语音信号的延迟等级;

目标延迟确定单元,用于根据所述延迟等级确定所述待识别语音信号的目标延迟估计时间;

时变及非时变延迟确定单元,用于确定所述待识别语音信号的时变延迟时间和非时变延迟时间;

延迟调整判断单元,用于结合所述时变延迟时间、所述非时变延迟时间以及所述目标延迟估计时间,判断是否需要调整所述语音识别系统的语音识别延迟时间;

延迟控制参数调整单元,用于在判定需要调整所述语音识别系统的语音识别延迟时间时,则调整所述延迟控制参数的值。

第三方面,本申请实施例还提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的方法。

第四方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的方法。

本申请具有如下有益效果:

在本实施例中,在asr系统中配置自适应调整的延迟控制参数,通过确定待识别语音信号的延迟等级、时变延迟时间和非时变延迟时间,并根据延迟等级确定待识别语音信号的目标延迟估计时间,然后结合该时变延迟时间、非时变延迟时间以及目标延迟估计时间,判定需要调整语音识别asr系统的语音识别延迟时间,则可以调整asr系统中延迟控制参数的值,以达到根据当前语境的延迟等级动态调整语音识别延迟的目的,提高asr系统快速适应变化的延迟环境的能力,使得asr系统在低延迟的环境下,采用高精度语音识别解码;在高延迟的环境下,为满足目标延迟采用低精度、低延迟语音识别解码。

附图说明

图1是本申请实施例一提供的一种延迟控制方法实施例的流程图;

图2是本申请实施例一提供的服务器框架示意图;

图3是本申请实施例二提供的另一种延迟控制方法实施例的流程图;

图4是本申请实施例二提供的另一种服务器框架示意图;

图5是本申请实施例三提供的一种延迟控制装置实施例的结构框图;

图6是本申请实施例四提供的一种服务器的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。

实施例一

图1为本申请实施例一提供的一种延迟控制方法实施例的流程图,本申请实施例的延迟控制方法可以应用于语音识别asr系统中。

该语音识别asr系统可以位于服务器中,如图2所示,服务器中除了包括asr系统,还可以包括语音解码器,客户端传入的语音数据包经由语音解码器解码成pcm(pulsecodemodulation,脉冲编码调制)数据,传给asr系统,由asr系统对该pcm数据进行语音识别解码,输出语音识别结果,如文字等文本。

本实施例具体可以包括如下步骤:

步骤110,确定待识别语音信号的延迟等级。

在一种例子中,待识别语音信号可以为传入至服务器的数据包经由语音解码器解码后得到的pcm数据。当asr系统获得待识别语音信号以后,可以首先确定待识别语音信号的延迟等级。

在该实施例中,延迟等级可以用于表示asr系统对该待识别语音信号进行语音识别时产生的、适于当前语境的延迟程度。作为一种示例,延迟等级可以包括但不限于:高延迟等级、中延迟等级及低延迟等级。

在一种实现中,可以采用基于规则rule-based的方式确定待识别语音信号的延迟等级。

步骤120,根据所述延迟等级确定所述待识别语音信号的目标延迟估计时间。

在该步骤中,目标延迟估计时间可以为根据在先的语音识别结果估测的、当前待识别语音信号的文字生成延迟。对于不同的语音场景,目标延迟估计时间是不同的,因此对于不同的延迟等级,目标延迟估计时间是不同的,延迟等级越高目标延迟估计时间越大。

例如,对于高延迟等级,高识别率和高字准率为第一优先,则目标延迟估计时间比较大,比如,可以设置为目标延迟估计时间为预设的极大值;对于中延迟等级,可以兼顾识别率和解码速度,则目标延迟估计时间的设置以不影响用户的体验和较高识别率为目标,比如,可以设置为目标延迟估计时间为150ms,其中,当延迟超过150ms时用户的体验就受到影响。对于低延迟等级,以用户体验为第一优先,则目标延迟估计时间的设置以提高用户的体验和适当的识别率为目标,比如,可以设置为目标延迟估计时间为100ms。

步骤130,确定所述待识别语音信号的时变延迟时间和非时变延迟时间。

从图2可知,语音数据的处理过程包括网络传输、语音解码和语音识别等阶段,每个阶段都可能带来时变的延迟或非时变的延迟。则在步骤130中可以获取待识别语音信号的时变延迟时间和非时变延迟时间。

作为一种示例,非时变延迟时间可以包括但不限于网络传输延迟时间;时变延迟时间可以包括但不限于:抖动缓冲延迟时间、语音解码延迟时间和语音识别延迟估计时间。

需要说明的是,上述的网络传输延迟时间、抖动缓冲延迟时间、语音解码延迟时间和语音识别延迟估计时间只是本实施例中对于时变延迟时间和非时变延迟时间的示例性说明,除了上述的延迟时间以外,还可以获取语音解码过程中的其他延迟时间,本实施例对此不作限制。

步骤140,结合所述时变延迟时间、所述非时变延迟时间以及所述目标延迟估计时间,判断是否需要调整所述语音识别系统的语音识别延迟时间。

在该步骤中,可以将时变延迟时间及非时变延迟时间与目标延迟估计时间进行比较,并根据比较的结果判断是否需要调整语音识别系统的语音识别延迟时间。

在一种实施方式中,步骤140可以包括如下步骤:

判断所述网络传输延迟时间、所述抖动缓冲延迟时间、所述语音解码延迟时间与所述语音识别延迟估计时间之和是否小于或等于所述目标延迟估计时间;若是,则判定不需要调整所述语音识别系统的语音识别延迟时间;若否,则判定需要调整所述语音识别系统的语音识别延迟时间。

步骤150,若判定需要调整所述语音识别系统的语音识别延迟时间,则调整延迟控制参数的值。

在该实施例中,asr系统中具有可调整的变量,即延迟控制参数,当判定为需要调整asr系统的语音识别延迟时间时,则可以调整延迟控制参数的值来调整解码速度,达到调整语音识别延迟的目的。

在本实施例中,在asr系统中配置自适应调整的延迟控制参数,通过确定待识别语音信号的延迟等级、时变延迟时间和非时变延迟时间,并根据延迟等级确定待识别语音信号的目标延迟估计时间,然后结合该时变延迟时间、非时变延迟时间以及目标延迟估计时间,判定需要调整语音识别asr系统的语音识别延迟时间,则可以调整asr系统中延迟控制参数的值,以达到根据当前语境的延迟等级动态调整语音识别延迟的目的,提高asr系统快速适应变化的延迟环境的能力,使得asr系统在低延迟的环境下,采用高精度语音识别解码;在高延迟的环境下,为满足目标延迟采用低精度、低延迟语音识别解码。

实施例二

图3为本申请实施例二提供的另一种延迟控制方法实施例的流程图,本申请实施例在实施例一的基础上,进行更加具体的说明。在该实施例中,对时变延迟时间和非时变延迟时间进行了示例性说明,如图4所示,在接收客户端传入的数据包时可以获取网络延迟t1,在使用语音解码器进行语音解码时可以获得语音解码延迟时间t2,以及估计在asr系统中使用语音识别解码器进行语音识别时的语音识别延迟估计时间t3′,结合估测的目标延迟估计时间p,由自适应asr延迟控制模块判断是否需要进行延迟调整,如果需要延迟调整,则调整asr系统中延迟控制参数的值,达到动态调整语音识别延迟的目的。

如图3所示,本实施例具体包括如下步骤:

步骤310,确定待识别语音信号的延迟等级,所述延迟等级包括高延迟等级、中延迟等级或低延迟等级。

在该实施例中,延迟等级可以用于表示asr系统对该待识别语音信号进行语音识别时产生的、适于当前语境的延迟程度。作为一种示例,延迟等级可以包括但不限于:高延迟等级、中延迟等级或低延迟等级。

在一种实现中,可以采用基于规则rule-based的方式确定待识别语音信号的延迟等级。则在一种实施方式中,步骤310进一步可以包括如下步骤:

步骤310-1,若在先的语音识别结果中包含预设的敏感词,则判定所述待识别语音信号的延迟等级为高延迟等级。

在一种例子中,在先的语音识别结果可以为当前待识别语音信号之前一段时间的语音识别结果,其中该之前一段时间的长度可以根据实际需求而定,本实施例对此不作限制。

在一种实现中,可以预先建立敏感词规则库,如果之前一段时间的语音识别结果有命中敏感词规则库中的敏感词,例如谈话内容中存在暴恐、涉政、色情等敏感词,由于在这种语境下需要确保高字准率和高识别率来识别出潜在的敏感词,即高识别率为第一优先,相应地延迟就比较高,因此可以判定该待识别语音信号的延迟等级为高延迟等级。

步骤310-2,若在先的语音识别结果中包含预设的生僻词且所述生僻词的数量大于或等于预设数量,则判定所述待识别语音信号的延迟等级为中延迟等级。

在一种实现中,可以预先建立生僻词规则库,如果之前一段时间的语音识别结果有命中生僻词规则库中的生僻词,且命中的生僻词的数量大于或等于预设数量,例如在新闻播报时生僻词超过5个,在这种语境下asr系统的识别难度较高,相应地解码速度比较低、延迟就比较高,但又无需像敏感词的识别那么高精度,则可以判定该待识别语音信号的延迟等级为中延迟等级。

步骤310-3,若在先的语音识别结果中不包含预设的敏感词或者生僻词,或者包含的生僻词的数量小于预设数量,则判定所述待识别语音信号的延迟等级为低延迟等级。

在该步骤中,如果之前一段时间的语音识别结果没有敏感词或者生僻词,或者虽然有生僻词但生僻词的数量小于预设数量,例如对娱乐内容的语音识别,在这种语境下用户有及时的文字体验为最高优先级,则可以判定该待识别语音信号的延迟等级为低延迟等级,当然在低延迟等级时也需要保证适当的字准率。

步骤320,根据所述延迟等级确定所述待识别语音信号的目标延迟估计时间。

在该步骤中,目标延迟估计时间可以为根据在先的语音识别结果估测的、当前待识别语音信号的文字生成延迟。对于不同的语音场景,目标延迟估计时间是不同的,因此对于不同的延迟等级,目标延迟估计时间是不同的,延迟等级越高目标延迟估计时间越大。

在一种实施方式中,可以在预设的延迟等级数据表中查找上述高延迟等级、中延迟等级或低延迟等级,以获得对应的目标延迟估计时间。

在该实施例中,为了提高目标延迟估计时间的获取效率,可以预先创建延迟等级数据表,该延迟等级数据表中记录各个延迟等级及对应的目标延迟估计时间的关联关系。当确定当前待识别语音信号的延迟等级以后,可以通过查询该延迟等级数据表来获得对应的目标延迟估计时间。例如,当确定当前待识别语音信号的延迟等级为低延迟等级时,通过查表得到的目标延迟估计时间可以为100ms;当确定当前待识别语音信号的延迟等级为中延迟等级时,通过查表得到的目标延迟估计时间可以为150ms;若延迟等级为高延迟等级,其目标延迟估计时间为预设的极大值。

步骤330,确定所述待识别语音信号的时变延迟时间和非时变延迟时间,所述非时变延迟时间包括网络传输延迟时间,所述时变延迟时间包括抖动缓冲延迟时间、语音解码延迟时间和语音识别延迟估计时间。

在该实施例中,网络传输延迟时间是指从客户端到服务器的传输延迟,该延迟属于非时变的。在一种实现中,可以获取服务器接收数据包的时间戳和客户端发送该数据包的时间戳,计算两者的差值,得到网络传输延迟时间,即,网络传输延迟时间=服务器接收数据包的时间戳-客户端发送数据包的时间戳。

抖动缓冲延迟时间为采用jbm(jitterbuffermanagement,抖动缓冲区管理)产生的时变延迟。具体的,抖动缓冲区(jitterbuffer)是将接收到的语音先存到一个buffer里面,根据当前网络的延迟时间以及当前上层获取的时间对数据进行选取,以消除由于网络传输质量不稳定带来的抖动。但使用抖动缓冲是以延迟为代价的,从而保证语音的流畅。

需要说明的是,抖动缓冲延迟时间的确定取决于算法设计。在一种实施例中,可以采用如下方式确定抖动缓冲延迟时间:获取在所述待识别语音信号之前预设时间段内的语音信号的网络传输延迟时间,并计算相邻的网络传输延迟时间之间的抖动;计算所述抖动的标准差,并根据所述标准差调整抖动缓冲区的长度,作为抖动缓冲延迟时间。

在该实施例中,将抖动缓冲区的长度作为抖动缓冲延迟时间。例如,假设观察前一段时间的4个数据包的网络传输延迟时间分别为100ms、100ms、30ms、60ms、40ms,则对应的抖动分别为0ms、70ms、30ms、20ms,则计算4个抖动的标准差sigma=25.4ms,此时表示抖动比较大、网络质量不稳定,可以根据标准差调整抖动缓冲区的长度,如将抖动缓冲区的长度调整为2*sigma=50.8ms,即抖动缓冲延迟时间=50.8ms。

又如,假设网络质量很好、没抖动时,如标准差sigma=0ms,则可以将jitterbuffer长度调为0ms,即抖动缓冲延迟时间=0ms。

由于网络传输延迟时间和抖动缓冲延迟时间都是在网络传输阶段产生的延迟,则可以将两者之和称为网络延迟,即网络延迟=网络传输延迟时间+抖动缓冲延迟时间。

语音解码延迟时间是采用语音解码器将接收到的语音数据包解码为pcm数据产生的延迟,不同的语音编解码算法会产生不同的语音解码延迟时间。

在一种实施例中,可以采用如下方式确定语音解码延迟时间:确定所述待识别语音信号采用的目标编解码算法和码率,并获取所述目标编解码算法以及所述码率对应的语音解码延迟时间。

具体的,根据不同的应用程序、不同的网络质量,可以选择不同的编解码算法和不同的码率。例如,若当前网络抖动比较大,用户在直播或唱歌模式下,在带有音乐背景下使用aac(advancedaudiocoding,高级音频编码)或mp3编码会有较好音质;如果用户在通话模式下,如果网络比较好,使用amr-wb(新型可变速率多模式宽带语音编解码器)就可以满足用户需求。

在一种实现中,可以预先创建用于记录不同的编解码算法和不同的码率对应的语音解码延迟时间的数据表,当确定当前的语音信号对应的编解码算法和码率以后,通过查表获得对应的语音解码延迟时间。例如,amr-wb的语音解码延迟时间为0.9375ms;mp3的语音解码延迟时间为140ms;aac的语音解码延迟时间为210ms;he-aac(highefficiency-advancedaudiocoding,高效-高级音频编码)的语音解码延迟时间为360ms。

语音识别延迟估计时间是预估的asr系统对待识别语音信号的解码延迟。由于asr系统在不同语音或噪声条件下的解码速度是不同的,所以估测的语音识别延迟估计时间也是动态变化的。

在一种实施例中,可以采用如下方式确定语音识别延迟估计时间:获取上一单位时间的语音信号的语音识别延迟时间;将所述待识别语音信号以及所述上一单位时间的语音信号的语音识别延迟时间输入至已训练的延迟预测模型,并获得所述延迟预测模型输出的语音识别延迟估计时间。

在该实施例中,可以预先训练延迟预测模型,然后以上一单位时间的语音信号的语音识别延迟时间作为参考估计当前语音信号的延迟时间。将上一单位时间的语音信号的语音识别延迟时间以及当前的待识别语音信号输入至延迟预测模型,由该延迟预测模型进行处理,输出当前的待识别语音信号的语音识别延迟估计时间。

示例性地,延迟预测模型可以为神经网络模型,可以采用通用的神经网络模型的训练方式对延迟预测模型进行训练,本实施例对延迟预测模型的训练方式不作限制。

步骤340,若判定所述网络传输延迟时间、所述抖动缓冲延迟时间、所述语音解码延迟时间与所述语音识别延迟估计时间之和大于所述目标延迟估计时间,则判定需要调整所述语音识别系统的语音识别延迟时间。

在该实施例中,延迟控制的目标是使得p>=d,其中,d=t1+t2+t3′,t1为网络延迟,即t1=网络传输延迟时间+抖动缓冲延迟时间;t2为语音解码延迟时间;t3′为语音识别延迟估计时间,p为目标延迟估计时间。

在获得t1、t2、t3′以后,如果三者之和d小于或等于p,则表示按照当前的语音识别解码得到的解码延迟符合要求,无需对语音识别系统的语音识别延迟时间进行调整。如果d超过p,则表示按照当前的语音识别解码得到的解码延迟不符合要求,需要对语音识别系统的语音识别延迟时间进行调整。

步骤350,计算所述目标延迟估计时间与所述网络传输延迟时间、所述抖动缓冲延迟时间及所述语音解码延迟时间的差值,作为可用语音识别延迟时间。

在该步骤中,在p>=d的控制目标下,可以计算asr系统的可用语音识别延迟时间。在实现时,可以计算目标延迟估计时间与网络传输延迟时间、抖动缓冲延迟时间及语音解码延迟时间的差值,作为可用语音识别延迟时间。

例如,当网络状况好时,并且用户处于语音通话模式,得到以下延迟:目标延迟估计时间=500ms,t1=网络传输延迟时间+抖动缓冲延迟时间=100ms+0ms=100ms,t2=amr-wb解码延迟=1ms,则可用语音识别延迟时间t3=500ms-100ms-1ms=399ms,即在网络较好的情况下,asr系统对待识别语音信号的语音识别延迟可达到400ms,此时解码速度无需很快,识别精度就比较高。

又如,当网络状况差(抖动30ms),并且用户在直播、唱歌模式,在带有音乐下使用aac/mp3编码会有较好音质,所以延迟如下:目标延迟估计时间=500ms,t1=网络传输延迟时间+抖动缓冲延迟时间=100ms+60ms=160ms,t2=aac解码延迟=210ms,则可用语音识别延迟时间t3=500ms-160ms-210ms=130ms,即在存在网络抖动的情况下,asr系统对待识别语音信号的语音识别延迟只允许130ms,此时解码速度就需要比较快,识别精度就没那么高。

步骤360,根据所述可用语音识别延迟时间,对所述延迟控制参数的值进行调整。

在一种实施例中,延迟控制参数可以为与集束搜索(beamsearch)算法相关的参数。作为一种示例,延迟控制参数可以包括集束搜索宽度。

具体的,asr系统在进行语音识别时,使用集束搜索算法找出词表所构成的最佳路径,词表所构成的搜索空间是所有可能的字符token。从根节点<sos>开始选取所有可能中概率最大的k个拓展为下一层节点,然后在这k个节点里面其可能拓展的节点中,再选取概率最大的k个累乘拓展,以此类推,形成一棵每层都是k节点的树状结构,最后选出路径分数最高者回溯得到概率最高的字符序列。集束搜索是范围有限的搜索策略,因此集束搜索宽度k值需要足够大才能接近最优解,但代价是较大的计算量和较长的延迟。

通常集束搜索宽度k值是根据先验知识预先决定的固定值,虽然增大集束宽度可提高识别率但代价是降低解码速度。这种固定搜索范围的方式效率较差,因为它的搜索范围及置信度远低于当前最佳置信度的候选。在本实施例中,将集束搜索宽度修改为可调整的变量,在需要调整语音识别系统的语音识别延迟时间时,可以通过调整集束搜索宽度来调整解码速度。

在一种实施例中,上述步骤360进一步可以包括如下步骤:

当所述可用语音识别延迟时间在预设的高延迟范围内时,则扩大所述集束搜索宽度;当所述可用语音识别延迟时间在预设的低延迟范围内时,则缩小所述集束搜索宽度。

在该实施例中,当可用语音识别延迟时间在预设的低延迟范围内时,即,针对低延迟场景,可以通过缩小集束搜索宽度来缩小搜索范围,增快解码速度。当可用语音识别延迟时间在预设的高延迟范围内时,即,针对高延迟场景,可以通过增大集束搜索宽度来扩大搜索范围,降低解码速度,提高解码精度。

在其他实施例中,延迟控制参数还可以包括修剪因子,则上述对延迟控制参数的值进行调整还包括:

在采用集束搜索算法查找出词表所构成的最佳路径的过程中,基于所述修剪因子确定修剪条件,并保留置信度符合所述修剪条件的候选字符,丢弃置信度不符合所述修剪条件的候选字符。

在一种例子中,上述基于所述修剪因子确定修剪条件可以为:在确定最佳置信度的候选字符后,计算修剪因子和最佳置信度的乘积,作为修剪条件。则,保留相对置信度大于修剪因子和最佳置信度的乘积的候选字符,丢弃相对置信度小于或等于修剪因子和最佳置信度的乘积的候选字符。即,修剪条件的公式如下:

其中,α为修剪因子,其设置得越大,对候选字符的筛选越严格。

在另一种例子中,上述基于所述修剪因子确定修剪条件可以为:如果某个候选字符的置信度与最佳置信度的差值超过该修剪因子,则丢弃该候选字符,否则,保留该候选字符。即,修剪条件的公式如下:

其中,η为修剪因子,其设置得越小,对候选字符的筛选越严格。

需要说明的是,通过对集束搜索宽度的修改可以设定一个较大的宽度,联合修改因子的筛选,使得实际的搜索宽度会小于集束搜索宽度,进一步降低延迟。

在其他实施例中,延迟控制参数还可以包括路径权重,则上述对延迟控制参数的值进行调整还包括:

若某个候选字符的后代字符超过预设的最大候选数量,则降低所述后代字符的路径权重。

在该实施例中,由于观察到通过上述集束搜索宽度和修改因子的策略会使得得分高的候选字符往往来自相同的历史路径,如果某候选字符token过于强势下一层的备选token可能都只来源于此,因此有必要为其他的分数较低的token预留备选位置,避免集中在单一节点的后代。在实现时,可以限制来自相同节点的最大候选数量,如果某个候选字符的后代字符超过预设的最大候选数量,则可以降低后代字符的路径权重,使得其他分数较低的节点的权重高于上述后代字符的路径权重,从而更容易被选到,在不增加集束大小下达到增加分支多样性的目标。

在本实施例中,在asr系统中配置自适应调整的延迟控制参数,如可调整的集束搜索宽度、修剪因子和路径权重等,在确定待识别语音信号的延迟等级以后,根据网络传输延迟时间、抖动缓冲延迟时间、语音解码延迟时间、语音识别延迟估计时间以及目标延迟估计时间来判断是否需要动态调整语音识别的延迟,并在需要调整语音识别延迟时,通过调整延迟控制参数的值来调整语音识别延迟,达到在网络延迟高的时候,为了维持实时语音识别则简化语音解码时间,识别率较差但至少维持基本流畅性;反之,在其他延迟正常时,用高质的语音识别解码提高识别率。

实施例三

图5为本申请实施例三提供的一种延迟控制装置实施例的结构框图,该装置可以应用于语音识别系统中,所述语音识别系统中包括延迟控制参数,所述装置可以包括:

延迟等级确定单元510,用于确定待识别语音信号的延迟等级;

目标延迟确定单元520,用于根据所述延迟等级确定所述待识别语音信号的目标延迟估计时间;

时变及非时变延迟确定单元530,用于确定所述待识别语音信号的时变延迟时间和非时变延迟时间;

延迟调整判断单元540,用于结合所述时变延迟时间、所述非时变延迟时间以及所述目标延迟估计时间,判断是否需要调整所述语音识别系统的语音识别延迟时间;

延迟控制参数调整单元550,用于在判定需要调整所述语音识别系统的语音识别延迟时间时,则调整所述延迟控制参数的值。

在一种实施方式中,所述非时变延迟时间包括网络传输延迟时间,所述时变延迟时间包括抖动缓冲延迟时间、语音解码延迟时间和语音识别延迟估计时间;

所述延迟调整判断单元540还用于:

判断所述网络传输延迟时间、所述抖动缓冲延迟时间、所述语音解码延迟时间与所述语音识别延迟估计时间之和是否小于或等于所述目标延迟估计时间;

若是,则判定不需要调整所述语音识别系统的语音识别延迟时间;

若否,则判定需要调整所述语音识别系统的语音识别延迟时间。

在一种实施方式中,当所述时变延迟时间为抖动缓冲延迟时间,所述时变及非时变延迟确定单元530还用于:

获取在所述待识别语音信号之前预设时间段内的语音信号的网络传输延迟时间,并计算相邻的网络传输延迟时间之间的抖动;

计算所述抖动的标准差,并根据所述标准差调整抖动缓冲区的长度,作为抖动缓冲延迟时间。

在一种实施方式中,当所述时变延迟时间为语音解码延迟时间,所述时变及非时变延迟确定单元530还用于:

确定所述待识别语音信号采用的目标编解码算法和码率,并获取所述目标编解码算法以及所述码率对应的语音解码延迟时间。

在一种实施方式中,当所述时变延迟时间为语音识别延迟估计时间,所述时变及非时变延迟确定单元530还用于:

获取上一单位时间的语音信号的语音识别延迟时间;

将所述待识别语音信号以及所述上一单位时间的语音信号的语音识别延迟时间输入至已训练的延迟预测模型,并获得所述延迟预测模型输出的语音识别延迟估计时间。

在一种实施方式中,所述延迟控制参数调整单元550包括:

可用语音识别延迟时间确定子单元,用于计算所述目标延迟估计时间与所述网络传输延迟时间、所述抖动缓冲延迟时间及所述语音解码延迟时间的差值,作为可用语音识别延迟时间;

调整子单元,用于根据所述可用语音识别延迟时间,对所述延迟控制参数的值进行调整。

在一种实施方式中,所述延迟控制参数包括集束搜索宽度;所述调整子单元还用于:

当所述可用语音识别延迟时间在预设的高延迟范围内时,则增大所述集束搜索宽度;

当所述可用语音识别延迟时间在预设的低延迟范围内时,则缩小所述集束搜索宽度。

在一种实施方式中,所述延迟控制参数还包括修剪因子,所述调整子单元还用于:

在采用集束搜索算法查找出词表所构成的最佳路径的过程中,基于所述修剪因子确定修剪条件,并保留置信度符合所述修剪条件的候选字符,丢弃置信度不符合所述修剪条件的候选字符。

在一种实施方式中,所述延迟控制参数还包括路径权重,所述调整子单元还用于:

若某个候选字符的后代字符超过预设的最大候选数量,则降低所述后代字符的路径权重。

在一种实施方式中,所述延迟等级包括高延迟等级、中延迟等级及低延迟等级;所述目标延迟确定单元520还用于:

在预设的延迟等级数据表中查找所述高延迟等级、中延迟等级或所述低延迟等级,获得对应的目标延迟估计时间。

在一种实施方式中,所述延迟等级确定单元510还用于:

若在先的语音识别结果中包含预设的敏感词,则判定所述待识别语音信号的延迟等级为高延迟等级;

若在先的语音识别结果中包含预设的生僻词且所述生僻词的数量大于或等于预设数量,则判定所述待识别语音信号的延迟等级为中延迟等级;

若在先的语音识别结果中不包含预设的敏感词或者生僻词,或者包含的生僻词的数量小于预设数量,则判定所述待识别语音信号的延迟等级为低延迟等级。

需要说明的是,本申请实施例所提供的延迟控制装置可执行本申请任意实施例所提供的延迟控制方法,具备执行方法相应的功能模块和有益效果。

实施例四

图6为本申请实施例四提供的一种服务器的结构示意图,如图6所示,该服务器包括处理器610、存储器620、输入装置630和输出装置640;服务器中处理器610的数量可以是一个或多个,图6中以一个处理器610为例;服务器中的处理器610、存储器620、输入装置630和输出装置640可以通过总线或其他方式连接,图6中以通过总线连接为例。

存储器620作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的延迟控制方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的方法。

存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器620可进一步包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置630可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置640可包括显示屏等显示设备。

实施例五

本申请实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由服务器的处理器执行时用于执行上述实施例中的方法。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips