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

文档序号:21788751发布日期:2020-08-07 20:39阅读:315来源:国知局
语音唤醒方法、装置、电子设备及存储介质与流程

本申请涉及语音处理技术领域,更具体地,涉及一种语音唤醒方法、装置、电子设备及存储介质。



背景技术:

随着语音处理技术的快速发展,在人们的日常生活中,终端中已经出现语音对话功能,用户可以通过输入特定语音来进一步控制终端,例如唤醒亮屏、唤醒解锁、唤醒启动语音对话功能等。终端可能同时接收到多条语音,为了从中甄别出用户用于控制终端的语音,一般会检测语音中是否包含唤醒词,如果有再作唤醒。但是,在实际使用中,终端常会在用户未说出唤醒词时被误唤醒,即目前语音唤醒的误唤醒率较高。



技术实现要素:

本申请实施例提出了一种语音唤醒方法、装置、电子设备及存储介质,能够降低在终端实现语音唤醒的误唤醒率。

第一方面,本申请实施例提供了一种语音唤醒方法,应用于终端,所述终端设置有音频采集器,该方法包括:获取所述音频采集器采集的输入语音;基于第一语音匹配模型对所述输入语音进行匹配,得到第一概率输出,所述第一概率输出用于指示所述输入语音中包含所述指定文本的概率;获取所述第一语音匹配模型在当前的所述第一概率输出之前输出的至少一个概率输出,作为第二概率输出;将所述第一概率输出与所述第二概率输出进行融合,得到更新的第一概率输出;将所述更新的第一概率输出作为所述第一语音匹配模型对所述输入语音进行匹配的第一匹配结果;若所述第一匹配结果指示所述输入语音中包含所述指定文本,唤醒所述终端。

第二方面,本申请实施例提供了一种语音唤醒装置,应用于终端,所述终端设置有音频采集器,该装置包括:语音获取模块,用于获取所述音频采集器采集的输入语音;第一输出模块,用于基于所述第一语音匹配模型对所述输入语音进行匹配,得到第一概率输出,所述第一概率输出用于指示所述输入语音中包含所述指定文本的概率;第二输出模块,用于获取所述第一语音匹配模型在当前的所述第一概率输出之前输出的至少一个概率输出,作为第二概率输出;输出更新模块,用于将所述第一概率输出与所述第二概率输出进行融合,得到更新的第一概率输出;结果获取模块,用于将所述更新的第一概率输出作为所述第一语音匹配模型对所述输入语音进行匹配的第一匹配结果;终端唤醒模块,用于若所述第一匹配结果指示所述输入语音中包含所述指定文本,唤醒所述终端。

第三方面,本申请实施例提供了一种电子设备,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个应用程序,其中,一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于执行上述第一方面提供的语音唤醒方法。

第四方面,本申请实施例提供了一种计算机可读取存储介质,计算机可读取存储介质中存储有程序代码,程序代码可被处理器调用执行上述第一方面提供的语音唤醒方法。

本申请实施例提供的一种语音唤醒方法、装置、电子设备及存储介质,通过获取音频采集器采集的输入语音,然后基于第一语音匹配模型对输入语音进行匹配,得到用于指示输入语音中是否包含指定文本的第一概率输出,并获取第一语音匹配模型在当前的第一概率输出之前输出的至少一个概率输出,作为第二概率输出,接着将第一概率输出与第二概率输出进行融合,得到更新的第一概率输出,并将更新的第一概率输出作为第一语音匹配模型对输入语音进行匹配的第一匹配结果,若第一匹配结果指示输入语音中包含指定文本,唤醒终端。由此,本申请通过第一语音匹配模型当前的第一概率输出以及历史输出的第二概率输出进行融合,得到对本次输入语音中是否包含指定文本的第一匹配结果,能够提高关键词识别准确率,有效抑制关键词检测跳变,并降低误唤醒率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请实施例提供的一种语音唤醒方法的应用场景示意图。

图2示出了本申请一个实施例提供的语音唤醒方法的流程示意图。

图3示出了本申请另一个实施例提供的语音唤醒方法的流程示意图。

图4示出了本申请一个示例性实施例涉及的mfcc特征提取过程的示意图。

图5示出了本申请一个示例性实施例提供的卷积神经网络的结构示意图。

图6示出了本申请一个示例性实施例的图3中步骤s230的流程示意图。

图7示出了本申请一个示例性实施例涉及的注意力权重提取过程的示意图。

图8示出了本申请一个示例性实施例提供的图6中步骤s231的流程示意图。

图9示出了本申请一个示例性实施例涉及的池化过程的示意图。

图10示出了本申请一个示例性实施例提供的注意力尺度化过程的示意图。

图11示出了本申请一个示例性实施例提供的图3中步骤s250的流程示意图。

图12示出了本申请一个示例性实施例提供的图11中步骤s254的流程示意图。

图13示出了本申请一个示例性实施例涉及的历史融合过程的示意图。

图14示出了本申请又一个实施例提供的语音唤醒方法的流程示意图。

图15示出了本申请再一个实施例提供的语音唤醒方法的流程示意图。

图16示出了本申请一个示例性实施例提供的图15中步骤s490的流程示意图。

图17示出了本申请实施例提供的语音唤醒装置的模块框图。

图18示出了本申请实施例提供的电子设备的结构框图。

图19示出了本申请实施例提供的用于保存或者携带实现根据本申请实施例的语音唤醒方法的程序代码的存储单元。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

目前的语音唤醒方法一般是基于对唤醒词的语音识别实现的,但是目前的语音唤醒方案,在通过语音唤醒终端时,多是识别用户输入语音,检测是否包含唤醒词,若包含则可执行唤醒操作,例如解锁、亮屏等。例如,若终端预存有唤醒词“小欧小欧”,则当用户说“小欧小欧”时,终端获取到该语音输入时,若识别出其中包含的唤醒词,执行亮屏操作。

但是,发明人发现,在实际使用中,即便采用类似上述的语音唤醒,仍常常会出现在用户输入语音不包含唤醒词时,终端却被唤醒的误唤醒情况,如此可能会对终端资源和耗电量等造成不必要的浪费,还可能执行错误操作,影响用户体验。

基于上述问题,本申请实施例提供了一种语音唤醒方法、装置、电子设备及计算机可读取存储介质,通过获取音频采集器采集的输入语音,然后基于第一语音匹配模型对输入语音进行匹配,得到用于指示输入语音中是否包含指定文本的第一概率输出,并获取第一语音匹配模型在当前的第一概率输出之前输出的至少一个概率输出,作为第二概率输出,接着将第一概率输出与第二概率输出进行融合,得到更新的第一概率输出,并将更新的第一概率输出作为第一语音匹配模型对输入语音进行匹配的第一匹配结果,若第一匹配结果指示输入语音中包含指定文本,唤醒终端。由此,本申请通过第一语音匹配模型当前的第一概率输出以及历史输出的第二概率输出进行融合,得到对本次输入语音中是否包含指定文本的第一匹配结果,能够提高关键词识别准确率,有效抑制关键词检测跳变,并降低误唤醒率。

为了便于详细说明,下面先结合附图对本申请实施例所适用的应用场景进行示例性说明。

请参见图1,图1示出了本申请实施例提供的语音唤醒方法的应用场景示意图,该应用场景包括本申请实施例提供的一种语音唤醒系统10。该语音唤醒系统10包括:终端100和服务器200。

其中,终端100可以为但不限于为手机、平板电脑、mp3播放器(movingpictureexpertsgroupaudiolayerⅲ,动态影像压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像压缩标准音频层面4)播放器、个人计算机或可穿戴电子设备等等。本申请实施例对具体的终端的设备类型不作限定。

于本申请实施例中,终端100设置有音频采集器,如麦克风等,可通过音频采集器采集语音,本申请实施例对具体的音频采集器的类型不作限定。

其中,服务器200可以是传统服务器,也可以是云端服务器,可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。

在一些可能的实施方式中,对输入语音进行处理的装置可设置于服务器200,则在终端100获取输入语音后,可将输入语音发送至服务器200,由服务器200对输入语音处理后返回处理结果至终端100,以使终端100可根据处理结果执行后续操作。

其中,对输入语音进行处理的装置可以为语音匹配装置。

在一些可能的实施例中,对输入语音进行处理的装置还可以包括声纹识别装置,以对输入语音进行声纹识别。

作为一种实施方式,语音匹配装置可设置于服务器200,声纹识别装置可设置于终端100,则服务器100可返回语音匹配结果至终端100,由终端100基于语音匹配结果确定是否声纹识别,并在需作声纹识别时进行声纹识别及后续操作。

另外,作为另一种实施方式,语音匹配装置、声纹识别装置的设置位置也可对换,即语音匹配装置可设置于终端100,声纹识别装置可设置于服务器200,则终端100基于语音匹配装置进行语音匹配后,若通过语音匹配,可将输入语音发送至服务器200,指示服务器200基于声纹识别装置对输入语音的声纹进行声纹识别,并返回声纹识别结果至终端100,以使终端100可基于声纹识别结果确定是否唤醒终端。

作为又一种实施方式,语音匹配装置和声纹识别装置均可设置于服务器200,则服务器200可返回声纹识别结果至终端100,以使终端100可基于声纹识别结果确定是否唤醒终端。

在另一些可能的实施方式中,对输入语音进行处理的装置也可以设置于终端100上,使得终端100无需依赖与服务器200建立通信,也可对输入语音进行处理得到处理结果,则此时语音唤醒系统10可以只包括终端100。

下面将通过具体实施例对本申请实施例提供的信息处理方法、装置、电子设备及存储介质进行详细说明。

请参阅图2,图2示出了本申请实施例提供的一种语音唤醒方法的流程示意图,可应用于上述终端。下面将针对图2所示的流程进行详细的阐述。该语音唤醒方法可以包括:

步骤s110:获取音频采集器采集的输入语音。

其中,终端可设置有音频采集器,也可连接外部的音频采集器,此处连接可以是无线连接,也可是有线连接,在此不做限定。在一些实施方式中,若为无线连接,则终端可设置有无线通讯模块,例如无线保真(wirelessfidelity,wifi)模块、蓝牙(bluetooth)模块等,可基于无线通讯模块获取音频采集器采集的输入语音。

在一些实施例中,终端可通过音频采集器如麦克风等进行拾音,获取音频采集器采集的输入语音。由于利用音频采集器进行拾音的功耗较低,因此,音频采集器可一直处于开启状态进行拾音。并且,在一些实施方式中,音频采集器可以定时将采集到的音频进行缓存,并送入处理器对所采集的音频进行处理。

步骤s120:基于第一语音匹配模型对输入语音进行匹配,得到第一概率输出。

其中,第一概率输出用于指示输入语音中包含指定文本的概率。

其中,第一语音匹配模型可通过第一训练数据训练得到,其中,第一训练数据可包括多个正样本语音和多个负样本语音,正样本语音是包含指定文本的语音,负样本语音是不包含指定文本的语音,由此通过第一语音匹配模型对输入语音进行匹配,可判断输入语音中是否包含指定文本,以对输入语音作匹配校验,得到第一概率输出,可用于指示该输入语音中包含指定文本的概率。

其中,指定文本可以是程序预设的,也可是用户自定义的,在此不作限定。例如,指定文本可以为“小欧”、“小欧小欧”等,在此不做限定。则在一个示例中,正样本语音可以是“小欧小欧今天天气怎么样”对应的语音,负样本语音可以是“天气怎么样”对应的语音。另外,在一些实施例中,指定文本也可称为唤醒词,本申请实施例对此不做限定。

在一些实施例中,用户可预先在终端设置指定文本,例如可在终端的唤醒词设置页面输入指定文本,可以是输入指定文本对应的指定语音,也可以仅是输入指定文本的文本内容。

作为一种实施方式,用户可输入指定文本对应的指定语音,以使终端基于该唤醒词设置页面获取到指定语音以训练语音唤醒算法。

在一个具体示例中,用户可通过后续一系列操作进入唤醒词设置页面,以设置唤醒词,设置-安全-智能解锁-设定数字密码-唤醒词设置上,终端可显示唤醒词设置页面,提示用户录入唤醒词,用户可说出唤醒词,例如“小步小步”,终端可获取对应的语音数据作为训练数据训练语音唤醒算法。

另外,在一些实施例中,为了提高语音唤醒算法的识别准确率,终端可提示用户重复多次录入唤醒词,最终将多次录入的语音数据作为训练数据送入语音唤醒算法进行训练,并在训练完成时提示用户。训练完成后即可利用语音唤醒算法检测输入语音中是否包含指定文本。

在一些实施例中,第一可由神经网络构建得到,神经网络可以为但不限于为卷积神经网络(convolutionalneuralnetwork,cnn)、循环神经网络(recurrentneuralnetwork,rnn)等,本实施例对此不做限定。

在一些实施方式中,基于第一语音匹配模型对输入语音进行匹配时,可先对输入语音进行预处理,得到多帧语音片段,并基于第一语音匹配模对多帧语音片段进行匹配。

在一个示例中,可按预设长度对输入语音进行分帧得到多帧语音片段,每帧语音片段的长度可小于或等于预设长度,其中,预设长度可根据需要确定,也可自定义,例如可为0.5s,则输入语音经预处理后可得到每帧不超过0.5s的语音片段,依次将预处理得到的多帧语音片段输入第一语音匹配模型,可得到多个概率输出,当前语音片段对应第一概率输出。

步骤s130:获取第一语音匹配模型在当前的第一概率输出之前输出的至少一个概率输出,作为第二概率输出。

在一些实施方式中,终端可存储第一语音匹配模型每次输出的第一概率输出。则在得到当前的第一概率输出后,可获取之前m次输出的概率输出作为第二概率输出,则第二概率输出的尺寸为m*c。其中,m大于等于1,可以理解的是,其具体数值可根据实际需要确定,本实施例对此不做限定。在前述示例中,第二概率输出可以为当前语音片段之前的至少一个语音片段对应的概率输出。

步骤s140:将第一概率输出与第二概率输出进行融合,得到更新的第一概率输出。

由于每个概率输出所对应的输入的语音片段的长度一般小于关键词长度,例如,用户输入指定文本对应的语音的时间长度,即关键词长度可在1s~2s之间,而实际输入第一语音匹配模型的语音是输入语音按预设长度分帧后的语音片段,其中预设长度小于关键词长度,例如可约为0.5s,所以针对一个输入语音的识别,会拆分成多帧语音片段输入第一语音匹配模型,得到多帧概率输出,当前的概率输出为第一概率输出,历史的概率输出记为第二概率输出,则获取第一概率输出和第二概率输出后,通过将第一概率输出与第二概率输出进行融合,可对输入语音经第一语音匹配模型得到的多帧结果进行融合判断,得到更新的第一概率输出。由此,可使得当前输出(即当前得到的第一概率输出)考虑历史输出(即第二概率输出),结合第一、第二概率输出更新第一概率输出的基础上,从而可解决连续语音中的关键词识别。

需要说明的是,本实施例对预设长度、关键词长度的具体数值不作限定,仅预设长度小于关键词长度即可。

在一些实施例中,将第一概率输出与第二概率输出进行融合的方式包括但不限于取二者的最大值、最小值、平均值,等等,另外,求平均值还可包括加权平均等方式,本实施例对此不作限定。

在另一些实施例中,也可对第一概率输出进行特征提取,并将特征提取结果与预设值进行比较,若特征提取结果高于该预设值,则将第一概率输出作为更新的第一概率输出,若特征提取结果低于或等于该预设值,则根据第二概率输出确定更新的第一概率输出。其中,预设值可根据实际需要确定,例如,可基于第一训练数据训练得到,还可以是用户自定义。由此可有效解决关键词检测跳变问题,降低误唤醒率。具体的实施方式可见后述实施例,在此不作赘述。

步骤s150:根据更新的第一概率输出,得到第一语音匹配模型对输入语音进行匹配的第一匹配结果。

通过前述步骤得到更新的第一概率输出,其为标量,在一些实施方式中,若更新的第一概率输出大于预设输出阈值,判定输入语音中包含指定文本并获取对应的第一匹配结果,即第一匹配结果指示输入语音中包含指定文本;若更新的第一概率输出小于或等于预设输出阈值,判定输入语音中不包含指定文本并获取对应的第一匹配结果,即此时第一匹配结果指示输入语音中不包含指定文本,此时第一语音匹配模型可等待后续的输入语音开始新的校验。

其中,预设输出阈值可根据实际需要确定,也可为程序预设,还可为用户自定义,在此不做限定。

步骤s160:若第一匹配结果指示输入语音中包含指定文本,唤醒终端。

在一些实施方式中,若第一匹配结果指示输入语音中包含指定文本,可唤醒终端执行预设操作。作为一种实施方式,终端可预先存储有终端当前状态与预设操作之间的映射关系表,其中,终端当前状态包括但不限于屏幕状态(是否熄屏、是否锁屏)、当前运行的应用程序、当前时刻等,在此不作限定。则若第一匹配结果指示输入语音中包含指定文本,可获取终端当前状态,以根据终端当前状态确定对应的预设操作,则可唤醒终端执行该预设操作。其中,预设操作可包括但不限于亮屏、解锁、激活语音助手等操作,本实施例对此不做限定。

在一些实施方式中,若声纹识别通过验证,可唤醒终端,使终端从熄屏状态切换至非熄屏状态,该非熄屏状态可包括屏幕亮起且显示解锁界面的待解锁状态,还可包括屏幕亮起且未显示解锁界面的已解锁状态。

在另一些实施方式中,若声纹识别通过验证,可唤醒终端并执行解锁操作,使得用户可直接通过语音解锁终端,并且基于本方法可实现准确、安全且便捷的解锁。例如,用户对终端说“小欧小欧”,并声纹识别通过验证后,终端屏幕可亮起且显示解锁后的界面,可以显示上次锁屏前的界面,也可显示桌面,在此不做限定。

可以理解的是,以上仅为示例,本实施例提供的方法并不局限于上述场景中,但考虑篇幅原因在此不再穷举。

由于目前相关技术主要通过对孤立词进行识别以实现语音唤醒,即对于每段音频只包含一个唤醒词,如“小布小布”、“小欧小欧”,因此需要对送入算法的输入语音进行精准的切割,这导致相关技术对连续语音中的关键词识别效果不是很好,如“小欧小欧今天天气怎么样”,相关技术难以准确识别出关键词“小欧小欧”,也就难以分割关键词“小欧小欧”与“今天天气怎么样”,从而无法通过识别“小欧小欧”来实现唤醒,以在唤醒后对“今天天气怎么样”进行自然语言处理触发相应操作。

而通过本实施例提供的语音唤醒方法,由第一语音匹配模型获取当前的第一概率输出,再获取第一语音匹配模型在当前的第一概率输出之前输出的至少一个概率输出,作为第二概率输出,由于每个概率输出所对应的输入的语音片段的长度一般小于关键词长度,例如,用户输入指定文本对应的语音的时间长度,即关键词长度可在1s~2s之间,而实际输入第一语音匹配模型的语音是输入语音按预设长度分帧后的语音片段,其中预设长度小于关键词长度,例如可约为0.5s,所以针对一个输入语音的识别,会拆分成多帧输入第一语音匹配模型,得到多帧结果,当前结果为第一概率输出,历史结果为第二概率输出,并将第一概率输出与历史输出的第二概率输出进行融合处理,可对第一语音匹配模型由输入语音得到的多帧结果进行融合判断,来得到最终指示输入语音中是否包含指定文本的第一匹配结果,因而可对关键词检测跳变和误唤醒进行有效抑制,解决连续语音关键词识别问题,提高关键词识别准确率,降低误唤醒率。

请参阅图3,图3示出了本申请另一个实施例提供的语音唤醒方法的流程示意图,可应用于上述终端,该语音唤醒方法可以包括:

步骤s210:获取音频采集器采集的输入语音。

步骤s220:提取输入语音的声学特征,通过第一语音匹配模型对声学特征进行卷积运算,获得卷积神经网络输出。

其中,第一语音匹配模型可基于卷积神经网络构建得到,若终端处于熄屏状态,终端可提取输入语音的声学特征,通过第一语音匹配模型对声学特征进行卷积运算,获得卷积神经网络输出。

在一种实施方式中,第一语音匹配模型可先对输入语音进行特征提取,以对输入语音进行特征生成和特征降维,得到输入语音的声学特征,声学特征可以是梅尔频率倒谱系数(melfrequencycepstrumcoefficient,mfcc)特征。

请参阅图4,其示出了本申请一个示例性实施例涉及的mfcc特征提取过程的示意图。如图4所示,输入语音依次通过预处理模块401、加窗模块402、傅里叶边换模块403以及mfcc提取模块404,可得到输入语音对应的mfcc特征作为其声学特征。

其中,预处理模块401可以是高通滤波器,可选地,其数学表达式可以为:h(z)=1-az-1,其中,h(z)表示对输入语音滤波后的语音数据,a是修正系数,一般可取0.95-0.97。

进一步地,加窗模块402可用于对滤波后的语音数据进行平滑处理,平滑帧信号的边缘,可选地,加窗模块402可采用汉明窗函数进行平滑处理,可选地,汉明窗的函数表达式可以为其中,n为整数,n=0,1,2,3,...m,m为傅里叶变换的点数,可选地,m可取512。

进一步地,通过傅里叶变换模块403可得到平滑处理后的语音数据对应的频谱,再经由mfcc提取模块404进行梅尔滤波,将前述频谱转化为符合人耳听觉的梅尔谱,可选地,梅尔滤波所采用的函数表达式可以为:其中,fmel(f)表示提取到的梅尔谱,f为傅里叶变换后的频点。

可选地,通过上述处理后得到梅尔谱后,最后可以通过对数提取先对得到的fmel(f)取对数,然后做离散余弦变化(discretecosinetransform,dct)处理,最终得到的dct系数即可作为提取到的mfcc特征。由此可提取得到输入语音的mfcc特征作为声学特征。

需要说明的是,上述参数仅为一种示例,在其他示例中,也可选用其他参数,本实施例对此不做限定。

在提取到输入语音的声学特征后,可通过第一语音匹配模型对声学特征进行卷积运算,获得卷积神经网络输出。则作为一种示例,在第一语音匹配模型中,mfcc提取模块504后可连接卷积神经网络,以对mfcc提取模块504输出的声学特征进行卷积运算,获得卷积神经网络输出。

在一些实施方式中,第一语音匹配模型可包括n组依次连接的卷积层、批归一化层以及线性激活层,将一组依次连接的卷积层、批归一化(batchnormalization,bn)层以及线性激活层作为一组卷积块,则提取输入语音的声学特征,通过第一语音匹配模型对声学特征进行卷积运算,获得卷积神经网络输出的具体实施方式可包括:提取输入语音的声学特征,作为第1组卷积块的输入;通过n组卷积块,依次对上组的输出进行处理,获得第n组卷积块的输出作为卷积神经网络输出,其中,第i组卷积块的输入由第i-1组卷积块的输出与第n-i+1组卷积块的输入进行融合得到,其中,n∈n且n≥2,i={1,2,...,n}。

在一个具体示例中,第一语音匹配模型中的上述卷积神经网络的结构可如图5所示,卷积神经网络包括n组依次连接的卷积块500,每个卷积块500包括依次连接的卷积层501、批归一化层502以及线性激活层503。通过上述方法提取得到的声学特征,可作为第一组卷积块的输入,通过n组卷积块500,可获得卷积神经神经网络输出。

其中,卷积层501为卷积神经网络层,是一种以卷积作为主要计算方式的神经网络层,可选地,声学特征的数据尺寸为c*r*1,其中,c为特征列数,r为特征行数,通道数为1,将提取得到的声学特征依次输入卷积层501中计算局部特征,可选地,其计算公式如下:

上述公式(1),i表征输入,w表征卷积对应的权重,bias为偏置项,经过卷积层计算得到的结果是尺寸为c*r*1的3维特征。

其中,批归一化层502是一种可对各层输出进行有效的自适应归一化的网络层,可选地,其计算公式如下:

β(k)=e[x(k)]公式(2)

上述公式(2)-(5)中,x为上一层输出,β、γ为自适应参数,k表征批次大小,则基于公式(2)计算上一层输出的均值得到,基于公式(3)计算上一层输出的标准差,基于公式(4)进行归一化处理,基于公式(5)对上述归一化处理后的得到的数据进行重构得到y(k)。由此,将x输入至批归一化层502中进行方差、均值计算可得到自适应参数γ、β,将计算得到的自适应参数γ、β在模型推理过程中进行计算可实现批归一化。

其中,线性激活层503可以用于对输出特征进行线性提升,可选地,其计算公式如下:

y=f(x),f=max(λ*x,0)公式(6)

此时输出为正值的部分特征y,对于正值特征x需乘以因子λ作为线性增强手段。

其中,u型残差结构模块504是一种以各层特征进行分离和合并的层状结构,通过将第一组(i=1)与最终组(i=n)进行特征融合,第二组(i=2)与倒数第二组(i=n-1)进行特征融合,…,使得第i组卷积块的输入由第i-1组卷积块的输出与第n-i+1组卷积块的输入进行融合得到,其中,n∈n且n≥2,i={1,2,…,n}。由此,基于u型残差结构模块504,可将全部特征信息流予以保留和计算,对于推理过程中的低级特征和高级特征进行多尺度融合,使得网络可设计地更深,同时保证输出特征表达能力,从而可进一步提高对关键词检测的准确性。在一个具体示例中,最终可将结果提升3%。

请继续参阅图5,卷积神经网络通过反复应用卷积层501、批归一化层502、线性激活层503以及u型残差结构504进行模型纵向维度的加深,可对模型特征进行多次抽象和提取以进行有效分类,提高对关键词检测的准确性,并不断降低模型输出的维度,同时又解决网络太深难训练的问题,最终模型在多次叠加后得到基于u型残差结构的卷积神经网络的最终输出,即卷积神经网络输出。

由于目前为了降低误唤醒率,需要改善唤醒算法,使其更加精确复杂,并在终端处理器上持续运行,但是,这样会给终端造成较大的功耗负担,虽然这对插电使用的终端(例如智能音箱)的影响可能不大,但是对于非插电使用的终端(例如手机、平板电脑等),则会加速电池消耗,使得终端待机时间降低。由此,本实施例通过上述操作不断加深模型纵向维度,对模型特征进行多次抽象和提取以进行有效分类,提高对关键词检测的准确性,同时通过u型残差结构504不断降低模型输出的维度,控制模型的大小,使得在提高第一语音匹配模型对关键词识别准确率的同时,还可以让第一语音匹配模型在计算性能较低但功耗较小的低功耗模块运行,从而降低误唤醒率的同时,还可在运用于低功耗模块时降低终端实现语音唤醒所需的功耗,有利于响应用户在全天场景下的唤醒。

步骤s230:将卷积神经网络输出与指定文本对应的声学特征进行匹配,获取第一概率输出第一概率输出。

在一些实施例中,可将卷积神经网络输出与指定文本对应的声学特征进行匹配,以根据卷积神经网络输出判断输入语音中是否包含指定文本,例如可将卷积神经网络输出输入至分类器例如softmax分类器得到指示输入语音中包含指定文本的概率,第一概率输出作为第一概率。在其他示例中,还可采用其他分类器,在此不做限定。

在另一些实施例中,步骤s230也可包括步骤s231至步骤s233,以在卷积神经网络的基础上,引入注意力机制,以对上述卷积神经网络进行注意力优化,以处理序列过长时模型精度丢失的问题,提高对关键词检测的准确性。具体地,请参阅图6,图6示出了本申请一个示例性实施例中图3内步骤s230的流程示意图,步骤s230包括:

步骤s231:将卷积神经网络输出按通道进行注意力权重提取,获得卷积神经网络输出对应的注意力权重向量。

在一些实施例中,将卷积神经网路输出按通道进行注意力权重提取时,可通过将卷积神经网络输出依次通过池化(pooling)层、卷积层、全连接(fullyconnected,fc)层以及非线性激活层实现,由此获得卷积神经网络输出对应的注意力权重向量。

在一个示例性实施例中,前述注意力权重提取的流程可如图7所示。以下为了对图7所示的流程进行详细说明,还请同时参阅图8,图8示出了本申请一个示例性实施例提供的图6中步骤s231的流程示意图,于本实施例中,步骤s231可包括:

步骤s2311:通过池化层,对卷积神经网络输出的每个通道的特征的特征值由大至小排序,提取每个通道前若干位的特征值作为池化后每个通道的特征的特征值,得到池化后特征。

其中,池化层可用于池化层可对提取到的特征进行降维,一方面使特征变小,简化网络计算复杂度并在一定程度上避免过拟合的出现;一方面可保留显著特征。

在本实施例中,池化层可采用topn池化,以对池化层的输入特征进行topn池化操作,即一种对向量前n个最大值进行池化提取的操作。具体地,如图7所示,卷积神经网络输出的数据尺寸若为c*h*w,即池化层的输入是数据尺寸为c*h*w的特征,其中c表征输入通道数,h表征输入高度,w表征输入宽度,则通过topn池化,可得到数据尺寸为c*n*1的特征,即池化后特征。

在一种实施方式中,topn池化流程可参阅图9,如图9所示,池化层输入为c*h*w,针对每一个通道c(c∈c)的特征,其尺寸为h*w,将特征中的特征值按由大至小的顺序进行排序,提取前n位的特征指作为该通道的准许池化值,依次对每个通道进行前述操作,即可得到输出尺寸为c*n*1的特征,即池化后特征。

另外,在其他一些实施例中,池化层可采用最大池化(maxpooling)、平均池化(meanpooling)等,在此不做限定。以最大池化为例,可将卷积神经网络输出按通道将每个通道的特征划分为若干个区域,将每个区域的最大值作为该区域输出,最终得到由各区域最大值组成的输出。

步骤s2312:通过卷积层对池化后特征进行特征提取,得到一维向量。

将通过池化层得到的池化后通知输入卷积层,对池化后特征进行特征提取,经过计算可得到数据尺寸为(c/n)*1*1的一维向量。

步骤s2313:将一维向量依次通过全连接层、非线性激活层,得到卷积神经网络输出对应的注意力权重向量。

其中,全连接层是一种以权重作为计算方式的神经网络层,将经过池化层、卷积层得到的一维向量依次输入全连接层中计算局部特征,可选地,其计算公式可以为:

上述公式(7)中,i表征输入,w表征卷积对应的权重,bias为偏置项,经过全连接层计算得到尺寸为c*1*1的特征。

在一些实施方式中,如图7所示,卷积层之后可依次连接两个全连接层。在另一些可能的实施方式中,也可连接一个或两个以上的全连接层,在此不作限定。

其中,非线性激活层可用于对输出特征进行非线性提升,在一种实施方式中,非线性激活层可采用非线性激活函数得到,非线性激活函数可以是sigmoid函数、tanh函数等。可选地,以sigmoid函数为例,其计算公式可以为:

y=sigmoid(x)公式(8)

由此,经过上述非线性激活层激活后,得到尺寸为c*1*1的一维向量,作为卷积神经网络输出对应的注意力权重向量。

步骤s232:根据注意力权重向量对卷积神经网络输出进行加权处理,获得注意力输出特征。

如图7所示,得到卷积神经网络输出对应的注意力权重向量后,可将其与注意力权重提取前的输入特征(即卷积神经网络输出)进行注意力尺度化,即根据注意力权重向量对卷积神经网络输出进行加权处理,获得注意力输出特征。

在一个示例性的实施例中,请参阅图10,其示出了本申请一个示例性实施例提供的注意力尺度化过程的示意图,如图10所示,将步骤s232的算法抽象为一个模块,即为注意力尺度化模块,则注意力尺度化模块的输入为卷积神经网络输出(尺寸为c*h*w)以及注意力权重向量(尺寸为c*1*1)。

在一种实施方式中,可通过度量化结构对注意力权重向量更新,得到注意力更新权重,此处更新可基于预定公式。其中,预定公式可为如下公式(9)-(13)的至少一种,当然也可不限于下述公式:

at=gbo(ht)=bt公式(9)

at=gl(ht)=wttht+bt公式(10)

at=gsl(ht)=wtht+b公式(11)

at=gnl(ht)=vtttanh(wttht+bt)公式(12)

at=gsnl(ht)=vttanh(wtht+b)公式(13)

上述公式(9)-(13)均可通过端到端的训练达到收敛的结果,同时针对不同特征分布的模型有各自的优势,且其中,ht表征注意力权重向量,at表征注意力更新权重,其中t∈(1,t),通过上述公式可得到注意力权重向量ht对应的注意力更新权重at,可选地,通过对注意力更新权重at进行逐位求和平均可得到尺寸为c*1*1的特征,通过特征映射得到注意力尺度化权重at′,对注意力尺度化权重at′进行归一化得到向量将卷积神经网络输出jt与向量pt按通道进行权重累加,即可获得注意力输出特征注意力输出特征的尺寸为c*h*w。由此,基于注意力机制对上述卷积神经网络进行注意力优化,使得优化后的卷积神经网络输出可融合低维特征与高维特征,使得第一语音匹配模型在多种场景下具有更好的泛化能力。

步骤s233:将注意力输出特征与指定文本对应的声学特征进行匹配,获取第一概率输出。

在一些实施例中,可将注意力输出特征与指定文本对应的声学特征进行匹配,以将注意力输出特征与指定文本对应的输出类别进行特征映射,获取第一概率输出。例如,若指定文本为“小欧”,则输出类别可以为“小欧”,通过将注意力输出特征与输出类别进行特征映射,可得到注意力输出特征是否可与指定文本匹配的概率,即第一概率输出。

第一概率输出可反映注意力输出特征与指定文本的匹配程度,一般认为概率越高,匹配程度越高。

作为一种实施方式,可先通过全局池化对注意力输出特征进行特征降维,即将尺寸为c*h*w的注意力输出特征进行高度和宽度上的池化。可选地,可具体采用全局最大池化,例如可基于公式实现,其中,i∈h*w,βi为池化窗口的尺寸,则为对各池化窗口进行池化得到各窗口的最大值,由此可计算得到针对各通道的输出特征,尺寸为c*1*1。

进一步地,为了将输出特征与输出类别进行特征映射,可将输出特征进行全局归一化,可选地,可通过如下公式实现:

由此,得到向量kt为对应输出类别的概率估计,即第一概率输出,其中,kt∈[0,1]。

在一些实施方式中,若kt大于预设结果阈值,可判定输入语音中包含指定文本,;若kt小于或等于预设结果阈值,可判定输入语音中不包含指定文本。

其中,预设结果阈值可根据实际需要进行设定。在一种实施方式中,可通过计算在训练数据集中的等错误率(equalerrorrate,eer),即错误接受率(falseacceptancerate,far)与错误拒绝率(falserejectionrate,frr)相等的值,将eer最小时的阈值作为预设结果阈值,由此可使得第一语音匹配模型的误唤醒率和误拒绝率达到平衡,由此可兼顾查全率和查准率,使得第一语音匹配模型可用于全天场景下捕捉语音唤醒词,基于较高的查全率和相对较低的查准率,对尽可能多的、潜在的用户唤醒场景进行有效识别,有效降低漏检率。

在其他实施方式中,预设结果阈值也可是基于其他方式计算得到,还可以是用户自定义,本实施例对此不做限定。

步骤s240:获取第一语音匹配模型在当前的第一概率输出之前输出的至少一个概率输出,作为第二概率输出。

步骤s250:将第一概率输出与第二概率输出进行融合,得到更新的第一概率输出。

在一些实施例中,步骤s250可包括步骤s251至步骤s254,具体地,请参阅图11,图11示出了本申请一个示例性实施例提供的图3中步骤s250的流程示意图,于本实施例中,步骤s250可包括:

步骤s251:对第二概率输出进行特征提取得到第一历史特征与第二历史特征。

在一些实施方式中,可分别采用一个循环神经网络对第二概率输出进行特征提取,得到第一历史特征与第二历史特征。

作为一种实施方式,当输入序列较长时,还可具体采用长短期记忆(longshort-termmemory,lstm)网络、门控循环单元(gatedrecurrentunit,gru)对第二概率输出进行特征提取,本实施例对此不做限定。

另外,在一些实施例中,为了更好地理解上下文环境并消除歧义,可具体采用双向循环神经网络(bidirectionalrecurrentneuralnetwork,bi-rnn)对第二概率输出进行特征提取,由此能够学到两个方向上的上下文依赖关系,以对序列信息特征进行更有效的特征提取和处理。具体地,将第二概率输出分别输入两个双向rnn,得到第一历史特征以及第二历史特征,其中,双向rnn包括若干个节点,本实施例不对节点数量作限定,可根据实际需要进行确定。

在一些示例中,第一语音匹配模型可包括第一、第二双向循环神经网络层,此时,对第二概率输出进行特征提取得到第一历史特征与第二历史特征。具体地,可通过第一双向循环神经网络层对历史注意力输出进行特征提取得到第一历史特征;通过第二双向循环神经网络层对历史注意力输出进行特征提取得到第二历史特征。其中,双向循环神经网络层中的重复模块可以是常规rnn、lstm或是gru,在此不做限定。

在一些实施例中,第一、第二双向循环神经网络层的网络参数不一样,可根据实际需求进行设置。

在其他一些实施方式中,还可采用其他神经网络,对第二概率输出进行特征提取,得到第一历史特征与第二历史特征,本实施例对此不做限定。

步骤s252:将第一概率输出与第一历史特征进行融合,得到第二概率输出对应的历史注意力权重向量。

在一些实施方式中,第一概率输出的尺寸与第一历史特征的尺寸相同,可将第一概率输出与第一历史特征进行逐点相乘,得到尺寸为c的一维向量特征,然后将该一维向量特征输入至归一化层进行归一化处理,在一个示例中,归一化层可采用softmax函数,可选地,归一化的计算公式可如下:

其中,ct表征该一维向量特征中第t个特征值,ht表征第t个特征值归一化后的特征值。由此,通过归一化层对第一概率输出与第一历史特征的融合特征进行归一化处理后,可得到向量ht,作为第二概率输出对应的历史注意力权重向量。

步骤s253:根据历史注意力权重向量对第二历史特征进行加权处理,获得历史融合输出。

得到历史注意力权重向量后,可根据历史注意力权重向量对第二历史特征进行加权处理,获得历史融合输出。作为一种实施方式,可将历史注意力权重向量与第二历史特征进行逐点相乘,得到基于注意力机制优化后的历史融合输出。

步骤s254:将第一概率输出与历史融合输出进行融合,得到更新的第一概率输出。

在一些实施例中,步骤s254可具体包括步骤s2541至步骤s2543,具体地,请参阅图12,图12示出了本申请一个示例性实施例提供的图11中步骤s254的流程示意图,于本实施例中,步骤s254可包括:

步骤s2541:对第一概率输出进行特征提取得到第一概率输出对应的输出系数。

在一种实施方式中,可将第一概率输出经过全连接层和非线性激活层进行特征提取,得到第一概率输出对应的输出系数g。

步骤s2542:若输出系数大于预设结果阈值,将第一概率输出作为更新的第一概率输出。

步骤s2543:若输出系数小于或等于预设结果阈值,将历史融合输出作为更新的第一概率输出。

其中,预设结果阈值的计算可见前述实施例,在此不再赘述。用thre表征预设结果阈值,则输出系数g的更新公式可如下:

此时,若记历史融合输出为memory,记第一概率输出为input,则更新的第一概率输出result的计算公式可如下:

result=g*input+(1-g)*memory公式(16)

结合上述公式(15)以及公式(16)可得,若输出系数g大于预设结果阈值thre,则g=1,此时更新的第一概率输出result为第一概率输出input;若输出系数g小于或等于预设结果阈值thre,则g=0,此时更新的第一概率输出result为历史融合输出memory。

由此通过上述步骤实现对历史记忆结果(历史)与当前输出结果(第一概率输出)之间的融合处理,并在输出系数>预设结果阈值时,将当前输出结果作为更新的第一概率输出,在输出系数小于或等于预设结果阈值时,将对历史记忆结果进行注意力优化后的历史融合输出作为更新的第一概率输出。

由于目前相关技术主要通过对孤立词进行识别以实现语音唤醒,即对于每段音频只包含一个唤醒词,如“小布小布”,因此需要对送入算法的输入语音进行精准的切割,这导致相关技术对连续语音中的关键词识别效果不是很好,如“小欧小欧今天天气怎么样”,而通过上述将历史记忆结果与当前输出结果进行融合处理,第一语音匹配模型可对有效抑制关键词检测跳变和误唤醒,解决连续语音关键词识别问题。

在一个示例性实施例中,上述将历史记忆结果(即第二概率输出)与当前输出结果(即第一概率输出)进行融合处理的过程可参阅图13,图13示出了本申请一个示例性实施例涉及的历史融合过程的示意图,图中涉及原理及数据流向可见前述说明,在此不再赘述。

另外,在其他示例性的实施例中,输出系数也可不按上述公式(15)进行更新。

步骤s260:将更新的第一概率输出作为第一语音匹配模型对输入语音进行匹配的第一匹配结果。

步骤s270:若第一匹配结果指示输入语音中包含指定文本,唤醒终端。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

本实施例提供的语音唤醒方法,基于卷积神经网络构建第一语音匹配模型,并在卷积神经网络的基础上,引入u型残差结构,对模型特征进行多次抽象和提取以进行有效分类,提高对关键词检测的准确性,并不断降低模型输出的维度。另外,还对模型进行注意力优化,处理序列过长时模型精度丢失的问题。除此之外,还通过将历史记忆结果与当前输出结果进行融合处理,从而可有效抑制关键词检测跳变和误唤醒,从而解决连续关键词识别问题,提高唤醒准确率。

在一些实施例中,为了进一步降低误唤醒率,可将基于第一语音匹配模型得到第一匹配结果的操作作为一级校验,在第一匹配结果指示输入语音中包含指定文本时,再基于第二语音匹配模型作二级校验,获取第二匹配结果,并在第二匹配结果也指示输入语音中包含指定文本时,再唤醒终端。具体地,请参阅图14,图14示出了本申请又一个实施例提供的语音唤醒方法的流程示意图,于本实施例中,该方法可包括:

步骤s310:获取音频采集器采集的输入语音。

步骤s320:基于第一语音匹配模型对输入语音进行匹配,得到第一概率输出。

步骤s330:获取第一语音匹配模型在当前的第一概率输出之前输出的至少一个概率输出,作为第二概率输出。

步骤s340:将第一概率输出与第二概率输出进行融合,得到更新的第一概率输出。

步骤s350:根据更新的第一概率输出,得到第一语音匹配模型对输入语音进行匹配的第一匹配结果。

步骤s360:若第一匹配结果指示输入语音中包含指定文本,基于第二语音匹配模型对输入语音进行匹配,获取第二匹配结果。

其中,第二语音匹配模型可通过第二训练数据训练得到,其中,第二训练数据可包括多个正样本语音和多个负样本语音,第二训练数据可与第一训练数据相同,也可不同,本实施例对此不做限定。由于都是由包含指定文本的正样本语音、不包含指定文本的负样本语音训练得到,因此第二语音匹配模型与第一语音匹配模型一样,均可对输入语音进行匹配,判断输入语音中是否包含指定文本,并在包含时,获取的第二匹配结果可指示输入语音中包含指定文本。

在一些实施例中,第二语音匹配模型可由神经网络构建得到,神经网络可以为但不限于为卷积神经网络(convolutionalneuralnetwork,cnn)、循环神经网络(recurrentneuralnetwork,rnn)等,本实施例对此不做限定。

其中,第一语音匹配模型与第二语音匹配模型的匹配规则不同,其中,匹配规则为判断输入语音是否包含指定文本的算法,故匹配规则不同表征第一语音匹配模型与第二语音匹配模型的算法不同。作为一种实施方式,第一、第二语音匹配模型可均基于相同的神经网络构建得到,但二者的网络层数或者说网络深度可不同,例如均基于cnn构建得到,二者的卷积层数量可不同。作为另一种实施方式,第一、第二语音匹配模型也可基于完全不同的神经网络构建得到,还可基于部分不同的神经网络构建得到,本实施例对此不做限定。由此,在输入语音通过第一语音匹配模型的第一次校验后,还需经过匹配规则不同的第二语音匹配模型进行第二次校验,使得最终能够通过语音匹配的校验,进入声纹识别的输入语音至少需满足两种匹配规则,由此可提高关键词识别的准确性,降低误唤醒率。

于本实施例中,第一语音匹配模型的复杂程度低于第二语音匹配模型的复杂程度。由此,通过先基于复杂程度较低的第一语音匹配模型作第一次校验匹配,并在校验通过时再基于复杂程度更高的第二语音匹配模型进行校验匹配,实现先由简单算法作一级校验,再由复杂算法作二级校验,由于简单算法所需耗费的功耗和运行资源相对复杂算法更低,从而可在进一步降低误唤醒率的同时,还可在不耗费过多功耗和运行资源的情况下实现初筛,即可在提高唤醒准确率的同时兼顾功耗和运行资源,大大提升用户体验。其中,复杂程度可以是指网络复杂度、网络层数等,例如第二语音匹配模型可比第一语音匹配模型更深,网络层数更多。

在一些实施例中,为了使得第二语音匹配模型可实现准确率更高的关键词识别,作为一种方式,判断第二语音匹配模型的训练是否完成的收敛条件可高于第一语音匹配模型,另外,第二训练数据可比第一训练数据数量更大,场景更复杂。

在一些实施方式中,第一、第二语音匹配模型的算法均可存储于终端本地,并在本地运行,则终端可不依赖网络环境,无需考虑通信时间的消耗,直接在本地运行第一、第二语音匹配模型,有利于提高语音唤醒的效率。在其他一些实施方式中,也可有至少一个模型存储于服务器,本实施例对此不做限定。

进一步地,在一些实施方式中,终端可包括第一芯片、第二芯片,第一语音匹配模型运行于第一芯片,第二语音匹配模型运行于第二芯片,其中,第一芯片的功耗低于第二芯片的功耗。由此,使得复杂程度较低的第一语音匹配模型在低功耗的芯片运行,以在终端处于熄屏状态下,即便持续工作也不会导致过高功耗,从而可支持长时间监听输入语音并作一级校验,实现低功耗的终端语音唤醒。

在一个示例性实施例中,当终端基于音频采集器未采集到语音信号时,第二芯片可处于休眠状态。当终端基于音频采集器采集到语音信号,获取到对应的输入语音时,若输入语音未通过第一语音匹配模型的一级校验,第二芯片仍可处于休眠状态;若通过第一语音匹配模型的一级校验,则第一芯片可发送中断信号,使第二芯片由休眠状态切换为工作状态,并第一芯片可将包含指定文本的语音数据传送给第二芯片,此时可将第一芯片由监听状态切换到休眠状态,基于第二芯片运行第二语音匹配模型以对包含指定文本的语音数据进行二次校验,并得到第二匹配结果。

在另一个示例性实施例中,第一芯片也可一直处于工作状态,音频采集器不断监测和采集语音信号,若监测到语音信号可获取对应的输入语音并送入第一语音匹配模型以对输入语音作一级校验;若未监测到语音信号,或监测到但未通过一级校验时,音频采集器仍继续监测和采集语音信号,送入第一语音匹配模型作一级校验;若监测到语音信号并该语音信号对应的输入语音通过一级校验时,可将包含指定文本的输入语音传送给第二语音匹配模型,同时可控制音频采集器停止采集音频信号,并基于第二语音匹配模型对输入语音进行二级校验,并得到第二匹配结果。

在一种示例性的实施方式中,第一芯片可以为数字信号处理器(digitalsignalprocessor,dsp),第二芯片可以为一种risc微处理器,如arm(advancedriscmachine)芯片。

在一些示例中,arm芯片是一种在终端常用的芯片,通常作为主要处理器在终端被唤醒时工作,arm芯片的计算性能较高,可运行复杂程度更高的算法,但arm芯片处于工作状态下所需的功耗也较高、内存占用率也较高,若在终端处于熄屏状态时,仍保持arm芯片处于工作状态,可能导致过高功耗和内存占用率,但为了实现更准确的唤醒,又需要复杂程度较高的算法,因此本实施例在终端增加比arm芯片功耗低的第一芯片,如dsp芯片,并在第一芯片运行复杂程度相对第二语音匹配模型较低的第一语音匹配模型,从而在较低功耗下,捕捉用户的唤醒词,采用较高的查全率和相对第二语音匹配模型较低的查准率对潜在的用户唤醒场景进行有效识别。

在一些实施例中,第一语音匹配模型基于前述u型残差结构的卷积神经网络以及对卷积神经网络输出的注意力优化,可在硬件限制的基础上,尽可能地增加模型深度、提高对关键词识别的准确率,同时控制模型大小不会过大,可在低功耗的芯片上运行。第二语音匹配模型可采用较大较深的网络得到,作为一种实施方式,第二语音匹配模型可采用更大更深的基于序列的lstm构建得到,使第二语音匹配模型的准确度相较于第一语音匹配模型更高。另外,声纹识别算法也可在第二芯片上运行。

在一个示例中,音频采集器可集成于第一芯片,从而可实现低功耗的音频采集,有利于持续监听周围的音频。

需要说明的是,第一语音匹配模型对输入语音进行一级校验后,可将整个输入语音传送给第二语音匹配模型,也可从输入语音中截取出仅包含指定文本的语音片段,以将该语音片段传送给第二语音匹配模型,从而可省去第二语音匹配模型对不包含指定文本的其他语音片段的识别,提高针对指定文本的关键词识别效率。

若终端处于非熄屏状态,基于第二语音匹配模型对输入语音进行匹配,获取第二匹配结果。由此,在获取到输入语音时,可针对终端是否熄屏采用不同的语音唤醒方案,并在终端处于非熄屏状态时,直接基于第二语音匹配模型对输入语音进行匹配,获取第二匹配结果。

在一些实施方式中,第二语音匹配模型的复杂程度高于第一语音匹配模型,对关键词识别的准确性高于第一语音匹配模型,因而通过在终端处于非熄屏状态时,直接将输入语音送入第二芯片的第二语音匹配模型进行校验,可在提高识别效率的同时仍保持较高的识别准确率。

另外,在一些实施例中,第二语音匹配模型运行于功耗更高的第二芯片,例如arm芯片,而在终端处于非熄屏状态时,第二芯片往往也处于工作状态,则可直接由运行于第二芯片的第二语音匹配模型作一次校验,无需经过第一语音匹配模型,提高识别效率。而且由于第二语音匹配模型可实现的识别准确率高于第一语音匹配模型,因而通过直接由第二芯片作一次校验,也可降低第一芯片运行所带来的功耗。在一些示例中,在终端处于非熄屏状态时,可控制第一芯片处于休眠状态,以尽可能减少功耗。

步骤s370:若第二匹配结果指示输入语音中包含指定文本,唤醒终端。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

在一些实施例中,为了在降低误唤醒率的同时降低终端功耗,延长终端的待机时间,可在终端处于熄屏状态时,先由第一语音匹配模型对输入语音作一级校验,再在一级校验通过后由第二语音匹配模型作二级校验;而在终端不处于熄屏状态时,不作一级校验,直接由第二语音匹配模型对输入语音作二级校验。具体地,请参阅图15,图15示出了本申请再一个实施例提供的语音唤醒方法的流程示意图,于本实施例中,该方法可包括:

步骤s410:获取音频采集器采集的输入语音。

步骤s420:检测终端是否处于熄屏状态。

终端获取到音频采集器采集的输入语音,在对输入语音进行处理前,可先检测终端是否处于熄屏状态,若处于熄屏状态,可执行步骤s130。其中,熄屏状态是指正常关闭背光,熄灭屏幕,当终端处于熄屏状态时可表征终端处于待机状态。在一些实施例中,熄屏也可称为“息屏”,本实施例已给出熄屏状态的定义,对其具体命名不做限定。

作为一种实施方式,终端可通过调用屏幕状态检测接口,来获取当前终端的屏幕状态。其中,屏幕状态包括熄屏状态以及非熄屏状态,熄屏状态的功耗低于非熄屏状态的功耗。

在一些示例中,可通过调用屏幕状态检测接口来进行检测。例如,若终端运行安卓(android)系统,可通过调用powermanager的isscreenon,根据返回的标识确定终端是否处于熄屏状态,例如,若返回的标识为“false”,则可确定终端处于熄屏状态;若返回的标识为“true”,则可确定终端处于非熄屏状态。

在一些实施例中,若终端处于非熄屏状态,可仅对输入语音作一次语音匹配,以提高语音唤醒效率。具体实施方式可见后述实施例,在此不再赘述。于本实施例中,检测终端是否处于熄屏状态之后,还包括:

若终端处于熄屏状态,可执行步骤s430;

若终端不处于熄屏状态,可执行步骤s480。

步骤s430:基于第一语音匹配模型对输入语音进行匹配,得到第一概率输出。

步骤s440:获取第一语音匹配模型在当前的第一概率输出之前输出的至少一个概率输出,作为第二概率输出。

步骤s450:将第一概率输出与第二概率输出进行融合,得到更新的第一概率输出。

步骤s460:根据更新的第一概率输出,得到第一语音匹配模型对输入语音进行匹配的第一匹配结果。

步骤s470:判断第一匹配结果是否指示输入语音中包含指定文本。

于本实施例中,若第一匹配结果指示输入语音中包含指定文本,可执行步骤s480;若第一匹配结果指示输入语音中不包含指定文本,可返回执行步骤s410,以继续采集输入语音。

另外,在一些可能的实施例中,也可结束本方法,在此不作限定。

步骤s480:基于第二语音匹配模型对输入语音进行匹配,获取第二匹配结果。

步骤s490:若第二匹配结果指示输入语音中包含指定文本,唤醒终端。

若第二匹配结果指示输入语音中包含指定文本,则输入语音通过二次校验,第一、第二语音匹配模型均从输入语音中识别出指定文本,此时可唤醒终端。

作为一种实施方式,第二语音匹配模型均可运行于第二芯片,从而可在硬件支持复杂算法的基础上,采用更大更深的模型实现准确率更高的识别。

在一些实施例中,若第二匹配结果指示输入语音中不包含指定文本,则对输入语音的二级校验失败。

作为另一种实施方式,在对输入语音基于第二语音匹配模型进行二级校验时,第一、第二芯片均处于工作状态,则若二级校验失败,可控制第二芯片由工作状态切换至休眠状态,以降低功耗。

需要说明的是,本实施例中未详细描述的部分可以参考前述实施例,在此不再赘述。

本实施例提供的语音唤醒方法,通过在获取到输入语音时,先检测终端是否处于熄屏状态,并在熄屏状态时先基于第一语音匹配模型对输入语音作一级校验,并在一级校验通过后基于第二匹配模型对输入语音进行二级校验,在二级校验也通过后才唤醒终端。由此,通过在终端处于熄屏状态时,基于匹配规则不同的第一、第二语音匹配模型实现两次校验,使得能够唤醒终端的输入语音至少需通过两个不同匹配规则的校验,才可成功唤醒终端,可大大降低误唤醒率,而且将终端从熄屏状态唤醒将耗费较大功耗,因此在熄屏状态时作两次校验,可在降低误唤醒率的同时降低终端功耗。

另外,在一些实施例中,无论是仅由第一语音匹配模型作一级校验还是仅由第二语音匹配模型作二级校验,还是先由第一语音匹配模型作一级校验后,再在一级校验通过后由第二语音匹配模型作二级校验,在判断输入语音中包含指定文本时,可将包含指定文本的语音进行声纹识别,以进一步提高终端使用安全,避免他人随意唤醒终端,造成不必要功耗或给终端带来安全威胁。

在一种实施例中,以在二级校验通过后进行声纹识别为例,说明声纹识别的操作方法,具体地,请参阅图16,图16示出了本申请一个示例性实施例提供的图15中步骤s490的流程示意图,于本实施例中,步骤s490可包括:

步骤s491:若第二匹配结果指示输入语音中包含指定文本,对输入语音进行声纹识别。

若第二匹配结果指示输入语音中包含指定文本,则输入语音通过二级校验,第一、第二语音匹配模型均从输入语音中识别出指定文本,此时可将输入语音送入声纹识别算法,以对输入语音进行声纹识别。

在一些实施方式中,终端可预先存储有声纹模板,声纹模板的数量可以是多个,例如可存储有用户a的声纹模板、用户b的声纹模板等。声纹模板用于与输入语音的声纹特征进行匹配。在第二匹配结果指示输入语音中包含指定文本时,可提取输入语音中的声纹特征,将该声纹特征在声纹模板中进行匹配,若存在与该声纹特征匹配的声纹模板,可判定声纹识别通过验证,若不存在与该声纹特征匹配的声纹模板,可判定声纹识别未通过验证。

在一些实施例中,声纹模板的存储可通过前述唤醒词设置页面实现,具体地,用户可通过唤醒词设置页面录入包含指定文本的语音,由终端从输入语音中提取声纹特征作为该指定文本对应的一个声纹模板,进行存储,以供生物呢识别时进行声纹验证。

在一些实施例中,声纹识别算法可与第二语音匹配模型一起运行于第二芯片。

步骤s492:若声纹识别通过验证,唤醒终端。

若声纹识别通过验证,则输入语音不仅通过了两个不同匹配规则的校验,而且输入语音中的声纹特征也通过了验证,此时判定语音唤醒成功,唤醒终端,可大大降低误唤醒率。

若声纹识别通过验证,可唤醒终端执行预设操作。作为一种实施方式,终端可预先存储有声纹模板与预设操作之间的映射关系表,则根据与输入语音的声纹特征匹配的声纹模板,可确定对应的预设操作,则可唤醒终端执行该预设操作。其中,预设操作可包括但不限于亮屏、解锁等操作,本实施例对此不做限定。

在一些实施方式中,若声纹识别通过验证,可唤醒终端,使终端从熄屏状态切换至非熄屏状态,该非熄屏状态可包括屏幕亮起且显示解锁界面的待解锁状态,还可包括屏幕亮起且未显示解锁界面的已解锁状态。

在另一些实施方式中,若声纹识别通过验证,可唤醒终端并执行解锁操作,使得用户可直接通过语音解锁终端,并且基于本方法可实现准确、安全且便捷的解锁。例如,用户对终端说“小欧小欧”,并声纹识别通过验证后,终端屏幕可亮起且显示解锁后的界面,可以显示上次锁屏前的界面,也可显示桌面,在此不做限定。

在又一些实施方式中,若声纹识别通过验证,还可获取环境信息,确定当前场景是否为指定支付场景,若是指定支付场景,可唤醒终端并完成指定支付场景对应的支付操作。在一个示例中,终端可预先录入公交卡信息,在用户乘坐公交车时,用户可将终端靠近刷卡机,并说出唤醒词“小欧小欧”,此时终端可获取刷卡机发出的nfc信号,以确定当前场景为公交支付场景,并唤醒终端,基于预先录入的公交卡信息完成支付,由此可实现便捷安全的支付。

可以理解的是,以上仅为示例,本实施例提供的方法并不局限于上述场景中,但考虑篇幅原因在此不再穷举。另外,前述唤醒终端执行的操作可同样适用于前述任一实施例。

在一些实施例中,步骤s492的具体实施方式可为若声纹识别通过验证,唤醒终端执行目标指令,则其中,目标指令与输入语音的声纹特征匹配的声纹模板绑定。具体地,终端可预存有声纹模板与控制指令的映射关系表,则若声纹识别通过验证,可根据与输入语音的声纹特征匹配的声纹模板,获取对应的控制指令作为目标指令,并唤醒终端执行该目标指令。其中,控制指令可以是解锁操作、激活语音助手、支付操作等,本实施例对此不做限定。

在一些实施方式中,前述映射关系表还可存储有终端的屏幕状态、当前显示界面或其他当前终端信息,与声纹模板和控制指令对应存储,则在输入语音通过声纹识别时,可根据输入语音的声纹特征和当前终端信息,确定对应的控制指令。

在一些实施例中,非熄屏状态可包括屏幕亮起且显示解锁界面的待解锁状态,还可包括屏幕亮起且未显示解锁界面的已解锁状态。则基于前述实施方式,若终端处于所述待解锁状态,则在声纹识别通过验证时,可唤醒终端执行解锁操作、激活语音助手等。若终端处于所述已解锁状态,或终端当前显示具有支付功能的应用程序的界面,则在声纹识别通过验证时,可唤醒终端执行支付操作等,即基于本方案实现基于声纹识别的身份认证。

可以理解的是,以上仅为示例,本实施例提供的方法并不局限于上述场景中,但考虑篇幅原因在此不再穷举。

另外,在一些实施例中,若终端处于非熄屏状态,可先检测终端是否预存有声纹模板,若未预存有声纹模板,可识别输入语音,确定输入语音对应的文本内容作为其指定文本,并提取输入语音的声纹特征作为一个声纹模板,将输入语音对应的指定文本和声纹模板对应存储于终端,并基于指定文本和声纹模板训练第一、第二语音匹配模型以及声纹识别算法,以在下次获取到输入语音时,可对输入语音进行校验,判断输入语音中是否包含指定文本,并在包含时基于预存的声纹模板对输入语音对应的声纹特征进行校验。由此,可在终端未预先存储有声纹模板时,对用户输入语音进行关键词检测和存储,以在下次实现本申请实施例提供的语音唤醒方法。

作为一种实施方式,若未预存有声纹模板,音频采集器可持续采集语音信号,使得用户可重复说出多次待存储的唤醒词,以用于后续的关键词检测和存储。可以理解的是,重复次数越多,存储的声纹模板越准确,后续对第一、第二语音匹配模型以及声纹识别算法的训练效果越好,识别越稳定。

在一些实施例中,若声纹识别未通过验证或二级校验失败,可控制音频采集器继续监测和采集语音信号,并获取对应的输入语音送入第一语音匹配模型。

在另一些实施例中,若声纹识别未通过验证或二级校验失败,还可控制第二芯片由工作状态切换至休眠状态,以降低第二芯片所引入的较大功耗,并控制第一芯片由休眠状态切换至监听状态,继续监测和采集语音信号。

由此,本实施例提供的语音唤醒方法,通过在获取到输入语音时,先检测终端是否处于熄屏状态,并在熄屏状态时先基于第一语音匹配模型对输入语音作一级校验,并在一级校验通过后基于第二匹配模型对输入语音进行二级校验,在二级校验也通过后才对输入语音的声纹进行声纹识别,声纹识别通过验证后唤醒终端。由此,通过在终端处于熄屏状态时,基于匹配规则不同的第一、第二语音匹配模型实现两次校验,并在两次校验均通过后才进行声纹识别,使得能够唤醒终端的输入语音至少需通过两个不同匹配规则的校验以及声纹识别,才可成功唤醒终端,可大大降低误唤醒率,而且将终端从熄屏状态唤醒将耗费较大功耗,因此在熄屏状态时作两次校验,可在降低误唤醒率的同时降低终端功耗。

并在一个具体示例中,由低功耗的第一芯片运行第一语音匹配模型,以捕捉全天场景下的输入语音,并对输入语音作一级校验,并在一级校验通过后,将输入语音传输至由第二芯片运行第二语音匹配模型,由第二语音匹配模型对输入语音作二级校验,并在二级校验也通过后,才对包含指定文本的语音进行声纹识别,以在声纹识别通过验证后,才唤醒终端,由此不仅可实现全天低功耗且查全率较高的一级校验,并由二级校验进行查准率比一级校验更高的二级校验,使得终端可更准确地对输入语音中是否包含指定文本进行判断,并在二级校验通过后还要进行声纹识别,避免他人随意唤醒终端,提高终端使用安全。

请参阅图17,其示出了本申请实施例提供的一种语音唤醒装置1700的结构框图,该语音唤醒装置1700可应用于上述终端,该语音唤醒装置1700可以包括:语音获取模块1710、第一输出模块1720、第二输出模块1730、输出更新模块1740、结果获取模块1750以及终端唤醒模块1760,具体地:

语音获取模块,用于获取所述音频采集器采集的输入语音;

第一输出模块,用于基于第一语音匹配模型对所述输入语音进行匹配,得到第一概率输出,所述第一概率输出用于指示所述输入语音中包含所述指定文本的概率;

第二输出模块,用于获取所述第一语音匹配模型在当前的所述第一概率输出之前输出的至少一个概率输出,作为第二概率输出;

输出更新模块,用于将所述第一概率输出与所述第二概率输出进行融合,得到更新的第一概率输出;

结果获取模块,用于将所述更新的第一概率输出作为所述第一语音匹配模型对所述输入语音进行匹配的第一匹配结果;终端唤醒模块,用于若所述第一匹配结果指示所述输入语音中包含所述指定文本,唤醒所述终端。

进一步地,所述输出更新模块包括:历史提取子模块、第一历史融合子模块、注意力处理子模块以及第二历史融合子模块,其中:

历史提取子模块,用于对所述第二概率输出进行特征提取得到第一历史特征与第二历史特征;

第一历史融合子模块,用于将所述第一概率输出与所述第一历史特征进行融合,得到所述第二概率输出对应的历史注意力权重向量;

注意力处理子模块,用于根据所述历史注意力权重向量对所述第二历史特征进行加权处理,获得历史融合输出;

第二历史融合子模块,用于将所述第一概率输出与所述历史融合输出进行融合,得到更新的第一概率输出。

进一步地,所述第一语音匹配模型包括第一、第二双向循环神经网络层,所述历史提取子模块包括:第一历史提取单元以及第二历史提取单元,其中:

第一历史提取单元,用于通过所述第一双向循环神经网络层对所述历史注意力输出进行特征提取得到第一历史特征;

第二历史提取单元,用于通过所述第二双向循环神经网络层对所述历史注意力输出进行特征提取得到第二历史特征。

进一步地,所述第二历史融合子模块包括:系数提取单元、第一输出单元以及第二输出单元,其中:

系数提取单元,用于对所述第一概率输出进行特征提取得到所述第一概率输出对应的输出系数;

第一输出单元,用于若所述输出系数大于预设结果阈值,将所述第一概率输出作为所述更新的第一概率输出;

第二输出单元,用于若所述输出系数小于或等于预设结果阈值,将所述历史融合输出作为所述更新的第一概率输出。

进一步地,所述第一语音匹配模型为卷积神经网络模型,所述第一输出模块包括:声学特征提取子模块以及第一概率输出子模块,其中:

声学特征提取子模块,用于提取所述输入语音的声学特征,通过所述第一语音匹配模型对所述声学特征进行卷积运算,获得卷积神经网络输出;

第一概率输出子模块,用于将所述卷积神经网络输出与所述指定文本对应的声学特征进行匹配,获取第一概率输出。

进一步地,所述第一概率输出子模块包括:权重提取单元、加权处理单元以及概率输出单元,其中:

权重提取单元,用于将所述卷积神经网络输出按通道进行注意力权重提取,获得所述卷积神经网络输出对应的注意力权重向量;

加权处理单元,用于根据所述注意力权重向量对所述卷积神经网络输出进行加权处理,获得注意力输出特征;

概率输出单元,用于将所述注意力输出特征与所述指定文本对应的声学特征进行匹配,获取第一概率输出。

进一步地,所述终端唤醒模块包括:二级校验子模块以及二级唤醒子模块,其中:

二级校验子模块,用于若所述第一匹配结果指示所述输入语音中包含所述指定文本,基于第二语音匹配模型对所述输入语音进行匹配,获取第二匹配结果,所述第一语音匹配模型与所述第二语音匹配模型的匹配规则不同;

二级唤醒子模块,用于若所述第二匹配结果指示所述输入语音中包含所述指定文本,唤醒所述终端。

进一步地,所述终端包括第一芯片、第二芯片,所述第一语音匹配模型运行于所述第一芯片,所述第二语音匹配模型运行于所述第二芯片,其中,所述第一芯片的功耗低于所述第二芯片的功耗。

进一步地,所述第一芯片为dsp芯片,所述第二芯片为arm芯片。

进一步地,所述二级唤醒子模块包括:声纹识别单元以及声纹唤醒单元,其中:

声纹识别单元,用于若所述第二匹配结果指示所述输入语音中包含所述指定文本,对所述输入语音进行声纹识别;

声纹唤醒单元,用于若所述声纹识别通过验证,唤醒所述终端。

进一步地,所述第一输出模块包括:熄屏检测子模块以及第一输出子模块,其中:

熄屏检测子模块,用于检测所述终端是否处于熄屏状态;

第一输出子模块,用于基于第一语音匹配模型对所述输入语音进行匹配,得到第一概率输出。

进一步地,所述检测所述终端是否处于熄屏状态之后,所述语音唤醒装置1700还包括:非熄屏匹配模块以及非熄屏唤醒模块,其中:

非熄屏匹配模块,用于若所述终端不处于熄屏状态,基于所述第二语音匹配模型对所述输入语音进行匹配,获取第二匹配结果;

非熄屏唤醒模块,用于若所述第二匹配结果指示所述输入语音中包含所述指定文本,唤醒所述终端。

本申请实施例提供的语音唤醒装置用于实现前述方法实施例中相应的语音唤醒方法,并具有相应的方法实施例的有益效果,在此不再赘述。

在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

请参考图18,其示出了本申请实施例提供的一种电子设备的结构框图。该电子设备1800可以是智能手机、平板电脑、电子书、笔记本电脑、个人计算机等能够运行应用程序的电子设备。本申请中的电子设备1800可以包括一个或多个如下部件:处理器1810、存储器1820以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器1820中并被配置为由一个或多个处理器1810执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。

处理器1810可以包括一个或者多个处理核。处理器1810利用各种接口和线路连接整个电子设备1800内的各个部分,通过运行或执行存储在存储器1820内的指令、程序、代码集或指令集,以及调用存储在存储器1820内的数据,执行电子设备1800的各种功能和处理数据。可选地,处理器1810可以采用dsp芯片、arm芯片、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器1810可集成中央处理器(centralprocessingunit,cpu)、图像处理器(graphicsprocessingunit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1810中,单独通过一块通信芯片进行实现。

存储器1820可以包括随机存储器(randomaccessmemory,ram),也可以包括只读存储器(read-onlymemory)。存储器1820可用于存储指令、程序、代码、代码集或指令集。存储器1820可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储电子设备1800在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。

在一些实施例中,电子设备1800设置有音频采集器,可用于采集语音信号,并传输至处理器1810进行处理,还可传输至存储器1820进行数据存储。

在一些实施方式中,音频采集器可设置于处理器1810内,例如,处理器1810可包括第一芯片和第二芯片,音频采集器可集成于第一芯片。作为一个施例,第一芯片可为dsp芯片,第二芯片可为arm芯片。

请参考图19,其示出了本申请实施例提供的一种计算机可读取存储介质的结构框图。该计算机可读取存储介质1900中存储有程序代码,所述程序代码可被处理器调用执行上述实施例中所描述的方法。

计算机可读取存储介质1900可以是诸如闪存、eeprom(电可擦除可编程只读存储器)、eprom、硬盘或者rom之类的电子存储器。可选地,计算机可读取存储介质1900包括非易失性计算机可读取存储介质(non-transitorycomputer-readablestoragemedium)。计算机可读取存储介质1900具有执行上述方法中的任何方法步骤的程序代码1910的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码1910可以例如以适当形式进行压缩。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1