算法的测试方法、装置、电子设备及存储介质与流程
本发明涉及计算机技术领域,尤其涉及一种算法的测试方法、装置、电子设备及存储介质。
背景技术:
语音识别技术在人工智能领域有着广泛的应用,例如智能家居、智能客服、智能音箱等,因此如何提高语音识别的准确率一直是该技术的重点,因而各种诞生了各种各样的算法来对语音信号进行处理,以期提高之后的语音识别的准确率。
现有技术中,算法编写完成后,需要对算法的效果进行测试,但是算法的不同,需要针对不同算法编写不同的测试程序,再根据测试结果对算法的配置参数进行调整,导致算法的测试周期长,测试效率低。
技术实现要素:
本发明的主要目的在于提供一种算法的测试方法、装置、电子设备及存储介质,旨在解决现有技术中需要针对不同算法编写不同的测试程序,导致算法的测试周期长,测试效率低的技术问题。
为实现上述目的,本发明实施例第一方面提供一种算法的测试方法,包括:
采用待测试算法对待识别语音信号进行语音信号处理,得到音频数据;
采用预置的语音识别算法模型,对所述音频数据进行语音识别,得到相应的语音识别准确率;
根据预置的参数调整算法,更新所述待测试算法的参数的取值,并再次执行所述采用待测试算法对待识别语音信号进行语音信号处理的步骤;
当遍历完所述待测试算法的所有参数的取值后,在所有得到的语音识别准确率中,选取使语音识别准确率最高的参数的取值为所述待测试算法的参数的最优取值。
进一步地,所述待测试算法的参数包括端点检测控制参数、噪声抑制参数、幅度调节参数和处理控制参数中的至少一种。
进一步地,所述端点检测控制参数用于控制采集所述待识别语音信号中的有效语音;
所述噪声抑制参数用于控制所述有效语音片段中背景噪声的强弱;
所述幅度调节参数用于控制所述有效语音的幅度;
所述处理控制参数用于控制是否采用所述端点检测控制参数、噪声抑制参数、幅度调节参数。
进一步地,所述根据预置的参数调整算法,更新所述待测试算法的参数的取值包括:
基于预置策略,对所述待测试算法的各参数进行优先级排序;
按照所述待测试算法的各参数的优先级,由高到低,依次更新所述待测试算法的参数的取值。
进一步地,所述根据预置的参数调整算法,更新所述待测试算法的参数的取值包括:
以预设步长遍历所述待测试算法的各参数的所有取值,以依次更新所述待测试算法的参数的取值。
进一步地,所述方法还包括:
选取使语音识别准确率最高的语音识别算法为所述待测试算法的最优语音识别算法。
本发明实施例第二方面提供一种算法的测试装置,包括:
信号处理模块,用于采用待测试算法对待识别语音信号进行语音信号处理,得到音频数据;
语音识别模块,用于采用预置的语音识别算法模型,对所述音频数据进行语音识别,得到相应的语音识别准确率;
参数更新模块,用于根据预置的参数调整算法,更新所述待测试算法的参数的取值,并再次返回所述信号处理模块;
参数选取模块,用于当遍历完所述待测试算法的所有参数的取值后,在所有得到的语音识别准确率中,选取使语音识别准确率最高的参数的取值为所述待测试算法的参数的最优取值。
进一步地,所述待测试算法的参数包括幅度调节参数、端点检测控制参数、噪声抑制参数和信号处理参数中的至少一种。
本发明实施例第三方面提供了一种电子设备,包括:
存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本发明实施例第一方面提供的算法的测试方法。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的算法的测试方法。
从上述本发明实施例可知,本发明提供的算法的测试方法、装置、电子设备及存储介质,采用待测试算法对待识别语音信号进行语音信号处理,得到音频数据,采用预置的语音识别算法模型,对该音频数据进行语音识别,得到相应的语音识别准确率,根据预置的参数调整算法,更新该待测试算法的参数的取值,并再次执行该采用待测试算法对待识别语音信号进行语音信号处理的步骤,当遍历完待测试算法的所有参数的取值后,在所有得到的语音识别准确率中,选取使语音识别准确率最高的参数的取值为该待测试算法的参数的最优取值,可适用不同算法,测试效率高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的算法的测试方法的流程示意图;
图2为本发明另一实施例提供的算法的测试方法的流程示意图;
图3为本发明又一实施例提供的算法的测试装置的结构示意图;
图4示出了一种电子设备的硬件结构图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明一实施例提供的算法的测试方法的流程示意图,该方法主要包括以下步骤:
s101、采用待测试算法对待识别语音信号进行语音信号处理,得到音频数据;
使用待测试算法对待识别语音信号进行语音信号处理,获得经过语音信号处理的音频数据。待识别语音信号是指含有背景噪声的语音数据。相应的,语音信号处理是指在语音识别之前,先对原始语音进行处理,消除部分噪声和不同说话人带来的影响,使处理后得到的音频数据更能反映语音的本质特征。
其中,待测试算法可以是已经写好的函数包,也可以是待测试的程序包或程序文件。
s102、采用预置的语音识别算法模型,对该音频数据进行语音识别,得到相应的语音识别准确率;
预置的语音识别算法模型,即当没有确定的待测试算法的最优语音识别算法时,所进行的语音识别包括采用多种语音识别算法(asr,automaticspeechrecognition),使用不同的asr得到各自相对应的测试结果。当已确定待测试算法的最优语音识别算法,或已指定待测试算法的语音识别算法,则仅采用一种语音识别算法对该待测试算法进行语音识别即可。
asr是指一种将人的语音转换为文本的技术,实现“声音”到“文字”转换。
语音识别准确率是指音频数据经过asr转换后得到的文本对比音频数据实际对应的文本的正确程度。
需要说明的是,对于采用不同的asr进行语音识别,可以同时进行,也可以依次进行。
s103、根据预置的参数调整算法,更新该待测试算法的参数的取值;
再次执行步骤s101,即每更新一次待测试算法的参数的取值后,均用更新后的待测试算法对待识别语音信号再次进行语音信号处理,得到相应的语音识别准确率。
s104、当遍历完该待测试算法的所有参数的取值后,在所有得到的语音识别准确率中,选取使语音识别准确率最高的参数的取值为该待测试算法的参数的最优取值。
在本发明实施例中,采用待测试算法对待识别语音信号进行语音信号处理,得到音频数据,采用预置的语音识别算法模型,对该音频数据进行语音识别,得到相应的语音识别准确率,根据预置的参数调整算法,更新该待测试算法的参数的取值,并再次执行该采用待测试算法对待识别语音信号进行语音信号处理的步骤,当遍历完待测试算法的所有参数的取值后,在所有得到的语音识别准确率中,选取使语音识别准确率最高的参数的取值为该待测试算法的参数的最优取值,可适用不同算法,测试效率高。
请参阅图2,图2为本发明另一实施例提供的算法的测试方法的流程示意图,该方法主要包括以下步骤:
s201、采用待测试算法对待识别语音信号进行语音信号处理,得到音频数据;
对待识别语音信号进行语音信号处理包括幅度调节、端点检测、噪声抑制和处理控制等。
幅度调节用于调节语音信号的幅度,防止因信号幅值太小,导致语音识别困难,幅度过大产生截幅,导致信号失真。
端点检测是指在音频数据中对语音和非语音进行区分,去掉语音中的静音成分,获取音频数据中的有效语音的过程。当检测到人声时采集语音信号,当人声结束后停止采集,并将采集的语音片段截取出来。例如,用户表达“我想去北京西站”,通过端点检测可将此段语音截取出来。
噪声抑制用于控制经过端点检测后截取出的语音片段中背景噪声的强弱。在一些情况下,当音频信号中的噪声去除量较小,会干扰之后的asr。或者,在一些情况下,当音频信号中的噪声去除量太大时,音频信号中的有效语音也被去除,导致asr不能正确识别到语音信号。
处理控制用于在对语音信号进行处理的过程中,控制各种处理方法的开闭,使多种处理方法进行互相配合。例如,在一些情况下,开启噪声抑制模块在某一asr中可取得有益的效果,而在另一asr中则会带来负面影响。其中,多种处理例如,幅度调节、端点检测、噪声抑制、混响、声源定位等。
s202、采用预置的语音识别算法,对该音频数据进行语音识别,得到相应的语音识别准确率;
s203、根据预置的参数调整算法,更新该待测试算法的参数的取值;
对应于步骤s201中的所阐述的对待识别语音信号进行语音信号处理包括幅度调节、端点检测、噪声抑制和处理控制等,待测试算法的参数包括幅度调节参数、端点检测控制参数、噪声抑制参数和处理控制参数中的至少一种。
在本发明实施例中,待测试算法的参数以三种为例,分别为x、y、z,参数x、y、z对语音识别准确率的影响依次减弱。
预置的参数调整算法可以是基于预置策略,对待测试算法的各参数进行优先级排序,然后按照待测试算法的各参数的优先级,由高到低,依次更新待测试算法的参数的取值。具体的,可以先对参数x的取值范围进行遍历,获得语音识别准确率较高的x的最佳取值x1,然后在x取值x1的条件下,对参数y的取值范围进行遍历,获得语音识别准确率较高的y的最佳取值y2,然后在x取值x1、y取值y2的条件下,对参数z的取值进行遍历,获得语音识别准确率较高的z的最佳取值z3。
预置的参数调整算法还可以是以预设步长遍历该待测试算法的各参数的所有取值,以依次更新该待测试算法的参数的取值。例如,参数x的可变范围是数值a1至数值b1范围,参数y的可变范围是数值a2至数值b2范围,参数z的可变范围是数值a3至数值b3范围,以步长c遍历参数x、y、z的取值范围,则可以获得x、y、z的最优取值,使得语音识别的准确率最高。
更多的,也可以根据实际需要,设置参数选取列表,遍历参数列表中的取值,以缩减参数优化所需要的时间。
再次执行步骤s201,即每更新一次待测试算法的参数的取值后,均用更新后的待测试算法对待识别语音信号再次进行语音信号处理,得到相应的语音识别准确率。
s204、当遍历完该待测试算法的所有参数的取值后,在所有得到的语音识别准确率中,选取使语音识别准确率最高的参数的取值为该待测试算法的参数的最优取值。
在本发明实施例中,采用待测试算法对待识别语音信号进行语音信号处理,得到音频数据,采用预置的语音识别算法模型,对该音频数据进行语音识别,得到相应的语音识别准确率,根据预置的参数调整算法,更新该待测试算法的参数的取值,并再次执行该采用待测试算法对待识别语音信号进行语音信号处理的步骤,当遍历完待测试算法的所有参数的取值后,在所有得到的语音识别准确率中,选取使语音识别准确率最高的参数的取值为该待测试算法的参数的最优取值,可适用不同算法,测试效率高。
请参阅图3,图3为本发明又一实施例提供的算法的测试装置的结构示意图,该装置包括:
信号处理模块301、语音识别模块302、参数更新模块303和参数选取模块304。
信号处理模块301,用于采用待测试算法对待识别语音信号进行语音信号处理,得到音频数据。
使用待测试算法对待识别语音信号进行语音信号处理,获得经过语音信号处理的音频数据。待识别语音信号是指含有背景噪声的语音数据。相应的,语音信号处理是指在语音识别之前,先对原始语音进行处理,消除部分噪声和不同说话人带来的影响,使处理后的音频数据更能反映语音的本质特征。
其中,待测试算法可以是已经写好的函数包,也可以是待测试的程序包或程序文件。
对待识别语音信号进行语音信号处理包括幅度调节、端点检测、噪声抑制和处理控制等。
幅度调节用于调节语音信号的幅度,防止因信号幅值太小,导致语音识别困难,幅度过大产生截幅,导致信号失真。
端点检测是指在音频数据中对语音和非语音进行区分,去掉语音中的静音成分,获取音频数据中的有效语音的过程。当检测到人声时采集语音信号,当人声结束后停止采集,并将采集的语音片段截取出来。例如,用户表达“我想去北京西站”,通过端点检测可将此段语音截取出来。
噪声抑制用于控制经过端点检测后截取出的语音片段中背景噪声的强弱。在一些情况下,当音频信号中的噪声去除量较小,会干扰之后的asr。或者,在一些情况下,当音频信号中的噪声去除量太大时,音频信号中的有效语音也被去除,导致asr不能正确识别到语音信号。
处理控制参数用于在对语音信号进行处理的过程中,控制各种处理方法的开闭,使多种处理方法进行互相配合。例如,在一些情况下,开启噪声抑制模块在某一asr中可取得有益的效果,而在另一asr中则会带来负面影响。其中,多种处理例如,幅度调节、端点检测、噪声抑制、混响、声源定位等。
语音识别模块302,用于采用预置的语音识别算法模型,对该音频数据进行语音识别,得到相应的语音识别准确率。
预置的语音识别算法模型,即当没有确定的待测试算法的最优语音识别算法时,所进行的语音识别包括采用多种asr,使用不同的asr得到各自相对应的测试结果。当已确定待测试算法的最优语音识别算法,或已指定待测试算法的语音识别算法,则仅采用一种语音识别算法对该待测试算法进行语音识别即可。
参数更新模块303,用于根据预置的参数调整算法,更新该待测试算法的参数的取值,并返回信号处理模块301。
对应于信号处理模块301中的所阐述的对待识别语音信号进行语音信号处理包括幅度调节、端点检测、噪声抑制和处理控制等,待测试算法的参数包括幅度调节参数、端点检测控制参数、噪声抑制参数和处理控制参数中的至少一种。
在本发明实施例中,待测试算法的参数以三种为例,分别为x、y、z,参数x、y、z对语音识别准确率的影响依次减弱。
预置的参数调整算法可以是基于预置策略,对待测试算法的各参数进行优先级排序,然后按照待测试算法的各参数的优先级,由高到低,依次更新待测试算法的参数的取值。具体的,可以先对参数x的取值范围进行遍历,获得语音识别准确率较高的x的最佳取值x1,然后在x取值x1的条件下,对参数y的取值范围进行遍历,获得语音识别准确率较高的y的最佳取值y2,然后在x取值x1、y取值y2的条件下,对参数z的取值进行遍历,获得语音识别准确率较高的z的最佳取值z3。
预置的参数调整算法还可以是以预设步长遍历该待测试算法的各参数的所有取值,以依次更新该待测试算法的参数的取值。例如,参数x的可变范围是数值a1至数值b1范围,参数y的可变范围是数值a2至数值b2范围,参数z的可变范围是数值a3至数值b3范围,以步长c遍历参数x、y、z的取值范围,则可以获得x、y、z的最优取值,使得语音识别的准确率最高。
更多的,也可以根据实际需要,设置参数选取列表,遍历参数列表中的取值,以缩减参数优化所需要的时间。
参数选取模块304,用于当遍历完该待测试算法的所有参数的取值后,在所有得到的语音识别准确率中,选取使语音识别准确率最高的参数的取值为该待测试算法的参数的最优取值。
在本发明实施例中,采用待测试算法对待识别语音信号进行语音信号处理,得到音频数据,采用预置的语音识别算法,对该音频数据进行语音识别,得到相应的语音识别准确率,根据预置的参数调整算法,更新该待测试算法的参数的取值,并再次执行该采用待测试算法对待识别语音信号进行语音信号处理的步骤,当遍历完待测试算法的所有参数的取值后,在所有得到的语音识别准确率中,选取使语音识别准确率最高的参数的取值为该待测试算法的参数的最优取值,可适用不同算法,测试效率高。
请参见图4,图4示出了一种电子设备的硬件结构图。
本实施例中所描述的电子设备,包括:
存储器41、处理器42及存储在存储器41上并可在处理器上运行的计算机程序,处理器执行该程序时实现前述图1或图2所示实施例中描述的算法的测试方法。
进一步地,该电子设备还包括:
至少一个输入设备43;至少一个输出设备44。
上述存储器41、处理器42输入设备43和输出设备44通过总线45连接。
其中,输入设备43具体可为摄像头、触控面板、物理按键或者鼠标等等。输出设备44具体可为显示屏。
存储器41可以是高速随机存取记忆体(ram,randomaccessmemory)存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。存储器41用于存储一组可执行程序代码,处理器42与存储器41耦合。
进一步地,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述各实施例中的终端中,该计算机可读存储介质可以是前述图4所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现前述图1或图2所示实施例中描述的算法的测试方法。进一步地,该计算机可存储介质还可以是u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的多个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,模块的间接耦合或通信链接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的算法的测试方法、装置、电子设备及存储介质的描述,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除