发明名称 用于语种识别的约束异方差线性鉴别分析方法
摘要 用于语种识别的约束异方差线性鉴别分析方法涉及一种高维特征矢量的降维和去相关处理方法,其特征在于,所述方法首先由语音信号提取MFCC特征,选取连续M帧MFCC特征并列放置得到倒谱矩阵,然后将其按行展开,形成超矢量,再分块计算超矢量的均值和协方差,并用迭代法分块计算变换矩阵,接着用变换矩阵对超矢量分块进行变换,最后将各块进行降维和拼接处理,可得到新的特征矢量。该方法计算量小,得到的特征矢量去除了各维之间的相关性,鉴别性高且维数低。可以用于语种识别。
申请公布号 CN101546555A 申请公布日期 2009.09.30
申请号 CN200910081899.3 申请日期 2009.04.14
申请人 清华大学 发明人 张卫强;刘加
分类号 G10L15/02(2006.01)I 主分类号 G10L15/02(2006.01)I
代理机构 北京众合诚成知识产权代理有限公司 代理人 朱 琨
主权项 1.用于语种识别的约束异方差线性鉴别分析方法,其特征在于,所述方法是在数字集成电路芯片中依次按以下步骤实现的:步骤(1):把一帧语音信号输入到N维特征提取电路,得到N维Mel频率倒谱系数MFCC的基本特征矢量,N=10,步骤(2):用步骤(1)所述的方法提取出连续M帧语音信号的Mel频率倒谱系数MFCC的N维基本特征矢量,M=21,并输入到一个倒谱矩阵形成电路,得到一个倒谱矩阵C:<img file="A200910081899C00021.GIF" wi="641" he="283" />步骤(3):把步骤(2)得到的倒谱矩阵C输入到一个串并转换电路,按行展开,得到一个超矢量特征c:<maths num="0001"><![CDATA[<math><mrow><mi>c</mi><mo>=</mo><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>c</mi><mn>11</mn></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>c</mi><mrow><mn>1</mn><mi>M</mi></mrow></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>c</mi><mrow><mi>N</mi><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>c</mi><mi>NM</mi></msub></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></mrow></math>]]></maths>步骤(4):把步骤(3)得到的超矢量特征c输入到一个分路器,分成N块:<maths num="0002"><![CDATA[<math><mrow><mi>c</mi><mo>=</mo><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msup><mi>c</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msup><mi>c</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msup><mi>c</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msup></mtd></mtr></mtable></mfenced></mrow><mo>,</mo></mrow></math>]]></maths>其中c<sup>(n)</sup>=[c<sub>n1</sub> c<sub>n2</sub>…c<sub>nM</sub>]<sup>T</sup>代表超矢量特征中的第n块,T代表转置,步骤(5):对每个语种的语音数据均按照步骤(1)-(4)进行操作,假设一共有L个语种,第1个语种可得到超矢量特征I<sub>1</sub>帧,所有语种共得到超矢量特征I帧,即<maths num="0003"><![CDATA[<math><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></msubsup><msub><mi>I</mi><mi>l</mi></msub><mo>=</mo><mi>I</mi><mo>,</mo></mrow></math>]]></maths>步骤(6):按以下步骤用一个逻辑电路分块计算各语种的超矢量特征的统计量和所有语种总的超矢量特征的统计量,n=1,2,....,N:步骤(6.1):计算第1个语种的各帧中第n块超矢量特征c<sup>(n)</sup>的均值<img file="A200910081899C00032.GIF" wi="101" he="53" /><maths num="0004"><![CDATA[<math><mrow><msubsup><mi>m</mi><mi>l</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mfrac><mn>1</mn><msub><mi>I</mi><mi>l</mi></msub></mfrac><munder><mi>&Sigma;</mi><mrow><mi>g</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mi>l</mi></mrow></munder><msubsup><mi>c</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>,</mo></mrow></math>]]></maths> i=1,2,...,I,计算第1个语种的第n块超矢量特征c<sup>(n)</sup>的协方差矩阵<img file="A200910081899C00034.GIF" wi="111" he="51" /><maths num="0005"><![CDATA[<math><mrow><msubsup><mi>w</mi><mi>l</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mfrac><mn>1</mn><msub><mi>I</mi><mi>l</mi></msub></mfrac><munder><mi>&Sigma;</mi><mrow><mi>g</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>=</mo><mi>l</mi></mrow></munder><mrow><mo>(</mo><msubsup><mi>c</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msubsup><mi>m</mi><mi>l</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><msup><mrow><mo>(</mo><msubsup><mi>c</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msubsup><mi>m</mi><mi>l</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mi>T</mi></msup><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>I</mi><mo>,</mo></mrow></math>]]></maths>其中∑<sub>g(i)=l</sub>表示对所有帧中属于第1个语种的特征矢量求和;步骤(6.2):计算所有语种第n块超矢量特征c<sup>(n)</sup>的总均值m<sup>(n)</sup>:<maths num="0006"><![CDATA[<math><mrow><msup><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup><mo>=</mo><mfrac><mn>1</mn><mi>I</mi></mfrac><munder><mover><mi>&Sigma;</mi><mi>I</mi></mover><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow></munder><msubsup><mi>c</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>,</mo></mrow></math>]]></maths>计算所有语种第n块超矢量特征c<sup>(n)</sup>的总协方差矩阵T<sup>(n)</sup>:<maths num="0007"><![CDATA[<math><mrow><msup><mi>T</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup><mo>=</mo><mfrac><mn>1</mn><mi>I</mi></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>I</mi></munderover><mrow><mo>(</mo><msubsup><mi>c</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msup><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><msup><mrow><mo>(</mo><msubsup><mi>c</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msup><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup><mo>)</mo></mrow><mi>T</mi></msup><mo>,</mo></mrow></math>]]></maths>步骤(7):用一个变换矩阵运算电路按以下步骤分块计算超矢量特征的变换矩阵,n=1,2,....,N:步骤(7.1):初始化第n块变换矩阵为单位阵:A<sup>(n)</sup>=I,步骤(7.2):把上述第n块变换矩阵划分为两部分:<maths num="0008"><![CDATA[<math><mrow><msup><mi>A</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup><mo>=</mo><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>A</mi><msup><mi>U</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>A</mi><mrow><mi>M</mi><mo>-</mo><msup><mi>U</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msup></mrow><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup></mtd></mtr></mtable></mfenced></mrow><mo>,</mo></mrow></math>]]></maths>其中,其中<img file="A200910081899C00039.GIF" wi="87" he="58" />代表第n块变换矩阵A<sup>(n)</sup>的前U<sup>(n)</sup>行,<img file="A200910081899C000310.GIF" wi="150" he="59" />代表剩下的M-U<sup>(n)</sup>行,M=21,步骤(7.3):按下式计算第n块变换矩阵的第m行<img file="A200910081899C00041.GIF" wi="92" he="55" /><maths num="0009"><![CDATA[<math><mrow><msubsup><mi>a</mi><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>=</mo><msubsup><mi>h</mi><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><msup><mrow><mo>(</mo><msubsup><mi>G</mi><mi>m</mi><mrow><mo>(</mo><mi>m</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msqrt><mfrac><mn>1</mn><mrow><msubsup><mi>h</mi><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><msubsup><mi>G</mi><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><msup><mrow><mo>(</mo><msubsup><mi>h</mi><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mi>T</mi></msup></mrow></mfrac></msqrt><mo>,</mo></mrow></math>]]></maths>其中<img file="A200910081899C00043.GIF" wi="65" he="54" />是中间变量H<sup>(n)</sup>矩阵的第m行:H<sup>(n)</sup>=det(A<sup>(n)</sup>)(A<sup>(n)</sup>)<sup>-1</sup>,<maths num="0010"><![CDATA[<math><mrow><msubsup><mi>G</mi><mi>m</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mrow><mfenced open='{' close=''><mtable><mtr><mtd><msubsup><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></msubsup><mfrac><msub><mi>I</mi><mi>l</mi></msub><msubsup><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>l</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mi>m</mi><mn>2</mn></msubsup></mfrac><msubsup><mi>W</mi><mi>l</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup></mtd><mtd><mn>1</mn><mo>&le;</mo><mi>m</mi><mo>&le;</mo><msup><mi>U</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup></mtd></mtr><mtr><mtd><mfrac><mi>I</mi><msubsup><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>l</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mi>m</mi><mn>2</mn></msubsup></mfrac><msup><mi>T</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup></mtd><mtd><mrow><msup><mi>U</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup><mo>&lt;</mo><mi>m</mi><mo>&le;</mo><mi>M</mi></mrow></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><mo>{</mo><msubsup><mrow><mo>(</mo><msubsup><mi>&sigma;</mi><mi>l</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mi>m</mi><mn>2</mn></msubsup><mo>,</mo><mi>m</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>M</mi><mo>}</mo></mrow></math>]]></maths>为<img file="A200910081899C00046.GIF" wi="72" he="55" />的对角线元素:<img file="A200910081899C00047.GIF" wi="1653" he="223" />其中det代表求矩阵的行列式,diag代表取矩阵的对角线元素,步骤(7.4):当达到20次迭代或两次迭代det(A<sup>(n)</sup>)数值相对变化小于1/1000时,停止迭代,否则转步骤(7.2)继续迭代,步骤(8):用变换矩阵A<sup>(n)</sup>对超矢量特征<img file="A200910081899C00048.GIF" wi="61" he="55" />分块进行变换,得到新的特征矢量x<sup>(n)</sup>,i=1,2,...,I,n=1,2,....,N:<maths num="0012"><![CDATA[<math><mrow><msup><mi>x</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup><mo>=</mo><msup><mi>A</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup><msubsup><mi>c</mi><mi>i</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>,</mo></mrow></math>]]></maths>步骤(9):取出所述特征矢量x<sup>(n)</sup>的前U<sup>(n)</sup>维,得到<img file="A200910081899C000410.GIF" wi="110" he="62" />n=1,2,....,N,再用一个合路器把各块特征<maths num="0013"><![CDATA[<math><mrow><mo>{</mo><msubsup><mi>x</mi><msup><mi>U</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></msubsup><mo>,</mo><mi>n</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>}</mo></mrow></math>]]></maths>依次进行拼接,得到新的特征矢量:<maths num="0014"><![CDATA[<math><mrow><mi>x</mi><mo>=</mo><mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msubsup><mi>x</mi><msup><mi>U</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>x</mi><msup><mi>U</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msubsup></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msubsup><mi>x</mi><msup><mi>U</mi><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></msubsup></mtd></mtr></mtable></mfenced></mrow><mo>.</mo></mrow></math>]]></maths>
地址 100084北京市100084-82信箱