声纹模型的训练、声纹提取方法、装置、设备及存储介质与流程

文档序号:29648277发布日期:2022-04-13 21:52阅读:385来源:国知局
声纹模型的训练、声纹提取方法、装置、设备及存储介质与流程

1.本发明涉及语音处理的技术领域,尤其涉及一种声纹模型的训练、声纹提取方法、装置、设备及存储介质。


背景技术:

2.声纹属于生物特征,不仅具有特定性,而且有相对稳定性的特点,可应用于声纹识别(又称为说话人识别),即,基于语音中所包含的说话人特有的个性信息,自动的鉴别当前语音对应的说话人身份。
3.目前,提取声纹并进行声纹识别技术主要包括模板匹配法、高斯混合模型法(gmm)、联合因子分析法(jfa)和神经网络法(dnn)等,然而,在面临环境噪音、信道失配、多人说话、说话人自身变化以及假冒攻击等情况下,这些方法存在较大的鲁棒性问题,提取的声纹准确性较低,使得声纹识别在业务上的稳定性较差。


技术实现要素:

4.本发明提供了一种声纹模型的训练、声纹提取方法、装置、设备及存储介质,以解决如何提高声纹的准确性。
5.根据本发明的一方面,提供了一种声纹模型的训练方法,包括:
6.确定声纹模型、分类模型;
7.从语音信号中提取至少两种语音特征,所述语音信号已标注归属的用户;
8.以对所述用户分类为目标,根据至少两种所述语音特征初训练所述声纹模型与所述分类模型;
9.若完成初训练,则以对所述用户分类、且约束同一所述用户的声纹为目标,根据至少两种所述语音特征继续训练所述声纹模型与所述分类模型,所述声纹模型用于从至少两种所述语音特征中提取声纹,所述分类模型用于预测所述语音信号归属的用户、且在完成继续训练时丢弃。
10.根据本发明的另一方面,提供了一种声纹提取方法,包括:
11.对用户采集语音信号;
12.从所述语音信号中提取至少两种语音特征;
13.加载根本发明任一实施例所述的声纹模型训练的声纹模型;
14.将至少两种所述语音特征输入所述声纹模型中,以提取所述用户的声纹。
15.根据本发明的另一方面,提供了一种声纹模型的训练装置,包括:
16.模型确定模块,用于确定声纹模型、分类模型;
17.语音特征提取模块,用于从语音信号中提取至少两种语音特征,所述语音信号已标注归属的用户;
18.初训练模块,用于以对所述用户分类为目标,根据至少两种所述语音特征初训练所述声纹模型与所述分类模型;
19.继续训练模块,用于若完成初训练,则以对所述用户分类、且约束同一所述用户的声纹为目标,根据至少两种所述语音特征继续训练所述声纹模型与所述分类模型,所述声纹模型用于从至少两种所述语音特征中提取声纹,所述分类模型用于预测所述语音信号归属的用户、且在完成继续训练时丢弃。
20.根据本发明的另一方面,提供了一种声纹提取装置,包括:
21.语音信号采集模块,用于对用户采集语音信号;
22.语音特征提取模块,用于从所述语音信号中提取至少两种语音特征;
23.声纹模型加载模块,用于加载根本发明任一实施例所述的声纹模型训练的声纹模型;
24.声纹提取模块,用于将至少两种所述语音特征输入所述声纹模型中,以提取所述用户的声纹。
25.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
26.至少一个处理器;以及
27.与所述至少一个处理器通信连接的存储器;其中,
28.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的声纹模型的训练方法、声纹提取方法。
29.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行时实现本发明任一实施例所述的声纹模型的训练方法、声纹提取方法。
30.在本实施例中,确定声纹模型、分类模型;从语音信号中提取至少两种语音特征,语音信号已标注归属的用户;以对用户分类为目标,根据至少两种语音特征初训练声纹模型与分类模型;若完成初训练,则以对用户分类、且约束同一用户的声纹为目标,根据至少两种语音特征继续训练声纹模型与分类模型,声纹模型用于从至少两种语音特征中提取声纹,分类模型用于预测语音信号归属的用户、且在完成继续训练时丢弃。本实施例使用至少两种语音特征作为样本训练声纹模型,实现了多模态特征的融合,增强了样本的多样性,可提高声纹模型的性能,对声纹模型进行两个阶段的训练,第一阶段、第二阶段均以对用户分类为训练的目标,可以保证声纹模型在正常场景下的性能,保证声纹的准确性,在此基础上,第二阶段以约束同一用户的声纹为训练的目标对声纹模型进行收敛,可以提高声纹模型在环境噪音、跨信道设备以及假冒攻击等场景下的性能,提高声纹的准确性,从而提高声纹模型的鲁棒性。
31.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
32.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1是根据本发明实施例一提供的一种声纹模型的训练方法的流程图;
34.图2a至图2b是根据本发明实施例一提供的一种声纹模型的结构示意图;
35.图3a至图3d是根据本发明实施例一提供的一种残差块的结构示意图;
36.图4是根据本发明实施例二提供的一种声纹提取方法的流程图;
37.图5是根据本发明实施例三提供的一种声纹提取方法的流程图;
38.图6是根据本发明实施例四提供的一种声纹模型的训练装置的结构示意图;
39.图7是根据本发明实施例五提供的一种声纹提取装置的结构示意图;
40.图8是实现本发明实施例的声纹模型的训练、声纹提取方法的电子设备的结构示意图。
具体实施方式
41.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
42.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
43.实施例一
44.图1为本发明实施例一提供的一种声纹模型的训练方法的流程图,本实施例可适用于基于对用户分类、约束同一个用户的声纹训练声纹模型的情况,该方法可以由声纹模型的训练装置来执行,该声纹模型的训练装置可以采用硬件和/或软件的形式实现,该声纹模型的训练装置可配置于电子设备中。如图1所示,该方法包括:
45.步骤101、确定声纹模型、分类模型。
46.在本实施例中,可以预先构建声纹模型、分类模型,其中,声纹模型用于从语音信号中提取声纹,分类模型用于预测语音信号归属的用户,分类模型用于辅助训练声纹模型,在完成继续训练时丢弃。
47.一般情况下,声纹模型、分类模型属于深度学习的模型,声纹模型、分类模型的结构均不局限于人工设计的神经网络,也可以通过模型量化方法优化的神经网络,通过nas(neural architecture search,神经网络结构搜索)方法针对声纹的特性搜索的神经网络,等等,本实施例对此不加以限制。
48.在训练声纹模型时,将声纹模型、分类模型加载至内存运行,并初始化声纹模型、分类模型的参数。
49.步骤102、从语音信号中提取至少两种语音特征。
50.在本实施例中,可以预先从公开的数据集等渠道采集多个语音信号并存储在数据库中,作为训练声纹模型的样本,这些语音信号已标注归属的用户(标签tag),以便在这些用户(标签tag)的监督下,对声纹模型进行训练。
51.进一步地,对于这些语音信号,可以采用时域加强、频域加强、添加噪声、混响等方式进行数据增强。
52.在训练声纹模型时,从数据库读取语音信号,使用至少两种算子按帧从语音信号中分别提取至少两种语音特征。
53.在一个示例中,语音特征包括滤波器组特征fbanks、音高特征pitch、梅尔频率倒谱系数(mel frequency cepstral coefficients,mfcc)。
54.其中,滤波器组特征fbanks以类似于人耳的方式对语音信号进行处理,可以提高声纹识别的性能,在具体实现中,使用快速傅里叶变换(fast fourier transform,fft)等方式将语音信号从时域的信号转换为频域的信号,对频域中的语音信号计算能量谱,对能量谱进行梅尔频率mel的滤波,对滤波的之和的能量谱取对数log,得到滤波器组特征fbank。
55.音高特征pitch跟声音的基频fundamental frequency(f0)有关,反应的是音高的信息,即声调,可使用yin等算子提取。
56.滤波器组特征fbanks相邻的特征高度相关(相邻滤波器组有重叠),因此,对其进行倒谱转换,可以得到梅尔频率倒谱系数mfcc,即,梅尔频率倒谱系数mfcc的提取是在滤波器组特征fbank的基础上再进行离散余弦变换。
57.在本示例中,滤波器组特征fbanks的维度数为64,音高特征pitch的维度数为3,梅尔频率倒谱系数mfcc的维度数为80。
58.当然,上述语音特征只是作为示例,在实施本实施例时,可以根据实际情况设置其它语音特征,本实施例对此不加以限制。另外,除了上述语音特征外,本领域技术人员还可以根据实际需要采用其它语音特征,本实施例对此也不加以限制。
59.步骤103、以对用户分类为目标,根据至少两种语音特征初训练声纹模型与分类模型。
60.在本实施例中,在分类模型的辅助下对声纹模型先后进行两个阶段的训练,其中,第一阶段one-stage的训练称之为初训练,第二阶段two-stage的训练称之为继续训练。
61.在初训练中,根据至少两种语音特征对用户进行分类,分类的结果(类别)为用户,即,根据至少两种语音特征预测语音信号归属的用户,训练的目标是对语音信号标注的用户与对语音信号预测的用户相同。
62.在本发明的一个实施例中,步骤103可以包括如下步骤:
63.步骤1031、将至少两种语音特征输入声纹模型中提取声纹。
64.在本实施例中,将至少两种语音特征输入声纹模型中,声纹模型按照自身的结构对至少两种语音特征进行处理,从而提取用户可能的声纹。
65.在本发明的一个实施例中,如图2a所示,声纹模型包括时延神经网络(time delay neural network,tdnn)、第一残差块res_block_1、第二残差块res_block_2、第三残差块res_block_3、第四残差块res_block_4、自注意力池化层(self-attentive pooling,sap)、全连接层fc。
66.其中,第一残差块res_block_1、第二残差块res_block_2、第三残差块res_block_3、第四残差块res_block_4均为残差块(residual block),残差块为对一些包含残差网络的结构进行的封装。
67.进一步地,第一残差块res_block_1、第二残差块res_block_2、第三残差块res_block_3、第四残差块res_block_4结构可以依据声纹识别等业务的需求进行设置,第一残差块res_block_1、第二残差块res_block_2、第三残差块res_block_3、第四残差块res_block_4的结构可以相同、也可以不同,本实施例对此不加以限制。
68.示例性地,如图3a所示,第一残差块res_block_1中具有6层卷积层,每两层卷积层插入快捷连接shortcut(又称跳跃连接,即图3a中的曲线连接),如图3b所示,第二残差块res_block_2中具有8层卷积层,每两层卷积层插入快捷连接shortcut(即图3b中的曲线连接),如图3c所示,第三残差块res_block_3中具有12层卷积层,每两层卷积层插入快捷连接shortcut(即图3c中的曲线连接),如图3d所示,第四残差块res_block_4中具有6层卷积层,每两层卷积层插入快捷连接shortcut(即图3d中的曲线连接)。
69.在本示例中,第一残差块res_block_1、第二残差块res_block_2、第三残差块res_block_3、第四残差块res_block_4均使用3
×
3的滤波器,对于相同的输出特征的尺寸,每层具有相同数量的滤波器,如果特征的尺寸减半,则滤波器数量加倍,以便保持每层的时间复杂度。
70.第一残差块res_block_1、第二残差块res_block_2、第三残差块res_block_3、第四残差块res_block_4输出的维度依次增加,分别为64、128、256、512。
71.当输入和输出具有相同的维度时(如图3a至图3d中的实线曲线连接)时,可以直接使用恒等快捷连接。
72.当维度增加(如图3b至图3d中的虚线曲线连接)时,可以使用两个选项,一个选项是快捷连接仍然执行恒等映射,额外填充零输入以增加维度。此选项不会引入额外的参数;另一个选项是对快捷连接执行线性投影(进行卷积操作)来匹配维度(由1
×
1卷积完成)。
73.在本实施例中,声纹模型的结构较为简单,参数较少,运算的速度较快,相应地,使用的语音特征的数量较少。
74.示例性地,如图2a所示,至少两种语音特征包括滤波器组特征fbanks、音高特征pitch。
75.当然,除了滤波器组特征fbanks与音高特征pitch之外,还可以是滤波器组特征fbanks与梅尔频率倒谱系数mfcc,或者,音高特征pitch与梅尔频率倒谱系数mfcc,等等,本实施例对此不加以限制。
76.在本示例中,通过连接函数concatenate将至少两种语音特征(如滤波器组特征fbanks与音高特征pitch)融合为新的特征,记为第一候选特征。
77.一般情况下,第一候选特征为二维的特征,而残差块多为处理三维的特征,因此,可以将第一候选特征输入时延神经网络tdnn中、转换为三维的特征,记为第二候选特征。
78.将第二候选特征输入第一残差块res_block_1中进行处理,第一残差块res_block_1将第二候选特征映射为新的特征,记为第三候选特征。
79.将第三候选特征输入第二残差块res_block_2中进行处理,第二残差块res_block_2将第三候选特征映射为新的特征,记为第四候选特征。
80.将第四候选特征输入第三残差块res_block_3中进行处理,第三残差块res_block_3将第四候选特征映射为新的特征,记为第五候选特征。
81.将第五候选特征输入第四残差块res_block_4中进行处理,第四残差块res_block_4将第五候选特征映射为新的特征,记为第六候选特征。
82.将第六候选特征输入自注意力池化层sap中聚合为新的特征,记为第七候选特征。
83.其中,自注意力池化层sap是利用自注意力机制,将语音帧级别的特征(第六候选特征)聚合成句子级别特征表达的结构设计,这种对语音帧的注意力机制,可以使得提取的特征更具有信息表达能力。
84.在自注意力池化层sap中,一个多层感知器(multilayer perceptron,mlp)将语音帧级别的特征(第六候选特征){x1,x2,...,x
t
}映射到隐层表达{h1,h2,...,h
t
}:
85.h
t
=tanh(wx
t
+b)
86.利用softmax函数得到每个语音帧级别的特征(第六候选特征)的权重w
t

[0087][0088]
其中,u是可学习的上下文向量表达,通过权重w
t
对语音帧级别的特征(第六候选特征){x1,x2,...,x
t
}进行加权求和,得到句子级别的特征(第七候选特征)e:
[0089][0090]
将第七候选特征输入全连接层fc中映射为声纹。
[0091]
在本发明的另一个实施例中,如图2b所示,声纹模型包括至少两个支路网络(图2b中的虚线框部分)、第四残差块res_block_4、自注意力池化层sap、全连接层fc,每个分支网络中具有时延神经网络tdnn、第一残差块res_block_1、第二残差块res_block_2、第三残差块res_block_3。
[0092]
在本实施例中,声纹模型的结构较为复杂,参数量大,鲁棒性更好,相应地,使用的语音特征的数量较多。
[0093]
示例性地,如图2b所示,至少两种语音特征包括滤波器组特征fbanks、音高特征pitch、梅尔频率倒谱系数mfcc。
[0094]
在本实施例中,分支网络的数量与语音特征的数量相同,针对每种语音特征,将每种语音特征输入每个分支网络中,调用时延神经网络tdnn将语音特征转换为三维的特征,记为第一参考特征,调用第一残差块res_block_1将第一参考特征映射为新的特征,记为第二参考特征,调用第二残差块res_block_2将第二参考特征映射为新的特征,记为第三参考特征,调用第三残差块res_block_3将第三参考特征映射为新的特征,记为第四参考特征。
[0095]
由于分支网络的数量为至少两个,因此其输出的第四参考特征的数量也为两个,此时,将至少两个第四参考特征融合为新的特征,记为第五参考特征。
[0096]
将第五参考特征输入第四残差块res_block_4中映射为新的特征,记为第六参考特征。
[0097]
将第六参考特征输入自注意力池化层sap中聚合为新的特征,记为第七参考特征。
[0098]
将第七参考特征输入全连接层fc中映射为声纹。
[0099]
步骤1032、将声纹输入分类模型、预测语音信号归属的用户。
[0100]
在本实施例中,做用户作为分类的结果(类别),将声纹输入分类模型中,分类模型按照其自身的结构对声纹进行处理,从而预测语音信号归属的用户。
[0101]
在一个示例中,分类模型为一层或多层全连接层(fully connected,fc),一层或多层全连接层依次对声纹映射为归属不同用户的概率,可选地,选择概率最大的用户作为语音信号归属的用户。
[0102]
步骤1033、计算标注的用户与预测的用户之间的差异,作为第一损失值。
[0103]
在本实施例中,针对同一个语音信号,既有已标注归属的用户,又有预测归属的用户,此时,可调用预设的第一损失函数,如softmax函数及其变形的函数(如a-softmax、l-softmax、am-softmax、arcface等)等,计算已标注归属的用户与预测归属的用户之间的差异,获得损失值loss,记为第一损失值,那么,第一损失值表示声纹模型在类别之间的损失。
[0104]
以arcface为例,可以通过如下公式计算标注的用户与预测的用户之间的差异,作为第一损失值:
[0105][0106]
其中,l
aam-softmax
为第一损失值,n为批大小,n为用户的数量,yi为标注的用户,θ为语音特征与分类模型中的参数之间的角度,m为角度惩罚,s为超参数。
[0107]
步骤1034、按照第一损失值更新分类模型与声纹模型。
[0108]
在声纹模型、分类模型中完成正向传播之后,可以对声纹模型、分类模型进行反向传播,将第一损失值代入sgd(stochastic gradient descent,随机梯度下降)、adam(adaptive momentum,自适应动量)等优化算法中,分别计算更新声纹模型、分类模型中参数的第一梯度,分别按照该第一梯度更新声纹模型、分类模型中的参数。
[0109]
步骤1035、判断第一损失值是否收敛;若是,则执行步骤1036,若否,则返回执行步骤1031。
[0110]
步骤1036、确定完成初训练。
[0111]
本实施例中,可以预先针对第一损失值设置第一收敛条件,作为停止训练声纹模型、分类模型的条件,例如,迭代的次数达到阈值,第一损失值连续多次的变化幅度小于某个阀值,等等,在每轮迭代训练中,判断第一损失值是否满足第一收敛条件。
[0112]
如果满足第一收敛条件,则可以认为第一损失值收敛,保持稳定,确认完成初训练。
[0113]
如果未满足第一收敛条件,则可以进入下一轮迭代训练,重新执行步骤1031-步骤1034,如此循环迭代训练,直至第一损失值收敛。
[0114]
步骤104、若完成初训练,则以对用户分类、且约束同一用户的声纹为目标,根据至少两种语音特征继续训练声纹模型与分类模型。
[0115]
若完成第一阶段one-stage的训练(即初训练),则可以进行第二阶段two-stage的训练(即继续训练),在第二阶段two-stage的训练(即继续训练)中,声纹模型与分类模型继承第一阶段one-stage训练(即初训练)的参数。
[0116]
在初训练中,训练的目标是对语音信号标注的用户与对语音信号预测的用户相同,那么,在初训练完成时,可以增大不同类别(用户)的声纹之间的差异,然而,对于同一类别(用户),其声纹之间具有一定的差异,那么,在继续训练中,根据至少两种语音特征对用户进行分类,分类的结果(类别)为用户,即,根据至少两种语音特征预测语音信号归属的用户,训练的目标是在保持对语音信号标注的用户与对语音信号预测的用户相同的条件下,约束同一用户的声纹,减少同一用户的声纹之间的差异,继续增大不同用户的声纹之间的差异。
[0117]
在本发明的一个实施例中,步骤104可以包括如下步骤:
[0118]
步骤1041、将至少两种语音特征输入声纹模型中提取声纹。
[0119]
在一种声纹模型的结构中,声纹模型包括时延神经网络、第一残差块、第二残差块、第三残差块、第四残差块、自注意力池化层、全连接层;
[0120]
在本结构中,将至少两种语音特征融合为第一候选特征;
[0121]
将第一候选特征输入时延神经网络中、转换为三维的第二候选特征;
[0122]
将第二候选特征输入第一残差块中映射为第三候选特征;
[0123]
将第三候选特征输入第二残差块中映射为第四候选特征;
[0124]
将第四候选特征输入第三残差块中映射为第五候选特征;
[0125]
将第五候选特征输入第四残差块中映射为第六候选特征;
[0126]
将第六候选特征输入自注意力池化层中聚合为第七候选特征;
[0127]
将第七候选特征输入全连接层中映射为声纹;
[0128]
其中,至少两种语音特征包括滤波器组特征、音高特征。
[0129]
在另一种声纹模型的结构中,声纹模型包括至少两个支路网络、第四残差块、自注意力池化层、全连接层,每个分支网络中具有时延神经网络、第一残差块、第二残差块、第三残差块;
[0130]
在本结构中,将每种语音特征输入每个分支网络中,调用时延神经网络将语音特征转换为三维的第一参考特征、调用第一残差块将第一参考特征映射为第二参考特征、调用第二残差块将第二参考特征映射为第三参考特征、调用第三残差块将第三参考特征映射为第四参考特征;
[0131]
将至少两个第四参考特征融合为第五参考特征;
[0132]
将第五参考特征输入第四残差块中映射为第六参考特征;
[0133]
将第六参考特征输入自注意力池化层中聚合为第七参考特征;
[0134]
将第七参考特征输入全连接层中映射为声纹;
[0135]
其中,至少两种语音特征包括滤波器组特征、音高特征、梅尔频率倒谱系数。
[0136]
步骤1042、将声纹输入分类模型、预测语音信号归属的用户。
[0137]
步骤1043、计算标注的用户与预测的用户之间的差异,作为第一损失值。
[0138]
以arcface为例,可以通过如下公式计算标注的用户与预测的用户之间的差异,作为第一损失值:
[0139]
[0140]
其中,l
aam-softmax
为第一损失值,n为批大小,n为用户的数量,yi为标注的用户,θ为语音特征与分类模型中的参数之间的角度,m为角度惩罚,s为超参数。
[0141]
步骤1044、针对同一用户,计算用户的声纹之间的差异,作为第二损失值。
[0142]
在本实施例中,针对同一个用户,具有多个声纹,此时,可调用预设的第二损失函数计算该用户的声纹之间的差异,获得损失值loss,记为第二损失值,那么,第二损失值表示声纹模型在类别内的损失。
[0143]
以度量损失函数angular prototypical为例,可以通过如下公式计算用户的声纹之间的差异,作为第二损失值:
[0144][0145]
其中,l
ap
为第二损失值,n为用户的数量,s
j,k
为第j个用户的声纹与第k个用户的声纹之间的相似度。
[0146]
进一步地,s
j,k
=ω
·
cos(x
j,m
,ck)+b,其中,ω与b均为超参数,x
j,m
为第j个用户的声纹,ck为第k个用户的声纹。
[0147]
步骤1045、将第一损失值与第二损失值融合为第三损失值。
[0148]
在本实施例中,在继续训练分类模型与声纹模型时,综合考虑第一损失值l
aam-softmax
与第二损失值l
ap
,将第一损失值l
aam-softmax
与第二损失值l
ap
融合为第三损失值loss
total
,即,第三损失值loss
total
表示声纹模型在类别之间、类别内综合的损失。
[0149]
在具体实现中,融合的方式可以为线性融合,也可以为非线性融合,本实施例对此不加以限制。
[0150]
对于线性融合,可以根据业务的需求,分别对第一损失值l
aam-softmax
配置合适的第一权重w
aam-softmax
,对第二损失值l
ap
配置合适的第二权重w
ap

[0151]
示例性地,在某些业务中,类别之间的第一损失值l
aam-softmax
比类别内的第二损失值l
ap
重要,则第一权重w
aam-softmax
大于第二权重w
ap

[0152]
在融合时,将第一损失值l
aam-softmax
乘以预设的第一权重w
aam-softmax
,获得第一调权值,将第二损失值l
ap
乘以预设的第二权重w
ap
,获得第二调权值,计算第一调权值与第二调权值之间的和值,作为第三损失值loss
total
,则融合的过程表示如下:
[0153]
loss
total
=w
aam-softmax
l
aam-softmax
+w
ap
l
ap
[0154]
步骤1046、按照第三损失值更新分类模型与声纹模型。
[0155]
在声纹模型、分类模型中完成正向传播之后,可以对声纹模型、分类模型进行反向传播,将第三损失值代入sgd、adam等优化算法中,分别计算更新声纹模型、分类模型中参数的第二梯度,分别按照该第二梯度更新声纹模型、分类模型中的参数。
[0156]
步骤1047、判断第三损失值是否收敛;若是,则执行步骤1048,若否,则返回执行步骤1041。
[0157]
步骤1048、确定完成继续训练。
[0158]
本实施例中,可以预先针对第三损失值设置第二收敛条件,作为停止训练声纹模型、分类模型的条件,例如,迭代的次数达到阈值,第三损失值连续多次的变化幅度小于某个阀值,等等,在每轮迭代训练中,判断第三损失值是否满足第二收敛条件。
[0159]
如果满足第二收敛条件,则可以认为第三损失值收敛,保持稳定,确认完成继续训练,分别输出声纹模型、分类模型的参数,并持久化至数据库中,等待应用于业务。
[0160]
如果未满足第二收敛条件,则可以进入下一轮迭代训练,重新执行步骤1041-步骤1046,如此循环迭代训练,直至第三损失值收敛。
[0161]
在本实施例中,确定声纹模型、分类模型;从语音信号中提取至少两种语音特征,语音信号已标注归属的用户;以对用户分类为目标,根据至少两种语音特征初训练声纹模型与分类模型;若完成初训练,则以对用户分类、且约束同一用户的声纹为目标,根据至少两种语音特征继续训练声纹模型与分类模型,声纹模型用于从至少两种语音特征中提取声纹,分类模型用于预测语音信号归属的用户、且在完成继续训练时丢弃。本实施例使用至少两种语音特征作为样本训练声纹模型,实现了多模态特征的融合,增强了样本的多样性,可提高声纹模型的性能,对声纹模型进行两个阶段的训练,第一阶段、第二阶段均以对用户分类为训练的目标,可以保证声纹模型在正常场景下的性能,保证声纹的准确性,在此基础上,第二阶段以约束同一用户的声纹为训练的目标对声纹模型进行收敛,可以提高声纹模型在环境噪音、跨信道设备以及假冒攻击等场景下的性能,提高声纹的准确性,从而提高声纹模型的鲁棒性。
[0162]
实施例二
[0163]
图4为本发明实施例二提供的一种声纹提取方法的流程图,本实施例可适用于基于声纹模型对用户提取声纹的情况,该方法可以由声纹提取装置来执行,该声纹提取装置可以采用硬件和/或软件的形式实现,该声纹提取装置可配置于电子设备中。如图4所示,该方法包括:
[0164]
步骤401、对用户采集语音信号。
[0165]
在本实施例中,电子设备中的操作系统包括windows、android(安卓)、ios等,在这些操作系统中可支持运行各种的应用程序,例如,即时通讯工具、门锁应用、锁屏应用、支付应用,等等。
[0166]
这些应用程序在保护照片、通讯录等用户数据情况下,可基于用户的声纹验证用户的身份,从而确定用户是否具有操作用户数据的权限。
[0167]
在用户注册声纹、验证声纹等阶段,均可要求用户说话,在用户说话期间,调用麦克风对用户采集语音信号。
[0168]
为了保证验证的准确性,规定了语音信号的长度为目标值(如2秒),因此,在用户注册声纹、验证声纹等阶段,如果当前采集的语音信号的长度未达到目标值,则可以对语音信号进行前后warp(变形)操作,即,语音信号以数组的形式记录,可以从语音信号中提取部分数据,补充至语音信号的头部或尾部,直至语音信号的长度补齐至目标值。
[0169]
步骤402、从语音信号中提取至少两种语音特征。
[0170]
在本实施例中,对于用户的语音信号,可以进行多次(5次)均匀采样,在每次采样中,使用至少两种算子按帧从该语音信号中分别提取至少两种语音特征。
[0171]
在一个示例中,语音特征包括滤波器组特征fbanks、音高特征pitch、梅尔频率倒谱系数mfcc。
[0172]
进一步而言,针对不同的业务场景,声纹模型的结构有所不同,其使用的语音特征也有所不同,那么,在既定的业务场景下,声纹模型的结构固定,则可以按照声纹模型的结
构提取相应的语音特征。
[0173]
例如,针对图3a中的声纹模型,则可以从语音信号中提取滤波器组特征fbanks、音高特征pitch,针对图3b中的声纹模型,则可以从语音信号中提取滤波器组特征fbanks、音高特征pitch、梅尔频率倒谱系数mfcc。
[0174]
步骤403、加载声纹模型。
[0175]
在本实施例中,可以预先训练声纹模型(含结构、参数),其中,声纹模型用于从语音信号中提取声纹。
[0176]
在用户注册声纹、验证声纹等阶段,可以将声纹模型及其参数加载至运存中运行,等待提取声纹。
[0177]
一般情况下,声纹模型、分类模型属于深度学习的模型,声纹模型、分类模型的结构均不局限于人工设计的神经网络,也可以通过模型量化方法优化的神经网络,通过nas(neural architecture search,神经网络结构搜索)方法针对声纹的特性搜索的神经网络,等等,本实施例对此不加以限制。
[0178]
在训练声纹模型时,将声纹模型、分类模型加载至内存运行,并初始化声纹模型、分类模型的参数。
[0179]
在本发明的一个实施例中,声纹模型的训练方法如下:
[0180]
确定声纹模型、分类模型;
[0181]
从语音信号中提取至少两种语音特征,语音信号已标注归属的用户;
[0182]
以对用户分类为目标,根据至少两种语音特征初训练声纹模型与分类模型;
[0183]
若完成初训练,则以对用户分类、且约束同一用户的声纹为目标,根据至少两种语音特征继续训练声纹模型与分类模型,声纹模型用于从语音信号中提取声纹,分类模型用于预测语音信号归属的用户、且在完成继续训练时丢弃。
[0184]
在本实施例中,由于声纹模型的训练方法与实施例一的应用基本相似,所以描述的比较简单,相关之处参见实施例一的部分说明即可,本实施例在此不加以详述。
[0185]
步骤404、将至少两种语音特征输入声纹模型中,以提取用户的声纹。
[0186]
在每次采样中,将至少两种语音特征输入声纹模型中,声纹模型按照自身的结构对至少两种语音特征进行处理,从语音信号中提取声纹,作为用户的声纹,其中,用户的声纹的数量与采样的数量相同。
[0187]
在用户注册声纹的阶段,该声纹会关联用户的身份,实现注册用户的身份。
[0188]
在用户验证声纹的阶段,该声纹等待匹配其他已注册身份的声纹,实现验证用户的身份。
[0189]
在本发明的一个实施例中,声纹模型包括时延神经网络、第一残差块、第二残差块、第三残差块、第四残差块、自注意力池化层、全连接层;则在本实施例中,步骤404包括如下步骤:
[0190]
将至少两种语音特征融合为第一候选特征;
[0191]
将第一候选特征输入时延神经网络中、转换为三维的第二候选特征;
[0192]
将第二候选特征输入第一残差块中映射为第三候选特征;
[0193]
将第三候选特征输入第二残差块中映射为第四候选特征;
[0194]
将第四候选特征输入第三残差块中映射为第五候选特征;
[0195]
将第五候选特征输入第四残差块中映射为第六候选特征;
[0196]
将第六候选特征输入自注意力池化层中聚合为第七候选特征;
[0197]
将第七候选特征输入全连接层中映射为声纹;
[0198]
其中,至少两种语音特征包括滤波器组特征、音高特征。
[0199]
在本发明的另一个实施例中,声纹模型包括至少两个支路网络、第四残差块、自注意力池化层、全连接层,每个分支网络中具有时延神经网络、第一残差块、第二残差块、第三残差块;则在本实施例中,步骤404包括如下步骤:
[0200]
将每种语音特征输入每个分支网络中,调用时延神经网络将语音特征转换为三维的第一参考特征、调用第一残差块将第一参考特征映射为第二参考特征、调用第二残差块将第二参考特征映射为第三参考特征、调用第三残差块将第三参考特征映射为第四参考特征;
[0201]
将至少两个第四参考特征融合为第五参考特征;
[0202]
将第五参考特征输入第四残差块中映射为第六参考特征;
[0203]
将第六参考特征输入自注意力池化层中聚合为第七参考特征;
[0204]
将第七参考特征输入全连接层中映射为声纹;
[0205]
其中,至少两种语音特征包括滤波器组特征、音高特征、梅尔频率倒谱系数。
[0206]
在本实施例中,对用户采集语音信号;从语音信号中提取至少两种语音特征;加载声纹模型;将至少两种语音特征输入声纹模型中,以提取用户的声纹。本实施例在训练声纹模型的阶段,使用至少两种语音特征作为样本训练声纹模型,实现了多模态特征的融合,增强了样本的多样性,可提高声纹模型的性能,对声纹模型进行两个阶段的训练,第一阶段、第二阶段均以对用户分类为训练的目标,可以保证声纹模型在正常场景下的性能,保证声纹的准确性,在此基础上,第二阶段以约束同一用户的声纹为训练的目标对声纹模型进行收敛,可以提高声纹模型在环境噪音、跨信道设备以及假冒攻击等场景下的性能,提高声纹的准确性,从而提高声纹模型的鲁棒性。
[0207]
实施例三
[0208]
图5为本发明实施例三提供的一种声纹提取方法的流程图,本实施例在上述实施例的基础上增加了验证用户身份的操作。如图5所示,该方法包括:
[0209]
步骤501、对用户采集语音信号。
[0210]
步骤502、从语音信号中提取至少两种语音特征。
[0211]
步骤503、加载声纹模型。
[0212]
步骤504、将至少两种语音特征输入声纹模型中,以提取用户的声纹。
[0213]
步骤505、获取已注册身份的声纹,作为参考声纹。
[0214]
在用户验证声纹的阶段,可以获取在用户注册声纹的阶段注册的声纹,该声纹记为参考声纹,其中,该参考声纹关联用户的身份。
[0215]
步骤506、对用户的声纹与参考声纹之间计算相似度。
[0216]
在具体实现中,可以计算用户的声纹与参考声纹之间的余弦角度,作为两者的相似度。
[0217]
为了提高验证用户身份的准确性,在用户注册声纹、验证声纹等阶段均可以多次采样,得到用户的多个声纹、多个参考声纹,此时,可以计算用户的每个声纹与每个参考声
纹之间的相似度,对这些相似度计算平均值,最终作为用户的多个声纹与参考多个声纹之间整体的相似度。
[0218]
步骤507、根据相似度确定用户的身份。
[0219]
在具体实现中,相似度表示当前用户与已注册身份的用户之间的相似程度,通过相似度可以判断当前用户与已注册身份的用户是否为同一用户。
[0220]
一般情况下,若相似度大于或等于阈值,则可以确认当前用户与已注册身份的用户为同一用户,将已注册的身份赋值给当前用户。
[0221]
若相似度小于阈值,则可以确认当前用户与已注册身份的用户并非同一用户,暂无法确定当前用户的身份,继续使用其他参考声纹进行匹配。
[0222]
实施例四
[0223]
图6为本发明实施例四提供的一种声纹模型的训练装置的结构示意图。如图6所示,该装置包括:
[0224]
模型确定模块601,用于确定声纹模型、分类模型;
[0225]
语音特征提取模块602,用于从语音信号中提取至少两种语音特征,所述语音信号已标注归属的用户;
[0226]
初训练模块603,用于以对所述用户分类为目标,根据至少两种所述语音特征初训练所述声纹模型与所述分类模型;
[0227]
继续训练模块604,用于若完成初训练,则以对所述用户分类、且约束同一所述用户的声纹为目标,根据至少两种所述语音特征继续训练所述声纹模型与所述分类模型,所述声纹模型用于从至少两种所述语音特征中提取声纹,所述分类模型用于预测所述语音信号归属的用户、且在完成继续训练时丢弃。
[0228]
在本发明的一个实施例中,所述初训练模块603包括:
[0229]
声纹提取模块,用于将至少两种所述语音特征输入所述声纹模型中提取声纹;
[0230]
用户分类模块,用于将所述声纹输入所述分类模型、预测所述语音信号归属的用户;
[0231]
第一损失值计算模块,用于计算标注的所述用户与预测的所述用户之间的差异,作为第一损失值;
[0232]
第一模型更新模块,用于按照所述第一损失值更新所述分类模型与所述声纹模型;
[0233]
第一收敛判断模块,用于判断所述第一损失值是否收敛;若是,则调用第一完成确定模块,若否,则返回调用所述声纹提取模块;
[0234]
第一完成确定模块,用于确定完成初训练。
[0235]
在本发明的一个实施例中,所述继续训练模块604包括:
[0236]
声纹提取模块,用于将至少两种所述语音特征输入所述声纹模型中提取声纹;
[0237]
用户分类模块,用于将所述声纹输入所述分类模型、预测所述语音信号归属的用户;
[0238]
第一损失值计算模块,用于计算标注的所述用户与预测的所述用户之间的差异,作为第一损失值;
[0239]
第二损失值计算模块,用于计算所述用户的所述声纹之间的差异,作为第二损失
值;
[0240]
第三损失值融合模块,用于将所述第一损失值与所述第二损失值融合为第三损失值;
[0241]
第二模型更新模块,用于按照所述第三损失值更新所述分类模型与所述声纹模型;
[0242]
第二收敛判断模块,用于判断所述第三损失值是否收敛;若是,则调用第二完成确定模块,若否,则返回调用所述声纹提取模块;
[0243]
第二完成确定模块,用于确定完成继续训练。
[0244]
在本发明的一个实施例中,所述声纹模型包括时延神经网络、第一残差块、第二残差块、第三残差块、第四残差块、自注意力池化层、全连接层;
[0245]
所述声纹提取模块还用于:
[0246]
将至少两种所述语音特征融合为第一候选特征;
[0247]
将所述第一候选特征输入所述时延神经网络中、转换为三维的第二候选特征;
[0248]
将所述第二候选特征输入所述第一残差块中映射为第三候选特征;
[0249]
将所述第三候选特征输入所述第二残差块中映射为第四候选特征;
[0250]
将所述第四候选特征输入所述第三残差块中映射为第五候选特征;
[0251]
将所述第五候选特征输入所述第四残差块中映射为第六候选特征;
[0252]
将所述第六候选特征输入所述自注意力池化层中聚合为第七候选特征;
[0253]
将所述第七候选特征输入所述全连接层中映射为声纹;
[0254]
其中,至少两种所述语音特征包括滤波器组特征、音高特征。
[0255]
在本发明的另一个实施例中,所述声纹模型包括至少两个支路网络、第四残差块、自注意力池化层、全连接层,每个所述分支网络中具有时延神经网络、第一残差块、第二残差块、第三残差块;
[0256]
所述所述声纹提取模块还用于:
[0257]
将每种所述语音特征输入每个所述分支网络中,调用所述时延神经网络将所述语音特征转换为三维的第一参考特征、调用所述第一残差块将所述第一参考特征映射为第二参考特征、调用所述第二残差块将所述第二参考特征映射为第三参考特征、调用所述第三残差块将所述第三参考特征映射为第四参考特征;
[0258]
将至少两个所述第四参考特征融合为第五参考特征;
[0259]
将所述第五参考特征输入所述第四残差块中映射为第六参考特征;
[0260]
将所述第六参考特征输入所述自注意力池化层中聚合为第七参考特征;
[0261]
将所述第七参考特征输入所述全连接层中映射为声纹;
[0262]
其中,至少两种所述语音特征包括滤波器组特征、音高特征、梅尔频率倒谱系数。
[0263]
在本发明的一个实施例中,所述第一损失值计算模块还用于:
[0264]
通过如下公式计算标注的所述用户与预测的所述用户之间的差异,作为第一损失值:
[0265]
[0266]
其中,l
aam-softmax
为第一损失值,n为批大小,n为所述用户的数量,yi为标注的所述用户,θ为所述语音特征与所述分类模型中的参数之间的角度,m为角度惩罚,s为超参数。
[0267]
在本发明的一个实施例中,所述第二损失值计算模块还用于:
[0268]
通过如下公式针对同一所述用户,计算所述用户的所述声纹之间的差异,作为第二损失值:
[0269][0270]
其中,l
ap
为第二损失值,n为所述用户的数量,s
j,k
为第j个所述用户的所述声纹与第k个所述用户的所述声纹之间的相似度。
[0271]
在本发明的一个实施例中,所述第三损失值融合模块还用于:
[0272]
将所述第一损失值乘以预设的第一权重,获得第一调权值;
[0273]
将所述第二损失值乘以预设的第二权重,获得第二调权值;
[0274]
计算所述第一调权值与所述第二调权值之间的和值,作为第三损失值;
[0275]
其中,所述第一权重大于所述第二权重。
[0276]
本发明实施例所提供的声纹模型的训练装置可执行本发明任意实施例所提供的声纹模型的训练方法,具备执行声纹模型的训练方法相应的功能模块和有益效果。
[0277]
实施例五
[0278]
图7为本发明实施例五提供的一种声纹提取装置的结构示意图。如图7所示,该装置包括:
[0279]
语音信号采集模块701,用于对用户采集语音信号;
[0280]
语音特征提取模块702,用于从所述语音信号中提取至少两种语音特征;
[0281]
声纹模型加载模块703,用于加载声纹模型;
[0282]
声纹提取模块704,用于将至少两种所述语音特征输入所述声纹模型中,以提取所述用户的声纹;
[0283]
其中,声纹模型的训练方法如下:
[0284]
确定声纹模型、分类模型;
[0285]
从语音信号中提取至少两种语音特征,所述语音信号已标注归属的用户;
[0286]
以对所述用户分类为目标,根据至少两种所述语音特征初训练所述声纹模型与所述分类模型;
[0287]
若完成初训练,则以对所述用户分类、且约束同一所述用户的声纹为目标,根据至少两种所述语音特征继续训练所述声纹模型与所述分类模型,所述声纹模型用于从至少两种所述语音特征中提取声纹,所述分类模型用于预测所述语音信号归属的用户、且在完成继续训练时丢弃。
[0288]
在本发明的一个实施例中,该装置还包括:
[0289]
参考声纹获取模块,用于获取已注册身份的声纹,作为参考声纹;
[0290]
相似度计算模块,用于对所述用户的声纹与所述参考声纹之间计算相似度;
[0291]
身份确定模块,用于根据所述相似度确定所述用户的身份。
[0292]
在本发明的一个实施例中,所述声纹模型包括时延神经网络、第一残差块、第二残
差块、第三残差块、第四残差块、自注意力池化层、全连接层;
[0293]
所述声纹提取模块704还用于:
[0294]
将至少两种所述语音特征融合为第一候选特征;
[0295]
将所述第一候选特征输入所述时延神经网络中、转换为三维的第二候选特征;
[0296]
将所述第二候选特征输入所述第一残差块中映射为第三候选特征;
[0297]
将所述第三候选特征输入所述第二残差块中映射为第四候选特征;
[0298]
将所述第四候选特征输入所述第三残差块中映射为第五候选特征;
[0299]
将所述第五候选特征输入所述第四残差块中映射为第六候选特征;
[0300]
将所述第六候选特征输入所述自注意力池化层中聚合为第七候选特征;
[0301]
将所述第七候选特征输入所述全连接层中映射为声纹;
[0302]
其中,至少两种所述语音特征包括滤波器组特征、音高特征。
[0303]
在本发明的另一个实施例中,所述声纹模型包括至少两个支路网络、第四残差块、自注意力池化层、全连接层,每个所述分支网络中具有时延神经网络、第一残差块、第二残差块、第三残差块;
[0304]
所述声纹提取模块704还用于:
[0305]
将每种所述语音特征输入每个所述分支网络中,调用所述时延神经网络将所述语音特征转换为三维的第一参考特征、调用所述第一残差块将所述第一参考特征映射为第二参考特征、调用所述第二残差块将所述第二参考特征映射为第三参考特征、调用所述第三残差块将所述第三参考特征映射为第四参考特征;
[0306]
将至少两个所述第四参考特征融合为第五参考特征;
[0307]
将所述第五参考特征输入所述第四残差块中映射为第六参考特征;
[0308]
将所述第六参考特征输入所述自注意力池化层中聚合为第七参考特征;
[0309]
将所述第七参考特征输入所述全连接层中映射为声纹;
[0310]
其中,至少两种所述语音特征包括滤波器组特征、音高特征、梅尔频率倒谱系数。
[0311]
本发明实施例所提供的声纹提取装置可执行本发明任意实施例所提供的声纹提取方法,具备执行声纹提取方法相应的功能模块和有益效果。
[0312]
实施例六
[0313]
图8示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0314]
如图8所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
[0315]
电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0316]
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如声纹模型的训练方法、声纹提取方法。
[0317]
在一些实施例中,声纹模型的训练方法、声纹提取方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的声纹模型的训练方法、声纹提取方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行声纹模型的训练方法、声纹提取方法。
[0318]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0319]
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0320]
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0321]
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装
置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0322]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
[0323]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0324]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1