专利名称:一种语音关键词识别方法及系统
专利类型:发明专利
专利申请号:cn202110164790.7
专利申请(专利权)人:清华大学
权利人地址:北京市海淀区双清路30号清华大学
专利发明(设计)人:乔飞,李钦,李桐
专利摘要:本发明提供一种语音关键词识别方法及系统,该方法包括:对待识别的语音数据进行特征提取,获取语音关键词特征向量;将所述语音关键词特征向量输入到训练好的语音关键词识别模型中,得到语音关键词识别结果,其中,所述训练好的语音关键词识别模型是由标记有关键词类型标签的样本语音关键词特征向量,对神经网络模型进行训练得到的,所述神经网络模型包括多个子网络,且每个子网络识别对应的关键词;根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络执行开启和关闭操作。本发明在保持识别准确率的前提下,降低了参数量和计算量,通过动态地调整负责各个关键词识别的子网路通道,进一步降低了系统整体的功耗。
主权利要求:
1.一种语音关键词识别方法,其特征在于,包括:
对待识别的语音数据进行特征提取,获取语音关键词特征向量;
将所述语音关键词特征向量输入到训练好的语音关键词识别模型中,得到语音关键词识别结果,其中,所述训练好的语音关键词识别模型是由标记有关键词类型标签的样本语音关键词特征向量,对神经网络模型进行训练得到的,所述神经网络模型包括多个子网络,且每个子网络识别对应的关键词;
根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络执行开启和关闭操作。
2.根据权利要求1所述的语音关键词识别方法,其特征在于,所述训练好的语音关键词识别模型通过以下步骤训练得到:根据标记有不同关键词类型标签的样本语音关键词特征向量,构建多个训练样本集,并根据每个训练样本集对相应的子网络进行训练,获取多个训练好的子网络;
根据多个训练好的子网络的输出结果,构建子网络关键词输出概率样本集;
将所述子网络输出概率样本集输入到全连接层进行训练,并将训练好的全连接层和多个训练好的子网络进行融合,得到训练好的语音关键词识别模型。
3.根据权利要求1所述的语音关键词识别方法,其特征在于,所述根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络进行开启和关闭操作,包括:根据当前时刻获取的语音关键词识别结果,对目标设备进行控制,并关闭第一子网络;
在对所述目标设备完成控制之后,开启第二子网络;
其中,所述第一子网络为当前时刻识别语音关键词的子网络,所述第二子网络为下一时刻待识别语音关键词的子网络。
4.根据权利要求1所述的语音关键词识别方法,其特征在于,所述子网络为门控神经网络。
5.根据权利要求1所述的语音关键词识别方法,其特征在于,所述对待识别的语音数据进行特征提取,获取语音关键词特征向量,包括:对所述待识别的语音数据进行模数转化处理,获取语音数字信号;
对所述语音数字信号进行快速傅里叶变换处理,得到语音信号频谱信息;
基于平方器,获取所述语音信号频谱信息对应的语音能量谱信息;
对所述语音能量谱信息进行滤波处理,得到多个频带的平均能量信息;
根据多个频带的平均能量信息,获取所述语音关键词特征向量。
6.根据权利要求1所述的语音关键词识别方法,其特征在于,在所述对待识别的语音数据进行特征提取,获取语音关键词特征向量之前,所述方法还包括:对待识别的语音数据进行预处理,得到预处理后的语音数据,以根据所述预处理后的语音数据进行特征提取,所述预处理包括预加重处理、分帧处理和加窗处理。
7.一种语音关键词识别系统,其特征在于,包括:
特征提取模块,用于对待识别的语音关键词进行特征提取,获取语音关键词特征向量;
语音关键词识别模块,用于将所述语音关键词特征向量输入到训练好的语音关键词识别模型中,得到语音关键词识别结果,其中,所述训练好的语音关键词识别模型是由标记有关键词类型标签的样本语音关键词特征向量,对神经网络模型进行训练得到的,所述神经网络模型包括多个子网络,且每个子网络识别对应的关键词;
识别结果执行模块,用于根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络执行开启和关闭操作。
8.根据权利要求7所述的语音关键词识别系统,其特征在于,所述系统还包括:子网络训练模块,用于根据标记有不同关键词类型标签的样本语音关键词特征向量,构建多个训练样本集,并根据每个训练样本集对相应的子网络进行训练,获取多个训练好的子网络;
子网络输出概率样本集构建模块,用于根据多个训练好的子网络的输出结果,构建子网络关键词输出概率样本集;
全连接层训练模块,用于将所述子网络输出概率样本集输入到全连接层进行训练,并将训练好的全连接层和多个训练好的子网络进行融合,得到训练好的语音关键词识别模型。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述语音关键词识别方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述语音关键词识别方法的步骤。 说明书 : 一种语音关键词识别方法及系统技术领域[0001] 本发明涉及语音识别技术领域,尤其涉及一种语音关键词识别方法及系统。背景技术[0002] 随着机器学习技术的进步,语音识别处理、图像目标识别等应用也迎来飞速发展。以语音交互为例,需要用到语音关键词识别唤醒(keywordspotting,简称kws)模块,这是一个常开的功能模块,正常待机状态下会时刻检测环境中的声音,判断是否有预先设定的唤醒指令,如“hey,siri”,检测到关键词后,会打开设备后续的功能模块,完成更复杂的交互功能。kws模块一般内嵌入物联网(internetofthings,简称iot)设备中,iot设备若将原始数据发送到中央处理器进行处理,然后接收结果,这样面临高传输能耗、高延时以及隐私性受到威胁的问题,因此,一般kws模块内嵌在iot设备中。同时,iot设备面临能量、计算能力等方面的限制。[0003] 图1为本发明提供的现有iot设备应用场景的示意图,如图1所示,不同的iot设备对应着不同的需求,需要识别不同种类及不同数目的关键词,例如窗帘的识别模块需要识别“打开、关闭、暂停”,台灯需要的关键词是“开灯、关灯”。传统上的24848威尼斯的解决方案——中央处理器统一处理数据,不适用于多iot设备的场景中,因为原始的声音数据是连续产生的,而有效的声音数据非常稀疏,即用户唤醒设备的次数相比于一天的时间来说是很短的。[0004] 现有技术中,对kws模块的实现与优化,大多集中于神经网络(neuralnetwork,简称nn)计算部分,有的提出了一种低功耗的神经网络(nn)加速器,能够在172μw的功耗下完成实时的关键词检测,然而,此方案没有深入研究kws模块的实际部署,只是在设备中简单运行;有的提出了一种低存储、低计算量的kws实现方案,功耗不到1μw,但是延时性和准确率都较低。以上现有技术的实现和优化,仍然停留在单个网络的识别性能上,虽然在网络结构、识别准确率方面取得平衡点,但是忽略了实际部署的kws应用特点,无法满足不同场景有不同种类及数目的关键词需求。因此,现在亟需一种语音关键词识别方法及系统来解决上述问题。发明内容[0005] 针对现有技术存在的问题,本发明提供一种语音关键词识别方法及系统。[0006] 本发明提供一种语音关键词识别方法,包括:[0007] 对待识别的语音数据进行特征提取,获取语音关键词特征向量;[0008] 将所述语音关键词特征向量输入到训练好的语音关键词识别模型中,得到语音关键词识别结果,其中,所述训练好的语音关键词识别模型是由标记有关键词类型标签的样本语音关键词特征向量,对神经网络模型进行训练得到的,所述神经网络模型包括多个子网络,且每个子网络识别对应的关键词;[0009] 根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络执行开启和关闭操作。[0010] 根据本发明提供的一种语音关键词识别方法,所述训练好的语音关键词识别模型通过以下步骤训练得到:[0011] 根据标记有不同关键词类型标签的样本语音关键词特征向量,构建多个训练样本集,并根据每个训练样本集对相应的子网络进行训练,获取多个训练好的子网络;[0012] 根据多个训练好的子网络的输出结果,构建子网络关键词输出概率样本集;[0013] 将所述子网络输出概率样本集输入到全连接层进行训练,并将训练好的全连接层和多个训练好的子网络进行融合,得到训练好的语音关键词识别模型。[0014] 根据本发明提供的一种语音关键词识别方法,所述根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络进行开启和关闭操作,包括:[0015] 根据当前时刻获取的语音关键词识别结果,对目标设备进行控制,并关闭第一子网络;[0016] 在对所述目标设备完成控制之后,开启第二子网络;[0017] 其中,所述第一子网络为当前时刻识别语音关键词的子网络,所述第二子网络为下一时刻待识别语音关键词的子网络。[0018] 根据本发明提供的一种语音关键词识别方法,所述子网络为门控神经网络。[0019] 根据本发明提供的一种语音关键词识别方法,所述对待识别的语音数据进行特征提取,获取语音关键词特征向量,包括:[0020] 对所述待识别的语音数据进行模数转化处理,获取语音数字信号;[0021] 对所述语音数字信号进行快速傅里叶变换处理,得到语音信号频谱信息;[0022] 基于平方器,获取所述语音信号频谱信息对应的语音能量谱信息;[0023] 对所述语音能量谱信息进行滤波处理,得到多个频带的平均能量信息;[0024] 根据多个频带的平均能量信息,获取所述语音关键词特征向量。[0025] 根据本发明提供的一种语音关键词识别方法,在所述对待识别的语音数据进行特征提取,获取语音关键词特征向量之前,所述方法还包括:[0026] 对待识别的语音数据进行预处理,得到预处理后的语音数据,以根据所述预处理后的语音数据进行特征提取,所述预处理包括预加重处理、分帧处理和加窗处理。[0027] 本发明还提供一种语音关键词识别系统,包括:[0028] 特征提取模块,用于对待识别的语音关键词进行特征提取,获取语音关键词特征向量;[0029] 语音关键词识别模块,用于将所述语音关键词特征向量输入到训练好的语音关键词识别模型中,得到语音关键词识别结果,其中,所述训练好的语音关键词识别模型是由标记有关键词类型标签的样本语音关键词特征向量,对神经网络模型进行训练得到的,所述神经网络模型包括多个子网络,且每个子网络识别对应的关键词;[0030] 识别结果执行模块,用于根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络执行开启和关闭操作。[0031] 根据本发明提供的一种语音关键词识别系统,所述系统还包括:[0032] 子网络训练模块,用于根据标记有不同关键词类型标签的样本语音关键词特征向量,构建多个训练样本集,并根据每个训练样本集对相应的子网络进行训练,获取多个训练好的子网络;[0033] 子网络输出概率样本集构建模块,用于根据多个训练好的子网络的输出结果,构建子网络关键词输出概率样本集;[0034] 全连接层训练模块,用于将所述子网络输出概率样本集输入到全连接层进行训练,并将训练好的全连接层和多个训练好的子网络进行融合,得到训练好的语音关键词识别模型。[0035] 本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述语音关键词识别方法的步骤。[0036] 本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述语音关键词识别方法的步骤。[0037] 本发明提供的语音关键词识别方法及系统,通过对语音数据进行特征提取,并将经过特征提取后得到的语音关键词特征向量输入到语音关键词识别模型中,获得语音关键词识别结果,从而根据语音关键词识别结果对语音关键词识别模型中对应的子网络执行开启和关闭操作,相比现有的语音关键词识别方法,在保持识别准确率的前提下,降低了参数量和计算量,通过动态地调整负责各个关键词识别的子网路通道,进一步降低了系统整体的功耗。附图说明[0038] 为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0039] 图1为本发明提供的现有iot设备应用场景的示意图;[0040] 图2为本发明提供的语音关键词识别方法的流程示意图;[0041] 图3为现有技术中kws系统的结构示意图;[0042] 图4为本发明提供的语音关键词识别模型的分布式神经网络架构示意图;[0043] 图5为本发明提供的语音关键词识别方法与传统的语音关键词识别方法在kws应用场景下计算次数的比较示意图;[0044] 图6为本发明提供的语音关键词识别系统的结构示意图;[0045] 图7为本发明提供的电子设备的结构示意图。具体实施方式[0046] 为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0047] 图2为本发明提供的语音关键词识别方法的流程示意图,如图2所示,本发明提供了一种语音关键词识别方法,包括:[0048] 步骤101,对待识别的语音数据进行特征提取,获取语音关键词特征向量;[0049] 步骤102,将所述语音关键词特征向量输入到训练好的语音关键词识别模型中,得到语音关键词识别结果,其中,所述训练好的语音关键词识别模型是由标记有关键词类型标签的样本语音关键词特征向量,对神经网络模型进行训练得到的,所述神经网络模型包括多个子网络,且每个子网络识别对应的关键词;[0050] 步骤103,根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络执行开启和关闭操作。[0051] 图3为现有技术中kws系统的结构示意图,如图3所示,kws系统包含麦克风、模数转换器(analogdigitalconverter,简称adc)以及kws处理模块,其中kws处理模块可以进一步分成特征提取、特征识别以及后端处理三部分,特征识别是采用单个的神经网络对所有关键词进行识别。首先,通过麦克风采集数据,将语音信号转换为模拟信号,之后模数转换器将模拟信号转换为数字信号,输入到kws的处理模块中。kws的处理模块包括语音特征提取单元、神经网络(neuralnetwork,简称nn)计算单元以及必要的参数的存储单元,特征提取单元是将原始的声音信号进行提取、压缩,输出语音对应的特征向量,然后nn单元根据这一特征向量进行计算,得到识别的概率,经过后端处理输出最终结果。神经网络模型是预先训练好的,并加载到kws模块的存储器中。[0052] 在本发明中,步骤101中,将待识别的语音信号作为输入数据,为了减少待识别的语音信号的复杂性,提高区分度,对该数据进行提取、压缩处理,输出语音关键词对应的特征向量。其中,上述待识别的语音信号是通过麦克风采集语音数据,将语音数据转换为模拟信号,通过模数转化处理后得到的数字信号。[0053] 在本发明中,步骤102中,将语音关键词特征向量输入到由神经网络构建的语音关键词识别模型中,该神经网络呈分布式,包括多个子网络,可以对各个关键词的识别进行分离,每个子网络只负责识别一个关键词,得到语音关键词识别结果。[0054] 在本发明中,步骤103中,根据语音关键词识别结果,对当前kws系统的工作状态进行动态调整,控制语音关键词识别模型开启和关闭对应的子网络通道。[0055] 本发明提供的语音关键词识别方法,通过对语音数据进行特征提取,并将经过特征提取后得到的语音关键词特征向量输入到语音关键词识别模型中,获得语音关键词识别结果,从而根据语音关键词识别结果对语音关键词识别模型中对应的子网络执行开启和关闭操作,相比现有的语音关键词识别方法,在保持识别准确率的前提下,降低了参数量和计算量,通过动态地调整负责各个关键词识别的子网络通道,进一步降低了系统整体的功耗。[0056] 在上述实施例的基础上,所述训练好的语音关键词识别模型通过以下步骤训练得到:[0057] 步骤201,根据标记有不同关键词类型标签的样本语音关键词特征向量,构建多个训练样本集,并根据每个训练样本集对相应的子网络进行训练,获取多个训练好的子网络;[0058] 步骤202,根据多个训练好的子网络的输出结果,构建子网络关键词输出概率样本集;[0059] 步骤203,将所述子网络输出概率样本集输入到全连接层进行训练,并将训练好的全连接层和多个训练好的子网络进行融合,得到训练好的语音关键词识别模型。[0060] 在本发明中,图4为本发明提供的语音关键词识别模型的分布式神经网络架构示意图,可参考图4所示,该分布式神经网络包含多个子网络,各个子网络通道独立,每个子网络识别对应的关键词,多个小网络的输出后面还连接了一个全连接层,用来对各个小网络的输出进行融合,全连接层的输入为各个子网络输出值的组合,全连接层的输出为关键词识别结果。[0061] 具体地,在步骤201中,根据标记有不同关键词类型标签的样本语音关键词特征向量,构建多个训练样本集,将构建的多个训练样本集作为语音关键词识别模型的输入,先对每个训练样本集对应的子网络进行单独训练,用来对单个关键词进行识别,保留每个子网络独立识别关键词的能力,获取多个训练好的子网络。[0062] 进一步地,在步骤202中,根据每个训练样本集对相应的子网络进行训练,得到每个子网络关键词的输出概率,根据多个子网络关键词的输出概率,构建子网络关键词输出概率样本集。需要说明的是,不同的子网络,输出的概率统计分布不一样。[0063] 进一步地,在步骤203中,将多个子网络的输出概率样本集输入到全连接层进行训练,全连接层用于加权各个子网络通道的输出概率识别结果,由于子网络的参数训练好后是固定不变的,只训练全连接层的参数,得到训练好的全连接层,将训练好的全连接层和多个训练好的子网络进行融合,即得到最后的关键词识别结果,从而得到训练好的语音关键词识别模型。[0064] 表1为本发明对应的分布式神经网络训练方法的流程,具体训练方法流程见下表。[0065] 表1[0066][0067] 需说明的是,全连接层相当于分布式神经网络的总分类器,用以筛选识别出最终正确的关键词结果。由于对不同的小网络来说,它们输出的概率的统计分布并不一样,若直接堆叠各个小网络的输出结果,会发生不同通道的冲突,无法判断哪个子网络通道才是正确的关键词识别结果。以控制台灯为例,假设识别“开灯”的小网络输出概率95%,识别“关灯”的小网络输出概率97%,两个通道都大概率地认为识别出了各自的关键词,并不能因此认为是“关灯”的概率更高,因而,采用全连接分类层能够平衡仲裁多个网络通道的输出概率。同时,由于各个子网络的识别过程应当与整个分布式神经网络的识别过程同步,并且各个子网络间不能相互干扰,在训练子网络和训练全连接层过程应当采用相同的数据分布。[0068] 表2为采用不同的神经网络结构对关键词识别数据集的测试结果,如表2所示,在同样的网络规模下,小网络直接组合的方式遭受了严重的准确率损失,而相比于传统的神经网络结构,本发明提出的分布式神经网络结构节省了55%的计算次数,同时获得了同一水平的多词识别准确率,对于单个的小网络来说,也保持了对单个关键词的识别准确率。[0069] 表2[0070][0071] 通过实验测试,与传统的单网络、多关键词识别相比,本发明可以在降低参数量55%的前提下,保证2‑3个关键词识别准确率基本相同(达到95%‑96%),同时,本发明提出的分布式网络结构,支持动态地调整各个负责单关键词识别的通道,进一步降低整体的功耗;当系统需求识别3个关键词时,待机状态的计算量少于传统神经网络的计算量的1/6。[0072] 在上述实施例的基础上,所述根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络进行开启和关闭操作,包括:[0073] 根据当前时刻获取的语音关键词识别结果,对目标设备进行控制,并关闭第一子网络;[0074] 在对所述目标设备完成控制之后,开启第二子网络;[0075] 其中,所述第一子网络为当前时刻识别语音关键词的子网络,所述第二子网络为下一时刻待识别语音关键词的子网络。[0076] 在本发明中,以台灯为例,台灯的语音唤醒模块需要识别“开灯、关灯、调亮”三个关键词。根据当前时刻从语音关键词识别模型中获取的语音关键词识别结果,对台灯进行控制。若语音关键词识别结果为“开灯”,则对台灯执行开灯操作,并关闭“开灯”对应的子网络,在对台灯完成开灯控制之后,下一时刻kws模块需继续识别是否有“关灯”、“调亮”的输入,同时开启“关灯”和“调亮”分别对应的子网络。若语音关键词识别结果为“关灯”,则对台灯执行关灯操作,同时关闭“关灯”、“调亮”对应的子网络,在对台灯完成关灯控制之后,下一时刻kws模块需继续识别是否有“开灯”的输入,同时开启“开灯”对应的子网络。若语音关键词识别结果为“调亮”,则对台灯执行调亮操作,同时关闭“调亮”对应的子网络,在对台灯完成调亮控制之后,下一时刻kws模块需继续识别是否有“关灯”的输入,同时开启“关灯”对应的子网络。[0077] 本发明根据语音关键词识别结果,通过对训练好的语音关键词识别模型中对应的子网络进行开启和关闭操作,动态地调整各个负责单关键词识别的子网络通道,进一步降低了kws系统的整体的功耗。[0078] 在本发明中,图5为本发明提供的语音关键词识别方法与传统的语音关键词识别方法在kws应用场景下计算次数的比较示意图。传统的语音关键词识别方法采用的单个神经网络对所有关键词进行识别,本发明提供的语音关键词识别方法采用的分布式神经网络将各个关键词的识别进行分离,每个子网络只负责识别一个关键字。如图5所示,采用本发明提出的语音关键词识别方法在kws应用场景下的计算次数明显少于传统的语音关键词识别方法在kws应用场景下的计算次数。[0079] 在本发明中,采用分布式神经网络结构可以减少很多冗余的计算。以台灯为例,输入“开灯”之前,系统处于待机模式,台灯处于关闭状态,只需要识别是否有“开灯”关键词即可,参考图5所示,此时本发明提出的语音关键词识别方法在kws应用场景下待机模式的计算次数为30k。“关灯、调亮”对应的计算部分不工作,节省了功耗。识别到“开灯”之后,kws模块继续识别是否有“关灯”、“调亮”的输入,而不需要再关注“开灯”命令,台灯打开后,“开灯”对应的小网络被关闭了,此时本发明提出的语音关键词识别方法在kws应用场景下计算次数为60k,计算量仅仅变成了待机模式的2倍。因此,本发明提出的语音关键词识别方法在实际应用场景下可以节省很多不必要的计算功耗。[0080] 在上述实施例的基础上,所述子网络包括卷积神经网络、门控神经网络(gaterecurrentunit,简称gru)和长短期记忆网络(longshort‑termmemory,简称lstm)。优选地,所述子网络为门控神经网络。采用门控神经网络能在参数规模和识别准确率方面得到优良的性能。[0081] 在上述实施例的基础上,所述对待识别的语音数据进行特征提取,获取语音关键词特征向量,包括:[0082] 对所述待识别的语音数据进行模数转化处理,获取语音数字信号;[0083] 对所述语音数字信号进行快速傅里叶变换处理,得到语音信号频谱信息;[0084] 基于平方器,获取所述语音信号频谱信息对应的语音能量谱信息;[0085] 对所述语音能量谱信息进行滤波处理,得到多个频带的平均能量信息;[0086] 根据多个频带的平均能量信息,获取所述语音关键词特征向量。[0087] 在本发明中,kws中的特征提取部分是待识别语音数据的第一个处理过程,采用的特征提取方法是梅尔频率能谱特征,它输出了语音数据在每一个频带的平均能量信息。传统的特征提取是在数字域完成的,主要包括adc、快速傅里叶变换(fft)、平方器和梅尔滤波器。具体地,adc将麦克风采集到的声音模拟数据以16khz的采样频率转换为数字信号,随后的前端处理与fft处理数字信号得到信号的频谱信息,平方器对输入的数据取平方,得到能量谱的信息,最后,梅尔滤波器组的中心频率呈指数增加,得到信号分布在不同频带内的能量的平均值,然后输出一个16维的特征向量,每一维表示一个频带内的平均能量。经过了特征提取,输入的语音信号被大幅压缩成一个特征向量。[0088] 在上述实施例的基础上,在所述对待识别的语音数据进行特征提取,获取语音关键词特征向量之前,所述方法还包括:[0089] 对待识别的语音数据进行预处理,得到预处理后的语音数据,以根据所述预处理后的语音数据进行特征提取,所述预处理包括预加重处理、分帧处理和加窗处理。[0090] 在本发明中,优选地,在进行特征提取之前,首先对音频数据进行预处理,包括预加重(pre‑emphasis)、分帧(framing)和加窗(windowing)处理。预加重处理目的是为了对语音的高频部分进行加重,去除辐射的影响,增加语音的高频分辨率。语音信号具有短时平稳性(10‑30ms内可以认为语音信号近似不变),这样就可以把语音信号分为一些短段来进行分帧处理,语音信号的分帧是采用可移动的有限长度的窗口进行加权的方法来实现的。每秒的帧数约为33~100帧,可视情况而定。分帧方法采用交叠分段的方式,前一帧和后一帧的交叠部分称为帧移,帧移与帧长的比值一般为0~0.5。加窗处理之后是为了进行傅里叶展开,使全局更加连续,避免出现吉布斯效应;同时,原本没有周期性的语音信号呈现出周期函数的部分特征。[0091] 图6为本发明提供的语音关键词识别系统的结构示意图,如图6所示,本发明提供了一种语音关键词识别系统,包括特征提取模块601、语音关键词识别模块602和识别结果执行模块603,其中,特征提取模块601用于对待识别的语音关键词进行特征提取,获取语音关键词特征向量;语音关键词识别模块602用于将所述语音关键词特征向量输入到训练好的语音关键词识别模型中,得到语音关键词识别结果,其中,所述训练好的语音关键词识别模型是由标记有关键词类型标签的样本语音关键词特征向量,对神经网络模型进行训练得到的,所述神经网络模型包括多个子网络,且每个子网络识别对应的关键词;识别结果执行模块603用于根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络执行开启和关闭操作。[0092] 本发明提供的语音关键词识别系统,通过特征提取模块对语音数据进行特征提取,并将经过特征提取后得到的语音关键词特征向量输入到语音关键词识别模块中,获得语音关键词识别结果,从而通过识别结果执行模块对语音关键词识别模型中对应的子网络执行开启和关闭操作,相比现有的语音关键词识别方法,在保持识别准确率的前提下,降低了参数量和计算量,通过动态地调整负责各个关键词识别的子网路通道,进一步降低了系统整体的功耗。[0093] 在上述实施例的基础上,所述系统还包括子网络训练模块、子网络输出概率样本集构建模块和全连接层训练模块,其中,子网络训练模块用于根据标记有不同关键词类型标签的样本语音关键词特征向量,构建多个训练样本集,并根据每个训练样本集对相应的子网络进行训练,获取多个训练好的子网络;子网络输出概率样本集构建模块用于根据多个训练好的子网络的输出结果,构建子网络关键词输出概率样本集;全连接层训练模块用于将所述子网络输出概率样本集输入到全连接层进行训练,并将训练好的全连接层和多个训练好的子网络进行融合,得到训练好的语音关键词识别模型。[0094] 本发明提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。[0095] 图7为本发明提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)701、通信接口(communicationsinterface)702、存储器(memory)703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信。处理器701可以调用存储器703中的逻辑指令,以执行语音关键词识别方法,该方法包括:对待识别的语音数据进行特征提取,获取语音关键词特征向量;将所述语音关键词特征向量输入到训练好的语音关键词识别模型中,得到语音关键词识别结果,其中,所述训练好的语音关键词识别模型是由标记有关键词类型标签的样本语音关键词特征向量,对神经网络模型进行训练得到的,所述神经网络模型包括多个子网络,且每个子网络识别对应的关键词;根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络执行开启和关闭操作。[0096] 此外,上述的存储器703中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read‑onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。[0097] 另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的语音关键词识别方法,该方法包括:对待识别的语音数据进行特征提取,获取语音关键词特征向量;将所述语音关键词特征向量输入到训练好的语音关键词识别模型中,得到语音关键词识别结果,其中,所述训练好的语音关键词识别模型是由标记有关键词类型标签的样本语音关键词特征向量,对神经网络模型进行训练得到的,所述神经网络模型包括多个子网络,且每个子网络识别对应的关键词;根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络执行开启和关闭操作。[0098] 又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的语音关键词识别方法,该方法包括:对待识别的语音数据进行特征提取,获取语音关键词特征向量;将所述语音关键词特征向量输入到训练好的语音关键词识别模型中,得到语音关键词识别结果,其中,所述训练好的语音关键词识别模型是由标记有关键词类型标签的样本语音关键词特征向量,对神经网络模型进行训练得到的,所述神经网络模型包括多个子网络,且每个子网络识别对应的关键词;根据所述语音关键词识别结果,将所述训练好的语音关键词识别模型中对应的子网络执行开启和关闭操作。[0099] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。[0100] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。[0101] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
专利地区:北京
专利申请日期:2021-02-05
专利公开日期:2024-07-09
专利公告号:cn114937450b