平码五不中公式规律
  • / 24
  • 下载费用:30 金币  

基于语音的角色分离方法及装置.pdf

关 键 ?#21097;?/dt>
基于 语音 角色 分离 方法 装置
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201510744743.4

申请日:

2015.11.05

公开号:

CN106683661A

公开日:

2017.05.17

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G10L 15/02申请日:20151105|||公开
IPC分类号: G10L15/02; G10L15/14; G10L15/18(2013.01)I; G10L17/00(2013.01)I 主分类号: G10L15/02
申请人: 阿里巴?#22270;?#22242;控股有限公司
发明人: 李晓辉; 李宏言
地址: 英属开曼群岛大开曼资本大厦一座四层847号邮箱
优?#28909;ǎ?/td>
专利代理机构: ?#26412;?#24066;清华源律师事务所 11441 代理人: 沈泳;李赞坚
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201510744743.4

授权公告号:

|||

法律状态公告日:

2017.06.09|||2017.05.17

法律状态类型:

实质审查的生效|||公开

摘要

本申请公开了一种基于语音的角色分离方法,包括:从语音信号中逐帧提取特征矢量,得到特征矢量序列;为特征矢量分配角色标签;利用具有角色标签的特征矢量训练深度神经网络DNN模型;根据所述DNN模型和利用特征矢量训练得到的隐马尔科夫模型HMM,判定特征矢量序列对应的角色序列,并输出角色分离结果;其中,所述DNN模型用于根据输入的特征矢量输出对应每个角色的概率,HMM用于描述角色间的跳转关系。本申请同时提供一种基于语音的角色分离装置。本申请提供的上述方法,由于采用了具有强大特征提取能力的DNN模型对说话人角色进行建模,比传统的GMM具有更为强大的刻画能力,对角色的刻画更加精细、准确,因此能够获得更为准确的角色分离结果。

权利要求书

1.一种基于语音的角色分离方法,其特征在于,包括:
从语音信号中逐帧提取特征矢量,得到特征矢量序列;
为特征矢量分配角色标签;
利用具有角色标签的特征矢量训练深度神经网络DNN模型;
根据所述DNN模型和利用特征矢量训练得到的隐马尔科夫模型HMM,判
定特征矢量序列对应的角色序列,并输出角色分离结果;
其中,所述DNN模型用于根据输入的特征矢量输出对应每个角色的概率,
HMM用于描述角色间的跳转关系。
2.根据权利要求1所述的基于语音的角色分离方法,其特征在于,在所述
从语音信号中逐帧提取特征矢量的步骤之后、在所述为特征矢量分配角色标签
的步骤之前,执行下述操作?#21644;?#36807;识别并剔除不包含语音内容的音频帧、将所
述语音信号切分为语音段;
所述为特征矢量分配角色标签包括:为各语音段中的特征矢量分配角色标
签;所述判定特征矢量序列对应的角色序列包括?#21495;?#23450;各语音段所包含的特征
矢量序列对应的角色序列。
3.根据权利要求2所述的基于语音的角色分离方法,其特征在于,所述为
各语音段中的特征矢量分配角色标签包括?#21644;?#36807;建立高?#22815;?#21512;模型GMM和
HMM,为各语音段中的特征矢量分配角色标签;其中所述GMM用于针对每个
角色、根据输入的特征矢量输出该特征矢量对应于所述角色的概率;
所述根据所述DNN模型和利用特征矢量训练得到的HMM,判定各语音段
所包含的特征矢量序列对应的角色序列包括:根据所述DNN模型和为各语音段
中的特征矢量分配角色标签所采用的HMM,判定所述各语音段所包含的特征矢
量序列对应的角色序列。
4.根据权利要求3所述的基于语音的角色分离方法,其特征在于,所述通
过建立高?#22815;?#21512;模型GMM和HMM,为各语音段中的特征矢量分配角色标签,
包括:
按照预设的初始角色数量选择相应数量的语音段,并为每个语音段分别指
定不同角色;
利用指定角色的语音段中的特征矢量,训练针对每个角色的GMM以及
HMM;
根据训练得到的GMM和HMM进行解码,获取输出各语音段所包含的特
征矢量序列的概率值排序靠前的角色序列;
判断所述角色序列对应的概率值是否大于预设阈值;若是,按照所述角色
序列为各语音段中的特征矢量分配角色标签。
5.根据权利要求4所述的基于语音的角色分离方法,其特征在于,当所述
判断所述角色序列对应的概率值是否大于预设阈值的结果为否时,执行下述操
作:
根据所述角色序列,为每个语音段指定对应的角色;
根据每个语音段中的特征矢量以及对应的角色,训练针对每个角色的GMM
以及HMM;
转到所述根据训练得到的GMM和HMM进行解码的步骤执行。
6.根据权利要求5所述的基于语音的角色分离方法,其特征在于,所述根
据所述角色序列,为每个语音段指定对应的角色,包括:
针对每个语音段,将其中各特征矢量对应的角色的众数指定为所述语音段
的角色。
7.根据权利要求5所述的基于语音的角色分离方法,其特征在于,所述根
据每个语音段中的特征矢量以及对应的角色,训练针对每个角色的GMM以及
HMM,包括:在上一次训练得到的模型基础上采用增量方式训练所述GMM以
及HMM。
8.根据权利要求5所述的基于语音的角色分离方法,其特征在于,当所述
判断所述角色序列对应的概率值是否大于预设阈值的结果为否时,执行下述操
作:
判断在当前角色数量下训练GMM和HMM的次数是否小于预设的训练次
数上限;
若是,执行所述根据所述角色序列为每个语音段指定对应的角色的步骤;
若否,执行下述操作:
调整角色数量,选择相应数量的语音段并为每个语音段分别指定不同角色;
并转到所述利用指定角色的语音段中的特征矢量,训练针对每个角色的
GMM以及HMM的步骤执行。
9.根据权利要求8所述的基于语音的角色分离方法,其特征在于,当所述
判断在当前角色数量下训练GMM和HMM的次数是否小于预设的训练次数上
限的结果为否时,执行下述操作:
判?#31995;?#21069;角色数量是否符合预设要求;若是,转到所述按照所述角色序列
为各语音段中的特征矢量分配角色标签的步骤执行,若否,则执行所述调整角
色数量的步骤。
10.根据权利要求8所述的基于语音的角色分离方法,其特征在于,所述
预设的初始角色数量为2,所述调整角色数量包括:为当前角色数量加1。
11.根据权利要求1所述的基于语音的角色分离方法,其特征在于,所述从
语音信号中逐帧提取特征矢量,得到特征矢量序列包括:
按照预先设定的帧长度对语音信号进行分帧处理,得到多个音频帧;
提取各音频帧的特征矢量,得到所述特征矢量序列。
12.根据权利要求11所述的基于语音的角色分离方法,其特征在于,所述
提取各音频帧的特征矢量包括:提取MFCC特征、PLP特征、或者LPC特征。
13.根据权利要求2所述的基于语音的角色分离方法,其特征在于,所述
识别并剔除不包含语音内容的音频帧包括:采用VAD技术识别所述不包含语音
内容的音频帧、并执行相应的剔除操作。
14.根据权利要求13所述的基于语音的角色分离方法,其特征在于,在采
用VAD技术执行所述识别及剔除操作、并将所述语音信号切分为语音段之后,
执行下述VAD?#20132;?#25805;作:
将时长小于预设阈值的语音段与相邻语音段合并。
15.根据权利要求1所述的基于语音的角色分离方法,其特征在于,所述
利用具有角色标签的特征矢量训练深度神经网络DNN模型包括:采用反向传播
算法训练所述DNN模型。
16.根据权利要求1所述的基于语音的角色分离方法,其特征在于,所述
根据所述DNN模型和利用特征矢量训练得到的隐马尔科夫模型HMM,判定特
征矢量序列对应的角色序列,包括:根据所述DNN模型和HMM执行解码操作,
获取输出所述特征矢量序列的概率值排序靠前的角色序列,并将所述角色序列
作为与所述特征矢量序列对应的角色序列。
17.根据权利要求1所述的基于语音的角色分离方法,其特征在于,所述
输出角色分离结果包括:根据特征矢量序列对应的角色序列,针对每个角色输
出与其对应的特征矢量所属音频帧的起止时间信息。
18.根据权利要求4或8所述的基于语音的角色分离方法,其特征在于,
所述选择相应数量的语音段,包括:选择时长满足预设要求的、所述数量的语
音段。
19.一种基于语音的角色分离装置,其特征在于,包括:
特征提取单元,用于从语音信号中逐帧提取特征矢量,得到特征矢量序列;
标签分配单元,用于为特征矢量分配角色标签;
DNN模型训练单元,用于利用具有角色标签的特征矢量训练DNN模型,
其中所述DNN模型用于根据输入的特征矢量输出对应每个角色的概率;
角色判定单元,用于根据所述DNN模型和利用特征矢量训练得到的HMM,
判定特征矢量序列对应的角色序列并输出角色分离结果,其中所述HMM用于
描述角色间的跳转关系。
20.根据权利要求19所述的基于语音的角色分离装置,其特征在于,还包
括:
语音段切分单元,用于在所述特征提取单元提取特征矢量后、在触发所述
标签分配单元工作之前,通过识别并剔除不包含语音内容的音频帧、将所述语
音信号切分为语音段;
所述标签分配单元具体用于,为各语音段中的特征矢量分配角色标签;
所述角色判定单元具体用于,根据所述DNN模型和利用特征矢量训练得到
的HMM,判定各语音段所包含的特征矢量序列对应的角色序列并输出角色分离
结果。
21.根据权利要求20所述的基于语音的角色分离装置,其特征在于,所述
标签分配单元具体用于,通过建立GMM和HMM,为各语音段中的特征矢量分
配角色标签,其中所述GMM用于针对每个角色、根据输入的特征矢量输出该
特征矢量对应于所述角色的概率;
所述角色判定单元具体用于,根据所述DNN模型和为各语音段中的特征矢
量分配角色标签所采用的HMM,判定所述各语音段所包含的特征矢量序列对应
的角色序列。
22.根据权利要求21所述的基于语音的角色分离装置,其特征在于,所述
标签分配单元包括:
初始角色指定子单元,用于按照预设的初始角色数量选择相应数量的语音
段,并为每个语音段分别指定不同角色;
初始模型训练子单元,用于利用指定角色的语音段中的特征矢量,训练针
对每个角色的GMM以及HMM;
解码子单元,用于根据训练得到的GMM和HMM进行解码,获取输出各
语音段所包含的特征矢量序列的概率值排序靠前的角色序列;
概率判断子单元,用于判断所述角色序列对应的概率值是否大于预设阈值;
标签分配子单元,用于当所述概率判断子单元的输出为是时,按照所述角
色序列为各语音段中的特征矢量分配角色标签。
23.根据权利要求22所述的基于语音的角色分离装置,其特征在于,所述
标签分配单元还包括:
逐语音段角色指定子单元,用于当所述概率判断子单元的输出为否时,根
据所述角色序列,为每个语音段指定对应的角色;
模型更新训练子单元,用于根据每个语音段中的特征矢量以及对应的角色,
训练针对每个角色的GMM以及HMM,并触发所述解码子单元工作。
24.根据权利要求23所述的基于语音的角色分离装置,其特征在于,所述
逐语音段角色指定子单元具体用于,针对每个语音段,将其中各特征矢量对应
的角色的众数指定为所述语音段的角色。
25.根据权利要求23所述的基于语音的角色分离装置,其特征在于,所述
模型更新训练子单元具体用于,在上一次训练得到的模型基础上采用增量方式
训练所述GMM以及HMM。
26.根据权利要求23所述的基于语音的角色分离装置,其特征在于,所述
标签分配单元还包括:
训练次数判断子单元,用于当所述概率判断子单元的输出为否时,判断在
当前角色数量下训练GMM和HMM的次数是否小于预设的训练次数上限,并
在判断结果为是时,触发所述逐语音段角色指定子单元工作。
角色数量调整子单元,用于当所述训练次数判断子单元的输出为否时,调
整角色数量,选择相应数量的语音段并为每个语音段分别指定不同角色,并触
发所述初始模型训练子单元工作。
27.根据权利要求26所述的基于语音的角色分离装置,其特征在于,所述
标签分配单元还包括:
角色数量判断子单元,用于当所述训练次数判断子单元的输出为否时,判
?#31995;?#21069;角色数量是否符合预设要求,若符合则触发所述标签分配子单元工作,
否则触发所述角色数量调整子单元工作。
28.根据权利要求19所述的基于语音的角色分离装置,其特征在于,所述
特征提取单元包括:
分帧子单元,用于按照预先设定的帧长度对语音信号进行分帧处理,得到
多个音频帧;
特征提取执行子单元,用于提取各音频帧的特征矢量,得到所述特征矢量
序列。
29.根据权利要求28所述的基于语音的角色分离装置,其特征在于,所述
特征提取执行子单元具体用于,提取各音频帧的MFCC特征、PLP特征、或者
LPC特征,得到所述特征矢量序列。
30.根据权利要求20所述的基于语音的角色分离装置,其特征在于,所述
语音段切分单元具体用于,通过采用VAD技术识别并剔除所述不包含语音内容
的音频帧、将所述语音信号切分为语音段。
31.根据权利要求30所述的基于语音的角色分离装置,其特征在于,还包
括:
VAD?#20132;?#21333;元,用于在所述语音段切分单元采用VAD技术切分语音段后,
将时长小于预设阈值的语音段与相邻语音段合并。
32.根据权利要求19所述的基于语音的角色分离装置,其特征在于,所述
DNN模型训练单元具体用于,采用反向传播算法训练所述DNN模型。
33.根据权利要求19所述的基于语音的角色分离装置,其特征在于,所述
角色判定单元具体用于,根据所述DNN模型和HMM执行解码操作,获取输出
所述特征矢量序列的概率值排序靠前的角色序列,并将所述角色序列作为与所
述特征矢量序列对应的角色序列。
34.根据权利要求19所述的基于语音的角色分离装置,其特征在于,所述
角色判定单元采用如下方式输出角色分离结果:根据特征矢量序列对应的角色
序列,针对每个角色输出与其对应的特征矢量所属音频帧的起止时间信息。
35.根据权利要求22或26所述的基于语音的角色分离装置,其特征在于,
所述初始角色指定子单元或所述角色数量调整子单元具体通过如下方式选择相
应数量的语音段:选择时长满足预设要求的、所述数量的语音段。

?#24471;?#20070;

基于语音的角色分离方法及装置

技术领域

本申请涉及语音识别领域,具体涉及一种基于语音的角色分离方法。本申
请同时涉及一种基于语音的角色分离装置。

背景技术

语音是人类最自然的交流沟通方式,语音识别技术则是让机器通过识别和
理解过程把语音信号转变为相应的文本或命令的技术。语音识别是一门交叉学
科,所涉及的领域包括:信号处理、模式识别、概率论和信息论、发声机理和
听觉机理、人工智能等?#21462;?br />

在实际应用中,为了能够对语音信号作更为准确的分析,不仅需要进行语
音识别,而且要判别出每段语音的说话人,因此很自然地出现了对语音按照角
色进行分离的需求。在日常生活、会议以及电话对话?#32676;?#22810;场景下,?#21363;?#22312;对
话语音,而通过对对话语音的角色分离,就可以判定哪部分语音是其中一个人
说的,哪部分语音是另外一个人说的。在将对话语音按照角色分离之后,结合
说话人识别、语音识别,会产生更为广阔的应用空间,例如,将客服中心的对
话语音按照角色分离,然后进行语音识别就可以确定客服说了什么内容,客户
说了什么内容,从而可以进行相应的客服质检或者进行客户潜在需求的挖掘。

现有技术中,通常采用GMM(Gaussian Mixture Model—高?#22815;?#21512;模型)和
HMM(Hidden Markov Model—隐马尔科夫模型)进行对话语音的角色分离,即:
对于每个角色使用GMM建模,对于不同角色之间的跳转采用HMM建模。由
于GMM建模技术提出的时间比较早,而且其拟?#20808;我?#20989;数的功能取决于混合
高斯函数的个数,所以其对角色的刻画能力有一定的局限性,导致角色分离的
准确率通常比?#31995;停?#26080;法满足应用的需求。

发明内容

本申请实施例提供一种基于语音的角色分离方法和装置,以解决现有的基
于GMM和HMM的角色分离技术准确率比?#31995;?#30340;问题。

本申请提供一种基于语音的角色分离方法,包括:

从语音信号中逐帧提取特征矢量,得到特征矢量序列;

为特征矢量分配角色标签;

利用具有角色标签的特征矢量训练深度神经网络DNN模型;

根据所述DNN模型和利用特征矢量训练得到的隐马尔科夫模型HMM,判
定特征矢量序列对应的角色序列,并输出角色分离结果;

其中,所述DNN模型用于根据输入的特征矢量输出对应每个角色的概率,
HMM用于描述角色间的跳转关系。

可选的,在所述从语音信号中逐帧提取特征矢量的步骤之后、在所述为特
征矢量分配角色标签的步骤之前,执行下述操作?#21644;?#36807;识别并剔除不包含语音
内容的音频帧、将所述语音信号切分为语音段;

所述为特征矢量分配角色标签包括:为各语音段中的特征矢量分配角色标
签;所述判定特征矢量序列对应的角色序列包括?#21495;?#23450;各语音段所包含的特征
矢量序列对应的角色序列。

可选的,所述为各语音段中的特征矢量分配角色标签包括?#21644;?#36807;建立高斯
混合模型GMM和HMM,为各语音段中的特征矢量分配角色标签;其中所述
GMM用于针对每个角色、根据输入的特征矢量输出该特征矢量对应于所述角色
的概率;

所述根据所述DNN模型和利用特征矢量训练得到的HMM,判定各语音段
所包含的特征矢量序列对应的角色序列包括:根据所述DNN模型和为各语音段
中的特征矢量分配角色标签所采用的HMM,判定所述各语音段所包含的特征矢
量序列对应的角色序列。

可选的,所述通过建立高?#22815;?#21512;模型GMM和HMM,为各语音段中的特征
矢量分配角色标签,包括:

按照预设的初始角色数量选择相应数量的语音段,并为每个语音段分别指
定不同角色;

利用指定角色的语音段中的特征矢量,训练针对每个角色的GMM以及
HMM;

根据训练得到的GMM和HMM进行解码,获取输出各语音段所包含的特
征矢量序列的概率值排序靠前的角色序列;

判断所述角色序列对应的概率值是否大于预设阈值;若是,按照所述角色
序列为各语音段中的特征矢量分配角色标签。

可选的,当所述判断所述角色序列对应的概率值是否大于预设阈值的结果
为否时,执行下述操作:

根据所述角色序列,为每个语音段指定对应的角色;

根据每个语音段中的特征矢量以及对应的角色,训练针对每个角色的GMM
以及HMM;

转到所述根据训练得到的GMM和HMM进行解码的步骤执行。

可选的,所述根据所述角色序列,为每个语音段指定对应的角色,包括:

针对每个语音段,将其中各特征矢量对应的角色的众数指定为所述语音段
的角色。

可选的,所述根据每个语音段中的特征矢量以及对应的角色,训练针对每
个角色的GMM以及HMM,包括:在上一次训练得到的模型基础上采用增量方
式训练所述GMM以及HMM。

可选的,当所述判断所述角色序列对应的概率值是否大于预设阈值的结果
为否时,执行下述操作:

判断在当前角色数量下训练GMM和HMM的次数是否小于预设的训练次
数上限;

若是,执行所述根据所述角色序列为每个语音段指定对应的角色的步骤;

若否,执行下述操作:

调整角色数量,选择相应数量的语音段并为每个语音段分别指定不同角色;

并转到所述利用指定角色的语音段中的特征矢量,训练针对每个角色的
GMM以及HMM的步骤执行。

可选的,当所述判断在当前角色数量下训练GMM和HMM的次数是否小
于预设的训练次数上限的结果为否时,执行下述操作:

判?#31995;?#21069;角色数量是否符合预设要求;若是,转到所述按照所述角色序列
为各语音段中的特征矢量分配角色标签的步骤执行,若否,则执行所述调整角
色数量的步骤。

可选的,所述预设的初始角色数量为2,所述调整角色数量包括:为当前角
色数量加1。

可选的,所述从语音信号中逐帧提取特征矢量,得到特征矢量序列包括:

按照预先设定的帧长度对语音信号进行分帧处理,得到多个音频帧;

提取各音频帧的特征矢量,得到所述特征矢量序列。

可选的,所述提取各音频帧的特征矢量包括:提取MFCC特征、PLP特征、
或者LPC特征。

可选的,所述识别并剔除不包含语音内容的音频帧包括:采用VAD技术识
别所述不包含语音内容的音频帧、并执行相应的剔除操作。

可选的,在采用VAD技术执行所述识别及剔除操作、并将所述语音信号切
分为语音段之后,执行下述VAD?#20132;?#25805;作:

将时长小于预设阈值的语音段与相邻语音段合并。

可选的,所述利用具有角色标签的特征矢量训练深度神经网络DNN模型包
括:采用反向传播算法训练所述DNN模型。

可选的,所述根据所述DNN模型和利用特征矢量训练得到的隐马尔科夫模
型HMM,判定特征矢量序列对应的角色序列,包括:根据所述DNN模型和HMM
执行解码操作,获取输出所述特征矢量序列的概率值排序靠前的角色序列,并
将所述角色序列作为与所述特征矢量序列对应的角色序列。

可选的,所述输出角色分离结果包括:根据特征矢量序列对应的角色序列,
针对每个角色输出与其对应的特征矢量所属音频帧的起止时间信息。

可选的,所述选择相应数量的语音段,包括:选择时长满足预设要求的、
所述数量的语音段。

相应的,本申请还提供一种基于语音的角色分离装置,包括:

特征提取单元,用于从语音信号中逐帧提取特征矢量,得到特征矢量序列;

标签分配单元,用于为特征矢量分配角色标签;

DNN模型训练单元,用于利用具有角色标签的特征矢量训练DNN模型,
其中所述DNN模型用于根据输入的特征矢量输出对应每个角色的概率;

角色判定单元,用于根据所述DNN模型和利用特征矢量训练得到的HMM,
判定特征矢量序列对应的角色序列并输出角色分离结果,其中所述HMM用于
描述角色间的跳转关系。

可选的,所述装置还包括:

语音段切分单元,用于在所述特征提取单元提取特征矢量后、在触发所述
标签分配单元工作之前,通过识别并剔除不包含语音内容的音频帧、将所述语
音信号切分为语音段;

所述标签分配单元具体用于,为各语音段中的特征矢量分配角色标签;

所述角色判定单元具体用于,根据所述DNN模型和利用特征矢量训练得到
的HMM,判定各语音段所包含的特征矢量序列对应的角色序列并输出角色分离
结果。

可选的,所述标签分配单元具体用于,通过建立GMM和HMM,为各语音
段中的特征矢量分配角色标签,其中所述GMM用于针对每个角色、根据输入
的特征矢量输出该特征矢量对应于所述角色的概率;

所述角色判定单元具体用于,根据所述DNN模型和为各语音段中的特征矢
量分配角色标签所采用的HMM,判定所述各语音段所包含的特征矢量序列对应
的角色序列。

可选的,所述标签分配单元包括:

初始角色指定子单元,用于按照预设的初始角色数量选择相应数量的语音
段,并为每个语音段分别指定不同角色;

初始模型训练子单元,用于利用指定角色的语音段中的特征矢量,训练针
对每个角色的GMM以及HMM;

解码子单元,用于根据训练得到的GMM和HMM进行解码,获取输出各
语音段所包含的特征矢量序列的概率值排序靠前的角色序列;

概率判断子单元,用于判断所述角色序列对应的概率值是否大于预设阈值;

标签分配子单元,用于当所述概率判断子单元的输出为是时,按照所述角
色序列为各语音段中的特征矢量分配角色标签。

可选的,所述标签分配单元还包括:

逐语音段角色指定子单元,用于当所述概率判断子单元的输出为否时,根
据所述角色序列,为每个语音段指定对应的角色;

模型更新训练子单元,用于根据每个语音段中的特征矢量以及对应的角色,
训练针对每个角色的GMM以及HMM,并触发所述解码子单元工作。

可选的,所述逐语音段角色指定子单元具体用于,针对每个语音段,将其
中各特征矢量对应的角色的众数指定为所述语音段的角色。

可选的,所述模型更新训练子单元具体用于,在上一次训练得到的模型基
础上采用增量方式训练所述GMM以及HMM。

可选的,所述标签分配单元还包括:

训练次数判断子单元,用于当所述概率判断子单元的输出为否时,判断在
当前角色数量下训练GMM和HMM的次数是否小于预设的训练次数上限,并
在判断结果为是时,触发所述逐语音段角色指定子单元工作。

角色数量调整子单元,用于当所述训练次数判断子单元的输出为否时,调
整角色数量,选择相应数量的语音段并为每个语音段分别指定不同角色,并触
发所述初始模型训练子单元工作。

可选的,所述标签分配单元还包括:

角色数量判断子单元,用于当所述训练次数判断子单元的输出为否时,判
?#31995;?#21069;角色数量是否符合预设要求,若符合则触发所述标签分配子单元工作,
否则触发所述角色数量调整子单元工作。

可选的,所述特征提取单元包括:

分帧子单元,用于按照预先设定的帧长度对语音信号进行分帧处理,得到
多个音频帧;

特征提取执行子单元,用于提取各音频帧的特征矢量,得到所述特征矢量
序列。

可选的,所述特征提取执行子单元具体用于,提取各音频帧的MFCC特征、
PLP特征、或者LPC特征,得到所述特征矢量序列。

可选的,所述语音段切分单元具体用于,通过采用VAD技术识别并剔除所
述不包含语音内容的音频帧、将所述语音信号切分为语音段。

可选的,所述装置还包括:

VAD?#20132;?#21333;元,用于在所述语音段切分单元采用VAD技术切分语音段后,
将时长小于预设阈值的语音段与相邻语音段合并。

可选的,所述DNN模型训练单元具体用于,采用反向传播算法训练所述
DNN模型。

可选的,所述角色判定单元具体用于,根据所述DNN模型和HMM执行解
码操作,获取输出所述特征矢量序列的概率值排序靠前的角色序列,并将所述
角色序列作为与所述特征矢量序列对应的角色序列。

可选的,所述角色判定单元采用如下方式输出角色分离结果:根据特征矢
量序列对应的角色序列,针对每个角色输出与其对应的特征矢量所属音频帧的
起止时间信息。

可选的,所述初始角色指定子单元或所述角色数量调整子单元具体通过如
下方式选择相应数量的语音段:选择时长满足预设要求的、所述数量的语音段。

与现有技术相比,本申请具有以下优点:

本申请提供的基于语音的角色分离方法,首先从语音信号中逐帧提取特征
矢量序列,然后在为特征矢量分配角色标签的基础上训练DNN模型,并根据所
述DNN模型以及利用特征矢量训练得到的HMM,判定特征矢量序列对应的角
色序列,从而得到角色分离结果。本申请提供的上述方法,由于采用了具有强
大特征提取能力的DNN模型对说话人角色进行建模,比传统的GMM具有更为
强大的刻画能力,对角色的刻画更加精细、准确,因此能够获得更为准确的角
色分离结果。

附图?#24471;?br />

图1是本申请的一种基于语音的角色分离方法的实施例的流程图;

图2是本申请实施例提供的从语音信号中提取特征矢量序列的处理流程图;

图3是本申请实施例提供的利用GMM和HMM为各语音段中的特征矢量
分配角色标签的处理流程图;

图4是本申请实施例提供的语音段划分的示意图;

图5是本申请实施例提供的DNN网络的拓扑结构示意图;

图6是本申请的一种基于语音的角色分离装置的实施例的示意图。

具体实施方式

在下面的描述中阐述了很多具体?#38468;?#20197;便于充分理解本申请。但是,本申
请能够以很多不同于在此描述的其它方式?#35789;?#26045;,本领域技术人员可以在不违
背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的
限制。

在本申请中,分别提供了一种基于语音的角色分离方法,以及一种基于语
音的角色分离装置,在下面的实施例中逐一进行详细?#24471;鰲?#20026;了便于理解,在
对实施例进行描述之前,先对本申请的技术背景、技术方案、以及实施例的撰
写方式作简要?#24471;鰲?br />

现有的应用于语音领域的角色分离技术通常采用GMM(Gaussian mixture
model—高?#22815;?#21512;模型)对角色进行建模、采用HMM(Hidden Markov Model—
隐马尔可夫模型)对角色之间的跳转进行建模。

所述HMM是统计模型,用来描述一个含有隐含未知参数的马尔可夫过程。
隐马尔可夫模型是马尔可夫链的一种,它的状态(称为隐藏状态)不能直接观
察到,但是与可观察到的观测向量是概率相关的,因此,HMM是一个双重随机
过程,包括两个部分:具有状态转移概率的马尔科夫链(通常用转移矩阵A描
述),以及描述隐藏状态与观测向量之间的输出关系的随机过程(通常用混淆矩
阵B描述,其中的每个元素为隐藏状态对应于观测向量的输出概率,也称为发
射概率)。一个具有N个状态的HMM可以用三元组参数λ={π,A,B}表示,其
中为各状态的初始概率。

所述GMM可以简单理解为多个高斯密度函数的叠加,其核心思想是用多
个高斯分布的概率密度函数的组合来描述特征矢量在概率空间的分布状况,采
用该模型可以?#20132;?#22320;近似?#25105;?#24418;状的密度分布。其参数包括:各高斯分布的混
合权重(mixing weight)、均值向量(mean vector)、协方差矩阵(covariance matrix)。

在现有的基于语音的角色分离应用中,通常对每个角色采用GMM建模,
HMM中的状态就是各个角色,观测向量是从语音信号中逐帧提取的特征矢量,
各个状态输出特征矢量的发射概率由GMM决定(根据GMM可以获知混淆矩
阵),而角色分离过程就是利用GMM和HMM确定与特征矢量序列对应的角色
序列的过程。

由于GMM的函数拟合功能受限于所采用的高斯密度函数的个数,其本身
的表达能力存在一定的局限性,导致现有的采用GMM和HMM进行角色分离
的准确率比?#31995;汀?#38024;对这一问题,本申请的技术方案在为各语音帧的特征矢量
预先分配角色标签的基础上,利用深度神经网络(DNN)决定HMM各状态的
发射概率,并根据DNN和HMM判定与特征矢量序列对应的角色序列,由于
DNN具有组?#31995;?#23618;特征形成更加抽象的高层特征的强大能力,可以实现更为精
准的角色刻画,因此能够获取更为准确的角色分离结果。

本申请的技术方案,首先为从语音信号中提取的特征矢量分配角色标签,
此时分配的角色标签通常并不是很准确,但是可以为后续执行有监督的学习过
程提供参考,在此基础上训练得到的DNN模型能够更为准确地刻画角色,从而
使角色分离结果更为准确。在具体实施本申请的技术方案时可以采用基于统计
的算法或者采用分类器等方式,实现所述分配角色标签的功能,在本申请提供
的下述实施例中采用了根据GMM和HMM为特征矢量分配角色标签的实施方
式。

下面,对本申请的实施例进行详细?#24471;鰲?#35831;参考图1,其为本申请的一种基
于语音的角色分离方法的实施例的流程图。所述方法包括如下步骤:

步骤101、从语音信号中逐帧提取特征矢量,得到特征矢量序列。

待进行角色分离的语音信号通常是时域信号,本步骤通过分帧和提取特征
矢量两个处理过程,获取能够表征所述语音信号的特征矢量序列,下面结合附
图2做进一步?#24471;鰲?br />

步骤101-1、按照预先设定的帧长度对语音信号进行分帧处理,得到多个音
频帧。

在具体实施时,可以根据需求预先设定帧长度,例如可以设置为10ms、或
者15ms等,然后根据所述帧长度对时域的语音信号进行逐帧切分,从而将语音
信号切分为多个音频帧。根据所采用的切分策略的不同,相邻音频帧可以不存
在交叠、也可以是有交叠的。

步骤101-2、提取各音频帧的特征矢量,得到所述特征矢量序列。

将时域的语音信号切分为多个音频帧后,可以逐帧提取能够表征语音信号
的特征矢量。由于语音信号在时域上的描述能力相对?#20808;酰?#36890;常可以针对每个
音频帧进行傅里叶变换,然后提取频域特征作为音频帧的特征矢量,例如,可
以提取MFCC(Mel Frequency Cepstrum Coefficient—梅尔频率倒谱系数)特征、
PLP(Perceptual Linear Predictive—感知线性预测)特征、或者LPC(Linear
Predictive Coding—线性预测编码)特征?#21462;?br />

下面以提取某一音频帧的MFCC特征为例,对特征矢量的提取过程作进一
步描述。首先将音频帧的时域信号通过FFT(Fast Fourier Transformation—快速
傅氏变换)得到对应的频谱信息,将所述频谱信息通过Mel滤波器组得到Mel
频谱,在Mel频谱上进?#26800;?#35889;分析,其核心一般是采用DCT(Discrete Cosine
Transform—离散余?#20918;?#25442;)进行逆变换,然后取预设的N个系数(例如N=12
或者38),则得到了所述音频帧的特征矢量:MFCC特征。对每个音频帧都采用
上述方式进行处理,可以得到表征所述语音信号的一系列特征矢量,即本申请
所述的特征矢量序列。

步骤102、为特征矢量分配角色标签。

本实施例通过建立GMM和HMM为特征矢量序列中的特征矢量分配角色
标签。考虑到在一段语音信号中除了包含对应于各角色的语音信号外,可能还
包含没有语音内容的部分,例如:由于倾听、思考等原因造成的静音部分。由
于这些部分不包含角色的信息,为了提高角色分离的准确性,可以预先从语音
信号中识别并剔除这样的音频帧。

基于上述考虑,本实施例在为特征矢量分配角色标签之前先剔除不包含语
音内容的音频帧、并进行语音段的划分,然后在此基础上为各语音段中的特征
矢量分配角色标签,所述分配角色标签包括:进行角色的初始划分,在初始划
分的基础?#31995;?#20195;训练GMM和HMM,如果训练得到的模型不满足预设要求,则
调整角色数量然后重新训练GMM和HMM,直至训练得到的模型满足预设要求,
则根据该模型为各语音段中的特征矢量分配角色标签。下面结合附图3对上述
处理过程进行详细?#24471;鰲?br />

步骤102-1、通过识别并剔除不包含语音内容的音频帧、将所述语音信号切
分为语音段。

现有技术通常采用声学切分方式,即:根据已有的模型从语音信号中分离
出?#28909;紜?#38899;乐段”、“语音段”、“静音段”?#21462;?#36825;种方式需要提前训练好各种音
频段对应的声学模型,?#28909;紜?#38899;乐段”对应的声学模型,基于该声学模型,能
够从语音信号中分离出该声学模型对应的音频段。

优选地,本申请的技术方案可以采用VAD(Voice Activity Detection—语音
活动检测)技术识别不包含语音内容的部分,这样,相对于采用声学切分方式
的技术,可以不需要提前训练不同音频段对应的声学模型,适应性更强。例如,
可以通过计算音频帧的能量特征、过零率等识别音频帧是否为静音帧,对于存
在环境噪声?#20918;?#36739;强的情况下,可以综合采用上述多种手段、或者通过建立噪
声模型进行识别。

识别出不包含语音内容的音频帧后,一方面可以将这部分音频帧从语音信
号中剔除,以提高角色分离的准确性;另一方面通过对不包含语音内容的音频
帧的识别,相当于识别出了每段有效语音(包含语音内容)的起点和终点,因
此可以在此基础上进行语音段的划分。

请参见附图4,其为本实施例提供的语音段划分的示意图,在该图中通过
VAD技术检测出在时间t2与t3之间、以及t4与t5之间的各音频帧为静音帧,本
步骤可以从语音信号中剔除这部分静音帧,并相应划分出3个语音段:位于t1
与t2之间的语音段1(seg1)、位于t3和t4之间的语音段2(seg2)、以及位于t5
和t6之间的语音段3(seg3),每个语音段?#21450;?#21547;若干个音频帧,每个音频帧都
有对应的特征矢量。在划分语音段的基础上,可?#28304;致?#22320;进行角色分配,便于
为后续的训练提供一个合理的起点。

优选的,在采用VAD技术进行上述处理后,还可以执行VAD?#20132;?#25805;作。
这主要是考虑到人类实际发声的情况,真实的语音段的?#20013;?#26102;间不会太短,如
果执行上述VAD操作后,得到的某些语音段的?#20013;?#26102;间小于预先设置的阈值(例
如,语音段长度为30ms,而预先设置的阈值为100ms),则可以将这样的语音段
与相邻语音段合并,形成较长的语音段。进行VAD?#20132;?#22788;理后得到的语音段划
分更接近于真实的情况,有助于提高角色分离的准确性。

本步骤通过VAD技术将语音信号划分成若干个语音段,后续步骤102-2至
102-11的任务则是利用GMM和HMM为各语音段中的特征矢量分配角色标签。

步骤102-2、按照预设的初始角色数量选择相应数量的语音段,并为每个语
音段分别指定不同角色。

本步骤可?#36816;?#26426;地从已经划分好的语音段中选择与初始角色数量相同的语
音段,考虑到所选语音?#25105;?#29992;于进行GMM和HMM的初始训练,如果时长比
较短则可用于训练的数据较少,时长太长则包含一个以上角色的可能性就会增
加,这两种情况都不利于进行初始训练,因此本实施例提供一种优选实施方式,
即:根据初始角色数量选择时长满足预设要求的语音段、并为每个语音段分别
指定不同的角色。

本实施例中预设的初始角色数量为2,预设的选择语音段的要求为:时长在
2s至4s之间,因此本步骤从已经划分好的语音段中选择满足上述要求的2个语
音段,并为每个语音段分别指定不同的角色。仍以图4所示的语音段划分为例,
seg1和seg2各自满足上述的时长要求,因此可以选择seg1和seg2这两个语音
段,并为seg1指定角色1(s1),为seg2指定角色2(s2)。

步骤102-3、利用指定角色的语音段中的特征矢量,训练针对每个角色的
GMM以及HMM。

本步骤根据指定角色的语音段包含的特征矢量,训练针对每个角色的
GMM、以及描述角色间的跳转关系的HMM,本步骤是在特定角色数量下进行
的初始训练。仍以图4所示的语音段划分为例,在初始角色数量下,seg1中包
含的特征矢量用于训练角色1的GMM(gmm1),seg2中包含的特征矢量用于训
练角色2的GMM(gmm2),如果在该角色数量下训练得到的GMM和HMM不
满足要求,则可以调整角色数量并重复转到本步骤,根据调整后的角色数量执
行相应的初始训练。

针对每个角色训练GMM以及HMM的过程,也就是在给定观测序列(即:
各语音段包含的特征矢量序列,也即训练样本)的基础上学习与HMM相关的
各个参数的过程,所述各个参数包括:HMM的转移矩阵A、每个角色对应的
GMM的均值向量、协方差矩阵等参数。在具体实施时可以采用Baum-Welch算
法进行训练,先根据训练样本估计各参数的初始值,根据训练样本和各参数的
初始值,估计在时刻t处于某一状态sj的后验概率γt(sj),然后根据计算得到的
后验概?#30690;?#26032;HMM的各个参数,再根据训练样本和更新后的各参数再次估计
后验概率γt(sj)......,反复迭代执行上述过程,直到找到一组HMM参数使得输出
观测序列的概率最大化。得到满足上述要求的参数后,则在特定角色数量下的
GMM和HMM初始训练完毕。

步骤102-4、根据训练得到的GMM和HMM进行解码,获取输出各语音段
所包含的特征矢量序列的概率值排序靠前的角色序列。

在步骤102-1中已经将语音信号划分为若干个语音段,每个语音段中的每个
音频帧都有对应的特征矢量,共同组成本步骤所述的特征矢量序列。本步骤在
给定所述特征矢量序列、以及已训练好的GMM和HMM的基础上,找到所述
特征矢量序列可能从属的HMM状态序列,即:角色序列。

本步骤完成的功能是通常所述的HMM解码过程,根据所述特征矢量序列,
搜索输出该特征矢量序列的概率值排序靠前的角色序列,作为优选实施方式,
通常可以选择最大概率值对应的角色序列,即最可能输出所述特征矢量序列的
角色序列,也称为最优的隐状态序列。

在具体实施时,可以采用穷举搜索的方法,计算每个可能的角色序列输出
所述特征矢量序列的概率值,并从中选择最大值。为了提高计算效率,作为优
选实施方式,可以采用维特比(Viterbi)算法,利用HMM的转移概率在时间上
的不变性来?#26723;图?#31639;的复杂度,并在搜索得到输出所述特征矢量序列的最大概
率值后,根据搜索过程记录的信息进行回溯,获取对应的角色序列。

步骤102-5、判断所述角色序列对应的概率值是否大于预设阈值,若是,执
行步骤102-6,否则转到步骤102-7执行。

如果步骤102-4通过解码过程获取的角色序列对应的概率值大于预先设定
的阈值,例如:0.5,通常可以认为目前的GMM和HMM已经稳定,可以执行
步骤102-6为各语音段中的特征矢量分配角色标签(后续步骤104可以利用所述
已稳定的HMM判定特征矢量序列对应的角色序列),否则转到步骤102-7判断
是否继续进?#26800;?#20195;训练。

步骤102-6、按照所述角色序列为各语音段中的特征矢量分配角色标签。

由于目前的GMM和HMM已经稳定,因此可以按照步骤102-4通过解码获
取的角色序列为各语音段中的特征矢量分配角色标签。在具体实施时,由于所
述角色序列中的每个角色与各语音段中的每个特征矢量是一一对应的,因此可
以根据该一一对应关系为每个特征矢量分配角色标签。至此,各语音段中的特
征矢量都有了各自的角色标签,步骤102执?#22411;?#27605;,可以继续执行步骤103。

步骤102-7、判断在当前角色数量下训练GMM和HMM的次数是否小于预
设的训练次数上限;若是,则执行步骤102-8,否则转到步骤102-10执行。

执行到本步骤,?#24471;?#30446;前训练得到的GMM和HMM还没有稳定,需要继
续进?#26800;?#20195;训练。考虑到在训练过程所采用的当前角色数量与实际角色数量(所
述语音信号涉及的真实角色数量)不一致的情况下,GMM和HMM即使经过多
次迭代训练也可能无法满足要求(解码操作所获取的角色序列对应的概率值始
终不满足大于预设阈值的条件),为了避免出现无意义的循环迭代过程,可以预
先设置在每种角色数量下训练GMM和HMM的训练次数上限。如果本步骤判
断出在当前角色数量下的训练次数小于所述上限,则继续执行步骤102-8为各语
音段指定角色以便继续进?#26800;?#20195;训练,否则?#24471;?#30446;前采用的角色数量可能与实
?#26159;?#20917;不一致,因此可以转到步骤102-10判断是否需要调整角色数量。

步骤102-8、根据所述角色序列为每个语音段指定对应的角色。

在步骤102-4中已经通过解码获取了角色序列,由于角色序列中的每个角色
与各语音段中的特征矢量是一一对应的,因此可以获知各语音段中每个特征矢
量对应的角色。本步骤针对语音信号中的每个语音段,通过计算其中各特征矢
量对应的角色的众数,为所述语音段指定角色。例如:某语音段包含10个音频
帧,也即包含10个特征矢量,其中8个特征矢量对应角色1(s1),2个特征矢
量对应于角色2(s2),那么所述语音段中各特征矢量对应的角色的众数为角色1
(s1),因?#31169;?#35282;色1(s1)指定为所述语音段的角色。

步骤102-9、根据每个语音段中的特征矢量以及对应的角色,训练针对每个
角色的GMM以及HMM,并转到步骤102-4继续执行。

在步骤102-8为每个语音段指定角色的基础上,可以训练针对每个角色的
GMM以及HMM。仍以图4所示的语音段划分为例,如果步骤102-8将seg1和
seg3指定为角色1(s1),seg2指定为角色2(s2),那么seg1和seg3包含的特
征矢量可以用于训练角色1的GMM(gmm1),seg2中包含的特征矢量用于训练
角色2的GMM(gmm2)。GMM和HMM的训练方法请参见步骤102-3的相关
文字,此处?#36745;?#36184;述。

在具体实施中,本技术方案通常为迭代训练过程,为了提高训练效率,本
步骤可以在上一次训练得到的GMM和HMM的基础上采用增量方式训练新的
GMM和HMM,即在上一次训练得到的参数基础上,利用目前的样本数据,继
续调整各个参数,从而可以提高训练速?#21462;?br />

完成上述训练过程,得到新的GMM和HMM后,可以转到步骤102-4执行,
根据新的模型进行解码以及执行后续的操作。

步骤102-10、判?#31995;?#21069;角色数量是否符合预设要求;若是,转到步骤102-6
执行,否则继续执行步骤102-11。

执行到本步骤,通常?#24471;?#22312;当前角色数量下训练得到的GMM和HMM并
未稳定、而且训练次数已经等于或者超过了预设的训练次数上限,在这种情况
下可以判?#31995;?#21069;角色数量是否符合预设要求,若符合,则?#24471;?#21487;以停止角色分
离过程,转到步骤102-6进行角色标签的分配,否则继续执行步骤102-11进行
角色数量的调整。

步骤102-11、调整角色数量,选择相应数量的语音段并为每个语音段分别
指定不同角色;并转到步骤102-3继续执行。

例如,当前角色数量为2,对角色数量的预设要求为“角色数量等于4?#20445;?br />步骤102-10判定当前角色数量尚未符合预设要求,这种情况下,可以执行本步
骤进行角色数量的调整,例如:为当前角色数量加1,即将当前角色数量更新为
3。

根据调整后的角色数量,从语音信号包含的各个语音段中选择相应数量的
语音段,并为所选每个语音段分别指定不同的角色。其中对所选语音段的时长
要求,可以参见步骤102-2中的相关文字,此处?#36745;?#36184;述。

仍以图4所示的语音段划分为例,如果当前角色数量从2增加为3,并且
seg1、seg2和seg3都满足选择语音段的时长要求,那么本步骤可以选择这3个
语音段,并为seg1指定角色1(s1),为seg2指定角色2(s2),为seg3指定角
色3(s3)。

完成上述调整角色数量以及选择语音段的操作后,可以转到步骤102-3针对
调整后的角色数量初始训练GMM和HMM。

步骤103、利用具有角色标签的特征矢量训练DNN模型。

此时,已经为各语音段中的特征矢量分配了角色标签,在此基础上,本步
骤以具有角色标签的特征矢量为样本训练DNN模型,所述DNN模型用于根据
输入的特征矢量输出对应每个角色的概率。为了便于理解,先对DNN作简要说
明。

DNN(Deep Neural Networks—深度神经网络)通常指包括1个输入层、3
个以上隐含层(也可以包含7个、9个、甚至更多的隐含层)、以及1个输出层
的神经网络。每个隐含层都能够提取一定的特征,并将本层的输出作为下一层
的输入,通过逐层提取特征,将低层特征形成更加抽象的高层特征,从而能够
实现对物体或者种类的识别。

请参见图5,其为DNN网络的拓扑结构示意图,图中的DNN网络总共有n
层,每层有多个神经元,不同层之间全连接;每层都有自己的激励函数f(例如
Sigmoid函数)。输入为特征矢量v,第i层到第i+1层的转移矩阵为wi(i+1),第
i+1层的偏置矢量为b(i+1),第i层的输出为outi,第i+1的输入为ini+1,计算过程
为:

ini+1=outi*wi(i+1)+b(i+1)

outi+1=f(ini+1)

由此可见DNN模型的参数包括层间的转移矩阵w和每一层的偏置矢量b
等,训练DNN模型的主要任务就是确定上述参数。在实际应用中通常采用BP
(Back-propagation—反向传播)算法进行训练,训练过程是一个有监督的学习
过程:输入信号为带有标签的特征矢量,分层向前传播,到达输出层后再逐层
反向传播,通过梯度下降法调整各层的参数以使网络的实际输出不断接近期望
输出。对于每层有上千神经元的DNN网络来说,其参数的数量可能是百万级的
甚至更多,完成上述训练过程获取的DNN模型,通常具有非常强大的特征提取
能力以及识别能力。

在本实施例中,DNN模型用于根据输入的特征矢量输出对应每个角色的概
率,因此DNN模型的输出层可以采用分类器(例如Softmax)作为激活函数,
在步骤102完?#31245;?#20808;分配角色标签的处理后,如果角色标签涉及的角色数量为n,
那么DNN模型的输出层可以包括n个节点,分别对应于n个角色,针对输入的
特征矢量每个节点输出该特征矢量对应所属角色的概率值。

本步骤?#28304;?#26377;角色标签的特征矢量作为样本,对构建的上述DNN模型进行
有监督训练。在具体实施时,可以直接采用上述BP算法进行训练,考虑到单纯
采用BP算法训练有可能出现陷入局部极小值的情况、导致最终得到的模型无法
满足应用的需求,因此本实施例采用预训练(pre-training)与BP算法相结合的
方式进行DNN模型的训练。

预训练通常采用非监督贪心逐层训练算法,先采用非监督方式训练含有一
个隐层的网络,然后保留训练好的参数,使网络层数加1,接着训练含两个隐层
的网络......?#28304;?#31867;推,直到含有最大隐层的网络。这样逐层训练完之后,以该无
监督训练过程学习到的参数值作为初始值,再采用传统BP算法进行有监督的训
练,最终得到DNN模型。

由于经过pre-training得到的初始分布比纯BP算法采用的随机初始参数更接
近于最终的收敛值,相当于使后续的有监督训练过程有一个好的起点,因此训
练得到的DNN模型通常不会陷入局部极小值,能够获得?#32454;?#30340;识别率。

步骤104、根据所述DNN模型和利用特征矢量训练得到的HMM,判定特
征矢量序列对应的角色序列,并输出角色分离结果。

由于所述DNN模型用于根据输入的特征矢量输出对应每个角色的概率,同
时根据特征矢量序列的角色标签的分布情况可以获知对应每个角色的先验概
率,而每个特征矢量的先验概率通常也是固定的,因此依据贝?#31471;?#23450;理,根据
DNN模型的输出以及上述先验概率可以获知每个角色输出相应特征矢量的概
率,也即可以采用步骤103训练好的DNN模型决定HMM各状态的发射概率。

所述HMM可以是在采用上述DNN模型决定HMM发射概率的基础上,用
特征矢量序列训练得到的。考虑到在步骤102为特征矢量分配角色标签时所采
用的HMM对各角色之间的跳转关系的描述已基本稳定,可以?#36745;?#36827;行额外的
训练,因此本实施例直接采用该HMM,并用训练得到的DNN模型替换GMM,
即:由DNN模型决定HMM各状态的发射概率。

在本实施例中,步骤102-1进行了语音段的切分,本步骤根据所述DNN模
型和预先分配角色标签时所采用的HMM,判定各语音段所包含的特征矢量序列
对应的角色序列。

根据特征矢量序列确定角色序列的过程是通常所述的解码问题,可以根据
所述DNN模型和HMM执行解码操作,获取输出所述特征矢量序列的概率值排
序靠前(例如概率值最大)的角色序列,并将所述角色序列作为与所述特征矢
量序列对应的角色序列。具体?#24471;?#35831;参见步骤102-4中的相关文字,此处?#36745;?#36184;
述。

通过解码过程得到与各语音段所包含的特征矢量序列对应的角色序列后,
则可以输出相应的角色分离结果。由于角色序列中的每个角色与特征矢量是一
一对应的,而每个特征矢量对应的音频帧都有各自的时间起止点,因此本步骤
可以针对每个角色输出与其对应的特征矢量所属音频帧的起止时间信息。

至此,通过步骤101至步骤104,对本申请提供的基于语音的角色分离方法
的具体实施方式进行了详细的?#24471;鰲?#38656;要?#24471;?#30340;是,本实施例在步骤102为特
征矢量预先分配角色标签的过程中采用了自顶向下、逐渐增加角色数量的方式。
在其他实施方式中,也可以采用自底向上、逐渐减少角色数量的方式:最初可
以将切分得到的每个语音段分别指定给不同的角色,然后训练针对每个角色的
GMM和HMM,如果通过迭代训练得到的GMM和HMM在执行解码操作后得
到的概率值始终不大于预设阈值,那么在调整角色数量时,可以通过评估每个
角色的GMM彼此之间的相似度(例如计算KL散度),将相似度满足预设要求
的GMM对应的语音段进行合并,并相应减少角色数量,重复迭代执行上述过
程,直到HMM通过解码得到的概率值大于预设阈值或者角色数量符合预设要
求,则停止迭代过程,并根据解码得到的角色序列为各语音段中的特征矢量分
配角色标签。

综上所述,本申请提供的基于语音的角色分离方法,由于采用具有强大特
征提取能力的DNN模型对角色进行建模,比传统的GMM具有更为强大的刻画
能力,对角色的刻画更加精细、准确,因此能够获得更为准确的角色分离结果。
本申请的技术方案不仅可以应用于对客服中心、会议语音等对话语音进行角色
分离的场景中,还可以应用于其它需要对语音信号中的角色进行分离的场景中,
只要所述语音信号中包含两个或者两个以上角色,就都可以采用本申请的技术
方案,并取得相应的有益效果。

在上述的实施例中,提供了一种基于语音的角色分离方法,与之相对应的,
本申请还提供一种基于语音的角色分离装置。请参看图6,其为本申请的一种基
于语音的角色分离装置的实施例示意图。由于装置实施例基本相似于方法实施
例,所以描述得比较简单,相关之处参见方法实施例的部分?#24471;?#21363;可。下述描
述的装置实施例仅仅是示意性的。

本实施例的一种基于语音的角色分离装置,包括:特征提取单元601,用于
从语音信号中逐帧提取特征矢量,得到特征矢量序列;标签分配单元602,用于
为特征矢量分配角色标签;DNN模型训练单元603,用于利用具有角色标签的
特征矢量训练DNN模型,其中所述DNN模型用于根据输入的特征矢量输出对
应每个角色的概率;角色判定单元604,用于根据所述DNN模型和利用特征矢
量训练得到的HMM,判定特征矢量序列对应的角色序列并输出角色分离结果,
其中所述HMM用于描述角色间的跳转关系。

可选的,所述装置还包括:

语音段切分单元,用于在所述特征提取单元提取特征矢量后、在触发所述
标签分配单元工作之前,通过识别并剔除不包含语音内容的音频帧、将所述语
音信号切分为语音段;

所述标签分配单元具体用于,为各语音段中的特征矢量分配角色标签;

所述角色判定单元具体用于,根据所述DNN模型和利用特征矢量训练得到
的HMM,判定各语音段所包含的特征矢量序列对应的角色序列并输出角色分离
结果。

可选的,所述标签分配单元具体用于,通过建立GMM和HMM,为各语音
段中的特征矢量预先分配角色标签,其中所述GMM用于针对每个角色、根据
输入的特征矢量输出该特征矢量对应于所述角色的概率;

所述角色判定单元具体用于,根据所述DNN模型和为各语音段中的特征矢
量分配角色标签所采用的HMM,判定所述各语音段所包含的特征矢量序列对应
的角色序列。

可选的,所述标签分配单元包括:

初始角色指定子单元,用于按照预设的初始角色数量选择相应数量的语音
段,并为每个语音段分别指定不同角色;

初始模型训练子单元,用于利用指定角色的语音段中的特征矢量,训练针
对每个角色的GMM以及HMM;

解码子单元,用于根据训练得到的GMM和HMM进行解码,获取输出各
语音段所包含的特征矢量序列的概率值排序靠前的角色序列;

概率判断子单元,用于判断所述角色序列对应的概率值是否大于预设阈值;

标签分配子单元,用于当所述概率判断子单元的输出为是时,按照所述角
色序列为各语音段中的特征矢量分配角色标签。

可选的,所述标签分配单元还包括:

逐语音段角色指定子单元,用于当所述概率判断子单元的输出为否时,根
据所述角色序列,为每个语音段指定对应的角色;

模型更新训练子单元,用于根据每个语音段中的特征矢量以及对应的角色,
训练针对每个角色的GMM以及HMM,并触发所述解码子单元工作。

可选的,所述逐语音段角色指定子单元具体用于,针对每个语音段,将其
中各特征矢量对应的角色的众数指定为所述语音段的角色。

可选的,所述模型更新训练子单元具体用于,在上一次训练得到的模型基
础上采用增量方式训练所述GMM以及HMM。

可选的,所述标签分配单元还包括:

训练次数判断子单元,用于当所述概率判断子单元的输出为否时,判断在
当前角色数量下训练GMM和HMM的次数是否小于预设的训练次数上限,并
在判断结果为是时,触发所述逐语音段角色指定子单元工作。

角色数量调整子单元,用于当所述训练次数判断子单元的输出为否时,调
整角色数量,选择相应数量的语音段并为每个语音段分别指定不同角色,并触
发所述初始模型训练子单元工作。

可选的,所述标签分配单元还包括:

角色数量判断子单元,用于当所述训练次数判断子单元的输出为否时,判
?#31995;?#21069;角色数量是否符合预设要求,若符合则触发所述标签分配子单元工作,
否则触发所述角色数量调整子单元工作。

可选的,所述特征提取单元包括:

分帧子单元,用于按照预先设定的帧长度对语音信号进行分帧处理,得到
多个音频帧;

特征提取执行子单元,用于提取各音频帧的特征矢量,得到所述特征矢量
序列。

可选的,所述特征提取执行子单元具体用于,提取各音频帧的MFCC特征、
PLP特征、或者LPC特征,得到所述特征矢量序列。

可选的,所述语音段切分单元具体用于,通过采用VAD技术识别并剔除所
述不包含语音内容的音频帧、将所述语音信号切分为语音段。

可选的,所述装置还包括:

VAD?#20132;?#21333;元,用于在所述语音段切分单元采用VAD技术切分语音段后,
将时长小于预设阈值的语音段与相邻语音段合并。

可选的,所述DNN模型训练单元具体用于,采用反向传播算法训练所述
DNN模型。

可选的,所述角色判定单元具体用于,根据所述DNN模型和HMM执行解
码操作,获取输出所述特征矢量序列的概率值排序靠前的角色序列,并将所述
角色序列作为与所述特征矢量序列对应的角色序列。

可选的,所述角色判定单元采用如下方式输出角色分离结果:根据特征矢
量序列对应的角色序列,针对每个角色输出与其对应的特征矢量所属音频帧的
起止时间信息。

可选的,所述初始角色指定子单元或所述角色数量调整子单元具体通过如
下方式选择相应数量的语音段:选择时长满足预设要求的、所述数量的语音段。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本
领域技术人员在不脱离本申请的精神和?#27573;?#20869;,都可以做出可能的变动和修?#27169;?br />因此本申请的保护?#27573;?#24212;?#24065;?#26412;申请权利要求所界定的?#27573;?#20026;准。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出
接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久?#28304;?#20648;器,随机存取存储器
(RAM)和/或?#19988;资阅?#23384;等形式,如只读存储器(ROM)或闪存(flash RAM)。
内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由
任何方法或技术?#35789;?#29616;信息存储。信息可以是计算机可读指令、数据结构、程
序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存
(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其
他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存
储器(EEPROM)、快闪?#19988;?#20307;或其他内存技术、只读光盘只读存储器
(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁
盘存储或其他?#21028;源?#20648;设备或任何其他非传输介?#21097;?#21487;用于存储可以被计算设
备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒
体(transitory media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机
程序产品。因此,本申请可采用完全?#24067;?#23454;施例、完全软件实施例或结合软件
和?#24067;?#26041;面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计
算机可用程序代码的计算机可用存储介质(包括但不限于?#25490;?#23384;储器、
CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

关于本文
本文标题:基于语音的角色分离方法及装置.pdf
链接地址:http://www.pqiex.tw/p-6079777.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 股票分析师一个月多少钱 格力电器股票行情 146期福彩开奖结果 黑龙江十一选五走势图 新疆十一选五开奖走势图贴吧 北京pk10谁控制的 天津十一选五前三走势图表 比较正规的棋牌平台 福彩3d什么是组三 上证指数历史走势图