原始语音的声纹识别方法、装置、设备及存储介质
技术领域
本发明涉及语音信号处理领域,尤其涉及一种原始语音的声纹识别方法、装置、设备及存储介质。
背景技术
目前,说话人原始语音数据识别模型通过人工特征工程对说话人原始语音数据进行特征提取得到特征信息,生成特征信息的向量数据,对向量数据进行信道噪声拟合处理,得到拟合处理数据,对拟合处理数据进行说话人识别,得到对应的说话人信息。
由于得到的向量数据,无法直接用于识别同一个说话人或者不同说话人之间的信道信息差异,而是需要对得到的向量数据再进行信道噪声拟合处理得到拟合处理数据,再将该拟合处理数据和其他数据进行说话人识别的计算和分析的后端再处理,增加了数据处理系统的复杂性,且在通过人工特征工程对说话人原始语音数据进行特征提取时,会造成部分信息的损失,因而,现有的说话人原始语音数据识别模型存在信息损失度高和系统复杂度高的问题。
发明内容
本发明的主要目的在于解决现有的说话人原始语音数据识别模型存在信息损失度高和系统复杂度高的问题。
本发明第一方面提供了一种原始语音的声纹识别方法,包括:
获取原始语音数据,按照预设时间长度对所述原始语音数据进行分割处理,得到分段语音数据;
通过预置的卷积滤波器组对所述分段语音数据进行咬尾卷积处理和离散傅里叶变换处理,得到与所述分段语音数据对应的声纹特征数据;
通过预置深度神经网络对与所述分段语音数据对应的声纹特征数据进行池化处理,得到目标声纹特征;
对所述目标声纹特征进行嵌入向量转换处理,得到对应的声纹特征向量;
通过预置的损失函数对所述声纹特征向量进行计算处理,得到目标声纹数据,所述损失函数包括余弦相似度矩阵损失函数和最小均方误差矩阵损失函数。
可选的,在本发明第一方面的第一种实现方式中,所述获取原始语音数据,按照预设时间长度对所述原始语音数据进行分割处理,得到分段语音数据,包括:
获取原始语音数据,对所述原始语音数据进行基于语音信号能量和过零率的断点检测,获得候选语音数据;
对所述候选语音数据进行信道检测和信道分类,得到与分类后的各信道对应的语音数据;
按照预设时间长度,对与分类后的各信道对应的语音数据进行分割处理,得到分段语音数据。
可选的,在本发明第一方面的第二种实现方式中,所述声纹特征数据存储于区块链中,所述通过预置的卷积滤波器组对所述分段语音数据进行咬尾卷积处理和离散傅里叶变换处理,得到与所述分段语音数据对应的声纹特征数据,包括:
获取所述分段语音数据的总段数,并获取预置的卷积滤波器组中卷积滤波器的数量;
根据所述分段语音数据的总段数、所述预设时间长度和所述卷积滤波器的数量设置咬尾卷积编码,将所述咬尾卷积编码存储至所述卷积滤波器组中的卷积编码器组;
通过所述卷积编码器组对所述分段语音数据进行编码处理,得到与所述分段语音数据对应的候选声纹特征数据;
对所述候选声纹特征数据进行离散傅里叶变换处理,得到与所述分段语音数据对应的声纹特征数据。
可选的,在本发明第一方面的第三种实现方式中,所述通过预置深度神经网络对与所述分段语音数据对应的声纹特征数据进行池化处理,得到目标声纹特征,包括:
通过预置深度神经网络中的滑动窗口,对与所述分段语音数据对应的声纹特征数据进行数据截取,得到多组窗口数据;
分别计算所述多组窗口数据中每组窗口数据的最大值和平均值,将所述每组窗口数据的最大值作为第一说话人特征,以及将所述每组窗口数据的平均值作为第二说话人特征;
对所述第一说话人特征和所述第二说话人特征进行融合处理,得到目标声纹特征。
可选的,在本发明第一方面的第四种实现方式中,所述预置的损失函数如下:
所述余弦相似度矩阵损失函数如下:
所述最小均方误差矩阵损失函数如下:
其中,a
ji表示第j个说话人的第i条所述声纹特征向量,γ表示调节因子,N表示每个说话人对应的所述声纹特征向量的数量,k表示第k个exp(MMSE
j)值,
和c
k均表示第j个说话人除第i条所述声纹特征向量外的其余声纹特征向量的平均值,w、b、μ、θ和β表示预设的随机变量,LC
j,t表示第t时刻的所述声纹特征向量中第j个说话人对应的声纹特征向量的均值,M表示与所述声纹特征向量对应的说话人的数量。
可选的,在本发明第一方面的第五种实现方式中,所述通过预置的损失函数对所述声纹特征向量进行计算处理,得到目标语音数据之后,还包括:
从预置数据库中获取与所述目标声纹数据对应的历史处理方案数据,对所述历史处理方案数据进行聚类,根据聚类所得的结果获取所述目标声纹数据的后续推荐处理方案。
本发明第二方面提供了一种原始语音的声纹识别装置,包括:
分割模块,用于获取原始语音数据,按照预设时间长度对所述原始语音数据进行分割处理,得到分段语音数据;
第一处理模块,用于通过预置的卷积滤波器组对所述分段语音数据进行咬尾卷积处理和离散傅里叶变换处理,得到与所述分段语音数据对应的声纹特征数据;
第二处理模块,用于通过预置深度神经网络对与所述分段语音数据对应的声纹特征数据进行池化处理,得到目标声纹特征;
第三处理模块,用于对所述目标声纹特征进行嵌入向量转换处理,得到对应的声纹特征向量;
计算模块,用于通过预置的损失函数对所述声纹特征向量进行计算处理,得到目标声纹数据,所述损失函数包括余弦相似度矩阵损失函数和最小均方误差矩阵损失函数。
可选的,在本发明第二方面的第一种实现方式中,所述分割模块具体用于:
获取原始语音数据,对所述原始语音数据进行基于语音信号能量和过零率的断点检测,获得候选语音数据;
对所述候选语音数据进行信道检测和信道分类,得到与分类后的各信道对应的语音数据;
按照预设时间长度,对与分类后的各信道对应的语音数据进行分割处理,得到分段语音数据。
可选的,在本发明第二方面的第二种实现方式中,所述第一处理模块具体用于:
获取所述分段语音数据的总段数,并获取预置的卷积滤波器组中卷积滤波器的数量;
根据所述分段语音数据的总段数、所述预设时间长度和所述卷积滤波器的数量设置咬尾卷积编码,将所述咬尾卷积编码存储至所述卷积滤波器组中的卷积编码器组;
通过所述卷积编码器组对所述分段语音数据进行编码处理,得到与所述分段语音数据对应的候选声纹特征数据;
对所述候选声纹特征数据进行离散傅里叶变换处理,得到与所述分段语音数据对应的声纹特征数据。
可选的,在本发明第二方面的第三种实现方式中,所述第二处理模块具体用于:
通过预置深度神经网络中的滑动窗口,对与所述分段语音数据对应的声纹特征数据进行数据截取,得到多组窗口数据;
分别计算所述多组窗口数据中每组窗口数据的最大值和平均值,将所述每组窗口数据的最大值作为第一说话人特征,以及将所述每组窗口数据的平均值作为第二说话人特征;
对所述第一说话人特征和所述第二说话人特征进行融合处理,得到目标声纹特征。
可选的,在本发明第二方面的第四种实现方式中,所述原始语音的声纹识别装置中的预置的损失函数如下:
所述余弦相似度矩阵损失函数如下:
所述最小均方误差矩阵损失函数如下:
其中,a
ji表示第j个说话人的第i条所述声纹特征向量,γ表示调节因子,N表示每个说话人对应的所述声纹特征向量的数量,k表示第k个exp(MMSE
j)值,
和c
k均表示第j个说话人除第i条所述声纹特征向量外的其余声纹特征向量的平均值,w、b、μ、θ和β表示预设的随机变量,LC
j,t表示第t时刻的所述声纹特征向量中第j个说话人对应的声纹特征向量的均值,M表示与所述声纹特征向量对应的说话人的数量。
可选的,在本发明第二方面的第五种实现方式中,所述原始语音的声纹识别装置包括:
第四处理模块,用于从预置数据库中获取与所述目标声纹数据对应的历史处理方案数据,对所述历史处理方案数据进行聚类,根据聚类所得的结果获取所述目标声纹数据的后续推荐处理方案。
本发明第三方面提供了一种原始语音的声纹识别设备,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述原始语音的声纹识别设备执行上述的原始语音的声纹识别方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的原始语音的声纹识别方法。
本发明提供的技术方案中,获取原始语音数据,按照预设时间长度对原始语音数据进行分割处理,得到分段语音数据;通过预置的卷积滤波器组对分段语音数据进行咬尾卷积处理和离散傅里叶变换处理,得到声纹特征数据;通过预置深度神经网络对声纹特征数据进行池化处理,得到目标声纹特征;对目标声纹特征进行嵌入向量转换处理,得到声纹特征向量;通过预置的损失函数对声纹特征向量进行计算处理,得到目标声纹数据,损失函数包括余弦相似度矩阵损失函数和最小均方误差矩阵损失函数。本发明中,通过新的损失函数,消除在识别原始语音数据中声纹特征信息的信道中的噪声信息,降低了信息损失,通过采用预置的卷积滤波器组作为对原始语音数据的前端预处理结构以获得声纹特征数据,以及预置深度神经网络对声纹特征数据进行池化处理,通过余弦相似度矩阵损失函数和最小均方误差矩阵损失函数对声纹特征向量处理获得相似度矩阵或者嵌入向量形式的目标声纹数据,以输入端为说话人的原始语音数据,输出端为相似度矩阵或者嵌入向量形式的目标声纹数据的结构形式,简化了系统的结构和减少变量的计算以及提高说话人原始语音数据识别模型的精度,降低了系统复杂性,从而,本发明降低了说话人原始语音数据识别模型的信息损失和系统复杂性。
附图说明
图1为本发明实施例中原始语音的声纹识别方法的一个实施例示意图;
图2为本发明实施例中原始语音的声纹识别方法的另一个实施例示意图;
图3为本发明实施例中原始语音的声纹识别装置的一个实施例示意图;
图4为本发明实施例中原始语音的声纹识别装置的另一个实施例示意图;
图5为本发明实施例中原始语音的声纹识别设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种原始语音的声纹识别方法、装置、设备及存储介质,通过新的损失函数,消除在识别原始语音数据中声纹特征信息的信道中的噪声信息,降低了信息损失,通过采用预置的卷积滤波器组作为对原始语音数据的前端预处理结构以获得声纹特征数据,以及预置深度神经网络对声纹特征数据进行池化处理,通过余弦相似度矩阵损失函数和最小均方误差矩阵损失函数对声纹特征向量处理获得相似度矩阵或者嵌入向量形式的目标声纹数据,以输入端为说话人的原始语音数据,输出端为相似度矩阵或者嵌入向量形式的目标声纹数据的结构形式,简化了系统的结构和减少变量的计算以及提高说话人原始语音数据识别模型的精度,降低了系统复杂性,从而,本发明实施例降低了降低说话人原始语音数据识别模型的信息损失和系统复杂性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中原始语音的声纹识别方法的一个实施例包括:
101、获取原始语音数据,按照预设时间长度对原始语音数据进行分割处理,得到分段语音数据;
可以理解的是,本发明的执行主体可以为原始语音的声纹识别装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
在客户端输入原始语音数据后,服务器调用预置的采样器,通过预置的采样器对该原始语音数据进行采样处理,得到原始音频数据,并获取预置的采样器的采样频率,计算该采样频率的倒数得到采样时间,将采样时间作为预设时间长度,采样器将获得的原始音频数据和预设时间长度传送至服务器的数据库,服务器从数据库中提取该原始音频数据,按照预设时间长度切分该原始音频数据,得到分段语音数据,每段分段语音数据的数据长度相同。通过对原始语音数据进行分割处理,以便于后续对原始语音数据的处理和为判断原始语音数据进行预处理后是否存在信息损失提供依据。
102、通过预置的卷积滤波器组对分段语音数据进行咬尾卷积处理和离散傅里叶变换处理,得到与分段语音数据对应的声纹特征数据;
服务器获得分段语音数据后,分段语音数据共有T段,每段分段语音数据的数据长度为H,将T段分段语音数据输入至预置的K组卷积滤波器(即预置的卷积滤波器组),通过K组卷积滤波器通过预置的咬尾卷积码对每段分段语音数据进行多层结构的咬尾卷积编码处理,以对分段语音数据进行初步的特征提取处理,得到具有浅层表达的候选声纹特征数据,每个候选声纹特征数据的数据形状均为(T,K,H)。通过预置的离散傅里叶变换公式对候选声纹特征数据进行计算得到声纹特征数据,每个声纹特征数据的数据长度为H,每个声纹特征数据的数据形式依然为(T,K,H),所有的声纹特征数据的综合数据形式依然为(N,M,T,K,H),N表示原始语音数据中说话人的数量,M表示每个说话人对应声纹特征数据的数量。
其中,预置的离散傅里叶变换公式中的DFT变换区间长度为H(即每段分段语音数据的数据长度H)。经过K组卷积滤波器对分段语音数据的咬尾卷积编码处理和离散傅里叶变换处理,得到的候选声纹数据的数据长度不发生变化,一方面,克服了码率损失的问题和不影响卷积码的错误校验属性,防止对分段语音数据进行特征提取的信息损失,保证其特征的质量,另一方面,将候选声纹特征数据由时域数据转换为简练的频域数据,减少运算量,便于后续对声纹特征数据的处理。需要强调的是,为进一步保证上述声纹特征数据的私密和安全性,上述声纹特征数据还可以存储于一区块链的节点中。
103、通过预置深度神经网络对与分段语音数据对应的声纹特征数据进行池化处理,得到目标声纹特征;
服务器通过预置深度神经网络中的池化层以预置的滑动窗口从与分段语音数据对应的声纹特征数据的数组所生成的数组表格的最左上方开始,按从左往右、从上到下的顺序,依次在与分段语音数据对应的声纹特征数据的数组表格上滑动,得到该滑动窗口对应的窗口数据,滑动窗口在数组表格的一个位置对应一个窗口数据,对每个窗口数据中的最大值进行判断,获得每个窗口数据中的最大值,以实现最大值池化处理,计算每个窗口数据的平均值,获得每个窗口数据对应的平均值,以实现均值池化处理,进而得到经过最大值池化处理和均值池化处理的目标声纹特征。通过池化处理,减少预置深度神经网络的空间大小和需要学习的网络参数,以及防止过拟合。
104、对目标声纹特征进行嵌入向量转换处理,得到对应的声纹特征向量;
服务器通过预置的跳字模型Skip-gram中隐层的权重矩阵对目标声纹特征进行计算,得到梯度下降处理后的候选声纹特征向量,通过Skip-gram模型中输出层的回归分类器对候选声纹特征向量进行回归分类处理,得到对应的声纹特征向量;或通过预置的深度情景化词表征(embedding from language model,ELMO)模型中多层双向语言模型的最大化前后向语言模型的联合似然函数对目标声纹特征进行计算处理,得到候选声纹特征向量,将候选声纹向量整合为权值,得到对应的声纹特征向量,该声纹特征向量可为词嵌入向量,也可为句嵌入向量。Skip-gram模型和ELMO模型所得的声纹特征向量为词嵌入向量,通过预置的神经词袋模型对词嵌入向量的声纹特征向量进行平均计算或和值计算得到句嵌入向量的声纹特征向量,或通过预置的递归神经网络按照一个预设的外部拓扑结构(比如成分句法树)对词嵌入向量的声纹特征向量进行递归处理,得到句嵌入向量的声纹特征向量,以对目标声纹特征进行嵌入向量转换的表述representation处理。
105、通过预置的损失函数对声纹特征向量进行计算处理,得到目标声纹数据,损失函数包括余弦相似度矩阵损失函数和最小均方误差矩阵损失函数。
服务器获得声纹特征向量后,通过预置的损失函数中的余弦相似度矩阵损失函数和最小均方误差矩阵损失函数对声纹特征向量数据进行计算处理,得到第一初始向量数据和第二初始向量数据,通过预置网络训练函数对第二初始向量数据进行计算,得到第二向量数据;计算第一初始向量数据和第二向量数据的加权平均值,得到目标声纹数据。
其中,预置网络训练函数为调整对整体最小均方误差矩阵MMSE损失函数部分的大小的调整规则,预置网络训练函数可为梯度下降算法或共轭梯度算法,通过梯度下降算法或共轭梯度算法对第二初始向量数据进行误差最小化处理。服务器分别通过余弦相似度矩阵损失函数和最小均方误差矩阵损失函数对声纹特征向量数据进行计算,得到第一初始向量数据和第二初始向量数据,由于最小均方误差矩阵损失函数使用了全局均值进行计算,又由于全局均值随机性较强,无法准确地捕捉到信道噪声的信息,因而,需要通过预置网络函数网络对第二初始向量数据进行计算,得到第二向量数据,通过计算第一初始向量数据和第二向量数据的加权平均值,获得包含权重值计算的相似度矩阵或嵌入向量,实现消除信道中的噪声信息和减少系统复杂性的基础上,能够得到相对准确的相似度矩阵,提高获取的嵌入向量数据的准确度。
通过包括余弦相似度矩阵损失函数和最小均方误差矩阵损失函数的损失函数,增加对声音信道信息进行建模的损失项,能够使得由预置的卷积滤波器组和深度神经网络构成的结构网络,不仅能学些到说话人信息的长时特征表达(声纹信息),还能学习如何消除信道中的噪声信息,提高识别的精确度,直接输出包含说话人信息的相似度矩阵或嵌入向量,减少对原始语音数据处理的操作步骤,减少系统复杂性。
本发明实施例中,通过新的损失函数,消除在识别原始语音数据中声纹特征信息的信道中的噪声信息,降低了信息损失,通过采用预置的卷积滤波器组作为对原始语音数据的前端预处理结构以获得声纹特征数据,以及预置深度神经网络对声纹特征数据进行池化处理,通过余弦相似度矩阵损失函数和最小均方误差矩阵损失函数对声纹特征向量处理获得相似度矩阵或者嵌入向量形式的目标声纹数据,以输入端为说话人的原始语音数据,输出端为相似度矩阵或者嵌入向量形式的目标声纹数据的结构形式,简化了系统的结构和减少变量的计算以及提高说话人原始语音数据识别模型的精度,降低了系统复杂性,从而,本发明实施例降低了说话人原始语音数据识别模型的信息损失和系统复杂性。
请参阅图2,本发明实施例中原始语音的声纹识别方法的另一个实施例包括:
201、获取原始语音数据,按照预设时间长度对原始语音数据进行分割处理,得到分段语音数据;
具体地,服务器获取原始语音数据,按照预设时间长度对原始语音数据进行分割处理,得到分段语音数据,可以包括:获取原始语音数据,对原始语音数据进行基于语音信号能量和过零率的断点检测,获得候选语音数据;对候选语音数据进行信道检测和信道分类,得到与分类后的各信道对应的语音数据;按照预设时间长度,对与分类后的各信道对应的语音数据进行分割处理,得到分段语音数据。
服务器在对原始语音数据进行分割处理之前,对原始语音数据进行信号处理,得到能量图,计算原始语音数据中每一帧语音的短时帧能量和短时帧过零率,根据短时帧能量设定第一门限,计算背景噪声的平均能量,根据背景噪声的平均能量设置第二门限,第二门限的值小于第一门限的值,根据第一门限、第二门限和短时帧过零率对能量图进行分析和筛选,以对原始语音数据进行有效语音检测,获得筛选静音和缓变噪声的说话人对应的有效语音数据(即候选语音数据);通过对候选语音数据进行交叉信道关联检测,以对原始语音数据中的交叉谈话语音进行检测和分类,得到不同信道分类的语音数据。通过原始语音数据进行基于语音信号能量和过零率的断点检测、信道检测和说话人因子提取并标记,一方面,保证原始语音数据的质量,另一方面,提高后续原始语音数据进行数据处理的便利性。
202、通过预置的卷积滤波器组对分段语音数据进行咬尾卷积处理和离散傅里叶变换处理,得到与分段语音数据对应的声纹特征数据;
具体地,服务器通过预置的卷积滤波器组对分段语音数据进行咬尾卷积处理和离散傅里叶变换处理,得到与分段语音数据对应的声纹特征数据,可以包括:获取分段语音数据的总段数,并获取预置的卷积滤波器组中卷积滤波器的数量;根据分段语音数据的总段数、预设时间长度和卷积滤波器的数量设置咬尾卷积编码,将咬尾卷积编码存储至卷积滤波器组中的卷积编码器组;通过卷积编码器组对分段语音数据进行编码处理,得到与分段语音数据对应的候选声纹特征数据;对候选声纹特征数据进行离散傅里叶变换处理,得到与分段语音数据对应的声纹特征数据。
其中,将预设时间长度作为咬尾卷积编码的约束长度,将分段语音数据的段数作为每次输入到卷积编码器的比特数,将预置的卷积滤波器组中卷积滤波器的数量作为输出的组码字的维度数,将分段语音数据的段数除以输出的组码字的维度数所得的值作为编码速率,得到咬尾卷积编码为(T,K,H)。通过根据段数、预设时间长度和数量设置咬尾卷积编码,防止分段语音数据在进行声纹特征提取时的信息损失。在对分段语音数据进行咬尾卷积处理后,可通过双向维特比算法以动态规划实现最短路径对候选声纹特征数据进行解码处理,得到解码声纹特征数据,再对解码声纹特征数据进行离散傅里叶变换处理,得到与分段语音数据对应的声纹特征数据。
203、通过预置深度神经网络对与分段语音数据对应的声纹特征数据进行池化处理,得到目标声纹特征;
具体地,服务器通过预置深度神经网络对与分段语音数据对应的声纹特征数据进行池化处理,得到目标声纹特征,可以包括:通过预置深度神经网络中的滑动窗口,对与分段语音数据对应的声纹特征数据进行数据截取,得到多组窗口数据;分别计算多组窗口数据中每组窗口数据的最大值和平均值,将每组窗口数据的最大值作为第一说话人特征,以及将每组窗口数据的平均值作为第二说话人特征;对第一说话人特征和第二说话人特征进行融合处理,得到目标声纹特征。
服务器获得与分段语音数据对应的声纹特征数据对应的每组窗口数据的最大值和平均值后,分别将所有窗口数据的最大值和平均值进行融合concatenate处理得到最大值融合数据和均值融合数据,并将最大值融合数据和均值融合数据作为通过预置深度神经网络对与分段语音数据对应的声纹特征数据进行池化处理所得到的目标声纹特征。以均值融合数据为例:一条原始语音数据的与分段语音数据对应的声纹特征数据的数据形状为(T,K,H),对与分段语音数据对应的声纹特征数据的T维度进行均值池化处理,得到每组窗口数据的均值的数据形式为(K,H),将K维度的与分段语音数据对应的声纹特征数据融合到一起,得到数据形式为(1,KH)的均值融合数据,若有一个批batch原始语音数据中共有S个说话人,每个说话人有D条原始语音数据,则经过均值池化处理得到数据形式为(SD,KH)的目标声纹特征。
204、对目标声纹特征进行嵌入向量转换处理,得到对应的声纹特征向量;
服务器通过预置的跳字模型Skip-gram中隐层的权重矩阵对目标声纹特征进行计算,得到梯度下降处理后的候选声纹特征向量,通过Skip-gram模型中输出层的回归分类器对候选声纹特征向量进行回归分类处理,得到对应的声纹特征向量;或通过预置的深度情景化词表征(embedding from language model,ELMO)模型中多层双向语言模型的最大化前后向语言模型的联合似然函数对目标声纹特征进行计算处理,得到候选声纹特征向量,将候选输出向量整合为权值,得到对应的声纹特征向量,该声纹特征向量可为词嵌入向量,也可为句嵌入向量。Skip-gram模型和ELMO模型所得的声纹特征向量为词嵌入向量,通过预置的神经词袋模型对词嵌入向量的声纹特征向量进行平均计算或和值计算得到句嵌入向量的声纹特征向量,或通过预置的递归神经网络按照一个预设的外部拓扑结构(比如成分句法树)对词嵌入向量的声纹特征向量进行递归处理,得到句嵌入向量的声纹特征向量,以对目标声纹特征进行嵌入向量转换的表述representation处理。
205、通过预置的损失函数对声纹特征向量进行计算处理,得到目标声纹数据,损失函数包括余弦相似度矩阵损失函数和最小均方误差矩阵损失函数;
服务器获得声纹特征向量后,通过预置的损失函数中的余弦相似度矩阵损失函数和最小均方误差矩阵损失函数对声纹特征向量数据进行计算处理,得到第一初始向量数据和第二初始向量数据,通过预置网络训练函数对第二初始向量数据进行计算,得到第二向量数据;计算第一初始向量数据和第二向量数据的加权平均值,得到目标声纹数据。
其中,预置网络训练函数为调整对整体最小均方误差矩阵MMSE损失函数部分的大小的调整规则,预置网络训练函数可为梯度下降算法或共轭梯度算法,通过梯度下降算法或共轭梯度算法对第二初始向量数据进行误差最小化处理。服务器分别通过余弦相似度矩阵损失函数和最小均方误差矩阵损失函数对声纹特征向量数据进行计算,得到第一初始向量数据和第二初始向量数据,由于最小均方误差矩阵损失函数使用了全局均值进行计算,又由于全局均值随机性较强,无法准确地捕捉到信道噪声的信息,因而,需要通过预置网络函数网络对第二初始向量数据进行计算,得到第二向量数据,通过计算第一初始向量数据和第二向量数据的加权平均值,获得包含权重值计算的相似度矩阵或嵌入向量,实现消除信道中的噪声信息和减少系统复杂性的基础上,能够得到相对准确的相似度矩阵,提高获取的嵌入向量数据的准确度。
具体地,预置的损失函数如下:
余弦相似度矩阵损失函数如下:
最小均方误差矩阵损失函数如下:
其中,a
ji表示第j个说话人的第i条声纹特征向量,γ表示调节因子,用来调节整体最小均方误差矩阵MMSE损失函数部分的大小,N表示每个说话人对应的声纹特征向量的数量,k表示第k个exp(MMSE
j)值,
和c
k均表示第j个说话人除第i条声纹特征向量外的其余声纹特征向量的平均值,w、b、μ、θ和β表示预设的随机变量,LC
j,t表示第t时刻的声纹特征向量中第j个说话人对应的声纹特征向量的均值,M表示与声纹特征向量对应的说话人的数量。
206、从预置数据库中获取与目标声纹数据对应的历史处理数据,对历史处理数据进行聚类处理,根据聚类处理所得的结果获取目标声纹数据的后续推荐处理方案。
其中,历史处理数据为历史存储的将获得的声纹数据用于后续其他类型的数据分析中所生成的处理数据,例如:对会议上的原始语音数据进行处理获得声纹数据,对获得的声纹数据进行说话人角色标记,按照说话人角色对进行说话人角色标记的说话人数据进行分类,得到分类数据,根据语音的声调变化分析对分类数据进行重点内容划分,获得会议分类语音笔记信息。服务器获得目标声纹数据之后,创建目标声纹数据的键值,通过该键值对预置的数据库进行检索,获得与键值相同或相似的用于后续数据分析的历史处理数据,获取历史处理数据的权重值,并按照权重值的大小对历史处理数据进行排序和筛选,获取排序在预设范围的历史处理数据,得到处理数据,通过K-MEANS聚类算法对处理数据进行初步聚类处理,得到初始聚类方案。通过基于高斯混合模型(GMM)的期望最大化(EM)聚类算法对初始聚类方案进行深入聚类处理,获得处理类型。根据处理类型从历史存储的处理方案信息中获取与处理类型相同或相似的处理方案信息,获取处理方案信息的权重值,并将处理方案信息的权重值按照从大到小的顺序进行排序,将在预设排序范围的处理方案信息作为目标声纹数据的后续推荐处理方案。
可选的,服务器获得目标声纹数据的后续推荐处理方案信息后,将目标声纹数据存储在预置容灾中心,并将该目标声纹数据的后续推荐处理方案信息的执行请求发送到客户端,若在预设时间内容接收到客户端返回的接受请求,则根据目标声纹数据的后续推荐处理方案对目标声纹数据进行后续的数据分析处理。通过采用智能推荐处理方案信息,以在实现声纹识别模型的既能够减少信息损失又能够减少声纹识别模型的系统复杂性的基础上,提高声纹识别模型对原始语音数据处理的智能性、自主性和便捷性。
本发明实施例中,通过采用智能推荐处理方案信息,以在降低了说话人原始语音数据识别模型的信息损失和系统复杂性的基础上的基础上,提高说话人原始语音数据识别模型对原始语音数据处理的智能性、自主性和便捷性。
上面对本发明实施例中原始语音的声纹识别方法进行了描述,下面对本发明实施例中原始语音的声纹识别装置进行描述,请参阅图3,本发明实施例中原始语音的声纹识别装置一个实施例包括:
分割模块301,用于获取原始语音数据,按照预设时间长度对原始语音数据进行分割处理,得到分段语音数据;
第一处理模块302,用于通过预置的卷积滤波器组对分段语音数据进行咬尾卷积处理和离散傅里叶变换处理,得到与分段语音数据对应的声纹特征数据;
第二处理模块303,用于通过预置深度神经网络对与分段语音数据对应的声纹特征数据进行池化处理,得到目标声纹特征;
第三处理模块304,用于对目标声纹特征进行嵌入向量转换处理,得到对应的声纹特征向量;
计算模块305,用于通过预置的损失函数对声纹特征向量进行计算处理,得到目标声纹数据,损失函数包括余弦相似度矩阵损失函数和最小均方误差矩阵损失函数。
本发明实施例中,通过新的损失函数,消除在识别原始语音数据中声纹特征信息的信道中的噪声信息,降低了信息损失,通过采用预置的卷积滤波器组作为对原始语音数据的前端预处理结构以获得声纹特征数据,以及预置深度神经网络对声纹特征数据进行池化处理,通过余弦相似度矩阵损失函数和最小均方误差矩阵损失函数对声纹特征向量处理获得相似度矩阵或者嵌入向量形式的目标声纹数据,以输入端为说话人的原始语音数据,输出端为相似度矩阵或者嵌入向量形式的目标声纹数据的结构形式,简化了系统的结构和减少变量的计算以及提高说话人原始语音数据识别模型的精度,降低了系统复杂性,从而,本发明实施例降低了说话人原始语音数据识别模型的信息损失和系统复杂性。
请参阅图4,本发明实施例中原始语音的声纹识别装置的另一个实施例包括:
分割模块301,用于获取原始语音数据,按照预设时间长度对原始语音数据进行分割处理,得到分段语音数据;
第一处理模块302,用于通过预置的卷积滤波器组对分段语音数据进行咬尾卷积处理和离散傅里叶变换处理,得到与分段语音数据对应的声纹特征数据;
第二处理模块303,用于通过预置深度神经网络对与分段语音数据对应的声纹特征数据进行池化处理,得到目标声纹特征;
第三处理模块304,用于对目标声纹特征进行嵌入向量转换处理,得到对应的声纹特征向量;
计算模块305,用于通过预置的损失函数对声纹特征向量进行计算处理,得到目标声纹数据,损失函数包括余弦相似度矩阵损失函数和最小均方误差矩阵损失函数;
第四处理模块306,用于从预置数据库中获取与目标声纹数据对应的历史处理数据,对历史处理数据进行聚类处理,根据聚类处理所得的结果获取目标声纹数据的后续推荐处理方案。
可选的,第一处理模块302还可以具体用于:
获取原始语音数据,对原始语音数据进行基于语音信号能量和过零率的断点检测,获得候选语音数据;
对候选语音数据进行信道检测和信道分类,得到与分类后的各信道对应的语音数据;
按照预设时间长度,对与分类后的各信道对应的语音数据进行分割处理,得到分段语音数据。
可选的,第一处理模块302还可以具体用于:
获取分段语音数据的总段数,并获取预置的卷积滤波器组中卷积滤波器的数量;
根据分段语音数据的总段数、预设时间长度和卷积滤波器的数量设置咬尾卷积编码,将咬尾卷积编码存储至卷积滤波器组中的卷积编码器组;
通过卷积编码器组对分段语音数据进行编码处理,得到与分段语音数据对应的候选声纹特征数据;
对候选声纹特征数据进行离散傅里叶变换处理,得到与分段语音数据对应的声纹特征数据。需要强调的是,为进一步保证上述声纹特征数据的私密和安全性,上述声纹特征数据还可以存储于一区块链的节点中。
可选的,第二处理模块303还可以具体用于:
通过预置深度神经网络中的滑动窗口,对与分段语音数据对应的声纹特征数据进行数据截取,得到多组窗口数据;
分别计算多组窗口数据中每组窗口数据的最大值和平均值,将每组窗口数据的最大值作为第一说话人特征,以及将每组窗口数据的平均值作为第二说话人特征;
对第一说话人特征和第二说话人特征进行融合处理,得到目标声纹特征。
可选的,原始语音的声纹识别装置中的预置的损失函数如下:
余弦相似度矩阵损失函数如下:
最小均方误差矩阵损失函数如下:
其中,a
ji表示第j个说话人的第i条声纹特征向量,γ表示调节因子,N表示每个说话人对应的声纹特征向量的数量,k表示第k个exp(MMSE
j)值,
和c
k均表示第j个说话人除第i条声纹特征向量外的其余声纹特征向量的平均值,w、b、μ、θ和β表示预设的随机变量,LC
j,t表示第t时刻的声纹特征向量中第j个说话人对应的声纹特征向量的均值,M表示与声纹特征向量对应的说话人的数量。
本发明实施例中,通过采用智能推荐处理方案信息,以在降低了说话人原始语音数据识别模型的信息损失和系统复杂性的基础上的基础上,提高说话人原始语音数据识别模型对原始语音数据处理的智能性、自主性和便捷性。
上面图3和图4从模块化功能实体的角度对本发明实施例中的原始语音的声纹识别装置进行详细描述,下面从硬件处理的角度对本发明实施例中原始语音的声纹识别设备进行详细描述。
图5是本发明实施例提供的一种原始语音的声纹识别设备的结构示意图,该原始语音的声纹识别设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对原始语音的声纹识别设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在原始语音的声纹识别设备500上执行存储介质530中的一系列指令操作。
原始语音的声纹识别设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的原始语音的声纹识别设备结构并不构成对原始语音的声纹识别设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述原始语音的声纹识别方法的步骤。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。