一种语音唤醒方法及装置与流程

文档序号:17899057发布日期:2019-06-13 16:12阅读:380来源:国知局
一种语音唤醒方法及装置与流程

本发明涉及语音识别技术领域,尤其涉及一种语音唤醒方法及装置。



背景技术:

目前,语音唤醒的应用场景越来越广泛,例如机器人、手机、可穿戴设备、智能家居、车载等。几乎很多带有语音功能的设备都会需要语音唤醒技术作为人和机器互动的一个开始或入口。不同的产品会有不同的唤醒词,用户可以通过说出特定的唤醒词来激活设备然后进行下一步交互操作,现有效果较好的唤醒设备一般存在模型体积大,计算复杂度高,更换唤醒词不容易等问题。



技术实现要素:

本发明的主要目的在于提出一种语音唤醒方法及装置,通过增量式训练神经网络模型,降低了对正样本数据量的需求,降低了计算复杂度,减小了模型体积;并能有效过滤误触发数据,提高了语音唤醒效率。

为实现上述目的,本发明提供的一种语音唤醒方法,包括:

采集声音数据,提取所述声音数据中的语音;

提取每一帧所述语音的语音特征;

将所述语音特征送入神经网络模型进行识别,所述神经网络模型采用增量式方法进行训练;

根据识别结果对所述语音进行过滤。

可选地,所述采集声音数据,提取所述声音数据中的语音包括:

通过麦克风采集声音数据,并对所述声音数据进行缓存;

将缓存中的声音数据进行分帧;

通过语音活动检测模块对每一帧声音数据进行识别,若该帧声音数据为语音,则保留在所述缓存中,若该帧声音数据为非语音,则从所述缓存中去除该帧声音数据。

可选地,所述语音特征为梅尔频率倒谱系数mfcc;所述神经网络模型为循环神经网络rnn。

可选地,所述神经网络模型采用增量式方法进行训练具体为:

通过负样本和正样本初始化训练模型,所述负样本的数量大于所述正样本的数量;

通过初始化后的训练模型进行实时测试,并保存误触发数据;

将所述误触发数据融合到负样本数据集中进行再次训练,并重复以上过程。

可选地,所述根据识别结果对所述语音进行过滤具体为:

通过神经网络模型计算所述语音触发的概率数据;

根据预设的概率门限、预设的最少触发次数和最小触发间隔对所述语音进行过滤。

作为本发明的另一方面,提供的一种语音唤醒装置,包括:

采集模块,用于采集声音数据,提取所述声音数据中的语音;

特征提取模块,用于提取每一帧所述语音的语音特征;

识别模块,用于将所述语音特征送入神经网络模型进行识别,所述神经网络模型采用增量式方法进行训练;

过滤模块,用于根据识别结果对所述语音进行过滤。

可选地,所述采集模块包括:

采集单元,用于通过麦克风采集声音数据,并对所述声音数据进行缓存;

分帧单元,用于将缓存中的声音数据进行分帧;

提取单元,用于通过语音活动检测模块对每一帧声音数据进行识别,若该帧声音数据为语音,则保留在所述缓存中,若该帧声音数据为非语音,则从所述缓存中去除该帧声音数据。

可选地,所述语音特征为梅尔频率倒谱系数mfcc;所述神经网络模型为循环神经网络rnn。

可选地,所述神经网络模型采用增量式方法进行训练具体为:

通过负样本和正样本初始化训练模型,所述负样本的数量大于所述正样本的数量;

通过初始化后的训练模型进行实时测试,并保存误触发数据;

将所述误触发数据融合到负样本数据集中进行再次训练,并重复以上过程。

可选地,所述过滤模块具体为:

通过神经网络模型计算所述语音触发的概率数据;

根据预设的概率门限、预设的最少触发次数和最小触发间隔对所述语音进行过滤。

本发明提出的一种语音唤醒方法及装置,该方法包括:采集声音数据,提取所述声音数据中的语音;提取每一帧所述语音的语音特征;将所述语音特征送入神经网络模型进行识别,所述神经网络模型采用增量式方法进行训练;根据识别结果对所述语音进行过滤;通过增量式训练神经网络模型,降低了对正样本数据量的需求,降低了计算复杂度,减小了模型体积;并能有效过滤误触发数据,提高了语音唤醒效率。

附图说明

图1为本发明实施例一提供的一种语音唤醒方法的流程图;

图2为本发明实施例一提供的特征提取算法示意图;

图3为本发明实施例一提供的神经网络模型的网络结构图;

图4为图1中步骤s10的流程图;

图5为本发明实施例二提供的一种语音唤醒装置的示范性结构框图;

图6为图5中采集模块的示范性结构框图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。

实施例一

如图1所示,在本实施例中,一种语音唤醒方法,包括:

s10、采集声音数据,提取所述声音数据中的语音;

s20、提取每一帧所述语音的语音特征;

s30、将所述语音特征送入神经网络模型进行识别,所述神经网络模型采用增量式方法进行训练;

s40、根据识别结果对所述语音进行过滤。

在本实施例中,通过增量式训练神经网络模型,降低了对正样本数据量的需求,降低了计算复杂度,减小了模型体积;并能有效过滤误触发数据,提高了语音唤醒效率。

在本实施例中,本方法提供了一种轻量级语音唤醒技术,可以方便部署在大部分设备前端,并且支持用户自定义唤醒词。

在本实施例中,所述语音特征为梅尔频率倒谱系数mfcc;所述神经网络模型为循环神经网络rnn。

在本实施例中,梅尔频率倒谱系数mfcc(mel-scalefrequencycepstralcoefficients,简称mfcc),考虑到人耳对不同频率的感受程度,因此特别适合用在语音辨识领域,其特征提取过程如图2所示,语音数据依次通过预加重、分帧加窗、快速傅里叶变换fft、mel滤波、取对数、离散余弦变换dct变换后得到mfcc特征。

在本实施例中,循环神经网络rnn(recurrentneuralnetworks)的目的是用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。rnns之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,rnns能够对任何长度的序列数据进行处理。但在本实施例中,为了兼顾唤醒效果以及训练数据需求量,识别网络选择了一个gru层和一个全连接dens层,网络结构如图3所示。

如图4所示,在本实施例中,所述步骤s10包括:

s11、通过麦克风采集声音数据,并对所述声音数据进行缓存;

s12、将缓存中的声音数据进行分帧;

s13、通过语音活动检测模块对每一帧声音数据进行识别,若该帧声音数据为语音,则保留在所述缓存中,若该帧声音数据为非语音,则从所述缓存中去除该帧声音数据。

在本实施例中,所述神经网络模型采用增量式方法进行训练具体为:

通过负样本和正样本初始化训练模型,所述负样本的数量大于所述正样本的数量;

通过初始化后的训练模型进行实时测试,并保存误触发数据;

将所述误触发数据融合到负样本数据集中进行再次训练,并重复以上过程。

在本实施例中,正样本采集成本较高,因此,先用大量负样本和少量正样本初始化训练模型,此时模型的误唤醒率较高,下一步中,可以用经过初始化的模型实时测试,保存误判的数据,并将误触发数据和入到负样本数据集中,然后继续训练模型,不断重复此过程,可以大大降低模型的误唤醒率。

在本实施例中,所述根据识别结果对所述语音进行过滤具体为:

通过神经网络模型计算所述语音触发的概率数据;

根据预设的概率门限、预设的最少触发次数和最小触发间隔对所述语音进行过滤。

在本实施例中,所述预设的概率门限、预设的最少触发次数和最小触发间隔可根据不同使用环境及不同需求提前测试设定。

实施例二

如图5所示,在本实施例中,一种语音唤醒装置,包括:

采集模块10,用于采集声音数据,提取所述声音数据中的语音;

特征提取模块20,用于提取每一帧所述语音的语音特征;

识别模块30,用于将所述语音特征送入神经网络模型进行识别,所述神经网络模型采用增量式方法进行训练;

过滤模块40,用于根据识别结果对所述语音进行过滤。

在本实施例中,通过增量式训练神经网络模型,降低了对正样本数据量的需求,降低了计算复杂度,减小了模型体积;并能有效过滤误触发数据,提高了语音唤醒效率。

在本实施例中,本方法提供了一种轻量级语音唤醒技术,可以方便部署在大部分设备前端,并且支持用户自定义唤醒词。

在本实施例中,所述语音特征为梅尔频率倒谱系数mfcc;所述神经网络模型为循环神经网络rnn。

在本实施例中,梅尔频率倒谱系数mfcc(mel-scalefrequencycepstralcoefficients,简称mfcc),考虑到人耳对不同频率的感受程度,因此特别适合用在语音辨识领域,其特征提取过程如图2所示,语音数据依次通过预加重、分帧加窗、快速傅里叶变换fft、mel滤波、取对数、离散余弦变换dct变换后得到mfcc特征。

在本实施例中,循环神经网络rnn(recurrentneuralnetworks)的目的是用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。rnns之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。理论上,rnns能够对任何长度的序列数据进行处理。但在本实施例中,为了兼顾唤醒效果以及训练数据需求量,识别网络选择了一个gru层和一个全连接dens层,网络结构如图3所示。

如图6所示,在本实施例中,所述采集模块包括:

采集单元11,用于通过麦克风采集声音数据,并对所述声音数据进行缓存;

分帧单元12,用于将缓存中的声音数据进行分帧;

提取单元13,用于通过语音活动检测模块对每一帧声音数据进行识别,若该帧声音数据为语音,则保留在所述缓存中,若该帧声音数据为非语音,则从所述缓存中去除该帧声音数据。

在本实施例中,所述语音特征为梅尔频率倒谱系数mfcc;所述神经网络模型为循环神经网络rnn。

在本实施例中,所述神经网络模型采用增量式方法进行训练具体为:

通过负样本和正样本初始化训练模型,所述负样本的数量大于所述正样本的数量;

通过初始化后的训练模型进行实时测试,并保存误触发数据;

将所述误触发数据融合到负样本数据集中进行再次训练,并重复以上过程。

在本实施例中,正样本采集成本较高,因此,先用大量负样本和少量正样本初始化训练模型,此时模型的误唤醒率较高,下一步中,可以用经过初始化的模型实时测试,保存误判的数据,并将误触发数据和入到负样本数据集中,然后继续训练模型,不断重复此过程,可以大大降低模型的误唤醒率。

在本实施例中,所述过滤模块具体为:

通过神经网络模型计算所述语音触发的概率数据;

根据预设的概率门限、预设的最少触发次数和最小触发间隔对所述语音进行过滤。

在本实施例中,所述预设的概率门限、预设的最少触发次数和最小触发间隔可根据不同使用环境及不同需求提前测试设定。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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