首页 / 专利库 / 人工智能 / 人工神经网络 / 前馈神经网络 / 语音识别方法、系统、设备和介质

语音识别方法、系统、设备和介质

阅读:466发布:2020-05-14

专利汇可以提供语音识别方法、系统、设备和介质专利检索,专利查询,专利分析的服务。并且一种 语音识别 方法、系统、设备和介质,包括:提取接收到的语音 信号 的声学特征;将所述 语音信号 的声学特征输入至语音识别模型组件,以便所述语音识别模型组件对所述语音信号进行识别处理;获取所述语音识别模型组件输出的、所述语音信号对应的语音序列;其中,所述语音识别模型组件是基于多个 前馈神经网络 模 块 构建、并通过时序分类优化函数形成的损失函数进行模型训练而生成的模型组件。采用本 发明 实施例 后,能够提高 声学模型 语音识别的实时性。,下面是语音识别方法、系统、设备和介质专利的具体信息内容。

1.一种语音识别方法,包括:
提取接收到的语音信号的声学特征;
将所述语音信号的声学特征输入至语音识别模型组件,以便所述语音识别模型组件对所述语音信号进行识别处理;
获取所述语音识别模型组件输出的、所述语音信号对应的语音序列;
其中,所述语音识别模型组件是基于多个前馈神经网络构建、并通过时序分类优化函数形成的损失函数进行模型训练而生成的模型组件。
2.根据权利要求1所述语音识别方法,其中,所述语音识别模型组件包括多个依次相连的前馈神经网络模块和一个分类器,并以一个前馈神经网络模块为输入端,以所述分类器为输出端。
3.根据权利要求2所述语音识别方法,其中:
所述分类器和与所述分类器相连的前馈神经网络模块之间,还包括线性投影层和激活函数层。
4.根据权利要求1-3中任一项所述语音识别方法,所述前馈神经网络模块包括激活函数层、线性投影层和记忆块。
5.根据权利要求4所述语音识别方法,在所述前馈神经网络模块中:
所述激活函数层以与所述前馈神经网络模块相连的、靠近所述输入端的前馈神经网络的输出为输入;
所述线性投影层以所述激活函数层的输出为输入;
所述记忆块以所述线性投影层、以及与所述前馈神经网络模块相连的、靠近所述输入端的前馈神经网络的输出为输入;
所述前馈神经网络模块以所述记忆块的输出为自身输出。
6.根据权利要求1所述语音识别方法,其中,所述语音识别模型组件基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,以便所述分类器的输出指示输入语音信号所对应的语音序列。
7.根据权利要求6所述语音识别方法,其中,所述训练数据集合包括多条训练数据,每条训练数据包括语音数据和所述语音数据对应的标准语音序列,所述基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,包括:
对所述训练数据集合中的各条训练数据,将所述训练数据中语音数据的声学特征进行提取以得到相应的特征序列;
将所述训练数据对应的特征序列作为输入,输入所述语音识别模型组件,以得到所述语音识别模型组件输出的、所述训练数据中语音数据的识别结果;
基于所述训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数为损失函数,训练所述语音识别模型组件。
8.根据权利要求6所述语音识别方法,其中,所述训练数据集合包括多条训练数据,每条训练数据包括语音数据和所述语音数据对应的标准语音序列,所述基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,包括:
对所述训练数据集合中的各条训练数据,将所述训练数据中语音数据的声学特征进行提取以得到相应的特征序列;
将所述训练数据对应的特征序列作为输入,输入所述语音识别模型组件,以得到所述语音识别模型组件输出的、所述训练数据中语音数据的识别结果;
基于所述训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数和交叉熵函数联合形成的函数为损失函数,训练所述语音识别模型组件。
9.根据权利要求8所述语音识别方法,其中:
当所述损失函数中时序分类优化函数对应的、空白输出概率低于预设概率阈值时,基于所述损失函数中交叉熵函数获取时间标注信息;通过所述损失函数和所述时间标注信息训练所述语音识别模型组件。
10.一种语音识别的系统,包括:声音传感器和语音识别设备,所述声音传感器与所述语音识别设备耦合;
所述声音传感器,用于接收用户的语音信号;
所述语音识别设备,用于提取接收到的语音信号的声学特征;
将所述语音信号的声学特征输入至语音识别模型组件,以便所述语音识别模型组件对所述语音信号进行识别处理;
获取所述语音识别模型组件输出的、所述语音信号对应的语音序列;
其中,所述语音识别模型组件是基于多个前馈神经网络模块构建、并通过时序分类优化函数形成的损失函数进行模型训练而生成的模型组件。
11.根据权利要求10所述语音识别的系统,其中,所述语音识别模型组件包括多个依次相连的前馈神经网络模块和一个分类器,并以一个前馈神经网络模块为输入端,以所述分类器为输出端。
12.根据权利要求11所述语音识别的系统,其中,所述分类器和与所述分类器相连的前馈神经网络模块之间,还包括线性投影层和激活函数层。
13.根据权利要求10-12中任一项所述语音识别的系统,其中,所述前馈神经网络模块包括激活函数层、线性投影层和记忆块。
14.根据权利要求13所述语音识别的系统,其中,在所述前馈神经网络模块中:
所述激活函数层以与所述前馈神经网络模块相连的、靠近所述输入端的前馈神经网络的输出为输入;
所述线性投影层以所述激活函数层的输出为输入;
所述记忆块以所述线性投影层、以及与所述前馈神经网络模块相连的、靠近所述输入端的前馈神经网络的输出为输入;
所述前馈神经网络模块以所述记忆块的输出为自身输出。
15.根据权利要求13所述语音识别的系统,其中,所述语音识别设备,还用于基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,得到所述语音识别模型组件,以便所述分类器的输出指示输入语音信号所对应的语音序列。
16.根据权利要求15所述语音识别的系统,其中,所述训练数据集合包括多条训练数据,每条训练数据包括语音数据和所述语音数据对应的标准语音序列,所述语音识别设备,还用于对所述训练数据集合中的各条训练数据,将所述训练数据中语音数据的声学特征进行提取以得到相应的特征序列;
将所述训练数据对应的特征序列作为输入,输入所述语音识别模型组件,以得到所述语音识别模型组件输出的、所述训练数据中语音数据的识别结果;
基于所述训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数为损失函数,训练所述语音识别模型组件。
17.根据权利要求15所述语音识别的系统,其中,所述训练数据集合包括多条训练数据,每条训练数据包括语音数据和所述语音数据对应的标准语音序列,所述语音识别设备,还用于对所述训练数据集合中的各条训练数据,将所述训练数据中语音数据的声学特征进行提取以得到相应的特征序列;
将所述训练数据对应的特征序列作为输入,输入所述语音识别模型组件,以得到所述语音识别模型组件输出的、所述训练数据中语音数据的识别结果;
基于所述训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数和交叉熵函数联合形成的函数为损失函数,训练所述语音识别模型组件。
18.根据权利要求17所述语音识别的系统,其中,所述语音识别设备,具体用于当所述损失函数中时序分类优化函数对应的、空白帧输出概率低于预设概率阈值时,基于所述损失函数中交叉熵函数获取时间标注信息;
基于所述训练数据中语音数据的识别结果和标准语音序列之间的差异,通过所述损失函数和所述时间标注信息训练所述语音识别模型组件。
19.一种语音识别的设备,
存储器,用于存储程序;
处理器,用于运行所述存储器中存储的所述程序,以执行如权利要求1-9任一所述语音识别的方法。
20.一种计算机可读存储介质,其上存储有计算机程序指令,当所述计算机程序指令被处理器执行时实现如权利要求1-9中任一项所述语音识别方法。

说明书全文

语音识别方法、系统、设备和介质

技术领域

[0001] 本发明涉及计算机领域,尤其涉及一种语音识别方法、系统、设备和计算机存储介质。

背景技术

[0002] 语音识别所要解决的问题是让计算机能够“听懂”人类的语音,将语音转化成文本。语音识别是实现智能的人机交互的前沿阵地,是完全机器翻译,自然语言理解等的前提条件。
[0003] 语音识别的目的是对给定的波形序列,可以得到相应的单词或者字符序列。因此语音识别可以被看作是一个信道解码。
[0004] 目前,应用于实际的语音识别的实时性较差即时延较大,难以满足语音识别的需求。

发明内容

[0005] 本发明实施例提供了一种语音识别的方法、装置、设备和计算机存储介质,能够降低语音识别的时延,提高声学模型语音识别的实时性。
[0006] 一种语音识别方法,包括:
[0007] 提取接收到的语音信号的声学特征;
[0008] 将所述语音信号的声学特征输入至语音识别模型组件,以便所述语音识别模型组件对所述语音信号进行识别处理;
[0009] 获取所述语音识别模型组件输出的、所述语音信号对应的语音序列;
[0010] 其中,所述语音识别模型组件是基于多个前馈神经网络构建、并通过时序分类优化函数形成的损失函数进行模型训练而生成的模型组件。
[0011] 所述语音识别模型组件包括多个依次相连的前馈神经网络模块和一个分类器,并以一个前馈神经网络模块为输入端,以所述分类器为输出端。
[0012] 所述分类器和与所述分类器相连的前馈神经网络模块之间,还包括线性投影层和激活函数层。
[0013] 所述前馈神经网络模块包括激活函数层、线性投影层和记忆块。
[0014] 在所述前馈神经网络模块中:
[0015] 所述激活函数层以与所述前馈神经网络模块相连的、靠近所述输入端的前馈神经网络的输出为输入;
[0016] 所述线性投影层以所述激活函数层的输出为输入;
[0017] 所述记忆块以所述线性投影层、以及与所述前馈神经网络模块相连的、靠近所述输入端的前馈神经网络的输出为输入;
[0018] 所述前馈神经网络模块以所述记忆块的输出为自身输出。
[0019] 所述语音识别模型组件基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,以便所述分类器的输出指示输入语音信号所对应的语音序列。
[0020] 所述训练数据集合包括多条训练数据,每条训练数据包括语音数据和所述语音数据对应的标准语音序列,所述基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,包括:
[0021] 对所述训练数据集合中的各条训练数据,将所述训练数据中语音数据的声学特征进行提取以得到相应的特征序列;
[0022] 将所述训练数据对应的特征序列作为输入,输入所述语音识别模型组件,以得到所述语音识别模型组件输出的、所述训练数据中语音数据的识别结果;
[0023] 基于所述训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数为损失函数,训练所述语音识别模型组件。
[0024] 所述训练数据集合包括多条训练数据,每条训练数据包括语音数据和所述语音数据对应的标准语音序列,所述基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,包括:
[0025] 对所述训练数据集合中的各条训练数据,将所述训练数据中语音数据的声学特征进行提取以得到相应的特征序列;
[0026] 将所述训练数据对应的特征序列作为输入,输入所述语音识别模型组件,以得到所述语音识别模型组件输出的、所述训练数据中语音数据的识别结果;
[0027] 基于所述训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数和交叉熵函数联合形成的函数为损失函数,训练所述语音识别模型组件。
[0028] 当所述损失函数中时序分类优化函数对应的、空白输出概率低于预设概率阈值时,基于所述损失函数中交叉熵函数获取时间标注信息;
[0029] 通过所述损失函数和所述时间标注信息训练所述语音识别模型组件。
[0030] 一种语音识别的系统,包括:声音传感器和语音识别设备,所述声音传感器与所述语音识别设备耦合;
[0031] 所述声音传感器,用于接收用户的语音信号;
[0032] 所述语音识别设备,用于提取接收到的语音信号的声学特征;
[0033] 将所述语音信号的声学特征输入至语音识别模型组件,以便所述语音识别模型组件对所述语音信号进行识别处理;
[0034] 获取所述语音识别模型组件输出的、所述语音信号对应的语音序列;
[0035] 其中,所述语音识别模型组件是基于多个前馈神经网络模块构建、并通过时序分类优化函数形成的损失函数进行模型训练而生成的模型组件。
[0036] 所述语音识别模型组件包括多个依次相连的前馈神经网络模块和一个分类器,并以一个前馈神经网络模块为输入端,以所述分类器为输出端。
[0037] 所述分类器和与所述分类器相连的前馈神经网络模块之间,还包括线性投影层和激活函数层。
[0038] 所述前馈神经网络模块包括激活函数层、线性投影层和记忆块。
[0039] 在所述前馈神经网络模块中:
[0040] 所述激活函数层以与所述前馈神经网络模块相连的、靠近所述输入端的前馈神经网络的输出为输入;
[0041] 所述线性投影层以所述激活函数层的输出为输入;
[0042] 所述记忆块以所述线性投影层、以及与所述前馈神经网络模块相连的、靠近所述输入端的前馈神经网络的输出为输入;
[0043] 所述前馈神经网络模块以所述记忆块的输出为自身输出。
[0044] 所述语音识别设备,还用于基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,得到所述语音识别模型组件,以便所述分类器的输出指示输入语音信号所对应的语音序列。
[0045] 所述训练数据集合包括多条训练数据,每条训练数据包括语音数据和所述语音数据对应的标准语音序列,
[0046] 所述语音识别设备,还用于对所述训练数据集合中的各条训练数据,将所述训练数据中语音数据的声学特征进行提取以得到相应的特征序列;
[0047] 将所述训练数据对应的特征序列作为输入,输入所述语音识别模型组件,以得到所述语音识别模型组件输出的、所述训练数据中语音数据的识别结果;
[0048] 基于所述训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数为损失函数,训练所述语音识别模型组件。
[0049] 所述训练数据集合包括多条训练数据,每条训练数据包括语音数据和所述语音数据对应的标准语音序列,
[0050] 所述语音识别设备,还用于对所述训练数据集合中的各条训练数据,将所述训练数据中语音数据的声学特征进行提取以得到相应的特征序列;
[0051] 将所述训练数据对应的特征序列作为输入,输入所述语音识别模型组件,以得到所述语音识别模型组件输出的、所述训练数据中语音数据的识别结果;
[0052] 基于所述训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数和交叉熵函数联合形成的函数为损失函数,训练所述语音识别模型组件。
[0053] 所述语音识别设备,具体用于当所述损失函数中时序分类优化函数对应的、空白帧输出概率低于预设概率阈值时,基于所述损失函数中交叉熵函数获取时间标注信息;
[0054] 基于所述训练数据中语音数据的识别结果和标准语音序列之间的差异,通过所述损失函数和所述时间标注信息训练所述语音识别模型组件。
[0055] 一种语音识别的设备,
[0056] 存储器,用于存储程序;
[0057] 处理器,用于运行所述存储器中存储的所述程序,以执行上述语音识别方法。
[0058] 一种计算机可读存储介质,其上存储有计算机程序指令,当所述计算机程序指令被处理器执行时实现如上述语音识别方法。
[0059] 从上述技术方案中可以看出,提取接收到的语音信号的声学特征。将语音信号的声学特征输入至语音识别模型组件,以便语音识别模型组件对语音信号进行识别处理。最后,获取语音识别模型组件输出的、语音信号对应的语音序列。其中,语音识别模型组件是基于多个前馈神经网络模块构建、并通过时序分类优化函数形成的损失函数进行模型训练而生成的模型组件。由于经时序分类优化函数生成的语音识别模型组件,能够降低语音识别的时延,继而满足语音识别的需求。附图说明
[0060] 从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。
[0061] 图1是本发明实施例中语音识别的系统结构示意图;
[0062] 图2是本发明实施例中语音识别模型组件的结构示意图;
[0063] 图3是本发明另一个实施例中语音识别模型组件的结构示意图;
[0064] 图4是本发明实施例中语音识别方法的流程示意图;
[0065] 图5是本发明另一个实施例中语音识别的系统结构示意图;
[0066] 图6是本发明实施例中语音识别方法和系统的计算设备的示例性硬件架构的结构图。

具体实施方式

[0067] 为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
[0068] 下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本申请,并不被配置为限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
[0069] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0070] 语音识别技术是人机交互技术的重要组成部分,有了语音识别技术,机器就可以像人类一样听懂说话,进而能够思考、理解和反馈。
[0071] 参见图1,图1是本发明实施例中语音识别的系统结构示意图。其中,语音识别的系统可以包括声音传感器和语音识别设备,声音传感器与语音识别设备耦合。
[0072] 声学传感器是可以感受声学量并转化成可输出信号的传感器。声学传感器包括声压传感器、噪声传感器、声波传感器和麦克
[0073] 语音识别设备可以是具有计算功能的计算机/服务器,其中服务器是由一台或多台计算机组成。
[0074] 声音传感器接收用户发出的语音信号,并将接收到的语音信号发送至语音识别设备。
[0075] 语音识别设备可以与声音传感器位于同一位置,或与声音传感器位于不同位置。作为一个示例,声音传感器位于用户所在的本地端,语音识别设备位于端。声音传感器可以通过网络将接收到的语音信号发送至语音识别设备。
[0076] 当然,同一个语音识别设备可以与多个声音传感器相连接。同时接收多个声音传感器发送的语音信号的声学特征。
[0077] 语音信号的丰富变化性是由用户的各种复杂特性或者说话风格与语速、环境噪声、信道干扰、方言差异等因素引起的。语音识别模型组件需要足够的鲁棒性来处理以上的情况。深度神经网络成为语音识别技术中的主流语音识别模型组件。
[0078] 参见图2,图2是本发明实施例中语音识别模型组件的结构示意图。具体包括:前馈神经网络(Deep-feedforward sequential memory networks,DFSMN)模块和分类器。其中,包括多个DFSMN模块和一个分类器。
[0079] DFSMN模块包括:激活函数(Rectified Linear Units,ReLU)层,线性投影层,以及记忆块。
[0080] 记忆块存储每帧输入数据的历史信息和未来信息。历史信息和未来信息可以体现数据的长时信息,有效提升神经网络处理信息数据的能,进而提高信息处理的效率。
[0081] 对于一个DFSMN模块而言,激活函数层是与前一个DFSMN的输出为输入。也就是说,激活函数层与前一个DFSMN的记忆块相连接,激活函数层作为DFSMN模块的输入。
[0082] 线性投影层与激活函数层相连接,线性投影层以激活函数层的输出为输入。
[0083] 记忆块分别与线性投影层和前一个DFSMN模块的记忆块相连接。记忆块以线性投影层、以及与前一个DFSMN模块的记忆块的输出为输入。也就是说,记忆块的输入包括两部分,一部分是线性投影层的输入,另一个部分是前一个DFSMN模块的记忆块的输出。其中,线性投影层的输入也可以理解为每帧输入数据的未来信息。前一个DFSMN模块的记忆块的输出也可以理解为每帧输入数据的历史信息。换言之,记忆块存储每帧输入数据的历史信息和未来信息。
[0084] 此外,记忆块还与下一个DFSMN模块相连接,记忆块的输出为记忆块所属DFSMN模块的输出。即,记忆块可以将所属DFSMN模块的输出,作为下一个DFSMN模块的输入。
[0085] 这样,可以克服由于深度神经网络的深度造成的梯度消失问题,使得可以稳定的训练深层的深度神经网络。
[0086] 对于第l个DFSMN模块, 是第l个DFSMN模块第t帧ReLU层的输出, 是第l个DFSMN模块第t帧线性投影层的输出, 是第l个DFSMN模块第t帧记忆块的输出。
[0087]
[0088]
[0089]
[0090] 其中,Wl为第l个DFSMN模块与第l+1个DFSMN模块的连接权重矩阵。 是第l-1个DFSMN模块第t帧记忆块的输出。 是第l个DFSMN模块第t帧权重偏置。
[0091] 第l个DFSMN模块与第l+1个DFSMN模块的线性投影层连接权重矩阵。 是第l个DFSMN模块第t帧线性投影层权重偏置。
[0092] 是第l个DFSMN模块的记忆块中第t帧特征的第i个历史信息。 是第l个DFSMN模块的记忆块中第t帧特征的第j个未来信息。 是第l个DFSMN模块的记忆块的第t帧特征的历史信息记忆的帧数。 是第l个DFSMN模块的记忆块的第t帧特征的未来信息的帧数。 是第t帧特征第i个历史信息的权重。 第t帧特征第i个未来信息的权重。 表示两个向量对应维度元素间的乘法操作符。
[0093] 在本发明的一个实施例中,语音识别模型组件可以基于预先获取的训练数据集合和损失函数进行模型训练。根据训练后的语音识别模型组件,分类器就可以输出语音信号所对应的语音序列。
[0094] 其中,训练数据集合为包括语音数据与该语音数据对应的标准语音序列的集合。作为一个示例,训练数据集合包括多条训练数据,每条训练数据均包括语音数据与该语音数据对应的标准语音序列。
[0095] 损失函数是用来估量语音识别模型组件的预测值与真实值的不一致程度,它是一个非负实值函数,损失函数越小,语音识别模型组件的鲁棒性就越好。损失函数是通过时序分类优化函数形成的函数。
[0096] 下面基于损失函数的不同,具体说明训练语音识别模型组件的过程。
[0097] 在本发明的一个实施例中,首先,对训练数据集合中的各条训练数据,将训练数据中语音数据的声学特征进行提取以得到相应的特征序列。
[0098] 常用的声学特征包括:短时平均能量或幅度、短时平均过零率、短时自相关函数、线性预测系数、基音频率、短时傅里叶变换、倒谱和共振峰等。
[0099] 作为一个示例,可以采用以下任一方式提取语音数据的声学特征:线性预测倒谱参数(Linear Prediction Cepstrum Coefficient,LPCC)、梅尔频率倒谱系数(Mel-frequency cepstral coefficients,MFCC)、隐尔可夫模型(Hidden Markov Model,HMM)和动态时间归整(Dynamic Time Warping,DTW)。
[0100] 然后,将训练数据对应的特征序列作为输入,输入语音识别模型组件,以得到语音识别模型组件输出的、训练数据中语音数据的识别结果。
[0101] 语音识别模型组件的作用在于:输出输入的特征序列的识别结果。由于训练数据包括语音数据与该语音数据对应的标准语音序列,最后,基于训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数为损失函数,训练语音识别模型组件。
[0102] 具体来说,基于训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数为损失函数确定目标函数。依据确定的目标函数获知分类器的梯度信号。通过梯度信号,调整语音识别模型组件中参数,进而得到训练后语音识别模型组件。
[0103] 训练数据集合包括多条训练数据,通过训练数据集合中的训练数据进行多次训练,最终得到训练后的语音识别模型组件。
[0104] 在本发明的一个实施例中,时序分类优化函数可以包括神经网络的时序分类(Connectionist temporal classification,CTC)优化函数。
[0105] CTC优化函数是一种用来在语音识别、手写体识别等序列问题中训练深度神经网络的算法
[0106] 具体来说,对于一段长度为F的序列来说,每个样本点f在分类器都会输出一个softmax向量,softmax向量表征不同类别之间的相对预测概率。利用CTC优化函数就可以正确预测出该序列的标签。
[0107] CTC优化函数引入CTC空白(blank)帧。CTC blank可以将混淆或不确定的样本点映射到CTC blank节点。这样,关注于样本点的差异性,减少需要完整描述全部样本点的负担。
[0108] 这样,利用CTC优化函数训练生成语音识别模型组件,由于无需完整描述全部样本点,因此能够确保语音识别模型组件语音识别的实时性,而且关注于样本点的差异性进而提高语音识别模型组件输出语音序列的正确性。
[0109] 在本发明的一个实施例中,CTC blank输出概率大于预设阈值,则说明利用CTC优化函数训练得到的语音识别模型组件,输出语音序列的实时性和正确性可以满足实际的需求。需要说明的是,预设阈值是基于实际的应用场景预先设置的参数。
[0110] 在本发明的一个实施例中,考虑到语音识别模型组件在实际应用中会遇到输出的语音序列与标准语音序列在时间上的不匹配性,可能会延时一定的时间。也就是说,语音识别模型组件输出的语音序列会出现乱序,整理乱序的语音序列会导致语音序列的延迟。
[0111] 为了解决语音识别模型组件输出的语音序列延迟的问题,可以在语音识别模型组件的输入语音信号中增加时间标注信息。增加时间标注信息的目的在于,标识语音信号的时间顺序。
[0112] 在训练语音识别模型组件中,所使用的损失函数不仅包括时序分类优化函数,还包括交叉熵函数。
[0113] 与损失函数仅包括时序分类优化函数的不同之处在于:在训练语音识别模型组件的过程中,基于训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数和交叉熵函数联合形成的函数为损失函数,训练语音识别模型组件。
[0114] 这样,通过时序分类优化函数和交叉熵函数,训练得到语音识别模型组件的情况下,利用时间标注信息迅速整理语音序列,进而降低语音序列的延迟,提高语音识别模型组件语音识别的实时性。
[0115] 在本发明的一个实施例中,CTC blank输出概率小于或等于预设阈值,则说明利用CTC优化函数训练得到的语音识别模型组件,输出语音序列的实时性和正确性难以满足实际的需求。
[0116] 那么,则需要利用CTC优化函数和交叉熵(Cross Entropy,CE)函数联合形成的函数为损失函数,训练语音识别模型组件,从而提高语音识别模型组件输出语音序列的实时性和正确性。
[0117] CE函数用于度量两个概率分布间的差异性,可以表示当前参数下的语音识别模型组件与理想的语音识别模型组件之间的差距,以便调整语音识别模型组件的当前参数。
[0118] 在本发明的一个实施例中,建立CTC优化函数和CE函数的目标目标函数Lctcce(x)。
[0119] Lctcce(x)=Lctc(x)+αLce(x)  (4)
[0120] 其中,x是声学模型的输出语音序列,Lctc(x)是CTC优化函数,Lce(x)是CE函数。α是CTC优化函数与CE函数的预设相关系数。
[0121] Lce(x)=-∑K[1-p(ye|x)]delogp(ye|x)  (5)
[0122] p(ye|x)是语音识别模型组件预测CTC blank输出概率。具体来说,x是语音识别模型组件的输出语音序列,ye指第e帧是CTC blank。p(ye|x)指在x是语音识别模型组件的输出语音序列的情况下,ye的第e帧是CTC blank的概率。语音序列中有K帧。de是第e帧的时间标注信息。
[0123] 需要说明的是,时间标注信息是帧级别的标识信息。也就是说,对于每个语音帧均包括时间标注信息。这样,依据时间标注信息,在语音序列中迅速整理语音序列。即:语音识别模型组件输出的语音序列在时间上对齐,进而降低语音序列的延迟。
[0124] 利用CTC优化函数和CE函数训练语音识别模型组件,对于一个语音帧,在仅采用CTC优化函数训练语音识别模型组件的情况下,CTC blank输出概率大于预设阈值,则无需CE函数训练语音识别模型组件;在仅采用CTC优化函数训练语音识别模型组件的情况下,CTC blank输出概率小于或等于预设阈值,则不仅需要CTC优化函数,还需要CE函数训练语音识别模型组件。
[0125] CE函数获取语音帧中的时间标注信息,这样使得语音识别模型组件更加稳定,语音识别模型组件输出的语音序列在时间上对齐,进而降低语音序列的延迟。
[0126] 经过上述过程,训练得到语音识别模型组件。下面结合图2详细说明语音识别的具体过程。
[0127] 需要说明的是,图2中语音识别模型组件包括多个DFSMN模块和一个分类器。
[0128] 采集到的语音信号通过消除噪音、信道失真等对语音进行增强,将语音信号从时域转化到频域,并提取语音信号的声学特征。
[0129] 继续参见图2,语音识别模型组件的输入是语音信号的声学特征。声学特征是多维的向量,并且声学特征的取值可以是离散或连续的。
[0130] 语音信号的声学特征输入语音识别模型组件中的DFSMN模块中。依次通过多个DFSMN模块后,输出至分类器,最终分类器输出语音信号对应的语音序列。
[0131] 其中,在DFSMN模块中,ReLU层的输入,依次通过线性投影层和记忆块输入至下一个DFSMN模块中。记忆块存储每帧输入数据的历史信息和未来信息。ReLU层采用的节点数目为2048,线性投影层和记忆块的节点数目均为512。在实际的应用中,可以根据实际需求调整ReLU层、线性投影层和记忆块的节点数目。
[0132] 也就是说,在DFSMN模块的记忆块中存储每帧输入数据的历史信息和未来信息。由于隐层包括多个DFSMN模块,那么,隐层中存储每帧输入数据的历史信息和未来信息。
[0133] 此外,为了克服由于深度神经网络的深度造成的梯度消失问题,使得可以稳定的训练深层的深度神经网络。
[0134] 参见图3,图3是本发明另一个实施例中语音识别模型组件的结构示意图。与图2中语音识别模型组件的不同在于,该语音识别模型组件还包括线性投影层和ReLU层。
[0135] 最后一个DFSMN模块的输出作为ReLU层的输入。增加ReLU层的目的在于增强构建语音识别模型组件的能力。作为一个示例,增加ReLU层的数目可以是一个或多个。即,增加一个ReLU层,或增加多个ReLU层。
[0136] ReLU层的输出作为线性投影层的输入。线性投影层是一个低维度的线性投影层,可以用来减少语音识别模型组件的参数。
[0137] 参见图4,图4是本发明实施例中语音识别方法的流程示意图,具体包括:
[0138] S401、提取接收到的语音信号的声学特征。
[0139] 接收语音信号,提取接收到的语音信号的声学特征。作为一个示例,接收用户的语音信号,然后提取用户的语音信号的声学特征。对于不同的用户,其对应的声学特征也是不同的。
[0140] S402、将语音信号的声学特征输入至语音识别模型组件,以便语音识别模型组件对语音信号进行识别处理。
[0141] 语音识别模型组件是基于多个DFSMN模块构建、并通过时序分类优化函数形成的损失函数进行模型训练而生成的模型组件。
[0142] 在本发明的一个实施例中,可以基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,以得到语音识别模型组件。
[0143] 根据预先训练得到的语音识别模型组件,可以将语音信号的声学特征输入至语音识别模型组件,以便语音识别模型组件对语音信号进行识别处理。
[0144] S403、获取语音识别模型组件输出的、语音信号对应的语音序列。
[0145] 从语音识别模型组件获取输出的语音序列,该语音序列就是语音信号对应的语音序列。
[0146] 在本发明实施例中,语音识别模型组件是基于多个DFSMN模块构建、并通过时序分类优化函数形成的损失函数进行模型训练而生成的模型组件。由于无需完整描述全部样本点,因此能够确保语音识别模型组件语音识别的实时性,而且关注于样本点的差异性进而提高语音识别模型组件输出语音序列的正确性。
[0147] 在本发明的一个实施例中,分类器和与分类器相连的DFSMN模块之间,还包括线性投影层和激活函数层。增加ReLU层的目的在于增强构建语音识别模型组件的能力。线性投影层是一个低维度的线性投影层,可以用来减少语音识别模型组件的参数。
[0148] 在本发明的一个实施例中,基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,得到语音识别模型组件,以便分类器的输出指示输入语音信号所对应的语音序列。
[0149] 在上述实施例中,通过时序分类优化函数形成的损失函数进行模型训练,得到语音识别模型组件,可以提高语音识别模型组件的鲁棒性,进而提高语音识别模型组件输出语音序列的正确性。
[0150] 在本发明的一个实施例中,首先,对训练数据集合中的各条训练数据,将训练数据中语音数据的声学特征进行提取以得到相应的特征序列。
[0151] 然后,将训练数据对应的特征序列作为输入,输入语音识别模型组件,以得到语音识别模型组件输出的、训练数据中语音数据的识别结果。
[0152] 最后,基于训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数为损失函数,训练语音识别模型组件。
[0153] 在上述实施例中,由于以时序分类优化函数为损失函数,无需完整描述全部样本点,因此能够确保语音识别模型组件语音识别的实时性,而且关注于样本点的差异性进而提高语音识别模型组件输出语音序列的正确性。
[0154] 在本发明的一个实施例中,首先,对训练数据集合中的各条训练数据,将训练数据中语音数据的声学特征进行提取以得到相应的特征序列。
[0155] 然后,将训练数据对应的特征序列作为输入,输入语音识别模型组件,以得到语音识别模型组件输出的、训练数据中语音数据的识别结果。
[0156] 最后,基于训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数和交叉熵函数联合形成的函数为损失函数,训练语音识别模型组件。
[0157] 在上述实施例中,以时序分类优化函数和交叉熵函数联合形成的函数为损失函数,解决语音识别模型组件输出的语音序列延迟的问题,从而提高语音识别模型组件输出语音序列的实时性和正确性。
[0158] 在本发明的一个实施例中,当损失函数中时序分类优化函数对应的、空白帧输出概率低于预设概率阈值时,基于损失函数中交叉熵函数获取时间标注信息。
[0159] 基于训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数和交叉熵函数联合形成的函数为损失函数,通过损失函数和时间标注信息训练语音识别模型组件。
[0160] 在上述实施例中,利用时间标注信息能够迅速整理出语音序列,进而降低语音序列的延迟,提高语音识别模型组件的实时性。
[0161] 参见图5,图5是本发明另一个实施例中语音识别的系统结构示意图,语音识别的系统与语音识别的方法相对应,语音识别的系统具体包括:
[0162] 声音传感器501,用于接收用户的语音信号。
[0163] 语音识别设备502,用于提取接收到的语音信号的声学特征;
[0164] 将语音信号的声学特征输入至语音识别模型组件,以便语音识别模型组件对语音信号进行识别处理;
[0165] 获取语音识别模型组件输出的、语音信号对应的语音序列;
[0166] 其中,语音识别模型组件是基于多个DFSMN模块构建、并通过时序分类优化函数形成的损失函数进行模型训练而生成的模型组件。
[0167] 在本发明的一个实施例中,语音识别模型组件包括多个依次相连的DFSMN模块和一个分类器,并以一个DFSMN模块为输入端,以分类器为输出端。
[0168] 在本发明的一个实施例中,分类器和与分类器相连的DFSMN模块之间,还包括线性投影层和激活函数层。
[0169] 在本发明的一个实施例中,DFSMN模块包括激活函数层、线性投影层和记忆块。
[0170] 在本发明的一个实施例中,在DFSMN模块中:
[0171] 激活函数层以与DFSMN模块相连的、靠近输入端的DFSMN的输出为输入。
[0172] 线性投影层以激活函数层的输出为输入。
[0173] 记忆块以线性投影层、以及与DFSMN模块相连的、靠近输入端的DFSMN的输出为输入。
[0174] DFSMN模块以记忆块的输出为自身输出。
[0175] 在本发明的一个实施例中,语音识别设备502,还用于基于预先获取的训练数据集合、并通过时序分类优化函数形成的损失函数进行模型训练,得到语音识别模型组件,以便分类器的输出指示输入语音信号所对应的语音序列。
[0176] 在本发明的一个实施例中,训练数据集合包括多条训练数据,每条训练数据包括语音数据和语音数据对应的标准语音序列。
[0177] 语音识别设备502,还用于对训练数据集合中的各条训练数据,将训练数据中语音数据的声学特征进行提取以得到相应的特征序列。
[0178] 将训练数据对应的特征序列作为输入,输入语音识别模型组件,以得到语音识别模型组件输出的、训练数据中语音数据的识别结果。
[0179] 基于训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数为损失函数,训练语音识别模型组件。
[0180] 在本发明的一个实施例中,训练数据集合包括多条训练数据,每条训练数据包括语音数据和语音数据对应的标准语音序列。
[0181] 语音识别设备502,还用于对训练数据集合中的各条训练数据,将训练数据中语音数据的声学特征进行提取以得到相应的特征序列。
[0182] 将训练数据对应的特征序列作为输入,输入语音识别模型组件,以得到语音识别模型组件输出的、训练数据中语音数据的识别结果。
[0183] 基于训练数据中语音数据的识别结果和标准语音序列之间的差异,以时序分类优化函数和交叉熵函数联合形成的函数为损失函数,训练语音识别模型组件。
[0184] 在本发明的一个实施例中,语音识别设备502,具体用于当损失函数中时序分类优化函数对应的、空白帧输出概率低于预设概率阈值时,基于损失函数中交叉熵函数获取时间标注信息。
[0185] 基于训练数据中语音数据的识别结果和标准语音序列之间的差异,通过损失函数和时间标注信息训练语音识别模型组件。
[0186] 图6是示出能够实现根据本发明实施例中语音识别的方法和系统的计算设备的示例性硬件架构的结构图。
[0187] 如图6所示,计算设备600包括输入设备601、输入接口602、中央处理器603、存储器604、输出接口605、以及输出设备606。其中,输入接口602、中央处理器603、存储器604、以及输出接口605通过总线610相互连接,输入设备601和输出设备606分别通过输入接口602和输出接口605与总线610连接,进而与计算设备600的其他组件连接。
[0188] 具体地,输入设备601接收来自外部的输入信息,并通过输入接口602将输入信息传送到中央处理器603;中央处理器603基于存储器604中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器604中,然后通过输出接口605将输出信息传送到输出设备606;输出设备606将输出信息输出到计算设备600的外部供用户使用。
[0189] 也就是说,图6所示的计算设备也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1至图5描述的语音识别方法和系统。
[0190] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使对应技术方案的本质脱离本发明各实施例技术方案的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈