发明内容
本申请提供了一种语音识别系统的训练方法和装置、语音识 别方法和装置,用于解决语音识别准确率不高的问题。
第一方面,本申请提供了一种语音识别系统的训练方法,该语 言识别系统包括声学模型和语言模型,该方法包括:
对目标说话人的音频数据进行关键特征提取,得到音频数据 的声学特征;
根据声学特征和预设的训练样本集,提取训练样本集的声纹 特征;
将声学特征和声纹特征合并,得到融合声纹特征;
基于训练样本集和融合声纹特征训练声学模型的卷积神经网 络模块,得到训练后的声学模型;
依据训练样本集对已构建的语言模型进行训练,得到训练后 的语言模型。
本申请的实施例中,根据声学特征和预设的训练样本集,得 到训练样本集的声纹特征,包括:
根据训练样本集中的每个说话人的音频样本数据,构建GMM 模型,并对GMM模型进行训练,得到初始化的GMM-UBM模型, GMM模型用来表征训练样本集中的每个音频样本数据的音频特 征的概率分布;
根据声学特征,采用自适应算法对初始化的GMM-UBM模型 进行参数更新,得到针对目标说话人的GMM-UBM模型;
根据初始化的GMM-UBM模型得到第一特征向量,根据目标 说话人的GMM-UBM模型得到第二特征向量;
根据第一特征向量和第二特征向量,得到训练样本集的声纹 特征。
本申请的实施例中,基于训练样本集和融合声纹特征训练声 学模型的卷积神经网络模块,得到训练后的声学模型,包括:
根据训练样本集中音频样本数据对应的文本内容,提取训练 样本集的音素作为声学标签;
依据所属文本内容和音素的关系构建词典表;
根据词典表对声学标签进行数值编码,得到标签编码;
将标签编码和融合声纹特征输入到卷积神经网络模块中,得 到融合声纹特征所对应的第一音素;
采用CTC损失函数迭代更新卷积神经网络模块的参数,直至 声学模型收敛,得到训练后的声学模型;
其中,CTC损失函数表征卷积神经网络模块输出的第一音素 与标签编码对应的音素之间的差异。
本申请的实施例中,依据训练样本集对已构建的语言模型进 行训练,得到训练后的语言模型之前,还包括:
根据文本语料构建语料集,文本语料包括Wiki百科和新闻语 料。
本申请的实施例中,根据文本语料构建语料集,文本语料包 括Wiki百科和新闻语料,包括:
获取训练样本集的音频样本数据所对应的第一文本信息,并 标注第一文本信息对应的第一音素信息;
获取Wiki百科和新闻语料所对应的第二文本信息,并标注第 二本文信息对应的第二音素信息;
将标注有第一音素信息的第一文本信息和标注有第二音素信 息的第二文本信息作为语料集。
本申请的实施例中,依据训练样本集对已构建的语言模型进 行训练,得到训练后的语言模型,包括:
将第一文本信息和第二文本信息作为语言标签,将第一音素 信息、第二音素信息和语言标签作为语言模型的输入,采用 Self-attention算法对语言模型进行训练,基于交叉熵损失函数迭代 更新语言模型的参数,直至语言模型收敛,得到训练后的语言模 型;
其中,交叉熵损失函数表征语言模型的输出文本识别结果与 语言标签的差异。
第二方面,本申请提供了一种语音识别方法,该方法包括:
获取目标说话人的待识别音频数据;
基于第一方面的任一实施例所示的方法训练得到的语音识别 系统,对待识别音频数据进行语音识别,得到识别结果;
其中,对待识别音频数据进行语音识别,得到识别结果,包 括:
将待识别音频数据输入到训练后的声学模型,得到待识别音 频数据对应的音素序列;
将音素序列输入到训练后的语言模型,得到待识别音频数据 的文本识别结果。
第三方面,本申请提供了一种语音识别系统的训练装置,该 装置包括:
声学特征提取模块,用于对目标说话人的音频数据进行关键 特征提取,得到音频数据的声学特征;
声纹特征提取模块,用于根据声学特征和预设的训练样本集, 提取训练样本集的声纹特征;
特征合并模块,用于将声学特征和声纹特征合并,得到融合 声纹特征;
声学模型训练模块,用于基于训练样本集和融合声纹特征训 练声学模型的卷积神经网络模块,得到训练后的声学模型;
语言模型训练模块,用于依据训练样本集对已构建的语言模 型进行训练,得到训练后的语言模型。
本申请的实施例中,上述声纹特征提取模块具体用于:
根据训练样本集中的每个说话人的音频样本数据,构建GMM 模型,并对GMM模型进行训练,得到初始化的GMM-UBM模型, GMM模型用来表征训练样本集中的每个音频样本数据的音频特征的概率分布;
根据声学特征,采用自适应算法对初始化的GMM-UBM模型 进行参数更新,得到针对目标说话人的GMM-UBM模型;
根据初始化的GMM-UBM模型得到第一特征向量,根据目标 说话人的GMM-UBM模型得到第二特征向量;
根据第一特征向量和第二特征向量,得到训练样本集的声纹 特征。
本申请的实施例中,声学模型训练模块具体用于:
根据训练样本集中音频样本数据对应的文本内容,提取训练 样本集的音素作为声学标签;
依据所属文本内容和音素的关系构建词典表;
根据词典表对声学标签进行数值编码,得到标签编码;
将标签编码和融合声纹特征输入到卷积神经网络模块中,得 到融合声纹特征所对应的第一音素;
采用CTC损失函数迭代更新卷积神经网络模块的参数,直至 声学模型收敛,得到训练后的声学模型;
其中,CTC损失函数表征卷积神经网络模块输出的第一音素 与标签编码对应的音素之间的差异。
本申请的实施例中,上述语音识别系统的训练装置还包括:
语料集构建模块,用于根据文本语料构建语料集,文本语料 包括Wiki百科和新闻语料。
本申请的实施例中,上述语料集构建模块具体用于:
获取训练样本集的音频样本数据所对应的第一文本信息,并 标注第一文本信息对应的第一音素信息;
获取Wiki百科和新闻语料所对应的第二文本信息,并标注第 二本文信息对应的第二音素信息;
将标注有第一音素信息的第一文本信息和标注有第二音素信 息的第二文本信息作为语料集。
本申请的实施例中,上述语言模型训练模块具体用于:
将第一文本信息和第二文本信息作为语言标签,将第一音素 信息、第二音素信息和语言标签作为语言模型的输入,采用Self-attention算法对语言模型进行训练,基于交叉熵损失函数迭代 更新语言模型的参数,直至语言模型收敛,得到训练后的语言模 型;
其中,交叉熵损失函数表征语言模型的输出文本识别结果与 语言标签的差异。
第四方面,本申请提供了一种语音识别装置,该装置包括:
获取模块,用于获取目标说话人的待识别音频数据;
识别模块,用于基于第一方面的任一实施例所示的方法训练 得到的语音识别系统,对待识别音频数据进行语音识别,得到识 别结果;
其中,上述识别模块具体用于:
将待识别音频数据输入到训练后的声学模型,得到待识别音 频数据对应的音素序列;
将音素序列输入到训练后的语言模型,得到待识别音频数据 的文本识别结果。
第五方面,本申请提供了一种计算机可读存储介质,计算机 可读存储介质上存储有计算机程序,该程序被处理器执行时实现 如本申请第一方面和第二方面的任一实施例所示的方法。
第六方面,本申请提供了一种电子设备,该电子设备包括: 处理器、存储器、通信接口和通信总线,处理器、存储器和通信 接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,该可执行指令使处理器 执行如本申请第一方面和第二方面的任一实施例所示的方法对应 的操作。
本申请实施例提供的技术方案带来的有益效果是:
本申请先进行目标说话人音频数据的声学特征提取和训练样 本集的声纹特征提取,然后将声学特征与声纹特征合并作为卷积 神经网络的输入,对声学模型进行训练,从而实现声纹特征自适 应的语音识别系统的训练;相比现有技术中,采用单一的声学特 征对声学模型进行训练,融合声纹特征结合了说话人个性化的声纹特点,扩展了特征向量,丰富了特征维度,参与训练的数据更 多,从而提升了语音识别系统的识别准确率。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中 示出,其中自始至终相同或类似的标号表示相同或类似的元件或 具有相同或类似功能的元件。下面通过参考附图描述的实施例是 示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的 单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进 一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述 特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或 添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或 它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件 时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦 接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的 全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面以具体 地实施例对本申请的技术方案进行详细说明。下面这几个具体的 实施例可以相互结合,对于相同或相似的概念或过程可能在某些 实施例中不再赘述。下面将结合附图,对本申请的实施例进行描 述。
一个完整的基于统计的语音识别系统可大致分为三部分:语 音信号预处理与特征提取、声学模型与模式匹配、语言模型与语言处理。其中,特征提取的目的是对语音信号进行分析处理,去 掉与语音识别无关的冗余信息,获得影响语音识别的重要信息, 同时对语音信号进行压缩。同时,声学模型训练依赖大量的音频 语料,而且语料需要涵盖尽量多的人群,尽量多的音频素材,以 提升识别效果,通常采用获取的语音特征使用训练算法对声学模 型进行训练。
现有技术中,仅获取音频语料的MFCC或FBANK特征对声 学模型进行训练,但是由于训练样本集中说话人的差异,对应的 特征也有很大的不同,上述差异对训练过程的干扰较大,影响语 音识别的准确率。
有鉴于此,本申请实施例提出了一种语音识别系统的训练方 法,该方法在已有的基于深度学习语音模型的训练方法基础上, 增加了声纹特征提取过程,并将声纹特征与声学特征合并作为卷 积网络的输入,使得训练后的声学模型和语言模型能够实现声纹 特征自适应的语音识别,提高了语音识别的准确率。
为了更好的理解本申请实施例中提供的语音识别系统的训练 方法,下面结合附图1-8对该方法进行详细的描述。
如图1所示,本申请实施例中提供了一种语音识别系统的训 练方法的流程示意图,该方法可以包括如下步骤:
S1,对目标说话人的音频数据进行关键特征提取,得到音频 数据的声学特征。
S2,根据声学特征和预设的训练样本集,提取训练样本集的 声纹特征。
S3,将声学特征和声纹特征合并,得到融合声纹特征。
S4,基于训练样本集和融合声纹特征训练声学模型的卷积神 经网络模块,得到训练后的声学模型。
S5,依据训练样本集对已构建的语言模型进行训练,得到训 练后的语言模型。
在实际应用中,在步骤S1之前还可以包括,读取目标说话人 的音频数据进行语音活动检测(Voice Activity Detection,VAD),具 体可以包括:
采用Google开源的WebRTC VAD算法,基于GMM实现对 音频数据的语音活动检测。算法原理依据音频的时域信号的波动 情况,计算音频在时域上能量的迁移变化,从而达到识别音频数 据中噪声与静音部分。首先设定不同的能量阈值,然后根据具体 需要定义单位帧长(10毫秒或20毫秒或30毫秒),然后逐帧进 行判断,能量为0或超出正常能量阈值范围的帧即为异常帧。
根据一般人说话的习惯,可以设定停顿时间为0.5秒,进一步 为提高容错率,会选取时长为300毫秒的音频来判断是否为静音 部分,从而达到切分音频、识别停顿符的效果。具体的,可根据 单位帧长,任意组合规则。本申请采用30毫秒为一帧,检测连续 10帧(即300毫秒的音频)的能量是否全部为0,从而识别音频 中的静音部分,并对整个待识别的音频数据进行切分。
语音活动检测的目的是,识别音频中的噪声与静音部分。第 一,将噪声与静音部分从音频中剔除,在后续进行声学特征提取 时,减少特征数据量,提高训练效率;第二,可以通过长时间的 静音切分音频数据,例如一般人说话逗号停顿时间为0.5-1秒,逗号提顿时间1-2秒,段落停顿2-3秒,依据连续静音时长,可以很 好的切分音频,有助于后续训练过程中音频与文本对齐,降低CTC (Connectionist Temporal Classification)的时间复杂度。音频数据 VAD预处理可以提高模型训练效果和提升音频识别准确度。
在本申请实施例中,步骤S1具体可以是对目标说话人的音频 数据提取MFCC(Mel-Frequency Cepstral Coefficients,梅尔频率倒谱系数)特征,基本流程如下:
1、预加重:对VAD预处理后的音频信号进行预加重,也就 是在信号频域上都乘以一个预加重系数,该预加重系数可以取值 0.95,这个系数和频率成正相关,以提升信号中高频的幅值。预加 重的作用是,消除发声过程中声带和嘴唇造成的效应,以补偿语音信 号受到发音系统所压抑的高频部分,并且能突显高频的共振峰,降低噪 声干扰。
2、分帧、加窗:设置时长0.25ms为一帧,0.1ms为重叠窗口。 为避免音频时域与频域转化过程中出现拖尾现象,对每一帧加上 一个汉明窗,汉明窗长度为400,汉明窗参数α值为0.46。
3、快速傅里叶变换:傅里叶变换的采样点数为512,得到各 帧的频谱,以便将时域信号转化到频域进行后续的频率分析。
4、梅尔刻度滤波器组过滤:滤波器组的滤波器个数为26个; 频谱信号通过一组Mel尺度的三角形滤波器组,计算每个滤波器 组输出的对数能量;对数能量带入离散余弦变换,得到Mel频谱。
5、倒谱分析:先对Mel频谱取对数,然后作离散余弦变换, 以获取频率谱的低频信息,取离散余弦变换后的系数作为MFCC 系数。其中,MFCC系数阶数为22,倒谱数为13,加上一阶差分 与二阶差分,最终一个音频数据生成一个n×39的特征矩阵,n取 决于音频数据的长度,音频数据越长n值越大。
本申请先进行目标说话人音频数据的声学特征提取和训练样 本集的声纹特征提取,然后将声学特征与声纹特征合并作为卷积 神经网络的输入,对声学模型进行训练,从而实现声纹特征自适 应的语音识别系统的训练;相比现有技术中,采用单一的声学特 征对声学模型进行训练,融合声纹特征结合了说话人个性化的声纹特点,扩展了特征向量,丰富了特征维度,参与训练的数据更 多,从而提升了语音识别系统的识别准确率。
本申请实施例中提供了一种可能的实现方式,步骤S2具体可 以包括:
S21,根据训练样本集中的每个说话人的音频样本数据,构建 GMM模型,并对GMM模型进行训练,得到初始化的GMM-UBM 模型,GMM模型用来表征训练样本集中的每个音频样本数据的音 频特征的概率分布。
S22,根据声学特征,采用自适应算法对初始化的GMM-UBM 模型进行参数更新,得到针对目标说话人的GMM-UBM模型。
S23,根据初始化的GMM-UBM模型得到第一特征向量,根 据目标说话人的GMM-UBM模型得到第二特征向量。
S24,根据第一特征向量和第二特征向量,得到训练样本集的 声纹特征。
如图2所示为声学模型的结构示意图。其中,该声纹提取模 块基于GMM-UBM(Gaussian Mixture Model-Universal Background Model,高斯混合模型-通用背景模型)来提取音频数据的声纹特征:
GMM就是由多个单高斯分布混合而成的一个模型,理论上 GMM可以拟合出任意类型的分布,在语音识别中用于描述数据点 /特征点的分布;UBM相当于一个大的混合高斯分布模型,他是为 了解决目标用户训练数据太少的问题,用大量非目标用户数据训练 出一个拟合通用特征的大型GMM;GMM-UBM模型就是先使用 大量的非目标用户数据训练UBM,然后使用MAP自适应算法和目 标说话人数据来更新局部参数得到对应的GMM模型。基于 GMM-UBM架构提取声纹特征的具体流程如下:
第一,根据训练样本集中说话人ID,对每一个说话人,构建 GMM模型,基于MFCC特征采用EM(Expectation Maximum,最 大期望)算法,对GMM模型进行训练得到初始化的GMM-UBM 模型,因为说话人的信息大部分都蕴含在GMM的均值里面,所以这里取每个高斯混合分量的均值矢量即上述第一特征向量,作为 训练样本集中每个说话人的音频特征。本申请在实际应用过程中, 高斯分布参数设置为512个,基于已得到的MFCC特征,最终每 个说话人得到一个512×39的特征矩阵,为方便后续处理展开为 一维的向量。
第二,运用MAP(Maximum a posteriori,最大后验概率)算法, 将GMM-UBM模型与目标说话人信息相结合,以实现GMM-UBM 模型的自适应,得到目标说话人的GMM-UBM模型。基于因子分 析的方法,依据目标说话人的GMM-UBM得到第二特征向量;将 第二特征向量结合训练样本集中每个说话人的音频特征,按权重提取前N个值,得到训练样本集的声纹特征。为确保声纹特征与 MFCC特征维度一致,自定义参数N取39,最终每个音频数据对 应的声纹特征为一个39维的向量。
GMM-UBM模型最重要的优势就是通过MAP算法对模型参 数进行估计,避免了过拟合的发生,同时我们不必调整目标用户 GMM的所有参数(权重,均值,方差)只需要对各个高斯成分的 均值参数进行估计,就能实现最好的识别性能,这可以大大减少 待估的参数,越少的参数也意味着更快的收敛,不需要那么多的 目标用户数据即可实现模型的良好训练。
如图2所示的声学模型的结构示意图,其Concat模块用于特 征向量的合并,步骤S3的具体计算过程如下:
首先将声纹特征向量V转化为基向量Ve,然后与MFCC特征 中每个行向量相乘,形成特征方阵(39×39),最后将n(n取决 于原矩阵行数)个方阵进行拼接成高维矩阵,扩展特征值,得到 融合声纹特征,计算过程如下:
声纹基向量:Ve=[v1 v2 v3 … vm]T;
MFCC特征方阵:
声纹向量加权:
……
加权结果拼接得到融合声纹特征:
本申请实施例中提供了另一种可能的实现方式,步骤S4具体 可以包括:
S41,根据训练样本集中音频样本数据对应的文本内容,提取 训练样本集的音素作为声学标签;以中文普通话为例,提取文本 对应的汉语拼音,如图3为训练样本集中数据样本的内容示例,每一个音频数据样本对应一个拼音序列。
S42,依据所属文本内容和音素的关系构建词典表。
S43,根据词典表对声学标签进行数值编码,得到标签编码; 具体的,可以采用one-hot编码(热独编码),也就是将样本集中 音频数据对应的文本标签(即拼音序列)转化为二进制向量编码, 以方便后续的数据处理。
S44,将标签编码和融合声纹特征输入到卷积神经网络模块中, 得到融合声纹特征所对应的第一音素;
S45,采用CTC损失函数迭代更新卷积神经网络模块的参数, 直至声学模型收敛,得到训练后的声学模型;其中,CTC损失函 数表征卷积神经网络模块输出的第一音素与标签编码对应的音素 之间的差异。
在实际应用中,卷积神经网络模块的结构示意图如图4所示, 将标签编码和融合声纹特征作为卷积神经网络模块的输入,输入 数据先依次经过3个二通道的卷积核与最大池化层、2个二通道的 128*128的卷积核层,对语音特征和特征间的语义信息进行学习, 然后通过Reshape层和全连接层,将卷积核层结构之后的输出进行 数据整合,以加快后续训练时模型的收敛。如图2所示的声学模 型的结构示意图,卷积神经网络模块的输出音素经过一个全连接 层,以输出每一步音素的概率分布;随后经过Softmax+CTC层, 采用Softmax归一化函数计算音素的后验概率,采用CTC (Connectionist temporal classification)损失函数计算神经卷积网络模块每一步的输出音素与真实结果即标签之间的差异,根据损失函数的计算结果迭代优化神经网络模型的参数,直至模型收敛。
具体对声学模型的训练步骤为:首先初始化预先构建的上述 结构的声学模型,然后初始化一个Adam的优化器,设置步长100 步,初始学习率为0.001,进行模型迭代。
与传统的声学模型训练相比,采用CTC作为损失函数的声学 模型训练,是一种完全端到端的声学模型训练,不需要预先对数 据做对齐,只需要一个输入序列和一个输出序列即可以训练。这 样就不需要对数据对齐和一一标注,并且CTC直接输出序列预测 的概率,不需要外部的后处理。
本申请实施例中提供了另一种可能的实现方式,在步骤S5之 前还可以包括:
S6,根据文本语料构建语料集,文本语料包括Wiki百科和新 闻语料。
本申请实施例中提供了另一种可能的实现方式,步骤S6具体 可以包括:
S61,获取训练样本集的音频样本数据所对应的第一文本信息, 并标注第一文本信息对应的第一音素信息。
S62,获取Wiki百科和新闻语料所对应的第二文本信息,并 标注第二本文信息对应的第二音素信息。
S63,将标注有第一音素信息的第一文本信息和标注有第二音 素信息的第二文本信息作为语料集。在本申请中,通过增加上述 海量的文本语料作为语料集对语言模型进行训练,提升了语言模 型准确度;同时,语言模型采用基于自注意力机制(Self-attention)的Transformer编码器结构,将声学模型的输出(即汉语拼音序列) 作为模型的输入,通过多头注意力网络(multi head attention), 输出与汉语拼音序列等长的汉字序列。
本申请实施例中提供了另一种可能的实现方式,步骤S5具体 包括:
将第一文本信息和第二文本信息作为语言标签,将第一音素 信息、第二音素信息和语言标签作为语言模型的输入,采用 Self-attention算法对语言模型进行训练,基于交叉熵损失函数迭代 更新语言模型的参数,直至语言模型收敛,得到训练后的语言模 型;
其中,交叉熵损失函数表征语言模型的输出文本识别结果与 语言标签的差异。
首先,在训练语言模型之前,将语料集中的汉字与拼音进行 对齐,依据词袋模型构建词汉字与拼音的数值映射关系构建拼音 表和汉字表,并生成文本与拼音对应的数值向量;然后,采用 Self-attention算法,以汉字的总个数为输入的长度,以拼音的总个数为标签的长度。然后,根据指定的block构建多头注意力网络 (multi head attention),采用交叉熵(softmax_cross_entropy)函数计算损失,迭代优化网络参数,对语言模型进行训练。其中, 主要的训练参数设置有:block为5,multi head为10,拼音表长 度为1764,汉字表长度为3593,embedding size最大长度为100, 隐藏层单元数为512,学习率为0.0001,设置步长25步。
由于自注意力机制有较为强大的上下文学习能力以及较为快 速的计算能力,可以高效地学习文本的上下文信息,使得模型具 有较为强大的推断能力以及较快的收敛速度。由于Transformer的 自注意力模型无需时间步之间的依赖关系,通过矩阵乘法可实现不同时间步上的并行计算,大幅度降低语言模型的训练时间。
基于相同的发明构思,本申请实施例还提供了一种语音识别方 法,该方法包括:
S101,获取目标说话人的待识别音频数据;
S102,基于上述任一实施例所示的语音识别系统的训练方法 训练得到的语音识别系统,对待识别音频数据进行语音识别,得 到识别结果;
其中,S102,具体包括:
将待识别音频数据输入到训练后的声学模型,得到待识别音 频数据对应的音素序列;
将音素序列输入到训练后的语言模型,得到待识别音频数据 的文本识别结果。
下面结合附图5和6对本申请实施例中提供的一种语音识别 方法进行详细的描述,其中,图5所示的是本实施例中语音识别 模型的结构示意图,图6所示的语音识别方法,包括:
S110,读取目标说话人的音频数据,以对该音频数据进行语 音活动检测。
S120,对目标说话人的音频数据进行关键特征提取,得到声 学特征。
S130,根据声学特征和预设的训练样本集,提取训练样本集 的声纹特征;
在该实施例中,S130通过图5的声纹提取模块来实现,该声 纹提取模块基于GMM-UBM模型来提取音频数据的声纹特征。
具体的,在该实施例中,S130具体可以包括:
S131,根据训练样本集中的每个说话人的音频样本数据,构 建GMM模型,采用EM算法对GMM模型进行训练,得到初始化的GMM-UBM模型,GMM模型用来表征训练样本集中的每个音 频样本数据的音频特征的概率分布。
S132,根据声学特征,采用自适应算法对初始化的GMM-UBM 模型进行参数更新,得到针对目标说话人的GMM-UBM模型。
S133,根据初始化的GMM-UBM模型得到第一特征向量,根 据目标说话人的GMM-UBM模型得到第二特征向量;
在该实施例中,运用MAP算法,将GMM-UBM模型与目标 说话人信息相结合,以实现GMM-UBM模型的自适应。
S134,根据第一特征向量和第二特征向量,得到训练样本集 的声纹特征。
S140,将声学特征和声纹特征合并,得到融合声纹特征。
S150,基于训练样本集和融合声纹特征训练声学模型的卷积 神经网络模块,得到训练后的声学模型。
具体的,在该实施例中,S150具体可以包括:
S151,根据训练样本集中音频样本数据对应的文本内容,提 取训练样本集的音素作为声学标签;
在该实施例中,以中文普通话为例,则提取的音素为文本对 应的汉语拼音。
S152,依据所属文本内容和音素的关系构建词典表。
S153,根据词典表对声学标签进行数值编码,得到标签编码。
S154,将标签编码和融合声纹特征输入到卷积神经网络模块 中,得到融合声纹特征所对应的第一音素。
S155,采用CTC损失函数迭代更新卷积神经网络模块的参数, 直至声学模型收敛,得到训练后的声学模型;其中,CTC损失函 数表征卷积神经网络模块输出的第一音素与标签编码对应的音素 之间的差异。
S160,根据文本语料构建语料集,文本语料包括Wiki百科和 新闻语料。
具体的,在该实施例中,S160具体可以包括:
S161,获取训练样本集的音频样本数据所对应的第一文本信 息,并标注第一文本信息对应的第一音素信息。
S162,获取Wiki百科和新闻语料所对应的第二文本信息,并 标注第二本文信息对应的第二音素信息。
S163,将标注有第一音素信息的第一文本信息和标注有第二 音素信息的第二文本信息作为语料集。
S170,依据训练样本集对已构建的语言模型进行训练,得到 训练后的语言模型。
具体的,在该实施例中,S170具体可以包括:
将所述第一文本信息和第二文本信息作为语言标签,将所述 第一音素信息、第二音素信息和所述语言标签作为所述语言模型 的输入,采用Self-attention算法对所述语言模型进行训练,基于 交叉熵损失函数迭代更新语言模型的参数,直至语言模型收敛,得到训练后的语言模型;
其中,所述交叉熵损失函数表征所述语言模型的输出文本识 别结果与所述语言标签的差异。
在该实施例中,语言模型采用如图5所示的Transformer编码 器结构,该Transformer编码器基于自注意力机制。
S180,获取目标说话人的待识别音频数据;将待识别音频数 据输入到训练后的声学模型,得到待识别音频数据对应的音素序 列。
S190,将音素序列输入到训练后的语言模型,得到待识别音 频数据的文本识别结果。
本申请先进行待识别音频数据的声学特征和声纹特征提取, 然后将声学特征与声纹特征合并作为卷积神经网络的输入,对声 学模型进行训练,从而实现声纹特征自适应的语音识别系统的训 练;相比现有技术中,采用单一的声学特征对声学模型进行训练, 融合声纹特征结合了说话人个性化的声纹特点,扩展了特征向量, 丰富了特征维度,参与训练的数据更多,从而提升了语音识别系 统的准确率。
在对声纹提取模块的训练中,采用GMM-UBM模型最重要的 优势就是通过MAP算法对模型参数进行估计,避免了过拟合的发 生,同时我们不必调整目标用户GMM的所有参数只需要对各个高 斯成分的均值参数进行估计,就能实现最好的识别性能,这可以 大大减少待估的参数,越少的参数也意味着更快的收敛,不需要那么多的目标用户数据即可实现模型的良好训练。
在对语言模型的训练中,通过增加上述海量的文本语料作为 语料集对语言模型进行训练,提升了语言模型准确度;同时,由 于自注意力机制有较为强大的上下文学习能力以及较为快速的计 算能力,可以高效地学习文本的上下文信息,使得模型具有较为 强大的推断能力以及较快的收敛速度。由于Transformer的自注意 力模型无需时间步之间的依赖关系,通过矩阵乘法可实现不同时 间步上的并行计算,大幅度降低了语言模型的训练时间。
基于相同的发明构思,本申请实施例还提供了一种语音识别系 统的训练装置。如图7所示,该语音识别系统的训练装置30可以 包括:声学特征提取模块301、声纹特征提取模块302、特征合并 模块303、声学模型训练模块304、语言模型训练模块305,其中,
声学特征提取模块301,声学特征提取模块,用于对目标说话 人的音频数据进行关键特征提取,得到音频数据的声学特征;
声纹特征提取模块302,用于根据声学特征和预设的训练样本 集,提取训练样本集的声纹特征;
特征合并模块303,用于将声学特征和声纹特征合并,得到融 合声纹特征;
声学模型训练模块304,用于基于训练样本集和融合声纹特征 训练声学模型的卷积神经网络模块,得到训练后的声学模型;
语言模型训练模块305,用于依据训练样本集对已构建的语言 模型进行训练,得到训练后的语言模型。
本申请实施例中提供了另一种可能的实现方式,上述声纹特 征提取模块302具体用于:
根据训练样本集中的每个说话人的音频样本数据,构建GMM 模型,采用EM算法对GMM模型进行训练,得到初始化的 GMM-UBM模型,GMM模型用来表征训练样本集中的每个音频 样本数据的音频特征的概率分布;
根据声学特征,采用自适应算法对初始化的GMM-UBM模型 进行参数更新,得到针对目标说话人的GMM-UBM模型;
根据初始化的GMM-UBM模型得到第一特征向量,根据目标 说话人的GMM-UBM模型得到第二特征向量;
根据第一特征向量和第二特征向量,得到训练样本集的声纹 特征。
本申请实施例中提供了另一种可能的实现方式,上述声学模 型训练模块304具体用于:
根据训练样本集中音频样本数据对应的文本内容,提取训练 样本集的音素作为声学标签;
依据所属文本内容和音素的关系构建词典表;
根据词典表对声学标签进行数值编码,得到标签编码;
将标签编码和融合声纹特征输入到卷积神经网络模块中,得 到融合声纹特征所对应的第一音素;
采用CTC损失函数迭代更新卷积神经网络模块的参数,直至 声学模型收敛,得到训练后的声学模型;
其中,CTC损失函数表征卷积神经网络模块输出的第一音素 与标签编码对应的音素之间的差异。
本申请实施例中提供了另一种可能的实现方式,上述语音识 别系统的训练装置30还可以包括:
语料集构建模块,用于根据文本语料构建语料集,文本语料 包括Wiki百科和新闻语料。
本申请实施例中提供了另一种可能的实现方式,上述语料集 构建模块具体用于:
获取训练样本集的音频样本数据所对应的第一文本信息,并 标注第一文本信息对应的第一音素信息;
获取Wiki百科和新闻语料所对应的第二文本信息,并标注第 二本文信息对应的第二音素信息;
将标注有第一音素信息的第一文本信息和标注有第二音素信 息的第二文本信息作为语料集。
本申请实施例中提供了另一种可能的实现方式,上述语言模 型训练模块305具体可用于:
将第一文本信息和第二文本信息作为语言标签,将第一音素 信息、第二音素信息和语言标签作为语言模型的输入,采用 Self-attention算法对语言模型进行训练,基于交叉熵损失函数迭代 更新语言模型的参数,直至语言模型收敛,得到训练后的语言模 型;
其中,交叉熵损失函数表征语言模型的输出文本识别结果与 语言标签的差异。
本申请实施例提供的语音识别系统的训练装置中未详述的内 容,可参照上述实施例中提供的语音识别系统的训练方法,本申 请实施例提供的语音识别系统的训练装置能够达到的有益效果与 上述实施例中提供的语音识别系统的训练方法相同,在此不再赘述。
应用本申请实施例,至少具有如下有益效果:
本申请先进行待识别音频数据的声学特征和声纹特征提取, 然后将声学特征与声纹特征合并作为卷积神经网络的输入,对声 学模型进行训练,从而实现声纹特征自适应的语音识别系统的训 练;相比现有技术中,采用单一的声学特征对声学模型进行训练, 融合声纹特征结合了说话人个性化的声纹特点,扩展了特征向量,丰富了特征维度,参与训练的数据更多,从而提升了语音识别系 统的准确率。
基于相同的发明构思,本申请实施例还提供了一种计算机可读 存储介质,该计算机可读存储介质上存储有计算机程序,当其在 计算机上运行时,使得计算机可以执行前述方法实施例中相应内 容。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(Random Access Memory,RAM)、 快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,缩写:HDD) 或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括 上述种类的存储器的组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或 部分流程,是可以通过计算机程序来指令相关的硬件来完成,程 序可存储于一计算机可读取存储介质中,该程序在执行时,可包 括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光 盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
基于相同的发明构思,本申请实施例还提供了一种电子设备40, 如图8所示,该电子设备包括处理器401、存储器402及存储在存 储器402上并可在处理器401上运行的计算机程序,处理器401 执行程序时实现实施例中方法的步骤。
图8是本发明实施例提供的执行上述实施例中任一方法的一 种电子设备的硬件结构示意图,如图8所示,该电子设备包括一 个或多个处理器401以及存储器402,图8中以一个处理器401为 例。
执行上述实施例中任一方法的电子设备还可以包括:输入装 置403和输出装置404。
处理器401、存储器402、输入装置403和输出装置404可以 通过总线或者其他方式连接,图8中以通过总线405连接为例。
处理器401可以为中央处理器(Central Processing Unit,CPU)。 处理器401还可以为其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非 对实施方式的限定。对于所属领域的普通技术人员来说,在上述 说明的基础上还可以做出其它不同形式的变化或变动。这里无需 也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见 的变化或变动仍处于本发明创造的保护范围之中。