[发明专利]一种说话人标记方法在审
申请号: | 201710817534.7 | 申请日: | 2017-09-12 |
公开(公告)号: | CN107452403A | 公开(公告)日: | 2017-12-08 |
发明(设计)人: | 陈仙红;何亮;徐灿;刘加 | 申请(专利权)人: | 清华大学 |
主分类号: | G10L25/51 | 分类号: | G10L25/51;G10L25/27 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 廖元秋 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种说话人标记方法,属于声纹识别、模式识别与机器学习技术领域。本方法包括三个阶段在第一阶段,通过i‑vector概率线性鉴别分析凝聚层次聚类方法将待测语音数据分为长度相等的片段,然后将片段聚为与说话人总数相等的类;在第二阶段,利用第一阶段的聚类结果,得到片段属于说话人的先验概率;在第三阶段,通过基于软判决的变分贝叶斯隐马尔科夫方法进行迭代,当系统收敛时,计算片段所属的说话人,说话人标记结束。本发明结合了两种说话人标记方法的优点,可有效地提高说话人标记的准确率。 | ||
搜索关键词: | 一种 说话 标记 方法 | ||
【主权项】:
一种说话人标记方法,其特征在于,分为i‑vector概率线性鉴别分析凝聚层次聚类说话人标记阶段、先验概率初始化阶段和基于软判决的变分贝叶斯隐马尔科夫说话人标记阶段三个阶段,该方法包括以下步骤:1)i‑vector概率线性鉴别分析凝聚层次聚类说话人标记阶段;具体步骤如下:1‑1)获取一条待测语音数据X,待测语音数据中总共的说话人个数S已知,S≥2;1‑2)对待测语音数据X提取维数F=40的感知线性预测特征,并进行活动语音检测,将待测语音数据中的静音段删除;1‑3)将去除静音段后的待测语音数据X均匀分割成长度固定为1s的片段记为x1,…xm…,xM;其中M代表片段总数;每个片段xm包含N帧,xmt表示片段xm的第t帧的特征,t=1…N;1‑4)对于每个片段xm,提取该片段相应的i‑vector记为ω′m,表达式如下:μm=μubm+Tω′m其中,μm是根据xm计算得到的均值超向量,μubm为通用背景模型的均值超向量,通用背景模型的高斯总个数为C=512,说话人因子维数为D=300,T为CF×D=512*40×300维的总体变化子空间矩阵;1‑5)利用概率线性鉴别分析对步骤1‑4)得到的任意两个i‑vector进行打分,得到所有片段i‑vector两两之间的距离;具体步骤如下:1‑5‑1)每个片段的i‑vectorω′m表达式如下:ω′m=μ+Φpm+εm其中μ是所有片段i‑vector的均值,Φ是维度为300×150的说话人子空间,pm是服从标准正态分布的隐变量,是噪声;1‑5‑2)通过计算对数似然比,求得任意两个i‑vectorω′i和ω′j之间的相似度:R(ωi′,ωj′)=logP(ωi′,ωj′|θtar)P(ωi′,ωj′|θnon);(i,j=1,...,M)]]>其中θtar表示ω′i和ω′j来自同一个说话人,θnon表示ω′i和ω′j来自不同的说话人;1‑5‑3)通过步骤1‑5‑2)得到的对数似然比R(ω′i,ω′j),计算ω′i和ω′j之间的距离为:dij=eR(ωi′,ωi′)+eR(ωj′,ωj′)-eR(ωi′,ωj′)-eR(ωj′,ωi′)]]>1‑6)对所有片段i‑vector两两之间的距离进行凝聚层次聚类;具体步骤如下:1‑6‑1)将每个片段的i‑vector当作一个独立的类,共得到M个类;1‑6‑2)将所有距离dij中最小值对应的两个片段的i‑vector的类聚在一起,合并成一个新类;1‑6‑3)计算步骤1‑6‑2)得到的新类中所有i‑vector的均值,用该均值表示新类的i‑vector,然后重复步骤1‑5‑2)和1‑5‑3),分别计算该新类的i‑vector到其他每个类的的i‑vector的距离;1‑6‑4)判断类的个数是否等于说话人个数S:如果不相等,则重新返回步骤1‑6‑2);如果相等,则凝聚层次聚类结束,最后聚成S个类代表S个说话人,每个类代表一个说话人,将S个类随机编号为1,2,..s,..S,如果片段xm属于类s,那么xm就属于说话人s,即xm∈s;2)先验概率初始化阶段;分为硬先验计算和软先验计算两种方法,具体如下:2‑1)硬先验计算;根据步骤1)的结果,如果xm∈s,则赋予片段m属于说话人s的先验概率qms的概率值为q,0.5<q<1,即:qms=I(xm∈s)q+1(xm∉s)1-qS-1]]>其中I(·)为指示函数;2‑2)软先验计算;根据步骤1)聚类得到的S个类,计算每个说话人s的中心点,表达式如下:centers=ΣmI(xm∈s)ωm′ΣmI(xm∈s),s=1,...,S]]>如果片段xm∈s,则片段xm距离中心点的距离为:dms=||ω′m‑centers||2将片段xm属于说话人s的先验概率qms定义为:qms=12[e-(dmsdmaxs)k-e-1e0-e-1+1]]]>其中而片段xm属于说话人其他说话人的先验概率为:qmj|j≠s=1-qmsS-1]]>3)基于软判决的变分贝叶斯隐马尔科夫说话人标记阶段;具体步骤如下:3‑1)隐马尔科夫模型初始化;隐马尔科夫模型中,每个状态代表一个说话人,状态数等于说话人的总个数S;转移概率为aij,初始值为表示从说话人i转移到说话人j的概率;发射概率P(xm|ys),初始值为表示给定一个说话人因子ys,片段xm产生的概率;隐马尔科夫模型的初始概率,即初始时刻位于每个状态的概率3‑2)更新说话人因子ys;具体步骤如下:3‑2‑1)提取每个片段xm的Baum‑Welch统计量,表达式如下:N^mc=Σt=1Nγmt(c)]]>F^mc=Σt=1Nγmt(c)(xmt-μubm,c)]]>S^mc=diag(Σt=1Nγmt(c)(xmt-μubm,c)(xmt-μubm,c)T)]]>其中分别表示片段xm对应第c个高斯的零阶、一阶、二阶统计量;μubm,c,c=1,…,512,是通用背景模型均值超向量μubm中对应第c个高斯的子向量;γmt(c)是xmt属于第c个高斯的后验概率,diag表示对角化;3‑2‑2)提取每个说话人的Baum‑Welch统计量;令为对角块是的CF×CF矩阵;为由连接而成的CF×1超向量;为对角块是的CF×CF矩阵;说话人s的Baum‑Welch统计量表达式为:N^(s)=Σm=1MqmsN^m]]>F^(s)=Σm=1MqmsF^m]]>3‑2‑3)计算说话人因子ys的均值ωs和方差为:Λs=I+TTΣ-1N^(s)T]]>ωs=Λs-1TTΣ-1F^(s)]]>其中,∑是维数为CF×CF的协方差矩阵,对角块为{∑1,…,∑C},∑c为通用背景模型第c个高斯的协方差矩阵;3‑3)更新发射概率P(xm|ys):lnP(xm|ys)=Gm+Hms其中,Gm=Σc=1CN^mcln1(2π)F/2|Σc|1/2-12tr(Σ-1S^m),]]>Hms=ωsTTTΣ-1F^m-12ωsTTTN^mΣ-1Tωs]]>3‑4)根据隐马尔科夫模型的参数包括:转移概率aij,发射概率P(xm|ys)和初始概率π,利用前后项算法计算更新qms;3‑5)更新转移概率aij;定义说话人s转移到自身的概率为一个常数const,0.8<const<1,则:aii=constai,j=(1-const)spjΣs=1,s≠iSsps;(j≠i)]]>其中,表示说话人s总共的说话片段数;3‑6)判断迭代是否收敛;如果是第一次迭代,则直接判断不收敛,重新返回步骤3‑2)进行下一次迭代;如果不是第一次迭代,则将本次迭代中,由步骤3‑2‑3)得到的说话人因子ys的均值ωs记为将上一次迭代中,由步骤3‑2‑3)得到的说话人因子ys的均值ωs记为计算两次迭代中说话人因子均值的相对改变量,表达式如下:Σs=1S1S||ωslast-ωsthis||||ωslast||,]]>如果相对改变量大于设定阈值,则判断基于软判决的变分贝叶斯隐马尔科夫系统不收敛,重新进行步骤3‑2)至3‑6)进行下一次迭代;如果相对改变量小于等于设定阈值,则判断基于软判决的变分贝叶斯隐马尔科夫系统收敛,迭代完成,片段xm所属的说话人通过计算arg maxs qms给出,说话人标记结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710817534.7/,转载请声明来源钻瓜专利网。