语音唤醒方法、装置、存储介质和电子设备与流程



1.本公开涉及语音唤醒技术领域,具体地,涉及一种语音唤醒方法、装置、存储介质和电子设备。


背景技术:



2.语音唤醒是用户与智能语音设备交互的第一步,当用户说出智能语音设备的唤醒词后,智能语音设备唤醒,进入工作状态。语音唤醒的延迟决定着用户与设备的人机语音交互的体验,当用户说完唤醒词到设备响应的时间为唤醒延迟时间,唤醒延迟时间越低则用户等待时长越短,有利于提升用户的体验。通常来说,语音唤醒的模型在从用户语音中识别唤醒词的过程中,一般会右看几帧语音来保证唤醒效果,这样会增加唤醒延迟时间,为了减少延迟,可以选择减少右看的帧数,但这样又会带来一定唤醒效果的损伤。


技术实现要素:



3.提供该部分内容以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该部分内容并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
4.第一方面,本公开提供一种语音唤醒方法,包括:
5.确定连续多帧语音对应的字符概率向量;其中,每帧语音对应的字符概率向量是根据本帧语音的状态信息和右看m帧语音的状态信息得到;
6.在所述连续多帧语音对应的字符概率向量中,以预设的预唤醒词作为解码字符路径,确定所述预唤醒词对应的第一路径解码分数;其中,所述预唤醒词由预设的完整唤醒词的前n个字符组成,m和n均为正整数;
7.响应于所述第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量;
8.根据所述预唤醒词的路径解码信息以及所述m帧状态信息对应的m个字符概率向量,确定所述完整唤醒词对应的第二路径解码分数;
9.响应于所述第二路径解码分数大于第二阈值,确定唤醒设备。
10.第二方面,本公开提供一种语音唤醒装置,包括:
11.第一字符确定模块,用于确定连续多帧语音对应的字符概率向量;其中,每帧语音对应的字符概率向量是根据本帧语音的状态信息和右看m帧语音的状态信息得到;
12.预唤醒检测模块,用于在所述连续多帧语音对应的字符概率向量中,以预设的预唤醒词作为解码字符路径,确定所述预唤醒词对应的第一路径解码分数;其中,所述预唤醒词由预设的完整唤醒词的前n个字符组成,m和n均为正整数;
13.第二字符确定模块,用于响应于所述第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量;
14.完整唤醒检测模块,用于根据所述预唤醒词的路径解码信息以及所述m帧状态信
息对应的m个字符概率向量,确定所述完整唤醒词对应的第二路径解码分数;
15.唤醒确认模块,用于响应于所述第二路径解码分数大于第二阈值,确定唤醒设备。
16.第三方面,本公开提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面所述方法的步骤。
17.第四方面,本公开提供一种电子设备,包括:
18.存储装置,其上存储有至少一个计算机程序;
19.至少一个处理装置,用于执行所述存储装置中的所述至少一个计算机程序,以实现第一方面所述方法的步骤。
20.在上述方案中,预先设置预唤醒条件,即预唤醒词对应的第一路径解码分数需要大于第一阈值,当确定第一路径解码分数大于第一阈值后,不需要等待下一帧语音的输入,只需要提取出缓存的m帧状态信息,得到m帧状态信息分别对应的字符概率向量,再基于这m帧状态信息对应的字符概率向量进行解码,确定出完整唤醒词对应的第二路径解码分数,就能够根据第二路径解码分数来确定是否唤醒设备。因此,本方案可以无须等待后续帧语音的输入,节省因右看导致的等待时间,进而缩短唤醒延迟时间,加快语音唤醒速度,此外,由于还保证了预唤醒阶段的模型右看,因此并不会损失唤醒性能。
21.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
22.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
23.图1示出了一示例性实施例中目标模型的示意图;
24.图2示出了一示例性实施例提供的语音唤醒方法的流程图;
25.图3示出了目标模型的训练过程的流程图;
26.图4示出了目标模型的训练过程的又一流程图;
27.图5示出了一示例性实施例提供的语音唤醒装置的框图;
28.图6示出了一示例性实施例提供的电子设备的框图。
具体实施方式
29.可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
30.例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
31.作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控
件。
32.可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
33.可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
34.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
35.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
36.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
37.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
38.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
39.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
40.本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
41.唤醒延迟,有一部分是因语音唤醒的模型(本文中记为目标模型)右看所带来的延迟。图1示出了本公开一示例性实施例中目标模型的一种示意图,该目标模型包括第一处理单元和第二处理单元,其中,第一处理单元用于接收输入的一帧语音,并对输入的语音进行处理,得到相应的状态信息,第二处理单元用于根据一帧状态信息和相对于该帧状态信息右看的多帧状态信息,输出对应的一个字符概率向量。
42.例如,以目标模型右看m帧为例,第一处理单元对输入的第k帧语音进行处理,得到第k帧语音对应的模型中间状态信息,记为状态信息sk,并缓存状态信息sk,对输入的第k+1帧语音进行处理,得到并缓存第k+1帧语音对应的状态信息sk+1,对输入的第k+2帧语音进行处理,得到并缓存第k+2帧语音对应的状态信息sk+2,依此类推,对输入的第k+m帧语音进行处理,得到并缓存第k+m帧语音对应的状态信息sk+m,第二处理单元用于根据状态信息sk~sk+m,输出第k帧语音对应的一个字符概率向量pk,其中pk={p1,p2,

,pn},p1、p2、

、pn分别表示第k帧语音对应每个字符的概率。
43.作为一种示例,当设备启动后,通过设备内的采集装置采集设备周围的语音,并对采集装置采集的语音进行分帧,假设每10毫秒记为一帧语音,且以右看4帧为例,当获取到第1帧语音时,将第1帧语音输入到目标模型,目标模型中的第一处理单元对第1帧语音进行
处理,得到第1帧语音对应的状态信息s1,并缓存状态信息s1,当获取到第2帧语音时,将第2帧语音输入到目标模型,目标模型中的第一处理单元对第2帧语音进行处理,得到第2帧语音对应的状态信息s2,并缓存状态信息s2,当获取到第3帧语音时,得到并缓存对应的状态信息s3,当获取到第4帧语音时,得到并缓存对应的状态信息s4。
44.此时,已经缓存4帧状态信息。当获取到第5帧语音时,将第5帧语音输入到目标模型,目标模型中的第一处理单元对第5帧语音进行处理,得到并缓存第5帧语音对应的状态信息s5,同时还根据第1帧语音对应的状态信息s1与缓存的第2帧至第5帧语音对应的状态信息s2~s5,得到一个长度为5帧的完整输入s1~s5,目标模型中的第二处理单元根据该完整输入s1~s5,输出第1帧语音对应的字符概率向量,该字符概率向量是根据第1帧语音对应的状态信息,与缓存的相对于第1帧语音右看的4帧语音对应的状态信息得到的,因此,该字符概率向量能够准确表示第1帧语音对应的各个字符的概率。
45.同理,当获取到第6帧语音时,得到并缓存对应的状态信息s6,同时还根据第2帧语音对应的状态信息s2与缓存的第3帧至第6帧语音对应的状态信息s3~s6,得到一个长度为5帧的完整输入s2~s6,目标模型中的第二处理单元根据该完整输入s2~s6,输出第2帧语音对应的字符概率向量,该字符概率向量是根据第2帧语音对应的状态信息,与缓存的相对于第2帧语音右看的4帧语音对应的状态信息得到的。
46.随着不断获取到新的语音帧,将重复上述过程。之后,将会基于连续多个字符概率向量进行解码,以识别其中是否包含有预设的唤醒词,如果其中包含有预设的唤醒词,则唤醒设备,否则继续识别。其中,该唤醒词是指用户唤醒设备的语音口令,其可以是用户或者系统进行设置。
47.值得注意的是,从上述过程可见,在向目标模型输入第5帧语音后,目标模型才会输出第1个字符概率向量,即在目标模型右看m帧的情况下,目标模型将会始终延后m帧进行输出。由于目标模型的这种右看机制,导致在语音唤醒过程中需要持续等待后续帧语音的输入,这一等待时间导致了唤醒延迟。
48.由此,本公开实施例提供一种语音唤醒方法。图2示出了本公开一示例性实施例提供的语音唤醒方法的流程图,如图2所示,该方法包括:
49.s110,确定连续多帧语音对应的字符概率向量;其中,每帧语音对应的字符概率向量是根据本帧语音的状态信息和右看m帧语音的状态信息得到。
50.在一种实施方式中,可通过如下方式确定每帧语音对应的字符概率向量:在每获取到一帧语音后,对该帧语音进行处理,得到并缓存该帧语音对应的状态信息,对于任意一帧语音,如第k帧语音,根据第k帧语音对应的状态信息与缓存的第k+1帧至第k+m帧语音对应的状态信息,得到第k帧语音对应的字符概率向量;其中,k为正整数。由此,可得到连续多帧语音对应的字符概率向量。
51.s120,在该连续多帧语音对应的字符概率向量中,以预设的预唤醒词作为解码字符路径,确定该预唤醒词对应的第一路径解码分数。
52.其中,预唤醒词由预设的完整唤醒词的前n个字符组成。本公开中,m和n均为正整数,且m为右看的帧数,例如右看4帧,则m等于4,n为少于完整唤醒词的字符数的正整数,例如完整唤醒词由四个字符组成,则n可设置为3。完整唤醒词是指用户唤醒设备的语音口令,其可以是用户或者系统进行设置。
53.s130,响应于第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量。
54.其中,响应于预唤醒词对应的第一路径解码分数大于第一阈值,认为从连续多个字符概率向量中检测出预唤醒词,于是进入预唤醒状态。在进入预唤醒状态后,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量。
55.s140,根据预唤醒词的路径解码信息以及该m帧状态信息对应的m个字符概率向量,确定完整唤醒词对应的第二路径解码分数。
56.在进入预唤醒状态后,在预唤醒词的路径解码信息的基础上,根据该m帧状态信息对应的m个字符概率向量,以完整唤醒词作为解码字符路径,确定完整唤醒词对应的第二路径解码分数。
57.s150,响应于第二路径解码分数大于第二阈值,确定唤醒设备。
58.在上述方案中,预先为进入预唤醒状态设置对应的预唤醒条件,即预唤醒词对应的第一路径解码分数需要大于第一阈值,当确定第一路径解码分数大于第一阈值后进入预唤醒状态,在进入预唤醒状态后,不需要等待下一帧语音的输入,只需要提取出缓存的m帧状态信息,得到m帧状态信息分别对应的字符概率向量,再基于这m帧状态信息对应的字符概率向量进行解码,确定出完整唤醒词对应的第二路径解码分数,就能够根据第二路径解码分数确定是否唤醒设备,因此,本方案可以无须等待后续帧语音的输入,节省因右看导致的等待时间,进而缩短唤醒延迟时间,加快语音唤醒速度,此外,由于还保证了预唤醒阶段的模型右看,因此并不会损失唤醒性能。
59.在一示例性实施例中,在步骤s110中,通过设备内的采集装置采集设备周围的语音,并对采集装置采集的语音进行分帧,例如每10毫秒记为一帧语音。在每获取一帧语音后,将该帧语音输入到目标模型的第一处理单元,通过第一处理单元对输入的语音进行处理,得到该帧语音对应的状态信息,并缓存该状态信息。重复上述步骤,缓存连续多帧语音对应的状态信息。
60.针对任意帧语音,假设为第k帧语音,将第k帧语音对应的状态信息与缓存的第k+1帧至第k+m帧语音对应的状态信息作为目标模型的第二处理单元的完整输入,通过第二处理单元对该完整输入进行字符解码,输出对应于第k帧语音的字符概率向量。其中,k为正整数。
61.重复上述过程,即可得到连续多帧语音对应的字符概率向量。
62.示例性地,以右看4帧为例,在向目标模型的第一处理单元输入第5帧语音后,可以根据第1帧语音对应的状态信息s1与缓存的第2帧至第5帧语音对应的状态信息s2~s5,得到一个长度为5帧的完整输入s1~s5,通过目标模型的第二处理单元,对该完整输入s1~s5进行字符解码,输出对应于第1帧语音的字符概率向量。
63.在一示例性实施例中,在步骤s120中,在连续多帧语音对应的字符概率向量中,以预唤醒词作为解码字符路径,确定预唤醒词对应的第一路径解码分数。
64.示例性地,以大力台灯设备为例,预设的完整唤醒词为“大力大力”,设置完整唤醒词的前三个字符为预唤醒词,即预唤醒词为“大力大”。在连续多帧语音对应的字符概率向量中,以“大



大”作为解码字符路径,确定连续多个字符概率向量中“大力大”对应的第一路径解码分数。
65.可选地,上述解码过程可以采用维特比解码算法实现。维特比解码算法是一种动态规划算法,可以在连续多个字符概率向量中进行动态规划,出预唤醒词的最优解码字符路径,根据最优解码字符路径中每个解码字符的解码分数之和得到预唤醒词对应的第一路径解码分数。
66.例如,在动态规划后,得到由第100~第120个字符概率向量中的字符“大”、第121~第140个字符概率向量中的字符“力”以及第141~第160个字符概率向量中字符“大”依次连接所组成的一条最优解码字符路径,根据上述最优解码字符路径,将第100~第120个字符概率向量中字符“大”的概率相加,作为预唤醒词中第一个字符“大”的解码分数,第121~第140个字符概率向量中字符“力”的概率相加,作为预唤醒词中第二个字符“力”的解码分数,将第141~第160个字符概率向量中“大”的概率相加,作为预唤醒词中第三个字符“大”的解码分数,根据预唤醒词中每个字符的解码分数之和,即可得到预唤醒词对应的第一路径解码分数。
67.在一示例性实施例中,在步骤s130中,响应于预唤醒词对应的第一路径解码分数大于第一阈值,认为从连续多个字符概率向量中检测出预唤醒词,于是进入预唤醒状态。在进入预唤醒状态后,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量。
68.可以理解的,在进入预唤醒状态后,在一些实施例中,目标模型可以仅基于本次提取的一帧状态信息来输出相对应的字符概率向量,在另外的实施例中,为了与目标模型的右看处理过程相匹配,在对当前缓存的m帧状态信息进行处理时,同样右看多帧来保证输出结果的准确性。由于本公开实施例不会等待后续帧语音的输入,仅基于当前缓存的m帧状态信息,无法满足右看m帧的要求,因此,针对每帧状态信息,将右看不足的部分用零补充。
69.在具体实现时,依次提取当前缓存的m帧状态信息,且针对每次提取的一帧状态信息,根据该帧状态信息、该m帧状态信息中剩余帧的状态信息以及相应帧数的零状态,得到长度为m+1帧的完整状态信息,根据该完整状态信息,得到与本次提取的该帧状态信息对应的字符概率向量。
70.作为一种示例,假设在基于目标模型输出的第300帧语音对应的字符概率向量,确定连续多个字符概率向量中预唤醒词对应的第一路径解码分数大于第一阈值的情况下,此时,当前缓存的m帧状态信息共包括第301帧语音对应的状态信息s301,第302帧语音对应的状态信息s302,第303帧语音对应的状态信息s303,第304帧语音对应的状态信息s304。响应于预唤醒词对应的第一路径解码分数大于第一阈值,按时间顺序依次提取当前缓存的m帧状态信息,即状态信息s301、s302、s303和s304。
71.首先,提取状态信息s301,由于缓存的状态信息s302~s304是相对于状态信息s301右看的三帧状态信息,因此,状态信息s301、状态信息s302~s304和一帧零状态将作为一个完整输入,输入到目标模型的第二处理单元,目标模型的第二处理单元根据上述输入,输出第301帧语音对应的字符概率向量。
72.然后,提取状态信息s302,由于缓存的状态信息s303~s304是相对于状态信息s302右看的两帧状态信息,因此,状态信息s302、状态信息s303~s304和两帧零状态将作为一个完整输入,输入到目标模型的第二处理单元,目标模型的第二处理单元根据上述输入,输出第302帧语音对应的字符概率向量。
73.然后,提取状态信息s303,由于缓存的状态信息s304是相对于状态信息s303右看的一帧状态信息,因此,状态信息s303、状态信息s304和三帧零状态将作为一个完整输入,输入到目标模型的第二处理单元,目标模型的第二处理单元根据上述输入,输出第303帧语音对应的字符概率向量。
74.然后,提取状态信息s304,由于当前缓存的m帧状态信息中不存在相对于状态信息s304右看的状态信息,因此状态信息s304和四帧零状态将作为一个完整输入,输入到目标模型的第二处理单元,目标模型的第二处理单元根据上述输入,输出第304帧语音对应的字符概率向量。
75.通过上述方式,可以每次从当前缓存的m帧状态信息中提取一帧状态信息,根据提取的一帧状态信息、右看的多帧状态信息和相应帧数的零状态输出一个对应的字符概率向量,然后再继续提取一帧状态信息并输出一个对应的字符概率向量。
76.如此一来,对于状态信息s301,可以不必等待第305帧语音对应的状态信息,对于状态信息s302,可以不必等待第305帧~第306帧语音对应的状态信息,对于状态信息s303,可以不必等待第305帧~第307帧语音对应的状态信息,对于状态信息s304,可以不必等待第305帧~第308帧语音对应的状态信息,从而节省了等待第305帧~第308帧语音输入的时间,降低唤醒延迟,同时最大程度上保证模型右看,减少唤醒性能的损失。
77.在一示例性实施例中,在步骤s140中,在每获取到一个对应的字符概率向量后,根据预唤醒词的路径解码信息和已获取到的对应的字符概率向量,以完整唤醒词中除预唤醒词外的剩余字符作为解码字符,确定剩余字符对应的解码分数,根据预唤醒词对应的第一路径解码分数与剩余字符对应的解码分数,确定完整唤醒词对应的第二路径解码分数。
78.可以理解的,在根据连续多个字符概率向量,以预唤醒词为解码字符路径进行解码的过程中,将会同步记录对预唤醒词的路径解码信息,因此在上述步骤中,只需要在预唤醒词的路径解码信息的基础之上,对完整唤醒词中的剩余字符进行解码即可,第二路径解码分数为第一路径解码分数与剩余字符的解码分数之和。
79.在一示例性实施例中,在步骤s150中,响应于第二路径解码分数大于第二阈值,认为在语音中检测到完整唤醒词,于是可唤醒设备。
80.进一步地,在部分情况下,用户实际上并没有说出预唤醒词,但由于目标模型的输出结果不够准确等原因,导致在实际未包含预唤醒词的情况下错误地得到第一路径解码分数大于第一阈值的结果,并错误地进入预唤醒状态,即产生误判。
81.为减少上述误判情况的产生,在步骤s130中,响应于第一路径解码分数大于第一阈值,根据预唤醒词的路径解码信息确定预唤醒词对应的发音时长,确定该发音时长是否处于预设时长范围内,该预设时长范围内预设的最小值和最大值分别表示发音预唤醒词所需的最短时间和最长时间,在该发音时长处于预设时长范围内的情况下,才执行依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量的步骤,如果该发音时长不处于预设时长范围内,则不执行上述步骤,需要继续获取后续帧的语音,继续执行上述步骤s110~s120。
82.可以理解的,在根据连续多个字符概率向量,以预唤醒词为解码字符路径进行解码的过程中,将会同步记录对预唤醒词的路径解码信息,该路径解码信息包括预唤醒词中每个字符对应的边界时间点,根据预唤醒词中第一个字符的起始边界时间点和最后一个字
符的结束边界时间点,即可得到预唤醒词对应的发音时长。
83.在上述方案中,预先设置预设时长范围,该预设时长范围的最小值和最大值分别表示发音预唤醒词所需的最短时间和最长时间,该最小值和该最大值可以是根据实际测试预设的经验值。根据实际测试,假设用户发音预唤醒词“大力大”所需的时间一般最快在0.3秒左右,最慢在2秒左右,那么可设置预设时长范围为[0.3,2],从而使预唤醒词的发音时长被限制在这一范围内。当预唤醒词对应的第一路径解码分数大于第一阈值时,需要根据对预唤醒词的路径解码信息进一步判断预唤醒词的发音时长是否处于[0.3,2]范围内,如果未处于[0.3,2]范围内,表明此时得到的第一路径解码分数大于第一阈值的结果可能是因目标模型的错误输出导致的,因此不提取当前缓存的m帧状态信息,如果处于[0.3,2]范围内,才提取当前缓存的m帧状态信息。
[0084]
本公开通过针对预唤醒词的发音时长设置限制范围,可以避免错误地进入预唤醒状态,从而能够在一定程度上避免误唤醒。
[0085]
进一步地,在部分情况下,用户并没有说出完整唤醒词,但由于目标模型的输出结果不够准确等原因,导致在实际未包含完整唤醒词的情况下错误地得到第二路径解码分数大于第二阈值的结果,并错误地唤醒设备,即产生误判。
[0086]
为减少上述误判情况的产生,在上述步骤s150中,响应于第二路径解码分数大于第二阈值,判断该第二路径解码分数中的剩余字符对应的解码分数是否大于第三阈值,响应于剩余字符对应的解码分数大于第三阈值,确定唤醒设备。
[0087]
也就是说,即使得到完整唤醒词对应的第二路径解码分数大于第二阈值的结果,但只有在同时满足剩余字符对应的解码分数大于第三阈值的情况下,才能唤醒设备,如果剩余字符对应的解码分数不大于第三阈值,仍然不能唤醒设备,从而有效避免了因目标模型的误判而产生的误唤醒。
[0088]
进一步地,从上文步骤s130可见,在提取当前缓存的m帧状态信息的过程中,针对每次提取的一帧状态信息,需要将该帧状态信息与缓存的m帧状态信息中剩余帧的状态信息以及相应帧数的零状态一起作为目标模型第二处理单元的一个完整输入。而这个完整输入中,相对于该帧状态信息有效右看的帧数实际上并未真正达到m帧,其中包含了相应帧数的零状态。例如在前述示例中,针对m帧状态信息中提取的状态信息s301,对其有效右看了3帧,针对m帧状态信息中提取的状态信息s302,对其有效右看了2帧,针对m帧状态信息中提取的状态信息s303,对其有效右看了1帧,针对m帧状态信息中提取的状态信息s304,对其有效右看了0帧。
[0089]
也就是说,在本公开的语音唤醒方法中,目标模型实际上是在0帧~4帧之间动态右看的。为了与目标模型的这一处理过程相匹配,在训练目标模型时也需要让模型学习到这种动态右看的处理方式,使得训练好的目标模型能够在右看不同帧数时都能够准确输出结果。
[0090]
图3示出了一示例性实施例提供的训练过程,通过对一原始模型进行如图3所示的训练,以获得目标模型。如图3所示,这一训练过程包括:
[0091]
s210,获取原始模型和训练语料,将训练语料切分成多帧训练语音。
[0092]
s220,针对该多帧训练语音中的每帧训练语音,将该帧训练语音输入到原始模型,通过原始模型对输入的训练语音进行处理,得到并缓存该帧训练语音对应的状态信息。
[0093]
s230,根据该多帧训练语音中第i帧训练语音对应的状态信息,与缓存的第i+1帧至第i+m帧训练语音对应的状态信息,得到长度为m+1帧的完整状态信息。
[0094]
其中,i为正整数。
[0095]
s240,在该完整状态信息的末尾m帧的状态信息中随机遮盖0到m帧,得到遮盖状态信息。
[0096]
s250,通过原始模型,根据该遮盖状态信息输出第i帧训练语音对应的字符概率向量。
[0097]
s260,根据每帧训练语音对应的字符概率向量以及该训练语料对应的标签信息,更新原始模型的参数;
[0098]
s270,将训练好的原始模型作为目标模型。
[0099]
在上述方案中,通过对完整状态信息的末尾m帧的状态信息中随机遮盖0到m帧,得到遮盖状态信息,然后该原始模型根据该遮盖状态信息来输出对应的字符概率向量,这样,相当于模拟实际语音唤醒过程中,目标模型根据从当前缓存的m帧状态信息中提取的一帧状态信息,动态右看不同帧数的情况,模型基于这样的输入来进行训练,从而使得训练好的原始模型,即目标模型,能够在右看0帧、1帧、

、m帧时都能输出准确的结果。
[0100]
图4示出了一示例性实施例提供的训练过程,通过对一原始模型进行如图4所示的训练,以获得目标模型。如图4所示,这一训练过程包括:
[0101]
s310,获取原始模型和包含完整唤醒词的训练语料,对训练语料中剩余字符的发音进行随机长度的截断,将经截断处理的训练语料切分成多帧训练语音。
[0102]
其中,随机长度可以在“0~全部”之间,0表示对剩余字符的发音不进行截断,全部则表示将剩余字符的发音全部进行截断。
[0103]
s320,针对该多帧训练语音中的每帧训练语音,将该帧训练语音输入到原始模型,通过原始模型对输入的训练语音进行处理,得到并缓存该帧训练语音对应的状态信息。
[0104]
s330,根据该多帧训练语音中第j帧训练语音对应的状态信息,与缓存的第j+1帧至第j+m帧训练语音对应的状态信息,得到长度为m+1帧的完整状态信息。
[0105]
其中,j为正整数。
[0106]
s340,通过原始模型,根据该完整状态信息输出第j帧训练语音对应的字符概率向量。
[0107]
s350,根据每帧训练语音对应的字符概率向量以及训练语料对应的标签信息,更新原始模型的参数;
[0108]
s360,将训练好的原始模型作为目标模型。
[0109]
在上述方案中,通过将训练语料中完整唤醒词中剩余字符的发音进行随机长度的截断,在截断后,使得模型只能基于训练语料中未被截断的剩余部分对模型进行训练,当处理至剩余字符的语音帧时,由于该剩余字符的发音已被随机性截断,无法对剩余字符的发音完整右看m帧,对于右看不足m帧的,只能用零补足。
[0110]
与上一示例性实施例相比,本实施例通过对训练语料本身做强制性截断处理,来模拟对剩余字符的语音帧进行动态右看的处理过程。
[0111]
可以理解的是,在图3和图4所示出的训练过程中,原始模型所进行的各种处理可以参照前述实施例中对于目标模型的说明,在此不重复赘述。
[0112]
图5示出了一示例性实施例提供的语音唤醒装置的框图,请参照图5,该装置400包括:
[0113]
第一字符确定模块410,用于确定连续多帧语音对应的字符概率向量;其中,每帧语音对应的字符概率向量是根据本帧语音的状态信息和右看m帧语音的状态信息得到;
[0114]
预唤醒检测模块420,用于在所述连续多帧语音对应的字符概率向量中,以预设的预唤醒词作为解码字符路径,确定所述预唤醒词对应的第一路径解码分数;其中,所述预唤醒词由预设的完整唤醒词的前n个字符组成,m和n均为正整数;
[0115]
第二字符确定模块430,用于响应于所述第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量;
[0116]
完整唤醒检测模块440,用于根据所述预唤醒词的路径解码信息以及所述m帧状态信息对应的m个字符概率向量,确定所述完整唤醒词对应的第二路径解码分数;
[0117]
唤醒确认模块450,用于响应于所述第二路径解码分数大于第二阈值,确定唤醒设备。
[0118]
可选地,该装置400还包括字符识别模块,用于:
[0119]
在每获取到一帧语音后对该帧语音进行处理,得到并缓存该帧语音对应的状态信息;
[0120]
根据第k帧语音对应的状态信息与缓存的第k+1帧至第k+m帧语音对应的状态信息,得到第k帧语音对应的字符概率向量;其中,k为正整数。
[0121]
可选地,第二字符确定模块430包括:
[0122]
信息提取子单元,用于依次提取当前缓存的m帧状态信息,且针对每次提取的一帧状态信息,根据该帧状态信息、所述m帧状态信息中剩余帧的状态信息以及相应帧数的零状态,得到长度为m+1帧的完整状态信息;
[0123]
字符识别子单元,用于根据所述完整状态信息,得到与本次提取的该帧状态信息对应的字符概率向量。
[0124]
可选地,第二字符确定模块430包括:
[0125]
时长确定子单元,用于响应于所述第一路径解码分数大于第一阈值,根据所述预唤醒词的路径解码信息确定所述预唤醒词对应的发音时长;
[0126]
范围检测子单元,用于确定所述发音时长是否处于预设时长范围内,所述预设时长范围内预设的最小值和最大值分别表示发音所述预唤醒词所需的最短时间和最长时间;
[0127]
结果跳转子单元,用于在所述发音时长处于所述预设时长范围内的情况下,控制执行所述依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量的步骤。
[0128]
可选地,完整唤醒检测模块440包括:
[0129]
解码分数确定子单元,用于在每获取到一个对应的字符概率向量后,根据所述预唤醒词的路径解码信息和已获取到的所述对应的字符概率向量,以所述完整唤醒词中除所述预唤醒词外的剩余字符作为解码字符,确定所述剩余字符对应的解码分数;
[0130]
路径分数确定子单元,用于根据所述预唤醒词对应的第一路径解码分数与所述剩余字符对应的解码分数,确定所述完整唤醒词对应的第二路径解码分数。
[0131]
可选地,唤醒确认模块450包括:
[0132]
解码分数判断子单元,用于响应于所述第二路径解码分数大于第二阈值,判断所述第二路径解码分数中的所述剩余字符对应的解码分数是否大于第三阈值;
[0133]
唤醒确认子单元,用于响应于所述剩余字符对应的解码分数大于第三阈值,确定唤醒设备。
[0134]
可选地,所述状态信息和所述字符概率向量是通过目标模型进行处理得到,所述目标模型用于接收一帧语音并对该帧语音进行处理,输出该帧语音的状态信息,以及还用于根据一帧状态信息和相对于该帧状态信息右看的m帧状态信息,输出一个对应的字符概率向量。
[0135]
需要说明的是,该装置400中的上述模块配置于可语音唤醒的电子设备中。
[0136]
可选地,该装置400还包括训练模块,用于对一原始模型进行训练,以获得目标模型。其中,该训练模块可以配置于另外的电子设备中。
[0137]
可选地,该训练模块用于执行如下的训练过程:
[0138]
获取原始模型和训练语料,将所述训练语料切分成多帧训练语音;
[0139]
针对所述多帧训练语音中的每帧训练语音,将该帧训练语音输入到所述原始模型,通过所述原始模型对输入的训练语音进行处理,得到并缓存该帧训练语音对应的状态信息;
[0140]
根据所述多帧训练语音中第i帧训练语音对应的状态信息,与缓存的第i+1帧至第i+m帧训练语音对应的状态信息,得到长度为m+1帧的完整状态信息;其中,i为正整数;
[0141]
在所述完整状态信息的末尾m帧的状态信息中随机遮盖0到m帧,得到遮盖状态信息;
[0142]
通过所述原始模型,根据所述遮盖状态信息输出第i帧训练语音对应的字符概率向量;
[0143]
根据每帧训练语音对应的字符概率向量以及所述训练语料对应的标签信息,更新所述原始模型的参数;
[0144]
将训练好的所述原始模型作为所述目标模型。
[0145]
可选地,该训练模块用于执行如下的训练过程:
[0146]
获取原始模型和包含所述完整唤醒词的训练语料;
[0147]
对所述训练语料中所述剩余字符的发音进行随机长度的截断,将经截断处理的训练语料切分成多帧训练语音;
[0148]
针对所述多帧训练语音中的每帧训练语音,将该帧训练语音输入到所述原始模型,通过所述原始模型对输入的训练语音进行处理,得到并缓存该帧训练语音对应的状态信息;
[0149]
根据所述多帧训练语音中第j帧训练语音对应的状态信息,与缓存的第j+1帧至第j+m帧训练语音对应的状态信息,得到长度为m+1帧的完整状态信息;其中,j为正整数;
[0150]
通过所述原始模型,根据所述完整状态信息输出第j帧训练语音对应的字符概率向量;
[0151]
根据每帧训练语音对应的字符概率向量以及所述训练语料对应的标签信息,更新所述原始模型的参数;
[0152]
将训练好的所述原始模型作为所述目标模型。
[0153]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0154]
下面参考图6,其示出了适于用来实现本公开实施例的电子设备500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端、数字tv、台式计算机、台灯设备、智能音箱等。通过本技术方案,使得该电子设备500能够快速被用户的语音唤醒。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0155]
如图6所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0156]
通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0157]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
[0158]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述
的任意合适的组合。
[0159]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0160]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:确定连续多帧语音对应的字符概率向量;其中,每帧语音对应的字符概率向量是根据本帧语音的状态信息和右看m帧语音的状态信息得到;在所述连续多帧语音对应的字符概率向量中,以预设的预唤醒词作为解码字符路径,确定所述预唤醒词对应的第一路径解码分数;其中,所述预唤醒词由预设的完整唤醒词的前n个字符组成,m和n均为正整数;响应于所述第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量;根据所述预唤醒词的路径解码信息以及所述m帧状态信息对应的m个字符概率向量,确定所述完整唤醒词对应的第二路径解码分数;响应于所述第二路径解码分数大于第二阈值,确定唤醒设备。
[0161]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0162]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0163]
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一字符确定模块还可以被描述为“确定连续多帧语音对应的字符概率向量的模块”。
[0164]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0165]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电
子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0166]
根据本公开的一个或多个实施例,示例1提供了一种语音唤醒方法,包括:
[0167]
确定连续多帧语音对应的字符概率向量;其中,每帧语音对应的字符概率向量是根据本帧语音的状态信息和右看m帧语音的状态信息得到;
[0168]
在所述连续多帧语音对应的字符概率向量中,以预设的预唤醒词作为解码字符路径,确定所述预唤醒词对应的第一路径解码分数;其中,所述预唤醒词由预设的完整唤醒词的前n个字符组成,m和n均为正整数;
[0169]
响应于所述第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量;
[0170]
根据所述预唤醒词的路径解码信息以及所述m帧状态信息对应的m个字符概率向量,确定所述完整唤醒词对应的第二路径解码分数;
[0171]
响应于所述第二路径解码分数大于第二阈值,确定唤醒设备。
[0172]
根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述方法还包括:
[0173]
在每获取到一帧语音后对该帧语音进行处理,得到并缓存该帧语音对应的状态信息;
[0174]
根据第k帧语音对应的状态信息与缓存的第k+1帧至第k+m帧语音对应的状态信息,得到第k帧语音对应的字符概率向量;其中,k为正整数。
[0175]
根据本公开的一个或多个实施例,示例3提供了示例1的方法,所述依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量,包括:
[0176]
依次提取当前缓存的m帧状态信息,且针对每次提取的一帧状态信息,根据该帧状态信息、所述m帧状态信息中剩余帧的状态信息以及相应帧数的零状态,得到长度为m+1帧的完整状态信息;
[0177]
根据所述完整状态信息,得到与本次提取的该帧状态信息对应的字符概率向量。
[0178]
根据本公开的一个或多个实施例,示例4提供了示例1的方法,所述响应于所述第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量,包括:
[0179]
响应于所述第一路径解码分数大于第一阈值,根据所述预唤醒词的路径解码信息确定所述预唤醒词对应的发音时长;
[0180]
确定所述发音时长是否处于预设时长范围内,所述预设时长范围内预设的最小值和最大值分别表示发音所述预唤醒词所需的最短时间和最长时间;
[0181]
如果所述发音时长处于所述预设时长范围内,则执行所述依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量的步骤。
[0182]
根据本公开的一个或多个实施例,示例5提供了示例1的方法,所述根据所述预唤醒词的路径解码信息以及所述m帧状态信息对应的m个字符概率向量,确定所述完整唤醒词对应的第二路径解码分数,包括:
[0183]
在每获取到一个对应的字符概率向量后,根据所述预唤醒词的路径解码信息和已获取到的所述对应的字符概率向量,以所述完整唤醒词中除所述预唤醒词外的剩余字符作为解码字符,确定所述剩余字符对应的解码分数;
[0184]
根据所述预唤醒词对应的第一路径解码分数与所述剩余字符对应的解码分数,确定所述完整唤醒词对应的第二路径解码分数。
[0185]
根据本公开的一个或多个实施例,示例6提供了示例5的方法,所述响应于所述第二路径解码分数大于第二阈值,确定唤醒设备,包括:
[0186]
响应于所述第二路径解码分数大于第二阈值,判断所述第二路径解码分数中的所述剩余字符对应的解码分数是否大于第三阈值;
[0187]
响应于所述剩余字符对应的解码分数大于第三阈值,确定唤醒设备。
[0188]
根据本公开的一个或多个实施例,示例7提供了示例3的方法,所述状态信息和所述字符概率向量是通过目标模型进行处理得到,所述目标模型用于接收一帧语音并对该帧语音进行处理,输出该帧语音的状态信息,以及还用于根据一帧状态信息和相对于该帧状态信息右看的m帧状态信息,输出一个对应的字符概率向量。
[0189]
根据本公开的一个或多个实施例,示例8提供了示例7的方法,所述目标模型是通过如下训练过程进行训练得到:
[0190]
获取原始模型和训练语料,并将所述训练语料切分成多帧训练语音;
[0191]
针对所述多帧训练语音中的每帧训练语音,将该帧训练语音输入到所述原始模型,通过所述原始模型对输入的训练语音进行处理,得到并缓存该帧训练语音对应的状态信息;
[0192]
根据所述多帧训练语音中第i帧训练语音对应的状态信息,与缓存的第i+1帧至第i+m帧训练语音对应的状态信息,得到长度为m+1帧的完整状态信息;其中,i为正整数;
[0193]
在所述完整状态信息的末尾m帧的状态信息中随机遮盖0到m帧,得到遮盖状态信息;
[0194]
通过所述原始模型,根据所述遮盖状态信息输出第i帧训练语音对应的字符概率向量;
[0195]
根据每帧训练语音对应的字符概率向量以及所述训练语料对应的标签信息,更新所述原始模型的参数;
[0196]
将训练好的所述原始模型作为所述目标模型。
[0197]
根据本公开的一个或多个实施例,示例9提供了示例7的方法,所述目标模型是通过如下训练过程进行训练得到:
[0198]
获取原始模型和包含所述完整唤醒词的训练语料;
[0199]
对所述训练语料中所述剩余字符的发音进行随机长度的截断,将经截断处理的训练语料切分成多帧训练语音;
[0200]
针对所述多帧训练语音中的每帧训练语音,将该帧训练语音输入到所述原始模型,通过所述原始模型对输入的训练语音进行处理,得到并缓存该帧训练语音对应的状态信息;
[0201]
根据所述多帧训练语音中第j帧训练语音对应的状态信息,与缓存的第j+1帧至第j+m帧训练语音对应的状态信息,得到长度为m+1帧的完整状态信息;其中,j为正整数;
[0202]
通过所述原始模型,根据所述完整状态信息输出第j帧训练语音对应的字符概率向量;
[0203]
根据每帧训练语音对应的字符概率向量以及所述训练语料对应的标签信息,更新所述原始模型的参数;
[0204]
将训练好的所述原始模型作为所述目标模型。
[0205]
根据本公开的一个或多个实施例,示例10提供了一种语音唤醒装置,包括:
[0206]
第一字符确定模块,用于确定连续多帧语音对应的字符概率向量;其中,每帧语音对应的字符概率向量是根据本帧语音的状态信息和右看m帧语音的状态信息得到;
[0207]
预唤醒检测模块,用于在所述连续多帧语音对应的字符概率向量中,以预设的预唤醒词作为解码字符路径,确定所述预唤醒词对应的第一路径解码分数;其中,所述预唤醒词由预设的完整唤醒词的前n个字符组成,m和n均为正整数;
[0208]
第二字符确定模块,用于响应于所述第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量;
[0209]
完整唤醒检测模块,用于根据所述预唤醒词的路径解码信息以及所述m帧状态信息对应的m个字符概率向量,确定所述完整唤醒词对应的第二路径解码分数;
[0210]
唤醒确认模块,用于响应于所述第二路径解码分数大于第二阈值,确定唤醒设备。
[0211]
根据本公开的一个或多个实施例,示例11提供了示例10的装置,该装置还包括字符识别模块,用于:
[0212]
在每获取到一帧语音后对该帧语音进行处理,得到并缓存该帧语音对应的状态信息;
[0213]
根据第k帧语音对应的状态信息与缓存的第k+1帧至第k+m帧语音对应的状态信息,得到第k帧语音对应的字符概率向量;其中,k为正整数。
[0214]
根据本公开的一个或多个实施例,示例12提供了示例10的装置,第二字符确定模块包括:
[0215]
信息提取子单元,用于依次提取当前缓存的m帧状态信息,且针对每次提取的一帧状态信息,根据该帧状态信息、所述m帧状态信息中剩余帧的状态信息以及相应帧数的零状态,得到长度为m+1帧的完整状态信息;
[0216]
字符识别子单元,用于根据所述完整状态信息,得到与本次提取的该帧状态信息对应的字符概率向量。
[0217]
根据本公开的一个或多个实施例,示例13提供了示例10的装置,第二字符确定模块包括:
[0218]
时长确定子单元,用于响应于所述第一路径解码分数大于第一阈值,根据所述预唤醒词的路径解码信息确定所述预唤醒词对应的发音时长;
[0219]
范围检测子单元,用于确定所述发音时长是否处于预设时长范围内,所述预设时长范围内预设的最小值和最大值分别表示发音所述预唤醒词所需的最短时间和最长时间;
[0220]
结果跳转子单元,用于在所述发音时长处于所述预设时长范围内的情况下,控制执行所述依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量的步骤。
[0221]
根据本公开的一个或多个实施例,示例14提供了示例10的装置,完整唤醒检测模
块包括:
[0222]
解码分数确定子单元,用于在每获取到一个对应的字符概率向量后,根据所述预唤醒词的路径解码信息和已获取到的所述对应的字符概率向量,以所述完整唤醒词中除所述预唤醒词外的剩余字符作为解码字符,确定所述剩余字符对应的解码分数;
[0223]
路径分数确定子单元,用于根据所述预唤醒词对应的第一路径解码分数与所述剩余字符对应的解码分数,确定所述完整唤醒词对应的第二路径解码分数。
[0224]
根据本公开的一个或多个实施例,示例15提供了示例14的装置,唤醒确认模块包括:
[0225]
解码分数判断子单元,用于响应于所述第二路径解码分数大于第二阈值,判断所述第二路径解码分数中的所述剩余字符对应的解码分数是否大于第三阈值;
[0226]
唤醒确认子单元,用于响应于所述剩余字符对应的解码分数大于第三阈值,确定唤醒设备。
[0227]
根据本公开的一个或多个实施例,示例16提供了示例12的装置,所述状态信息和所述字符概率向量是通过目标模型进行处理得到,所述目标模型用于接收一帧语音并对该帧语音进行处理,输出该帧语音的状态信息,以及还用于根据一帧状态信息和相对于该帧状态信息右看的m帧状态信息,输出一个对应的字符概率向量。
[0228]
根据本公开的一个或多个实施例,示例17提供了示例16的装置,该装置还包括训练模块,用于对一原始模型进行训练,以获得目标模型,该训练模块用于执行如下的训练过程:
[0229]
获取原始模型和训练语料,将所述训练语料切分成多帧训练语音;
[0230]
针对所述多帧训练语音中的每帧训练语音,将该帧训练语音输入到所述原始模型,通过所述原始模型对输入的训练语音进行处理,得到并缓存该帧训练语音对应的状态信息;
[0231]
根据所述多帧训练语音中第i帧训练语音对应的状态信息,与缓存的第i+1帧至第i+m帧训练语音对应的状态信息,得到长度为m+1帧的完整状态信息;其中,i为正整数;
[0232]
在所述完整状态信息的末尾m帧的状态信息中随机遮盖0到m帧,得到遮盖状态信息;
[0233]
通过所述原始模型,根据所述遮盖状态信息输出第i帧训练语音对应的字符概率向量;
[0234]
根据每帧训练语音对应的字符概率向量以及所述训练语料对应的标签信息,更新所述原始模型的参数;
[0235]
将训练好的所述原始模型作为所述目标模型。
[0236]
根据本公开的一个或多个实施例,示例18提供了示例16的装置,该装置还包括训练模块,用于对一原始模型进行训练,以获得目标模型,该训练模块用于执行如下的训练过程:
[0237]
获取原始模型和包含所述完整唤醒词的训练语料;
[0238]
对所述训练语料中所述剩余字符的发音进行随机长度的截断,将经截断处理的训练语料切分成多帧训练语音;
[0239]
针对所述多帧训练语音中的每帧训练语音,将该帧训练语音输入到所述原始模
型,通过所述原始模型对输入的训练语音进行处理,得到并缓存该帧训练语音对应的状态信息;
[0240]
根据所述多帧训练语音中第j帧训练语音对应的状态信息,与缓存的第j+1帧至第j+m帧训练语音对应的状态信息,得到长度为m+1帧的完整状态信息;其中,j为正整数;
[0241]
通过所述原始模型,根据所述完整状态信息输出第j帧训练语音对应的字符概率向量;
[0242]
根据每帧训练语音对应的字符概率向量以及所述训练语料对应的标签信息,更新所述原始模型的参数;
[0243]
将训练好的所述原始模型作为所述目标模型。
[0244]
根据本公开的一个或多个实施例,示例19提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1-9中的任一示例所述方法的步骤。
[0245]
根据本公开的一个或多个实施例,示例20提供了一种电子设备,包括:
[0246]
存储装置,其上存储有至少一个计算机程序;
[0247]
至少一个处理装置,用于执行所述存储装置中的所述至少一个计算机程序,以实现示例1-9中的任一示例所述方法的步骤。
[0248]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0249]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0250]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

技术特征:


1.一种语音唤醒方法,其特征在于,包括:确定连续多帧语音对应的字符概率向量;其中,每帧语音对应的字符概率向量是根据本帧语音的状态信息和右看m帧语音的状态信息得到;在所述连续多帧语音对应的字符概率向量中,以预设的预唤醒词作为解码字符路径,确定所述预唤醒词对应的第一路径解码分数;其中,所述预唤醒词由预设的完整唤醒词的前n个字符组成,m和n均为正整数;响应于所述第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量;根据所述预唤醒词的路径解码信息以及所述m帧状态信息对应的m个字符概率向量,确定所述完整唤醒词对应的第二路径解码分数;响应于所述第二路径解码分数大于第二阈值,确定唤醒设备。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在每获取到一帧语音后对该帧语音进行处理,得到并缓存该帧语音对应的状态信息;根据第k帧语音对应的状态信息与缓存的第k+1帧至第k+m帧语音对应的状态信息,得到第k帧语音对应的字符概率向量;其中,k为正整数。3.根据权利要求1所述的方法,其特征在于,所述依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量,包括:依次提取当前缓存的m帧状态信息,且针对每次提取的一帧状态信息,根据该帧状态信息、所述m帧状态信息中剩余帧的状态信息以及相应帧数的零状态,得到长度为m+1帧的完整状态信息;根据所述完整状态信息,得到与本次提取的该帧状态信息对应的字符概率向量。4.根据权利要求1所述的方法,其特征在于,所述响应于所述第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量,包括:响应于所述第一路径解码分数大于第一阈值,根据所述预唤醒词的路径解码信息确定所述预唤醒词对应的发音时长;确定所述发音时长是否处于预设时长范围内,所述预设时长范围内预设的最小值和最大值分别表示发音所述预唤醒词所需的最短时间和最长时间;如果所述发音时长处于所述预设时长范围内,则执行所述依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量的步骤。5.根据权利要求1所述的方法,其特征在于,所述根据所述预唤醒词的路径解码信息以及所述m帧状态信息对应的m个字符概率向量,确定所述完整唤醒词对应的第二路径解码分数,包括:在每获取到一个对应的字符概率向量后,根据所述预唤醒词的路径解码信息和已获取到的所述对应的字符概率向量,以所述完整唤醒词中除所述预唤醒词外的剩余字符作为解码字符,确定所述剩余字符对应的解码分数;根据所述预唤醒词对应的第一路径解码分数与所述剩余字符对应的解码分数,确定所述完整唤醒词对应的第二路径解码分数。6.根据权利要求5所述的方法,其特征在于,所述响应于所述第二路径解码分数大于第
二阈值,确定唤醒设备,包括:响应于所述第二路径解码分数大于第二阈值,判断所述第二路径解码分数中的所述剩余字符对应的解码分数是否大于第三阈值;响应于所述剩余字符对应的解码分数大于第三阈值,确定唤醒设备。7.根据权利要求3所述的方法,其特征在于,所述状态信息和所述字符概率向量是通过目标模型进行处理得到,所述目标模型用于接收一帧语音并对该帧语音进行处理,输出该帧语音的状态信息,以及还用于根据一帧状态信息和相对于该帧状态信息右看的m帧状态信息,输出一个对应的字符概率向量。8.根据权利要求7所述的方法,其特征在于,所述目标模型是通过如下训练过程进行训练得到:获取原始模型和训练语料,并将所述训练语料切分成多帧训练语音;针对所述多帧训练语音中的每帧训练语音,将该帧训练语音输入到所述原始模型,通过所述原始模型对输入的训练语音进行处理,得到并缓存该帧训练语音对应的状态信息;根据所述多帧训练语音中第i帧训练语音对应的状态信息,与缓存的第i+1帧至第i+m帧训练语音对应的状态信息,得到长度为m+1帧的完整状态信息;其中,i为正整数;在所述完整状态信息的末尾m帧的状态信息中随机遮盖0到m帧,得到遮盖状态信息;通过所述原始模型,根据所述遮盖状态信息输出第i帧训练语音对应的字符概率向量;根据每帧训练语音对应的字符概率向量以及所述训练语料对应的标签信息,更新所述原始模型的参数;将训练好的所述原始模型作为所述目标模型。9.根据权利要求7所述的方法,其特征在于,所述目标模型是通过如下训练过程进行训练得到:获取原始模型和包含所述完整唤醒词的训练语料;对所述训练语料中所述剩余字符的发音进行随机长度的截断,将经截断处理的训练语料切分成多帧训练语音;针对所述多帧训练语音中的每帧训练语音,将该帧训练语音输入到所述原始模型,通过所述原始模型对输入的训练语音进行处理,得到并缓存该帧训练语音对应的状态信息;根据所述多帧训练语音中第j帧训练语音对应的状态信息,与缓存的第j+1帧至第j+m帧训练语音对应的状态信息,得到长度为m+1帧的完整状态信息;其中,j为正整数;通过所述原始模型,根据所述完整状态信息输出第j帧训练语音对应的字符概率向量;根据每帧训练语音对应的字符概率向量以及所述训练语料对应的标签信息,更新所述原始模型的参数;将训练好的所述原始模型作为所述目标模型。10.一种语音唤醒装置,其特征在于,包括:第一字符确定模块,用于确定连续多帧语音对应的字符概率向量;其中,每帧语音对应的字符概率向量是根据本帧语音的状态信息和右看m帧语音的状态信息得到;预唤醒检测模块,用于在所述连续多帧语音对应的字符概率向量中,以预设的预唤醒词作为解码字符路径,确定所述预唤醒词对应的第一路径解码分数;其中,所述预唤醒词由预设的完整唤醒词的前n个字符组成,m和n均为正整数;
第二字符确定模块,用于响应于所述第一路径解码分数大于第一阈值,依次提取当前缓存的m帧状态信息,根据每次提取的状态信息得到对应的字符概率向量;完整唤醒检测模块,用于根据所述预唤醒词的路径解码信息以及所述m帧状态信息对应的m个字符概率向量,确定所述完整唤醒词对应的第二路径解码分数;唤醒确认模块,用于响应于所述第二路径解码分数大于第二阈值,确定唤醒设备。11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-9中任一项所述方法的步骤。12.一种电子设备,其特征在于,包括:存储装置,其上存储有至少一个计算机程序;至少一个处理装置,用于执行所述存储装置中的所述至少一个计算机程序,以实现权利要求1-9中任一项所述方法的步骤。

技术总结


本公开涉及一种语音唤醒方法、装置、存储介质和电子设备,该方法包括:确定连续多帧语音对应的字符概率向量,其中,每帧语音对应的字符概率向量是根据本帧语音的状态信息和右看M帧语音的状态信息得到;在连续多帧语音对应的字符概率向量中,以预设的预唤醒词作为解码字符路径,确定预唤醒词对应的第一路径解码分数;响应于第一路径解码分数大于第一阈值,依次提取当前缓存的M帧状态信息,根据每次提取的状态信息得到对应的字符概率向量;根据M帧状态信息对应的M个字符概率向量,确定完整唤醒词对应的第二路径解码分数;响应于第二路径解码分数大于第二阈值,确定唤醒设备。本方案可以能够降低唤醒延迟。案可以能够降低唤醒延迟。案可以能够降低唤醒延迟。


技术研发人员:

李亚伟 田垚 马泽君

受保护的技术使用者:

北京有竹居网络技术有限公司

技术研发日:

2022.06.21

技术公布日:

2022/8/16

本文发布于:2024-09-24 12:28:53,感谢您对本站的认可!

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

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

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