语音测试方法、装置、电子设备及存储介质与流程



1.本公开涉及人工智能技术领域,尤其涉及自然语言处理技术领域。


背景技术:



2.基于自然语言处理(nlp,natural language processing)技术,已实现了语音转写,以及人机交互等功能。
3.自然语言处理,离不开语音识别模型,语音识别模型用于对输入的语音进行识别,以实现语音转写或人机交互等功能。不同语音识别模型的语音处理能力可能存在一定差异,为了衡量语音识别模型的语音处理能力,需要对其进行测试。相关技术中提出的测试方法仅适用于时长较短的语音,针对时长较长的长语音尚未提出测试方案。


技术实现要素:



4.本公开提供了一种语音测试方法、装置、电子设备及存储介质
5.根据本公开的第一方面,提供了一种语音测试方法,包括:
6.逐句发送测试语音中的多个分句,并记录每个分句的发送时间参数;
7.逐句接收测试语音的语音识别结果,并记录每个分句的语音处理结果的接收时间参数;
8.基于每个分句的发送时间参数和每个分句的语音处理结果的接收时间参数,确定延迟时间。
9.根据本公开的第二方面,提供了一种语音测试装置,包括:
10.发送模块,用于逐句发送测试语音中的多个分句,并记录每个分句的发送时间参数;
11.接收模块,用于逐句接收测试语音的语音识别结果,并记录每个分句的语音处理结果的接收时间参数;
12.测评模块,用于基于每个分句的发送时间参数和每个分句的语音处理结果的接收时间参数,确定延迟时间。
13.根据本公开的第三方面,提供了一种电子设备,包括:
14.至少一个处理器;以及,
15.与该至少一个处理器通信连接的存储器;其中,
16.该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行前述第一方面的方法。
17.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使该计算机执行前述第一方面的方法。
18.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现前述第一方面的方法。
19.本公开实施例中,针对长语音的语音处理,可以记录每个分句的发送时间参数和
接收时间参数,由此实现对长语音进行语音处理所需的延迟时间,填补了长语音情况下没有延迟时间测试方法的空白。
20.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
21.附图用于更好地理解本方案,不构成对本公开的限定。其中:
22.图1是根据本公开一实施例的语音测试方法的流程示意图;
23.图2是根据本公开一实施例的语音测试方法中发送测试语音及接收语音识别结果的示意图;
24.图3是根据本公开一实施例的语音测试方法的另一流程示意图;
25.图4是根据本公开一实施例的针对分句说明发送时间参数和接收时间参数的示意图;
26.图5是根据本公开一实施例的对测试语音的标注位置的示意图;
27.图6是根据本公开一实施例的说明测试语音的标注位置的字节位置的示意图;
28.图7是根据本公开一实施例的说明发送时间参数和接收时间参数的另一示意图;
29.图8是根据本公开一实施例的说明结束接收时间的示意图;
30.图9是根据本公开一实施例的语音测试方法的另一流程示意图;
31.图10是根据本公开一实施例的说明需要丢弃的分句的示意图;
32.图11是根据本公开一实施例的语音测试的产品的架构示意图;
33.图12是根据本公开一实施例的说明确定响应时间和延迟的一种示意图;
34.图13是根据本公开一实施例的说明接收时间参数与发送时间参数的另一种示意图;
35.图14是根据本公开一实施例的语音测试装置的一种结构示意图;
36.图15是根据本公开一实施例的语音测试装置的另一种结构示意图;
37.图16是用来实现本公开实施例的语音测试方法的电子设备的框图。
具体实施方式
38.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
39.本公开中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
40.短语音可理解为音频时长较短的语音,长语音可理解为音频时长较长的语音。一种可能的实施方式中,可以将音频时长超过时长阈值的语音称之为长语音,语音时长未超
过该时长阈值的语音称之为短语音。该时长阈值例如可以设置为60s(秒),具体时长阈值的设置可以根据业务需求灵活确定。
41.为了实现对语音识别模型对长语音的处理能力进行测试的目的,本公开实施例中提供了一种语音测试方法,如图1所示,为该方法的流程示意图,该方法包括以下步骤:
42.s101,逐句发送测试语音中的多个分句,并记录每个分句的发送时间参数。
43.实施时,采用发送队列将测试语音中各分句逐句发送出去。如图2所示,发送测试语音时先发送参数包,将测试语音划分为多个音频包,按照顺序逐包发送相当于实现了逐句发送测试语音。每个音频包的大小(即数据量)等同,中间发送的音频包中可能是一个分句的内容,也可能是相邻两个分句的内容。
44.逐包发送时,可以记录每个分句的发送时间参数。其中,发送时间参数可以包括每个分句的开始发送时间和/或结束发送时间。
45.相应的如图2所示,语音识别模型接收到音频包之后,得到测试语音的音频数据,从接收到的音频数据中检测出每个分句并进行识别,得到语音识别结果。接收语音识别的操作如步骤s102。
46.s102,逐句接收测试语音的语音识别结果,并记录每个分句的语音处理结果的接收时间参数。
47.接收语音识别结果的方式和发送测试语音的方式类似,可以采用接收队列接收。返回的语音识别结果也是逐包发送的,可以记录每个分句的语音识别结果的接收时间参数,该接收时间参数包括开始接收时间和/或结束接收时间。
48.s103,基于每个分句的发送时间参数和每个分句的语音处理结果的接收时间参数,确定延迟时间。
49.其中,延迟时间用于衡量语音处理所需的耗时。耗时指标可包括响应时间。该响应时间可理解为一个分句的第一个字从发送出去,到开始接收到该句的语音识别结果之间的时长。这样可以很好的衡量长语音中每个分句的响应延迟。
50.本公开实施例中,针对长语音的测试语音,可以记录每个分句的发送时间参数和接收时间参数,由此有利于通过每个分句的发送和语音识别结果的接收情况,由此实现从分句粒度确定对长语音进行语音处理时的延迟时间,填补了针对长语音延迟时间测试的空白。
51.如前文所描述的,本公开实施例中,发送时间参数包括开始发送时间,接收时间参数包括开始接收时间,延迟时间包括响应时间。基于此,确定响应时间可实施为以下步骤,如图3所示包括:
52.s301,针对每个分句,确定分句的开始发送时间和分句的语音识别结果的开始接收时间之间的第一时间差;
53.s302,对每个分句分别对应的第一时间差进行统计分析、得到响应时间。
54.如图4所示,针对测试语音中的任一分句query-a,记录了该分句的开始发送时间rst1,并记录了该分句的语音识别结果的开始接收时间rst1’,由此针对分句query-a的第一时间差为(rst1
’‑
rst1)。
55.得到测试语音中各分句的第一时间差之后,可以统计出各分句的第一时间差的均值作为响应时间的测试结果。
56.当然,在另一些实施例中,还可以取各分句的第一时间差的最大值和最小值作为响应时间的测试结果。具体实施时,对第一时间差的统计分析方法可根据实际需求确定,本公开实施例对此不作限定。
57.由于测试语音是逐包发送的,且语音识别结果也是逐包接收的,计算的开始发送时间和开始接收时间之间的时间延迟,也可以称之为首包响应时间。
58.本公开实施例中,基于各分句的开始发送时间和各分句的语音识别结果的开始接收时间,能够准确的测试出语音处理所需的响应时间。
59.除了前文描述的响应时间之外,本公开实施例中对长语音的测试指标还可以包括硬延迟。针对每个分句而言,硬延迟指该分句的最后一个字发完,到接收完该分句的语音识别结果所需的时长。基于此,发送时间参数包括结束发送时间、接收时间参数包括结束接收时间,延迟时间包括硬延迟。则确定硬延迟的方法可实施为如图3所示,包括以下步骤:
60.s303:针对每个分句,确定分句的结束发送时间和分句的语音识别结果的结束接收时间之间的第二时间差。
61.s304:对每个分句分别对应的第二时间差进行统计分析、得到对测试语音进行语音处理的硬延迟。
62.继续以图4为例,测试语音中的任一分句query-a,记录了该分句的结束发送时间ret1,并记录了该分句的语音识别结果的结束接收时间ret1’,由此针对分句query-a的第二时间差为(ret1
’‑
ret1)。
63.得到测试语音中各分句的第二时间差之后,可以统计得出各分句的第二时间差的均值作为对测试语音进行语音处理的硬延迟。
64.当然,在另一些实施例中,还可以取各分句的第二时间差的最大值和最小值作为硬延迟。具体实施时,对第二时间差的统计分析方法可根据实际需求确定,本公开实施例对此不作限定。
65.本公开实施例中,基于各分句的结束发送时间和各分句的语音识别结果的结束接收时间,能够准确的测试出对长语音进行处理的硬延迟指标。
66.本公开实施例中,为了便于准确的记录测试语音中每个分句的开始发送时间和结束发送时间,采用标注的方式对测试语音中每个分句进行标注。测试语音中每个分句都有标注位置,如图5所示,该标注位置可包括每个分句在测试语音中的开始位置和结束位置。当需要测试响应时间时,采用开始位置进行标注即可,当需要测试硬延迟时采用结束位置进行标注即可。由此,本公开实施例中,记录每个分句的发送时间参数可实施为:获取测试语音中每个分句的标注位置;基于每个分句的标注位置,记录每个分句的发送时间参数。
67.本公开实施例中,能够基于测试语音的标注位置,准确的定位测试语音中每个分句的位置,以便于为准确记录每个分句的发送时间参数和接收时间参数提供有力的数据支持。
68.下面以响应时间和硬延迟都进行测试为例对本公开实施例的语音测试方法进行进一步说明。
69.在记录发送时间参数时,可以基于每个分句的标注位置中的起始位置,记录每个分句的发送时间参数中的开始发送时间;基于每个分句的标注位置中的结束位置,记录每个分句的发送时间参数中的结束发送时间。
70.由此,本公开实施例中,基于分句在测试语音的起始位置,能够准确的记录分句的开始发送时间,基于分句在测试语音的结束位置,能够准确的记录分句的结束发送时间。准确的记录每个分句的开始发送时间和结束发送时间,有利于提高测试的准确性。
71.为便于理解,下面对如何记录开始发送时间和结束发送时间做进一步说明。
72.图5中展示的标注位置是基于测试语音的时间位置,发送时为了便于确定各分句何时开始发送以及何时结束发送,本公开中将标注位置中各分句的开始位置和结束位置转换为字节位置。
73.基于图2内容可知,测试语音从发送队列中逐包发送出去。假设每包大小为α字节,每间隔时长t发送一包,则针对任一分句,其开始位置或结束位置转换为字节位置的计算方式,如公式(1)所示:
[0074][0075]
在公式(1)中,w表示字节位置,t表示任一分句在测试语音中的标注位置,当t为起始位置时w为起始位置的字节位置,当t为结束位置时w为结束位置的字节位置,t表示每包的发送时间间隔(例如160ms),α表示每包的大小。
[0076]
由此,在得到测试语音中每个分句的标注位置之后,可以基于公式(1)将标注位置转换为发送时容易识别的字节位置。如表1所示,为将测试语音中各分句的标注位置转换为字节位置之后的示例。
[0077]
表1
[0078]
分句起始位置的字节位置结束位置的字节位置分句1sb1eb1分句2sb2eb2
………………
分句nsbnebn
[0079]
有了表1所示的数据后,如图6所示,从测试语音第一个音频字节开始,首个分句的起始位置的字节位置假设为2656000,则说明发送第2656000字节时,开始发送首个分句,假设首个分句的结束位置的字节位置为2944000,则发送第2944000时说明首个分句发送结束。
[0080]
同理,假设第二个分句的开始位置的字节位置为3500000,则说明发送第3500000个字节时开始发送第二个分句,以此类推可以确定出每个分句的开始发送的字节位置以及结束发送时的字节位置。由此可知,字节位置实质上也等同于发送的字节数。因此,可以在发送测试语音时,统计发送出去的字节数,当统计的发送出去的字节数到首个分句的起始位置的字节位置时,对时间进行打点,得到首个分句的开始发送时间,当发送到首个分句的结束位置的字节位置时,对时间进行打点,得到首个分句的结束发送时间,以此类推可以得到测试语音中每个分句的开始发送时间和结束发送时间。
[0081]
由于测试语音逐包是发送的,为了便于统计发送的字节数,本公开实施例中,每发送一包对发送的字节数累加一次,累加值为一包的大小。例如,发送第一个包后,发送的字节数为a1,用统计的发送字节数和首个分句的起始位置的字节位置a进行比对,若a1《a,说明首个分句还未开始发送,继续发送第二包,对a1进行累加,累加的数量为第二包的字节数
以此更新a1。累加后继续判断a1和a的大小,直至a1》a时,且累加的发送包都发送出去时说明已经开始发送首个分句,此时对时间进行打点得到rst1”。由于一个发送包的最后一个字节可能不是首个分句的最后一个字节,为了得到首个分句的准确的开始发送时间,可以进一步计算当前a1和a的偏移量,即二者之间的差值a’,然后根据偏移量a’对rst1”进行修正,即可得到的首个分句的准确的开始发送时间。对任一分句,修正发送时间参数的方式如公式(2)所示:
[0082][0083]
在公式(2)中,rsti表示第i个分句的开始发送时间,rsti”表示对第i个分句的开始发送时间的打点时间,ai’表示累加的已发送字节数和第i个分句的起始位置的字节数之间的偏移量,t表示每包的发送时间间隔(例如160ms),α表示发送包的大小。
[0084]
类似的,针对各个分句的标注位置都可以采用上述的方式折算出该分句的开始发送时间和结束发送时间。针对结束发送时间,公式(2)参数可理解为rsti表示第i个分句的结束发送时间,rsti”表示对第i个分句的结束发送时间的打点时间,ai’表示累加的已发送字节数和第i个分句的结束位置的字节数之间的偏移量,t表示每包的发送时间间隔(例如160ms),α表示发送包的大小。
[0085]
测试语音发送给语音识别模型进行语音处理的过程中,需要对测试语音进行语音活动检测(voice activity detection,vad)。由此,通过vad从接收到的测试语音中切分出各个分句(后文简称检测分句)。然后对检测分句进行语音识别,之后将语音识别结果发送回来。
[0086]
相应的,返回的语音识别结果也是逐包接收的。返回的语音识别结果中可以基于接收包中的分句标识来识别同一检测分句的接收包。例如一个检测分句的第一包带有第一指定符号,最后一包带有第二指定符号,由此在通过流式方式接收返回的接收包时,基于分句标识即可识别出各检测分句的接收包。如针对每个分句,当接收到该分句的第一个接收包时对时间打点,得到该分句的语音识别结果的开始接收时间,当接收到该分句的最后一个接收包时,对时间打点,得到该分句的结束接收时间。
[0087]
采用vad进行分句时,所得分句结果可能与标注的分句结果不一致。这种不一致体现在检测的分句数量与标注的分句数量可能不一致,也可能同一分句在测试语音中的标注位置和vad检测得到的起止位置存在差异。实施时,需要对标注的分句以及检测分句进行对齐,以便于确保计算响应时间和硬延迟时是采用同一分句的时间参数(包括发送时间参数和接收时间参数)进行测试,以提高延迟时间测试的准确性。
[0088]
一种可能的实施方式中,可以判断检测分句的数量和测试语音中标注的分句数量是否相同,若不同,说明语音识别模型在vad时存在误差。
[0089]
即使分句数量相同,也可能存在同一分句切分位置不同的情况,例如图7所示,基于vad对测试语音切分分句时,一个分句经vad检测出的开始位置rst’可能比标注的起始位置rst靠前,也可能靠后。类似的,一个分句经vad检测出的结束位置ret’也可能出现在标注的结束位置前后的情况。由此,基于同一分句的检测位置和标注位置之间的差异程度可以量化出语音识别模型的vad方法的准确性。
[0090]
例如,针对每个分句,确定vad检测出的分句长度,并确定标注的分句长度,计算这
两个长度之差,最终计算出测试语音中各个分句的长度差的平均值作为衡量语音识别模型中vad方法的准确性。
[0091]
语音处理过程中,同一分句可能被vad划分成多个子句,为了将发送出的分句和接收的分句对齐,以期采用同一分句的发送时间参数和接收时间参数来得到延迟时间,本公开实施例中可基于以下方法确定出标注的分句在语音识别结果中的多个子句。如图8所示,对接收的每个子句都有对应的开始接收时间和结束接收时间。针对发送的每个分句q,获取该分句的第一个接收分句(即检测分句)的结束接收时间ret-1’,如果该结束接收时间ret-1’在分句q的结束发送时间ret之前,说明分句q经vad被划分成了多个子句。可以获取第一个接收分句后的接收分句(简称为第二接收分句),同样,比对第二接收分句的结束接收时间ret-2’和分句q的结束发送时间ret,若第二接收分句的结束接收时间ret-2’在分句q的结束接收时间之后,则说明分句q被划分为两个分句,即第一个接收分句和第二接收分句。
[0092]
若第二接收分句的结束接收时间ret-2’仍在分句q的结束发送时间ret之前,说明分句q被划分为至少3个子句,则继续检测下一个检测分句,直至检测分句n的结束接收时间ret-n’在分句q的结束发送时间ret之后。由此,得到分句q的多个子句。
[0093]
为了准确的确定响应时间和硬延迟,本公开实施例中确定测试语音中各分句的语音识别结果的接收时间参数,可实施为如图9所示,包括以下步骤:
[0094]
s901,针对每个分句,在分句的语音识别结果的开始接收时间早于分句的开始发送时间、且分句在语音处理过程中划分为多个子句的情况下,获取多个子句中各个子句的语音识别结果的开始接收时间。
[0095]
s902,从各个子句的语音识别结果的开始接收时间中,筛选出时间在分句的开始发送时间之后、且距离分句的开始发送时间最近的开始接收时间。
[0096]
s903,将筛选出的开始接收时间确定为分句的语音处理结果的开始接收时间。
[0097]
例如,分句q被划分为2个检测分句,且第一个检测分句的开始接收时间早于分句q的开始发送时间,则采用第2个检测分句的开始接收时间作为分句q的语音识别结果的开始接收时间。
[0098]
由此,本公开实施例中,当同一分句在语音处理过程中被划分为多个子句时,可以基于这多个子句的开始接收时间确定该分句的语音处理结果的开始接收时间,由此得到语音识别结果的准确的开始接收时间,以提高测试的准确性。
[0099]
相应的,当一个分句划分为多个子句时,基于以下方法得到该分句的语音识别结果的结束接收时间,如图9所示,包括:
[0100]
s904,针对每个分句,在分句的语音识别结果的开始接收时间早于分句的开始发送时间、且分句在语音处理过程中划分为多个子句的情况下,获取多个子句中最后一个子句的语音识别结果的结束接收时间。
[0101]
s905,将最后一个子句的语音识别结果的结束接收时间确定为分句的语音处理结果的结束接收时间。
[0102]
由此,本公开实施例中,当同一分句在语音处理过程中被划分为多个子句时,可以基于这多个子句的结束接收时间确定该分句的语音处理结果的介绍接收时间,由此得到准确的结束接收时间,以提高测试的准确性。
[0103]
在一些实施例中,在延迟时间这一测试指标中,为了准确的评估出响应时间和硬
延迟,本公开实施例中会剔除部分有误差的分句。如,针对每个分句,在该分句满足指定条件的情况下,确定该分句不参与延迟时间的计算;
[0104]
指定条件包括:分句的语音识别结果的开始接收时间早于分句的开始发送时间;或者,
[0105]
指定条件包括:分句的语音识别结果的开始接收时间早于分句的开始发送时间、且分句未在语音处理过程中划分为多个子句。
[0106]
由此,本公开实施例中,能够将开始接收时间早于开始发送时间的分句剔除掉,由此不用这些分句确定延迟时间,可以提高延迟时间的准确性,提高测试结果的准确性。
[0107]
在另一个实施例中,还可以针对每个分句,在分句的语音识别结果的结束接收时间在分句之后的第n个分句的开始发送时间和结束发送时间之间的情况下,确定分句之后的n个分句不参与延迟时间的计算,其中,n为正整数。
[0108]
如图10所示,假设分句q1的开始接收时间在分句q2之前,但q1的结束接收时间req1’落在了分句q2的开始发送时间和结束发送时间之间,则丢弃分句q2,即分句q2不参与计算延迟时间。假设分句q1的结束接收时间req1’落在了q3的开始发送时间和结束发送时间之间,则分句q2和分句q3均丢弃,均不参与延迟时间的计算。
[0109]
由此,本公开实施例中,能够发现不适于确定延迟时间的分句,在确定延迟时间时,不采用这些分句的发送时间参数和结束时间参数,由此可以提高延迟时间计算的准确性,提高测试结果的准确性。
[0110]
为便于理解,下面以客户端负责采集语音发送给云端进行语音处理的产品为例,对该产品中云端的长语音处理能力进行测试的方法进行说明。
[0111]
该实施例中,可以基于客户端采集多个长语音作为测试语音。然后针对每个测试语音标注出其中每个分句的标注位置,得到由多个测试语音构成的测试集。
[0112]
之后,对测试集进行初始化,即采用公式(1)确定出测试语音中每个分句的标注位置的字节位置。然后如图11所示,由模拟端从测试集中筛选出测试语音发送给云端。模拟端一边逐包发送测试语音一边根据每个分句的开始位置的字节位置记录每个分句的开始发送时间,并基于每个分句的结束位置的字节位置记录每个分句的结束发送时间。
[0113]
在云端,部署有语音识别模型,语音识别模型一边接收测试语音的剩余数据,一边对已接收到的测试语音通过vad切分出各个分句得到检测分句,然后对检测分句进行语音识别,将识别结果逐包发送给模拟端。
[0114]
模拟端,基于接收包中每个检测分句的开始和结束标识,识别出各个检测分句的第一个接收包,接收到第一个接收包的时对时间打点,得到检测分句的开始接收时间,同理,接收到检测分句的最后一个接收包时对时间打点,得到检测分句的结束接收时间。
[0115]
测试语音的标注位置代表了不同的分句(后文称之为标注分句),在接收到第一个检测分句时,将第一个检测分句的开始接收时间rs1’与第一个标注分句的开始发送时间s1进行比对,若第一个检测分句的开始接收时间rs1’在第一个标注分句的开始发送时间s1之前,则将丢弃该第一个检测分句。
[0116]
在另一种情况下,如图12所示,若rs1’在s1之后,且第一个检测分句的结束接收时间re1’在第一个标注分句的结束发送时间e1之前,则查看第二个检测分句的结束接收时间re2’。如图12所示,该第二个检测分句的结束接收时间re2’在第一个标注分句的结束接收
时间e1之后、且在第二个标注分句的开始发送时间s2之前,则采用第一个检测分句的开始接收时间rs1’和第二个检测分句的结束接收时间re2’计算第一个标注分句的响应时间和硬延迟。
[0117]
如图13所示,s1和e1表示第一个标注分句的开始发送时间和结束发送时间,s2和e2表示第二个标注分句的开始发送时间和结束发送时间。如果第二个检测分句的结束接收时间re2’在第二个标注分句的开始发送时间和结束发送时间之间,则抛弃第二个标注分句不参与响应时间和硬延迟的计算。以此类推,得到各参与计算的标注分句的语音识别结果的接收时间参数,由此计算出响应时间和硬延迟。
[0118]
此外,除了延迟时间,本公开实施例中可以计算语音识别结果的字准和句准来衡量语音处理的性能。字准可理解为正确识别的字符数和测试语音的字符总数之间的比值,句子可理解为正确识别的分句数相对测试语音中所有分句的比例。对于一个句子,假设有一个字符识别错误,则该句子未正确识别。
[0119]
在另一些实施例中,模拟端还可以采用多线程同时发送多个测试语音,由此测试云端的并发能力。
[0120]
基于相同的技术构思,本公开实施例还提供一种语音测试装置,如图14所示,为该装置的结构示意图,包括:
[0121]
发送模块1401,用于逐句发送测试语音中的多个分句,并记录每个分句的发送时间参数;
[0122]
接收模块1402,用于逐句接收所述测试语音的语音识别结果,并记录每个分句的语音处理结果的接收时间参数;
[0123]
测评模块1403,用于基于每个分句的发送时间参数和每个分句的语音处理结果的接收时间参数,确定延迟时间。
[0124]
在一些实施例中,在图14的基础上,如图15所示,所述发送时间参数包括开始发送时间,所述接收时间参数包括开始接收时间,所述延迟时间包括响应时间,所述测评模块1403包括响应时间确定单元1501,用于:
[0125]
针对每个分句,确定所述分句的开始发送时间和所述分句的语音识别结果的开始接收时间之间的第一时间差;
[0126]
对每个分句分别对应的第一时间差进行统计分析、得到对所述响应时间。
[0127]
在一些实施例中,所述发送时间参数包括结束发送时间、所述接收时间参数包括结束接收时间,所述延迟时间包括硬延迟,所述测评模块1403包括硬延迟确定单元1502,用于:
[0128]
针对每个分句,确定所述分句的结束发送时间和所述分句的语音识别结果的结束接收时间之间的第二时间差;
[0129]
对每个分句分别对应的第二时间差进行统计分析、得到所述硬延迟。
[0130]
在一些实施例中,如图15所示,该装置还包括第一剔除模块1503,用于:
[0131]
针对每个分句,在所述分句满足指定条件的情况下,确定所述分句不参与所述延迟时间的计算;
[0132]
所述指定条件包括:所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间;或者,
[0133]
所述指定条件包括:所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间、且所述分句未在语音处理过程中划分为多个子句。
[0134]
在一些实施例中,所述接收模块1402,用于:
[0135]
针对每个分句,在所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间、且所述分句在语音处理过程中划分为多个子句的情况下,获取所述多个子句中各个子句的语音识别结果的开始接收时间;
[0136]
从所述各个子句的语音识别结果的开始接收时间中,筛选出时间在所述分句的开始发送时间之后、且距离所述分句的开始发送时间最近的开始接收时间;
[0137]
将筛选出的开始接收时间确定为所述分句的语音处理结果的开始接收时间。
[0138]
在一些实施例中,所述接收模块1402,用于:
[0139]
针对每个分句,在所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间、且所述分句在语音处理过程中划分为多个子句的情况下,获取所述多个子句中最后一个子句的语音识别结果的结束接收时间;
[0140]
将最后一个子句的语音识别结果的结束接收时间确定为所述分句的语音处理结果的结束接收时间。
[0141]
在一些实施例中,如图15所示,该装置还包括第二剔除模块1504,用于:
[0142]
针对每个分句,在所述分句的语音识别结果的结束接收时间在所述分句之后的第n个分句的开始发送时间和结束发送时间之间的情况下,确定所述分句之后的n个分句不参与所述延迟时间的计算,其中,n为正整数。
[0143]
在一些实施例中,所述发送模块1401,用于:
[0144]
获取所述测试语音中每个分句的标注位置;
[0145]
基于每个分句的所述标注位置,记录每个分句的发送时间参数。
[0146]
在一些实施例中,所述发送模块1401,用于:
[0147]
基于每个分句的起始位置,记录每个分句的所述发送时间参数中的开始发送时间;
[0148]
基于每个分句的结束位置,记录每个分句的所述发送时间参数中的结束发送时间。
[0149]
本公开实施例中,针对长语音的语音处理,可以记录每个分句的发送时间参数和接收时间参数,由此实现对长语音进行语音处理所需的延迟时间,填补了长语音情况下没有延迟时间测试方法的空白。
[0150]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0151]
图16示出了可以用来实施本公开的实施例的示例电子设备1600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0152]
如图16所示,电子设备1600包括计算单元1601,其可以根据存储在只读存储器
(rom)1602中的计算机程序或者从存储单元1608加载到随机访问存储器(ram)1603中的计算机程序,来执行各种适当的动作和处理。在ram 1603中,还可存储电子设备1600操作所需的各种程序和数据。计算单元1601、rom 1602以及ram 1603通过总线1604彼此相连。输入/输出(i/o)接口1605也连接至总线1604。
[0153]
电子设备1600中的多个部件连接至i/o接口1605,包括:输入单元1606,例如键盘、鼠标等;输出单元1607,例如各种类型的显示器、扬声器等;存储单元1608,例如磁盘、光盘等;以及通信单元1609,例如网卡、调制解调器、无线通信收发机等。通信单元1609允许电子设备1600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0154]
计算单元1601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1601执行上文所描述的语音测试方法。在一些实施例中,语音测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1608。在一些实施例中,计算机程序的部分或者全部可以经由rom 1602和/或通信单元1609而被载入和/或安装到电子设备1600上。当计算机程序加载到ram 1603并由计算单元1601执行时,可以执行语音测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元1601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行语音测试方法。
[0155]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0156]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0157]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0158]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
[0159]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0160]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0161]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0162]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

技术特征:


1.一种语音测试方法,包括:逐句发送测试语音中的多个分句,并记录每个分句的发送时间参数;逐句接收所述测试语音的语音识别结果,并记录每个分句的语音处理结果的接收时间参数;基于每个分句的发送时间参数和每个分句的语音处理结果的接收时间参数,确定延迟时间。2.根据权利要求1所述的方法,所述发送时间参数包括开始发送时间,所述接收时间参数包括开始接收时间,所述延迟时间包括响应时间,所述基于每个分句的发送时间参数和每个分句的语音处理结果的接收时间参数,确定延迟时间,包括:针对每个分句,确定所述分句的开始发送时间和所述分句的语音识别结果的开始接收时间之间的第一时间差;对每个分句分别对应的第一时间差进行统计分析、得到对所述响应时间。3.根据权利要求1或2所述的方法,所述发送时间参数包括结束发送时间、所述接收时间参数包括结束接收时间,所述延迟时间包括硬延迟,所述基于每个分句的发送时间参数和每个分句的语音处理结果的接收时间参数,确定延迟时间,包括:针对每个分句,确定所述分句的结束发送时间和所述分句的语音识别结果的结束接收时间之间的第二时间差;对每个分句分别对应的第二时间差进行统计分析、得到所述硬延迟。4.根据权利要求2所述的方法,还包括:针对每个分句,在所述分句满足指定条件的情况下,确定所述分句不参与所述延迟时间的计算;所述指定条件包括:所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间;或者,所述指定条件包括:所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间、且所述分句未在语音处理过程中划分为多个子句。5.根据权利要求2所述的方法,所述记录每个分句的语音处理结果的接收时间参数,包括:针对每个分句,在所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间、且所述分句在语音处理过程中划分为多个子句的情况下,获取所述多个子句中各个子句的语音识别结果的开始接收时间;从所述各个子句的语音识别结果的开始接收时间中,筛选出时间在所述分句的开始发送时间之后、且距离所述分句的开始发送时间最近的开始接收时间;将筛选出的开始接收时间确定为所述分句的语音处理结果的开始接收时间。6.根据权利要求3所述的方法,所述记录每个分句的语音处理结果的接收时间参数,包括:针对每个分句,在所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间、且所述分句在语音处理过程中划分为多个子句的情况下,获取所述多个子句中最后一个子句的语音识别结果的结束接收时间;将最后一个子句的语音识别结果的结束接收时间确定为所述分句的语音处理结果的
结束接收时间。7.根据权利要求3或6所述的方法,还包括:针对每个分句,在所述分句的语音识别结果的结束接收时间在所述分句之后的第n个分句的开始发送时间和结束发送时间之间的情况下,确定所述分句之后的n个分句不参与所述延迟时间的计算,其中,n为正整数。8.根据权利要求1-7中任一项所述的方法,所述记录每个分句的发送时间参数,包括:获取所述测试语音中每个分句的标注位置;基于每个分句的所述标注位置,记录每个分句的发送时间参数。9.根据权利要求8所述的方法,所述标注位置包括起始位置和结束位置,所述基于每个分句的所述标注位置,记录每个分句的发送时间参数,包括:基于每个分句的起始位置,记录每个分句的所述发送时间参数中的开始发送时间;基于每个分句的结束位置,记录每个分句的所述发送时间参数中的结束发送时间。10.一种语音测试装置,包括:发送模块,用于逐句发送测试语音中的多个分句,并记录每个分句的发送时间参数;接收模块,用于逐句接收所述测试语音的语音识别结果,并记录每个分句的语音处理结果的接收时间参数;测评模块,用于基于每个分句的发送时间参数和每个分句的语音处理结果的接收时间参数,确定延迟时间。11.根据权利要求10所述的装置,所述发送时间参数包括开始发送时间,所述接收时间参数包括开始接收时间,所述延迟时间包括响应时间,所述测评模块包括响应时间确定单元,用于:针对每个分句,确定所述分句的开始发送时间和所述分句的语音识别结果的开始接收时间之间的第一时间差;对每个分句分别对应的第一时间差进行统计分析、得到对所述响应时间。12.根据权利要求10或11所述的装置,所述发送时间参数包括结束发送时间、所述接收时间参数包括结束接收时间,所述延迟时间包括硬延迟,所述测评模块包括硬延迟确定单元,用于:针对每个分句,确定所述分句的结束发送时间和所述分句的语音识别结果的结束接收时间之间的第二时间差;对每个分句分别对应的第二时间差进行统计分析、得到所述硬延迟。13.根据权利要求11所述的装置,还包括第一剔除模块,用于:针对每个分句,在所述分句满足指定条件的情况下,确定所述分句不参与所述延迟时间的计算;所述指定条件包括:所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间;或者,所述指定条件包括:所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间、且所述分句未在语音处理过程中划分为多个子句。14.根据权利要求11所述的装置,所述接收模块,用于:针对每个分句,在所述分句的语音识别结果的开始接收时间早于所述分句的开始发送
时间、且所述分句在语音处理过程中划分为多个子句的情况下,获取所述多个子句中各个子句的语音识别结果的开始接收时间;从所述各个子句的语音识别结果的开始接收时间中,筛选出时间在所述分句的开始发送时间之后、且距离所述分句的开始发送时间最近的开始接收时间;将筛选出的开始接收时间确定为所述分句的语音处理结果的开始接收时间。15.根据权利要求12所述的装置,所述接收模块,用于:针对每个分句,在所述分句的语音识别结果的开始接收时间早于所述分句的开始发送时间、且所述分句在语音处理过程中划分为多个子句的情况下,获取所述多个子句中最后一个子句的语音识别结果的结束接收时间;将最后一个子句的语音识别结果的结束接收时间确定为所述分句的语音处理结果的结束接收时间。16.根据权利要求12或15所述的装置,还包括第二剔除模块,用于:针对每个分句,在所述分句的语音识别结果的结束接收时间在所述分句之后的第n个分句的开始发送时间和结束发送时间之间的情况下,确定所述分句之后的n个分句不参与所述延迟时间的计算,其中,n为正整数。17.根据权利要求10-16中任一项所述的装置,所述发送模块,用于:获取所述测试语音中每个分句的标注位置;基于每个分句的所述标注位置,记录每个分句的发送时间参数。18.根据权利要求17所述的装置,所述发送模块,用于:基于每个分句的起始位置,记录每个分句的所述发送时间参数中的开始发送时间;基于每个分句的结束位置,记录每个分句的所述发送时间参数中的结束发送时间。19.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。20.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行权利要求1-9中任一项所述的方法。21.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现权利要求1-9中任一项所述的方法。

技术总结


本公开提供了一种语音测试方法、装置、电子设备及存储介质,涉及人工智能技术领域,尤其涉及自然语言处理技术领域。具体实现方案为:逐句发送测试语音中的多个分句,并记录每个分句的发送时间参数;逐句接收测试语音的语音识别结果,并记录每个分句的语音处理结果的接收时间参数;基于每个分句的发送时间参数和每个分句的语音处理结果的接收时间参数,确定延迟时间。本公开实施例中,针对长语音的语音处理,可以记录每个分句的发送时间参数和接收时间参数,由此实现对长语音进行语音处理所需的延迟时间,填补了长语音情况下没有延迟时间测试方法的空白。测试方法的空白。测试方法的空白。


技术研发人员:

迪力亚尔

受保护的技术使用者:

北京百度网讯科技有限公司

技术研发日:

2022.06.30

技术公布日:

2022/10/13

本文发布于:2024-09-22 15:46:48,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/26547.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分句   时间   所述   语音
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议