技术领域
[0001] 本
发明涉及
深度学习领域,尤其涉及一种单声道说话人分离模型、训练方法和分离方法。
背景技术
[0002] 目前,在销售、回访、催款等场景中,大部分公司仍旧采用单声道的方式采集录音,由于客户和客服的声音都在同一声道上,再经过asr(Automatic Speech Recognition,
语音识别)转
化成文字,无法知道文字段对应的是客户还是客服,导致在语音质检中,需要人工听取一个个录音。而且有的录音长达数分钟,而有效的信息只有几秒钟的时间,这将大大的造成企业的资源浪费,不仅使得人
力成本大大升高、效率底下,而且不能保证质检的
质量,可能因为人的疏忽导致一通有问题的录音成为漏网之鱼,造成企业无法挽回的损失。
[0003] 目前大部分的说话人分离技术方案采用
无监督学习的模式,将录音分割成一段段的小音频,然后在提取每段音频的特征,进行聚类。但是在催收等场景中,存在着大量的场景音,而且聚类
算法极易受异常点干扰(噪音、
汽车喇叭等),同时客服、客户的情绪在催收过程中经常
波动,导致无法做到精确的说话人分离。
发明内容
[0004] 本发明要解决的技术问题,在于提供一种单声道说话人分离模型、训练方法和分离方法,在对话语音中能不受干扰的分离出说话人语音。
[0005] 为实现上述目的,本发明采用下述技术方案:第一方面,本发明提供一种单声道说话人分离模型,包括ResCNN(深度残差网络),所述ResCNN包括8个ResBlock(残差
块),每个ResBlock(残差块)包含四个卷积核为3×3、步长为
2的卷积层,每个ResBlock(残差块)之前包括一个卷积核为5×5、步长为4的卷积层。
[0006] 第二方面,本发明提供一种单声道说话人分离模型的训练方法,所述方法包括:获取说话人的至少一句话作为锚样本,获取同一说话人的至少另一句话作为正样本,获取不同说话人与锚样本相同的至少一句话作为负样本;
单声道说话人分离模型的每个卷积层之间在序列维度上使用Batch Normalization(批数据归一化),并对每个卷积层使用裁剪修正线性函数作为非线性映射;
利用所述锚样本、正样本和负样本训练单声道说话人分离模型,输出所述锚样本、正样本和负样本对应的embedding(集合);
所述正样本、锚样本对应的embedding之间的余弦相似度作为第一距离,所述负样本、锚样本对应的embedding之间的余弦相似度作为第二距离;
利用所述第一距离和第二距离优化模型参数。
[0007] 在上述方案中,所述优化模型参数目标为减小第一距离和/或增加第二距离。
[0008] 第三方面,本发明提供一种基于单声道说话人分离模型的单声道说话人分离方法,所述方法包括:获取包含第一说话人和第二说话人的音频;
分割所述音频获得至少一份分割音频;
输入所述至少一份分割音频至单声道说话人分离模型,获得所述至少一份分割音频对应的至少一份第一embedding;
输入预先录制的仅包括第二说话人的音频至单声道说话人分离模型,获得所述仅包括第二说话人的音频对应的第二embedding;
判断所述至少一份第一embedding和第二embedding的余弦相似度是否小于预设
阈值,如果是,所述至少一份分割音频为第一说话人音频,如果否,所述至少一份分割音频为第二说话人音频。
[0009] 在上述方案中,所述至少一份分割音频的时域为0.5ms。
[0010] 在上述方案中,所述方法还包括:根据获得第一说话人音频的顺序将第一说话人音频重新组合,获得完整的第一说话人语音
片段。
[0011] 在上述方案中,所述方法还包括:根据获得第二说话人音频的顺序将第二说话人音频重新组合,获得完整的第二说话人语音片段。
[0012] 本发明的有益效果是:1、本发明运用深度学习技术,摒弃传统声纹识别的思路,基于神经网络的端到端声纹识别,只需少量的语料即可训练出一个基于深度学习的单声道说话人分离模型,且准确率高;
2、本发明可做到实时识别,在线上使用,可做到毫秒响应;
3、本发明的维护成本低,只需要收集badcase,在重新训练模型即可;
4、本发明识别的准确率高,制作成本低;
5、本发明不易受通话过程中的信道、噪声干扰、鲁棒性强。
附图说明
[0013] 图1为本发明提供的一种单声道说话人分离模型的结构示意图;图2为本发明提供的一种单声道说话人分离模型的训练方法的流程示意图;
图3为本发明提供的一种基于单声道说话人分离模型的单声道说话人分离方法的流程示意图。
[0014] 图1-3中:1、input(输入)层,2、ResBlock(残差块),3、output(输出)层。
具体实施方式
[0015] 下面通过具体
实施例,并结合附图,对本发明的技术方案作进一步的具体描述,显然,所描述的实施例仅仅是本
申请一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0016] 目前一部分说话人分离还采用人工听取、人工分离的方式,另一部分的说话人分离技术方案则采用
无监督学习的模式,将录音分割成一段段的小音频,然后在提取每段音频的特征,进行聚类。但是在销售、回访、催收等场景中,经常会存在着大量的场景音,
聚类算法又存在极易受异常点干扰(噪音、汽车喇叭等)的问题,同时客服、客户的情绪波动也导致无法做到精确的说话人分离。
[0017] 为了能够实现自动化的说话人分离,并且降低异常点对说话人分离的干扰,本发明实施例对提供一种单声道说话人分离模型、训练方法和分离方法。
[0018] 以下结合附图,详细说明本发明中各实施例提供的技术方案。
[0019] 第一方面,本发明实施例提供一种单声道说话人分离模型,如附图1所示,包括:ResCNN(深度残差网络),所述ResCNN(深度残差网络)包括8个ResBlock(残差块)2,每个ResBlock(残差块)2包含四个卷积核为3×3、步长为2的卷积层,每个ResBlock(残差块)2之前包括一个卷积核为5×5、步长为4的卷积层。
[0020] 可以理解,在ResCNN(深度残差网络)中,ResCNN(深度残差网络)的首尾分别对应有ResCNN(深度残差网络)的input(输入)层1和output(输出)层3。
[0021] 在ResCNN(深度残差网络)中,ResBlock(残差块)2作为ResCNN(深度残差网络)的基本组成部分,每个ResBlock(残差块)2包含四个卷积核为3×3、步长为2的卷积层,每个ResBlock(残差块)2的实际输出H(x)=f(x)+x,其中H(x)为每个ResBlock(残差块)2的实际输出,f(x)为等于输入x经过ResBlock(残差块)2卷积层的输出,x为ResBlock(残差块)2的输入。
[0022] 第二方面,本发明实施例提供一种单声道说话人分离模型的训练方法,如附图2所示,所述方法包括:S101、获取说话人的至少一句话作为锚样本,获取同一说话人的至少另一句话作为正样本,获取不同说话人与锚样本相同的至少一句话作为负样本;
S102、单声道说话人分离模型的每个卷积层之间在序列维度上使用Batch
Normalization(批数据归一化),将裁剪修正线性函数作为卷积层的非线性映射;
S103、利用所述锚样本、正样本和负样本训练单声道说话人分离模型,输出所述锚样本、正样本和负样本对应的embedding(集合);
S104、所述正样本、锚样本对应的embedding之间的余弦相似度作为第一距离,所述负样本、锚样本对应的embedding之间的余弦相似度作为第二距离;
S105、利用所述第一距离和第二距离优化模型参数。
[0023] 针对步骤S105,优化模型参数目标为输入正样本和锚样本时,优化模型参数不断减小正样本、锚样本对应的embedding之间的余弦相似度,当输入负样本和锚样本时,优化模型参数不断增加负样本、锚样本对应的embedding之间的余弦相似度。
[0024] 第三方面,本发明实施例提供一种基于单声道说话人分离模型的单声道说话人分离方法,如附图3所示,所述方法包括:S201、获取包含第一说话人和第二说话人的音频;
一般性地,将未知用户作为第一说话人,将已知用户例如客服、催收员、营销员作为第二说话人。
[0025] S202、分割所述音频获得至少一份分割音频;针对步骤S202,将音频按照时长0.5ms的时域进行分割,获得至少一份分割音频。
[0026] S203、输入所述至少一份分割音频至单声道说话人分离模型,获得所述至少一份分割音频对应的至少一份第一embedding;针对步骤S203,将分割音频后获得的分割音频依次输入至单声道说话人分离模型,获得输出的embedding,将上述embedding记为第一embedding,第一embedding的数量与分割音频的数量相等。
[0027] S204、输入预先录制的仅包括第二说话人的音频至单声道说话人分离模型,获得所述仅包括第二说话人的音频对应的第二embedding;针对步骤S204,第二说话人一般是已知的客服、催收员、营销员等,将第二说话人的声音预先进行录制,将录制的音频输入至单声道说话人分离模型获得输出的embedding,将该embedding记为第二embedding,第二说话人对应的第二embedding一般只存在一份。
[0028] S205、判断所述至少一份第一embedding和第二embedding的余弦相似度是否小于预设阈值,如果是,所述至少一份分割音频为第一说话人音频,如果否,所述至少一份分割音频为第二说话人音频。
[0029] 针对步骤S205,将获得的至少一份第一embedding和第二embedding进行余弦相似度比较,判断余弦相似度是否小于预设阈值,如果是,判断至少一份第一embedding对应的至少一份分割音频为第一说话人音频,如果否,判断至少一份第一embedding对应的至少一份分割音频为第二说话人音频。
[0030] 当获得多份分割音频对应的多份第一embedding,根据获得的多份分割音频次序将对应的多份第一embedding与第二embedding进行余弦相似度比较判断,将多份分割音频根据判断结果归类为第一说话人音频或第二说话人音频。
[0031] 步骤S205中方法还包括:根据获得第一说话人音频的顺序将第一说话人音频重新组合,获得完整的第一说话人语音片段,根据获得第二说话人音频的顺序将第二说话人音频重新组合,获得完整的第二说话人语音片段。
[0032] 上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,这些均属于本发明的保护范围之内。