基于语音的年龄识别方法及装置与流程

专利2022-12-01  34


本发明涉及智能语音技术领域,特别是一种基于语音的年龄识别方法及装置。



背景技术:

近年来,随着智能语音技术的发展,基于智能语音的产品层出不穷。这些语音产品为了提高用户体验,正在开发出基于年龄需求的不同应用模式。基于此,如何在用户对话中准确识别对象的年龄层次,就显得至关重要。目前已经市面上较成熟的年龄识别技术都是基于人脸识别的,基于语音的年龄识别技术,尚在研究阶段,业内也提出了一些实现方案,但这些现有方案普遍存在以下问题需要克服:

第一,需要的测试音频太长,需要测试者连续说话5s,那么一句话要20个字以上,这对用户来说是有很大难度的,导致用户体验差,且不利于产品的落地;

第二,这些技术在车载、背景电视等噪声场景性能并不好。



技术实现要素:

为了克服现有方案的上述缺陷,发明人从前期数据处理和算法选用两个层面出发,提出了能够利用短时音频对用户年龄进行更高准确率的识别的解决方案。

根据本发明的一个方面,提供了一种基于语音的年龄识别方法,其包括

获取原始音频进行前期处理,确定训练数据集;

利用所述训练数据集对选用的神经网络模型进行训练,确定用于进行年龄识别的算法模型;

在获取到实时音频数据时,通过所述算法模型对所述音频数据进行识别处理,确定发音者的年龄。

根据本发明的另一个方面,提供了一种基于语音的年龄识别装置,其包括

训练集确定模块,用于获取原始音频进行前期处理,确定训练数据集;

模型训练模块,用于利用所述训练数据集对选用的神经网络模型进行训练,确定用于进行年龄识别的算法模型存储;和

识别模块,用于在获取到实时音频数据时,通过所述算法模型对所述音频数据进行识别处理,确定发音者的年龄。

根据本发明的第三个方面,提供了一种电子设备,其包括:至少一个处理器,以及与至少一个处理器通信连接的存储器,其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述方法的步骤。

根据本发明的第四个方面,提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。

本发明实施例的方案,能够通过音频对说话人的年龄进行预测和识别,由于采用神经网络模型进行训练,并且在训练前对原始音频进行前期处理,因而能够保证识别较高的识别准确率。另外,本发明实施例选用神经网络模型,可以通过较少的参数量实现快速高效的年龄识别,且可以对短时音频进行准确的识别,不需用户说出很长的语音,因而用户体验非常好。

附图说明

图1为本发明一实施方式的基于语音的年龄识别方法的方法流程图;

图2为图1所示实施方式中的模型训练过程的流转示意图;

图3为本发明一实施方式的基于语音的年龄识别装置的框架结构图;

图4为本发明一实施方式的电子设备结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

在本发明中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,组件可以、但不限于是运行于处理器的过程、处理器、对象、可执行组件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是组件。一个或多个组件可在执行的过程和/或线程中,并且组件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。组件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一组件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

由于本发明实施例涉及的基于语音来识别出说话人的年龄的方案可以应用于任何具有智能语音交互功能的智能设备上,使得智能设备上承载的语音产品具有年龄识别的功能,例如手机、手表、耳机、个人pc电脑等,但是本发明的适用范围并不局限于此。通过本发明实施例提供的方案,能够对短时音频进行识别,并能准确确定说话者的年龄,提高识别的准确率,且能进一步方便开发者根据识别出的年龄特征来进行产品或技能等的个性化定制,满足用户的不同需求,提高交互时的用户体验。

下面结合附图对本发明作进一步详细的说明。

图1和图2示意性地显示了根据本发明的一种实施方式的基于语音的年龄识别方法的方法流程,如图1所示,本实施例的方法包括如下步骤:

步骤s101:获取原始音频进行前期处理,确定训练数据集。在实现利用音频对说话者的年龄进行识别时,选用的训练数据集非常重要,如果前期数据处理不充分,那么就会影响训练效果,进而使得训练出的算法的识别精度和性能受到严重影响。如图2所示,本发明实施例中在前期分别依次对获取的原始音频进行数据增强处理、对数据增强后的数据分别进行align(alignment,对位算法,是用于对语音特征数据进行对齐处理的技术,为现有技术)和vad(voiceactivitydetection,语音端点检测技术,是用于是从带有噪声的语音中准确的定位出语音的开始和结束点的技术,为现有技术)处理、对align和vad处理后的数据进行特征值提取,之后再对对提取出的特征值设置年龄标签,以形成最终的训练数据集。

本发明实施例在前期处理过程中既对数据增强后的音频数据做了alignment处理,也同时对数据增强后的音频数据做了vad处理,既将alignment处理后的音频数据用作训练数据,也将vad处理后的音频数据用作训练数据,即同时用了两种处理方式的音频数据进行训练,因而能够保证在vad切割不准确情况下的年龄识别性能,使得训练出的算法模型无论在音频是否准确切割情况下都可以准确识别。

其中,示例性地,选用的原始音频均为0.2s-1s长度的音频,优选采用唤醒词,且可以包含中文、英文以及中英文的混合等。其中,选用的原始音频还可以是从线上音频获取而来,示例性地,从后台下载用户缓存的音频,而选用的原始音频例如可以为共4000小时。

优选地,对原始音频所做的数据增强处理可以实现为设定多个场景,在每个场景下分别对原始音频进行近场和远场拾音,例如在家居,车载,商场,路边,办公室等多个场景下分别近场和远场拾音,以得到增强的音频数据。通过多场景模拟和近场远场分别拾音,可以保证训练出的算法模型的真实性。

步骤s102:利用训练数据集对选用的神经网络模型进行训练,确定用于进行年龄识别的算法模型。本发明实施例选用神经网络模型进行训练,以通过训练好的神经网络模型来识别出发音者的年龄。具体地,对神经网络模型进行一次训练的完整过程可以是包括前向传播、反向传播和权重更新三个步骤。在训练时,从训练数据集中获取训练数据,将训练数据中的特征值作为神经网络模型的输入,将各训练数据对应的年龄标签作为神经网络模型的输出匹配目标,从而对模型的权重系数进行训练,以得到训练好的神经网络模型。

示例性地,选取的神经网络模型为卷积神经网络。对卷积神经网络进行训练的过程包括:随机从训练数据集中获取批量的训练数据,将训练数据中的特征值作为卷积神经网络的输入,将各训练数据对应的年龄标签作为卷积神经网络的输出匹配目标,依次通过前向传播、反向传播和权重更新对卷积神经网络进行反复训练,直至卷积神经网络的权重收敛到预设范围。在具体实践过程中可以进行多次上述训练,以最终确定出更贴合实际情况的卷积神经网络权重系数,训练过程为了减小内存会使用mini-batch的方式,每次随机取出小批量的训练数据进行训练。其中,首先在前向传播过程中,特征值会输入卷积神经网络的主干部分(4个cnn层构成主干),提取出embeddings,分别输入分类层中,计算出各个标签类别的预测概率,损失函数会使用预测概率和目标年龄标签计算损失。接着在反向传播过程中,会使用反向传播算法计算出损失函数对于卷积神经网络权重的梯度值。最后采用随机梯度下降法,使用卷积神经网络权重的梯度值对网络权重进行更新。在训练出卷积神经网络的权重后,就可以利用最新的卷积神经网络权重和网络结构作为算法模型,对说话人的年龄进行识别。

优选地,本发明实施例中的特征值为fbank特征,卷积神经网络的网络结构为:8通道卷积层-selu()-8通道卷积层-selu()-maxpooling层-16通道卷积层-selu()-16通道卷积层-selu()-maxpooling层-embeding均值方差-线性层-线性层-线性层,softmaxloss。实践表明,采用该特征和网络结构训练出的算法模型,在儿童和成人两类年龄上的识别率可以达到92%。

步骤s103:在获取到实时音频数据时,通过算法模型对所述音频数据进行识别处理,确定发音者的年龄。训练出算法模型后,就可以应用该算法模型进行年龄识别,具体应用方法可以是:在接收到实时采集的音频数据时,对音频数据进行特征值提取,将提取的特征值输入算法模型,由此就可以得到年龄标签及其对应的概率的输出结果,选取概率最大的年龄标签对应的年龄,作为最终确定的发音者的年龄。

通过上述实施例即可通过音频对说话人的年龄进行预测和识别,由于采用神经网络模型进行训练,且训练数据经过多场景数据增强,因而针对不同场景的识别准确率都非常高。另外,通过上述方法得到的算法模型既能够通过较少的参数量实现快速高效的年龄识别,又可以对短时音频进行准确的识别,不需用户说出很长的语音,因而用户体验非常好。而且,基于上述方案,可以使得在唤醒的同时,就能基于拾取的唤醒音频来判断说话人的年龄,从而做出个性化响应,能够使得语音产品更智能化。

在其他具体实现例中,上述卷积神经网络结构中可以使用relu()激活,relu()激活是大多数神经网络都会使用的激活函数,但经大量实践表明,relu()激活的识别率比selu()低了0.3个点。

在其他实现方案中,选用的卷积神经网络的结构还可以是:卷积层-selu()-卷积层-selu()-maxpooling层-卷积层-selu()-卷积层-selu()-maxpooling层-embeding均值-线性层-线性层,softmaxloss。这个方案相对图1实施例中采用的网络结构的方案,性能降低了1个点。

在其他实现例中,采用的神经网络模型还可以是512*6的深度神经网络(即dnn)模型,该网络模型的性能比卷积神经网络(即cnn)的网络性能略差,识别率为91%.但dnn网络的参数量少.可以在一定程度上降低内存。

在另一实施例中,特征使用上还可以选择mfcc特征,或msdc特征。使用mfcc特征来代替fbank特征,识别性能相差不大,但提取mfcc特征用时比fbank特征略长。

图3示意性地显示了本发明一种实施方式的基于语音的年龄识别装置,其包括

训练集确定模块30,用于获取原始音频进行前期处理,确定训练数据集;

模型训练模块31,用于利用训练数据集对选用的神经网络模型进行训练,确定用于进行年龄识别的算法模型存储;和

识别模块32,用于在获取到实时音频数据时,通过所述算法模型对所述音频数据进行识别处理,确定发音者的年龄。

其中,训练集确定模块30包括

增强处理单元30a,用于对获取的原始音频进行数据增强;

预处理单元30b,用于对数据增强后的数据分别进行align和vad处理;

特征提取单元30c,用于对align和vad处理后的数据进行特征值提取;和

标签设置单元30d,用于对提取出的特征值设置年龄标签,形成训练数据集。

作为一种优选实现例,模型训练模块31中训练的神经网络模型为卷积神经网络,训练集确定模块30选用的原始音频是时长范围在0.2~1s的短时音频。其中,装置实施例中的各模块和单元的具体实现方式可以参照方法部分叙述,且方法部分提及的其他实现方式也可以应用在装置实施例中,故这里不再赘述。

通过本发明实施例的装置,不但能够提升针对不同场景的年龄识别的准确率,还能够实现对短时音频的识别,实现高效,性价比高。。

在一些实施例中,本发明实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本发明上述基于语音的年龄识别方法。

在一些实施例中,本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当所程序指令被计算机执行时,使计算机执行上述基于语音的年龄识别方法。

在一些实施例中,本发明实施例还提供一种电子设备,其包括:至少一个处理器,以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被所述至少一个处理器执行,以使至少一个处理器能够执行上述基于语音的年龄识别方法。

在一些实施例中,本发明实施例还提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时能够执行上述基于语音的年龄识别方法。

上述本发明实施例的基于语音的年龄识别装置可用于执行本发明实施例的基于语音的年龄识别方法,并相应的达到上述本发明实施例的基于语音的年龄识别方法所达到的技术效果,这里不再赘述。本发明实施例中可以通过硬件处理器(hardwareprocessor)来实现相关功能模块。

图4是本申请另一实施例提供的执行基于语音的年龄识别方法的电子设备的硬件结构示意图,如图4所示,该设备包括:

一个或多个处理器510以及存储器520,图4中以一个处理器510为例。

执行基于语音的年龄识别方法的设备还可以包括:输入装置530和输出装置540。

处理器510、存储器520、输入装置530和输出装置540可以通过总线或者其他方式连接,图4中以通过总线连接为例。

存储器520作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的基于语音的年龄识别方法对应的程序指令/模块。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的基于语音的年龄识别方法。

存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于语音的年龄识别装置的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至基于语音的年龄识别装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置530可接收输入的数字或字符信息,以及产生与基于语音的年龄识别方法的用户设置以及功能控制有关的信号。输出装置540可包括显示屏等显示设备。

上述一个或者多个模块存储在所述存储器520中,当被所述一个或者多个处理器510执行时,执行上述任意方法实施例中的基于语音的年龄识别方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iphone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:pda、mid和umpc设备等,例如ipad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如ipod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

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

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

以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。


技术特征:

1.基于语音的年龄识别方法,其特征在于,包括

获取原始音频进行前期处理,确定训练数据集;

利用所述训练数据集对选用的神经网络模型进行训练,确定用于进行年龄识别的算法模型;

在获取到实时音频数据时,通过所述算法模型对所述音频数据进行识别处理,确定发音者的年龄。

2.根据权利要求1所述的方法,其特征在于,获取原始音频进行前期处理,确定数据训练集包括

对获取的原始音频进行数据增强;

对数据增强后的数据分别进行align和vad处理;

对align和vad处理后的数据进行特征值提取;

对提取出的特征值设置年龄标签,形成训练数据集。

3.根据权利要求2所述的识别方法,其特征在于,所述原始音频均为0.2s-1s长度的音频。

4.根据权利要求2或3所述的方法,其特征在于,对获取的原始音频进行数据增强包括

设定多个场景,在每个场景下分别对原始音频进行近场和远场拾音。

5.根据权利要求2所述的方法,其特征在于,所述选用的神经网络模型为卷积神经网络,所述利用所述训练数据集对选用的神经网络模型进行训练包括

随机从训练数据集中获取批量的训练数据,将训练数据中的特征值作为卷积神经网络的输入,将各训练数据对应的年龄标签作为卷积神经网络的输出匹配目标,依次通过前向传播、反向传播和权重更新对所述卷积神经网络进行训练,直至卷积神经网络的权重收敛到预设范围。

6.根据权利要求5所述的方法,其特征在于,所述特征值为fbank特征,所述卷积神经网络的网络结构为:8通道卷积层-selu()-8通道卷积层-selu()-maxpooling层-16通道卷积层-selu()-16通道卷积层-selu()-maxpooling层-embeding均值方差-线性层-线性层-线性层,softmaxloss。

7.基于语音的年龄识别装置,其特征在于,包括

训练集确定模块,用于获取原始音频进行前期处理,确定训练数据集;

模型训练模块,用于利用所述训练数据集对选用的神经网络模型进行训练,确定用于进行年龄识别的算法模型存储;和

识别模块,用于在获取到实时音频数据时,通过所述算法模型对所述音频数据进行识别处理,确定发音者的年龄。

8.根据权利要求8所述的装置,其特征在于,所述训练集确定模块包括

增强处理单元,用于对获取的原始音频进行数据增强;

预处理单元,用于对数据增强后的数据分别进行align和vad处理;

特征提取单元,用于对align和vad处理后的数据进行特征值提取;和

标签设置单元,用于对提取出的特征值设置年龄标签,形成训练数据集。

9.根据权利要求7或8所述的装置,其特征在于,所述神经网络模型为卷积神经网络。

10.存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6任一项所述方法的步骤。

技术总结
本发明公开一种基于语音的年龄识别方法,其包括获取原始音频进行前期处理,确定训练数据集;利用所述训练数据集对选用的神经网络模型进行训练,确定用于进行年龄识别的算法模型;在获取到实时音频数据时,通过所述算法模型对所述音频数据进行识别处理,确定发音者的年龄。本发明还公开了基于语音的年龄识别装置。根据本发明公开的方案可以实现基于用户语音对说话人的年龄进行识别,识别准确率高,提高用户交互体验,满足不同场景的需求。

技术研发人员:张艳;黄厚军;钱彦旻
受保护的技术使用者:苏州思必驰信息科技有限公司
技术研发日:2019.12.30
技术公布日:2020.05.19

转载请注明原文地址: https://bbs.8miu.com/read-267762.html

最新回复(0)