一种语音建模方法及装置与流程

文档序号:14716567发布日期:2018-06-16 01:28阅读:214来源:国知局
一种语音建模方法及装置与流程

本发明涉及语音识别技术领域,尤其涉及一种语音建模方法及装置。



背景技术:

语音识别即让机器听懂人说的话,将语音信号转化为计算机可识别的输入。目前的语音识别技术主要为统计模式识别技术和人工神经网络技术。

隐马尔科夫模型(Hidden Markov Model,HMM)是当今语音识别等语音技术领域的较为完善较为成熟的模型,其使用统计的概念将时序性的语音通过隐马尔科夫过程来建模,取得了较好的结果。

近年来基于深度神经网络(Deep Neural Networks,DNN)语音识别系统受到研究人员越来越多的关注。深度学习的概念源于人工神经网络的研究,由Hinton等人于2006年提出。深度学习的实质是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。主要有以下观点:(1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的描述,从而有利于分类;(2)深度神经网络在训练上的难度,可以通过“逐层初始化”来有效克服,而逐层初始化是通过无监督学习实现的。

为了提高对具有方言口音背景的普通话的识别准确率,现有技术提供了多种方法。其中一些方法针对声学建模过程中的训练方法进行改进,一些方法对识别系统中的语言模型进行改进。但是,现有的对具有方言口音背景的普通话识别方法中,训练模型的复杂度高。



技术实现要素:

有鉴于此,本发明提供一种语音建模方法及装置,用以降低语音模型建模的复杂度。

为解决上述技术问题,本发明提供一种语音建模方法,包括:

将标准普通话数据和至少一种带有方言口音的普通话数据作为输入数据,并提取所述输入数据的语音特征向量;

利用所述语音特征向量训练深度神经网络DNN声学模型,其中所述声学模型的输出层输出第一概率;

获取带有目标方言口音的普通话数据;

利用所述带有目标方言口音的普通话数据学习所述输出层,并利用所述输出层输出的第二概率更新所述第一概率。

其中,所述提取所述输入数据的语音特征向量的步骤,包括:

对所述输入数据进行加窗分帧操作,获得语音帧;

去除所述语音帧中的静音帧,获得所述语音特征向量。

其中,所述利用所述语音特征向量训练深度神经网络DNN声学模型,其中所述声学模型的输出层输出第一概率的步骤,包括:

将所述语音特征向量作为输入信号输入到所述DNN声学模型的输入层;

在所述DNN声学模型的多个隐藏层中,利用每个隐藏层对应的第一权值,对所述每个隐藏层的输入信号进行处理,获得所述每个隐藏层的输出信号;

在所述DNN声学模型的输出层,对最上一隐藏层的输出信号进行处理,获得第一概率。

其中,所述利用所述带有目标方言口音的普通话数据学习所述输出层,并利用所述输出层输出的第二概率更新所述第一概率的步骤,包括:

将所述带有目标方言口音的普通话数据作为输入信号输入到所述DNN声学模型的输入层;

在所述DNN声学模型的多个隐藏层中,利用每个隐藏层对应的第二权值,对所述每个隐藏层的输入信号进行处理,获得所述每个隐藏层的输出信号;

在所述DNN声学模型的输出层,对最上一隐藏层的输出信号进行处理,获得第二概率;

利用所述第二概率更新所述第一概率。

其中,在所述利用所述带有目标方言口音的普通话数据学习所述输出层,并利用所述输出层输出的第二概率更新所述第一概率的步骤前,所述方法还包括:

去除所述带有目标方言口音的普通话数据中的静音帧;

所述将所述带有目标方言口音的普通话数据作为输入信号输入到所述DNN声学模型的输入层的步骤,包括:

将去除了所述静音帧之后的带有目标方言口音的普通话数据,作为输入信号输入到所述DNN声学模型的输入层。

其中,所述方法还包括:

获取待识别的带有口音的普通话数据;

根据所述第二概率识别对所述待识别的带有口音的普通话数据进行识别。

第二方面,本发明提供一种语音建模装置,包括:

提取模块,用于将标准普通话数据和至少一种带有方言口音的普通话数据作为输入数据,并提取所述输入数据的语音特征向量;

训练模块,用于利用所述语音特征向量训练深度神经网络DNN声学模型,其中所述声学模型的输出层输出第一概率;

获取模块,用于获取带有目标方言口音的普通话数据;

建模模块,用于利用所述带有目标方言口音的普通话数据学习所述输出层,并利用所述输出层输出的第二概率更新所述第一概率。

其中,所述提取模块包括:

第一获取子模块,用于对所述输入数据进行加窗分帧操作,获得语音帧;

第二获取子模块,用于去除所述语音帧中的静音帧,获得所述语音特征向量。

其中,所述训练模块包括:

第一输入层子模块,用于将所述语音特征向量作为输入信号输入到所述DNN声学模型的输入层;

第一隐藏层子模块,用于在所述DNN声学模型的多个隐藏层中,利用每个隐藏层对应的第一权值,对所述每个隐藏层的输入信号进行处理,获得所述每个隐藏层的输出信号;

第一输出层子模块,用于在所述DNN声学模型的输出层,对最上一隐藏层的输出信号进行处理,获得第一概率。

其中,所述建模模块包括:

第二输入层子模块,用于将所述带有目标方言口音的普通话数据作为输入信号输入到所述DNN声学模型的输入层;

第二隐藏层子模块,用于在所述DNN声学模型的多个隐藏层中,利用每个隐藏层对应的第二权值,对所述每个隐藏层的输入信号进行处理,获得所述每个隐藏层的输出信号;

第二输出层子模块,用于在所述DNN声学模型的输出层,对最上一隐藏层的输出信号进行处理,获得第二概率;

更新子模块,用于利用所述第二概率更新所述第一概率。

其中,所述装置还包括:

处理模块,用于去除所述带有目标方言口音的普通话数据中的静音帧;

所述第二输入层子模块具体用于,将去除了所述静音帧之后的带有目标方言口音的普通话数据,作为输入信号输入到所述DNN声学模型的输入层。

其中,所述装置还包括:

接收模块,用于获取待识别的带有口音的普通话数据;

识别模块,用于根据所述第二概率识别对所述待识别的带有口音的普通话数据进行识别。

本发明的上述技术方案的有益效果如下:

在本发明实施例中,以标准普通话数据和至少一种带有方言口音的普通话数据为基础,运用深度神经网络技术训练声学模型,获得第一概率。对带有目标方言口音的普通话数据,利用学习该声学模型输出层,并利用所述输出层输出的第二概率更新所述第一概率。因此,利用本发明实施例的方案,在利用目标方言口音的普通话数据进行自适应调整时,复用训练好声学模型的隐藏层的参数,不用为各个方言区带方言口音的数据单独建立模型,简化了模型训练的复杂度,从而降低了语音模型建模的复杂度。

附图说明

图1为本发明实施例一的语音建模方法的流程图;

图2为本发明实施例二的语音建模装置的结构图;

图3为本发明实施例二的语音建模装置的示意图;

图4为本发明实施例三的自动语音识别系统的示意图。

具体实施方式

下面将结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

实施例一

如图1所示,本发明实施例一的语音建模方法,包括:

步骤101、将标准普通话数据和至少一种带有方言口音的普通话数据作为输入数据,并提取所述输入数据的语音特征向量。

汉语主要包括:官方公布的标准普通话和带有各地区方言口音的普通话。汉语方言按地域可大致划分为八大方言区。汉语普通话是一种单一语言。但是,普通话的发音会受到各个地区所说方言口音的影响,在发音上相比标准普通话在字词上存在音变的现象。因而,这导致只用单一标准普通话的数据训练出的声学模型,无法有效正确的描述带有音变的声学特征;另外在工程上也很难收集到在特定方言下带有该方言口音的普通话数据,并建立足够多数据的数据库。

因此,在本发明实施例中,输入数据选用标准普通话数据以及至少一个方言区的带方言口音的普通话数据,共同提取声学特征向量,训练多隐藏层的DNN模型。优选的,在此输入数据选用标准普通话数据和八大方言区带有方言口音的普通话数据。

对于输入数据,为了使得后续建立的声学模型更为准确,在此,对所述输入数据进行加窗分帧操作,获得语音帧。之后计算每个语音帧的短时能量值,根据所述短时能量值去除静音帧。具体的,将每个语音帧的短时能量值分别和预设阈值进行比较。若某个语音帧的短时能量值小于该阈值,则可将其作为静音帧。去除所述语音帧中的静音帧,获得所述语音特征向量。其中,所述阈值可任意设定。

其中,该语音特征向量也可以是上下文相关的,配置成接收多个帧的特征向量。该语音特征向量例如可以是Mel频率倒谱系数(Mel-scale Frequency Cepstral Coefficients,MFCC)、知觉线性预测(Perceptual Linear Predictive,PLP)特征等。

步骤102、利用所述语音特征向量训练DNN声学模型,其中所述声学模型的输出层输出第一概率。

其中,在实际应用中,该DNN声学模型包括:

输入层,用于接收语音特征向量。

多个隐藏层(至少三个)。其中,每一隐藏层包括相应多个节点(神经元),每一隐藏层中的每一节点被配置成,对来自所述DNN中的相邻下层的至少一个节点的输出执行线性或非线性变换。其中,上层隐藏层的节点的输入可以基于相邻下层中的一个节点或若干节点的输出。每个隐藏层具有对应的权值,其中该权值是基于训练数据的声学信号获得的。在对模型进行训练时,可以通过利用受监督或无监督的学习过程来进行模型的预训练,得到各个隐藏层的初始权值。对各隐藏层的权值的精细调节,可以通过采用向后传播(Back propagation,BP)算法来进行。

输出层,用于接收来自最上一层隐藏层的输出信号。输出层的节点利用根据普通话发音音素组成的建模单元对接收到的信号进行处理,其输出是所述建模单元上的概率分布,在此将其称为概率。

输出层中的输出单元是表示汉语普通话中使用的语音元素的建模单元。建模单元可以使用语素(绑定三音素状态),并且建模单元可以是隐马尔科夫模型(HMM)或其他合适的建模单元。

具体的,在此步骤中,将所述语音特征向量作为输入信号输入到所述DNN声学模型的输入层;在所述DNN声学模型的多个隐藏层中,利用每个隐藏层对应的第一权值,对所述每个隐藏层的输入信号进行处理,获得所述每个隐藏层的输出信号;在所述DNN声学模型的输出层,对最上一隐藏层的输出信号进行处理,获得第一概率。

步骤103、获取带有目标方言口音的普通话数据。

其中,所述带有目标方言口音的普通话数据可以是任一种带有方言口音的普通话数据。

步骤104、利用所述带有目标方言口音的普通话数据学习所述输出层,并利用所述输出层输出的第二概率更新所述第一概率。

在本发明实施例中,步骤103和104的过程可以称为利用带有目标方言口音的普通话数据对步骤102的DNN声学模型进行自适应调整的过程。在模型自适应的阶段,利用带有目标方言口音的普通话数据来学习输出层,并利用新学习出的输出层的概率值,直接替换步骤102中用标准普通话数据和多种方言口音数据训练的声学模型中输出层输出的概率值。

具体的,将所述带有目标方言口音的普通话数据作为输入信号输入到所述DNN声学模型的输入层;在所述DNN声学模型的多个隐藏层中,利用每个隐藏层对应的第二权值,对所述每个隐藏层的输入信号进行处理,获得所述每个隐藏层的输出信号;在所述DNN声学模型的输出层,对最上一隐藏层的输出信号进行处理,获得第二概率;利用所述第二概率更新所述第一概率。

需要说明的是,如果步骤104中的训练数据相对较少,那么,在进行模型自适应时,可以使用与步骤102中每一对应隐藏层的相同的权值。这样,利用该方案将不需要大量的数据,已获得的声学模型就可自适应带有目标方言口音的普通话数据,从而提升对该带有目标方言口音的普通话数据的识别正确率。如果步骤104中的训练数据相对较多,那么,在此步骤中,还可针对带有目标方言口音的普通话数据来重新调节隐藏层的权值,并在最上层隐藏层更新输出层的输出概率,同样提升模型识别的识别率。

通过上述步骤101-104的训练DNN声学模型和自适应调整DNN声学模型,完成了DNN声学模型的建立。

由上可以看出,利用本发明实施例的方案,在利用目标方言口音的普通话数据进行自适应调整时,复用训练好声学模型的隐藏层的参数,不用为各个方言区带方言口音的数据单独建立模型,简化了模型训练的复杂度,从而降低了语音模型建模的复杂度。

在实施例一的基础上,在步骤103获取了带有目标方言口音的普通话数据后,为了提高识别准确率,在此还可去除所述带有目标方言口音的普通话数据中的静音帧。具体的,对所述带有目标方言口音的普通话数据进行加窗分帧操作,获得语音帧。之后计算每个语音帧的短时能量值,根据所述短时能量值去除静音帧。具体的,将每个语音帧的短时能量值分别和预设阈值进行比较。若某个语音帧的短时能量值小于该阈值,则可将其作为静音帧,去除所述语音帧中的静音帧。其中,该阈值可任意设定。

在经过上述训练模型和自适应调整模型后,还可根据该自适应调整后的模型对语音进行识别。此时,获取待识别的带有口音的普通话数据,根据所述第二概率识别对所述待识别的带有口音的普通话数据进行识别。

具体的,将待识别的带有口音的普通话数据输入到上述经过步骤101-104后获得声学模型,获得输出的第三概率。将该第三概率和第二概率进行匹配,并根据匹配程度的大小识别待识别的带有口音的普通话数据中的词语等。

通过上述方案,用深度神经网络的相关建模技术,使已获得的声学模型在多层隐藏层的分类能力有很大提升,从而提高了识别的正确率。在模型自适应的阶段,复用已获得的声学模型的隐藏层的参数,不用为各个方言区带方言口音的数据单独建立模型,简化了模型训练的复杂度。此外,利用本发明实施例的方案,无需建立个别方言区的方言口音的数据库,用少量的数据来学习更新输出层的概率值,声学模型便可以自适应不同的目标方言区的带方言口音的数据。

实施例二

如图2所示,本发明实施例二的语音建模装置,包括:

提取模块201,用于将标准普通话数据和至少一种带有方言口音的普通话数据作为输入数据,并提取所述输入数据的语音特征向量;训练模块202,用于利用所述语音特征向量训练深度神经网络DNN声学模型,其中所述声学模型的输出层输出第一概率;获取模块203,用于获取带有目标方言口音的普通话数据;建模模块204,用于利用所述带有目标方言口音的普通话数据学习所述输出层,并利用所述输出层输出的第二概率更新所述第一概率。

其中,所述提取模块201包括:第一获取子模块,用于对所述输入数据进行加窗分帧操作,获得语音帧;第二获取子模块,用于去除所述语音帧中的静音帧,获得所述语音特征向量。

其中,所述训练模块202包括:第一输入层子模块,用于将所述语音特征向量作为输入信号输入到所述DNN声学模型的输入层;第一隐藏层子模块,用于在所述DNN声学模型的多个隐藏层中,利用每个隐藏层对应的第一权值,对所述每个隐藏层的输入信号进行处理,获得所述每个隐藏层的输出信号;第一输出层子模块,用于在所述DNN声学模型的输出层,对最上一隐藏层的输出信号进行处理,获得第一概率。

其中,所述建模模块204包括:第二输入层子模块,用于将所述带有目标方言口音的普通话数据作为输入信号输入到所述DNN声学模型的输入层;第二隐藏层子模块,用于在所述DNN声学模型的多个隐藏层中,利用每个隐藏层对应的第二权值,对所述每个隐藏层的输入信号进行处理,获得所述每个隐藏层的输出信号;第二输出层子模块,用于在所述DNN声学模型的输出层,对最上一隐藏层的输出信号进行处理,获得第二概率;更新子模块,用于利用所述第二概率更新所述第一概率。

如图3所示,所述装置还包括:处理模块205,用于去除所述带有目标方言口音的普通话数据中的静音帧。此时,所述第二输入层子模块具体用于,将去除了所述静音帧之后的带有目标方言口音的普通话数据,作为输入信号输入到所述DNN声学模型的输入层。

再如图3所示,所述装置还包括:接收模块206,用于获取待识别的带有口音的普通话数据;识别模块207,用于根据所述第二概率识别对所述待识别的带有口音的普通话数据进行识别。

本发明所述装置的工作原理可参照前述方法实施例的描述。

由上可以看出,利用本发明实施例的方案,在利用目标方言口音的普通话数据进行自适应调整时,复用训练好声学模型的隐藏层的参数,不用为各个方言区带方言口音的数据单独建立模型,简化了模型训练的复杂度,从而降低了语音模型建模的复杂度。

实施例三

如图4所示,为本发明实施例三的自动语音识别系统。该系统包括:提取器组件401、训练器组件402、解码器组件403等。

其中,提取器组件,用于提取输入信号的语音特征向量。训练DNN声学模型的过程中,选择标准普通话数据与各大方言区带该区方言口音的普通话数据合并数据作为输入信号;而声学模型自适应时,选择目标方言区带方言口音的普通话数据作为输入信号。

训练器组件(DNN),用于训练DNN声学模型和对已获得的声学模型进行自适应调整。包括:

输入层,用于接收提取器组件的语音特征向量。

多个隐藏层(至少三个)。其中,每一隐藏层包括相应多个节点(神经元),每一隐藏层中的每一节点被配置成,对来自所述DNN中的相邻下层的至少一个节点的输出执行线性或非线性变换。其中,上层隐藏层的节点的输入可以基于相邻下层中的一个节点或若干节点的输出。每个隐藏层具有与其相对应的权值,其中所述权值是基于训练数据的声学信号获得的。在对模型进行训练时,可以通过利用受监督或无监督的学习过程来进行模型的预训练,得到各个隐藏层的初始权值。对各隐藏层的权值的精细调节,可以通过采用向后传播算法来进行。

输出层,用于接收来自所述DNN中的最上一隐藏层的输出。输出层的节点利用由普通话发音音素组成的建模单元对接收到的信号进行处理,其输出是所述建模单元上的概率分布,在此将其称为第一概率。

输出层中的输出单元是表示汉语普通话中使用的语音元素的建模单元。建模单元可以使用语素(绑定三音素状态),并且建模单元可以是隐马尔科夫模型(HMM)或其他合适的建模单元。

解码器组件,用于利用训练器组件输出的概率识别目标方言区带方言口音的普通话数据的词语。

在本发明实施例中,训练的数据选用标准普通话数据并加入八大方言区带方言口音的数据,共同提取声学特征向量,训练多隐藏层的DNN模型。另外,为提升DNN模型对各大方言区带方言口音的普通话数据的自适应能力,在对目标方言区下带有方言口音的普通话数据的识别系统中,对已获得的DNN模型,复用其隐藏层参数,并利用该目标方言区下带有方言口音的普通话数据对输出层重新学习而输出概率值。最终,通过此种方式获得的声学模型,相较于用单一方言区带有方言口音的普通话数据或标准普通话数据训练的模型,在识别系统上的识别率能提升。

通过上述方案,用深度神经网络的相关建模技术,使已获得的声学模型在多层隐藏层的分类能力有很大提升,从而提高了识别的正确率。在模型自适应的阶段,复用已获得的声学模型的隐藏层的参数,不用为各个方言区带方言口音的数据单独建立模型,简化了模型训练的复杂度。此外,利用本发明实施例的方案,无需建立个别方言区的方言口音的数据库,用少量的数据来学习更新输出层的概率值,声学模型便可以自适应不同的目标方言区的带方言口音的数据。

在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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