基于人工智能的语音唤醒方法、装置和计算机设备与流程

文档序号:11202349阅读:970来源:国知局
基于人工智能的语音唤醒方法、装置和计算机设备与流程

本申请涉及语音识别技术领域,尤其涉及一种基于人工智能的语音唤醒方法、装置和计算机设备。



背景技术:

在智能家居或者语音交互系统中,语音唤醒(wakeword)技术应用非常广泛。但是语音唤醒的效果和运算量大大地降低了语音唤醒的实际应用体验,提高了语音唤醒对设备硬件的要求,例如:如果语音唤醒的误唤醒率在应用中大于一个阈值,如1个/3小时,这样的唤醒误触发频率就有可能引起用户的反感;另一方面,如果语音唤醒的运算量超出了一些低端芯片的运算能力,就会制约很多产品使用语音唤醒技术。

现有的相关技术中,语音唤醒使用的技术是关键词识别(keyword-spotting)方法,通过设计一个小的深度神经网络(deepneuralnetworks;以下简称:dnn)的模型,搭建一个巧妙的小解码网络,配合一些关键词检出的小技巧(trick),实现语音唤醒功能。

但是,上述关键词识别方法的语音唤醒技术,模型参数量较大,而且针对不同的唤醒词,填充词(filler)的设计均要改变,相应的解码参数和检出的trick都要进行调整,很难有一个统一的算法来确保每一个唤醒词的效果处于一个稳定的水平,而且这种设定好filler之后,唤醒词的误识水平就固定了,并不能够灵活方便的对误识的唤醒词进行调整和学习。



技术实现要素:

本申请的目的旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本申请的第一个目的在于提出一种基于人工智能的语音唤醒方法。该方法可以有效地降低基于卷积神经网络的语音唤醒模型的参数量,从而达到降低运算量的目的,另外该方法通过使用后验概率的策略,可以使得运算量进一步减小;并且该方法针对唤醒词和非唤醒词有更好的区分度,可以提升语音唤醒的效果。

本申请的第二个目的在于提出一种基于人工智能的语音唤醒装置。

本申请的第三个目的在于提出一种计算机设备。

本申请的第四个目的在于提出一种计算机可读存储介质。

为了实现上述目的,本申请第一方面实施例的基于人工智能的语音唤醒方法,包括:对在线录制的语音进行加窗分帧操作,获得至少一个语音帧;对所述语音帧进行特征提取,获得语音特征;通过基于卷积神经网络的语音唤醒模型对所述语音帧包含的静态的语音特征进行计算,获得所述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率;当所述语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,确定所述在线录制的语音中包括唤醒词。

本申请实施例的基于人工智能的语音唤醒方法中,对在线录制的语音进行加窗分帧操作,获得至少一个语音帧之后,对上述语音帧进行特征提取,获得语音特征,然后通过基于卷积神经网络的语音唤醒模型对上述语音帧包含的静态的语音特征进行计算,获得上述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率,当上述语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,确定在线录制的语音中包括唤醒词,上述基于卷积神经网络的语音唤醒模型的输入特征较少,从而可以达到降低运算量的目的,另外该方法通过使用后验概率的策略,使得运算量进一步减小;并且该方法针对唤醒词和非唤醒词有更好的区分度,可以提升语音唤醒的效果;另外,该方法不需要针对每一个唤醒词挑选不同的非唤醒词,提高了该方法的通用性。

为了实现上述目的,本申请第二方面实施例的基于人工智能的语音唤醒装置,包括:分帧模块,用于对在线录制的语音进行加窗分帧操作,获得至少一个语音帧;提取模块,用于对所述分帧模块获得的语音帧进行特征提取,获得语音特征;计算模块,用于通过基于卷积神经网络的语音唤醒模型对所述语音帧包含的静态的语音特征进行计算,获得所述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率;唤醒模块,用于当所述计算模块获得的所述语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,确定所述在线录制的语音中包括唤醒词。

本申请实施例的基于人工智能的语音唤醒装置中,分帧模块对在线录制的语音进行加窗分帧操作,获得至少一个语音帧之后,提取模块对上述语音帧进行特征提取,获得语音特征,然后计算模块通过基于卷积神经网络的语音唤醒模型对上述语音帧包含的静态的语音特征进行计算,获得上述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率,当上述语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,确定模块确定在线录制的语音中包括唤醒词,上述基于卷积神经网络的语音唤醒模型的输入特征较少,从而可以达到降低运算量的目的,另外该装置通过使用后验概率的策略,使得运算量进一步减小;并且该装置针对唤醒词和非唤醒词有更好的区分度,可以提升语音唤醒的效果;另外,该装置不需要针对每一个唤醒词挑选不同的非唤醒词,提高了该装置的通用性。

为了实现上述目的,本申请第三方面实施例的计算机设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的方法。

为了实现上述目的,本申请第四方面实施例的计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请基于人工智能的语音唤醒方法一个实施例的流程图;

图2为本申请基于人工智能的语音唤醒方法另一个实施例的流程图;

图3为本申请基于人工智能的语音唤醒方法再一个实施例的流程图;

图4为本申请基于人工智能的语音唤醒方法再一个实施例的流程图;

图5为本申请基于人工智能的语音唤醒方法再一个实施例的流程图;

图6为本申请基于人工智能的语音唤醒装置一个实施例的结构示意图;

图7为本申请基于人工智能的语音唤醒装置另一个实施例的结构示意图;

图8为本申请计算机设备一个实施例的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

人工智能(artificialintelligence;以下简称:ai)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

图1为本申请基于人工智能的语音唤醒方法一个实施例的流程图,如图1所示,上述基于人工智能的语音唤醒方法可以包括:

步骤101,对在线录制的语音进行加窗分帧操作,获得至少一个语音帧。

具体地,在对在线录制的语音进行特征提取时,需要先对上述语音进行加窗分帧操作。举例来说,窗长为25毫秒的语音,相邻帧之间的帧移为10毫秒,也就是说,每10毫秒语音划分为一个语音帧。

步骤102,对上述语音帧进行特征提取,获得语音特征。

具体地,在对在线录制的语音进行加窗分帧操作之后,就可以对获得的语音帧进行特征提取,获得语音特征,本实施例中,上述语音特征可以为滤波器组(filterbank;以下简称:fbank)特征,也可以为其他的语音特征,例如梅尔频率倒谱系数(melfrequencycepstrumcoefficient;以下简称:mfcc)特征,本实施例对此不作限定,但本实施例以上述语音特征为fbank特征为例进行说明。

步骤103,通过基于卷积神经网络(convolutionalneuralnetwork;以下简称:cnn)的语音唤醒模型对上述语音帧包含的静态的语音特征进行计算,获得上述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率。

本实施例中,上述语音帧包含的静态的语音特征包括:当前语音帧、上述当前语音帧之前第一数量的语音帧和上述当前语音帧之后第二数量的语音帧所包含的静态的语音特征。

其中,上述第一数量和第二数量可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述第一数量和第二数量的大小不作限定,举例来说,上述第一数量可以为23,上述第二数量可以为8。

具体地,上述基于cnn的语音唤醒模型可以为6层的cnn模型,为提高语音唤醒性能,上述基于cnn的语音唤醒模型使用连续多帧包含的静态的fbank特征作为输入,本实施例中,上述基于cnn的语音唤醒模型使用当前语音帧、当前语音帧之前的23个语音帧和当前语音帧之后的8个语音帧所包含的静态的fbank特征作为输入。

本实施例中,基于cnn的语音唤醒模型的输出至少包括两个节点,分别为非唤醒词类别(即filler类别)和唤醒词类别,对于输入的上述语音帧包含的静态的语音特征,基于cnn的语音唤醒模型经过计算,可以输出上述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率。

在具体实现时,可以将上述唤醒词类别再划分为两个类别,也就是说,基于cnn的语音唤醒模型的输出可以包括三个节点,一个非唤醒词类别(即filler类别)和两个唤醒词类别,本实施例对基于cnn的语音唤醒模型的输出中所包含的唤醒词类别的个数不作限定。

步骤104,当上述语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,确定上述在线录制的语音中包括唤醒词。

其中,上述预定阈值可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述预定阈值的大小不作限定,举例来说,上述预定阈值可以为75%。

上述基于人工智能的语音唤醒方法中,对在线录制的语音进行加窗分帧操作,获得至少一个语音帧之后,对上述语音帧进行特征提取,获得语音特征,然后通过基于卷积神经网络的语音唤醒模型对上述语音帧包含的静态的语音特征进行计算,获得上述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率,当上述语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,确定在线录制的语音中包括唤醒词,上述基于卷积神经网络的语音唤醒模型的输入特征较少,从而可以达到降低运算量的目的,另外该方法通过使用后验概率的策略,使得运算量进一步减小;并且该方法针对唤醒词和非唤醒词有更好的区分度,可以提升语音唤醒的效果;另外,该方法不需要针对每一个唤醒词挑选不同的非唤醒词,提高了该方法的通用性。

图2为本申请基于人工智能的语音唤醒方法另一个实施例的流程图,如图2所示,步骤101之前,还可以包括:

步骤201,对用户输入的语音进行在线录制。

本实施例中,对于具有语音唤醒功能的设备来说,上述设备的录音模块一直对外部的声音进行在线录制,以便在用户输入语音时,对用户输入的语音进行在线录制,以触发后续流程的执行。

图3为本申请基于人工智能的语音唤醒方法再一个实施例的流程图,如图3所示,步骤103之后,还可以包括:

步骤301,对预定数量的语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率分别进行累加,获得预定数量的语音帧包含的静态的语音特征对应于非唤醒词类别的后验概率,以及预定数量的语音帧包含的静态的语音特征对应于唤醒词类别的后验概率。

这时,步骤104中,上述语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值可以为:预定数量的语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值。

也就是说,步骤104可以为:

步骤302,当预定数量的语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,确定上述在线录制的语音中包括唤醒词。

也就是说,本实施例在唤醒词检出上,采用固定窗长的平滑策略,对预定数量的语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率分别进行累加,当预定数量的语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,即确定检出唤醒词,也就是确定上述在线录制的语音中包括唤醒词。

其中,上述预定数量可以在具体实现时根据系统性能和/或实现需求自行设定,本实施例对上述预定数量的大小不作限定。

图4为本申请基于人工智能的语音唤醒方法再一个实施例的流程图,如图4所示,步骤103之前,还包括:

步骤401,基于联结主义时间分类器(connectionisttemporalclassifier;以下简称:ctc)的训练准则对基于cnn的初始模型进行训练,获得上述基于cnn的语音唤醒模型。

本实施例中,对6层的cnn模型的训练准则由交叉熵(crossentropy)变为ctc,基于ctc的训练准则对6层的基于cnn的初始模型进行训练,可以获得上述基于cnn的语音唤醒模型。

图5为本申请基于人工智能的语音唤醒方法再一个实施例的流程图,如图5所示,本申请图4所示实施例中,步骤401可以包括:

步骤501,利用训练数据,基于ctc的训练准则对基于cnn的初始模型进行训练,获得基于cnn的种子模型。

步骤502,通过测试数据对上述基于cnn的种子模型进行测试,获得上述基于cnn的种子模型误识别的测试数据。

步骤503,通过上述误识别的测试数据对上述基于cnn的种子模型进行再次训练,直至上述基于cnn的种子模型在开发集上收敛,获得上述基于cnn的语音唤醒模型。

具体地,通过上述误识别的测试数据对上述基于cnn的种子模型进行再次训练可以为:将上述基于cnn的种子模型误识别的测试数据添加到步骤501中提到的训练数据中,然后再利用添加了这些测试数据的训练数据,对上述基于cnn的种子模型进行再次训练,重复步骤502与步骤503,直至上述基于cnn的种子模型在开发集上收敛,获得上述基于cnn的语音唤醒模型。

其中,上述开发集是不同于步骤501中的训练数据,也不同于步骤502中的测试数据的一个数据集,上述开发集用于对训练获得的基于cnn的种子模型的唤醒性能进行监控,以获得最终的基于cnn的语音唤醒模型;其中,上述基于cnn的种子模型在开发集上收敛,是指基于cnn的种子模型在开发集上的唤醒性能不再提高。

也就是说,利用添加了上述基于cnn的种子模型误识别的测试数据的训练数据,对上述基于cnn的种子模型进行再次训练之后,在每一轮训练完成之后,在开发集上对本轮训练获得的基于cnn的种子模型的唤醒性能进行监测,一般来说,基于cnn的种子模型在开发集上的唤醒性能是先下降,然后经过多轮训练之后,基于cnn的种子模型在开发集上的唤醒性能会慢慢提高,直至基于cnn的种子模型在开发集上的唤醒性能不再提高,就可以确定上述基于cnn的种子模型在开发集上收敛,这时获得的基于cnn的种子模型即为最终获得的基于cnn的语音唤醒模型。

本申请实施例提供的基于人工智能的语音唤醒方法,通过使用cnn-ctc的方案,大大地缩小了基于cnn的语音唤醒模型的输出层的节点数,从而有效地降低了基于cnn的语音唤醒模型的参数量,达到降低运算量的目的;通过使用后验概率平滑的策略,使得运算量进一步减小;另外,本申请实施例提供的基于人工智能的语音唤醒方法中使用一个非唤醒词(filler)类别,增加了训练的灵活性,使得上述基于人工智能的语音唤醒方法非常的通用,不需要再针对每一个唤醒词挑选不同的filler;本申请实施例提供的基于人工智能的语音唤醒方法中的基于cnn的语音唤醒模型通过自我学习调优的方法,可以更好地提升语音唤醒的效果,另外,上述基于cnn的语音唤醒模型的输出层简单,目标鲜明,针对唤醒词和非唤醒词有更好的区分度,可以进一步提升语音唤醒的效果。

图6为本申请基于人工智能的语音唤醒装置一个实施例的结构示意图,本申请实施例中的基于人工智能的语音唤醒装置可以作为具有语音唤醒功能的设备实现本申请实施例提供的基于人工智能的语音唤醒方法。如图6所示,上述基于人工智能的语音唤醒装置可以包括:分帧模块61、提取模块62、计算模块63和唤醒模块64;

其中,分帧模块61,用于对在线录制的语音进行加窗分帧操作,获得至少一个语音帧;具体地,在对在线录制的语音进行特征提取时,分帧模块61需要先对上述语音进行加窗分帧操作。举例来说,窗长为25毫秒的语音,相邻帧之间的帧移为10毫秒,也就是说,每10毫秒语音划分为一个语音帧。

提取模块62,用于对分帧模块61获得的语音帧进行特征提取,获得语音特征;具体地,在分帧模块61对在线录制的语音进行加窗分帧操作之后,提取模块62就可以对获得的语音帧进行特征提取,获得语音特征,本实施例中,上述语音特征可以为fbank特征,也可以为其他的语音特征,例如mfcc特征,本实施例对此不作限定,但本实施例以上述语音特征为fbank特征为例进行说明。

计算模块63,用于通过基于cnn的语音唤醒模型对上述语音帧包含的静态的语音特征进行计算,获得上述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率;本实施例中,上述语音帧包含的静态的语音特征包括:当前语音帧、上述当前语音帧之前第一数量的语音帧和上述当前语音帧之后第二数量的语音帧所包含的静态的语音特征。

其中,上述第一数量和第二数量可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述第一数量和第二数量的大小不作限定,举例来说,上述第一数量可以为23,上述第二数量可以为8。

具体地,上述基于cnn的语音唤醒模型可以为6层的cnn模型,为提高语音唤醒性能,上述基于cnn的语音唤醒模型使用连续多帧包含的静态的fbank特征作为输入,本实施例中,上述基于cnn的语音唤醒模型使用当前语音帧、当前语音帧之前的23个语音帧和当前语音帧之后的8个语音帧所包含的静态的fbank特征作为输入。

本实施例中,基于cnn的语音唤醒模型的输出至少包括两个节点,分别为非唤醒词类别(即filler类别)和唤醒词类别,对于输入的上述语音帧包含的静态的语音特征,基于cnn的语音唤醒模型经过计算,可以输出上述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率。

在具体实现时,可以将上述唤醒词类别再划分为两个类别,也就是说,基于cnn的语音唤醒模型的输出可以包括三个节点,一个非唤醒词类别(即filler类别)和两个唤醒词类别,本实施例对基于cnn的语音唤醒模型的输出中所包含的唤醒词类别的个数不作限定。

唤醒模块64,用于当计算模块63获得的上述语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,确定上述在线录制的语音中包括唤醒词。

其中,上述预定阈值可以在具体实现时,根据系统性能和/或实现需求等自行设定,本实施例对上述预定阈值的大小不作限定,举例来说,上述预定阈值可以为75%。

上述基于人工智能的语音唤醒装置中,分帧模块61对在线录制的语音进行加窗分帧操作,获得至少一个语音帧之后,提取模块62对上述语音帧进行特征提取,获得语音特征,然后计算模块63通过基于卷积神经网络的语音唤醒模型对上述语音帧包含的静态的语音特征进行计算,获得上述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率,当上述语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,确定模块64确定在线录制的语音中包括唤醒词,上述基于卷积神经网络的语音唤醒模型的输入特征较少,从而可以达到降低运算量的目的,另外该装置通过使用后验概率的策略,使得运算量进一步减小;并且该装置针对唤醒词和非唤醒词有更好的区分度,可以提升语音唤醒的效果;另外,该装置不需要针对每一个唤醒词挑选不同的非唤醒词,提高了该装置的通用性。

图7为本申请基于人工智能的语音唤醒装置另一个实施例的结构示意图,与图6所示的基于人工智能的语音唤醒装置相比,不同之处在于,图7所示的基于人工智能的语音唤醒装置还可以包括:

录制模块65,用于在分帧模块61对在线录制的语音进行加窗分帧操作,获得至少一个语音帧之前,对用户输入的语音进行在线录制。

本实施例中,对于具有语音唤醒功能的设备来说,录制模块65一直对外部的声音进行在线录制,以便在用户输入语音时,对用户输入的语音进行在线录制,以触发后续流程的执行。

进一步地,本实施例中,计算模块63,还用于在获得上述语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率之后,对预定数量的语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率分别进行累加,获得预定数量的语音帧包含的静态的语音特征对应于非唤醒词类别的后验概率,以及预定数量的语音帧包含的静态的语音特征对应于唤醒词类别的后验概率;

这时,上述语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值包括:预定数量的语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值。

也就是说,本实施例在唤醒词检出上,采用固定窗长的平滑策略,计算模块63对预定数量的语音帧包含的静态的语音特征对应于非唤醒词类别和唤醒词类别的后验概率分别进行累加,当预定数量的语音帧包含的静态的语音特征对应于唤醒词类别的后验概率大于或等于预定阈值时,确定模块64即确定检出唤醒词,也就是确定上述在线录制的语音中包括唤醒词。

其中,上述预定数量可以在具体实现时根据系统性能和/或实现需求自行设定,本实施例对上述预定数量的大小不作限定。

进一步地,上述基于人工智能的语音唤醒装置还可以包括:

训练模块66,用于在计算模块63通过基于cnn的语音唤醒模型对上述语音帧包含的静态的语音特征进行计算之前,基于ctc的训练准则对基于cnn的初始模型进行训练,获得基于cnn的语音唤醒模型。

本实施例中,对6层的cnn模型的训练准则由交叉熵(crossentropy)变为ctc,基于ctc的训练准则对6层的基于cnn的初始模型进行训练,可以获得上述基于cnn的语音唤醒模型。

本实施例中,训练模块66可以包括:模型训练子模块661和数据挑选子模块662;

其中,模型训练子模块661,用于利用训练数据,基于ctc的训练准则对基于cnn的初始模型进行训练,获得基于cnn的种子模型;

数据挑选子模块662,用于通过测试数据对上述基于cnn的种子模型进行测试,获得上述基于cnn的种子模型误识别的测试数据。

模型训练子模块661,还用于通过上述误识别的测试数据对上述基于cnn的种子模型进行再次训练,直至上述基于cnn的种子模型在开发集上收敛,获得上述基于cnn的语音唤醒模型。

具体地,模型训练子模块661通过上述误识别的测试数据对上述基于cnn的种子模型进行再次训练可以为:将上述基于cnn的种子模型误识别的测试数据添加到训练数据中,然后模型训练子模块661再利用添加了这些测试数据的训练数据,对上述基于cnn的种子模型进行再次训练,重复上述过程,直至上述基于cnn的种子模型在开发集上收敛,获得上述基于cnn的语音唤醒模型。

其中,上述开发集是不同于训练数据,也不同于测试数据的一个数据集,上述开发集用于对训练获得的基于cnn的种子模型的唤醒性能进行监控,以获得最终的基于cnn的语音唤醒模型;其中,上述基于cnn的种子模型在开发集上收敛,是指基于cnn的种子模型在开发集上的唤醒性能不再提高。

也就是说,利用添加了上述基于cnn的种子模型误识别的测试数据的训练数据,对上述基于cnn的种子模型进行再次训练之后,在每一轮训练完成之后,在开发集上对本轮训练获得的基于cnn的种子模型的唤醒性能进行监测,一般来说,基于cnn的种子模型在开发集上的唤醒性能是先下降,然后经过多轮训练之后,基于cnn的种子模型在开发集上的唤醒性能会慢慢提高,直至基于cnn的种子模型在开发集上的唤醒性能不再提高,就可以确定上述基于cnn的种子模型在开发集上收敛,这时模型训练子模块661获得的基于cnn的种子模型即为最终获得的基于cnn的语音唤醒模型。

本申请实施例提供的基于人工智能的语音唤醒装置,通过使用cnn-ctc的方案,大大地缩小了基于cnn的语音唤醒模型的输出层的节点数,从而有效地降低了基于cnn的语音唤醒模型的参数量,达到降低运算量的目的;通过使用后验概率平滑的策略,使得运算量进一步减小;另外,本申请实施例提供的基于人工智能的语音唤醒装置中使用一个非唤醒词(filler)类别,增加了训练的灵活性,使得上述基于人工智能的语音唤醒装置非常的通用,不需要再针对每一个唤醒词挑选不同的filler;本申请实施例提供的基于人工智能的语音唤醒装置中的基于cnn的语音唤醒模型通过自我学习调优的方法,可以更好地提升语音唤醒的效果,另外,上述基于cnn的语音唤醒模型的输出层简单,目标鲜明,针对唤醒词和非唤醒词有更好的区分度,可以进一步提升语音唤醒的效果。

图8为本申请计算机设备一个实施例的结构示意图,本申请实施例中的计算机设备可以作为具有语音唤醒功能的设备实现本申请实施例提供的基于人工智能的语音唤醒方法。

其中,上述具有语音唤醒功能的设备可以为智能手机、平板电脑或智能家居设备等,本实施例对上述具有语音唤醒功能的设备的形态不作限定。

如图8所示,上述计算机设备可以包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行,使得一个或多个处理器实现本申请实施例提供的基于人工智能的语音唤醒方法。

图8示出了适于用来实现本申请实施方式的示例性计算机设备12的框图。图8显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图8所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrystandardarchitecture;以下简称:isa)总线,微通道体系结构(microchannelarchitecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation;以下简称:vesa)局域总线以及外围组件互连(peripheralcomponentinterconnection;以下简称:pci)总线。

计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory;以下简称:ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(compactdiscreadonlymemory;以下简称:cd-rom)、数字多功能只读光盘(digitalvideodiscreadonlymemory;以下简称:dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。

计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(localareanetwork;以下简称:lan),广域网(wideareanetwork;以下简称:wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图8中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本申请实施例提供的基于人工智能的语音唤醒方法。

本申请实施例还提供一种计算机可读介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现本申请实施例提供的基于人工智能的语音唤醒方法。

上述计算机可读介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(readonlymemory;以下简称:rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory;以下简称:eprom)或闪存、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localareanetwork;以下简称:lan)或广域网(wideareanetwork;以下简称:wan)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(programmablegatearray;以下简称:pga),现场可编程门阵列(fieldprogrammablegatearray;以下简称:fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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