一种模型训练方法及电子终端与流程

文档序号:24132157发布日期:2021-03-02 18:38阅读:91来源:国知局
一种模型训练方法及电子终端与流程

[0001]
本发明涉及机器学习技术领域,尤其涉及一种模型训练方法及电子终端。


背景技术:

[0002]
随着智能技术的不断发展,各种智能产品应运而生,智能产品的功能也越来越强大,智能家居也逐渐普及,而智能家居设备中的语音识别功能使非手势交互成为可能,用户可以通过声音向智能家居设备发送控制指令,增加智能家居设备操作的便利性。而在使用中,更多的应该是注册用户使用(例如,本人使用、家庭成员使用)外人不能使用。特别是在智能声纹锁,不应该由除家庭成员之外的人唤醒。
[0003]
目前,用户输入语音,可通过声纹识别模型提取用户声纹特征向量,通过声纹特征向量进行说话人识别等。然而,在实际场景下,用户在识别时的场景和家庭成员注册时的场景有较大差异的情况下,上述声纹识别模型的识别准确率较低。


技术实现要素:

[0004]
本发明实施例提供一种模型训练方法及电子终端,以解决现有声纹识别模型识别准确性较低的问题。
[0005]
为了解决上述技术问题,本发明是这样实现的:
[0006]
第一方面,本发明实施例提供了一种模型训练方法,所述方法包括:
[0007]
获取测试语音;
[0008]
利用声纹识别模型对测试语音进行声纹特征提取,得到第一声纹特征向量;
[0009]
计算所述第一声纹特征向量与多个第二声纹特征向量之间的第一相似度,得到多个第一相似度;其中,所述多个第二声纹特征向量为通过所述声纹识别模型对多个注册用户的注册语音进行声纹特征提取得到的向量;
[0010]
根据所述多个第一相似度中的最大相似度,确定所述测试语音的标签;
[0011]
利用训练样本数据对所述声纹识别模型进行训练,得到目标声纹识别模型;其中,所述训练样本数据包括所述测试语音以及所述测试语音的标签。
[0012]
第二方面,本发明实施例还提供一种电子终端,包括:
[0013]
第一获取模块,用于获取测试语音;
[0014]
第一提取模块,用于利用声纹识别模型对测试语音进行声纹特征提取,得到第一声纹特征向量;
[0015]
相似度计算模块,用于计算所述第一声纹特征向量与多个第二声纹特征向量之间的第一相似度,得到多个第一相似度;其中,所述多个第二声纹特征向量为通过所述声纹识别模型对多个注册用户的注册语音进行声纹特征提取得到的向量;
[0016]
确定模块,用于根据所述多个第一相似度中的最大相似度,确定所述测试语音的标签;
[0017]
训练模块,用于利用训练样本数据对所述声纹识别模型进行训练,得到目标声纹
识别模型;其中,所述训练样本数据包括所述测试语音以及所述测试语音的标签。
[0018]
第三方面,本发明实施例还提供一种电子终端,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的模型训练方法中的步骤。
[0019]
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的模型训练方法中的步骤。
[0020]
第五方面,本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上所述的模型训练方法中的步骤。
[0021]
本发明实施例中,可先利用声纹识别模型对测试语音进行声纹特征提取得到第一声纹特征向量,然后利用第一声纹特征向量与多个注册用户的第二声纹特征向量之间的第一相似度中的最大相似度,确定测试语音的标签,如此,可得到包括测试语音和测试语音的标签的训练样本数据,利用训练样本数据对声纹识别模型再进行训练,得到目标声纹模型,即相对声纹识别模型,利用了通过上述过程得到的训练样本数据进行了重新训练,可提高目标声纹模型声纹提取的准确性,即可提高目标声纹识别模型的识别准确性。
附图说明
[0022]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0023]
图1是本发明实施例提供的模型训练方法的流程图之一;
[0024]
图2是本发明实施例提供的模型训练方法的流程图之二;
[0025]
图3是本发明实施例的模型训练方法的流程图之三;
[0026]
图4是本发明实施例提供的电子终端的模块示意图之一;
[0027]
图5是本发明实施例提供的电子终端的模块示意图之二。
具体实施方式
[0028]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]
参见图1,图1是本发明实施例提供的模型训练方法的流程图,该方法可应用于电子终端,电子终端包括但不限于智能家居设备等,如图1所示,该方法包括以下步骤:
[0030]
步骤101:获取测试语音。
[0031]
用户可在电子终端中输入测试语音,或者上述电子终端可接收其他终端传输的测试语音(用户在其他终端中输入测试语音,通过其他终端传输给电子终端)等。
[0032]
步骤102:利用声纹识别模型对测试语音进行声纹特征提取,得到第一声纹特征向量。
[0033]
该声纹识别模型是经过训练的声纹识别模型,可以理解,是在利用声纹识别模型对测试语音进行声纹特征提取之前,利用样本集进行训练得到声纹识别模型,可以是通过离线的方式进行训练得到上述声纹识别模型。通过声纹识别模型可提取测试语音的声纹特征,从而得到测试语音的第一声纹特征向量。
[0034]
步骤103:计算第一声纹特征向量与多个第二声纹特征向量之间的第一相似度,得到多个第一相似度。
[0035]
其中,多个第二声纹特征向量为通过声纹识别模型对多个注册用户的注册语音进行声纹特征提取得到的向量。
[0036]
需要说明的是,在获取测试语音之前,可预先通过注册语音进行注册,输入注册语音的用户即为注册用户,即预先获取多个注册用户的注册语音,并对其进行声纹特征提取,得到多个注册用户的第二声纹特征向量,即多个第二声纹特征向量。对测试语音进行声纹特征提取得到第一声纹特征向量之后,计算第一声纹特征向量与多个第二声纹特征向量之间的第一相似度,第一声纹特征向量与每个第二声纹特征向量之间具有第一相似度,如此,可得到多个第一相似度。
[0037]
在一个示例中,第一声纹特征向量与第二声纹特征向量之间的第一相似度,可以理解为第一声纹特征向量与第二声纹特征向量之间的距离,例如,可以为欧式距离等。
[0038]
步骤104:根据多个第一相似度中的最大相似度,确定测试语音的标签。
[0039]
需要说明的是,上述测试语音的标签可以理解为用于表示该测试语音是否为多个注册用户中用户输入的,即用于表示测试语音的说话人是否属于多个注册用户中。例如,若测试语音的标签为第一预设标签(例如,1),表示测试语音的说话用户为多个注册用户中的用户,若测试语音的标签为第二预设标签(例如,0),表示测试语音的说话用户不为多个注册用户中的用户。
[0040]
第一相似度越大,表示第一声纹特征向量与第二声纹特征向量之间越相似,测试语音的说话人为该第二声纹特征向量对应的注册用户的可能性越大,如此,可从多个第一相似度中选择最大相似度作为测试语音标签确定的依据,以提高标签确定的准确性。
[0041]
步骤105:利用训练样本数据对声纹识别模型进行训练,得到目标声纹识别模型。
[0042]
其中,训练样本数据包括测试语音以及测试语音的标签。
[0043]
确定测试语音的标签之后,即可利用包括测试语音以及测试语音的标签的训练样本数据对声纹识别模型进行重新训练,得到目标声纹识别模型。需要说明的是,上述测试语音的数量可以是多条,可对每条测试语音进行上述过程,确定每条测试语音的标签,则训练样本数据可包括多条测试语音和多条测试语音的标签。
[0044]
在本实施例的模型训练方法中,可先利用声纹识别模型对测试语音进行声纹特征提取得到第一声纹特征向量,然后利用第一声纹特征向量与多个注册用户的第二声纹特征向量之间的第一相似度中的最大相似度,确定测试语音的标签,如此,可得到包括测试语音和测试语音的标签的训练样本数据,利用训练样本数据对声纹识别模型再进行训练,得到目标声纹模型,即相对声纹识别模型,利用了通过上述过程得到的训练样本数据进行了重新训练,可提高目标声纹模型声纹提取的准确性,即可提高目标声纹识别模型的识别准确性。
[0045]
在一个实施例中,计算第一声纹特征向量与多个第二声纹特征向量之间的第一相
似度,得到多个第一相似度,包括:计算第一声纹特征向量与多个注册用户的第二声纹特征向量之间的初始相似度,得到测试语音的多个初始相似度;基于多个注册用户的第二声纹特征向量的权重,对多个初始相似度进行加权处理,得到多个第一相似度。
[0046]
在计算第一声纹特征向量与多个第二声纹特征向量之间的第一相似度之前,可先初始化多个注册用户的第二声纹特征向量的权重,即每个第二声纹特征向量有对应的权重,例如,同一注册用户的第二声纹特征向量中每个向量的权重初始化为1/n,n为该注册用户的第二声纹特征向量中向量的个数。在计算第一相似度的过程中,可先计算第一声纹特征向量与多个注册用户的第二声纹特征向量之间的初始相似度,例如,可以是第一声纹特征向量与多个注册用户的第二声纹特征向量之间的距离(比如,欧式距离)。然后对多个初始相似度进行加权处理,得到多个第一相似度。
[0047]
权重越大,表示第二声纹特征向量的越重要,对结果的影响程度越大,从而,在得到多个初始相似度之后,可通过多个第二声纹特征向量的权重对多个初始相似度进行加权处理,得到多个第一相似度,可提高第一相似度的准确性,从而可提高确定的测试语音的标签的准确性,利用测试语音和标签进行训练,可提高训练得到的目标声纹识别模型的性能。
[0048]
在一个实施例中,任一注册用户的注册语音包括多段注册子语音,任一注册用户的第二声纹特征向量包括多个声纹特征子向量,多个初始向量包括第一声纹特征性向量与多个注册用户的每个声纹特征子向量之间的初始相似度。
[0049]
由于第二声纹特征向量中的向量数量有多个,即一个注册用户的第二声纹特征向量为一个特征向量组(包括多个声纹特征子向量),第一声纹特征向量与每个第二声纹特征向量中的每个特征向量之间具有第一相似度。例如,注册用户的数量为3个,包括注册用户a、注册用户b和注册用户c,任一注册用户的注册语音包括三段注册子语音,例如,三个句子的语音等,可选的,每段注册子语音的时长可在2-5秒范围内。对于每个注册用户,其对应的三段注册子语音中的每段注册子语音对应的第二声纹特征向量,如此,对于如上的三个注册用户,可得到9个声纹特征子向量(即包括注册用户a的第二声纹特征向量中的三个声纹特征子向量、注册用户b的第二声纹特征向量中的三个声纹特征子向量和注册用户c的第二声纹特征向量中的三个声纹特征子向量),计算初始相似度,即可得到9个初始相似度。
[0050]
在本实施例中,每个注册用户的注册语音包括多段注册子语音,如此,每个注册用户的第二声纹特征向量包括多个声纹特征子向量,可得到第一声纹特征性向量与多个注册用户的每个声纹特征子向量之间的初始相似度,在其中选择最大相似度进行测试语音的标签,可提高确定的测试语音的标签的准确性,利用测试语音和标签进行训练,可提高训练得到的目标声纹识别模型的性能。
[0051]
如图2所示,在一个实施例中,根据多个第一相似度中的最大相似度,确定测试语音的标签的步骤104,包括:
[0052]
步骤1041:在最大相似度大于预设阈值的情况下,确定测试语音的第一目标注册用户。
[0053]
其中,第一目标注册用户为多个注册用户中最大相似度对应的第二声纹特征向量的注册用户。
[0054]
即最大相似度对应的第二声纹特征向量的注册语音对应的注册用户为第一目标注册用户,在最大相似度大于预设阈值的情况下,表示在多个注册用户的第二声纹特征向
量中,最大相似度对应的第二声纹特征向量与第一声纹特征向量之间的最相似,测试语音的真实说话用户为第一目标注册用户的可能性最大,因此,预测第一目标注册用户为测试语音的说话用户,即确定测试语音的第一目标注册用户。
[0055]
步骤1042:在第一目标注册用户为测试语音的真实说话用户的情况下,确定测试语音的标签为第一预设标签。
[0056]
然而,确定的第一目标注册用户是预测得到的,需要将其与真实说话用户进行比对,可能不是真实说话用户,也可能是真实说话用户,一个示例中,用户可将真实说话用户输入至电子设备中,即在第一目标注册用户为测试语音的真实说话用户的情况下,确定测试语音的标签为第一预设标签之前,电子设备可接收用户输入的真实说话用户,在第一目标注册用户为测试语音的真实说话用户的情况下,即可确定测试语音的标签为第一预设标签。作为另一个示例,可在确定所述测试语音的第一目标注册用户之后,输出第一目标注册用户,在第一目标注册用户的输出时间后的预设时长内,未接收到用户输入的纠正信息的情况下,确定第一目标注册用户为所述测试语音的真实说话用户。
[0057]
在本实施例中,在最大相似度大于预设阈值的情况下,确定测试语音的第一目标注册用户后,还需判断第一目标注册用户是否为测试语音的真实说话用户,若是,则确定测试语音的标签为第一预设标签,提高测试语音的标签的准确性。
[0058]
在一个实施例中,确定测试语音的标签为第一预设标签之后,还包括:初始化第一声纹特征向量的权重,调整第一目标注册用户的第二声纹特征向量中每个向量的权重;将测试语音的第一声纹特征向量添加至第一目标注册用户的第二声纹特征向量中;基于第一声纹特征向量与第一目标注册用户的第二声纹特征向量之间的第一相似度,对第一目标注册用户的第二声纹特征向量的权重进行归一化处理,以更新第一目标注册用户的第二声纹特征向量的权重。
[0059]
多个注册用户的第二声纹向量对应有权重,例如,在注册过程中,可预先初始化每个注册用户的第二声纹向量的权重,若任一注册用户的第二声纹向量包括多个声纹特征子向量,则注册用户的每个声纹子向量有对应的权重,对于同一注册用户,其对应的多个声纹特征子向量的初始化后的权重之和为1,可选的,其对应的多个声纹特征子向量的初始化后的权重可相同。例如,如上举例的三个注册用户,每个注册用户分别对应三个声纹特征子向量,则同一注册用户的三个声纹特征子向量的权重可均为1/3。
[0060]
确定所述测试语音的标签为第一预设标签之后,表示对测试语音识别的说话用户(即第一目标注册用户)为该测试语音的真实说话用户,可初始化第一声纹特征向量的权重,例如,可初始化为1/(n+1),n为第一目标注册用户的第二声纹特征向量中的向量个数(即第一目标注册用户的第二声纹特征向量中声纹特征子向量的个数),例如,如上举例的三个注册用户,n为可以为3,随着后续向第一目标注册用户的第二声纹特征向量中添加向量后,n的值会增大。另外,还需要对第一目标注册用户的第二声纹特征向量中每个向量的权重进行调整,作为一个示例,可根据第一目标注册用户的第二声纹特征向量中的向量个数n进行调整,例如,第一目标注册用户的第二声纹特征向量中第i个向量的调整后的权重为w
i
*(n/(n+1)),*表示乘号,1≤i≤n,w
i
为调整前第一目标注册用户的第二声纹特征向量中第i个向量的权重。
[0061]
然后,可将测试语音的第一声纹特征向量添加至所述第一目标注册用户的第二声
纹特征向量中,使第一目标注册用户的第二声纹特征向量中的向量增加,更新第一目标注册用户的第二声纹特征向量,例如,如上举例,第一目标注册用户的第二声纹特征向量中包括三个声纹特征子向量,向量个数为三个,将测试语音的第一声纹特征向量添加至所述第一目标注册用户的第二声纹特征向量中后,第一目标注册用户的第二声纹特征向量中包括四个声纹子向量(即添加前的三个声纹特征子向量和第一声纹特征向量,第一声纹特征向量作为一个声纹特征子向量)。
[0062]
为确保权重的均衡性,需对第一目标注册用户的更新后的第二声纹特征向量(即添加了第一声纹特征向量后的第二声纹特征向量)的权重(除初始化后的第一声纹特征向量的权重外,其他权重通过上述调整过程调整了)进行归一化处理,以更新第一目标注册用户的第二声纹特征向量的权重。例如,添加向量之前,初始化的第一声纹特征向量的权重为1/(n+1),第一目标注册用户的第二声纹特征向量中的n个向量的权重通过w
i
*(n/(n+1))公式调整,将所述测试语音的第一声纹特征向量添加至所述第一目标注册用户的第二声纹特征向量中,更新了第一目标注册用户的第二声纹特征向量,然后对上述n个向量的调整后的权重和初始化的第一声纹特征向量的权重(即1/(n+1))进行归一化处理,实现第一目标注册用户的更新后的第二声纹特征向量的权重的归一化。在本实施例中,可通过基于所述第一声纹特征向量与所述第一目标注册用户的第二声纹特征向量之间的第一相似度,对所述第一目标注册用户的第二声纹特征向量的权重进行归一化处理,即权重归一化过程与第一声纹特征向量与所述第一目标注册用户的第二声纹特征向量之间的第一相似度,可提高归一化的结果的准确性。作为一个示例,可通过softmax(归一化指数函数)进行归一化处理,softmax函数的输入为第一目标注册用户的第二声纹特征向量的权重以及第一声纹特征向量与所述第一目标注册用户的第二声纹特征向量之间的第一相似度,输出为第一目标注册用户的第二声纹特征向量的权重的归一化权重。例如,归一化公式为:w^=softmax(w*s),w^为第一目标注册用户的第二声纹特征向量的权重的归一化权重形成的矩阵,w为第一目标注册用户的第二声纹特征向量的权重形成的矩阵,s为第一声纹特征向量与所述第一目标注册用户的第二声纹特征向量之间的第一相似度形成的矩阵。
[0063]
在一个实施例中,将测试语音的第一声纹特征向量添加至第一目标注册用户的第二声纹特征向量中,包括:
[0064]
在第一目标注册用户的第二声纹特征向量中的向量个数小于预设个数的情况下,将测试语音的第一声纹特征向量添加至第一目标注册用户的第二声纹特征向量中;或者,
[0065]
在第一目标注册用户的第二声纹特征向量中的向量个数大于或等于预设个数的情况下,若第一目标注册用户的第二声纹特征向量中包括权重小于第一声纹特征向量的初始化的权重的目标向量,利用测试语音的第一声纹特征向量替换目标向量。
[0066]
在向第一目标注册用户的第二声纹特征向量中添加向量过程中,有两种情况,一种情况,第一目标注册用户的第二声纹特征向量中的向量个数小于预设个数(例如,可以为10),表示当前第一目标注册用户的第二声纹特征向量中的向量未满,直接将测试语音的第一声纹特征向量添加至第一目标注册用户的第二声纹特征向量中即可。另一种情况,第一目标注册用户的第二声纹特征向量中的向量个数大于或等于预设个数,表示当前第一目标注册用户的第二声纹特征向量中的向量已满,可进一步判断第一目标注册用户的第二声纹特征向量中是否包括权重小于第一声纹特征向量的初始化的权重的目标向量,若包括,则
利用所述测试语音的第一声纹特征向量替换所述目标向量,即删除第二声纹特征向量中的目标向量,将测试语音的第一声纹特征向量添加至所述第一目标注册用户的第二声纹特征向量中,如此,可确保所述第一目标注册用户的第二声纹特征向量中的向量个数不超过预设个数。需要说明的是,若目标向量的数量有多个,则利用所述测试语音的第一声纹特征向量替换目标向量中权重最小的向量。
[0067]
作为一个示例,在所述第一目标注册用户的第二声纹特征向量中的向量个数大于或等于预设个数的情况下,若所述第一目标注册用户的第二声纹特征向量中不包括权重小于所述第一声纹特征向量的初始化的权重的目标向量,则维持第一目标注册用户的第二声纹特征向量,删除第一声纹特征向量,即不替换第一目标注册用户的第二声纹特征向量中的任何向量。
[0068]
在一个实施例中,确定测试语音的第一目标注册用户之后,还包括:
[0069]
在第一目标注册用户不为测试语音的真实说话用户的情况下,执行以下任一项:
[0070]
接收输入的第一纠正指令,响应于第一纠正指令,初始化第一声纹特征向量的权重;将第一声纹特征向量添加至第一纠正指令对应的第二目标注册用户的第二声纹特征向量中;对第二目标注册用户的第二声纹特征向量的权重进行归一化处理;确定测试语音的标签为第一预设标签;
[0071]
将第一目标注册用户的第二声纹特征向量中最大相似度对应的向量删除;确定测试语音的标签为第二预设标签。
[0072]
确定的第一目标注册用户是预测得到的,需要将其与真实说话用户进行比对,可能不是真实说话用户,也可能是真实说话用户,一个示例中,用户可将真实说话用户输入至电子设备中,比较第一目标注册用户和真实说话用户,在第一目标注册用户为测试语音的真实说话用户的情况下,确定测试语音的标签为第一预设标签之前,电子设备可接收用户输入的真实说话用户,在第一目标注册用户不为测试语音的真实说话用户的情况下,若未接收到用户输入的第一纠正指令,即可将所述第一目标注册用户的第二声纹特征向量中所述最大相似度对应的向量删除,并确定测试语音的标签为第二预设标签。或者,在第一目标注册用户不为测试语音的真实说话用户的情况下,接收用户的第一纠正指令,初始化所述第一声纹特征向量的权重,将第一声纹特征向量添加至第一纠正指令对应的第二目标注册用户的第二声纹特征向量中,以更新第二目标注册用户的第二声纹特征向量,对第二目标注册用户的更新后的第二声纹特征向量(即增加了第一声纹特征向量)的权重进行归一化处理,并确定测试语音的标签为第一预设标签。多个注册用户包括第二目标注册用户。作为另一个示例,可在确定所述测试语音的第一目标注册用户之后,输出第一目标注册用户,在第一目标注册用户的输出时间后的预设时长内,接收到用户输入的纠正信息的情况下,确定第一目标注册用户不为所述测试语音的真实说话用户。
[0073]
需要说明的是,若第一纠正指令对应第一用户,多个注册用户不包括第一用户,则可将第一用户作为注册用户添加到多个注册用户中,更新多个注册用户,并将第一声纹特征向量作为第一用户的第二声纹特征向量,并初始化其权重,即在电子设备中对第一用户进行注册,在本示例中,可确定测试语音的标签为第一预设标签。
[0074]
作为一个示例,接收用户的第一纠正指令,初始化所述第一声纹特征向量的权重,可通过公式w0*((m+1)/m)初始化第一声纹特征向量的权重,w0是一个小于1的常数,可以是
第二目标注册用户的第二声纹特征向量的权重中的任一权重。例如,第二目标注册用户的第二声纹特征向量中三个声纹特征子向量的权重均为1/3,则w0可以是1/3。m为第二目标注册用户的第二声纹特征向量中的向量个数(即第二目标注册用户的第二声纹特征向量中声纹特征子向量的个数)。
[0075]
在本实施例中,在最大相似度大于预设阈值的情况下,确定测试语音的第一目标注册用户后,还需判断第一目标注册用户是否为测试语音的真实说话用户,在第一目标注册用户不为测试语音的真实说话用户的情况下,还需要判断是否接收到用户输入的第一纠正指令,若接收到输入的第一纠正指令,则响应于所述第一纠正指令,初始化所述第一声纹特征向量的权重,将所述第一声纹特征向量添加至所述第一纠正指令对应的第二目标注册用户的第二声纹特征向量中,以更新第二目标注册用户的第二声纹特征向量,对所述第二目标注册用户的第二声纹特征向量的权重进行归一化处理,确定所述测试语音的标签为第一预设标签,若未接收到输入的第一纠正指令,即可将所述第一目标注册用户的第二声纹特征向量中所述最大相似度对应的向量删除,并确定测试语音的标签为第二预设标签,如此,可提高测试语音的标签的准确性。
[0076]
如图3所示,在一个实施例中,根据多个第一相似度中的最大相似度,确定测试语音的标签的步骤104,包括:
[0077]
步骤1043:在最大相似度小于或等于预设阈值的情况下,确定测试语音的说话用户为非注册用户;
[0078]
步骤1044:在多个注册用户包括测试语音的真实说话用户的情况下,接收输入的第二纠正指令;
[0079]
步骤1045:响应于第二纠正指令,初始化第一声纹特征向量的权重;
[0080]
步骤1046:将第一声纹特征向量添加至第二纠正指令对应的第三目标注册用户的第二声纹特征向量中;
[0081]
步骤1047:对第三目标注册用户的第二声纹特征向量的权重进行归一化处理;
[0082]
步骤1048:确定测试语音的标签为第一预设标签。
[0083]
在本实施例中,在最大相似度小于或等于预设阈值的情况下,确定测试语音的说话用户为非注册用户,即对测试语音的说话用户的预测结果为非注册用户,表示对测试语音识别的说话用户不属于多个注册用户中,在这种情况下,还需判断多个注册用户中是否包括测试语音的真实说话用户,若包括,则表示虽然对测试语音的说话用户的预测结果为非注册用户,但测试语音的真实说话用户是在多个注册用户中,可输出提示信息,用于提示多个注册用户包括测试语音的真实说话用户,若接收到用户输入的第二纠正指令,可初始化第一声纹特征向量的权重,将第一声纹特征向量添加至第二纠正指令对应的第三目标注册用户(可以是测试语音的真实说话用户)的第二声纹特征向量中,以更新第三目标注册用户的第二声纹特征向量,多个注册用户包括第三目标注册用户,然后对第三目标注册用户的第二声纹特征向量(即添加了第一声纹特征向量)的权重进行归一化处理,并确定测试语音的标签为第一预设标签。
[0084]
需要说明的是,若第二纠正指令对应第二用户,多个注册用户不包括第二用户,则可将第二用户作为注册用户添加到多个注册用户中,更新多个注册用户,并将第一声纹特征向量作为第二用户的第二声纹特征向量,并初始化其权重,即在电子设备中对第二用户
进行注册,在本示例中,可确定测试语音的标签为第一预设标签。
[0085]
在另一个示例中,在最大相似度小于或等于预设阈值的情况下,确定测试语音的说话用户为非注册用户之后,在多个注册用户不包括测试语音的真实说话用户的情况下,或者在多个注册用户包括测试语音的真实说话用户的情况下,若未接收到用户输入的第二纠正指令,则可删除第一声纹特征向量,并确定测试语音的标签为第二预设标签。
[0086]
下面以一个具体实施例对上述模型训练的过程加以详细说明,电子设备以智能家居设备,以及注册用户包括使用用户及其家庭成员为例进行说明。
[0087]
智能家居设备利用声纹识别模型,对使用用户及其家庭成员进行语音注册,得到其对应的声纹特征向量,获取测试语音,利用测试语音的声纹特征向量与该家庭成员的声纹特征向量进行对比,当最大相似度超过一定阈值时,则判定测试语音的说话用户为最大相似度对应的说话用户,否则判定为不属于该家庭成员。然而,在现实场景下,使用用户在识别时的场景和注册时的场景有较大差异时,声纹的比对准确率会大为下降,而对于各种场景下的语音没有做进一步的分析,从而使得声纹识别模型缺乏学习性,降低用户的体验。对此,本发明利用各种场景下的测试语音,在线实时学习(即训练)的方式,不断的更新用户注册的声纹特征向量,使得声纹识别模型能在各种场景下不断的提高识别能力。另外,对于一个家庭而言,让该家庭成员提取的声纹特征与其他人更加具有区分性,提高声纹鉴定的安全性。本实施例的模型训练方法的流程如下:
[0088]
首先,通过离线的方式训练得到声纹识别模型,根据该声纹模型可以得到一段语音的声纹特征向量。
[0089]
其次,用户注册,以及通过在线学习的方式,不断更新注册用户的声纹特征向量组,过程如下:
[0090]
s1:注册过程:获取使用用户以及家庭成员的语音,通过声纹识别模型进行注册,本实施例的注册方式为使用用户以及家庭成员中每个人三句话,一句话时长为2-5s,利用声纹识别模型对每句话进行声纹特征提取,如此,每个人可对应一个声纹特征向量组(即第二声纹特征向量,包括三个声纹特征子向量),另外为每个人的三句话的声纹特征子特征向量初始化权重,在开始时权重分别为1/3,即每句话的向量赋予相等的权重。
[0091]
s2:识别过程:测试语音通过声纹识别模型获取第一声纹特征向量,计算第一声纹特征向量与注册的声纹特征向量组中每个向量之间的初始相似度,再乘以声纹特征向量组中与初始相似度对应的向量的权重,可以得到每个注册用户的每句话的声纹特征子向量的第一相似度,如此,可得到每个注册用户的相似度的最大值,例如,注册用户有三个,则可得到三个相似度的最大值,然后可得到所有注册用户的最大相似度,即所有注册用户的相似度的最大值中的最大值,若最大相似度大于预设阈值,则将测试语音的识别说话用户判定为最大相似度对应的注册用户,否则判定为其他人即非注册用户。
[0092]
s3:权重更新过程:在s2过程中若最大相似读大于预设阈值,判定所述测试语音的说话用户为多个注册用户中所述最大相似度对应的第二声纹特征向量的第一目标注册用户,当前第一目标注册用户的声纹特征向量组中向量的个数为n,若第一目标注册用户为测试语音的真实说话用户,可将该测试语音加入到该第一目标注册用户的声纹特征向量组中,更新第一目标注册用户的声纹特征向量组,向量个数变为n+1,而该测试语音的第一声纹特征的向量对应的权重可初始化为1/(n+1),而第一目标注册用户的声纹特征向量组中
除添加的第一声纹特征向量外的其他向量的权重调整为:w
i
*(n/(n+1))。此外,为降低计算复杂度,本实施例还可限定每个注册用户的声纹特征向量组中的向量个数的上限为10,在一个注册用户的声纹特征向量组中的向量个数已达到10,后续对于最大相似度大于预设阈值的测试语音的第一声纹特征向量,将其初始化的权重与已有的10个权重进行比对,若10个权重有小于第一声纹特征向量的初始权重的权重,则根据权重的大小选择前10个,即利用第一声纹特征向量替换该注册用户的声纹特征向量组中权重小于所述第一声纹特征向量的初始化的权重的目标向量。
[0093]
s4:纠正过程:若最大相似度大于预设阈值,判定所述测试语音的说话用户为多个注册用户中所述最大相似度对应的第二声纹特征向量的第一目标注册用户,但测试语音的真实说话用户不是该第一目标注册用户,即识别有误,在这种情况下,应该得到用户的第一纠正指令,将该测试语音的第一声纹特征向量注册到第一纠正指令相应的用户的声纹特征向量组中,该用户的第一声纹特征向量的权重设置为w0*((n+1)/n)。或者真实实话用户如果不属于所有注册用户中,则该测试语音的第一声纹特征向量不会注册,并且舍弃与该测试语音匹配(相似度最大)的声纹特征子向量。另外,若最大相似度小于或等于预设阈值,但该测试语音的真实说话用户属于所有注册用户中,这是应该根据用户的第二纠正指令,将测试语音的第一声纹特征向量注册到第二纠正指令相应的用户的声纹特征向量组中。
[0094]
s4:获取下一个测试语音,返回到s2,根据测试语音不断的更新注册用户的声纹特征子向量的权重。随着不断的迭代,声纹比对的准确不断的得到提高。
[0095]
s5:声纹识别模型重新训练阶段:随着测试语音的增加,可以将这些测试语音进行归纳,即可获得多个测试语音。对于每一条测试语音,可以得到与每个注册用户的相似度的最大值,而根据这些相似度的最大值判定测试语音是否属于已经注册用户,即可确定测试语音的标签。例如,测试语音与多个注册用户的相似度的最大值组成向量为[x1,x2,x3,
……
,xj,
……
,xm],即向量中有m个值,xj表示测试语音与注册用户中第j个注册用户的相似度的最大值,确定测试语音的标签,可以是0或1,表示是否属于已经注册用户,0可以表示不属于,1可以表示属于。对于归纳的每一条测试语音可确定其标签,如此,可得到多条测试语音和多条测试语音的标签,构建训练样本数据。
[0096]
利用训练样本数据重新训练声纹识别模型得到目标声纹识别模型,可选的,声纹识别模型可以为全连接神经网络。随着数据的增加,该声纹识别模型的判定能力不断增强,提高声纹识别的泛化能力、正确性和鲁棒性。
[0097]
上述模型训练方法可应用在语音控制场景中,例如,智能家居设备的语音控制等,即得到的目标声纹识别模型可应用于语音控制场景中,在重新训练得到目标声纹识别模型后,可利用目标声纹识别模型对实际应用场景中获取的待识别语音进行声纹特征提取,得到目标声纹特征向量,提高特征提取的准确性,计算目标声纹特征向量与多个注册用户的第二声纹特征向量之间的第三相似度(例如,距离),利用多个注册用户的第二声纹特征向量的权重对多个第三相似度进行加权得到多个第四相似度,在多个第四相似度中最大相似度大于预设阈值的情况下,确定待识别语音的识别说话用户为多个第四相似度中最大相似度对应的第二声纹特征向量的注册用户,如此,后续可控制智能家居设备执行与待识别语音对应的操作,例如,对于智能声纹锁,待识别语音为用户指示开锁的语音,则可控制智能声纹锁进行开锁操作。
[0098]
需要说明的是,获取一段待识别语音,可对获得的待识别语音进行分段,得到多段子语,对待识别语音的多段子语音先进行声学特征提取,得到声学特征,并将其输入到目标声纹识别模型中进行识别。即提取声学前端特征,在该特征的基础上,还可加上一阶差分和二阶差分扩充特征的动态性能,将每段子语音的若干个特征送入训练好的目标声纹识别模型进行声纹特征提取,对每段子语音提取出一个特定维度的声纹特征向量,用该向量代表此段子语音所属的用户的发音特征。
[0099]
本发明实施例的方案中,可不断的更新声纹特征向量的权重,通过在线学习的方式使得声纹特征向量越来越适应现实场景,并通过是否属于已经注册用户的判定模型可以降低错误接受率,也可使得已经注册的注册用户的识别效果越来越好,并使得注册用户与其他人的区分性越来越高。
[0100]
参见图4,图4是本发明实施例提供的电子终端400的模块示意图,如图4所示,电子终端400包括:
[0101]
第一获取模块401,用于获取测试语音;
[0102]
第一提取模块402,用于利用声纹识别模型对测试语音进行声纹特征提取,得到第一声纹特征向量;
[0103]
相似度计算模块403,用于计算第一声纹特征向量与多个第二声纹特征向量之间的第一相似度,得到多个第一相似度;其中,多个第二声纹特征向量为通过声纹识别模型对多个注册用户的注册语音进行声纹特征提取得到的向量;
[0104]
确定模块404,用于根据多个第一相似度中的最大相似度,确定测试语音的标签;
[0105]
训练模块405,用于利用训练样本数据对声纹识别模型进行训练,得到目标声纹识别模型;其中,训练样本数据包括测试语音以及测试语音的标签。
[0106]
在一个实施例中,相似度计算模块,包括:
[0107]
第一计算模块,用于计算第一声纹特征向量与多个注册用户的第二声纹特征向量之间的初始相似度,得到测试语音的多个初始相似度;
[0108]
加权模块,用于基于多个注册用户的第二声纹特征向量的权重,对多个初始相似度进行加权处理,得到多个第一相似度。
[0109]
在一个实施例中,任一注册用户的注册语音包括多段注册子语音,任一注册用户的第二声纹特征向量包括多个声纹特征子向量,多个初始向量包括第一声纹特征性向量与多个注册用户的每个声纹特征子向量之间的初始相似度。
[0110]
如图5所示,在一个实施例中,确定模块404,包括:
[0111]
第一确定模块4041,用于在最大相似度大于预设阈值的情况下,确定测试语音的第一目标注册用户,第一目标注册用户为多个注册用户中最大相似度对应的第二声纹特征向量的注册用户;
[0112]
第二确定模块4042,用于在第一目标注册用户为测试语音的真实说话用户的情况下,确定测试语音的标签为第一预设标签。
[0113]
在一个实施例中,电子终端400,还包括:
[0114]
调整模块,用于在确定模块确定测试语音的标签为第一预设标签之后,初始化第一声纹特征向量的权重,调整第一目标注册用户的第二声纹特征向量中每个向量的权重;
[0115]
第一添加模块,用于将测试语音的第一声纹特征向量添加至第一目标注册用户的
第二声纹特征向量中;
[0116]
第一归一化模块,用于基于第一声纹特征向量与第一目标注册用户的第二声纹特征向量之间的第一相似度,对第一目标注册用户的第二声纹特征向量的权重进行归一化处理,以更新第一目标注册用户的第二声纹特征向量的权重。
[0117]
在一个实施例中,第一添加模块,包括:
[0118]
第一添加子模块,用于在第一目标注册用户的第二声纹特征向量中的向量个数小于预设个数的情况下,将测试语音的第一声纹特征向量添加至第一目标注册用户的第二声纹特征向量中;或者,
[0119]
第二添加子模块,用于在第一目标注册用户的第二声纹特征向量中的向量个数大于或等于预设个数的情况下,若第一目标注册用户的第二声纹特征向量中包括权重小于第一声纹特征向量的初始化的权重的目标向量,利用测试语音的第一声纹特征向量替换目标向量。
[0120]
在一个实施例中,电子终端400,还包括:
[0121]
处理模块,用于确定测试语音的第一目标注册用户之后,在第一目标注册用户不为测试语音的真实说话用户的情况下,执行以下任一项:
[0122]
接收输入的第一纠正指令,响应于第一纠正指令,初始化第一声纹特征向量的权重;将第一声纹特征向量添加至第一纠正指令对应的第二目标注册用户的第二声纹特征向量中;对第二目标注册用户的第二声纹特征向量的权重进行归一化处理;确定测试语音的标签为第一预设标签;
[0123]
将第一目标注册用户的第二声纹特征向量中最大相似度对应的向量删除;确定测试语音的标签为第二预设标签。
[0124]
在一个实施例中,确定模块,包括:
[0125]
第三确定模块,用于在最大相似度小于或等于预设阈值的情况下,确定测试语音的说话用户为非注册用户;
[0126]
接收模块,用于在多个注册用户包括测试语音的真实说话用户的情况下,接收输入的第二纠正指令;
[0127]
初始化模块,用于响应于第二纠正指令,初始化第一声纹特征向量的权重;
[0128]
第二添加模块,用于将第一声纹特征向量添加至第二纠正指令对应的第三目标注册用户的第二声纹特征向量中;
[0129]
第二归一化模块,用于对第三目标注册用户的第二声纹特征向量的权重进行归一化处理;
[0130]
第四确定模块,用于确定测试语音的标签为第一预设标签。
[0131]
电子终端400能够实现上述方法实施例中方法实现的各个过程,为避免重复,这里不再赘述。
[0132]
在一个实施例中,本发明实施例还提供一种电子终端,包括处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述模型训练方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0133]
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述模型训练方法实施例的各个过程,且能
达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0134]
本发明实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述模型训练方法实施例的各个过程。
[0135]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0136]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台电子终端(可以是手机,计算机,服务器,空调器,网络设备或者智能家居设备等)执行本发明各个实施例的方法。
[0137]
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1