具体实施方式
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
该实施例提供的一种对中英文语音信号进行识别的方法的处理流程如图1,包括如下处理步骤:
步骤11、通过搜索算法对待识别的中英文语音信号进行特征提取,获取所述待识别的语音信号的特征信息。
在得到待识别的中英文语音信号后,通过搜索算法对待识别的中英文语音信号进行特征提取,获取所述待识别的语音信号的特征信息。上述搜索算法可以为帧同步束搜索算法、基于后向三元文法(3-gram)的N-best堆栈解码搜索算法等。
步骤12、将所述特征信息与预设的混合发音数据库中的每一个音素序列对应的声学模型进行比较。
该实施例需要根据中英文发音音素的对应映射方法,利用中文声韵母模型和英文音素模型建立包括多个数据条目的混合发音数据库,每个数据条目中包括一个中英文混合短语和代表所述中英文混合短语的声学特征的音素序列。
然后,将所述待识别的语音信号的特征信息与上述混合发音数据库中的每一个音素序列对应的声学模型进行比较。
步骤13、根据比较结果确定所述特征信息对应的音素序列,获取该音素序列对应的中英文混合短语,将该中英文混合短语作为所述待识别的中英文语音信号的识别结果。
通过中文语音训练数据对所述混合发音数据库中的每一个音素序列进行训练,得到每一个音素序列对应的中文的声学模型。
将所述待识别的语音信号的特征信息与所述每一个音素序列对应的中文的声学模型进行比较,分别获取对应的相似度,获取相似度最高的中文的声学模型。将所述相似度最高的中文的声学模型对应的音素序列对应的中英文混合短语,作为所述待识别的中英文语音信号的识别结果。
所述的中文的声学模型包括:上下文相关的隐马尔可夫模型。
实施例二
本发明实施例二提供了一种基于中英文参数共享的中文声韵母模型与英文音素模型方法,该方法处理流程如图2所示,包括如下步骤:
步骤21:建立中文声韵母和英文音素的单状态模型对照表。
为了避免中文声韵母与英文音素符号相同造成的混淆,在中文声韵母符号前加上前缀ch_,在英文音素前加上前缀eng_,如中文声母f写为ch_f,英文音素f写为eng_f:中文声韵母64个(包含零声母),英文音素45个(选用英国英语音素),中文声韵母和英文音素共109个。
将每一个中文声韵母和英文音素拆分成多个(比如3个)单状态模型,例如中文声母ch_f,拆分为ch_f1,ch_f2,ch_f3,英文音素eng_f拆分为eng_f1,eng_f2,eng_f3。制作中文声韵母和英文音素的单状态模型对照表,该单状态模型对照表的行数为109,列数为2,下述表1为该单状态模型对照表的一部分。
表1:
中文声韵母和英文音素(109个) |
拆分后的单状态模型 |
ch_f |
ch_f1,ch_f2,ch_f3 |
eng_f |
eng_f1,eng_f2,eng_f3 |
步骤22:制作出单状态模型标注的中文、英文训练数据和测试数据的单状态模型标注文件,提取特征参数。
制作中文训练数据的声韵母单元标注,和英文训练数据的音素标注。
所述的音素标柱指的是标识出语音数据文件中声韵母单元(或英文的音素)的起始结束位置,例如如果一段中文语音数据的内容是“北京”,可以采用如下方式标柱:
b 100 120
ei 120 350
j 350 410
ing 410 620
上面数值的单位是毫秒。
根据上述中文声韵母和英文音素的单状态模型对照表,中文训练数据的声韵母标注,英文训练数据的音素标注,制作出单状态模型标注的中文、英文训练数据和测试数据的单状态模型标注文件。
声韵母单元(或英文的音素)包含多个状态,例如韵母ei包含ei1、ei2、ei3三个状态,在前面所举的例子中ei从120毫秒还是到350毫秒结束,可以将这一段数据采用手动或自动的方法分配给这三个状态,分配之后的单状态模型标注的形式可以如下所示:
ei1 120 180
ei2 180 280
ei3 280 350
提取中文和英文训练数据的特征参数,如MFCC((Mel FrequencyCepstral Coefficient,美尔频率倒谱系数)参数。
MFCC参数的提取方法是,将语音信号分为若干帧,帧的长度一般为10毫妙至30毫妙,然后对每帧信号进行时频变换,将变换后的频域信号按照人的听觉机理划分为若干组,求出每组的能量,再对这些组的能量求对数并进行余玄变换,余玄变换后的系数即为MFCC参数,由于该参数的提取是公知技术,本发明不进行更详细的介绍。
步骤23:对中文和英文单状态模型进行训练。
用HTK(Hidden Markov Model Toolkit,隐藏马尔科夫模型工具包)工具和整理的中文训练数据训练中文单状态模型。当然,在本发明实施例中也可以采用其他的方法训练中文和英文单状态模型,本实施例包括但不限于上述方式。
用HTK工具和整理的英文训练数据训练英文单状态模型。
步骤24:进行TCM(Two-pass phone clustering method based onConfusion Matrix,基于混淆矩阵的两遍音素聚类方法)两遍搜索算法的第一遍搜索,中文作为目标语言,英文作为源语言。
用中文单状态模型对中文测试数据进行对齐,得到中文单状态模型序列和每个中文单状态模型出现的起始时间。
用英文单状态模型对中文测试数据进行识别,得到英文单状态模型序列和每个英文单状态模型出现的起始时间。
定义同现规则,当在同一个中文测试数据文件中,中文单状态模型和英文单状态模型出现的时间交叠部分达到中文单状态模型持续时间的一定比例时,定义该中文单状态模型和该英文单状态模型出现一次同现。根据同现规则得到中文单状态模型与英文单状态模型的同现矩阵ch_eng_co_current_matri,该同现矩阵行数为192,列数为135。
由中文单状态模型与英文单状态模型的同现矩阵得到中文单状态模型与英文单状态模型的混淆矩阵ch_eng_confusion_matix。该混淆矩阵的第i行,第j个元素为同现矩阵中第i行,第j个元素的值除以第j列元素之和。
其中i=1,2,,,192;j=1,2,,,135。
步骤25:进行TCM两遍搜索算法第二遍搜索,英文作为目标语言,中文作为源语言。
用英文单状态模型对英文测试数据进行对齐,得到英文单状态模型序列和每个英文单状态模型出现的起始时间。
用中文单状态模型对英文测试数据进行识别,得到中文单状态模型序列和每个中文单状态模型出现的起始时间。
定义同现规则,当在同一个英文测试数据文件中,英文单状态模型和中文单状态模型出现的时间交叠部分达到英文单状态模型持续时间的一定比例时,定义该英文单状态模型和该中文单状态模型出现一次同现。根据同现规则得到英文单状态模型与中文单状态模型的同现矩阵eng_ch_co_current_matri,该同现矩阵行数为135,列数为192。
由上述英文单状态模型与中文单状态模型的同现矩阵得到英文单状态模型与中文单状态模型混淆矩阵。该混淆矩阵的第i行,第j个元素为同现矩阵中第i行,第j个元素的值除以第j列元素之和。
其中i=1,2,,,135;j=1,2,,,192。
步骤26:综合TCM第一遍和第二遍搜索结果,得到最终的混淆矩阵final_confusion_matrix,根据该最终的混合矩阵对中文单状态模型和英文单状态模型进行聚类。
把步骤24得到的中文单状态模型与英文单状态模型的混淆矩阵进行转置后,与步骤25得到的英文单状态模型与中文单状态模型的混淆矩阵的对应元素求和、取平均得到最终的混淆矩阵final_confusion_matrix。
从上述最终的混淆矩阵搜索到混淆度最大的元素,设该元素位于最终的混淆矩阵中的第i行,第j列,则将第i行对应的英文单状态模型与第j列对应的中文单状态模型聚为一类,删除矩阵final_confusion_matrix中第i行元素和第j列元素,此时最终的混淆矩阵final_confusion_matrix减少一行,减少一列。
更新上述最终的混淆矩阵,该最终的混淆矩阵中第n行第k列元素的值更新为第n行对应的英文音素所属于的类中的所有音素与第k列对应的中文音素所属于的类中的所有音素混淆度的最小值。
重复执行上述搜索到混淆度最大的元素、更新上述最终的混淆矩阵的处理过程,直到聚类达到要求为止。
步骤27:用中文单状态模型和英文单状态模型聚类的结果和经过拆分的中文声韵母和英文音素单状态模型对照表,合成中文声韵母模型和英文音素模型,计算中文声韵母模型与英文音素模型之间的Bhattacharyya(巴塔恰里雅,人名)距离。
根据聚类后的中文和英文单状态模型,合成中文声韵母模型和英文音素模型。
计算中文声韵母模型与英文音素模型之间的Bhattacharyya距离,中文声韵母模型与英文音素模型之间的Bhattacharyya距离定义为,中文声韵母模型与英文音素模型对应状态之间Bhattacharyya距离之和,得到Bhattacharyya距离矩阵distance_matrix,例如中文声母ch_f与英文音素eng_b之间的距离Bhattacharyya为(设ch_f为中文声韵母中第i个,eng_b为英文音素中的第j个):
其中in为声母ch_f的第n个状态,jn为音素eng_b的第n个状态。
设in的输出概率服从高斯分布N(μi,n,σi,n),jn的输出概率服从高斯分布N(μj,n,σj,n)
则:
步骤28:利用中文声韵母和英文音素模型的Bhattacharyya距离矩阵和聚类距离阈值k,对中文声韵母模型和英文音素进行聚类。
利用上述步骤27得到的中文声韵母和英文音素模型的Bhattacharyya距离矩阵,以及预先设定的聚类距离阈值k,对中文声韵母模型和英文音素模型进行聚类。
从上述Bhattacharyya距离矩阵搜索到数值最小的元素,设该元素位于Bhattacharyya距离矩阵中的第i行,第j列,则将第i行对应的英文音素模型与第j列对应的中文声韵母模型聚为一类。
更新上述Bhattacharyya距离矩阵,将Bhattacharyya距离矩阵中第i行第j列元素的值更新为第i行对应的英文音素所属于的类中的所有音素与第j列对应的中文声韵母所属于的类中的所有音素混淆度的最大值。
重复执行上述Bhattacharyya距离矩阵中搜索数值最小的元素、更新上述最终的Bhattacharyya距离矩阵的处理过程,直到搜索出的数值最小的元素大于阈值k,则聚类过程结束。
该实施例通过将每一个中文声韵母和英文音素拆分成多个(比如3个)单状态模型,建立中文声韵母和英文音素的单状态模型对照表,合成中文声韵母模型和英文音素模型。兼顾中文和英文发音的特点,在状态层面让中英文模型参数充分共享,在模型层次上保持了中英文双语模型之间的距离。
实施例三
基于上述中文声韵母模型和英文音素模型,该实施例提供的一种中英文语音信号识别装置的结构框图如图3所示,包括如下模块:
特征信息提取模块33,用于通过搜索算法对待识别的中英文语音信号进行特征提取,获取所述待识别的语音信号的特征信息。上述特征信息提取模块可以通过与语言无关的语音识别解码器来实现,
识别比较模块35,用于将所述特征信息与预设的混合发音数据库中的每一个音素序列对应的声学模型进行比较;
处理模块36,用于根据所述识别比较模块35所获取的比较结果确定所述特征信息对应的音素序列,获取该音素序列对应的中英文混合短语,将该中英文混合短语作为所述待识别的中英文语音信号的识别结果。
所述装置还可以包括31:
中文声韵母模型和英文音素模型建立模块,用于将每一个中文声韵母和英文音素拆分成多个单状态模型,制作中文声韵母单状态模型和英文音素的单状态模型的对照关系;用中文训练数据训练所述中文声韵母的单状态模型,用英文训练数据训练所述英文音素的单状态模型;
利用所述中文声韵母单状态模型和英文音素的单状态模型的对照关系,对训练后的所述中文声韵母和英文音素的单状态模型执行TCM两遍搜索算法得到混淆矩阵,根据所述混合矩阵对所述中文声韵母的单状态模型、英文音素的单状态模型进行聚类;
根据聚类后的所述中文声韵母的单状态模型合成中文声韵母模型,根据聚类后的所述英文音素的单状态模型合成英文音素模型,并对所述中文声韵母模型和英文音素模型进行聚类。
语言模型管理模块34,用于根据中英文发音音素的对应映射方法,利用中文声韵母模型和英文音素模型建立混合发音数据库,所述的混合发音数据库包括多个数据条目,每个数据条目中包括一个中英文混合短语和代表所述中英文混合短语的声学特征的音素序列。
所述混合发音数据库充分考虑了中文和英文各自的发音特点,将英文的音素映射到了中文的声韵母上。该实施例提供的一种上述混合发音数据库的结构示意图如图4所示,混合发音数据库可以包括多个数据条目,比如包括数据条目1到数据条目N。该实施例提供的一种上述数据条目的结构示意图如图5所示,图5中的数据条目包括一个词条序号,一个中英文混合短语以及一个音素序列。词条序号用于组织所有的词条。
上述的中英文混合短语可以是任何类型的话语或语音,包括按照适当方案来表示的句子、短语或单词。比如,可以是中文短语、英文短语以及中英文混合的命令短语(如Peter张,游戏PK),其对应的语音为非特定人的中英文混合短语语音,中文支持标准普通话或略带口音,英文支持标准英语或略带口音。中英文混合短语的词条数目单层可以动态调整,从数十条到几百条,并且通过分层建立方法可以扩展词条总数;识别词条的内容可以通过外部数据软件自动更新而无需重新训练。
上述的混合发音数据库中的数据条目类可以包括(但不限于)中文普通话类、英语类、混合的中文普通话-英语类。其中,中文普通话类可以包括从标准普通话中选出的任何适当的单词或短语。同样地,英语类可以包括从标准英语中选出的任何适当的单词或短语。然而,为将英语发音转化成相应的中文普通话发音,来自英语类的单词和短语需要利用中英文发音音素的快速对应映射方法来完成英语发音到中文普通话发音的转化。混合的中文普通话-英语类可以包括从标准中文普通话语言和标准英语语言中选出的任何适当的单词或短语。本发明实施例可以组合这些来自两种不同语言的单词和短语,以便在混合发音数据库中创建组合式短语。组合式短语可以是中文短语和英文短语的任意组合,例如中文短语在前,英文短语在后或英文短语在前,中文短语在后的组合方式。然而,正如以上所讨论的,为将英语发音转化成相应的中文普通话发音,来自英语类的单词和短语需要利用中英文发音音素的快速对应映射方法来完成英语发音到中文普通话发音的转化。
上述的音素序列与中英文混合短语相对应,用于表示中英文混合短语的声学特性,音素序列可以由一个预定的音素集合中的一系列音素构成,其中的音素集合供语音识别解码器使用。在图5中,上述音素序列可以包括音素1到音素N。
出于说明的目的,提供下面的表1作为上述数据条目的一个具体实施例。
表1:
1 |
[peter张] |
p i t e zh ang |
2 |
[book房间] |
d u k f ang j ian |
3 |
[check你的邮箱] |
ch ai k n i d e_i iu x iang |
4 |
[high的心情] |
g uai d e x in q ing |
5 |
[北京airport] |
b ei j ing ei p o t |
6 |
[你好] |
n i h ao |
7 |
[下午两点] |
x ia_u u l iang d ian |
8 |
[下午三点] |
x ia_u u s an d ian |
9 |
[天气会怎样] |
t ian q i h ui z en_i iang |
10 |
[天气怎么样] |
t ian q i z en m e_i iang |
11 |
[night] |
n ai t |
12 |
[super star] |
s ui p er s t a |
13 |
[my god] |
m ai g o d |
14 |
[shopping mall] |
x ve o p i eng m ao |
15 |
[I dont′s care] |
ai d o eng t ch ei er |
在上述表1中,纵向的第一栏表示词条序号;纵向的第二栏表示中英文混合短语;纵向的第三栏表示对应于中英文混合短语的声学特性的音素序列。横向的1到5栏是从标准中文普通话语言和标准英语语言中选出的组合式短语的实施例,属于混合的中文普通话-英语类;横向的6到10栏是从标准普通话中选出的单词或短语的实施例,属于中文普通话类;横向的11到15栏是从标准英语中选出的单词或短语的实施例,属于英语类。其中来自英语类的所述单词和所述短语需要利用中英文发音音素的快速对应映射方法来完成英语发音到中文普通话发音的转化。
出于说明的目的,提供下面的表2作为中英文发音音素的快速对应映射方法的一个实施例。表2中Man一栏代表中文的声韵母,Eng一栏代表英文的音素。英文的音素可以被映射到左边最近Man一栏中的声韵母上。
表2:
Man |
Eng |
Man |
Eng |
Man |
Eng |
Man |
Eng |
Man |
Eng |
a |
aa |
eng |
aa ng |
ing |
iy ng |
q |
ch |
uen |
er n |
ai |
ae |
er |
aa |
iong |
uw ng |
r |
y |
ueng |
aa ng |
an |
ae ng |
f |
f |
iou |
ow |
s |
s |
uo |
ao |
ang |
aa ng |
g |
g |
j |
y |
sh |
sh |
ü |
iy |
ao |
aw |
g |
hh |
k |
k |
t |
hh |
üan |
ae ng |
b |
b |
i |
iy |
l |
y |
u |
uw |
üe |
ey |
c |
th |
ia |
aa |
m |
m |
ua |
aa |
ün |
ey ng |
ch |
ch |
ian |
ae ng |
n |
y |
uai |
ay |
w |
w |
d |
b |
iang |
aa ng |
o |
ao |
uan |
ay ng |
x |
s |
e |
aa |
iao |
aw |
ong |
ow ng |
uang |
aa ng |
y |
y |
ei |
ey |
ie |
ey |
ou |
ow |
uei |
ey |
z |
th |
Man |
Eng |
Man |
Eng |
Man |
Eng |
Man |
Eng |
Man |
Eng |
en |
ae n |
in |
iy ng |
p |
p |
ue |
er n |
zh |
jh |
所述表2中的Man栏表示中文发音音素,所述表1中的Eng栏表示英文发音音素。表2中给出的中英文发音音素的快速对应映射方法的一个实施例是在数据驱动和统计方法与语言学规则的基础上,基于上述中文声韵母模型和英文音素模型建立的,它充分考虑了中文和英文各自的发音特点,将英文的音素映射到了中文的声韵母上,形成了中英文混合语音在音素和字典层的可信组合,为构建混合发音数据库提供了方法上的保证。
声学模型管理模块32,用于通过中文语音训练数据对混合发音数据库中的每一个音素序列进行训练,得到每一个音素序列对应的中文的声学模型。所述的中文的声学模型可以为利用大量的中文语音数据对上述混合发音数据库进行训练后得到的上下文相关的隐马尔可夫(HMM)模型。该隐马尔可夫模型可以包括对现有的任何一个音素的声学描述,并可以有效地利用一个特定的音素序列来表示混合发音数据库中的各个中英文混合短语。该实施例提供的一种对应于一个音素序列的上下文相关的隐马尔可夫模型的结构示意图如图6所示。在图6中,上下文相关的隐马尔可夫模型对应于中文的声学模型,它是由大量的中文语音数据训练而来的。中文训练数据可以是863语音数据库的一部分,并且可以包含带有重庆、广州、厦门、上海四种口音的语音数据。
所述特征信息提取模块33具体可以包括:
第一搜索处理模块331,用于利用所述混合发音数据库,通过基于前向二元文法的帧同步束搜索对待识别的中英文语音信号进行特征信息提取,获取第一搜索结果;
第二搜索处理模块332,用于利用所述混合发音数据库,通过基于后向三元文法的堆栈解码搜索对所述第一搜索结果进行进一步搜索,获取所述待识别的中英文语音信号的特征信息。
所述的识别比较模块35,用于将所述特征信息与所述每一个音素序列对应的中文的声学模型进行比较,分别获取对应的相似度,确定相似度最高的中文的声学模型;
所述的处理模块36,用于获取所述识别比较模块35所确定的相似度最高的中文的声学模型对应的音素序列,通过查询所述混合发音数据库获取所述音素序列对应的中英文混合短语,将该中英文混合短语作为所述待识别的中英文语音信号的识别结果。
上述特征信息提取模块可以通过与语言无关的语音识别解码器来实现,上述语音识别解码器,用于利用中文的声学模型和混合发音数据库来简洁、准确、高效、实时地完成中英文语音信号的识别。
该实施例提供的一种上述中英文语音信号识别装置进行语音识别的处理流程如图7所示,具体处理过程如下:
中英文语音信号识别装置首先要完成初始化,才能接收中英文语音信号并完成识别任务。初始化之前要载入系统配置文件和声学参数配置文件,并解析相关的配置文件,为载入声学模型和混合发音数据库做好准备。
载入上述混合发音数据库和中文的声学模型(上下文相关的隐马尔可夫模型),然后,系统会建立HMM词法树,并分析所有模型的参数。这些准备工作完成以后,系统开始初始化输入设备,接收待识别的中英文语音信号,最后通过利用语音识别解码器进行双通道的搜索,输出识别结果。
在图3所示的中英文语音信号识别装置中,可以通过语音识别解码器利用混合发音数据库对输入的中英文语音信号进行两个通道的搜索处理,获取输入的中英文语音信号的特征信息。第一通道(Pass 1)是基于前向二元文法(2-gram)的帧同步束搜索,它是一种高速的近似搜索方法;第二通道(Pass 2)是基于后向三元文法(3-gram)的N-best堆栈解码搜索。初始输入的处理是在第一个通道进行的,最后的搜索处理在第二通道,它使用了第一通道的搜索结果,缩小了搜索空间,保证了极高的搜索的精确性。这种与语言无关的语音识别解码器不需要进行语种识别,不存在出现语种识别错误的风险,并且可以扩展和应用到其它语种。
然后,语音识别解码器将获取的输入的中英文语音信号的特征信息与混合发音数据库中的每一个音素序列对应的上下文相关的隐马尔可夫模型进行比较,分别获取对应的相似度,确定相似度最高的隐马尔可夫模型。将所述相似度最高的隐马尔可夫模型对应的音素序列对应的中英文混合短语,作为所述输入的中英文语音信号的识别结果。
该实施例中由混合发音数据库配合中文的声学模型以及语音识别解码器构建的中英文混合短语识别系统可以完成高达65535个词的搜索任务,并且保持实时,高速和识别的准确性。对于单语种的20000个词的听写任务,识别率高达95%以上;对于500个中英文混合命令词的识别任务,识别率在88%以上。中英文混合短语识别系统对内存的需求低,不会占用很多的计算机资源。一般20000个词以内的搜索任务,需要的内存不会超过64MBytes。
该实施例通过利用中英文发音音素的快速对应映射方法来建立混合发音数据库。所述混合发音数据库提供了中文普通话语言口语的准确表示,并且可以通过快速对应映射方法合并来自英语语言的各种单词和短语。本发明中的语音识别解码器可以仅利用混合发音数据库配合中文的声学模型简洁、准确、高效、实时地完成中英文语音信号的识别任务。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本发明实施例在状态层面让中英文模型参数充分共享,在模型层次上保持了中英文双语模型之间的距离。采用状态层次聚类然后在中文声韵母和英文音素模型层次进行比较的方法,可以建立混淆度更小的声学模型,并且不需要大量的标注好的语音训练数据,节约系统资源。
本发明实施例根据中英文发音音素的对应映射方法,利用中文声韵母模型和英文音素模型建立包括多个数据条目的混合发音数据库,可以有效地提高中英文语音信号的识别率。
本发明实施例为跨语言识别包括将中英文混合识别系统移植到其它语言上提供理论和技术上的支撑。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。