具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
为实现本发明之目的,本发明实施例公开了一种用于语种识别的建模方法。图1示出了该建模方法的流程框图。如图1所示,该方法包括如下步骤:
S101:输入语音数据,对语音数据预处理得到特征序列,并根据坐标系选择算法和特征矢量映射算法,将特征矢量映射为超矢量,对超矢量进行投影和补偿,通过支持向量机算法建立并训练语种模型;
具体的说,结合图2所示,首先输入语音数据,然后执行如下步骤:
A1:语音数据预处理。
A11:对语音数据即语音信号进行零均值化和预加重,其中零均值化为整段语音减去其均值。预加重为语音进行高通滤波。
其中,高通滤波器传输函数为H(z)=1-αz-1,其中0.95≤α≤1。
A12:对语音信号分帧。其中,帧长为20ms,帧移为10ms。
A2:从预处理的语音数据中提取特征序列。
特征序列是由一系列的特征向量组成。
A21:对语音信号加汉明窗,其中窗函数为:
A22:对加汉明窗的数据做离散傅立叶变换(DFT)
其中ωk代表频率,k代表频率标号,N是DFT变换点数。
A23:选择有M(m=1,2,…,M)个滤波器的滤波器组,其中第m个三角型滤波器如下定义
fl和fh为给定滤波器组的最低频率和最高频率,B为频率向梅尔频标的映射函数
B(f)=1125ln(1+(f/700)),
B-1为梅尔频标向频率的映射函数:
B-1(b)=700exp((b/1125)-1)。
A24:计算每个滤波器输出的对数能量
A25:离散余弦变换,并计算MFCC系数
取前7维系数,拼接成为MFCC基本特征c=[c0,c1,…,c6]。
A26:计算第n时刻的偏移差分倒谱特征(SDC),
s(iN+j)(n)=cj(n+iS+b)-cj(n+iS-b),j=1,2,…,N-1;i=0,1,…,K-1
其中,b为计算一阶差分特征时的帧数差,一般取值为1;K为块数,一般取值为7;S为各块之间的偏移帧数,一般取值为3。
在本实施例中,b=1,K=7,S=3
A27:将基本特征与差分特征拼接,形成新的特征矢量。
y(n)={cj(n),j=0,1,…,N-1;siN+j(n),j=0,1,…,N-1,i=0,1,…,K-1}。
A3:选取各个坐标系原点,提取高维统计量。
A31:在辅助训练数据集上,通过EM算法选取多坐标系原点坐标o={o1,o2,…,oC},C为坐标系数目。
A32:选择特征矢量y(n)与原点坐标oj的度量f[y(n),oc],1≤c≤C,并计算特征矢量y(n)在每个子坐标系的占有率
A33:选择特征矢量y(n)在坐标系内的扩展函数g[y(n),cc],结合步骤A32计算所得的占有率,将特征矢量y(n)映射为超矢量
v(n)=[r[y(n)|o1]g[y(n),o1],r[y(n)|o2]g[y(n),o2],…,r[y(n)|oC)g(y(n),oC]]
A34:超矢量序列v(n)对时间取平均,得到该段语音的超矢量
A4:采用子空间技术,寻找信道子空间和语种子空间。
其中,信道子空间为超矢量所属空间所包含的,不利于识别的子空间。语种子空间为超矢量所属空间所包含的,有利于识别的子空间。
通过子空间投影、补偿技术,提取超矢量v中仅有利于语种识别的部分。
A41:在辅助训练数据集上,提取语音超矢量{v0,v1,v2,…,vL}。对辅助训练集的要求是,尽量包含训练、识别语音的语言种类,并且每个语种要对应多段语音。
A42:对提取的语音超矢量{v0,v1,v2,…,vL}采用主成分分析算法(PCA,包括直接求解矩阵方法和迭代求解法),提取语种子空间L。
A43:对提取的语音超矢量{v0,v1,v2,…,vL}进行修正,每个超矢量减去对应语种超矢量的期望,得到新的语音超矢量{v′0,v′1,v′2,…,v′L}。对新的语音超矢量采用主成分分析算法(PCA,包括直接求解矩阵方法和迭代求解法),提取信道子空间U。
A5:利用语种子空间L、信道子空间U,对超矢量v进行投影和补偿,提取超矢量v仅存在于语种子空间L的部分vL。
A6:通过支持向量机算法,建立语种模型。
A61:支持向量机训练算法;
令输入样本集为
p=[1,2,…,P],θ
p∈{+1,-1},通常,θ
p=+1的样本称为正样本,θ
p=-1的样本称为负样本。SVM算法寻找最优分类面w,使得正负样本集之间的距离最大。最优分类面w是通过求解下述优化函数而得
其中,‖w‖2与正负样本之间距离成反比,ξp是在样本线性不可分的情况下引入的松弛变量,C是控制错分样本的惩罚程度。上式在对偶空间求解,优化函数变为
其中,
α
p≥0,p=1,2,…,P,K(v
p,v
q)为
和
的核函数。
设最优解α
*,则最优分类面是训练样本的组合
p=[1,2,…,P]。
A62:对步骤A5中获得的超矢量,采用步骤A61中的支持向量机算法建立并训练语种模型。
S102:输入待测语音,对待测语音预处理得到特征序列,并根据坐标系选择算法和特征矢量映射算法,将特征矢量映射为待测超矢量,对待测超矢量进行投影和补偿,利用语种模型对待测超矢量打分,识别待测语音的语言种类。
具体的说,首先输入待测语音,然后采用上述步骤A1、A2、A3和A5中的方法提取超矢量。
B1:根据输入的待测语音,采用上述步骤A1、A2、A3和A5中的方法提取超矢量。具体的说,
B11:对待测语音进行预处理,从预处理后的待测语音中提取特征序列,特征序列是由一系列的特征向量组成;
B12:根据步骤A3中得到的各个坐标系原点,利用根据坐标系选择算法和特征序列映射算法,将特征矢量映射成待测超矢量;
B13:根据待测超矢量,通过步骤A4中得到的信道子空间和语种子空间,利用信道子空间和语种子空间对待测超矢量进行投影和补偿,提取待测超矢量仅存在于语种子空间的部分;
B2:利用步骤A62中训练的语种模型,对步骤B1中输出的超矢量进行打分,得到输出分数。其中打分函数为:
B3:对步骤B2的输出分数进行后处理,与判决门限比较,判别该段语音的语言种类。
根据本发明实施例提供的用于语种识别的建模方法,通过对语音信号特征序列的高维统计量有效建模,并采用子空间技术,去除了高维统计量中对识别无效的信息,提高了语种识别的正确率,又降低了在集成电路上的运算复杂度。
本发明实施例还提出了一种用于语种识别的建模装置。图3示出了该建模装置的结构框图。如图3中所示,该装置包括特征提取模块、多坐标系原点选择模块、特征矢量映射模块、子空间提取模块、子空间投影补偿模块、训练模块和识别模块。
其中,语音预处理模块,用于降噪,并去除彩铃、音乐等与语种识别无关的部分,输出纯净语音供特征提取模块;
A11:语音预处理模块对语音数据即语音信号进行零均值化和预加重,其中零均值化为整段语音减去其均值。预加重为语音进行高通滤波。
其中,高通滤波器传输函数为H(z)=1-αz-1,其中0.95≤α≤1。
A12:语音预处理模块对语音信号分帧。其中,帧长为20ms,帧移为10ms。
特征提取模块,用于读入预处理模块的语音,并提取特征,输出特征序列。其中,特征序列由特征向量组成。
特征序列是由一系列的特征向量组成。
A21:特征提取模块对语音信号加汉明窗,其中窗函数为:
A22:特征提取模块对加汉明窗的数据做离散傅立叶变换(DFT)
其中ωk代表频率,k代表频率标号,N是DFT变换点数。
A23:特征提取模块选择有M(m=1,2,…,M)个滤波器的滤波器组,其中第m个三角型滤波器如下定义
其中,f[m]为三角窗的边界点,由下式确定:
fl和fh为给定滤波器组的最低频率和最高频率,B为频率向梅尔频标的映射函数
B(f)=1125ln(1+(f/700)),
B-1为梅尔频标向频率的映射函数:
B-1(b)=700exp((b/1125)-1)。
A24:特征提取模块计算每个滤波器输出的对数能量
A25:离散余弦变换,并计算MFCC系数
取前7维系数,拼接成为MFCC基本特征c=[c0,c1,…,c6]。
A26:特征提取模块计算第n时刻的偏移差分倒谱特征(SDC),
s(iN+j)(n)=cj(n+iS+b)-cj(n+iS-b),j=1,2,…,N-1;i=0,1,…,K-1
其中,b为计算一阶差分特征时的帧数差,一般取值为1;K为块数,一般取值为7;S为各块之间的偏移帧数,一般取值为3。
在本实施例中,b=1,K=7,S=3
A27:特征提取模块将基本特征与差分特征拼接,形成新的特征矢量。
y(n)={cj(n),j=0,1,…,N-1;siN+j(n),j=0,1,…,N-1,i=0,1,…,K-1}
多坐标系原点选择模块,用于选取辅助训练集,在特征序列空间选择各个坐标系原点。
A31:多坐标系原点选择模块在辅助训练数据集上,通过EM算法选取多坐标系原点坐标o={o1,o2…,oC},C为坐标系数目。
A32:多坐标系原点选择模块选择特征矢量y(n)与原点坐标oj的度量f[y(n),oc],1≤c≤C,并计算特征矢量y(n)在每个子坐标系的占有率
特征矢量映射模块,用于根据选定的各个坐标系原点,将特征提取模块输出的特征矢量映射成为超矢量。
A33:多坐标系原点选择模块选择特征矢量y(n)在坐标系内的扩展函数g[y(n),cc],根据计算所得的占有率,特征矢量映射模块将特征矢量y(n)映射为超矢量
v(n)=[r[y(n)|o1]g[y(n),o1],r[y(n)|o2]g[y(n),o2],…,r[y(n)|oC)g(y(n),oC]]
A34:超矢量序列v(n)对时间取平均,得到该段语音的超矢量
子空间提取模块,用于利用辅助训练集上的超矢量训练语种子空间和信道子空间。
其中,信道子空间为超矢量所属空间所包含的,不利于识别的子空间。语种子空间为超矢量所属空间所包含的,有利于识别的子空间。
通过子空间投影、补偿技术,提取超矢量v中仅有利于语种识别的部分。
A41:在辅助训练数据集上,子空间提取模块提取语音超矢量{v0,v1,v2,…,vL}。对辅助训练集的要求是,尽量包含训练、识别语音的语言种类,并且每个语种要对应多段语音。
A42:子空间提取模块对提取的语音超矢量{v0,v1,v2,…,vL}采用主成分分析算法(PCA,包括直接求解矩阵方法和迭代求解法),提取语种子空间L。
A43:子空间提取模块对提取的语音超矢量{v0,v1,v2,…,vL}进行修正,每个超矢量减去对应语种超矢量的期望,得到新的语音超矢量{v′0,v′1,v′2,…,v′L}。对新的语音超矢量采用主成分分析算法(PCA,包括直接求解矩阵方法和迭代求解法),提取信道子空间U。
子空间投影补偿模块,用于利用语种子空间和信道子空间,对语音数据的超矢量和待测语音的超矢量进行投影补偿。
利用语种子空间L、信道子空间U,对超矢量v进行投影和补偿,提取超矢量v仅存在于语种子空间L的部分vL。
训练模块,用于对经过子空间投影补偿的超矢量,采用支持向量机算法建立并训练语种模型。
A61:支持向量机训练算法;
训练模块令输入样本集为
p=[1,2,…,P],θ
p∈{+1,-1},通常,θ
p=+1的样本称为正样本,θ
p=-1的样本称为负样本。SVM算法寻找最优分类面w,使得正负样本集之间的距离最大。最优分类面w是通过求解下述优化函数而得
其中,‖w‖2与正负样本之间距离成反比,ξp是在样本线性不可分的情况下引入的松弛变量,C是控制错分样本的惩罚程度。上式在对偶空间求解,优化函数变为
其中,
α
p≥0,p=1,2,…,P,K(v
p,v
q)为
和
的核函数。
设最优解α
*,则最优分类面是训练样本的组合
p=[1,2,…,P]。
A62:训练模块对已获得的超矢量,采用上述步骤A61中的支持向量机算法建立并训练语种模型。
本发明实施例提供的用于语种识别的建模装置还包括多坐标系原点存储模块、子空间模型存储模块和语种模型存储模块,
其中,多坐标系原点存储模块,用于存储来自多坐标系原点选择模块的坐标系原点;子空间模型存储模块,用于存储来自子空间选择模块的语种子空间和信道子空间;语种模型存储模块,用于存储来自训练模块的语种模型。
本发明实施例提供的用于语种识别的建模装置进一步包括识别模块,利用语种模型对待测超矢量打分,识别待测语音的语言种类。
具体的说,识别模块输入待测语音,对待测语音预处理得到特征序列,并根据坐标系选择算法和特征矢量映射算法,将特征矢量映射为待测超矢量,对待测超矢量进行投影和补偿,利用语种模型对待测超矢量打分,识别待测语音的语言种类。
首先输入待测语音,然后采用上述步骤A1、A2、A3和A5中的算法提取超矢量。
B1:语音预处理模块根据输入的待测语音,采用上述步骤A1、A2、A3和A5中的算法提取超矢量:包括:
B11:特征提取模块对待测语音进行预处理,从预处理后的待测语音中提取特征序列,特征序列是由一系列的特征向量组成;
B12:根据多坐标系原点存储模块存储的坐标系原点,特征矢量映射模块通过坐标系选择算法和特征序列映射算法,将所述特征矢量映射成待测超矢量;
B13:根据待测超矢量以及子空间模型存储模块存储的语种子空间和信道子空间,子空间投影补偿模块利用信道子空间和语种子空间对待测超矢量进行投影和补偿,提取待测超矢量仅存在于语种子空间的部分;
B2:识别模块利用语种模型存储模块存储的语种模型,根据子空间投影补偿模块输出的超矢量进行打分,得到输出分数。其中打分函数为:
B3:识别模块对输出分数进行后处理,与判决门限比较,判别该段语音的语言种类。
根据本发明实施例提供的用于语种识别的建模装置,通过对语音信号特征序列的高维统计量有效建模,并采用子空间技术,去除了高维统计量中对识别无效的信息,提高了语种识别的正确率,又降低了在集成电路上的运算复杂度。
本领域普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。