一种声纹识别方法、装置、设备及存储介质与流程

文档序号:19422442发布日期:2019-12-14 01:42阅读:241来源:国知局
一种声纹识别方法、装置、设备及存储介质与流程

本申请涉及声纹识别技术领域,尤其涉及一种声纹识别方法、装置、设备及存储介质。



背景技术:

声纹识别技术又称说话人识别技术,其是利用人的声音来检测说话人的身份的技术。与其它生物识别技术相比,声纹识别技术利用语音信号进行身份确认,具有成本低廉、采集简便、易于存储、难于模仿、交互友好等特点,同时也可以通过电话或网络等方式进行远程操作。因此,声纹识别技术在安防、军事、经济、生活等很多领域都具有良好而广阔的应用前景。

根据对语音数据的要求,声纹识别可以分为与文本相关和与文本无关两类。其中,与文本相关的声纹识别对注册语音和测试语音的语义文本会有所限制,需要用户的积极配合。与文本相关的声纹识别要求对文本和声纹同时验证通过。目前,与文本相关的声纹识别过程比较复杂,这导致与文本相关的声纹识别系统比较复杂。



技术实现要素:

有鉴于此,本申请提供了一种声纹识别方法、装置、设备及存储介质,用以简化与文本相关的声纹识别过程,降低与文本相关的声纹识别系统的复杂程度,其技术方案如下:

一种声纹识别方法,包括:

获取目标语音;

通过预先建立的声纹提取模型,确定所述目标语音的文本标签,其中,所述文本标签用于指示所述目标语音对应的文本;

根据所述目标语音的文本标签对所述目标语音进行文本验证;

若文本验证通过,利用所述声纹提取模型和所述目标语音的文本标签,对所述目标语音进行声纹验证。

可选的,所述利用所述声纹提取模型和所述目标语音的文本标签,对所述目标语音进行声纹验证,包括:

利用所述声纹提取模型和所述目标语音的文本标签,确定所述目标语音对应的声纹模型;

根据所述目标语音对应的声纹模型对所述目标语音进行声纹验证。

可选的,所述确定所述目标语音的文本标签,包括:

获取所述目标语音的目标特征,其中,所述目标语音的目标特征包含所述目标语音对应文本的结构化信息,且包含所述目标语音的关键帧信息和上下文相对位置信息;

根据所述目标语音的目标特征,确定所述目标语音的文本标签。

可选的,所述确定所述目标语音对应的声纹模型,包括:

根据所述目标语音的目标特征和所述目标语音的文本标签,确定所述目标语音对应的文本中每个文本单元对应的说话人身份向量;

其中,所述目标语音对应的文本中所有文本单元对应的说话人身份向量组成所述目标语音对应的声纹模型。

可选的,所述根据所述目标语音的目标特征和所述目标语音的文本标签,确定所述目标语音对应的文本中每个文本单元对应的说话人身份向量,包括:

根据所述目标语音的文本标签,确定所述目标语音对应的文本中每个文本单元在所述目标语音中的起始位置和结束位置;

根据所述目标语音对应的文本中每个文本单元在所述目标语音中的起始位置和结束位置,从所述目标语音的目标特征中获取所述目标语音对应的文本中每个文本单元的特征片段;

根据所述目标语音对应的文本中每个文本单元的特征片段,确定所述目标语音对应的文本中每个文本单元对应的说话人身份向量。

可选的,预先建立所述声纹提取模型的过程,包括:

从训练数据集中获取训练语音,其中,所述训练语音具有一真实说话人标签和一真实文本标签;

预测所述训练语音的文本标签;

确定所述训练语音对应的声纹模型,并根据所述训练语音对应的声纹模型预测所述训练语音的说话人标签;

根据预测的文本标签和预测的说话人标签,以及所述训练语音的真实文本标签和真实说话人标签,更新声纹提取模型的参数;

在文本预测准确率和说话人预测准确率稳定后,移除声纹提取模型中用于预测说话人标签的说话人预测模块。

可选的,所述预测所述训练语音的文本标签,包括:

获取所述训练语音的语音特征;

通过声纹提取模型中的特征处理模块和所述训练语音的语音特征,确定所述训练语音的目标特征,其中,所述训练语音的目标特征包含所述训练语音对应文本的结构化信息,且包含所述训练语音的关键帧信息和上下文相对位置信息;

通过声纹提取模型中的文本预测模块和所述训练语音的目标特征,预测所述训练语音的文本标签。

可选的,所述确定所述训练语音对应的声纹模型,并根据所述训练语音对应的声纹模型预测所述训练语音的说话人标签,包括:

通过声纹提取模型的身份表征模块和所述训练语音的目标特征,确定所述训练语音对应的文本中每个文本单元对应的说话人身份向量;

通过声纹提取模型的说话人预测模块和所述训练语音对应的文本中每个文本单元对应的说话人身份向量,预测所述训练语音对应的文本中每个文本单元的说话人标签。

可选的,所述根据预测的文本标签和预测的说话人标签,以及所述训练语音的真实文本标签和真实说话人标签,更新声纹提取模型的参数,包括:

根据所述预测的文本标签和所述训练语音的真实文本标签,确定所述训练语音的文本预测损失;

根据预测的所述训练语音对应的文本中每个文本单元的说话人标签和所述训练语音的真实说话人标签,确定所述训练语音的说话人预测损失;

根据所述训练语音的文本预测损失和所述训练语音的说话人预测损失,确定所述训练语音的预测损失;

根据所述训练语音的预测损失,更新声纹提取模型的参数。

可选的,所述预先建立所述声纹提取模型的过程还包括:

将移除所述说话人预测模块后的模型作为当前的声纹提取模型;

将所述训练数据集中的每条训练语音分别输入当前的声纹提取模型,获得每条训练语音对应的文本中每个文本单元对应的说话人身份向量,其中,所述训练数据集中包括至少一个说话人的至少一条训练语音;

针对任一说话人,通过属于该说话人的所有训练语音分别对应的文本中各个文本单元的说话人身份向量,确定该说话人的声纹模型,以得到每个说话人的声纹模型,其中,任一说话人的声纹模型包括属于该说话人的训练语音对应的文本中不同文本单元分别对应的说话人身份向量;

以将训练语音对应的文本中每个文本单元的说话人身份向量拟合至对应说话人的声纹模型中对应的说话人身份向量为训练目标,用所述训练数据集中的训练语音训练当前的声纹提取模型。

可选的,所述通过属于该说话人的训练语音对应的文本中各个文本单元的说话人身份向量,确定该说话人的声纹模型,包括:

将该说话人的训练语音对应的文本中,相同文本单元对应的说话人身份向量求平均,将求平均后得到的所有向量组成该说话人的声纹模型。

一种声纹识别装置,包括:语音获取模块、文本标签确定模块、文本验证模块和声纹验证模块;

所述语音获取模块,用于获取目标语音;

所述文本标签确定模块,用于通过预先建立的声纹提取模型确定所述目标语音的文本标签,其中,所述文本标签用于指示所述目标语音对应的文本;

所述文本验证模块,用于根据所述目标语音的文本标签对所述目标语音进行文本验证;

所述声纹验证模块,用于当文本验证通过时,利用所述声纹提取模型和所述目标语音的文本标签,对所述目标语音进行声纹验证。

一种声纹识别设备,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现上述任一项所述的图形评估方法的各个步骤。

一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述任一项所述的声纹识别方法的各个步骤。

经由上述的技术方案可知,本申请提供的声纹识别方法、装置、设备及存储介质,在获得目标语音后,可通过预先建立的声纹提取模型确定目标语音的文本标签,进而根据目标语音的文本标签对目标语音进行文本验证,在文本验证通过时,可利用预先建立的声纹提取模型和目标语音的文本标签对目标语音进行声纹验证,由此可见,本申请提供的声纹识别方法,基于预先建立的声纹提取模型既可实现文本的验证又可实现声纹的验证,即通过一个模型将两个验证过程合二为一,这使得声纹识别流程大大简化,进而使得声纹识别系统的复杂度大大降低。

附图说明

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

图1为本申请实施例提供的声纹识别方法的流程示意图;

图2为本申请实施例提供的建立声纹提取模型的流程示意图;

图3为本申请实施例提供的建立声纹提取模型的一具体实例的流程示意图;

图4为本申请实施例提供的声纹提取模型的一具体实例的结构示意图;

图5为本申请实施例提供的移除说话人预测模块后的声纹提取模型的结构示意图;

图6为本申请实施例提供的声纹提取模型的第二阶段的训练过程的流程示意图;

图7为本申请实施例提供的声纹识别装置的结构示意图;

图8为本申请实施例提供的声纹识别设备的结构示意图。

具体实施方式

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

发明人在实现本申请的过程中发现:现有的与文本相关的声纹识别方案,采用语音识别系统对语音进行文本验证,采用i-vector模型确定语音对应的声纹模型,进而根据确定的声纹模型对语音进行声纹验证,由此可见,现有的声纹识别方案中,文本验证过程与声纹验证过程分开进行,而文本验证过程与声纹验证过程分开进行会导致声纹识别系统比较复杂。

鉴于现有方案存在的问题,本案发明人进行了深入研究,最终提出了一种效果较好的声纹识别方法,该方法可应用于具有数据处理能力的终端,还可应用于服务器,接下来通过下述实施例对本申请提供的声纹识别方法进行介绍。

请参阅图1,示出了本实施例提供的声纹识别方法的流程示意图,可以包括:

步骤s101:获取目标语音。

其中,目标语音可以但不限为内容为固定文本的语音、内容为数字串的语音。

步骤s102:通过预先建立的声纹提取模型确定目标语音的文本标签。

其中,目标语音的文本标签可以为音素级文本标签,还可以为帧级文本标签。

优选的,目标语音的文本标签为帧级文本标签,目标语音的帧级文本标签为目标语音的各语音帧分别对应的文本单元。需要说明的是,文本单元可以为目标语音对应的文本中的一个字符,假设目标语音的内容为固定文本,则文本单元可以为固定文本中的一个字,假设目标语音的内容为数字串,则文本单元为数字串中的一个数字。

示例性的,目标语音的内容为数字串“356890”,假设目标语音包括15个语音帧,其中,第1帧~第3帧对应数字“3”,第4帧~第5帧对应数字“5”,第6帧~第8帧对应数字“6”,第9帧~第10帧对应数字“8”,第11帧~第13帧对应数字“9”,第14帧~第15帧对应数字“0”,则目标语音的帧级文本标签为“333556668899900”。

本实施例中的声纹提取模型采用具有说话人标签和文本标签(如帧级文本标签)的训练语音训练得到。

具体的,通过预先建立的声纹提取模型,确定目标语音的文本标签的过程可以包括:通过预先建立的声纹提取模型,获取目标语音的目标特征,根据目标语音的目标特征,确定目标语音的文本标签(如帧级文本标签)。其中,目标语音的目标特征包含目标语音对应文本的结构化信息,且包含目标语音的关键帧信息和上下文相对位置信息。

步骤s103:根据目标语音的文本标签对目标语音进行文本验证。

具体的,根据目标语音的文本标签对目标语音进行文本验证的过程包括:对目标语音的文本标签进行去重处理,示例性,目标语音的帧级文本标签为“333556668899900”,则去除该帧级文本标签中重复的数字后得到“356890”,将去重处理后得到的文本与预存的正确文本进行比对,若二者一致,则文本验证通过,否则,文本验证不通过。

步骤s104:若文本验证通过,利用声纹提取模型和目标语音的文本标签,对目标文本进行声纹验证。

具体的,利用声纹提取模型和目标语音的文本标签,对目标文本进行声纹验证的过程可以包括:利用声纹提取模型和目标语音的文本标签确定目标语音对应的声纹模型,根据目标语音对应的声纹模型对目标语音进行声纹验证。

进一步的,利用声纹提取模型和目标语音的文本标签确定目标语音对应的声纹模型的过程可以包括:利用声纹提取模型和目标语音的文本标签确定目标语音对应的文本中每个文本单元对应的说话人身份向量。其中,目标语音对应的文本中所有文本单元对应的说话人身份向量组成目标语音对应的声纹模型。

发明人在实现本申请的过程中发现,现有技术中,采用i-vector模型确定语音对应的声纹模型时,先按语音对应文本中的本文单元对语音进行切分(比如,按单个文字、单个数字对语音进行切分),为每个本文单元单独建立全变量空间模型,发明人经研究发现,采用i-vector模型确定的声纹模型不够稳定、不够精准,采用i-vector模型确定的声纹模型之所以不够稳定、不够精准,主要是因为未考虑以下两点:

其一,在文本相关的声纹识别中,测试语音通常都比较短,将语音切分后得到的语音片段会更短,大多不到一秒,语音片段覆盖的音素较少;其二,由于文本受限,连续语音间的协同发音表现很明显,同一个文本单元的发音会受到它所处的位置及其前后不同内容序列的影响。

有鉴于此,本申请抛弃先切分成片段再分别建模的方式,以整段语音作为训练样本训练得到能够确定语音对应的文本中各个文本单元的说话人身份向量的统一模型,如此能够充分利用整段语音覆盖的音素以及连续语音之间的协同发音信息,从而能够提高声纹模型的稳定性和精准度。另外,现有方案中,为每个文本单元建模,需要同时建立多组模型以对应不同文本单元,这使得整体上模型规模很大,而本申请只需建立一个统一的模型,相比于现有方案,大大减小了了模型规模。

本申请实施例提供的声纹识别方法,在获得目标语音后,可通过预先建立的声纹提取模型确定目标语音的文本标签,进而根据目标语音的文本标签对目标语音进行文本验证,在文本验证通过时,利用预先建立的声纹提取模型和目标语音的文本标签对目标语音进行声纹验证,由此可见,本申请实施例提供的声纹识别方法,基于预先建立的声纹提取模型既可实现文本的验证又可实现声纹的验证,即基于一个模型将两个验证过程合二为一,这使得声纹识别流程得以简化,进而使得声纹识别系统的复杂度大大降低。

另外,本申请实施例基于整段语音和声纹提取模型确定目标语音对应的声纹模型,一方面,整段语音覆盖的音素较多,基于整段语音确定的声纹模型能够对声纹属性进行可靠描述,即确定的声纹模型不易受干扰,比较稳定,另一方面,基于整段语音确定声纹模型能够充分利用连续语音间的协同发音信息,这使得确定出的声纹模型比较精准,获取稳定性和精准度较高的声纹模型能够大幅提高声纹识别性能。另外,本实施例只需要建立一个统一的声纹提取模型即可,而不需要针对不同的文本单元建立不同模型,因此,模型规模减小,模型参数量大幅下降,从而使得方案实现简单、易用性强。

以下对建立声纹提取模型的过程进行介绍。

请参阅图2,示出了建立声纹提取模型的流程示意图,可以包括:

步骤s201:从训练数据集中获取训练语音。

训练数据集中的训练语音为根据具体应用,在真实的业务场景下收集的大量不同说话人的语音。需要说明的是,训练语音的内容为指定内容,比如,为一固定文本,或者0~9中的数字。

其中,训练数据集中的每条训练语音具有一真实说话人标签和一句级文本标签。

一训练语音的真实说话人标签用于标识该训练语音所属的真实说话人。假设训练数据集中包括n个说话人的训练语音,若一训练语音属于第1个说话人,则该训练语音的说话人标签可以为“1”,若一训练语音属于第n个说话人,则该训练语音的说话人标签可以为“n”,其它以此类推。

一训练语音的句级文本标签为该训练语音对应的文本内容,比如,一训练语音对应的文本内容为“356987”,则该训练语音的句级文本标签即为“356987”。

步骤s202:预测训练语音的文本标签。

具体的,预测训练语音的帧级标签(比如帧级文本标签)的过程包括:获取训练语音的语音特征,根据训练语音的语音特征确定训练语音的目标特征,根据训练语音的目标特征预测训练语音的文本标签。

其中,训练语音的目标特征包含训练语音对应文本的结构化信息,且包含所述训练语音的关键帧信息和上下文相对位置信息。

其中,获取训练语音的语音特征的过程包括:对训练语音进行分帧加窗、傅里叶变换,得到fft特征,fft特征作为训练语音的语音特征。

步骤s203:确定训练语音对应的声纹模型,并根据训练语音对应的声纹模型预测训练语音的说话人标签。

具体的,根据训练语音的目标特征确定训练语音对应的声纹模型。

步骤s204:根据预测的文本标签和预测的说话人标签,以及训练语音的真实文本标签和真实说话人标签,更新声纹提取模型的参数。

假设步骤s204中的文本标签为帧级文本标签,则训练语音的真实帧级文本标签可根据训练语音的句级文本标签确定,其中,根据训练语音的句级文本标签获取训练语音的真实帧级文本标签的过程包括:将训练语音与训练语音的句级文本标签进行强制对齐,验证训练语音对应的文本内容与训练语音的句级文本标签是否一致,若一致,则获取训练语音对应的文本内容中每个文本单元在训练语音中的起始位置和结束位置,根据训练语音的句级文本标签和训练语音对应的文本内容中每个文本单元在训练语音中的起始位置和结束位置获得训练语音的真实帧级文本标签。

采用训练数据集中的训练语音,按上述方式进行多次迭代训练,直至文本预测准确率和说话人预测准确率稳定,在文本预测准确率和说话人预测准确率稳定后,移除声纹提取模型中用于预测说话人标签的说话人预测模块。

在上述训练过程的基础上,下面通过一具体实例对上述训练过程进行进一步说明,在该具体实例中,声纹提取模型可以包括:特征处理模块、文本预测模块、身份表征模块和说话人预测模块,基于此,请参阅图3,示出了建立声纹提取模型的一具体实现过程的流程示意图,可以包括:

步骤s301:从训练数据集中获取训练语音,并获取训练语音的语音特征。

获取训练语音的语音特征的过程可参见上述实施例的说明,本实施例在此不作赘述。

步骤s302:通过声纹提取模型中的特征处理模块,将训练语音的语音特征处理成目标特征,获得训练语音的目标特征。

具体的,可通过位置编码和自注意力机制将训练语音的语音特征处理成目标特征。

请参阅图4,示出了声纹提取模型的拓扑结构的一具体实例的示意图,图4中的400为特征处理模块,其可以包括第一全连接层、位置编码层、注意力层、第一归一化层、第二全连接层、第二归一化层。其中,每个归一化层均采用残差连接的方式。

假设训练语音的语音特征的长度为l,维度为d,在获得训练语音的语音特征后,将训练语音的语音特征组成l×d的特征图输入第一全连接层;第一全连接层将l×d的特征图映射为l×m的特征图,其目的在于将语音特征变换到非线性空间,其中,m为自定义的参数,比如,可以为512,第一全连接层输出的l×m的特征图输入位置编码层;位置编码层根据l×m的特征图确定训练语音中每个语音帧对应的位置向量,具体的,位置编码层将整个长度为l的特征序列的每个位置进行编号,每个编号对应一个向量,从而可获得训练语音中每个语音帧对应的位置向量;位置编码层的输出与第一全连接层的输出累加,累计结果输入注意力层,注意力层可采用多头自注意力结构,即,使用多个参数不共享的注意力模块,采用多头自注意力结构的好处是,便于模型在不同的子空间学习特征表示,然后将在不同子空间学习的特征组合起来,注意力层输出的特征图输入第一归一化层进行规整,第一归一化层输出的特征图输入第二全连接层,第二全连接层输出的特征图和第一归一化层输出的特征图进行向量相加,相加得到的结果输入第二归一化层,第二归一化层输出l×m的特征图,该图即为训练语音的目标特征,第二归一化层输出的l×m的特征图保留了训练语音对应的文本的结构化信息,同时由于位置编码和自注意力机制的应用,使得训练语音中特定的关键帧和上下文相对位置得以在特征中体现。

步骤s303:利用声纹提取模型中的文本预测模块和训练语音的目标特征,预测训练语音的帧级文本标签。

具体的,文本预测模块可以为softmax分类器,即通过softmax分类器对上述第二归一化层输出的l×m的特征图进行分类,从而得到预测的帧级文本标签。

步骤s304:利用声纹提取模型中的身份表征模块和训练语音的目标特征,确定训练语音对应的文本中每个文本单元的说话人身份向量。

具体的,针对训练语音对应的文本中的任一文本单元,通过训练语音对应的真实帧级文本标签,确定该文本单元在训练语音中的起始位置和结束位置,根据该文本单元在训练语音中的起始位置和结束位置,从m个l×1的特征图(即第二归一化层输出的l×m的特征图)中获取该文本单元对应的特征片段并求平均(对从每个l×1的特征图上获取的特征片段均求平均),从而获得m个一维特征值,将m个一维特征值组合,获得m×1的向量作为该文本单元对应的说话人身份向量,以获得训练语音对应的文本中每个文本单元对应的说话人身份向量。

假设训练语音包括100个语音帧,即,l为100,m为512,训练语音的文本内容为“3872965”,如图4所示,对于文本内容中的数字“8”,基于数字“8”在训练语音中的起始位置和结束位置,从512个100×1的特征图中的每个100×1的特征图上,获取“8”对应的特征片段并对其求平均,如此可获得数字“8”对应的512个特征值,数字“8”对应的512个特征值组合,便获得数字“8”对应的512×1的说话人身份向量,其它数字类似,对于文本内容为“3872965”的训练语音,可获得7个说话人身份向量,7个说话人身份向量组成训练语音对应的声纹模型。

步骤s305:利用声纹提取模型中的说话人预测模块和训练语音对应的文本中每个文本单元的说话人身份向量,预测训练语音对应的文本中每个文本单元的说话人标签。

步骤s306:根据预测的帧级文本标签和预测的说话人标签,以及训练语音的真实帧级文本标签和真实说话人标签,更新声纹提取模型的参数。

具体的,根据预测的帧级文本标签和预测的说话人标签,以及训练语音的真实帧级文本标签和真实说话人标签,更新声纹提取模型的参数的过程可以包括:

步骤a、根据预测的帧级文本标签和训练语音的真实帧级文本标签,确定训练语音的文本预测损失losstext。

步骤b、根据预测的训练语音对应的文本中每个文本单元的说话人标签和训练语音的真实说话人标签,确定训练语音的说话人预测损失lossspk。

具体的,针对训练语音对应的文本中任一文本单元,根据预测的该文本单元的说话人标签和训练语音的真实说话人标签,确定该文本单元对应的说话人预测损失,以得到每个文本单元对应的说话人预测损失,将各个文本单元对应的说话人预测损失求和,得到训练语音的说话人预测损失lossspk,即:

其中,n为训练语音对应的文本中文本单元的数量,lossspk_i为训练语音对应的文本中第i个文本单元对应的说话人预测损失。

步骤c、根据训练语音的文本预测损失和训练语音的说话人预测损失lossspk,确定训练语音的预测损失loss1。

具体的,可将训练语音的文本预测损失和训练语音的说话人预测损失求和,求和得到的损失确定为训练语音的预测损失,即:

loss1=lossspk+losstext(2)

步骤d、根据训练语音的预测损失,更新声纹提取模型的参数。

采用训练数据集中的训练语音,按上述方式进行多次迭代训练,直至文本预测模块的文本预测准确率和说话人预测模块的说话人预测准确率稳定。

在文本预测模块的文本预测准确率和说话人预测模块的说话人预测准确率稳定后,移除说话人预测模块,移除说话人预测模块后的声纹提取模型如图5所示,此时的模型不再输出说话人标签,而是输出声纹模型(即训练语音对应的文本中各个文本单元的说话人身份向量)。

需要说明是,采用训练数据集中的训练语音训练得到的声纹提取模型能够对训练语音所属说话人的声纹进行较好的建模,然而,在实际应用中,识别目标往往不是训练数据集中训练数据所属的说话人,这导致声纹提取模型提取的声纹模型可能与声纹识别目标不是很匹配。

为了使声纹提取模型能够确定出更加精准、鲁棒且与声纹识别目标更加匹配的声纹模型,在本申请的另一实施例中,可采用另一种训练方式训练声纹提取模型,具体的,该训练方式包括两个训练阶段,第一个训练阶段的训练过程与上述实施例提供的训练过程相同,详细训练过程可参见上述实施例的说明,本实施例在此不作赘述,以下对第二阶段的训练过程进行说明,第二阶段的初始声纹提取模型为通过第一训练阶段训练得到的声纹提取模型,请参阅图6,示出了第二阶段的训练过程的流程示意图,可以包括:

步骤s601:将训练数据集中的每条训练语音分别输入当前的声纹提取模型,获得每条训练语音对应的文本中每个文本单元的说话人身份向量。

步骤s602:针对任一说话人,通过属于该说话人的所有训练语音分别对应的文本中各个文本单元的说话人身份向量,确定该说话人的声纹模型,以得到每个说话人的声纹模型。

其中,任一说话人的声纹模型由属于该说话人的训练语音对应的文本中不同文本单元分别对应的说话人身份向量组成。

其中,通过属于该说话人的所有训练语音分别对应的文本中各个文本单元的说话人身份向量的过程包括:将该说话人的训练语音对应的文本中,相同文本单元对应的说话人身份向量求平均,将求平均后得到的所有向量组成该说话人的声纹模型。

示例性的,一说话人a包括两条训练语音,两条训练语音的文本内容分别为“123456”和“7891025”,将两条训练语音经声纹提取模型可获得“123456”中每个数字的说话人身份向量和“7891025”中每个数字的说话人身份向量,由于“123456”和“7891025”中有两个“1”、两个“2”、两个“5”,则将两个“1”的说话人身份向量求平均得到说话人a的声纹模型中“1”对应的说话人身份向量,两个“2”的说话人身份向量求平均得到说话人a的声纹模型中“2”对应的说话人身份向量,两个“5”的说话人身份向量求平均得到说话人a的声纹模型中“5”对应的说话人身份向量,而“123456”和“7891025”中只有一个“3”,将“3”的说话人身份向量作说话人a的声纹模型中“3”对应的说话人身份向量,“4”、“6”、“7”、“8”、“9”、“0”同样如此。

步骤s603:以将训练语音对应的文本中每个文本单元的说话人身份向量拟合至对应说话人的声纹模型中对应的说话人身份向量为训练目标,用训练数据集中所有说话人的全部训练语音训练当前的声纹提取模型。

需要说明的是,各说话人的声纹模型作为模型训练时的拟合中心。假设一说话人a的一训练语音的文本内容为“910258”,在用训练语音训练声纹提取模型时,将“9”的说话人身份向量拟合至该说话人a的声纹模型中“9”对应的说话人身份向量,将“1”的说话人身份向量拟合至说话人a的声纹模型中“1”对应的说话人身份向量,“0”、“2”、“5”、“8”类似。

第二个训练阶段的预测损失loss2通过同一说话人的类内差异损失lossspk_same、不同说话人的类间差异损失lossspk_diff以及文本预测损失losstext确定,假设在一次更新过程中,共处理了i个说话人的训练语音,每个说话人有j条训练语音,则预测损失loss2为:

其中,表示第k个说话人的第j条语音到第k个说话人的拟合中心uk的均方误差,表示第k个说话人的第j条语音到第i个说话人的拟合中心ui的均方误差,c(i,1)和c(i,2)为组合数。

声纹提取模型在训练过程中,通过最小化同一说话人的类内距离,最大化不同说话人的类间距离,来获得更加稳定和精准的声纹模型。

当训练数据集中的所有说话人的训练语音全部训练一次,重复执行步骤ss601~s603,即更新所有说话人的声纹模型,基于新的声纹模型,用训练数据集中所有说话人的训练语音再次训练声纹提取模型,直至达到预设的训练次数,或者声纹提取模型提取的声纹模型满足预设要求。

在训练完成后,便可利用训练得到的声纹提取模型进行声纹识别。具体的,获取目标语音的语音特征,通过声纹提取模型,将目标语音的语音特征处理成目标特征,并根据目标特征确定目标语音的文本标签(如帧级文本标签),通过目标语音的文本标签确定目标语音对应的文本,对目标语音对应的文本进行验证,若验证通过,则利用声纹提取模型、目标语音的目标特征和目标语音的文本标签,确定目标语音对应的声纹模型,并对目标语音对应的声纹模型进行验证。

其中,确定目标语音对应的声纹模型的过程包括:

步骤a、根据目标语音的文本标签(如帧级文本标签),确定目标语音对应的文本中每个文本单元在目标语音中的起始位置和结束位置。

一个文本单元在目标语音中的起始位置和结束位置指的是该文本单元在目标语音中的起始帧位置和结束帧位置。

步骤b、根据目标语音对应的文本中每个文本单元在目标语音中的起始位置和结束位置,从目标语音的目标特征中获取目标语音对应的文本中每个文本单元的特征片段。

由于目标语音的目标特征包含了目标语音对应文本的结构化信息,因此,根据目标语音对应的文本中每个文本单元的起始位置和结束位置,可从目标语音的目标特征中获取每个文本单元的特征片段。

步骤c、根据目标语音对应的文本中每个文本单元的特征片段,确定目标语音对应的文本中每个文本单元的说话人身份向量。

其中,任一文本单元的说话人身份向量为该文本单元对应的、用于表征说话人身份的向量。目标语音对应的文本中所有文本单元的说话人身份向量组成目标语音对应的声纹模型。

在获得目标语音对应的声纹模型后,对目标语音对应的声纹模型进行验证,具体的,确定目标语音对应的声纹模型与注册语音对应的声纹模型的匹配度;若匹配度大于预设值,则确定声纹验证通过,否则,确定声纹验证不通过。

其中,注册语音对应的声纹模型基于声纹提取模型确定。具体的,获取注册语音,通过声纹提取模型确定注册语音对应的文本中每个文本单元的说话人身份向量,将属于同一文本单元的说话人身份向量求平均,获得注册语音中多个不同文本单元分别对应的说话人身份向量,注册语音中多个不同文本单元分别对应的说话人身份向量组成注册语音对应的声纹模型。

示例性的,声纹识别为数字密码声纹识别,则注册语音的内容中需包含数字0~9,注册语音可以为一条,也可以为多条,只要所有注册语音中包含数字0~9即可,通过声纹提取模型可获得注册语音对应的文本中各个数字的说话人身份向量,将相同数字的说话人身份向量求平均,从而得到注册语音对应的文本中不同数字分别对应的说话人身份向量,即0~9这10个数字分别对应的说话人身份向量,10个数字分别对应的说话人身份向量组成注册语音对应的声纹模型。

其中,确定目标语音对应的声纹模型与注册语音对应的声纹模型的匹配度的过程包括:对于目标语音对应的文本单元中的每个文本单元,计算该文本单元对应的说话人身份向量与注册语音对应的声纹模型中该文本单元对应的说话人身份向量的余弦相似度,获得目标语音对应的文本单元中每个文本单元对应的余弦相似度,将所有的余弦相似度求和,求和得到值作为目标语音对应的声纹模型与注册语音对应的声纹模型的匹配度。

本申请实施例提供的声纹识别方法,基于经由上述过程训练得到的声纹提取模型,既可实现文本的验证又可实现声纹的验证,这使得声纹识别系统的复杂度大大降低,并且,由于声纹提取模型能够获得稳定、精准、且与声纹识别目标更加匹配的声纹模型,因此,能大幅提高声纹识别性能。

本申请实施例还提供了一种声纹识别装置,下面对本申请实施例提供的声纹识别装置进行描述,下文描述的声纹识别装置与上文描述的声纹识别方法可相互对应参照。

请参阅图7,示出了本申请实施例提供的声纹识别装置的结构示意图,如图7所示,该装置可以包括:语音获取模块701、文本标签确定模块702、文本验证模块703和声纹验证模块704。

语音获取模块701,用于获取目标语音。

其中,目标语音可以但不限为内容为固定文本的语音、内容为数字串的语音。

文本标签确定模块702,用于通过预先建立的声纹提取模型确定目标语音的文本标签。

其中,目标语音的文本标签用于指示目标语音对应的文本。

本实施例中的声纹提取模型采用具有说话人标签和文本标签的训练语音训练得到。

文本验证模块703,用于根据目标语音的文本标签对目标语音进行文本验证。

声纹验证模块704,用于当文本验证通过时,利用所述声纹提取模型和所述目标语音的文本标签,对所述目标语音进行声纹验证。

本申请实施例提供的声纹识别装置,在获得目标语音后,可通过预先建立声纹提取模型确定目标语音的文本标签,根据目标语音的文本标签对目标语音进行文本验证,在验证通过时,通过预先建立声纹提取模型和目标语音的文本标签对目标语音进行声纹验证,由此可见,本申请实施例提供的声纹识别装置,基于预先建立的声纹提取模型既可实现文本的验证,又可实现声纹的验证,即基于一个模型将两个验证过程合二为一,这使得声纹识别流程大大简化,进而使得声纹识别系统的复杂度大大降低。另外,本申请基于整段语音和声纹提取模型确定的声纹模型比较稳定、精准,这使得声纹识别性能大幅提高。

在一种可能的实现方式中,上述实施例提供的声纹识别装置中,声纹验证模块可以包括:声纹模型确定子模块和声纹验证子模块。

声纹模型确定子模块,用于利用所述声纹提取模型和所述目标语音的文本标签,确定所述目标语音对应的声纹模型。

声纹验证子模块,用于根据所述目标语音对应的声纹模型对所述目标语音进行声纹验证。

在一种可能的实现方式中,上述实施例提供的声纹识别装置中,文本标签确定模块702,具体用于获取所述目标语音的目标特征,根据所述目标语音的目标特征,确定目标语音的文本标签。其中,目标语音的目标特征包含目标语音对应文本的结构化信息,且包含目标语音的关键帧信息和上下文相对位置信息。

在一种可能的实现方式中,上述的声纹模型确定子模块,具体用于根据目标语音的目标特征和目标语音的文本标签,确定目标语音对应的文本中每个文本单元对应的说话人身份向量。其中,目标语音对应的文本中所有文本单元的说话人身份向量组成所述目标语音对应的声纹模型。

在一种可能的实现方式中,声纹模型确定子模块可以包括:位置确定子模块、特征片段确定子模块和身份向量确定子模块。

位置确定子模块,用于根据目标语音的文本标签,确定目标语音对应的文本中每个文本单元在目标语音中的起始位置和结束位置。

特征片段确定子模块,用于根据目标语音对应的文本中每个文本单元在目标语音中的起始位置和结束位置,从目标语音的目标特征中获取目标语音对应的文本中每个文本单元的特征片段。

身份向量确定子模块,用于根据目标语音对应的文本中每个文本单元的特征片段,确定目标语音对应的文本中每个文本单元的说话人身份向量。

上述实施例提供的声纹识别装置还可以包括:模型构建模块。

模型构建模块可以包括第一训练模块,第一训练模块,用于从训练数据集中获取训练语音;预测所述训练语音的文本标签;确定所述训练语音对应的声纹模型,并根据所述训练语音对应的声纹模型预测所述训练语音的说话人标签;根据预测的文本标签和预测的说话人标签,以及所述训练语音的真实文本标签和真实说话人标签,更新声纹提取模型的参数;在文本预测准确率和说话人预测准确率稳定后,移除声纹提取模型中用于预测说话人标签的说话人预测模块。其中,所述训练语音具有一真实说话人标签和一真实文本标签。

在一种可能的实现方式中,第一训练模块在预测所述训练语音的文本标签时,具体用于获取所述训练语音的语音特征;利用声纹提取模型中的特征处理模块和所述训练语音的语音特征,确定所述训练语音的目标特征;利用声纹提取模型中的文本预测模块和所述训练语音的目标特征,预测所述训练语音的文本标签。其中,所述训练语音的目标特征包含所述训练语音对应文本的结构化信息,且包含所述训练语音的关键帧信息和上下文相对位置信息。

在一种可能的实现方式中,第一训练模块在确定所述训练语音对应的声纹模型时,具体用于利用声纹提取模型的身份表征模块和所述训练语音的目标特征,确定所述训练语音对应的文本中每个文本单元对应的说话人身份向量;利用声纹提取模型的说话人预测模块和所述训练语音对应的文本中每个文本单元对应的说话人身份向量,预测所述训练语音对应的文本中每个文本单元的说话人标签。

在一种可能的实现方式中,第一训练模块在确定所述训练语音对应的文本中每个文本单元对应的说话人身份向量时,具体用于根据训练文本的真实文本标签,确定训练语音对应的文本中各文本单元在训练语音中的起始位置和结束位置,根据训练语音对应的文本中各文本单元在训练语音中的起始位置和结束位置确定训练语音对应的文本中各文本单元的特征片段,根据训练语音对应的文本中各文本单元的特征片段确定训练语音对应的文本中每个文本单元对应的说话人身份向量。

在一种可能的实现方式中,第一训练模块在根据预测的文本标签和预测的说话人标签,以及训练语音的真实文本标签和真实说话人标签,更新声纹提取模型的参数时,具体用于根据预测的文本标签和训练语音的真实文本标签,确定训练语音的文本预测损失;根据预测的训练语音对应的文本中每个文本单元的说话人标签和训练语音的真实说话人标签,确定训练语音的说话人预测损失;根据训练语音的文本预测损失和训练语音的说话人预测损失,确定所述训练语音的预测损失,根据训练语音的预测损失,更新声纹提取模型的参数。

优选的,上述的模型构建模块还包括:第二训练模块。

第二训练模块,用于将移除说话人预测模块后的模型作为当前的声纹提取模型;将训练数据集中的每条训练语音分别输入当前的声纹提取模型,获得每条训练语音对应的文本中每个文本单元的说话人身份向量,其中,训练数据集中包括至少一个说话人的至少一条训练语音;针对任一说话人,通过属于该说话人的所有训练语音分别对应的文本中各个文本单元的说话人身份向量,确定该说话人的声纹模型,以得到每个说话人的声纹模型,其中,任一说话人的声纹模型包括属于该说话人的训练语音对应的文本中不同文本单元分别对应的说话人身份向量;以将训练语音对应的文本中每个文本单元的说话人身份向量拟合至对应说话人的声纹模型中对应的说话人身份向量为训练目标,用训练数据集中的训练语音训练当前的声纹提取模型。

在一种可能的实现方式中,第二训练模块在通过属于该说话人的训练语音对应的文本中各个文本单元的说话人身份向量,确定该说话人的声纹模型时,具体用于将该说话人的训练语音对应的文本中,相同文本单元对应的说话人身份向量求平均,将求平均后得到的所有向量组成该说话人的声纹模型。

本申请实施例还提供了一种声纹识别设备,请参阅图8,示出了该声纹识别设备的结构示意图,该设备可以包括:至少一个处理器801,至少一个通信接口802,至少一个存储器803和至少一个通信总线804;

在本申请实施例中,处理器801、通信接口802、存储器803、通信总线804的数量为至少一个,且处理器801、通信接口802、存储器803通过通信总线804完成相互间的通信;

处理器801可能是一个中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;

存储器803可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;

其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:

获取目标语音;

通过预先建立的声纹提取模型,确定所述目标语音的文本标签,其中,所述文本标签用于指示所述目标语音对应的文本;

根据所述目标语音的文本标签对所述目标语音进行文本验证;

若文本验证通过,利用所述声纹提取模型和所述目标语音的文本标签,对所述目标语音进行声纹验证。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的程序,所述程序用于:

获取目标语音;

通过预先建立的声纹提取模型,确定所述目标语音的文本标签,其中,所述文本标签用于指示所述目标语音对应的文本;

根据所述目标语音的文本标签对所述目标语音进行文本验证;

若文本验证通过,利用所述声纹提取模型和所述目标语音的文本标签,对所述目标语音进行声纹验证。

可选的,所述程序的细化功能和扩展功能可参照上文描述。

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

本说明书中各个实施例采用递进和/或并列的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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