1.本技术涉及语音识别技术领域,尤其涉及一种唤醒处理方法、装置、设备和计算机存储介质。
背景技术:2.随着语音识别技术的发展,家居智能化已经成为趋势,语音设备也逐渐渗入到人们的日常生活中。目前,很多用户家庭普遍存在多种品类的语音设备,在对语音设备进行语音控制之前,需要先对语音设备进行唤醒操作。
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.图1为本技术实施例提供的一种唤醒处理方法的流程示意图;
45.图2为本技术实施例提供的另一种唤醒处理方法的流程示意图;
46.图3为本技术实施例提供的一种唤醒模型的训练过程示意图;
47.图4为本技术实施例提供的一种唤醒处理方法的详细流程示意图;
48.图5为本技术实施例提供的一种唤醒处理装置的组成结构示意图;
49.图6为本技术实施例提供的一种语音设备的具体硬件结构示意图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
51.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,
不是旨在限制本技术。
52.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
53.需要指出,本技术实施例所涉及的术语“第一第二第三”仅是用于区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一第二第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
54.在实际应用中,目前可以采样的唤醒模型的语音识别方案可以有两种:(1)多个唤醒词在同一模型训练;(2)采用多个模型分别训练唤醒词。
55.然而,对于(1)这种技术方案,多个唤醒词在同一模型训练,不同唤醒词之间由于相似度的关系容易发生串扰,考虑到唤醒的相应速率和存储空间问题,训练集不能太大,导致介于不同唤醒词两者间的音容易误识别,容易误唤醒被投诉。对于(2)这种技术方案,模型加载需要时间,而且切换会导致延迟比较严重,从而无法满足同时识别多个唤醒词的方案。简言之,在相关技术中,这些语音设备普遍存在需要识别多个唤醒词的情况,这些不同唤醒词同时训练,容易在不同唤醒词之间发生串扰,进而发生误唤醒的问题,增加了语音识别的误唤醒率。
56.基于此,本技术实施例提供了一种唤醒处理方法,该方法的基本思想是:获取待识别音频;利用唤醒模型和至少两组训练数据分别对所述待识别音频进行处理,得到至少两个置信度以及各自对应的置信度阈值;其中,所述至少两组训练数据是由至少两组唤醒词训练集通过所述唤醒模型分别训练得到的;根据所述至少两个置信度以及各自对应的置信度阈值之间的比较结果,确定待唤醒设备。这样,通过使用同一个唤醒模型将多个唤醒词分开训练,避免了与其他唤醒词发生串扰的可能,同时可以使用较少的训练量达到更好的识别效果;另外,由于还实现了唤醒词的训练数据分离且互不干扰,从而还可以提高开发效率,而且在多个唤醒词同时识别的情况下,还能够降低语音设备的误唤醒率。
57.下面将结合附图对本技术各实施例进行详细说明。
58.实施例一
59.参见图1,其示出了本技术实施例提供一种唤醒处理方法的流程示意图。
60.如图1所示,该方法可以包括:
61.s101:获取待识别音频。
62.需要说明的是,本技术实施例的唤醒处理方法应用于唤醒处理装置,或者集成该唤醒处理装置的语音设备。这里,语音设备可以与用户进行语音交互,而且是任何需要语音唤醒的待唤醒设备,如语音空调,语音热水器,语音电饭煲、语音微波炉等任意常见的家电设备,但是不作任何限定。
63.还需要说明的是,由于语音设备可以与用户进行语音交互,那么这时候还可以通过声音采集装置进行数据采集。因此,在一些实施例中,对于步骤s101来说,所述获取待识别音频,可以包括:
64.通过声音采集装置进行数据采集,获取初始语音数据;
65.对所述初始语音数据进行预处理,得到所述待识别音频。
66.在本技术实施例中,声音采集装置可以为麦克风、话筒等音频采集器。具体来说,可以通过麦克风的实时数据采集,获取来自用户的初始语音数据;然后对所述初始语音数据进行预处理后得到待识别音频。
67.可以理解的是,本技术实施例中的初始语音数据包括用户的声音信息,对于仅有环境声的情况,由于不涉及唤醒识别,因此并不在本实施例讨论范围内,这里不再赘述。也就是说,初始语音数据可以是用户发出的,例如可以是“小美小美”;当语音设备获取到声音信息后,对信息进行的预处理。
68.在这里,所述预处理可以包括端点检测过程和预加重过程等两个方面,下面将分别对其进行详细说明。
69.在一种可能的实施方式中,端点检测过程是指找到指令音频的起始点和结束点,可以从声音信息中截取连续的若干帧声音片段,并按照声音片段的排序,排列在前的若干帧设置为待识别音频,具体的设置为待识别音频的帧数可以根据设定的唤醒词的长度确定。例如,根据唤醒词的文字数量预先设定好具体的时长,将该时长内的声音片段确定为待识别音频,具体的时长可以根据实际情况调整,本实施例不作任何限定。
70.或者,待处理音频的帧数也可以根据检测两段连续的声音片段之间的空数据的长度确定,例如实际使用过程中,用户可能会先喊出唤醒词,停顿若干秒之后喊出其余语音指令,则可以将空数据之前的片段作为待识别音频。
71.示例性地,以语音空调为例,结合上述实施例,假设语音空调通过声音采集装置接收到一段音频“小美小美”,“小美小美”这个唤醒词在预设时长为两秒,那在端点检测过程中需截取前2秒时长所对应的帧数作为待处理音频。或者,假设语音空调通过声音采集装置收到一端音频“小美小美,调高温度”两句之间存在空白间隔,空白间隔的过程中音频信息为空数据,则可将空白间隔这段空数据之前的帧数作为待处理音频。
72.在另一种可能的实施方式中,预加重过程是指对音频高频部分进行加重,增加高频分辨率,当获取到声音信息后,采用音频识别的方式从声音信息中提取出环境声信息和音频信息,去除杂音干扰,并增加高频分辨率,获取清晰的人声信息。
73.需要说明的是,对于携带有环境声的待识别音频而言,本技术实施例还可以利用其进行带噪声的唤醒模型训练。具体地,在从待识别音频中提取出环境声信息之后,可以将其发送至服务器中用作训练数据,在对唤醒模型的进一步训练中能够将环境声信息的声压级作为一个特征参数,对唤醒模型采用带噪声训练的方式,使得唤醒模型的识别过程能够根据不同的环境声信息的大小调整对应的参数,例如调整对应的置信度阈值,使得唤醒模型能够适用于不同的使用场景。
74.s102:利用唤醒模型和至少两组训练数据分别对所述待识别音频进行处理,得到至少两个置信度以及各自对应的置信度阈值。
75.在本技术实施例中,所述至少两组训练数据是由至少两组唤醒词训练集通过唤醒模型分别训练得到的。其中,每一组训练数据可以包括模型参数和置信度阈值(其中,置信度阈值也可称为“唤醒阈值”)。
76.相应地,在一些实施例中,对于s102来说,所述利用唤醒模型和至少两组训练数据分别对所述待识别音频进行处理,得到至少两个置信度以及各自对应的置信度阈值,可以包括:
77.利用所述唤醒模型和所述至少两组训练数据中的模型参数分别对所述待识别音频进行处理,得到至少两个置信度,以及从所述至少两组训练数据中获取所述至少两个置信度各自对应的置信度阈值。
78.需要说明的是,至少两组唤醒词训练集是根据不同的唤醒词进行分组得到的,即每一个唤醒词对应一组唤醒词训练集;另外,这至少两组训练数据又是由这至少两组唤醒词训练集通过唤醒模型分别训练得到的,即训练数据与唤醒词之间具有对应关系,这至少两组训练数据各自对应一个唤醒词。例如,假设存在唤醒词a和唤醒词b,那么可以得到一组唤醒词a训练集和一组唤醒词b训练集,并且通过唤醒模型训练之后得到唤醒词a的训练数据和唤醒词b的训练数据。
79.这样,针对待识别音频进行处理的过程,可将待识别音频由至少两个唤醒词各自对应的训练数据分别进行识别,并得到待处理音频在每一组训练数据中的模型参数下所得到的置信度。值得注意的是,与相关技术中将不同唤醒词的同时进行训练不同,在本技术实施例中,识别过程和训练过程都实现了按照不同唤醒词的分离处理,使得识别结果中不同唤醒词之间不会发生串扰,降低了使用过程中的误唤醒率;而且这样分唤醒词进行训练和识别,大大减少了处理器的工作压力,也减少了响应时间,优化了用户的使用体验。
80.示例性地,以语音空调为例,假设语音空调的接收到待识别音频“小美小美”,那么唤醒模型会结合至少两个唤醒词(例如“小美小美”、“小美你好”)对应的训练数据进行针对每个唤醒词相对应置信度的确定,最后得到“小美小美、小美你好”两个唤醒词各自对应的置信度。
81.可以理解的是,语音设备中可以内置语音识别模块,以对待处理音频进行识别,当然,也可以通过语音设备与服务器通信连接的方式,通过服务器进行语音识别,再反馈具体的结果至语音设备中用作输入,能够防止多个语音设备间的唤醒词串扰,具体方式根据实际情况调整即可。还可以理解的是,唤醒词可以是预先设置的任意文字,本实施例不作任何限定。
82.另外,针对待识别音频,本技术实施例在利用唤醒模型和至少两组训练数据分别对其进行处理之前,还可以先对待识别音频进行文本转换处理,得到音频文本信息;然后通过文字匹配或者语义匹配的方式对音频文本信息进行匹配处理,确定至少一个关键词或关键字,然后在利用唤醒模型和至少两组训练数据分别对其进行处理,在此不多作赘述。
83.除此之外,在本技术实施例中,唤醒模型和置信度阈值可以是以出厂设置的方式预先设置于语音设备中,从而使语音设备初次上电使用时能够有初始的唤醒模型和置信度阈值,并在后续使用过程中进行训练更新,使其更加符合用户使用场景,这里也不作任何限定。
84.进一步地,假设这里的至少两组训练数据为两组的情况,那么这时候所述至少两组训练数据可以包括第一组训练数据和第二组训练数据;其中,所述第一组训练数据包括第一模型参数和第一置信度阈值,所述第二组训练数据包括第二模型参数和第二置信度阈值。
85.相应地,在一些实施例中,所述利用唤醒模型和至少两组训练数据分别对所述待识别音频进行处理,得到至少两个置信度以及各自对应的置信度阈值,可以包括:
86.利用所述唤醒模型和所述第一组训练数据中的所述第一模型参数对所述待识别
音频进行处理,得到第一置信度,并从所述第一组训练数据中确定所述第一置信度对应的所述第一置信度阈值;以及
87.利用所述唤醒模型和所述第二组训练数据中的所述第二模型参数对所述待识别音频进行处理,得到第二置信度,并从所述第二组训练数据中确定所述第二置信度对应的所述第二置信度阈值。
88.也就是说,假设存在唤醒词a和唤醒词b,那么在得到唤醒词a的训练数据和唤醒词b的训练数据之后,可以利用唤醒模型和唤醒词a的训练数据对待识别音频进行处理,得到唤醒词a置信度以及对应的置信度阈值;以及可以利用唤醒模型和唤醒词b的训练数据对待识别音频进行处理,得到唤醒词b置信度以及对应的置信度阈值,从而得到这两组训练数据各自对应的置信度和置信度阈值,以便后续通过比较确定待触发的唤醒事件。
89.s103:根据所述至少两个置信度以及各自对应的置信度阈值之间的比较结果,触发语音设备的唤醒事件。
90.需要说明的是,在得到至少两个置信度以及各自对应的置信度阈值之后,可以将这至少两个置信度与各自对应的置信度阈值分别进行比较;然后根据比较结果来触发语音设备的唤醒事件。
91.具体来讲,以两个唤醒词的情况为例,这时候至少两个置信度仅包括第一置信度和第二置信度。在一些实施例中,对于s103来说,所述根据所述至少两个置信度以及各自对应的置信度阈值之间的比较结果,触发语音设备的唤醒事件,可以包括:
92.若所述第一置信度大于或等于所述第一置信度阈值,或者所述第二置信度大于或等于所述第二置信度阈值,则触发所述语音设备的唤醒事件。
93.在本技术实施例中,所述唤醒事件可以包括第一唤醒事件和/或第二唤醒事件;其中,所述第一唤醒事件与所述第一组训练数据对应的唤醒词具有关联关系,所述第二唤醒事件与所述第二组训练数据对应的唤醒词具有关联关系。
94.进一步地,在一些实施例中,当至少两个置信度包括第一置信度和第二置信度时,所述根据所述至少两个置信度以及各自对应的置信度阈值之间的比较结果,触发语音设备的唤醒事件,还可以包括:
95.若所述第一置信度大于或等于所述第一置信度阈值且所述第二置信度小于所述第二置信度阈值,则触发所述语音设备的所述第一唤醒事件;或者,
96.若所述第二置信度大于或等于所述第二置信度阈值且所述第一置信度小于所述第一置信度阈值,则触发所述语音设备的所述第二唤醒事件;或者,
97.若所述第一置信度大于或等于所述第一置信度阈值且所述第二置信度大于或等于所述第二置信度阈值,则计算所述第一置信度超过所述第一置信度阈值的第一值和所述第二置信度超过所述第二置信度阈值的第二值,根据所述第一值和所述第二值,触发所述语音设备的目标唤醒事件。
98.需要说明的是,针对两个置信度均大于或等于相对应的置信度阈值的情况,这时候需要计算所述第一置信度超过所述第一置信度阈值的第一值和所述第二置信度超过所述第二置信度阈值的第二值。在一些实施例中,所述根据所述第一值和所述第二值,触发所述语音设备的目标唤醒事件,可以包括:
99.若所述第一值大于或等于所述第二值,则确定所述目标唤醒事件为所述第一唤醒
事件并触发;或者,
100.若所述第一值小于所述第二值,则确定所述目标唤醒事件为所述第二唤醒事件并触发。
101.示例性地,如果待唤醒设备的声音采集装置接收到内容为“小美同学”的待处理音频,唤醒模型配合唤醒词“小美小美”对应的训练数据和唤醒词“小美同学”对应的训练数据,分别得到“小美小美”对应的置信度和“小美同学”对应的置信度,并且将两个置信度分别与其相对应的置信度阈值相比较,如果“小美小美”的置信度大于或等于其对应的置信度阈值,则“小美小美”对应的唤醒事件为目标唤醒事件;否则,如果“小美同学”的置信度大于或等于其对应的置信度阈值,则“小美同学”对应的唤醒事件为目标唤醒事件。
102.需要说明的是,在特殊状况下,如果“小美小美”和“小美同学”的置信度均大于等于其相应的置信度阈值,那么可以比较置信度超出置信度阈值的量,两个唤醒词中置信度超出置信度阈值的量更多的一个唤醒词对应的唤醒事件为目标唤醒事件。这样,在确定出目标唤醒事件之后,可以使得语音设备执行该目标唤醒事件以进行对应唤醒操作。
103.还需要说明的是,不同的唤醒词,例如不同发音相同含义的唤醒词,可以生成同一个唤醒指令。其中,相同的唤醒指令唤醒相应的唤醒事件,既可以应用于单一语音设备不同唤醒词的唤醒过程,又可以应用于多个语音设备组成的级联式的语音中控系统,本技术实施例可根据情况需要进行选择,这里不作任何限定。
104.本技术实施例提供了一种语音处理方法,应用于语音设备。通过获取待识别音频;利用唤醒模型和至少两组训练数据分别对所述待识别音频进行处理,得到至少两个置信度以及各自对应的置信度阈值;其中,所述至少两组训练数据是由至少两组唤醒词训练集通过所述唤醒模型分别训练得到的;根据所述至少两个置信度以及各自对应的置信度阈值之间的比较结果,触发所述语音设备的唤醒事件。这样,通过使用同一个唤醒模型将多个唤醒词分开训练,避免了与其他唤醒词发生串扰的可能,同时可以使用较少的训练量达到更好的识别效果;另外,由于还实现了唤醒词的训练数据分离且互不干扰,从而还可以提高开发效率,而且在多个唤醒词同时识别的情况下,还能够降低语音设备的误唤醒率。
105.实施例二
106.基于前述实施例相同的发明构思,参见图2,其示出了本技术实施例提供的另一种唤醒处理方法的流程示意图。如图2所示,该方法可以包括:
107.s201:获取初始训练集;其中,所述初始训练集中包括至少两个唤醒词。
108.s202:对所述初始训练集按照不同的唤醒词进行分组,得到所述至少两组唤醒词训练集。
109.s203:利用所述至少两组唤醒词训练集对所述唤醒模型进行训练,得到所述至少两组训练数据。
110.需要说明的是,在本技术实施例中,唤醒模型可以是神经网络模型。其中,神经网络(neural networks,nn)是由大量的、简单的处理单元(称为“神经元”)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学习系统。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。在这里,唤醒模型可以为深度神经网络(deep neural networks,dnn)模型。具体来说,这里的唤醒模型可
以包括dnn的结构设计和每个神经元的数学模型。
111.需要说明的是,在本技术实施例中,每一组训练数据至少可以包括模型参数和置信度阈值。具体来说,这里的训练数据可以包括dnn中训练后所得的最优参数(简称为“模型参数”)和置信度阈值等。
112.还需要说明的是,本技术实施例可以采用多个唤醒词分开训练唤醒模型以获得相对应的训练数据,从而实现唤醒词数据分离互不干扰的方式。另外,由于多模型是采用多个模型分别进行训练,在后期使用过程中,由于唤醒模型加载需要时间,切换过程会导致识别的延迟较为严重;然而,本技术实施例提供的技术方案不同于多模型的方案,这里是采用不同唤醒词通过同一个唤醒模型进行训练,从而还降低了唤醒处理过程中的延迟问题。
113.还需要说明的是,用不同的唤醒词为标准进行分组划分训练集,而且不同的唤醒词对应的训练集单独训练,得到的数据独立存储,能够用有限的训练集对模型进行训练,并且达到唤醒词之间不产生串扰的技术效果,不同于唤醒词同时训练唤醒模型的情况,能够防止唤醒词之间的相互串扰。
114.进一步地,当需要增加新的唤醒词时,在一些实施例中,该方法还可以包括:根据新的唤醒词对应的一组唤醒词训练集对所述唤醒模型进行训练,得到新的一组训练数据。
115.也就是说,由于本技术实施例实现了数据分离,重新训练只需要针对新增加的唤醒词,并不会影响已有的唤醒词;这样在有增加新的唤醒词的情况下,还可以提高开发效率。
116.换言之,如果是已经投入使用的唤醒模型,在需要增加新的唤醒词的情况下,也可按照上述实施例中的训练方法,利用新的唤醒词对已有模型进行训练,其中,已经投入使用的唤醒模型作为上述方案中的唤醒模型,如此不断对唤醒模型进行训练,而且唤醒模型不断学习新的唤醒词,使得产品能持续不断地更新进而满足用户的新需求。
117.示例性地,以存在唤醒词a和唤醒词b为例,参见图3,其示出了本技术实施例提供的一种唤醒模型的训练过程示意图。在图3中,这里存在两组唤醒词训练集,例如唤醒词a训练集和唤醒词b训练集;使用唤醒词a训练集对唤醒模型进行训练,可以得到唤醒词a的训练数据;使用唤醒词b训练集对唤醒模型进行训练,可以得到唤醒词b的训练数据。
118.具体来讲,本技术实施例利用两个唤醒词训练集对同一个唤醒模型进行训练,可以得到两组训练数据。这里,将输入的初始训练集以不同的唤醒词划分为不同的组,每一组唤醒词训练集依次单独作为输入数据对唤醒模型进行训练,直至所有唤醒词训练集的训练结束。另外,需要注意的是,每一组唤醒词训练集对唤醒模型进行训练后所得到的训练数据按照不同的唤醒词进行分区存储。
119.示例性地,唤醒词训练集的划分是通过不同唤醒词进行分组的,这里不同的唤醒词既可以是语义完全不同的唤醒词,也可以是相同语义但不同方言语境中的唤醒词,例如唤醒词小美小美的粤语(xiu mei xiu mei)和普通话(xiao mei xiao mei)。这样,在利用唤醒模型进行识别处理时,可以是输入若干个输入信息以得出一个输出信息。其中,输入信息是待处理音频,可以在唤醒模型中内置语音识别模块,对待识别音频进行识别以输出对应的唤醒事件;也可以是在语音设备中设置语音识别模块,从声音信息中获取待识别音频,并对待识别音频进行语音识别,以输出对应的唤醒事件。在本技术实施例中,输入信息的具体方式根据实际需求选取即可,并不作任何限定。
120.本技术实施例提供了一种语音处理方法,应用于语音设备。通过获取所述至少两组唤醒词训练集;利用所述至少两组唤醒词训练集对所述唤醒模型进行训练,得到所述至少两组训练数据;其中,每一组训练数据包括模型参数和置信度阈值。这样,可以避免不同唤醒词同时训练时发生唤醒词串扰的可能,实现了唤醒词的相互分离以及训练数据的相互分离,从而可以在多个唤醒词同时识别的情况下,能够降低语音设备的误唤醒率。
121.实施例三
122.基于前述实施例相同的发明构思,参见图4,其示出了本技术实施例提供的一种唤醒处理方法的详细流程示意图。以存在唤醒词a和唤醒词b为例,如图4所示,该方法可以包括:
123.s401:麦克风实时采集音频,经前端预处理后得到待识别音频。
124.s402:利用唤醒模型和唤醒词a的训练数据对所述待识别音频进行处理,得到置信度a和对应的置信度阈值a。
125.s403:利用唤醒模型和唤醒词b的训练数据对所述待识别音频进行处理,得到置信度b和对应的置信度阈值b。
126.s404:判断是否置信度a≥置信度阈值a,或者置信度b≥置信度阈值b。
127.s405:若判断结果为是,触发语音设备的唤醒事件。
128.需要说明的是,对于步骤s404来说,如果判断结果为是,那么可以执行s405,在唤醒语音设备后,还可以返回步骤s401继续进行下一次的音频的采集;如果判断结果为否,那么可以直接返回步骤s401继续进行下一次的音频的采集。
129.在本技术实施例中,本技术实施例采用单一的唤醒模型,而且不同的唤醒词分开训练获得独立的训练数据,从而实现唤醒词的训练数据分离互不干扰。
130.在一种可能的实施例中,其相关流程如下:
131.(1)多个唤醒词设计使用同一个唤醒模型;
132.(2)使用唤醒词a训练集训练唤醒模型得到唤醒词a的训练数据;
133.(3)使用唤醒词b训练集训练唤醒模型得到唤醒词b的训练数据;
134.(4)将唤醒模型和唤醒词a的训练数据、唤醒词b的训练数据存储在语音模块用于唤醒识别;
135.(5)麦克风实时采集音频,经前端处理后得到待识别音频;
136.(6)待识别音频使用唤醒模型+唤醒词a的训练数据处理,得到置信度a和置信度阈值a;
137.(7)待识别音频使用唤醒模型+唤醒词b的训练数据处理,得到置信度b和置信度阈值b;
138.(8)置信度a≥置信度阈值a,或者置信度b≥置信度阈值b,则触发唤醒事件。
139.在另一种可能的实施例中,针对(8)的处理步骤来说,其还可以采用如下方式:
140.(1)置信度a≥置信度阈值a且置信度b<置信度阈值b,则触发a唤醒事件;
141.(2)置信度a<置信度阈值a且置信度b≥置信度阈值b,则触发b唤醒事件;
142.(3)置信度a≥置信度阈值a且置信度b≥置信度阈值b,则根据超出置信度阈值的百分比值进行综合判断,触发唤醒事件。
143.还需要说明的是,在相关技术的方案中,多个唤醒词同时训练,不同唤醒词之间会
有串扰,即在训练度不够的情况下环境噪音中出现两唤醒词的模糊音会被误判,尤其是存在重复字时(比如“小美小美”和“小美同学”),需要靠模型设计和大量的训练集去区分开每个唤醒词,由于硬件存储资源限制和唤醒响应速度的要求,所以比较难解决串扰问题。本实施例采用每一组唤醒词训练集单独训练,就不存在与其他唤醒词串扰的可能,可以使用较少的训练量达到更好的识别效果。
144.以唤醒词小美小美的粤语(xiu mei xiu mei)和普通话(xiao mei xiao mei)为例,在唤醒词同时训练和分开训练的情况下,模型测试数据的对比如表1所示。
145.表1
[0146][0147]
从上述表1中的模型测试数据可知,本技术实施例的方案能在多个唤醒词同时识别的情况下实现较小的误唤醒率,而相关技术的方案将唤醒词同时训练,误唤醒测试的企标要求是24小时3次以下;针对本技术实施例将唤醒词分开训练,误唤醒测试可以做到72小时1次以下。且本技术实施例的方案在加入新的唤醒词时,由于做了数据分离,重新训练只需要针对新增的唤醒词,不影响已有的唤醒词,还提高了开发效率。
[0148]
本技术实施例提供了一种唤醒处理方法,通过上述实施例对前述实施例的具体实现进行了详细阐述,从中可以看出,通过前述实施例的技术方案,从而不仅避免了不同唤醒词同时训练时发生唤醒词串扰的可能,实现了唤醒词的训练数据分离且互不干扰,而且在多个唤醒词同时识别的情况下,还能够降低语音设备的误唤醒率。
[0149]
实施例四
[0150]
基于前述实施例相同的发明构思,参见图5,其示出了本技术实施例提供的一种唤醒处理装置的组成结构示意图。如图5所示,所述唤醒处理装置50可以包括:获取单元501、处理单元502和触发单元503;其中,
[0151]
获取单元501,配置为获取待识别音频;
[0152]
处理单元502,配置为利用唤醒模型和至少两组训练数据分别对所述待识别音频进行处理,得到至少两个置信度以及各自对应的置信度阈值;其中,所述至少两组训练数据是由至少两组唤醒词训练集通过所述唤醒模型分别训练得到的;
[0153]
触发单元503,配置为根据所述至少两个置信度以及各自对应的置信度阈值之间的比较结果,触发所述语音设备的唤醒事件。
[0154]
在一些实施例中,获取单元501,具体配置为通过声音采集装置进行数据采集,获取初始语音数据;以及对所述初始语音数据进行预处理,得到所述待识别音频。
[0155]
在一些实施例中,每一组训练数据包括模型参数和置信度阈值;相应地,处理单元502,具体配置为利用所述唤醒模型和所述至少两组训练数据中的模型参数分别对所述待识别音频进行处理,得到至少两个置信度,以及从所述至少两组训练数据中获取所述至少两个置信度各自对应的置信度阈值。
[0156]
在一些实施例中,所述至少两组训练数据包括第一组训练数据和第二组训练数据,所述第一组训练数据包括第一模型参数和第一置信度阈值,所述第二组训练数据包括第二模型参数和第二置信度阈值;相应地,处理单元502,具体配置为利用所述唤醒模型和所述第一组训练数据中的所述第一模型参数对所述待识别音频进行处理,得到第一置信度,并从所述第一组训练数据中确定所述第一置信度对应的所述第一置信度阈值;以及利用所述唤醒模型和所述第二组训练数据中的所述第二模型参数对所述待识别音频进行处理,得到第二置信度,并从所述第二组训练数据中确定所述第二置信度对应的所述第二置信度阈值。
[0157]
在一些实施例中,触发单元503,具体配置为若所述第一置信度大于或等于所述第一置信度阈值,或者所述第二置信度大于或等于所述第二置信度阈值,则触发所述语音设备的唤醒事件。
[0158]
在一些实施例中,所述唤醒事件包括第一唤醒事件和/或第二唤醒事件;其中,所述第一唤醒事件与所述第一组训练数据对应的唤醒词具有关联关系,所述第二唤醒事件与所述第二组训练数据对应的唤醒词具有关联关系。
[0159]
在一些实施例中,触发单元503,具体配置为若所述第一置信度大于或等于所述第一置信度阈值且所述第二置信度小于所述第二置信度阈值,则触发所述语音设备的所述第一唤醒事件;或者,若所述第二置信度大于或等于所述第二置信度阈值且所述第一置信度小于所述第一置信度阈值,则触发所述语音设备的所述第二唤醒事件;或者,若所述第一置信度大于或等于所述第一置信度阈值且所述第二置信度大于或等于所述第二置信度阈值,则计算所述第一置信度超过所述第一置信度阈值的第一值和所述第二置信度超过所述第二置信度阈值的第二值,根据所述第一值和所述第二值,触发所述语音设备的目标唤醒事件。
[0160]
在一些实施例中,触发单元503,还配置为若所述第一值大于或等于所述第二值,则确定所述目标唤醒事件为所述第一唤醒事件并触发;或者,若所述第一值小于所述第二值,则确定所述目标唤醒事件为所述第二唤醒事件并触发。
[0161]
在一些实施例中,获取单元501,还配置为获取所述至少两组唤醒词训练集;
[0162]
处理单元502,还配置为利用所述至少两组唤醒词训练集对所述唤醒模型进行训练,得到所述至少两组训练数据;其中,每一组训练数据包括模型参数和置信度阈值。
[0163]
在一些实施例中,获取单元501,还配置为获取初始训练集;其中,所述初始训练集中包括至少两个唤醒词;以及对所述初始训练集按照不同的唤醒词进行分组,得到所述至少两组唤醒词训练集。
[0164]
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的
形式实现。
[0165]
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0166]
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有唤醒处理程序,所述唤醒处理程序被至少一个处理器执行时实现前述实施例中任一项所述的方法的步骤。
[0167]
基于上述唤醒处理装置50的组成以及计算机存储介质,参见图6,其示出了本技术实施例提供的唤醒处理装置50的具体硬件结构示意图。如图6所示,可以包括:通信接口601、存储器602和处理器603;各个组件通过总线系统604耦合在一起。可理解,总线系统604用于实现这些组件之间的连接通信。总线系统604除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统604。其中,通信接口601,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
[0168]
存储器602,用于存储能够在处理器603上运行的计算机程序;
[0169]
处理器603,用于在运行所述计算机程序时,执行:
[0170]
获取待识别音频;
[0171]
利用唤醒模型和至少两组训练数据分别对所述待识别音频进行处理,得到至少两个置信度以及各自对应的置信度阈值;其中,所述至少两组训练数据是由至少两组唤醒词训练集通过所述唤醒模型分别训练得到的;
[0172]
根据所述至少两个置信度以及各自对应的置信度阈值之间的比较结果,触发所述语音设备的唤醒事件。
[0173]
可以理解,本技术实施例中的存储器602可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read
‑
only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步链动态随机存取存储器(synchronous link dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。本文描述的系统和方法的存储器602旨在包括但不限于这些和任意其它适合类型的存储器。
[0174]
而处理器603可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器603中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器603可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器602,处理器603读取存储器602中的信息,结合其硬件完成上述方法的步骤。
[0175]
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(application specific integrated circuits,asic)、数字信号处理器(digital signal processing,dsp)、数字信号处理设备(dsp device,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field
‑
programmable gate array,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。
[0176]
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
[0177]
可选地,作为另一个实施例,处理器603还配置为在运行所述计算机程序时,执行前述实施例中任一项所述的方法的步骤。
[0178]
需要说明的是,在本技术中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0179]
上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0180]
本技术所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0181]
本技术所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0182]
本技术所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0183]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。