一种语音唤醒方法及其相关设备与流程

文档序号:29127638发布日期:2022-03-05 00:33阅读:146来源:国知局
一种语音唤醒方法及其相关设备与流程

1.本技术涉及人工智能技术领域,尤其涉及一种语音唤醒方法及其相关设备。


背景技术:

2.语音唤醒技术是一种常见的人工智能技术;而且该语音唤醒技术用于根据用户语音数据,确定是否唤醒某个服务项目(例如,电视剧搜索功能,电影搜索功能、导航等)。例如,当用户说“小a同学,导航去xxx小区”时,终端设备能够基于该用户语音数据来唤醒导航服务,以使该终端设备能够显示出相应导航路线。
3.然而,因语音唤醒技术存在缺陷,导致语音唤醒效果比较差。


技术实现要素:

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.基于上述技术方案,本技术具有以下有益效果:
55.本技术提供的技术方案中,对于终端设备(例如,智能电视、智能手机、车载智能系统等)来说,在从语音流中实时地获取到当前语音段之后,对该当前语音段进行唤醒识别处理,得到当前唤醒识别结果;若该当前唤醒识别结果满足高门限唤醒条件,则触发唤醒指令,以唤醒该终端设备中某项服务项目;若该当前唤醒识别结果满足低门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,则触发唤醒指令,以唤醒该终端设备中某项服务项目。
56.可见,本技术实施例提供的语音唤醒方法不仅能够针对那些满足高门限唤醒条件的音频数据进行唤醒处理,还能够针对那些虽然一直不满足高门限唤醒条件,但满足两次低门限唤醒条件的音频数据进行唤醒处理,如此能够有效地降低某些音频数据(例如,不易唤醒音频数据等)的唤醒难度,从而能够有效地提高唤醒率,进而有利于提高语音唤醒效果。
附图说明
57.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1为本技术实施例提供的一种语音流的示意图;
59.图2为本技术实施例提供的一种语音唤醒方法的流程图;
60.图3为本技术实施例提供的一种语音唤醒技术的示意图;
61.图4为本技术实施例提供的一种音频数据的属性信息的示意图;
62.图5为本技术实施例提供的一种唤醒类型的示意图;
63.图6为本技术实施例提供的一种误触发音频数据的示意图;
64.图7为本技术实施例提供的一种语音唤醒装置的结构示意图。
具体实施方式
65.发明人在针对语音唤醒技术的研究中发现,该语音唤醒技术可以借助预先构建的具有唤醒识别功能的神经网络模型进行实施;而且该神经网络模型能够针对一个音频数据进行唤醒识别处理,得到该音频数据的唤醒概率,以便在确定该唤醒概率达到预设阈值之后才触发唤醒指令。可见,基于神经网络模型实现的语音唤醒技术所具有的唤醒性能依赖于预设阈值,如果该预设阈值比较高,则易因较多音频数据的唤醒概率无法超过该预设阈值,而导致该语音唤醒技术的唤醒率比较低;如果该预设阈值比较低,则易因大部分音频数据的唤醒概率都能够超过该预设阈值,而导致该语音唤醒技术的误唤醒率比较高。
66.发明人还发现,语音唤醒技术通常是针对语音流(如图1所示的语音流)进行实时地采集以及唤醒处理的;而且对于包括不易唤醒音频段的语音流来说,虽然该语音流中多个语音片段的唤醒概率均无法达到上述“预设阈值”,但是这些语音采集段的唤醒概率却始终比较高。
67.基于上述发现,为了克服背景技术部分所示的技术问题,本技术实施例提供了一
种语音唤醒方法,该方法包括:在从语音流中实时地获取到当前语音段之后,对该当前语音段进行唤醒识别处理,得到当前唤醒识别结果;若该当前唤醒识别结果满足高门限唤醒条件,则触发唤醒指令,以唤醒某项服务项目;若该当前唤醒识别结果满足低门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,则触发唤醒指令,以唤醒某项服务项目。
68.可见,本技术实施例提供的语音唤醒方法不仅能够针对那些满足高门限唤醒条件的音频数据进行唤醒处理,还能够针对那些虽然一直不满足高门限唤醒条件,但满足两次低门限唤醒条件的音频数据进行唤醒处理,如此能够有效地降低某些音频数据(例如,不易唤醒音频数据等)的唤醒难度,从而能够有效地提高唤醒率,进而有利于提高语音唤醒效果。
69.另外,本技术实施例不限定语音唤醒方法的执行主体,例如,本技术实施例提供的语音唤醒方法可以应用于终端设备或服务器等数据处理设备。其中,终端设备可以为智能手机、计算机、个人数字助理(personal digital assitant,pda)或平板电脑等。服务器可以为独立服务器、集群服务器或云服务器。又如,在一些情况下,本技术实施例提供的语音唤醒方法还可以由终端设备和服务器配合实现。
70.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
71.方法实施例一
72.参见图2,该图为本技术实施例提供的一种语音唤醒方法的流程图。
73.本技术实施例提供的语音唤醒方法,包括s1-s4:
74.s1:获取当前语音段。
75.上述“当前语音段”用于表示从一个语音流中实时采集的语音片段。例如,如图1所示,在从图1所示的语音流中采集到“第三语音片段”时,可以将该第三语音片段,确定为当前语音段,以便后续能够借助针对该当前语音段的数据处理过程,实现针对该第三语音片段的数据处理。
76.另外,本技术实施例不限定s1的执行主体,例如,其可以是终端设备(如,智能电视、智能手机、车载智能系统等)。
77.基于上述s1的相关内容可知,对于一个具有语音唤醒功能的终端设备来说,该终端设备能够针对语音流进行实时地语音采集处理,得到当前语音段,以便后续能够基于该当前语音段,确定用户是否具有唤醒终端设备中语音控制功能的意图。
78.s2:对当前语音段进行唤醒识别处理,得到当前唤醒识别结果。
79.上述“当前唤醒识别结果”是指当前语音段的唤醒概率(也就是,该当前语音段产生唤醒的发生概率),以使该“当前唤醒识别结果”能够表示出该当前语音段是否能够产生唤醒(也就是,唤醒终端设备中语音控制功能)。
80.另外,本技术实施例不限定上述“当前唤醒识别结果”的确定过程,例如,其具体可以包括:利用预先构建的唤醒识别模型,对当前语音段进行唤醒识别处理,得到当前唤醒识别结果。
81.上述“唤醒识别模型”用于针对该唤醒识别模型的输入数据进行唤醒识别处理;而且该“唤醒识别模型”是一种机器学习模型(例如,循环神经网络(recurrent neural network,rnn)、卷积神经网络(convolutional neural networks,cnn)等)。
82.需要说明的是,本技术实施例不限定上述“唤醒识别模型”的构建过程,可以采用现有的或者未来出现的任意一种唤醒识别模型的构建方法进行实施。
83.此外,本技术实施例不限定s2的执行主体,例如,为了提高语音唤醒的实时性,s2的执行主体可以是终端设备。
84.基于上述s2的相关内容可知,在从语音流中实时地获取到当前语音段之后,借助唤醒识别模型,对该当前语音段进行唤醒识别处理,得到当前唤醒识别结果,以使该当前唤醒识别结果能够表示出该当前语音段触发唤醒指令的发生概率,以便后续能够基于该当前唤醒识别结果,确定该当前语音段是否产生唤醒。
85.s3:在当前唤醒识别结果满足高门限唤醒条件时,触发唤醒指令。
86.上述“高门限唤醒条件”可以预先设定;而且该高门限唤醒条件可以包括:达到第一概率阈值。需要说明的是,本技术实施例不限定上述“第一概率阈值”,例如,其可以是针对一个具有唤醒识别功能的机器学习模型所设定的正常门限值(例如,上文“预设阈值”)。
87.上述“唤醒指令”用于产生唤醒(也就是,用于将终端设备中语音控制功能从未唤醒状态切换至唤醒状态),以使终端设备中其他功能模块能够获知该唤醒状态,以便这些功能模块能够基于用户后续继续输入的语音数据(例如,“导航去xxx小区”),向该用户提供相应的服务项目(例如,向用户提供“到达xxx小区”的导航路线)。
88.此外,本技术实施例不限定s3的执行主体,例如,为了提高语音唤醒的实时性,s3的执行主体可以是终端设备。
89.基于上述s3的相关内容可知,在获取到当前唤醒识别结果(也就是,针对当前语音段的唤醒识别结果)之后,可以判断该当前唤醒识别结果是否满足高门限唤醒条件(例如,当前语音段的唤醒率是否达到预设阈值),以便在确定该当前唤醒识别结果满足高门限唤醒条件时,可以确定该当前语音段产生了唤醒,故可以直接触发唤醒指令,以向终端设备中其他功能模块告知唤醒消息,以使这些功能模块能够基于用户后续继续输入的语音数据,向该用户提供相应的服务项目。
90.s4:在当前唤醒识别结果满足低门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果时,触发唤醒指令。
91.上述“低门限唤醒条件”可以预先设定;而且该低门限唤醒条件可以包括:达到第二概率阈值,但是未达到第一概率阈值。其中,第二概率阈值小于第一概率阈值。
92.上述“历史唤醒识别结果”是指针对语音流中采集时间早于上述“当前语音段”的语音片段(又称,历史语音段)进行唤醒识别处理得到的。例如,对于图1所示的语音流来说,若上述“当前语音段”为第三语音片段,则第一语音片段、以及第二语音片段均可以是上述“当前语音段”对应的一个历史语音段。
93.另外,本技术实施例不限定上述“至少一个历史唤醒识别结果”的确定过程,例如,为了提高语音唤醒效果,该“至少一个历史唤醒识别结果”的确定过程,具体可以包括步骤11-步骤12:
94.步骤11:根据预设参考时长和当前语音段的采集时间,确定历史参考区间。
95.上述“预设参考时长”用于描述一个触发词的语音时长;而且本技术实施例不限定该“预设参考时长”的获取过程,例如,可以预先设定,尤其可以根据应用场景设定。又如,可以从大量用户语音数据挖掘出该“预设参考时长”。
96.上述“历史参考区间”可以表示为[当前语音段的采集时间-预设参考时长,当前语音段的采集时间]。
[0097]
步骤12:针对在历史参考区间内从语音流中采集的至少一个语音片段进行唤醒识别处理,得到至少一个历史唤醒识别结果。
[0098]
基于上述“至少一个历史唤醒识别结果”的相关内容可知,这些历史唤醒识别结果的确定时间比较接近于上述“当前唤醒识别结果”的确定时间,如此能够有效地避免历史语音唤醒过程对当前唤醒过程造成的干扰,如此有利于提高语音唤醒效果。
[0099]
上述“目标唤醒识别结果”是指上述“至少一个历史唤醒识别结果”中满足低门限唤醒条件的历史唤醒识别结果;而且该“目标唤醒识别结果”是针对目标语音段进行唤醒识别处理得到的。其中,“目标语音段”的采集时间早于上述“当前语音段”的采集时间。
[0100]
另外,本技术实施例不限定s4的执行主体,例如,为了提高语音唤醒的实时性,s4的执行主体可以是终端设备。
[0101]
基于上述s1至s4的相关内容可知,对于本技术实施例提供的语音唤醒方法来说,在从语音流中实时地获取到当前语音段之后,对该当前语音段进行唤醒识别处理,得到当前唤醒识别结果;若该当前唤醒识别结果满足高门限唤醒条件,则触发唤醒指令,以唤醒该终端设备中某项服务项目;若该当前唤醒识别结果满足低门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,则触发唤醒指令,以唤醒该终端设备中某项服务项目。
[0102]
可见,本技术实施例提供的语音唤醒方法不仅能够针对那些满足高门限唤醒条件的音频数据进行唤醒处理,还能够针对那些虽然一直不满足高门限唤醒条件,但满足两次低门限唤醒条件的音频数据进行唤醒处理,如此能够有效地降低某些音频数据(例如,不易唤醒音频数据等)的唤醒难度,从而能够有效地提高唤醒率,进而有利于提高语音唤醒效果。
[0103]
方法实施例二
[0104]
实际上,对于包括不易唤醒音频段的语音流来说,该语音流中多个连续语音片段或者多个采集时间比较接近的语音片段(例如,图1所示的“第二语音片段”以及“第三语音片段”)的唤醒概率均处于第二概率阈值与第一概率阈值之间。可见,上述“目标语音段”与上述“当前语音段”相邻;或者,虽然上述“目标语音段”与上述“当前语音段”不相邻,但是上述“目标语音段”的采集时间与上述“当前语音段”的采集时间之间的时间间隔比较小。
[0105]
基于此,为了提高语音唤醒效果,本技术实施例提供了s4的另一种可能的实施方式,其具体可以包括s41-s42中的至少一个:
[0106]
s41:在当前唤醒识别结果满足低门限唤醒条件,且前一次唤醒识别结果满足低门限唤醒条件时,触发唤醒指令。
[0107]
上述“前一次唤醒识别结果”是对当前语音段的前一个语音段进行唤醒识别处理得到的;而且该“前一次唤醒识别结果”是指该前一个语音段的唤醒概率(也就是,该前一个语音段产生唤醒的发生概率),以使该“前一次唤醒识别结果”能够表示出该前一个语音段
是否能够产生唤醒。
[0108]
需要说明的是,上述“前一次唤醒识别结果”的确定过程类似于上文“当前唤醒识别结果”的确定过程。
[0109]
上述“前一个语音段”是指与该当前语音段相邻的且采集时间早于该当前语音段的采集时间的语音片段。例如,对于图1所示的语音流来说,若上述“当前语音段”为第三语音片段,则上述“前一个语音段”可以是第二语音片段。
[0110]
基于上述s41的相关内容可知,在获取到当前唤醒识别结果(也就是,针对当前语音段的唤醒识别结果)之后,若确定该当前唤醒识别结果满足低门限唤醒条件,且确定前一次唤醒识别结果满足低门限唤醒条件,则可以确定语音流中连续两个语音片段的唤醒识别结果均满足低门限唤醒条件,从而可以推测出包括该两个语音片段的唤醒音频段属于不易唤醒音频数据,故可以直接触发唤醒指令,以向终端设备中其他功能模块告知该唤醒消息,以使这些功能模块能够基于用户后续继续输入的语音数据,向该用户提供相应的服务项目。
[0111]
s42:在当前唤醒识别结果满足低门限唤醒条件,至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,且该目标唤醒识别结果与该当前唤醒识别结果之间的时间差表征数据满足第一时间差条件时,触发唤醒指令。
[0112]
上述“时间差表征数据”用于描述两个唤醒识别结果之间的时间间隔;而且本技术实施例不限定该“时间差表征数据”的确定过程,例如,当上述“目标唤醒识别结果”是针对目标语音段进行唤醒识别处理得到的时,上述“目标唤醒识别结果与当前唤醒识别结果之间的时间差表征数据”可以包括:当前语音段的采集时间与该目标语音段的采集时间之间的时间差值。
[0113]
需要说明的是,本技术实施例不限定s42中“当前语音段”与“目标语音段”之间的关系,例如,该“当前语音段”与该“目标语音段”可以是相邻的语音片段(例如,第三语音片段与第二语音片段),也可以是不相邻但采集时间比较接近的语音片段(例如,第三语音片段与第一语音片段)。
[0114]
另外,本技术实施例不限定上述“时间差表征数据”的确定方式,例如,可以借助时间差值计算公式进行确定。又如,其可以借助图3所示的计时器t进行确定。
[0115]
上述“第一时间差条件”可以预先设定。例如,如图3所示,“第一时间差条件”其具体可以为:属于时差区域[1秒,10秒]。
[0116]
基于上述s42的相关内容可知,在获取到当前唤醒识别结果(也就是,针对当前语音段的唤醒识别结果)之后,当确定该当前唤醒识别结果满足低门限唤醒条件,确定已存在的目标唤醒识别结果满足低门限唤醒条件,且确定该目标唤醒识别结果与当前唤醒识别结果之间的时间差表征数据满足第一时间差条件时,可以确定语音流中采集时间比较接近的两个语音片段的唤醒识别结果均满足低门限唤醒条件,从而可以推测出包括该两个语音片段的唤醒音频段属于不易唤醒音频数据,故可以直接触发唤醒指令,以向终端设备中其他功能模块告知该唤醒消息,以使这些功能模块能够基于用户后续继续输入的语音数据,向该用户提供相应的服务项目。
[0117]
基于上述s4的相关内容可知,对于一个语音流来说,若该语音流中连续出现两个语音片段的唤醒识别结果均满足低门限唤醒条件,或者在预设参考时长内出现两个语音片
段的唤醒识别结果均满足低门限唤醒条件,则可以确定包括该两个语音片段的唤醒音频段属于不易唤醒音频数据,故可以直接触发唤醒指令,以向终端设备中其他功能模块告知该唤醒消息,以使这些功能模块能够基于用户后续继续输入的语音数据,向该用户提供相应的服务项目,如此能够有效地降低不易唤醒音频数据的唤醒难度,从而能够有效地提高唤醒率,进而有利于提高语音唤醒效果。
[0118]
方法实施例三
[0119]
另外,一些情况下,语音流可能携带有重复字符内容(例如,“小a同同学,导航去xxx小区”),故为了避免重复字符内容对语音唤醒造成的不良影响,本技术实施例还提供了语音唤醒方法的另一种可能的实施方式,为了便于理解,下面结合示例进行说明。
[0120]
作为示例,当上述“至少一个历史唤醒识别结果”是对至少一个历史语音段进行唤醒识别处理得到的时,语音唤醒方法除了包括上述s1-s4以外,可以还包括s5-s6:
[0121]
s5:在当前唤醒识别结果不满足低门限唤醒条件,至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,且该当前语音段不满足预设消息重复条件时,根据该当前语音段,更新至少一个历史语音段。
[0122]
上述“预设消息重复条件”可以预先设定;而且该“预设消息重复条件”的工作原理,具体可以为:判断当前语音段的消息识别结果与待参考语音段的消息识别结果是否相同,若是,则确定该当前语音段满足预设消息重复条件;若否,则确定该当前语音段不满足预设消息重复条件。
[0123]
上述“当前语音段的消息识别结果”用于表示该当前语音段携带的字符信息;而且本技术实施例不限定该“当前语音段的消息识别结果”的确定过程,例如,可以先对该当前语音段进行语音识别处理,得到至少一个候选词汇;再将这些词汇进行集合,得到该“当前语音段的消息识别结果”。
[0124]
上述“待参考语音段”是指在确定当前语音段是否满足预设消息重复条件时所需参考的语音片段;而且该待参考语音段与当前语音段之间的采集时间差满足第二时间差条件。
[0125]
需要说明的是,上述“第二时间差条件”可以预先设定,例如,如图3所示,待参考语音段的采集时间与该当前语音段的采集时间之间的时间间隔小于1秒;或者,待参考语音段的采集起始点与该当前语音段的采集起始点之间的时间间隔小于200毫秒。
[0126]
上述“待参考语音段的消息识别结果”用于表示该待参考语音段携带的字符信息;而且该“待参考语音段的消息识别结果”的确定过程类似于上文“当前语音段的消息识别结果”的确定过程。
[0127]
基于上述“预设消息重复条件”的相关内容可知,对于从语音流中查找第二个低门限消息的过程(也就是,至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果)来说,在确定当前唤醒识别结果不满足低门限唤醒条件之后,可以判断该当前语音段的消息识别结果与待参考语音段的消息识别结果是否相同,若相同,则表示该当前语音段携带的字符内容与该待参考语音段携带的字符内容相同,故可以确定该当前语音段满足预设消息重复条件,从而可以删除该当前语音段以及与其相关内容(例如,唤醒识别结果、语音识别结果等),如此有利于避免重复字符对第二个低门限消息的查找过程所造成的干扰;若不同,则表示该当前语音段携带的字符内容不同于该待参考语音段携带的字符内
容,故可以确定该当前语音段不满足预设消息重复条件,故可以保留该当前语音段以及与其相关内容(例如,唤醒识别结果、语音识别结果等),以便后续能够参考该当前语音段以及与其相关内容,继续进行第二个低门限消息的查找过程。
[0128]
需要说明的是,本技术实施例不限定s5中“根据该当前语音段,更新至少一个历史语音段”的实施方式,例如,其具体可以为:先将至少一个历史语音段中具有最早采集时间的历史语音段进行删除,得到至少一个剩余语音段;再将该当前语音段与至少一个剩余语音段进行集合,得到更新后的至少一个历史语音段。
[0129]
s6:在当前唤醒识别结果表示当前语音段不满足低门限唤醒条件,至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,且该当前语音段满足预设消息重复条件时,舍弃该当前语音段。
[0130]
需要说明的是,本技术实施例不限定s5-s6的执行主体,例如,为了提高语音唤醒的实时性,s5-s6的执行主体可以是终端设备。
[0131]
基于上述s5至s6的相关内容可知,如图3所示,在确定当前唤醒识别结果不满足低门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果之后,可以判断该当前语音段的消息识别结果与待参考语音段的消息识别结果是否相同,若相同,则可以直接舍弃该当前语音段,以避免该当前语音段对后续唤醒过程造成干扰;若不同,则根据该当前语音段,更新至少一个历史语音段,以使更新后的至少一个历史语音段的唤醒识别结果,能够作为“至少一个历史唤醒识别结果”参与后续唤醒过程,如此能够实现上述“至少一个历史唤醒识别结果”自动更新过程,如此有利于提高语音唤醒效果。
[0132]
方法实施例四
[0133]
实际上,上述“唤醒识别处理”通常是借助唤醒识别模型进行实施的;而且该唤醒识别模型通常需要借助大量训练数据进行构建。
[0134]
发明人在针对上述训练数据的研究中发现,这些训练数据可以通过将一些提前录制好的唤醒词音频数据以及多个场景噪声数据进行组合回放的方式进行获取。然而,因这些训练数据所涉及的噪声数据与实际应用场景中所出现的噪声数据之间差别比较大,使得这些训练数据与实际应用场景中所出现的语音数据之间差别也比较大,从而使得基于这些训练数据所构建的唤醒识别模型,无法准确地针对这些实际应用场景中所出现的语音数据进行唤醒识别处理,如此易导致语音唤醒效果不好。
[0135]
可见,为了克服上述问题,可以借助实际应用场景中所出现的语音数据(尤其是,不易唤醒音频数据、误唤醒音频数据等),针对唤醒识别模型进行更新训练,以使更新好的唤醒识别模型具有更好的唤醒识别性能。
[0136]
基于此,本技术实施例还提供了语音唤醒方法的另一种可能的实施方式,在该实施方式中,该语音唤醒方法不仅可以包括上述全部步骤或者部分步骤,可以还包括s7:
[0137]
s7:在当前唤醒识别结果满足低门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果时,根据唤醒音频段,确定待使用训练数据。
[0138]
上述“唤醒音频段”是指携带有唤醒词的音频数据;而且该“唤醒音频段”携带有一个唤醒词(例如,小a同学、播放、打开、查找等)。
[0139]
另外,因在当前唤醒识别结果满足低门限唤醒条件,且至少一个历史唤醒识别结
果中存在满足低门限唤醒条件的目标唤醒识别结果时,可以确定当前语音段以及目标语音段(也就是,具有目标唤醒识别结果的历史语音段)均携带有该唤醒词的部分字符,故唤醒音频段可以包括当前语音段和目标语音段。
[0140]
需要说明的是,本技术实施例不限定上述“唤醒音频段”的获取过程,可以采用现有的或者未来出现的任一种确定过程(例如,可以借助针对语音流实时进行的语音识别结果,从该语音流中提取出唤醒音频段)进行实施。
[0141]
上述“待使用训练数据”是指针对上文“唤醒识别模型”进行更新时所需使用的训练数据。
[0142]
另外,本技术实施例不限定上述“待使用训练数据”的确定过程,例如,若上文“唤醒识别模型”的更新过程是在云端服务器进行实现的,则上述“待使用训练数据”的确定过程具体可以包括步骤21-步骤22:
[0143]
步骤21:终端设备在确定当前唤醒识别结果满足低门限唤醒条件,且确定至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果时,该终端设备将该唤醒音频段以及该唤醒音频段的属性信息发送给云端服务器。
[0144]
上述“唤醒音频段的属性信息”用于描述该唤醒音频段;而且本技术实施例不限定该“属性信息”,例如,如图4所示,该“属性信息”可以包括设备信息、数据类型、唤醒词标注、唤醒类型、语音识别文本标注、时间信息、以及是否来自于云端唤醒中的至少一个。
[0145]
上述“唤醒词标注”是指由终端设备针对唤醒音频段标注的唤醒词,以使该“唤醒词标注”用于表示该唤醒音频段携带的字符内容;而且本技术实施例不限定该“唤醒词标注”的确定方式,例如,其具体可以为:先将该唤醒音频段的语音识别文本与至少一个候选唤醒词进行匹配;再将匹配成功的候选唤醒词,确定为该唤醒音频段的唤醒词标注。
[0146]
需要说明的是,“至少一个候选唤醒词”是指预先存储在终端设备中且能够触发唤醒指令的词汇(例如,小a同学、播放、打开、查找等),以使该终端设备针对一个音频数据进行唤醒识别处理时能够需参考的这些词汇。
[0147]
上述“唤醒类型”用于表示唤醒音频段的唤醒方式;而且本技术实施例不限定该“唤醒类型”,例如,其可以采用图5所示的“唤醒类型”进行实施。需要说明的是,图5中,“高门限唤醒”用于表示满足高门限唤醒条件;“低门限唤醒”用于表示满足低门限唤醒条件。
[0148]
基于上述步骤21的相关内容可知,对于终端设备来说,在当前唤醒识别结果满足低门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果时,可以先确定包括当前语音段和目标语音段的唤醒音频段;再将该唤醒音频段以及该唤醒音频段的属性信息上传至云端服务器,以使该云端服务器能够参考该唤醒音频段以及该唤醒音频段的属性信息,更新唤醒识别模型的训练数据。
[0149]
步骤22:云端服务器根据该唤醒音频段以及该唤醒音频段的属性信息,确定待使用训练数据。
[0150]
需要说明的是,本技术实施例不限定步骤22的实施方式,例如,其具体可以包括:先根据该唤醒音频段,确定难唤醒音频样本,并根据该唤醒音频段的唤醒词标注(或者,人工针对该唤醒音频段标注的唤醒词),确定该难唤醒音频样本的标签信息;再利用该难唤醒音频样本以及该难唤醒音频样本的标签信息,确定待使用训练数据,以使该待使用训练数据包括该难唤醒音频样本以及该难唤醒音频样本的标签信息,以便后续能够根据该难唤醒
音频样本以及该难唤醒音频样本的标签信息,针对唤醒识别模型进行模型更新训练。
[0151]
基于上述s7的相关内容可知,在获取到当前唤醒识别结果之后,若确定当前唤醒识别结果满足低门限唤醒条件,且确定至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,则可以确定包括该当前语音段和目标语音段的唤醒音频段属于不易被唤醒识别模型进行唤醒识别处理的音频数据,从而可以确定该唤醒音频段属于不易唤醒音频数据,故可以根据唤醒音频段,确定待使用训练数据,以使该待使用训练数据能够包括该唤醒音频段,以便后续能够将该唤醒音频段作为正例,针对唤醒识别模型进行模型更新训练,以使更新后的唤醒识别模型能够更好地针对该唤醒音频段进行唤醒识别处理,如此有利于提高唤醒识别模型的唤醒识别性能,从而有利于提高语音唤醒效果。
[0152]
另外,为了进一步提高不易唤醒音频数据的收集效果,本技术实施例还提供了语音唤醒方法的另一种可能的实施方式,在该实施方式中,该语音唤醒方法不仅可以包括上述全部步骤或者部分步骤,可以还包括s8:
[0153]
s8:在当前唤醒识别结果满足高门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果时,根据唤醒音频段,确定待使用训练数据。
[0154]
可见,在获取到当前唤醒识别结果之后,若确定当前唤醒识别结果满足高门限唤醒条件,且确定至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,则可以确定包括该当前语音段和目标语音段的唤醒音频段属于不易被唤醒识别模型进行唤醒识别处理的音频数据,从而可以确定该唤醒音频段属于不易唤醒音频数据,故可以根据唤醒音频段,确定待使用训练数据,以使该待使用训练数据能够包括该唤醒音频段,如此能够实现针对具有“低门限唤醒

高门限唤醒”唤醒类型的音频数据进行收集处理,从而有利于提高不易唤醒音频数据的全面性,从而有利于提高待使用训练数据的全面性,进而有利于提高语音唤醒效果。
[0155]
需要说明的是,s8中“根据唤醒音频段,确定待使用训练数据”类似于s7中“待使用训练数据”的确定过程。
[0156]
另外,为了进一步提高不易唤醒音频数据的收集效果,本技术实施例还提供了语音唤醒方法的另一种可能的实施方式,在该实施方式中,该语音唤醒方法不仅可以包括上述全部步骤或者部分步骤,可以还包括s9:
[0157]
s9:在当前唤醒识别结果满足低门限唤醒条件,且该当前语音段的云端唤醒识别结果满足正常唤醒条件时,根据唤醒音频段,确定待使用训练数据。
[0158]
上述“云端唤醒识别结果”是由云端唤醒模型针对当前语音段进行唤醒识别处理得到的;而且该“云端唤醒识别结果”类似于上文“当前唤醒识别结果”。
[0159]
上述“云端唤醒模型”用于针对该云端唤醒模型的输入数据进行唤醒识别处理;而且该“云端唤醒模型”是一种机器学习模型。
[0160]
本技术实施例不限定上述“云端唤醒模型”与上文“唤醒识别模型”之间的关联关系,例如,上述“云端唤醒模型”的网络结构比上文“唤醒识别模型”的网络结构复杂;而且该“云端唤醒模型”的唤醒识别性能远远高于该“唤醒识别模型”的唤醒识别性能。
[0161]
本技术实施例不限定上述“云端唤醒模型”与上文“唤醒识别模型”之间的部署关系,例如,因终端设备的计算资源有限,故为了保证终端设备能够更好地向用户服务,通常会将唤醒识别模型部署于终端设备上,以使该终端设备能够使用该唤醒识别模型进行唤醒
触发处理;而且,因云端服务器的计算资源比较丰富,故为了提高唤醒识别效果,可以将云端唤醒模型部署于云端服务器,以使该云端服务器能够借助该云端唤醒模型,对终端设备中所产生的唤醒识别结果进行校验处理。其中,终端设备能够与云端服务器进行数据通信。
[0162]
另外,本技术实施例不限定上述“云端唤醒识别结果”的获取过程,例如,其具体可以包括:在终端设备获取到当前语音段之后,该终端设备可以将该当前语音段发送给云端服务器,以使该云端服务器能够利用云端唤醒模型,针对该当前语音段进行唤醒识别处理,得到该当前语音段的云端唤醒识别结果;然后,该云端服务器可以将该云端唤醒识别结果反馈给终端设备,以使该终端设备能够借助该云端唤醒识别结果,确定上述“当前唤醒识别结果”是否正确。
[0163]
上述“正常唤醒条件”可以预先设定,例如,该“正常唤醒条件”可以包括:达到第一概率阈值。
[0164]
基于上述s9的相关内容可知,在获取到当前唤醒识别结果之后,若确定当前唤醒识别结果满足低门限唤醒条件,且确定当前语音段的云端唤醒识别结果满足正常唤醒条件,则可以确定该当前语音段实际上应该能够产生唤醒,但是因唤醒识别模型自身局限性,使得该唤醒识别模型无法针对该当前语音段进行准确地唤醒识别处理,从而使得包括该当前语音段的唤醒音频段属于不易被唤醒识别模型进行唤醒识别处理的音频数据,从而可以确定该唤醒音频段属于不易唤醒音频数据,故可以根据唤醒音频段,确定待使用训练数据,以使该待使用训练数据能够包括该唤醒音频段,如此能够实现针对具有“本地低门限唤醒

云端产生唤醒”唤醒类型的音频数据进行收集处理,从而有利于提高不易唤醒音频数据的全面性,从而有利于提高待使用训练数据的全面性,进而有利于提高语音唤醒效果。
[0165]
需要说明的是,s9中“根据唤醒音频段,确定待使用训练数据”类似于s7中“待使用训练数据”的确定过程。
[0166]
还需要说明的是,本技术中对于同时涉及“唤醒识别模型”(又称,本地唤醒模型)与“云端唤醒模型”的任意一种实施例来说,上述“待使用训练数据”用于更新唤醒识别模型和云端唤醒模型。
[0167]
进一步需要说明的是,本技术实施例不限定上述“唤醒识别模型和云端唤醒模型”的更新过程,例如,可以利用待使用训练数据,针对唤醒识别模型和云端唤醒模型分别进行更新训练,得到更新好的唤醒识别模型和更新好的云端唤醒模型。又如,可以先利用待使用训练数据,对云端唤醒模型进行更新训练,得到更新好的云端唤醒模型;再按照预设模型简化规则,对更新好的云端唤醒模型进行模型简化处理,得到更新好的云端唤醒模型。
[0168]
另外,为了进一步提高不易唤醒音频数据的收集效果,本技术实施例还提供了语音唤醒方法的另一种可能的实施方式,在该实施方式中,该语音唤醒方法不仅可以包括上述全部步骤或者部分步骤,可以还包括s10:
[0169]
s10:在当前唤醒识别结果满足不唤醒条件,且该当前语音段的云端唤醒识别结果满足正常唤醒条件时,根据唤醒音频段,确定待使用训练数据。
[0170]
上述“不唤醒条件”可以预先设定;例如,其具体可以为:低于第二概率阈值。需要说明的是,上述“第二概率阈值”的相关内容请参见上文s4。
[0171]
基于s10的相关内容可知,在获取到当前唤醒识别结果之后,若确定当前唤醒识别结果满足不唤醒条件,且确定当前语音段的云端唤醒识别结果满足正常唤醒条件,则可以
确定该当前语音段实际上应该能够产生唤醒,但是因唤醒识别模型自身局限性,使得借助该唤醒识别模型完全无法针对该当前语音段产生唤醒,从而使得包括该当前语音段的唤醒音频段属于无法被唤醒识别模型进行唤醒识别处理的音频数据,从而可以确定该唤醒音频段属于不易唤醒音频数据,故可以根据唤醒音频段,确定待使用训练数据,以使该待使用训练数据能够包括该唤醒音频段,如此能够实现针对具有“本地无法唤醒

云端产生唤醒”唤醒类型的音频数据进行收集处理,从而有利于提高不易唤醒音频数据的全面性,从而有利于提高待使用训练数据的全面性,进而有利于提高语音唤醒效果。
[0172]
需要说明的是,s10中“根据唤醒音频段,确定待使用训练数据”类似于s7中“待使用训练数据”的确定过程。
[0173]
方法实施例五
[0174]
实际上,因语音唤醒技术中不仅存在不易唤醒异常,还可能存在错误唤醒异常,故该语音唤醒技术的语音唤醒性能可以借助唤醒率以及误唤醒率进行综合衡量。基于此可知,为了提高上文“唤醒识别模型”的唤醒识别效率,可以在该“唤醒识别模型”的实际应用过程中采集大量真实的误唤醒音频数据,以便后续能够基于这些误唤醒音频数据更新该“唤醒识别模型”。
[0175]
发明人在针对语音唤醒技术的研究中还发现,因语音流通常是按照“唤醒词+用户意图”这一模式进行人机交互的,故可以借助针对该语音流的唤醒识别结果以及语义识别结果,来采集误唤醒音频数据。例如,如图6所示,以“触发唤醒消息的音频段+识别为空/语气词/无有效语义”这一模式出现的音频数据中通常包括误唤醒音频段。
[0176]
基于此,本技术实施例还提供了语音唤醒方法的另一种可能的实施方式,在该实施方式中,该语音唤醒方法不仅可以包括上述全部步骤或者部分步骤,可以还包括s11-s12:
[0177]
s11:在获取到当前语音段之后,确定是否处于唤醒状态,若是,则执行步骤s12;若否,则执行s2及其后续步骤。
[0178]
上述“唤醒状态”是根据上文“唤醒指令”的触发与否进行确定的;而且该确定过程具体可以包括:在未触发唤醒指令之前,终端设备中语音控制功能处于未唤醒状态;在触发唤醒指令之后,终端设备中语音控制功能处于唤醒状态。
[0179]
可见,对于语音控制功能处于未唤醒状态的终端设备来说,在从语音流中实时地获取到当前语音段之后,可以针对该当前语音段进行唤醒识别处理即可,以确定是否将终端设备中语音控制功能从未唤醒状态切换至唤醒状态;但是,对于语音控制功能已经切换至唤醒状态的终端设备来说,在从语音流中实时地获取到当前语音段之后,可以针对该当前语音段进行语义识别处理,以使该终端设备中其他功能模块能够按照语义识别结果,向用户提供相应的服务项目(例如,向用户提供“到达xxx小区”的导航路线)。
[0180]
s12:在确定当前语音段满足预设信息异常条件时,根据唤醒状态的触发音频段,确定待使用训练数据。
[0181]
上述“预设信息异常条件”可以预先设定。例如,其具体可以包括:当前语音段的语义识别结果满足预设语义条件。
[0182]
上述“当前语音段的语义识别结果”用于表示包括该当前语音段的语音流所携带的语义信息。
[0183]
上述“预设语义条件”可以预先设定。例如,“预设语义条件”可以为:属于空语义、语气词、和无效语义中的任意一种。其中,“空语义”是指上述“当前语音段的语义识别结果”未携带有任何的语义信息。上述“语气词”是指上述“当前语音段的语义识别结果”携带有语气词。上述“无效语义”是指上述“当前语音段的语义识别结果”携带的语义信息不属于任意一种预先设定的候选功能触发语义。
[0184]
需要说明的是,上述“候选功能触发语义”用于触发终端设备中某个功能模块向用户提供相应的服务项目;而且各个“候选功能触发语义”均可以预先设定。
[0185]
实际上,针对语音流的语音识别处理也是实时进行的,而且能够识别出完整语义的语音片段(如图1所示的“第五语音片段”)与能够识别出完整触发词的语音片段(如图1所示的“第三语音片段”)之间间隔有一定距离。基于此,为了提高误唤醒数据的识别准确性,本技术实施例还提供了上述“预设信息异常条件”的另一种可能的实施方式,其具体可以为:当前语音段的语义识别结果满足预设语义条件;而且该当前语音段的采集时间与唤醒状态的切换语音段的采集时间之间的时间间隔大于预设语义时长。
[0186]
上文“唤醒状态的切换语音段”是指语音流中确定产生唤醒的语音片段(也就是,触发唤醒指令的语音片段)。例如,对于图1所示的语音流来说,上文“唤醒状态的触发语音段”就是“第三语音片段”。
[0187]
上述“预设语义时长”用于表示一个完整语义的语音时长;而且本技术实施例不限定该“预设时长”,例如,可以由相关人员预先设定。又如,也可以从大量语音数据中分析得到。
[0188]
基于上述“预设信息异常条件”的另一种可能的实施方式的相关内容可知,对于已经切换至唤醒状态的终端设备来说,在从语音流中实时地获取到当前语音段之后,可以先判断该当前语音段与上述“唤醒状态的切换语音段”之间的时间间隔是否大于预设时长;若大于,则可以确定该当前语音段的语义识别结果应该能够完整地表示出一个语义信息,故可以判断该当前语音段的语义识别结果是否满足预设语义条件,以便在确定满足预设语义条件时,可以确定该当前语音段满足上述“预设信息异常条件”,从而可以推测出上述“唤醒状态”是一次误触发,故可以将该唤醒状态的触发音频段,确定为误唤醒音频数据。
[0189]
上述“唤醒状态的触发音频段”携带有在切换至该唤醒状态时所使用的触发词;而且该“唤醒状态的触发音频段”包括上述“唤醒状态的切换语音段”。例如,“唤醒状态的触发音频段”可以包括图1所示的“第一语音片段”、“第二语音片段”以及“第三语音片段”。
[0190]
需要说明的是,本技术实施例不限定s12中“待使用训练数据”的确定过程,而且s12中“待使用训练数据”的确定过程类似于上文s7中“待使用训练数据”的确定过程。
[0191]
基于上述s11至s12的相关内容可知,对于语音控制功能处于未唤醒状态的终端设备来说,在从语音流中实时地获取到当前语音段之后,可以针对该当前语音段进行唤醒识别处理即可,以确定是否将终端设备中语音控制功能从未唤醒状态切换至唤醒状态;但是,对于语音控制功能已经切换至唤醒状态的终端设备来说,在从语音流中实时地获取到当前语音段之后,若确定该当前语音段满足预设信息异常条件,则可以推测出该唤醒状态是一次误触发,从而可以确定该唤醒状态的触发音频段属于误唤醒音频数据,故可以根据该唤醒状态的触发音频段,确定待使用训练数据,以使该待使用训练数据能够包括该触发音频段,以便后续能够将该触发音频段作为负例,针对唤醒识别模型进行模型更新训练,以使更
新后的唤醒识别模型能够更好地针对该触发音频段进行唤醒识别处理,如此有利于提高唤醒识别模型的唤醒识别性能,从而有利于提高语音唤醒效果。
[0192]
另外,为了进一步提高误唤醒音频数据的收集效果,本技术实施例还提供了语音唤醒方法的另一种可能的实施方式,在该实施方式中,该语音唤醒方法不仅可以包括上述全部步骤或者部分步骤,可以还包括s13:
[0193]
s13:在当前唤醒识别结果满足低门限唤醒条件,且该当前语音段的云端唤醒识别结果不满足正常唤醒条件时,根据唤醒音频段,确定待使用训练数据。
[0194]
可见,对于处于未唤醒状态的终端设备来说,在从语音流中实时地获取到当前语音段之后,若确定当前唤醒识别结果满足低门限唤醒条件,且确定该当前语音段的云端唤醒识别结果不满足正常唤醒条件,则可以获知上文“唤醒识别模型”认为包括该当前语音段的唤醒音频段有可能携带有唤醒词,但是上文“云端唤醒模型”认为包括该当前语音段的唤醒音频段不可能携带有唤醒词,从而可以推测出该“唤醒识别模型”针对该当前语音段给出了错误的唤醒识别结果,从而可以将包括该当前语音段的唤醒音频段,确定待使用训练数据,以使该待使用训练数据能够包括该唤醒音频段,如此能够实现针对具有“本地低门限唤醒

云端无法唤醒”唤醒类型的音频数据进行收集处理,从而有利于提高误唤醒音频数据的全面性,从而有利于提高待使用训练数据的全面性,进而有利于提高语音唤醒效果。
[0195]
需要说明的是,s13中“根据唤醒音频段,确定待使用训练数据”类似于s7中“待使用训练数据”的确定过程。
[0196]
方法实施例六
[0197]
为了便于理解本技术实施例提供的技术方案,下面结合两个应用场景进行说明。
[0198]
场景一:只利用终端设备从实时采集的语音数据中挖掘不易唤醒音频数据以及误唤醒音频数据。
[0199]
对于语音控制功能处于未唤醒状态的终端设备来说,在从语音流中实时地获取到当前语音段之后,先利用唤醒识别模型,对该当前语音段进行唤醒识别处理,得到当前唤醒识别结果;再判断该当前唤醒识别结果是否达到第一概率阈值,若达到第一概率阈值,则可以确定该当前语音段产生唤醒,从而可以确定包括该当前语音段的唤醒音频段携带有唤醒词,故可以直接触发唤醒指令即可,以将该终端设备中语音控制功能从未唤醒状态切换至唤醒状态;
[0200]
若未达到第一概率阈值,则可以继续判断该当前唤醒识别结果是否达到第二概率阈值;若达到第二概率阈值,则可以确定该当前语音段有可能产生唤醒,故可以追溯在该当前语音段之前是否出现过满足低门限唤醒条件的目标语音段,若不存在目标语音段,则可以确定该当前语音段属于第一次满足低门限唤醒条件的语音片段,从而可以推测出包括该当前语音段的唤醒音频段很有可能产生唤醒,故可以继续从语音流中实时地采集后续语音片段,以查找后续这些语音片段中是否存在第二次满足低门限唤醒条件的语音片段;
[0201]
若存在目标语音段,则表示目标语音段以及当前语音段满足两次低门限唤醒,从而可以推测出包括该目标语音段以及当前语音段的唤醒音频段属于不易唤醒音频数据,故可以触发唤醒指令,以将该终端设备中语音控制功能从未唤醒状态切换至唤醒状态,并将该唤醒音频段以及该唤醒音频段的属性信息上传至云端服务器,以使该云端服务器能够参考该唤醒音频段以及该唤醒音频段的属性信息,生成待使用训练数据,以便后续能够利用
该待使用训练数据,对唤醒识别模型进行更新训练,以使更新好的唤醒识别模型能够准确地识别出该唤醒音频段携带有有效的唤醒词,如此有利于提高语音唤醒效果。
[0202]
另外,对于语音控制功能处于唤醒状态的终端设备来说,在从语音流中实时地获取到当前语音段之后,可以对该当前语音段进行语义识别处理,得到该当前语音段的语义识别结果,以便在根据该当前语音段的语义识别结果,确定该当前语音段满足上文“预设信息异常条件”时,可以推测该终端设备发生了误唤醒现象,故可以将该唤醒状态的触发音频段以及该触发音频段的属性信息上传至云端服务器,以使该云端服务器能够参考该触发音频段以及该触发音频段的属性信息,生成待使用训练数据,以便后续能够利用该待使用训练数据,对唤醒识别模型进行更新训练,以使更新好的唤醒识别模型能够准确地识别出该唤醒音频段携带有有效的唤醒词,如此有利于提高语音唤醒效果。
[0203]
场景二:综合利用终端设备+云端服务器从实时采集的语音数据中挖掘不易唤醒音频数据以及误唤醒音频数据。
[0204]
对于语音控制功能处于未唤醒状态的终端设备来说,在从语音流中实时地获取到当前语音段之后,可以分别执行以下两个流程:
[0205]
流程一:先利用本地唤醒模型(也就是,上文“唤醒识别模型”),对该当前语音段进行唤醒识别处理,得到本地唤醒识别结果(也就是,上文“当前唤醒识别结果”);再判断该本地唤醒识别结果是否达到第一概率阈值,若达到第一概率阈值,则可以确定该当前语音段产生唤醒,从而可以确定包括该当前语音段的唤醒音频段携带有唤醒词,故可以直接触发唤醒指令即可,以将该终端设备中语音控制功能从未唤醒状态切换至唤醒状态;
[0206]
若未达到第一概率阈值,则可以继续判断该本地唤醒识别结果是否达到第二概率阈值;若达到第二概率阈值,则可以确定该当前语音段有可能产生唤醒,故可以追溯在该当前语音段之前是否出现过满足低门限唤醒条件的目标语音段,若不存在目标语音段,则可以确定该当前语音段属于第一次满足低门限唤醒条件的语音片段,从而可以推测出包括该当前语音段的唤醒音频段很有可能产生唤醒,故可以继续从语音流中实时地采集后续语音片段,以查找后续这些语音片段中是否存在第二次满足低门限唤醒条件的语音片段;
[0207]
若存在目标语音段,则表示目标语音段以及当前语音段满足两次低门限唤醒,从而可以推测出包括该目标语音段以及当前语音段的唤醒音频段属于不易唤醒音频数据,故可以触发唤醒指令,以将该终端设备中语音控制功能从未唤醒状态切换至唤醒状态,并将该唤醒音频段以及该唤醒音频段的属性信息上传至云端服务器,以使该云端服务器能够参考该唤醒音频段以及该唤醒音频段的属性信息,生成待使用训练数据,以便后续能够利用该待使用训练数据,对唤醒识别模型进行更新训练,以使更新好的唤醒识别模型能够准确地识别出该唤醒音频段携带有有效的唤醒词,如此有利于提高语音唤醒效果。
[0208]
流程二:将该当前语音段发送给云端服务器,以使该云端服务器能够利用云端唤醒模型,针对该当前语音段进行唤醒识别处理,得到云端唤醒识别结果,并将该云端唤醒识别结果反馈给终端设备,以便终端设备在接收到该云端唤醒识别结果之后,若确定上述“本地唤醒识别结果”未达到第一概率阈值,且该云端唤醒识别结果满足正常唤醒条件,则可以推测出包括该当前语音段的唤醒音频段属于不易唤醒音频数据,故可以将该唤醒音频段以及该唤醒音频段的属性信息上传至云端服务器,以使该云端服务器能够参考该唤醒音频段以及该唤醒音频段的属性信息,生成待使用训练数据,以便后续能够利用该待使用训练数
据,对唤醒识别模型进行更新训练,以使更新好的唤醒识别模型能够准确地识别出该唤醒音频段携带有有效的唤醒词,如此有利于提高语音唤醒效果;
[0209]
若述“本地唤醒识别结果”介于第二概率阈值与第一概率阈值之间,且该云端唤醒识别结果不满足正常唤醒条件,则可以推测出终端设备有可能针对该当前语音段进行错误地唤醒,从而可以推测出包括该当前语音段的唤醒音频段属于误唤醒音频数据,故可以将该唤醒音频段以及该唤醒音频段的属性信息上传至云端服务器,以使该云端服务器能够参考该唤醒音频段以及该唤醒音频段的属性信息,生成待使用训练数据,以便后续能够利用该待使用训练数据,对唤醒识别模型进行更新训练,以使更新好的唤醒识别模型能够准确地识别出该唤醒音频段携带有有效的唤醒词,如此有利于提高语音唤醒效果。
[0210]
需要说明的是,针对上述“终端设备+云端”场景来说,若本地产生了低门限唤醒(例如,达到一次或者二次低门限唤醒条件),但云端产生了唤醒,此时按照云端唤醒逻辑,可以对外抛出唤醒消息(也就是,触发唤醒指令,以使终端设备从未唤醒状态转换至唤醒状态),而且这时双门限策略应该清空所有状态数据重新开始计数。另外,若本地采用了双门限策略进行唤醒处理,且第一次本地低门限唤醒云端未唤醒,短时内产生了第二次唤醒消息时,不应再上传第一次低门限唤醒的数据(因为按照上述逻辑,已经上传了一次,防止重复上传)。
[0211]
另外,对于语音控制功能处于唤醒状态的终端设备来说,在从语音流中实时地获取到当前语音段之后,可以对该当前语音段进行语义识别处理,得到该当前语音段的语义识别结果,以便在根据该当前语音段的语义识别结果,确定该当前语音段满足上文“预设信息异常条件”时,可以推测该终端设备发生了误唤醒现象,故可以将该唤醒状态的触发音频段以及该触发音频段的属性信息上传至云端服务器,以使该云端服务器能够参考该触发音频段以及该触发音频段的属性信息,生成待使用训练数据,以便后续能够利用该待使用训练数据,对唤醒识别模型进行更新训练,以使更新好的唤醒识别模型能够准确地识别出该唤醒音频段携带有有效的唤醒词,如此有利于提高语音唤醒效果。
[0212]
此外,对于上述两个场景来说,云端服务器可以针对终端设备上传的数据采用下文所示的数据处理策略进行处理。
[0213]
(1)数据筛选
[0214]
a.针对客户端上传的唤醒音频数据,与云端语音识别接口进行打通,并将语音识别文本的文本标识和该语音识别文本作为数据标注信息一起进行存储。在存储时,可以在图4所示表格中新加一列置信度分数信息,其取值为该语音识别文本与唤醒词标注的编辑距离。
[0215]
b.本地唤醒、本地识别、本地语义产生的数据是分开独立上传的,针对每份上传的本地唤醒数据,去查询产生时间点紧邻其后的语音识别结果或语义识别结果信息,将查询到的结果作为识别标注信息与唤醒数据一起进行存储。
[0216]
(2)数据存储
[0217]
根据计算的置信度分数信息将数据分类存储。
[0218]
基于上述两个场景的相关内容可知,终端设备可以采用双门限策略进行唤醒处理,能够实现针对语音流的唤醒分析、不易唤醒音频以及误唤醒数据收集以及上传,以使云端服务器能够基于终端设备提供的大量不易唤醒音频以及大量误唤醒数据,对已有本地唤
醒模型以及云端唤醒模型进行更新训练,以使更新好的本地唤醒模型以及云端唤醒模型具有更好的唤醒识别性能,如此能够实现利用真实场景下大量的语音数据进行模型训练的目的,从而能够更好的加速核心效果迭代演进的节奏,进而有利于提高语音唤醒效果。
[0219]
基于上述方法实施例提供的语音唤醒方法,本技术实施例还提供了一种语音唤醒装置,下面结合附图进行解释和说明。
[0220]
装置实施例
[0221]
装置实施例对语音唤醒装置进行介绍,相关内容请参见上述方法实施例。
[0222]
参见图7,该图为本技术实施例提供的一种语音唤醒装置的结构示意图。
[0223]
本技术实施例提供的语音唤醒装置700,包括:
[0224]
语音获取单元701,用于获取当前语音段;
[0225]
唤醒识别单元702,用于对所述当前语音段进行唤醒识别处理,得到当前唤醒识别结果;
[0226]
第一触发单元703,用于在所述当前唤醒识别结果满足高门限唤醒条件时,触发唤醒指令;
[0227]
第二触发单元704,用于在所述当前唤醒识别结果满足低门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果时,触发唤醒指令。
[0228]
在一种可能的实施方式中,所述至少一个历史唤醒识别结果包括前一次唤醒识别结果;其中,所述前一次唤醒识别结果是对所述当前语音段的前一个语音段进行唤醒识别处理得到的;所述前一个语音段的采集时间早于所述当前语音段的采集时间;
[0229]
所述第二触发单元704,具体用于:在所述当前唤醒识别结果满足低门限唤醒条件,且所述前一次唤醒识别结果满足低门限唤醒条件时,触发唤醒指令。
[0230]
在一种可能的实施方式中,所述第二触发单元704,具体用于:在所述当前唤醒识别结果满足低门限唤醒条件,所述至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,且所述目标唤醒识别结果与所述当前唤醒识别结果之间的时间差表征数据满足第一时间差条件时,触发唤醒指令。
[0231]
在一种可能的实施方式中,所述至少一个历史唤醒识别结果是对至少一个历史语音段进行唤醒识别处理得到的;
[0232]
所述语音唤醒装置700还包括:
[0233]
消息更新单元,用于在所述当前唤醒识别结果不满足低门限唤醒条件,所述至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,且所述当前语音段不满足预设消息重复条件时,根据所述当前语音段,更新所述至少一个历史语音段;在所述当前唤醒识别结果表示所述当前语音段不满足低门限唤醒条件,所述至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果,且所述当前语音段满足预设消息重复条件时,舍弃所述当前语音段。
[0234]
在一种可能的实施方式中,所述语音唤醒装置700还包括:
[0235]
重复识别单元,用于若所述当前语音段的消息识别结果与待参考语音段的消息识别结果相同,则确定所述当前语音段满足预设消息重复条件;其中,所述待参考语音段与所述当前语音段之间的采集时间差满足第二时间差条件;
[0236]
若所述当前语音段的消息识别结果与待参考语音段的消息识别结果不相同,则确
定所述当前语音段不满足预设消息重复条件。
[0237]
在一种可能的实施方式中,所述当前唤醒识别结果是利用唤醒识别模型确定的;
[0238]
所述语音唤醒装置700还包括:
[0239]
第一确定单元,用于在所述当前唤醒识别结果满足低门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果时,根据唤醒音频段,确定待使用训练数据;其中,所述唤醒音频段包括所述当前语音段和具有所述目标唤醒识别结果的历史语音段;所述待使用训练数据用于更新所述唤醒识别模型。
[0240]
在一种可能的实施方式中,所述当前唤醒识别结果是利用唤醒识别模型确定的;
[0241]
所述语音唤醒装置700还包括:
[0242]
第二确定单元,用于在所述当前唤醒识别结果满足高门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果时,根据唤醒音频段,确定待使用训练数据;其中,所述唤醒音频段包括所述当前语音段和具有所述目标唤醒识别结果的历史语音段;所述待使用训练数据用于更新所述唤醒识别模型。
[0243]
在一种可能的实施方式中,所述当前唤醒识别结果是利用唤醒识别模型确定的;
[0244]
所述语音唤醒装置700还包括:
[0245]
第三确定单元,用于在所述当前唤醒识别结果满足低门限唤醒条件,且所述当前语音段的云端唤醒识别结果满足正常唤醒条件时,根据所述唤醒音频段,确定待使用训练数据;其中,所述云端唤醒识别结果是由云端唤醒模型针对所述当前语音段进行唤醒识别处理得到的;所述唤醒音频段包括所述当前语音段;所述待使用训练数据用于更新所述唤醒识别模型和所述云端唤醒模型。
[0246]
在一种可能的实施方式中,所述当前唤醒识别结果是利用唤醒识别模型确定的;
[0247]
所述语音唤醒装置700还包括:
[0248]
第四确定单元,用于在所述当前唤醒识别结果满足不唤醒条件,且所述当前语音段的云端唤醒识别结果满足正常唤醒条件时,根据所述唤醒音频段,确定待使用训练数据;其中,所述云端唤醒识别结果是由云端唤醒模型针对所述当前语音段进行唤醒识别处理得到的;所述唤醒音频段包括所述当前语音段;所述待使用训练数据用于更新所述唤醒识别模型和所述云端唤醒模型。
[0249]
在一种可能的实施方式中,所述当前唤醒识别结果是利用唤醒识别模型确定的;
[0250]
所述语音唤醒装置700还包括:
[0251]
第五确定单元,用于在所述当前唤醒识别结果满足低门限唤醒条件,且所述当前语音段的云端唤醒识别结果不满足正常唤醒条件时,根据唤醒音频段,确定待使用训练数据;其中,所述云端唤醒识别结果是由云端唤醒模型针对所述当前语音段进行唤醒识别处理得到的;所述唤醒音频段包括所述当前语音段;所述待使用训练数据用于更新所述唤醒识别模型和所述云端唤醒模型。
[0252]
在一种可能的实施方式中,所述唤醒识别单元702,具体用于:若处于未唤醒状态,则利用唤醒识别模型,对所述当前语音段进行唤醒识别处理,得到当前唤醒识别结果;
[0253]
所述语音唤醒装置700还包括:
[0254]
误触发识别单元,用于若处于唤醒状态,则在确定所述当前语音段满足预设信息异常条件时,根据所述唤醒状态的触发音频段,确定待使用训练数据;其中,所述待使用训
练数据用于更新所述唤醒识别模型。
[0255]
在一种可能的实施方式中,所述方法应用于终端设备;所述当前唤醒识别结果是利用唤醒识别模型确定的;
[0256]
所述语音唤醒装置700还包括:
[0257]
数据发送单元,用于在所述当前唤醒识别结果满足低门限唤醒条件,且至少一个历史唤醒识别结果中存在满足低门限唤醒条件的目标唤醒识别结果时,将唤醒音频段和所述唤醒音频段的属性信息发送给云端服务器,以使所述云端服务器根据所述唤醒音频段和所述唤醒音频段的属性信息,确定待使用训练数据;其中,所述唤醒音频段包括所述当前语音段;所述待使用训练数据用于更新所述唤醒识别模型。
[0258]
进一步地,本技术实施例还提供了一种设备,包括:处理器、存储器、系统总线;
[0259]
所述处理器以及所述存储器通过所述系统总线相连;
[0260]
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述语音唤醒方法的任一种实现方法。
[0261]
进一步地,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述语音唤醒方法的任一种实现方法。
[0262]
进一步地,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述语音唤醒方法的任一种实现方法。
[0263]
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本技术各个实施例或者实施例的某些部分所述的方法。
[0264]
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0265]
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0266]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一
致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1