一种全音素框架下的通用语音唤醒识别方法及系统与流程

文档序号:14941763发布日期:2018-07-13 21:04阅读:320来源:国知局

本发明涉及语音唤醒领域,特别是一种全音素框架下的通用语音唤醒识别方法及系统。



背景技术:

随着语音识别技术的飞速发展,语音识别技术得到广泛地应用,其中语音唤醒技术在智能手机以及智能家居中的应用正在日益改变着人类的生活和生产方式。而传统的语音唤醒识别系统一般是针对特定唤醒词构建(即通过用户预定的唤醒词来触发系统),而现有的方法主要有两种,一种是基于动态时间弯折(dynamictimewarping,dtw)方法利用语音的声学特征进行动态匹配,首先需要提前录制若干同一条唤醒词的语音,其次将现场采集到的唤醒词语音与提前录制的语音通过声学特征进行动态匹配。这种方法主要针对特定的说话人、特定的场景以及特定的唤醒词系统。第二种是依赖于高斯混合模型-隐马尔科夫模型(gaussianmixturemodel-hiddenmarkovmodel,gmm-hmm)训练只包含特定唤醒词和garbage的模型,这种系统针对非特定人、非特定场景以及特定唤醒词,精度有所提高。以上提及到的两种目前的系统有一个共同的缺点通用性较差,面对当下语音唤醒广泛应用的时代,更换定制词和场景成本较高成为一大难题。



技术实现要素:

本发明的目的在于克服目前语音唤醒识别系统存在的上述问题,通过训练通用声学模型来实现语音唤醒系统快速定制,并结合限制解码路径以及后期处理,克服更换定制词成本高的难题。

为了实现上述目的,本发明提出了一种全音素框架下的通用语音唤醒识别方法,所述方法包括:首先训练深度神经网络声学模型,根据唤醒词修改词典,构造基于filler的解码网络,并根据训练样本训练支持向量机分类器;对输入语音进行预处理,将处理后的语音特征输入解码网络进行解码,根据深度神经网络声学模型计算声学得分,得到解码结果;将识别成功的解码结果的统计量输入支持向量机分类器进行分类,得到最终的识别结果。

上述技术方案中,所述方法具体包括:

步骤1)训练深度神经网络声学模型;

步骤2)根据唤醒词修改词典,使词典中只保留唤醒词、filler以及garbage的词条;根据词典构造基于filler的解码网络;

步骤3)根据训练样本训练支持向量机分类器;

步骤4)对输入的语音信号的原始语音进行分段和消除噪声,再进行特征的提取;

步骤5)将语音的特征输入解码网络进行解码,根据深度神经网络声学模型计算声学得分,得到解码结果;如果识别成功,进入步骤6),否则,转入步骤8);

步骤6)将解码结果中对应的每个音素所占用的时长、音素的后验概率以及置信度等统计量输入支持向量机分类器,如果分类器输出的结果为1,则解码结果正确,转入步骤7);否则,解码结果错误;转入步骤8);

步骤7)输入语音正确,唤醒成功;

步骤8)输入语音错误,唤醒失败。

上述技术方案中,所述步骤1)具体包括:

步骤1-1)建立训练样本,训练样本为带文本标注的远讲语音;

步骤1-2)建立深度神经网络声学模型;模型的输入层为远讲语音的声学特征;输出为样本被分为每一类的后验概率;

步骤1-3)训练深度神经网络声学模型;

首先随机初始化神经网络参数,训练样本进行前向计算,利用损失函数对网络的输出和标注计算误差,进行误差反向回传,调整神经网络参数,反复迭代,直到神经网络收敛低于某一个阈值或者学习率达到设定。

上述技术方案中,所述步骤2)具体包括:

步骤2-1)通过语言学的先验知识,将无调音素聚类为15种filler;

步骤2-2)构建发音字典的树形词典;该树形词典又称为前缀树,在此前缀树的发音词典搜索网络中只存在唤醒词、filler以及garbage路径。

上述技术方案中,所述步骤3)的具体实现过程为:

提取解码结果对应的每个音素所占用的时长、音素的后验概率以及置信度统计量,根据正样本测试集中正确结果的统计量与负样本测试集中虚警结果的统计量训练一个支持向量机分类器,用于区分唤醒和虚警。

一种全音素框架下的通用语音唤醒识别系统,所述系统包括:深度神经网络声学模型训练模块、解码网络建立模块、支持向量机分类器训练模块、语音处理模块、解码器、分类模块和输出模块;

所述深度神经网络声学模型训练模块,用于通过标注的训练样本训练出深度神经网络声学模型;

所述解码网络建立模块,用于根据唤醒词修改词典,使词典中只保留唤醒词、filler以及garbage的词条;根据词典构造基于filler的解码网络;

所述支持向量机分类器训练模块,用于根据正样本测试集中正确结果的统计量与负样本测试集中虚警结果的统计量训练一个支持向量机分类器;

所述语音处理模块,用于对通过麦克风输入的语音信号进行分段和消除噪声,再进行特征的提取,然后输入到解码器中;

所述解码器,用于对所述语音处理模块输出的语音进行解码,根据深度神经网络声学模型计算声学得分,得到解码结果;如果语音识别成功,输入分类模块,否则,发送唤醒失败的信息到输出模块;

所述分类模块,用于将解码结果中对应的每个音素所占用的时长、音素的后验概率以及置信度等统计量输入支持向量机分类器,如果分类器输出的结果为1,则解码结果正确,将唤醒成功的信息发送到输出模块;否则,解码结果错误;将唤醒失败的信息发送到输出模块;

所述输出模块,用于输出唤醒结果。

本发明的优点在于:

1、本发明的方法对全部无调音素扩展得到的三音子状态进行建模得到的是通用声学模型,解码过程中限制解码路径,可以提高唤醒性能,同时结合后期处理部分通过对每条路径上音素后验概率等多维统计量进行分析,设置阈值在保证唤醒率基本不变的情况下,来消除虚警率升高的隐患;

2、本发明的系统占用内存较少,具有应用更广泛、性能更好的特点,能够实现快速、低成本的更换定制词,满足用户需求。

附图说明

图1为本发明中的深度神经网络结构图;

图2为本发明中的解码网络示意图;

图3为本发明中的全音素框架下的通用语音唤醒识别系统的框架图。

具体实施方式

下面结合附图和具体实施例度本发明做进一步详细的说明。

如图1所示,一种全音素框架下的通用语音唤醒识别方法,所述方法具体包括:

步骤1)训练dnn(深度神经网络)声学模型;

目前深度神经网络在连续语音识别领域取得突出的成果,深度神经网络(deepneuralnetwork,dnn)是一种具有很强建模能力的神经网络,能够很好地学习任意维度的特征,相比于传统的混合高斯模型更适合于声学建模。它的结构如图1所示,包括输入层,隐藏层和输出层,相邻层的结点之间带权重的线连接,输出层的结点数量由聚类类别数量所决定,特征矩阵从输入层进入深度神经网络,经由一系列的权重计算和非线性激活函数,在输出层得到该特征被分为每一类的后验概率。

本实施例中,所述dnn声学模型的结构为:输入层52*11,其中52是语音提取到13维声学特征做3阶差分后得到的,11是为了充分考虑上下文信息将当前帧的前5帧和后5帧的特征也输入到神经网络中、隐层4*512、非线性函数为sigmoid、输出层1700节点分类数目。

模型的隐藏层激活函数为sigmoid,函数公式如下:

采用交叉熵(crossentropy,ce)目标函数迭代更新训练dnn网络,ce目标函数公式如下:

其中,yi=pemp(i|o)是观察o属于i的经验概率分布(从训练数据的标注中来),是采用dnn估计的概率。

语音数据包含全部无调音素(其中是68个无调音素加15个filler以及一个背景噪声garbage),并且语音是在各种不同的应用场景(其中包括音乐背景环境下、新闻联播等)采集的远讲语音,覆盖噪声种类广,使得系统泛化能力强。

训练过程:建立训练样本,训练样本为带文本标注的远讲语音;模型的输入为远讲语音的声学特征;输出为样本被分为每一类的后验概率;训练过程为输入训练样本,首先随机初始化神经网络参数,训练样本进行前向计算,利用损失函数对网络的输出和标注计算误差,进行误差反向回传,调整神经网络参数,反复迭代,直到神经网络收敛低于某一个阈值或者学习率达到设定的阈值,训练停止。

获得训练样本的标注的过程为:利用期望最大化(expectation-maximization,em)算法迭代更新gmm-hmm系统均值方差,音素进行上下文扩展,得到扩展三音子状态,利用基于数据驱动与知识结合的方法构建决策树对扩展三音子状态进行聚类,使用gmm-hmm模型对训练数据做强制对齐。最后,利用gmm-hmm系统得到的强制对齐结果作为训练模型的标注。

步骤2)根据唤醒词修改词典,使词典中只保留唤醒词、filler以及garbage的词条;根据词典构造基于filler的解码网络;具体包括:

步骤2-1)通过语言学的先验知识(包括发音相似性等信息),将无调音素聚类为15种filler,15种filler是虚拟音素用来吸收除唤醒词外的其他音素;

步骤2-2)构建发音字典的树形词典;

该树形词典又称为前缀树,在此前缀树的发音词典搜索网络中只存在唤醒词、filler以及garbage路径;如图2所示;

步骤3)根据训练样本训练支持向量机分类器;

对解码过程中产生的多维统计量进行阈值分析,在不影响唤醒率的情况下,压低虚警率。阈值分析方面主要依赖于svm分类器,利用正样本解码正确的路径以及负样本解码正确的路径产生的多维统计量训练svm二分类器。

为了提高唤醒率,在解码过程中采用了前文提到的限制解码网络路径,这在提高唤醒率的同时会出现虚警率的上升的问题。在解码结果中,会产生当前解码结果对应的每个音素所占用的时长、音素的后验概率以及置信度等统计量,可以将正样本测试集中正确结果的统计量(正样本训练集)与负样本测试集中虚警结果的统计量(负样本训练集)训练一个二分类的支持向量机(supportvectormachine,svm)来区分唤醒和虚警。

步骤4)对输入的语音信号的原始语音进行分段和消除噪声,再进行特征的提取;

提取的特征相对较短,使其更能体现语音内容信息,减少环境因素的影响;

步骤5)将语音的特征输入解码网络进行解码,根据dnn声学模型计算声学得分,得到解码结果;如果识别成功,进入步骤6),否则,转入步骤8);

在解码过程中,随着声学特征的输入,开始遍历解码网络中的路径,网络中每一条路径上存储状态编号,由于不依赖与语言模型,只需要获得当前语音帧在此状态编号的声学模型得分,与之前得分累计记录下来。而存储filler状态编号的路径声学得分是当前帧的几个无调音素对应的声学得分的平均值(其中这几个无调音素是通过语言学先验知识聚类为此filler的音素)。

步骤6)将解码结果中对应的每个音素所占用的时长、音素的后验概率以及置信度等统计量输入支持向量机分类器,如果分类器输出的结果为1,则解码结果正确,转入步骤7);否则,解码结果错误;转入步骤8);

步骤7)输入语音正确,唤醒成功;

步骤8)输入语音错误,唤醒失败。

如图3所示,本发明还提供了一种全音素框架下的通用语音唤醒识别系统,所述系统包括:dnn声学模型训练模块、解码网络建立模块、支持向量机分类器训练模块、语音处理模块、解码器、分类模块和输出模块;

所述dnn声学模型训练模块,用于通过标注的训练样本训练出dnn声学模型;

所述解码网络建立模块,用于根据唤醒词修改词典,使词典中只保留唤醒词、filler以及garbage的词条;根据词典构造基于filler的解码网络;

所述支持向量机分类器训练模块,用于将正样本测试集中正确结果的统计量(正样本训练集)与负样本测试集中虚警结果的统计量(负样本训练集)训练一个二分类的支持向量机来区分唤醒和虚警;

所述语音处理模块,用于对通过麦克风输入的语音信号进行分段和消除噪声,再进行特征的提取,然后输入到解码器中;

所述解码器,用于对所述语音处理模块输出的语音进行解码,根据dnn声学模型计算声学得分,得到解码结果;如果语音识别成功,输入分类模块,否则,发送唤醒失败的信息到输出模块;

所述分类模块,用于将解码结果中对应的每个音素所占用的时长、音素的后验概率以及置信度等统计量输入支持向量机分类器,如果分类器输出的结果为1,则解码结果正确,将唤醒成功的信息发送到输出模块;否则,解码结果错误;将唤醒失败的信息发送到输出模块;

所述输出模块,用于输出唤醒结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1