基于有监督学习的说话人分割方法、终端设备及存储介质与流程



1.本发明涉及音频识别领域,尤其涉及一种基于有监督学习的说话人分割方法、终端设备及存储介质。


背景技术:



2.随着科学技术的不断发展,电话已成为人们日常生活中必不可少的通信工具,人们通过电话能够很方便的进行交流沟通,电话通话所产生的音频数据也在不断的增加。由于传统电话产生的音频数据是单声道的,也就是通话双方的语音是混合在同一个音频当中的,从而无法单独对其中一个人的语音进行处理。
3.近年来,研究人员开始研究关于电话音频的说话人分割与聚类,电话音频的说话人分割与聚类就是将一段含有两个说话人声音的电话音频切分成多个小的音频片段,然后通过深度学习技术提取各片段的说话人声纹特征信息,然后将同一个说话人的音频片段聚合在一起,从而实现将同一个音频当中的多个说话人的语音分离。
4.传统的说话人角分割与聚类是基于无监督的分类算法,例如k-means、谱聚类、高斯混合模型等,但是无监督的分类方法存在泛化能力差、误分类等问题。


技术实现要素:



5.为了解决上述问题,本发明提出了一种基于有监督学习的说话人分割方法、终端设备及存储介质。
6.具体方案如下:
7.一种基于有监督学习的说话人分割方法,包括以下步骤:
8.s1:采集多条多人通话音频,并对每条音频进行预处理和切分后,组成训练集,其中预处理用于剔除音频中的非人声部分;
9.s2:对切分后的各子音频片段进行特征提取,根据提取的特征完成对训练集中各子音频片段对应的说话人角的标注;
10.s3:构建用于说话人角识别的深度学习网络模型,并通过标注后的训练集对深度学习网络模型进行训练;
11.s4:将待分割的多人通话音频进行预处理和切分,并对切分后的每个子音频片段进行特征提取,将特征提取后的结果输入训练后的深度学习网络模型后,输出该多人通话音频包含的各子音频片段对应的说话人角。
12.进一步的,步骤s1中预处理的方法为:通过滑窗的方式,判断每个窗口内音频能量的平均值是否超过设定的阈值,如果超过,则判定当前窗口对应的音频为人声部分,否则,则判定当前窗口对应的音频为非人声部分。
13.进一步的,步骤s1中在切分时,将所有音频切分为固定长度的子音频片段,且相邻两个子音频片段之间有重叠部分。
14.进一步的,步骤s2中的提取的特征为能够代表说话人角的声纹特征。
15.进一步的,步骤s3构建的深度学习网络模型中网络结构包括3层rnn循环神经网络、一层全连接网络和一个sigmod激活函数。
16.一种基于有监督学习的说话人分割终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例上述的方法的步骤。
17.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述的方法的步骤。
18.本发明采用如上技术方案,在将多人通话音频中的各个子音频片段进行说话人角分类的过程中,采用有监督学习的方式,提高了模型的场景适应能力,可以通过特定场景下的数据进行训练优化,从而让模型适应该场景的数据。
附图说明
19.图1所示为本发明实施例一的流程图。
具体实施方式
20.为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
21.现结合附图和具体实施方式对本发明进一步说明。
22.实施例一:
23.本发明实施例提供了一种基于有监督学习的说话人分割方法,如图1所示,所述方法包括以下步骤:
24.s1:采集多条多人通话音频,并对每条音频进行预处理和切分后,组成训练集,其中预处理用于剔除音频中的非人声部分。
25.该实施例中采集的多人通话音频为电话场景下的客户与客服对话的音频,通过电话呼叫保存的历史语音数据进行采集。具体的,该实施例中采集了10k条的电话音频,平均每条音频的时长为2分钟,所有音频均为双声道音频,即其中一个声道为客服的语音音频、另一个声道为客户的语音音频。
26.该实施例中预处理为通过基于能量的有效音检测算法来剔除音频中的非人声部分。具体方法为:通过滑窗的方式,判断每个窗口内音频能量的平均值是否超过设定的阈值,如果超过,则判定当前窗口对应的音频为人声部分,否则,则判定当前窗口对应的音频为非人声部分。该实施例中设定窗口大小为1024,单位为样本点,设定的阈值为100,当窗口能量平均值大于100时,判定当前音频部分开始出现人声,并持续判断接下来的窗口,当窗口能量平均值逐渐降低并小于100时,则判定当前音频的人声结束。通过该步骤,完成了有效音的检测。
27.该实施例中优选将所有音频均切分为固定长度的子音频片段,在具体实施过程中,将子音频片段设置为0.5s,且相邻两个子音频片段之间有50%的重叠部分。
28.s2:对切分后的各子音频片段进行特征提取,根据提取的特征完成对训练集中各子音频片段对应的说话人角的标注。
29.该实施例中采用基于语音的声纹特征作为子音频片段的待提取特征。声纹特征为通过向量的形式表示说话人的角信息,又称为d-vector向量。
30.该实施例中通过构建特征提取网络提取子音频片段的声纹特征。特征提取网络的输入为一个子音频片段,输出为该子音频片段对应的代表说话人角的声纹特征。
31.该实施例中输出的声纹特征为256维的d-vector向量,将每条音频对应的所有子音频片段的d-vector向量拼接起来组成一个矩阵,每条音频对应一个矩阵,该矩阵的横轴为时间,纵轴为声纹向量维度(即256维)。该实施例中有10k条音频,因此得到了10k个矩阵,即10k个数据,因为后续需要进行有监督的训练,因此还需要将所有的数据进行标签标注,即将每条音频中的每个子音频片段属于哪个说话人标注出来,如一条音频中含有两个说话人时,将其包含的每个子音频片段标注上1或2。以上,完成了对训练集的标注。
32.s3:构建用于说话人角识别的深度学习网络模型,并通过标注后的训练集对深度学习网络模型进行训练。
33.设定xt表示一条音频中的第t个子音频片段对应的声纹向量,则该条音频的声纹向量为x=(x1,x2,

,xt),t表示该条音频中包含的子音频片段的个数。设定yt表示该条音频中的第t个子音频片段所属的说话人角,则该条音频的说话人角组成的标签向量为y=(y,y2,

,yt)。如果一条音频中包含的3个子音频片段分别属于2,3,1号说话人,则对应的标签向量为y=(y1=2,y2=3,y3=1)。如果y=(1,1,2,3,2,2),则说明当前一条音频中分为6个子音频片段,共属于三个说话人,y1=2表示第一个音频片段属于第2个说话人。
34.基于上述的原理,该实施例中设定模型的预测函数为:
[0035][0036]
上述公式为判断声纹向量xt属于几号说话人的概率计算公式,每个子音频片段所属的说话人将会基于前面的(第t-1个)子音频片段所属说话人概率。
[0037]
由于多个子音频片段之间可能存在说话人的转换,因此还需要加入一个说话人角转换向量z=(z1,z1,

,zt),zt∈{0,1},zt=1表示出现了说话人角的转换,zt=0表示未出现说话人角的转换。
[0038]
例如:y=(1,1,2,3,2,2),则z=(0,1,1,1,0),因此,该实施例中将模型的预测函数修改为:
[0039][0040]
通过上述公式,可以实现对说话人角标签的预测。
[0041]
该实施例中模型包括一个3层512个gru单元的rnn循环神经网络,该网络利用了rnn循环神经网络不限制输入矩阵的横轴维度,并且rnn神经网络的gru单元具有记忆功能,能够在计算该时间维度的结果时,同时考虑前后时序的输入和输出结果。
[0042]
rnn循环神经网络通过下式表示:
[0043]mt
=f(h
t
|θ)
[0044]
其中,θ表示网络中神经元gru(gated recurrent unit)的参数,mt表示网络的输
出,用于计算说话人角标签yt的概率,ht表示网络输入的子音频片段,f表示网络的运算过程。
[0045]
其中,
[0046]ht
=gru(x
t

,h
t

|θ),
[0047]
其中,gru表示网络中的神经元,xt’表示在t’时间点上的输入数据x,ht’表示在t’时间点上的gru隐藏层神经元数据h。
[0048]
xt根据x[t-1]和y[t]的值进行计算,即:
[0049][0050]
在3层rnn循环神经网络的后面还设置了一层全连接网络,全连接网络将gru神经元输出的结果转为判断各个说话人身份分数的数值。由于上层rnn循环神经网络为512个gru神经元,则rnn循环神经网络输出结果横轴每个时间单位有512个数值,因此将全连接网络的结构设置为512*2,2表示该音频中有两个说话人角。当音频的横轴时间长度为1000时,该全连接网络的输出结果则为1000*2。
[0051]
最后在全连接网络的后面加一个sigmod激活函数,将全连接网络输出的分数数值转为0-1的概率值。假设1000代表该电话音频有1000个子音频片段,那么每个子音频片段有两个值,第一个值表示该子音频片段属于说话人1的概率,第二个值表示该子音频片段属于说话人2的概率。
[0052]
通过上述网络的构建,可以根据输入的电话音频,得到各个子音频片段属于各说话人角的概率。
[0053]
在对模型进行训练过程中,通过下式对模型中的参数进行优化:
[0054][0055]
其中,xn、yn和zn分别表示第n条音频的声纹向量、标签向量和说话人角转换向量,θ,α,σ2,λ均表示模型中的参数。
[0056]
模型训练过程中的整体优化采用以下公式:
[0057][0058]
其中,x
test
表示输入音频的声纹向量,y表示说话人角标签,y*表示输出的预测说话人角标签,迭代训练结果使得y*与y趋于一致。
[0059]
s4:将待分割的多人通话音频进行预处理和切分,并对切分后的每个子音频片段进行特征提取,将特征提取后的结果输入训练后的深度学习网络模型后,输出该多人通话音频包含的各子音频片段对应的说话人角。
[0060]
该实施例中具体输出结果为0-1的概率值,根据概率值的大小可以判断对应的说话人角。
[0061]
本发明实施例一通过有监督学习的方式,将多人通话音频中的各个子音频片段进行说话人角分类,提高了模型的场景适应能力,可以通过特定场景下的数据进行训练优化,从而让模型适应该场景的数据。
[0062]
实施例二:
[0063]
本发明还提供一种基于有监督学习的说话人分割终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
[0064]
进一步地,作为一个可执行方案,所述基于有监督学习的说话人分割终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于有监督学习的说话人分割终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述基于有监督学习的说话人分割终端设备的组成结构仅仅是基于有监督学习的说话人分割终端设备的示例,并不构成对基于有监督学习的说话人分割终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述基于有监督学习的说话人分割终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
[0065]
进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述基于有监督学习的说话人分割终端设备的控制中心,利用各种接口和线路连接整个基于有监督学习的说话人分割终端设备的各个部分。
[0066]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于有监督学习的说话人分割终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0067]
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
[0068]
所述基于有监督学习的说话人分割终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)以及软件分发介质等。
[0069]
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。

技术特征:


1.一种基于有监督学习的说话人分割方法,其特征在于,包括以下步骤:s1:采集多条多人通话音频,并对每条音频进行预处理和切分后,组成训练集,其中预处理用于剔除音频中的非人声部分;s2:对切分后的各子音频片段进行特征提取,根据提取的特征完成对训练集中各子音频片段对应的说话人角的标注;s3:构建用于说话人角识别的深度学习网络模型,并通过标注后的训练集对深度学习网络模型进行训练;s4:将待分割的多人通话音频进行预处理和切分,并对切分后的每个子音频片段进行特征提取,将特征提取后的结果输入训练后的深度学习网络模型后,输出该多人通话音频包含的各子音频片段对应的说话人角。2.根据权利要求1所述的基于有监督学习的说话人分割方法,其特征在于:步骤s1中预处理的方法为:通过滑窗的方式,判断每个窗口内音频能量的平均值是否超过设定的阈值,如果超过,则判定当前窗口对应的音频为人声部分,否则,则判定当前窗口对应的音频为非人声部分。3.根据权利要求1所述的基于有监督学习的说话人分割方法,其特征在于:步骤s1中在切分时,将所有音频切分为固定长度的子音频片段,且相邻两个子音频片段之间有重叠部分。4.根据权利要求1所述的基于有监督学习的说话人分割方法,其特征在于:步骤s2中的提取的特征为能够代表说话人角的声纹特征。5.根据权利要求1所述的基于有监督学习的说话人分割方法,其特征在于:步骤s3构建的深度学习网络模型中网络结构包括3层rnn循环神经网络、一层全连接网络和一个sigmod激活函数。6.一种基于有监督学习的说话人分割终端设备,其特征在于:包括处理器、存储器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1~5中任一所述方法的步骤。7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1~5中任一所述方法的步骤。

技术总结


本发明涉及基于有监督学习的说话人分割方法、终端设备及存储介质,该方法中包括:S1:采集多条多人通话音频,并对每条音频进行预处理和切分后,组成训练集;S2:对切分后的各子音频片段进行特征提取,根据提取的特征完成对训练集中各子音频片段对应的说话人角的标注;S3:构建用于说话人角识别的深度学习网络模型,并通过标注后的训练集对深度学习网络模型进行训练;S4:将待分割的多人通话音频进行预处理和切分后,对每个子音频片段进行特征提取,特征提取结果输入训练后的深度学习网络模型后,输出该多人通话音频包含的各子音频片段对应的说话人角。本发明采用有监督学习的方式,提高了模型的场景适应能力,可进行特定场景下的训练优化。景下的训练优化。景下的训练优化。


技术研发人员:

曾志先

受保护的技术使用者:

厦门快商通科技股份有限公司

技术研发日:

2021.04.14

技术公布日:

2022/10/17

本文发布于:2024-09-21 14:48:46,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/25103.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:音频   说话   片段   所述
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议