语音合成质量测试方法及装置与流程

文档序号:17120013发布日期:2019-03-15 23:42阅读:344来源:国知局
语音合成质量测试方法及装置与流程

本发明涉及语音处理技术领域,尤其涉及一种语音合成质量测试方法及装置。



背景技术:

现在使用的技术中,最相似的是一些软件测试系统或测试流程,普通的软件测试系统首先会让测试人员对测试场景或软件定制测试用例,当需要测试的时候,运行测试人员指定的测试用例,运行的方式分为自动测试和手动测试,然后根据用例的最终结果来判断软件系统的质量。

这种方式使用在语音合成质量方面的测试的时候,会碰到一些问题,对于语音质量方面的测试,首先是非常难进行自动化的测试,其次是需要覆盖较多的测试场景,否则难以判断语音合成的质量,这样导致工作量巨大。在测试的过程中,为了加快测试流程,更快的完成任务,采取的方式比较有限,可以通过增加测试人员的办法,也可以减少测试用例的数量,但是为了保证测试的质量,防止有些未知问题无法被发现,测试用例的总量上并不能减少很多。



技术实现要素:

本发明实施例提供一种语音合成质量测试方法及装置,用于至少解决上述技术问题之一。

第一方面,本发明实施例提供一种语音合成质量测试方法,包括:

s10、预先基于语音合成系统生成测试用例集;

s20、从所述测试用例集中随机选择设定数量的测试用例;

s30、对当前设定数量的测试用例进行测试,并确定当前局部测试用例通过率;

s40、判断是否能够基于所述当前局部测试用例通过率确定所述语音合成系统的语音合成质量的达标情况;

s50、如果是,则结束测试;

s60、如果否,则再次从所述测试用例集中随机选择设定数量的测试用例并跳转至步骤s30。

第二方面,本发明实施例提供一种语音合成质量测试装置,包括:

测试用例集生成模块,用于预先基于语音合成系统生成测试用例集;

测试用例选择模块,用于从所述测试用例集中随机选择设定数量的测试用例;

通过率确定模块,用于对当前设定数量的测试用例进行测试,并确定当前局部测试用例通过率;

判定模块,用于判断是否能够基于所述当前局部测试用例通过率确定所述语音合成系统的语音合成质量的达标情况;

结束测试模块,用于当能够确定所述语音合成系统的语音合成质量的达标情况时,结束测试;

循环测试模块,用于当不能够确定所述语音合成系统的语音合成质量的达标情况时,再次从所述测试用例集中随机选择设定数量的测试用例并调用所述通络率确定模块。

第三方面,本发明实施例提供一种存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项语音合成质量测试方法。

第四方面,提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明上述任一项语音合成质量测试方法。

第五方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项语音合成质量测试方法。

本发明实施例提供了一个系统化的流程,在测试的过程中动态的调整对语音合成质量的测试期望,对于每次测试,开始测试的时候可以选取比较少的测试用例数量进行测试,并对测试的结果进行评估,如果评估后的测试结果已经能够达到一个确定的评估结果,可以立即停止测试,节省测试时间,如果对于测试的结果无法获得一个确定的评估结果,那么可以继续增加测试用例测试,再次循环此步骤,直到能获得一个稳定的评估结果。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明的语音合成质量测试方法的一实施例的流程图;

图2为本发明的语音合成质量测试方法的另一实施例的流程图;

图3为图1中的步骤s30的一实施例的流程图;

图4为图1中的步骤s40的一实施例的流程图;

图5为本发明的语音合成质量测试装置的一实施例的原理框图;

图6为本发明中的通过率确定模块的一实施例的原理框图;

图7为本发明中的判定模块的一实施例的原理框图;

图8为本发明的电子设备的一实施例的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明实施例中所提供的语音合成质量的测试方法,一方面能够实现对通过语音合成系统所合成的语音进行质量评价,另一方面也可以反映其中用到的语音合成系统是否符合预期的要求,即,本发明的方法还可以用于评价语义合成系统。

如图1所示,本发明的实施例提供一种语音合成质量测试方法,包括:

s10、预先基于语音合成系统生成测试用例集;

s20、从所述测试用例集中随机选择设定数量的测试用例;

s30、对当前设定数量的测试用例进行测试,并确定当前局部测试用例通过率;

s40、判断是否能够基于所述当前局部测试用例通过率确定所述语音合成系统的语音合成质量的达标情况;

s50、如果是,则结束测试;

s60、如果否,则再次从所述测试用例集中随机选择设定数量的测试用例并跳转至步骤s30。

本发明的技术创新点在于,对于合成的语音质量测试,一般情况是做完测试后,根据测试结果给出测试通过率,最后确定产品是否通过了测试,而因为测试单个测试用例的时间较长,这种对全部用例进行测试的方法导致整个测试的时间很长,测试量巨大,效率很难提高。

本发明实施例提供了一个系统化的流程,在测试的过程中动态的调整对语音合成质量的测试期望,对于每次测试,开始测试的时候可以选取比较少的测试用例数量进行测试,并对测试的结果进行评估,如果评估后的测试结果已经达到了满意的效果,可以立即停止测试,减少了实际所需测试用例的数量,节省测试时间,如果对于测试的结果无法获得一个确定的评估结果,那么可以继续增加测试用例测试,再次循环此步骤,直到能获得一个稳定的评估结果。

示例性地,为了在不降低测试质量的前提下,尽量的减少测试量,我们对现有的测试流程进行了改造,改进后的测试流程图如图2所示,具体包括:

确定初始测试集;示例性地,从预先生成的测试用例集中选择多个测试用例构成初始测试集。

执行测试内容;示例性地,分配给测听人员进行测试并打分。

判断测试结果是否达标;示例性地,根据打分结果判断测试结果是符合预设要求。

如果不能够确定是否达标,则增加测试用例之后重新进行测试;

如果测试通过或者测试失败,则结束测试。

如图3所示,在一些实施例中,对当前设定数量的测试用例进行测试,并确定当前局部测试用例通过率包括:

s31、将当前设定数量的测试用例分配给听测人员进行测试评分;

s32、根据当前已经测试过的所有测试用例的评分结果确定所述当前局部测试用例通过率。

示例性地,例如,测试用例集中包含2000个测试用例,设定数量的测试用例为10个测试用例,在进行测试过程中,第一次取了10个测试用例进行测试,此时当前已经测试过的所有测试用例的评分结果就是这10个测试用例的评分结果。如果第一次取的10个测试用例确定测试用例集质量不达标,则再次(即,第二次)取10个测试用例进行测试,此时当前已经测试过的所有测试用例的评分结果就是第一次和第二次一共20个测试用例的评分结果,并给予此时的评分结果进行对测试用例集的评价,依次类推进行后续测试。

每一次用于评价测试用例集的评分结果都是基于之前所取的所有的测试用例的评分结果确定的,避免了由于某一次获取预设数量的测试用例所存在的偶然性导致对真个测试用例集的错误评价,从而能够更准确的反应对整个测试用例集的评测。

如图4所示,在一些实施例中,所述判断是否能够基于所述当前局部测试用例通过率确定所述语音合成系统的语音合成质量的达标情况包括:

s41、根据所述当前局部测试用例通过率确定对应于所述测试用例集的置信度区间;

s42、当目标通过率小于所述置信度区间的下限值时,判定所述语音合成系统的语音合成质量达标;

s43、当目标通过率大于所述置信度区间的上限值时,判定所述语音合成系统的语音合成质量不达标;

s44、当目标通过率落入所述置信度区间时,判定无法确定所述语音合成系统的语音合成质量的达标情况;其中,所述目标通过率是为所述测试用例集指定的通过率。

在一些实施例中,所述用于当能够确定所述语音合成系统的语音合成质量的达标情况时,结束测试包括:当判定所述语音合成系统的语音合成质量达标或者判定所述语音合成系统的语音合成质量不达标时,结束测试。

本发明实施例提出一种基于置信度的语音合成质量测试方案,专门针对于测试语音中的难点问题,减少语音合成质量测试的工作量,降低整体测试的难度,在不显著降低评价标准的同时,能够更快速的给出评价结果。开始的时候对测试用例进行筛选,在测试的过程中动态的对测试对象做出可靠的评价。

在原来的方案中,每次语音产品的测试,需要测试2000个测试用例,全部测试完成后,会计算所有测试用例的通过率,然后根据这个通过率来确定这次测试是否通过。计算量巨大,测试效率低。

示例性地,在本发明的实施例中,采用以下方法步骤对语音合成质量进行测试。具体地,

首先,选择初始的测试集,原来方案中的整体测试量为2000个,我们的选择是从完整的测试集中抽取100个测试用例作为初始测试集合。

然后,对这100个测试用例进行测试,并将获得的测试结果进行运算获得一个对测试全集的置信区间,具体的计算方法参考如下,我们假设所有的测试用例都是独立的,并且符合参数为p的0-1分布,则p的置信度为1-α的置信区间为:

其中n是用例的数目,是用例的通过率,其中α为非置信水平在正态分布内的覆盖面积,zα/2即为对应的标准分数

最后可得:

所以,参数p的置信区间为(p1,p2),当计算完成后,根据p1和p2来判断是否要继续进行,假设我们的通过率目标为t,如果p1>t,则认为产品已经通过了测试,并可以停止当前测试;如果p2<t,则认为产品无法通过当前的测试,并可以停止当前测试;如果p1<t<p2,那么当前无法得出结论,需要进行下一步的测试。

当无法判断结果的时候,我们会进入下一轮的过程,在下一轮中,会再次挑选n个测试用例,再次测试,然后将获得的结果和前面合并,然后再次进行上面的计算比较,重复这个过程,每次都判断是否可以提前退出测试流程,如果经过m轮后,还无法决定此次测试是通过还是失败,那么就直接认为当前测试失败然后中止测试,典型的n和m值可以取200和10。

例如,我们指定的目标通过率为t=0.95,当第一批200个测试用例中有12个用例发生错误时,经过上面的计算可得,(p1,p2)=(0.923,0.979),按照我们的判断逻辑,无法退出,按照现有的方案,我们再次选择200个测试用例并测试,假设新的200个测试用例有2个用例失败,经过计算得,(p1,p2)=(0.942,0.979),按照计算策略,依然没有满足任何一个退出条件,无法退出。第三次,我们再次选择200个测试用例并测试,假设其中有4个用例发生错误,经过计算得到,(p1,p2)=(0.953,0.981),此时,因为0.953>t,我们可以认为测试已经通过,此次测试过程可以直接退出。通过以上实施例可以看出,基于置信度的测试方案都可以极大的减少测试工作量,加快测试的流程。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

如图5所示,本发明的实施例还提供一种语音合成质量测试装置500,包括:

测试用例集生成模块510,用于预先基于语音合成系统生成测试用例集;

测试用例选择模块520,用于从所述测试用例集中随机选择设定数量的测试用例;

通过率确定模块530,用于对当前设定数量的测试用例进行测试,并确定当前局部测试用例通过率;

判定模块540,用于判断是否能够基于所述当前局部测试用例通过率确定所述语音合成系统的语音合成质量的达标情况;

结束测试模块550,用于当能够确定所述语音合成系统的语音合成质量的达标情况时,结束测试;

循环测试模块560,用于当不能够确定所述语音合成系统的语音合成质量的达标情况时,再次从所述测试用例集中随机选择设定数量的测试用例并调用所述通络率确定模块。

本发明实施例提供的语音合成质量测试装置,在测试的过程中动态的调整对语音合成质量的测试期望,对于每次测试,开始测试的时候可以选取比较少的测试用例数量进行测试,并对测试的结果进行评估,如果评估后的测试结果已经达到了满意的效果,可以立即停止测试,减少了实际所需测试用例的数量,节省测试时间,如果对于测试的结果无法获得一个确定的评估结果,那么可以继续增加测试用例测试,再次循环此步骤,直到能获得一个稳定的评估结果。

如图6所示,在一些实施例中,所述通过率确定模块530包括:

用例分配单元531,用于将当前设定数量的测试用例分配给听测人员进行测试评分;

通过率确定单元532,用于根据当前已经测试过的所有测试用例的评分结果确定所述当前局部测试用例通过率。

如图7所示,在一些实施例中,所述判定模块540包括:

置信度区间确定单元541,用于根据所述当前局部测试用例通过率确定对应于所述测试用例集的置信度区间;

第一判定单元542,用于当目标通过率小于所述置信度区间的下限值时,判定所述语音合成系统的语音合成质量达标;

第二判定单元543,用于当目标通过率大于所述置信度区间的上限值时,判定所述语音合成系统的语音合成质量不达标;

第三判定单元544,用于当目标通过率落入所述置信度区间时,判定无法确定所述语音合成系统的语音合成质量的达标情况;其中,所述目标通过率是为所述测试用例集指定的通过率。

在一些实施例中,所述用于当能够确定所述语音合成系统的语音合成质量的达标情况时,结束测试包括:当判定所述语音合成系统的语音合成质量达标或者判定所述语音合成系统的语音合成质量不达标时,结束测试。

在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述任一项语音合成质量测试方法。

在一些实施例中,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项语音合成质量测试方法。

在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行语音合成质量测试方法。

在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时语音合成质量测试方法。

上述本发明实施例的语音合成质量测试装置可用于执行本发明实施例的语音合成质量测试方法,并相应的达到上述本发明实施例的实现语音合成质量测试方法所达到的技术效果,这里不再赘述。本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

图8是本申请另一实施例提供的执行语音合成质量测试方法的电子设备的硬件结构示意图,如图8所示,该设备包括:

一个或多个处理器810以及存储器820,图8中以一个处理器810为例。

执行语音合成质量测试方法的设备还可以包括:输入装置830和输出装置840。

处理器810、存储器820、输入装置830和输出装置840可以通过总线或者其他方式连接,图8中以通过总线连接为例。

存储器820作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的语音合成质量测试方法对应的程序指令/模块。处理器810通过运行存储在存储器820中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例语音合成质量测试方法。

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

输入装置830可接收输入的数字或字符信息,以及产生与语音合成质量测试装置的用户设置以及功能控制有关的信号。输出装置840可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器820中,当被所述一个或者多个处理器810执行时,执行上述任意方法实施例中的语音合成质量测试方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1