1.本技术涉及语音识别技术领域,具体而言,涉及一种语音断句时长的动态确定方法、装置、介质和电子设备。
背景技术:
2.断句对于正确解析音频语义非常重要。比如,“抱歉,没有找到可以播放的歌曲”的音频,可以明显的看到在不同的汉字之间存在一段间隔时间段(即vad=no的时间段);假设将vad=no的持续时间=300ms,则可以将上面的音频分为两个句子,即“抱歉”和“没有找到可以播放的歌曲”;假设将vad=no的持续时间=500ms,则可以将上面的音频确定为一个句子,即“抱歉,没有找到可以播放的歌曲”。
3.但是,在实际应用的过程中,将vad间隔时间段设置的比较短的话,则会有可能将用户的一次语音输入拆分为多个输入,导致交互异常,比如“导航去西直门”,由于中间间隔较长,而vad间隔时间段较短,导致将上面的一句话中的“西直门”作为一句话被分割出来,但是“西直门”又不是一句话。而将vad间隔时间段设置的比较长的话,则会导致每次语音交互都要多等一段时间,导致语音交互效率降低。
4.因此,本技术提供了一种语音断句时长的动态确定方法,以解决上述技术问题。
技术实现要素:
5.本技术的目的在于提供一种语音断句时长的动态确定方法、装置、介质和电子设备,能够解决上述提到的至少一个技术问题。具体方案如下:
6.根据本技术的具体实施方式,第一方面,本技术提供一种语音断句时长的动态确定方法,包括:
7.获取用户语音、当前断句时长和当前待定时长;
8.对所述用户语音进行静音检测,获取当前静音时长;
9.基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,将所述当前待定时长作为历史待定时长存入历史时长数据集;
10.从所述历史时长数据集中获取当前存储数量;
11.当所述当前存储数量小于或等于预设第一存储数量阈值时,基于历史时长数据集和预设第一断句规则动态更新所述当前断句时长;
12.当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集和预设第二断句规则动态更新所述当前断句时长。
13.可选的,所述基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,包括:
14.当所述当前静音时长小于所述当前断句时长,且所述当前静音时长大于当前待定时长时,基于所述当前静音时长更新所述当前待定时长。
15.可选的,所述方法还包括:
16.当所述当前静音时长大于所述当前断句时长,且所述当前静音时长小于预设最大断句时长时,基于所述当前静音时长更新所述当前待定时长。
17.可选的,所述方法还包括:
18.当所述当前静音时长大于所述当前断句时长,且所述当前静音时长大于或等于预设最大断句时长时,保持所述当前待定时长不变。
19.可选的,所述当所述当前存储数量小于或等于预设第一存储数量阈值时,基于历史时长数据集和预设第一断句规则动态更新所述当前断句时长,包括:
20.当所述当前存储数量小于或等于预设第一存储数量阈值时,基于所述历史时长数据集获得最大的第一历史待定时长;
21.基于所述第一历史待定时长动态更新所述当前断句时长。
22.可选的,所述当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集和预设第二断句规则动态更新所述当前断句时长,包括:
23.当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集获得按时长大小顺序排列的历史时长队列;
24.基于预设高位百分比从所述历史时长队列中获得对应排位的第二历史待定时长;
25.基于所述第二历史待定时长动态更新所述当前断句时长。
26.可选的,在动态更新所述当前断句时长之后,还包括:
27.当所述当前存储数量等于预设第二存储数量阈值时,从所述历史时长数据集中删除最早的历史待定时长,其中,所述预设第二存储数量阈值大于预设第一存储数量阈值。
28.根据本技术的具体实施方式,第二方面,本技术提供一种语音断句时长的动态确定装置,包括:
29.第一获取单元,用于获取用户语音、当前断句时长和当前待定时长;
30.第二获取单元,用于对所述用户语音进行静音检测,获取当前静音时长;
31.保存单元,用于基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,将所述当前待定时长作为历史待定时长存入历史时长数据集;
32.第三获取单元,用于从所述历史时长数据集中获取当前存储数量;
33.第一更新单元,用于当所述当前存储数量小于或等于预设第一存储数量阈值时,基于历史时长数据集和预设第一断句规则动态更新所述当前断句时长;
34.第二更新单元,用于当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集和预设第二断句规则动态更新所述当前断句时长。
35.可选的,所述基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,包括:
36.当所述当前静音时长小于所述当前断句时长,且所述当前静音时长大于当前待定时长时,基于所述当前静音时长更新所述当前待定时长。
37.可选的,所述基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,包括:
38.当所述当前静音时长大于所述当前断句时长,且所述当前静音时长小于预设最大断句时长时,基于所述当前静音时长更新所述当前待定时长。
39.可选的,所述基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,包括:
40.当所述当前静音时长大于所述当前断句时长,且所述当前静音时长大于或等于预设最大断句时长时,保持所述当前待定时长不变。
41.可选的,所述当所述当前存储数量小于或等于预设第一存储数量阈值时,基于历史时长数据集和预设第一断句规则动态更新所述当前断句时长,包括:
42.当所述当前存储数量小于或等于预设第一存储数量阈值时,基于所述历史时长数据集获得最大的第一历史待定时长;
43.基于所述第一历史待定时长动态更新所述当前断句时长。
44.可选的,所述当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集和预设第二断句规则动态更新所述当前断句时长,包括:
45.当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集获得按时长大小顺序排列的历史时长队列;
46.基于预设高位百分比从所述历史时长队列中获得对应排位的第二历史待定时长;
47.基于所述第二历史待定时长动态更新所述当前断句时长。
48.可选的,在动态更新所述当前断句时长之后,还包括:
49.删除单元,用于当所述当前存储数量等于预设第二存储数量阈值时,从所述历史时长数据集中删除最早的历史待定时长,其中,所述预设第二存储数量阈值大于预设第一存储数量阈值。
50.根据本技术的具体实施方式,第三方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上任一项所述语音断句时长的动态确定方法。
51.根据本技术的具体实施方式,第四方面,本技术提供一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上任一项所述语音断句时长的动态确定方法。
52.本技术实施例的上述方案与现有技术相比,至少具有以下有益效果:
53.本技术提供了一种语音断句时长的动态确定方法、装置、介质和电子设备。本技术基于用户语音的当前静音时长以及前次确定的当前待定时长和当前断句时长和预设最大断句时长更新所述当前待定时长,将所述当前待定时长作为历史待定时长存入历史时长数据集。所述历史时长数据集中保存着对所述用户语音进行静音检测过程中历次静音所对应的历史待定时长。通过所述历史时长数据集中保存的多个历史待定时长动态更新当前断句时长,避免非正常的历史待定时长对确定当前断句时长的影响,且能够根据每个人的说话习惯和语速动态更新当前断句时长,从而满足诗句断句的需要。
附图说明
54.图1示出了根据本技术实施例的语音断句时长的动态确定方法的流程图;
55.图2示出了根据本技术实施例的语音断句时长的动态确定装置的单元框图。
具体实施方式
56.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
57.在本技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
58.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
59.应当理解,尽管在本技术实施例中可能采用术语第一、第二、第三等来描述,但这些描述不应限于这些术语。这些术语仅用来将描述区分开。例如,在不脱离本技术实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
60.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
61.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的商品或者装置中还存在另外的相同要素。
62.特别需要说明的是,在说明书中存在的符号和/或数字,如果在附图说明中未被标记的,均不是附图标记。
63.下面结合附图详细说明本技术的可选实施例。
64.对本技术提供的实施例,即一种语音断句时长的动态确定方法的实施例。
65.下面结合图1对本技术实施例进行详细说明。
66.步骤s101,获取用户语音、当前断句时长和当前待定时长。
67.本技术实施例可以针对事前录制后的语音或视频中的语音,边播放边根据语音的节奏和特点动态调整断句时长,保证能够根据动态调整的断句时长准确的对语音进行断句,比如,事前在教室里录制的教学语音或教学视频;也可以针对现场录制的语音或视频中的语音,边录制边根据语音的节奏和特点动态调整断句时长,保证能够根据动态调整的断句时长准确的对现场语音进行实时断句,比如,在教室里现场采集的教学语音或教学视频中的语音;当然,本技术实施例不限于此。
68.所述用户语音可以是用户对话的语音,比如多人聊天的语音;也可以是人机交互的语音,比如驾驶员与车机进行语音交互的语音;也可以是演讲者的演讲语音;本技术不限于此。
69.断句时长,用于区分语音中一个完整语义与另一个完整语义之间的分隔时间界
限。由于每个人的说话习惯和语速不同,断句时长也不同。固定的断句时长只能适合一部分特定人群,无法满足各种各样的人群需要,因此,本技术实施例提供了一种动态语音断句时长的动态确定方法,能够根据各类人群的特点动态调整断句时长,从而满足实际断句的需要。
70.所述当前断句时长,就是在对语音进行断句的过程中,当前动态确定的断句时长。在语音中每次遇到一次静音均会对当前断句时长进行一次检查,是否需要更新当前断句时长。
71.待定时长,是确定断句时长的中间时长,是生成断句时长的参考时长。
72.所述当前待定时长,就是在对语音进行断句的过程中,当前动态确定的待定时长。在语音中每次遇到一次静音均会对当前待定时长进行一次检查,是否需要更新当前待定时长。
73.步骤s102,对所述用户语音进行静音检测,获取当前静音时长。
74.本技术实施例以语音中的静音为特征,开始动态更新当前断句时长。
75.所述静音,并不是在语音中没有一点声音,而是在预设时长内语音声波的平均振幅小于预设静音振幅阈值的声波,被称为静音。
76.所述静音时长,是指静音的持续时长。
77.步骤s103,基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,将所述当前待定时长作为历史待定时长存入历史时长数据集。
78.所述历史时长数据集可以是数据库中的数据表、电子表格、文本文件、或内存中建立的数据结构。
79.所述历史时长数据集中保存着对所述用户语音进行静音检测过程中历次静音所对应的历史待定时长。本技术实施例通过所述历史时长数据集中的多个历史待定时长动态更新当前断句时长,避免非正常的历史待定时长对确定当前断句时长的影响。
80.在一些具体实施例中,所述基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,将所述当前待定时长作为历史待定时长存入历史时长数据集,包括以下步骤:
81.步骤s103a,当所述当前静音时长小于所述当前断句时长,且所述当前静音时长大于当前待定时长时,基于所述当前静音时长更新所述当前待定时长。
82.在本具体实施例中,自开始检测到静音开始,如果在当前断句时长内静音结束了,则记录当前静音时长,当所述当前静音时长大于当前待定时长时,利用当前静音时长更新所述当前待定时长。例如,当所述当前静音时长t=10ms小于所述当前断句时长t1=20ms,且所述当前静音时长t=10ms大于当前待定时长t0=8ms时,基于所述当前静音时长t=10ms更新所述当前待定时长,即t0=10ms。
83.为了避免当前待定时长过短,引起当前断句时长过小,容易将一句话分割成多句话,导致产生错误语义。本具体实施例中将当前产生的当前待定时长向高的时长调整,使当前待定时长处于一个适当的长度。
84.在另一些具体实施例中,所述方法还包括以下步骤:
85.步骤s103b,当所述当前静音时长大于所述当前断句时长,且所述当前静音时长小
于预设最大断句时长时,基于所述当前静音时长更新所述当前待定时长。
86.在本具体实施例中,自开始检测到静音开始,如果在当前断句时长内静音尚未结束,且在预设最大断句时长内静音结束了,则记录当前静音时长,利用当前静音时长更新所述当前待定时长。例如,当所述当前静音时长t=25ms大于所述当前断句时长t1=20ms,且所述当前静音时长t=25ms小于预设最大断句时长t2=3000ms时,基于所述当前静音时长t=25ms更新所述当前待定时长,即t0=25ms。
87.为了避免当前待定时长过长,引起当前断句时长过长,容易将多句话识别成一句话,导致产生错误语义。本具体实施例中将当前产生的当前待定时长向低时长调整,使当前待定时长处于一个适当的长度。
88.在另一些具体实施例中,所述方法还包括以下步骤:
89.步骤s103c,当所述当前静音时长大于所述当前断句时长,且所述当前静音时长大于或等于预设最大断句时长时,保持所述当前待定时长不变。
90.例如,当所述当前静音时长t=3500ms大于所述当前断句时长t1=20ms,且所述当前静音时长t=3500ms大于或等于预设最大断句时长t2=3000ms时,所述当前待定时长t0=25ms保持不变。
91.当所述当前静音时长大于所述当前断句时长,且所述当前静音时长大于或等于预设最大断句时长时,可以理解为,当前静音时长是次轮用户语音结束信息。此时更新当前待定时长,对正确确定当前断句时长没有任何意义,反而造成当前断句时长失真,因此,本具体实施例不对当前断句时长进行更新。
92.步骤s104,从所述历史时长数据集中获取当前存储数量。
93.例如,如果在历史时长数据集中保存着10000个历史待定时长,则当前存储数量=10000。
94.步骤s105,当所述当前存储数量小于或等于预设第一存储数量阈值时,基于历史时长数据集和预设第一断句规则动态更新所述当前断句时长。
95.在一些具体实施例中,所述当所述当前存储数量小于或等于预设第一存储数量阈值时,基于历史时长数据集和预设第一断句规则动态更新所述当前断句时长,包括以下步骤:
96.步骤s105-1,当所述当前存储数量小于或等于预设第一存储数量阈值时,基于所述历史时长数据集获得最大的第一历史待定时长。
97.步骤s105-2,基于所述第一历史待定时长动态更新所述当前断句时长。
98.例如,预设第一存储数量阈值=100,当前存储数量=80,在所述历史时长数据集中保存着80个历史待定时长,如果最大的历史待定时长(即第一历史待定时长)=300ms,则当前断句时长=300ms。
99.本具体实施例中,由于历史时长数据集中的历史待定时长的样本过少,便采用最大历史待定时长更新当前断句时长。优先保证断句后语义的完整性,避免断句过短,造成语义错误。
100.步骤s106,当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集和预设第二断句规则动态更新所述当前断句时长。
101.本技术实施例中步骤s105和步骤s106部分先后顺序。
102.在一些具体实施例中,所述当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集和预设第二断句规则动态更新所述当前断句时长,包括以下步骤:
103.步骤s106-1,当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集获得按时长大小顺序排列的历史时长队列。
104.按时长大小顺序排列的历史时长队列,可以理解为,按照升序的顺序生成历史时长队列,也可以按照降序的顺序生成历史时长队列。
105.步骤s106-2,基于预设高位百分比从所述历史时长队列中获得对应排位的第二历史待定时长。
106.预设高位百分比,是指在所述历史时长队列中,按照历史待定时长从低到高的顺序,第二历史待定时长的排位占所述历史时长队列中所有历史待定时长的排位的百分比。例如,预设高位百分比=99%,历史时长队列中所有历史待定时长的数量为10000个,则10000个历史待定时长从低到高的顺序排列,则第二历史待定时长的排位占所述历史时长队列中所有历史待定时长的排位的百分比为99%,即在历史时长队列中排在10000
×
99%=9900位置的历史待定时长为第二历史待定时长。
107.步骤s106-3,基于所述第二历史待定时长动态更新所述当前断句时长。
108.例如,继续上述例子,如果在历史时长队列中排在9900位置的历史待定时长为200ms,则当前断句时长为200ms。
109.在一些具体实施例中,在动态更新所述当前断句时长之后,还包括以下步骤:
110.当所述当前存储数量等于预设第二存储数量阈值时,从所述历史时长数据集中删除最早的历史待定时长,其中,所述预设第二存储数量阈值大于预设第一存储数量阈值。
111.所述最早的历史待定时长,也就是在所述历史时长数据集中第一个保存历史待定时长。
112.例如,如果预设第二存储数量阈值为10000个,当前存储数量等于预设第二存储数量阈值,也为10000个,则将最早的历史待定时长从所述历史时长数据集中删除,从而保证在下次存入历史待定时长后,保证所述历史时长数据集中的存储数量始终保持在10000个,既保证了当前断句时长的代表性,也保证了动态确定当前断句时长的效率。
113.本技术实施例基于用户语音的当前静音时长以及前次确定的当前待定时长和当前断句时长和预设最大断句时长更新所述当前待定时长,将所述当前待定时长作为历史待定时长存入历史时长数据集。所述历史时长数据集中保存着对所述用户语音进行静音检测过程中历次静音所对应的历史待定时长。通过所述历史时长数据集中保存的多个历史待定时长动态更新当前断句时长,避免非正常的历史待定时长对确定当前断句时长的影响,且能够根据每个人的说话习惯和语速动态更新当前断句时长,从而满足诗句断句的需要。
114.本技术还提供了与上述实施例承接的装置实施例,用于实现如上实施例所述的方法步骤,基于相同的名称含义的解释与如上实施例相同,具有与如上实施例相同的技术效果,此处不再赘述。
115.如图2所示,本技术提供一种语音断句时长的动态确定装置200,包括:
116.第一获取单元201,用于获取用户语音、当前断句时长和当前待定时长;
117.第二获取单元202,用于对所述用户语音进行静音检测,获取当前静音时长;
118.保存单元203,用于基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,将所述当前待定时长作为历史待定时长存入历史时长数据集;
119.第三获取单元204,用于从所述历史时长数据集中获取当前存储数量;
120.第一更新单元205,用于当所述当前存储数量小于或等于预设第一存储数量阈值时,基于历史时长数据集和预设第一断句规则动态更新所述当前断句时长;
121.第二更新单元206,用于当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集和预设第二断句规则动态更新所述当前断句时长。
122.可选的,所述基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,包括:
123.当所述当前静音时长小于所述当前断句时长,且所述当前静音时长大于当前待定时长时,基于所述当前静音时长更新所述当前待定时长。
124.可选的,所述基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,包括:
125.当所述当前静音时长大于所述当前断句时长,且所述当前静音时长小于预设最大断句时长时,基于所述当前静音时长更新所述当前待定时长。
126.可选的,所述基于所述当前静音时长、当前待定时长、所述当前断句时长和预设最大断句时长更新所述当前待定时长,包括:
127.当所述当前静音时长大于所述当前断句时长,且所述当前静音时长大于或等于预设最大断句时长时,保持所述当前待定时长不变。
128.可选的,所述当所述当前存储数量小于或等于预设第一存储数量阈值时,基于历史时长数据集和预设第一断句规则动态更新所述当前断句时长,包括:
129.当所述当前存储数量小于或等于预设第一存储数量阈值时,基于所述历史时长数据集获得最大的第一历史待定时长;
130.基于所述第一历史待定时长动态更新所述当前断句时长。
131.可选的,所述当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集和预设第二断句规则动态更新所述当前断句时长,包括:
132.当所述当前存储数量大于预设第一存储数量阈值时,基于所述历史时长数据集获得按时长大小顺序排列的历史时长队列;
133.基于预设高位百分比从所述历史时长队列中获得对应排位的第二历史待定时长;
134.基于所述第二历史待定时长动态更新所述当前断句时长。
135.可选的,在动态更新所述当前断句时长之后,还包括:
136.删除单元,用于当所述当前存储数量等于预设第二存储数量阈值时,从所述历史时长数据集中删除最早的历史待定时长,其中,所述预设第二存储数量阈值大于预设第一存储数量阈值。
137.本技术实施例基于用户语音的当前静音时长以及前次确定的当前待定时长和当前断句时长和预设最大断句时长更新所述当前待定时长,将所述当前待定时长作为历史待定时长存入历史时长数据集。所述历史时长数据集中保存着对所述用户语音进行静音检测过程中历次静音所对应的历史待定时长。通过所述历史时长数据集中保存的多个历史待定
时长动态更新当前断句时长,避免非正常的历史待定时长对确定当前断句时长的影响,且能够根据每个人的说话习惯和语速动态更新当前断句时长,从而满足诗句断句的需要。
138.本实施例提供一种电子设备,所述电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上实施例所述的方法步骤。
139.本技术实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行如上实施例所述的方法步骤。
140.最后应说明的是:本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述比较简单,相关之处参见方法部分说明即可。
141.以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。