掌桥专利:专业的专利平台
掌桥专利
首页

语音识别系统的训练、识别方法、装置、电子设备

文献发布时间:2023-06-19 11:11:32


语音识别系统的训练、识别方法、装置、电子设备

技术领域

本申请涉及语音识别技术,尤其涉及一种语音识别系统的训练方法、基于语音识别系统的语音识别方法、装置、电子设备、计算机可读存储介质及计算机程序产品。

背景技术

自动语音识别(ASR,Automatic Speech Recognition)技术是一种将一段语音信号转化为相应的文字信息的技术,语音识别这项技术可以提供比如自动客服、自动语音翻译、命令控制、语音验证码等多项应用。

在语音识别处理过程中,针对同一语音数据,通常会解析出多条语音识别结果,需要选择多条语音识别结果中与语音数据最匹配的语音识别结果,而合理、准确的选择决定了语音识别处理的准确程度。

相关技术提供的语音识别系统的训练方案,为了提升识别精度不得不依赖于大量的标注数据,这与大量的预标注数据难以获得的现实之间形成矛盾,影响了语音识别的精度。

发明内容

本申请实施例提供一种语音识别系统的训练方法、装置计算机可读存储介质及计算机程序产品,能够在基于少量人工标注数据的条件下,得到识别准确度较高的重打分模型,以获得更优质的语音识别系统。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种语音识别系统的训练方法,所述语音识别系统包括:语音识别模型和重打分模型,所述方法包括:

基于预训练的所述语音识别模型对语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分;

基于所述每个候选识别结果对应的得分对所述重打分模型进行训练,得到训练后的重打分模型;

基于与语音识别任务相关的预打分候选识别结果,继续训练所述训练后的重打分模型。

本申请实施例还提供了一种基于语音识别系统的语音识别方法,所述语音识别系统包括语音识别模型和重打分模型,所述方法包括:

基于语音识别模型对待识别的语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分;

基于重打分模型,对多个候选识别结果以及对应的得分进行更新,得到多个候选识别结果以及对应的更新得分;

根据所述多个候选识别结果以及对应的更新得分确定语音识别结果;

其中,所述重打分模型是基于语音数据和对应的得分进行训练、并继续基于与语音识别任务相关的预打分候选识别结果进行训练而得到的。

本申请实施例提供一种语音识别系统的训练装置,所述语音识别系统包括语音识别模型和重打分模型,所述装置包括:

识别模块,用于基于预训练的语音识别模型对语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分;其中,所述语音识别模型包括声学模型和语言模型;

训练模块,用于基于所述每个候选识别结果对应的得分对所述重打分模型进行训练,得到训练后的重打分模型;

调整模块,用于基于与语音识别任务相关的预打分候选识别结果,继续训练所述训练后的重打分模型。

在上述方案中,所述识别模块,还用于:

基于声学模型和语言模型对语音数据进行语音识别,以得到多个候选识别结果、所述语言模型针对每个候选识别结果的语言得分以及所述声学模型针对所述每个候选识别结果的声学得分;

对所述每个候选识别结果的语言得分和声学得分进行加权处理,将加权处理后的得分确定为所述每个候选识别结果的得分。

在上述方案中,所述识别模块,还用于:

通过所述声学模型对所述语音数据进行声学识别,得到对应的多个词以及每个词对应的概率得分;

通过所述语言模型对所述多个词进行语法识别,得到多个词序列以及每个词序列的概率得分;

将所述多个词序列确定为多个候选识别结果;

根据所述候选识别结果对应的词序列的概率得分,确定所述语言模型针对所述候选识别结果的语言得分;

根据所述候选识别结果对应的词序列中每个词的概率得分,确定所述声学模型针对所述候选识别结果的声学得分。

在上述方案中,所述识别模块,还用于:

获取所述声学模型的属性值与所述语音模型的属性值;

将所述声学模型的属性值与所述语音模型的属性值分别进行归一化处理,将所述声学模型的属性值的归一化结果确定为所述声学模型的权重,将所述语言模型的属性值的归一化结果确定为所述语言模型的权重;

基于所述声学模型的权重和所述语言模型的权重,对所述每个候选识别结果的语言得分和声学得分进行加权处理,将所述加权处理得到的得分确定为所述每个候选识别结果的得分。

在上述方案中,所述识别模块,还用于:

获取所述声学模型的训练指标,以作为所述声学模型的属性值,获取所述语言模型的训练指标,以作为所述语音模型的训练属性值;其中,所述训练指标包括以下至少之一:训练样本的数量,训练次数,训练时效性。

在上述方案中,所述识别模块,还用于:

获取所述声学模型的性能指标,以作为所述声学模型的属性值;获取所述语言模型的性能指标,以作为所述语音模型的属性值;其中,所述性能指标包括以下至少之一:时间复杂度,空间复杂度。

在上述方案中,所述与语音识别任务相关的预打分候选识别结果包括:与语音识别任务相关的特定语音数据的候选识别结果、以及针对所述特定语音数据的候选识别结果的预标注得分;所述训练模块,还用于:

通过所述重打分模型对候选识别结果进行打分预测处理,得到所述重打分模型输出的预测得分;

基于所述候选识别结果的预测得分与所述候选识别结果的得分之间的差异,在所述重打分模型中进行反向传播以更新所述重打分模型的参数。

在上述方案中,所述调整模块,还用于:

通过所述训练后的重打分模型对所述特定语音数据的候选识别结果进行打分预测处理,得到所述训练后的重打分模型输出的预测得分;

确定所述特定语音数据的候选识别结果的预测得分与所述特定语音数据的候选识别结果的预标注得分之间的差异,并基于所述差异在所述训练后的重打分模型中进行反向传播,以更新所述训练后的重打分模型的参数。

本申请实施例还提供了一种语音识别装置,包括:

识别模块,用于基于语音识别模型对待识别的语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分;

重打分模块,用于基于重打分模型,对多个候选识别结果以及对应的得分进行更新,得到多个候选识别结果以及对应的更新得分;

确定模块,用于根据所述多个候选识别结果以及对应的更新得分确定语音识别结果。

本申请实施例提供一种电子设备,包括:

存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的语音识别系统训练方法或基于语音识别系统的语音识别方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的语音识别系统训练方法或基于语音识别系统的语音识别方法。

本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的语音识别系统训练方法或基于语音识别系统的语音识别方法。

本申请实施例具有以下有益效果:

利用预训练的语音识别模型可以自动化地获得大量候选识别结果的得分,以此可以对重打分模型进行充分训练,从而应用于特定的语音识别任务时,只需要少量的预标注数据进行微调即可,兼顾了训练的效率和识别精度。

附图说明

图1是本申请实施例提供的语言识别系统架构的结构示意图;

图2A-2B是本申请实施例提供的电子设备的结构示意图;

图3A是本申请实施例提供的语音识别系统的训练方法的流程示意图;

图3B是本申请实施例提供的语音识别系统的训练方法的流程示意图;

图3C是本申请实施例提供的基于语音识别系统的语音识别方法的流程示意图;

图4是本申请实施例提供的训练的语音识别系统训练方法的示意图;

图5是本申请实施例提供的语音识别系统的示意图;

图6是本申请实施例提供的语音识别系统的训练方法的示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

如果申请文件中出现“第一\第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)声学模型(AM,Automatic Model),对声学、语音学、环境的变量、说话人性别、口音的差异化的知识表示,包括基于隐马尔可夫模型(HMM,Hidden Markov Model)的声学模型,例如混合高斯-隐马尔科夫模型(GMM-HMM)和深度神经网络-隐马尔科夫模型(DNN-HMM)表示,隐马尔可夫模型是一个离散时域的加权有限状态自动机;当然,还可以包括端到端(End to End)的声学模型,例如连接时序分类-长短时记忆(CTC-LSTM)模型和注意力(Attention)模型。

声学模型的每个状态中表示语音单元(例如词、音节和音素等)的语音特征在该状态的概率分布,并通过状态与状态之间的转移连接成一个有序的状态序列,即得到一段语音信号所代表的语音单元的序列。

2)语言模型(LM,Language Mode),是语言结构的知识表示,这里语言结构可以包括词语、句子之间的规律,例如语法、词语常用搭配等的知识表示,语言模型可以包括N元模型(N-gram Model)、递归神经网络(RNN,Recurrent Neural Network)等。

对于一段文字序列,语言模型的任务是计算该序列的概率分布,通俗解释为判断一个语言序列是否是正常语句。

3)发音词典,记录词和音素之间的对应关系,是连接声学模型和语言模型的枢纽。

4)词错率(WER,Word Error Rate)或字错率(CER,Character Error Rate),描述语音识别任务中识别的词序列和真实词序列的匹配度,是语音识别系统的评估指标;具体地:为了使识别出来的词序列和标准的词序列之间保持一致,需要进行替换、删除或者插入某些词,这些插入、替换或删除的词的总个数,除以标准的词序列中词的总个数的百分比,通常英文语音识别以WER描述,中文语音识别以CER描述。

5)时间复杂度与空间复杂度,时间复杂度和空间复杂度是衡量一个算法的两个重要指标,用于表示算法的最差状态所需的时间增长量和所需辅助空间,时间复杂度表示为计算量(FLOPS),即模型的运算次数;空间复杂度表示访存量(Bytes),即模型的参数数量。在神经网络模型中,可以使用时间复杂度和空间复杂度这两个指标来评判深度学习模型的性能。

相关技术中,语音识别系统在针对语音数据识别时,通常会产生多个识别结果,而在多个识别结果中确定准确的真实结果需要精确度较高的重打分模型,相关技术的打分模型通常采用非监督的方式,利用语言模型和声学模型对候选结果打分,并通过人为经验线性加权,这种打分机制准确度效果一般;而为了训练模型效果较好的打分模型需要大量的人工标注数据,需要付出高额的人力成本,浪费人力和时间资源。

基于此,本申请实施例提供一种语音识别系统的训练方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够在减少语音识别系统的重打分模型的标注训练数据的获取成本的同时,提高语音识别系统的准确性。

下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。

参见图1,图1是本申请实施例提供的语音识别系统的训练系统100的结构示意图,终端400通过网络300连接服务器200。服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。网络300可以是广域网或者局域网,又或者是二者的组合。终端400以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。

终端400,发送无标注语音数据至服务器200。服务器200接收无标注语音数据后,基于预训练的语音识别模型语音数据进行识别,得到多个候选识别结果以及每个候选识别结果的得分;基于每个候选识别结果对应的得分对重打分模型进行训练。

终端400发送与语音识别任务相关的预打分候选识别结果至服务器200。服务器200接收与语音识别任务相关的预打分候选识别结果,并基于与语音识别任务相关的预打分候选识别结果,继续训练训练后的重打分模型。至此,语音识别系统训练完成。

在示例1中,终端400发送语音识别请求给服务器200,服务器200解析语音识别请求后利用训练得到的语音识别系统对语音数据进行解析并打分,得到识别结果并返回至终端400。

在示例2中,终端400可以接收服务器200训练后得到的语音识别系统,终端在接收到语音识别请求后,可以离线响应语音识别请求,利用服务器训练得到的语音识别解析语音数据,得到识别结果。

参见图2A-2B,图2A-2B是本申请实施例提供的应用基于语音识别系统的训练方法的电子设备的结构示意图。

承接示例1,本申请实施例提供的电子设备可以实施为服务器。下面,将说明设备实施为服务器时示例性应用,图2A所示的服务器200包括:至少一个处理器210、存储器250和至少一个网络接口220。服务器200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。

处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。

存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。

在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerial Bus)等。

在一些实施例中,本申请实施例提供的语音识别系统的训练装置和基于语音系统的语音识别装置可以采用软件方式实现,图2A示出了存储在存储器250中的语音识别系统的训练装置255,其可以是程序和插件等形式的软件,包括以下软件模块:识别模块2551、训练模块2552、调整模块2553,存储器250还包括基于语音系统的语音识别装置256,其可以是程序和插件等形式的软件,包括以下软件模块:识别模块2561、重打分模块2562、确定模块2563,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。

承接示例2,本申请实施例提供的电子设备可以实施为终端,下面,将说明设备实施为终端时示例性应用,图2B所示的终端400包括:至少一个处理器410、存储器450和至少一个网络接口420。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2B中将各种总线都标为总线系统440。

处理器410、存储器450、操作系统451、网络通信模块452的结构和功能参照图2A中对于处理器210、存储器250、操作系统251、网络通信模块252的介绍,在此不再赘述。

在一些实施例中,本申请实施例提供的基于语音识别系统的语音识别装置可以采用软件方式实现,图2B示出了存储在存储器450中的基于语音系统的语音识别装置455,其可以是程序和插件等形式的软件,包括以下软件模块:识别模块4551、重打分模块4552、确定模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的语音识别系统的训练和语音识别方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。

将结合本申请实施例提供的语音识别训练系统的示例性应用和实施,说明本申请实施例提供的语音识别系统的训练方法。

参见图3A,图3A是本申请实施例提供的语音识别系统训练方法的流程示意图,将结合图3A示出的步骤101-103进行说明。根据上述的示例1可以理解,图3示出的步骤可以由服务器(例如图1示出的服务器200)执行,下文不再重复说明。

在步骤101中,基于预训练的语音识别模型对语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分。

这里,预训练语音识别模型可以包括声学模型和语言模型,可以参见图4,声学模型是利用语音数据库训练得到,语言模型是利用语言数据库训练得到,训练声学模型和语言模型的过程是语音、语言学知识、信号处理技术、数据挖掘技术和统计建模方法的一个过程。

在一些实施例中,终端获取语音数据,发送至服务器对语音数据进行预处理;例如,采集的语音数据通常是数字形式的语音信号,语音数据可以来源于语音助手插件或应用程序中,通过采集用户在使用智能助手时说话的语音;语音数据也可以来源于智能手机、平板等设备的即时聊天通讯中,通过采集用户在麦克风输入的语音;语音数据也可以来自工作会议录音、人工客服电话等等场合的声音采集,本申请实施例对于语音数据的获取来源和获取方式不加限定。

服务器获取语音数据后,对数据语音数据进行预处理,可以参见图4,预处理过程包括预滤波、预加重、加窗分帧、端点检测得到初始语音信号。

例如,首先需要对语音号进行预滤波与采样,通常使用带通滤波器进行滤波,再将原有离散信号进行量化处理,排除非人体发声以外频率的信号与50Hz电流频率的干扰;预加重技术需要平滑信号的高频与低频部分的衔接段,使语音信号的频谱平滑;分帧加窗操作是为了将连续的信号用不同长度的采集窗口分成一个个独立的频域稳定的部分;最后进行端点检测工作,对输入语音信号的起止点进行正确判断;对数据语音数据进行预处理目的是消除因为人类发声器官本身和由于采集语音信号的设备所带来的混叠、高次谐波失真、高频等等因素对语音信号质量的影响。

其中,将语音信号进行分帧加窗处理后对语音信号进行声学特征提取,可以参见图4的特征提取过程,声学特征提取后,得到声学特征向量;具体来说,通常将语音信号分割为多个长度为20毫秒的帧,将语音信号进行分帧处理后,将每一帧波形转化为一个多维向量;将每一帧转化为一个多维向量可以为:在每一帧的语音段上提取特征参数,形成声学特征序列,将声学特征序列经过处理得到声学特征向量;其中,特征参数可以利用LPC技术提取线性预测倒谱系数(LPCC)或模拟人耳的听觉模型并通过傅里叶变换提取梅尔频率倒谱系数(MFCC),还可以是提取语音数据的Fbank特征、PLP特征等,当然也可以是其他类型的声学特征,本申请实施例不加限定。

参见图3B,图3B是本申请实施例提供的语音识别系统的训练方法的流程示意图,步骤101中的基于预训练的语音识别模型对语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分的方法,可以通过步骤1001-1002实现,下面将结合图3B示出的步骤1001-1002进行说明。

在步骤1011中,基于声学模型和语言模型对语音数据进行语音识别,以得到多个候选识别结果、语言模型针对每个候选识别结果的语言得分以及声学模型针对每个候选识别结果的声学得分。

在一些实施例中,步骤1011的方法可通过以下技术方案实现:通过声学模型对语音数据进行声学识别,得到对应的多个词以及每个词对应的概率得分;通过语言模型对多个词进行语法识别,得到多个词序列以及每个词序列的概率得分;将多个词序列确定为多个候选识别结果;根据候选识别结果对应的词序列的概率得分,确定语言模型针对候选识别结果的语言得分。

在一些实施例中,经过预处理的语音数据可转化为每一帧的声学特征向量,通过声学模型将声学特征向量转换为对应的音素,并根据音素与字词的发音字典得到各个音素对应的词,其中,声学模型(可以采用GMM-HMM混合高斯-隐马尔科夫模型)将每一帧的声学特征向量对应转换为多个可能的音素,并给出多个音素的概率,并结合音素与发音词典的映射关系,得到每一帧语音特征向量对应多个可能的词,以及每个词的概率;利用语言模型对声学模型处理得到的各个词进行语法识别,即对各个词按照连贯出现的可能性进行排列组合,通过词语之间的关联性在解码网络中搜索词序列的路径,得到多个词序列以及词序列的概率得分。

例如,语言模型可以为N-gram模型,N-gram模型基于一种假设:第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,比如词序列W由w1,w2,w3,…,wm这m个词组成,则当前词序列发生的概率可以通过公式(1)确定:

P(W)=P(w1)P(W2|1)P(w3|1,w2)…P(wm|1,w2…wm-1)(1)

其中,P(W)为当前词序列的概率,也即词序列W的概率得分。

在一些实施例中,语言模型、声学模型和发音词典通常用以构建解码网络,参见图4示出的解码过程,将经过特征提取的声学特征向量输入解码网络中,通过声学模型、语言模型和发音词典进行解码,在解码网络遍历所有可能的路径,通过解码算法得到lattice词图,在lattice中词图输出多个词序列,将多个词序列确定为语音数据对应的多个候选识别结果,通常表示为N-list。

在一些实施例中,可以将每个词序列对应的概率得分作为语言模型针对词序列对应的候选识别结果的语言得分,将候选识别结果对应的词序列中各个词对应的概率得分相乘,得到当前词序列对应的候选识别结果的声学得分;或者,将词序列中的各个词的概率得分进行线性加权取平均值,作为当前词序列对应的候选识别结果的声学得分。

在步骤1012中,对每个候选识别结果的语言得分和声学得分进行加权处理,将加权处理后的得分确定为每个候选识别结果的得分。

在一些实施例中,获取声学模型的属性值与语音模型的属性值;将声学模型的属性值与语音模型的属性值分别进行归一化处理,将声学模型的属性值的归一化结果确定为声学模型的权重,将语言模型的属性值的归一化结果确定为语言模型的权重;基于声学模型的权重和语言模型的权重,对每个候选识别结果的语言得分和声学得分进行加权处理,将加权后的得分确定为每个候选识别结果的得分。

需要说明的是,归一化处理是数据挖掘中一项基本的工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间量纲的影响,需要进行数据标准化,保证数据指标之间的可比性例如求解距离(欧氏距离等),或将数据预处理后映射到(0,1)之内等。

还需要说明的是,加权处理包括线性加权处理,依据不同算法或模型对候选识别结果打分的贡献程度,确定不同的得分权重;确定权重是指某一因素或指标相对于某一事物的重要程度,其不同于一般的比重,体现的不仅仅是某一因素或指标所占的百分比,强调的是因素或指标的相对重要程度,倾向于贡献度或重要性。

示例性的,获得声学模型针对候选识别结果的声学得分Score,以及语言模型针对候选识别结果的语言得分Score,通过线性加权处理得到候选识别结果的得分Scoren,将加权后的得分确定为每个候选识别结果的得分,所以候选识别结果的得分可以通过公式(2)确定:

Scoren=δ*Scorea+λ*Score(2)

其中,δ表示声学得分的权重,λ表示语言得分的权重。

在一些实施例中,获取声学模型的属性值与语音模型的属性值可以通过以下技术方案实现:获取声学模型的训练指标,以作为声学模型的属性值,获取语言模型的训练指标,以作为语音模型的属性值;其中,训练指标包括以下至少之一:训练样本的数量,训练次数,训练时效性。

在实际实施时,可以获取声学模型的训练样本的数量,即语音数据库的样本数量值,并获取语言模型的训练样本的数量,即语言数据库的样本数量值,将两个模型的样本数量值作为模型的属性值,基于属性值分别为声学模型得分和语言模型得分分配不同的权重;权重可以与样本数量值呈正相关,若样本数量值越大,则分配的权重越高,表征相应模型对语音识别候选打分的贡献程度越高。

在实际实施时,还可以获取模型训练次数作为模型的属性值,训练次数表征了模型被迭代的次数,可以根据模型迭代次数的多少确定权重,权重可以与模型训练次数呈正相关,若模型迭代次数越多,则分配的权重越高,表征相应模型对语音识别候选打分的贡献程度越高。

在实际实施时,还可以获取模型训练时效性作为模型的属性值,模型训练时效性可以包括模型的未更新时长(可以理解为当前时间与最近一次更新的时间)的倒数或平均更新周期,权重可以与模型训练次数呈负相关,若未更新时长或平均更新周期越长,则分配的权重越低,表征相应模型对语音识别候选打分的贡献程度越低。

模型的训练指标可以反映模型的训练程度,预训练的声学模型和语言模型不同的训练程度影响模型功能和模型效果,对声学模型和语言模型为语音识别候选结果打分得到的声学得分和语言得分的贡献程度会有所不同,通过模型的训练指标与加权处理中权重设定的联动,充分的参考了声学模型和语言模型对候选识别结果打分的重要程度,以使获得的候选结果的最终得分更加准确和合理。

在另一些实施例中,获取模型的属性值还可以通过以下技术方案实现,获取声学模型的性能指标,以作为声学模型的属性值;获取语言模型的性能指标,以作为语音模型的属性值;其中,性能指标包括以下至少之一:时间复杂度,空间复杂度。

需要说明的是,时间复杂度决定了模型的训练/预测时间。如果时间复杂度过高,会导致模型训练和预测耗费大量时间,既无法快速改善模型,也无法做到快速的预测。空间复杂度决定了模型的参数数量。由于维度灾难的限制,如果空间复杂度越高,模型的参数越多,训练模型所需的数据量就越大,会导致模型的训练更容易过拟合。

在实际实施时,获取声学模型和语言模型的时间复杂度或空间复杂度作为模型属性值,基于属性值分别为声学模型得分和语言模型得分分配不同的权重;示例性的,权重可以与时间复杂度或空间复杂度呈负相关,若模型时间复杂度(计算量/FLOPS,即模型的运算次数)越高,则分配的权重越低,若模型的空间复杂度(访存量/Bytes,即模型的参数数量)则分配的权重越低。

模型的性能指标用于评价模型的好坏,不同的性能指标对模型进行评价往往会有不同的结果。预训练的声学模型和语言模型性能指标不同,为语音识别候选结果打分得到的声学得分和语言得分的贡献程度会有所不同,通过模型的性能指标与加权处理中权重设定的联动,充分的参考了声学模型和语言模型对候选识别结果打分的重要程度,以使获得的候选结果的最终得分更加准确和合理。

在本申请实施例中,通过声学模型和语言模型对语音数据的识别处理,得到多个候选结果和候选结果的得分,能够在原始无标注语音数据的基础上无监督获得大量的携带得分的候选结果,以使在不浪费人工资源去大量标注训练数据的条件下,利用大量的携带得分的候选识别结果弱监督训练重打分模型。

在步骤102中,基于每个候选识别结果对应的得分对重打分模型进行训练,得到训练后的重打分模型。

这里,每个候选识别结果的得分可以包括:语音识别模型针对候选识别结果输出的分数值,分数值用于量化表征候选识别结果是语音数据的正确识别结果的概率;或者,语音识别模型针对候选识别结果输出的分数值的排序值,排序值用于表征分数值在多个候选结果的分数值中的次序。

在一些实施例中,得分为语音识别模型针对候选识别结果输出的分数值,模型为打分模型时,参见图3B,图3B是本申请实施例提供的语音识别系统的训练方法的流程示意图,步骤102中的方法可以通过步骤1021-1022实现,下面将结合图3B示出的步骤1021-1022进行说明。

在步骤1021中、通过重打分模型对候选识别结果进行打分预测处理,得到重打分模型输出的预测得分。

在一些实施例中,参见图4示出的预训练过程:将携带得分的候选识别结果输入重打分模型,对重打分模型进行预训练,步骤1021中的通过重打分模型对候选识别结果进行打分预测处理,得到重打分模型输出的预测得分的方法可以通过以下技术方案实现:

对候选识别结果进行分词处理,得到对应的词序列;将词序列进行编码处理,得到对应的多个词特征向量;通过重打分模型对多个词特征向量进行打分预测处理,计算每个词特征向量的概率得分;其中,每个词特征向量的概率得分由前n-1个向量决定,n为预先设定的整数值。根据每个词特征向量的概率得分,确定词序列的概率得分,将词序列的概率得分作为重打分模型针对候选识别结果的预测得分。

例如,可以根据每个词向量的概率得分,将每个词向量的概率得分相乘作为词序列的概率得分。其中,重打分模型可以包括E层、T层、LSTM层和Softmax层,其中,E层用于对候选识别结果分词处理,以获得E1,E2…En的n个分词;T层用于对各个分词进行特征提取,获取每个词对应的词向量T1,T2…Tn;长短期记忆网络(LTSM,Long Short-Term Memory)层可以长期学习依赖信息,LTSM层用于根据词向量的上下文关系确定各个词向量的条件概率得分,Softmax层用于映射输出根据各个词向量对应的条件概率得分以确定的相应词序列的预测得分,Softmax层可以根据各个词向量对应的条件概率确定相应词序列的预测得分,示例性的,可以将各个词向量对应的条件概率得分累乘或取对数后累加得到相应词序列的预测得分,本申请实施例对此不做限制。

在步骤1022中,基于候选识别结果的预测得分与候选识别结果的得分之间的差异,在重打分模型中进行反向传播以更新重打分模型的参数。

在一些实施例中,获取候选识别结果的预测得分与候选识别结果的得分之间的差异(也即误差信号),将差异在重打分模型中反向传播,并在传播的过程中更新重打分模型的参数。

这里,对反向传播进行说明,将候选识别结果输入到神经网络模型的输入层,经过隐藏层,最后达到输出层并输出结果,这是神经网络模型的前向传播过程,由于神经网络模型的输出结果与实际结果有差异,则计算输出结果与实际值之间的差异,并将该差异从输出层向隐藏层反向传播,直至传播到输入层,在反向传播的过程中,根据误差调整模型参数的值;不断迭代上述过程,直至损失函数收敛。

在另一些实施例中,候选识别结果的得分为语音识别模型针对候选识别结果输出的分数值的排序值时,重打分模型可以为排序模型,语音识别系统的训练过程可以通过以下技术方案实现:通过重打分模型对多个候选识别结果进行打分预测处理,得到重打分模型输出的预测得分;根据输出的多个预测得分为多个候选结果排序,得到多个候选结果的排序值;基于候选识别结果的排序值与候选识别结果的得分之间的差异,在重打分模型中进行反向传播以更新重打分模型的参数。

在本申请的实施例中,在训练重打分模型时,能够利用便捷获得的大量弱标注数据(可以理解为候选结果的得分)对重打分模型进行训练,不断地迭代处理以更新模型的参数,在不浪费人力资源的条件下学习声学模型和语言模型双重打分的效果,降低了模型训练标注数据的获取成本。

在步骤103中,基于与语音识别任务相关的预打分候选识别结果,训练训练后的重打分模型。

在一些实施例中,在步骤103之前,可以执行以下处理:预先采集目标领域的语音数据,对语音数据进行语音识别,得到与识别任务相关的预打分候选识别结果。

这里,可以在指定业务范围内针对指定业务获取相应的语音数据。例如:针对银行系统的智能客服服务,在智能咨询相关办理业务的指定语言环境下,采集客户的语音数据可以为:“办理银行卡”,“更改银行卡绑定电话号码”,“提取现金”,“代理保险业务”等相关业务咨询语音;采集相应的语音数据后,解析与业务相关的语音数据和具备特征的语言逻辑,用以训练与银行客服系统相关的语音识别系统的重打分模型。

例如,获取与语音识别任务相关的预打分候选识别结果之前,可以在目标领域获取特定的语音数据并对语音数据进行解析处理,得到与特定语音任务相关的预打分候选结果。这里,与语音识别任务相关的预打分候选识别结果包括:与语音识别任务相关的特定语音数据的候选识别结果、以及针对特定语音数据的候选识别结果的预标注得分。

在一些实施例中,获得与语音识别任务相关的特定语音数据的候选识别结果、以及针对特定语音数据的候选识别结果的预标注得分的过程可以通过以下技术方案实现:获得与目标业务相关的语音数据的唯一真实识别结果和唯一准确得分;唯一真实文本结果可以通过语音识别系统解析得到,也可以在采集语音数据时通过人工分析得到,获取唯一的特定语音数据对应的真实文本结果为当前真实文本结果标注唯一准确的得分,将唯一准确的得分确定为针对特定语音数据的候选识别结果的预标注得分。

这里,若当前预标注得分表征得分值,则唯一准确得分可以用100%标注,表征当前结果的真实性。若当前预标注得分表征依据识别结果的得分值进行排序的次序结果,则唯一准确得分值可以用“1”标注,表征当前真实结果排在第一位。

在另一些实施例中,与语音识别任务相关的特定语音数据的候选识别结果、以及针对特定语音数据的候选识别结果的预标注得分还可以通过以下方式实现:获得与目标领域的语音识别任务相关的语音数据的多个候选识别结果和候选识别结果的人工标注得分;其中,多个候选识别结果可以由语音识别系统得到,语音识别系统可以为本申请预训练的语音识别系统或其他的语音识别模型等,本申请实施例不做限定,获取语音数据的候选识别结果的过程可参照本申请实施例上文记载的获得候选识别结果的过程,在此不再赘述。

例如,获取多个候选识别结果以及对候选识别结果的人工标注得分的方法可以通过以下技术方案实现:基于目标领域的工作人员判断的语音数据的真实识别结果(或工作人员作为语音数据的提供者,并同时记录语音数据对应的真实识别结果),根据真实识别结果对多个候选识别结果计算文本误识率(英文以WER为衡量标准,中文以CER为衡量标准),根据每个候选识别结果相较于真实识别结果的CER或WER为每个候选识别结果分配人工标注得分将人工标注得分作为针对特定语音数据的候选识别结果的预标注得分。

这里,若当前预标注得分表征得分值,则人工标注得分可以用WER或CER的值标注,表征当前识别结果与真实结果之间的差异。若当前预标注得分表征依据识别结果的得分值进行排序的次序结果,则人工标注得分可以为依据WER或CER为候选识别结果排序,并依据次序用“1”、“2”…“n”标注,表征当前候选识别结果与真实识别结果相近程度的次序。

在另一些实施例中,与语音识别任务相关的特定语音数据的候选识别结果、以及针对特定语音数据的候选识别结果的预标注得分还可以通过以下技术方案实现:获得与目标领域的语音识别任务相关的多个语料,多个语料为同一语义的多个相似语料文本,基于目标领域的工作人员确定的目标文本,根据目标文本对多个相似语料计算WER或CER,并依据每个相似语料文本相较于目标文本的CER或WER为每个相似语料文本分配人工标注得分,分配得分的过程可参照本申请实施例上文记载的方式,在此不做赘述。

在获取与语音识别任务相关的预打分候选识别结果后,步骤103可以通过以下技术方案实现:参见图4示出的将预打分候选识别结果输入预训练的重打分模型,对重打分模型进行再次训练的过程:通过训练后的重打分模型对特定语音数据的候选识别结果进行打分预测处理,得到训练后的重打分模型输出的预测得分;确定特定语音数据的候选识别结果的预测得分与特定语音数据的候选识别结果的预标注得分之间的差异,并基于差异在训练后的重打分模型中进行反向传播,以更新训练后的重打分模型的参数。

在一些实施例中,若预打分候选识别结果包括唯一真实识别结果和唯一准确得分值,获得上述训练后的重打分模型,对唯一真实识别结果进行打分预测处理,获得输出的预测得分与唯一准确得分之间的差异,从重打分模型的输出层开始,将差异在重打分模型中反向传播,并在传播的过程中更新重打分模型的参数处理。

通过对唯一真实识别结果进行打分预测处理,并根据与唯一准确得分的差异对训练后的重打分模型进行微调,降低了对候选识别结果重打分的误识率,更好的保证重打分模型的精确度。

在另一些实施例中,预打分候选识别结果还可以包括多个候选识别结果和相应的人工标注得分,或者与语音识别任务相关的多个语料文本以及相应的人工标注得分,可以参照本申请实施例上文记载的过程,对重打分模型进行继续训练。

通过步骤103中的方法,获取少量的人工标注得分对重打分模型进行微调,能够适应于目标领域的相关语音识别任务,并且通过少量人工标注数据对重打分模型的有监督训练使得重打分模型的预测结果更加接近真实的预测结果,保证了重打分模型预测的合理性和准确性。

在一些实施例中,可以将再次训练的得到的重打分模型应用到语音识别系统中,实现对语音数据的识别。例如,基于语音识别模型对待识别的语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分。基于重打分模型,对多个候选识别结果以及对应的得分进行更新,得到多个候选识别结果以及对应的更新得分;其中,重打分模型是基于语音数据和对应的得分进行训练、并继续基于与语音识别任务相关的预打分候选识别结果进行训练而得到的;根据多个候选识别结果以及对应的更新得分确定语音识别结果。

例如,获取输入的待识别的语音数据,将语音信号输入训练好的语音识别系统,对待识别语音数据进行预处理,预处理包括预滤波、分帧加窗、预加重、端点检测等,对预处理后的语音数据进行特征提取得到声学特征向量,将语音数据对应的声学特征向量通过训练好的声学模型和语言模型、发音词典组成的解码网络对声学特征向量进行解码,得到语音数据的多个候选识别结果以及候选识别结果的得分;将多个候选识别结果以及候选识别结果的得分输入训练好的重打分模型,重打分模型对候选识别结果进行打分预测,得到预测的新得分,利用新得分更新候选识别结果的得分,基于更新的得分对多个候选识别结果进行排序,将排序结果最前的结果作为语音数据的识别结果。

本申请实施例中,采集大量的无标注语音数据对语音识别系统的重打分模型进行预训练,结合语音识别模型中声学模型和语言模型对大量无标注的语音数据进行语音识别解码,得到多个候选识别结果和候选识别结果的对应得分,得分可以由声学模型和语言模型打分的加权处理获得,在上述过程中无需人工参与,能够廉价的获取携带得分的候选识别结果,以在重打分模型进行训练时,可以优先利用大量的携带加权得分的候选识别结果进行预训练,并在目标领域的语音识别任务中,利用少量的人工标注的数据对重打分模型进行微调,能够在减少人工工作量和数据标注成本的基础上,训练适应目标领域且准确度较高的重打分模型,以得到相应的语音识别系统。

下面,将结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的基于语音识别系统的语音识别方法。

参见图3C,图3C是本申请实施例提供的基于语音识别系统的语音识别方法的流程示意图,语音识别系统包括语音识别模型和重打分模型,下面将结合图3C示出的步骤201-203进行说明。

在步骤201中,基于语音识别模型对待识别的语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分。

这里,语音识别模型可以包括声学模型和语言模型,语音识别模型可以是本申请实施例训练后得到的语音识别系统中的语音识别模型。

在一些实施例中,终端获取待识别的语音数据,发送至服务器对待识别的语音数据进行语音识别;示例性的,服务器获取待识别的语音数据后,将语音数据输入训练好的语音识别系统,对待识别语音数据进行预处理,预处理包括预滤波、分帧加窗、预加重、端点检测等,对预处理后的语音数据进行特征提取得到声学特征向量,将语音数据对应的声学特征向量通过训练好的声学模型和语言模型、发音词典组成的解码网络对声学特征向量进行解码,得到语音数据的多个候选识别结果以及候选识别结果的得分。

在步骤202中,基于重打分模型,对多个候选识别结果以及对应的得分进行更新,得到多个候选识别结果以及对应的更新得分;其中,重打分模型是基于语音数据和对应的得分进行训练、并继续基于与语音识别任务相关的预打分候选识别结果进行训练而得到的。

这里,重打分模型可以是本申请实施例训练后得到的语音识别系统中的重打分模型。

在一些实施例中,服务器将多个候选识别结果以及候选识别结果的得分输入训练好的重打分模型,重打分模型对候选识别结果进行打分预测,得到预测的更新得分,这里,重打分模型对候选识别结果进行打分预测处理的过程可参照本申请实施例上文记载的对候选识别结果进行打分预测处理的过程,在此不再赘述。

在步骤203中,根据多个候选识别结果以及对应的更新得分确定语音识别结果。

在一些实施例中,服务器利用更新得分更新候选识别结果的得分,基于更新得分对多个候选识别结果进行排序,将排序结果最前的识别结果确定为语音数据的识别结果。

在另一些实施例中,终端可以获取服务器提供的训练后语音识别系统,在获取待识别语音数据后,利用训练后的语音识别系统实施步骤201-203中的方法,以得到待识别语音数据对应的识别结果。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。

图5是本申请实施例提出的训练的语音识别系统的示意图,参见图5,其中,N候选重打分是针对语音模型和声学模型生成的候选识别结果集重新评估,确定顺序,选取最优结果作为最终ASR结果。

例如,获取待识别语音数据后,对语音数据进行特征提取,该语音特征可以是梅尔频率倒谱系数(MFCC)、线性预测倒谱系数(LPCC)等等,在得到声学特征后,通过预设的语音识别模型中的声学模型和语言模型对声学特征进行处理,得到各个词序列的网络,基于词网络获取多个候选识别结果,对各个候选的识别结果调用重打分模型进行重新评估和排序,选取最优的识别结果作为语音识别系统的目标识别结果。

图5所示的语音识别系统可以应用于银行智能客服系统中,获取银行客服咨询通话业务中的语音数据,例如与咨询银行卡办理业务,咨询资金转出业务等问题的语音数据,利用上述语音识别系统进行解析,得到与相关语音咨询业务语音对应的最终识别结果。

在例如银行业务中,需要智能客服系统对语音数据进行语音识别,解析语音信号携带的业务办理或咨询的信息,智能客服能够就解析出的文字或识别结果进行相关业务的回复和业务办理,另外,由于银行业务系统庞大,对于通话系统交互中是否携带敏感信息或违规信息需要定期的质检和审阅,因此,需要一个优质的语音识别系统,对客服通话业务中的语音数据进行处理以得到精准的识别结果。

语音识别系统包括语音识别模型和重打分模型,语音识别模型能够进行粗略的语音识别,并给出多个候选识别结果,但是经过粗略解析的候选识别结果会携带不同类型错误信息,故而采用重打分模型对多个候选识别结果进行精打分,以获得最终的目标识别结果,目标识别结果的错误率最低,最接近真实语音数据携带的语义信息。然而,训练一个适应银行客服通话业务的语音识别系统中的重打分模型,需要大量的携带标注的样本数据进行监督训练,样本数据中需要包含语音信号以及语音信号对应的真实语义结果或候选结果的优劣排序。由于银行业务系统庞大,通话系统涉及的语音数据量庞大,为多个语音数据添加人工标注需要浪费大量的人力资源和花费大量的时间成本,如果采用无监督训练,根据现有中语音识别模型包括的声学模型和语言模型给出的打分进行加权作为标注不够精确,效果一般,所以需要兼顾重打分模型的精确度和节约人力/时间成本。

本申请提供了一个利用预先训练的语音识别系统中的语音识别模型(包括语言模型(LM)以及声学模型(AM))训练重打分模型的方法。图6是本申请实施例提出的语音识别系统的训练方法的示意图,参见图6,图6中针对语音识别系统的重打分模型的训练方法主要通过两个阶段执行,如图6示出的预训练以及微调两个阶段。

首先,介绍预训练(Pre-training)阶段。

在实际实施时,获取大量无标注语音数据,基于预训练的语音识别模型(预训练的ASR系统中的LM和AM模型)对语音数据a进行语音识别解码,得到n个候选识别结果(W1,W2…Wn)以及每个候选识别结果对应的得分(s1,s2……sn)。其中,每个候选识别结果的得分通过非监督的方式将AM针对候选识别结果的得分与LM针对候选识别结果的得分线性加权得到。

例如,获取银行智能客服通话系统的业务办理语音数据a,语音数据a包含的语义信息为“办理银行卡”,利用银行客服通话系统预训练LM和AM对语音数据进行解码,得到N个候选结果,同时获得这些候选结果的得分。需要说明的是,候选识别结果的得分可以是用于量化表征候选识别结果是语音数据的正确识别结果的概率分值或者候选识别结果的排序状态。

在一些实施例中,若得分为概率分值,每个候选结果的得分Scoren可以通过声学模型针对候选识别结果声学得分Scorea,和语言模型针对候选识别结果的语言得分Scorel,通过线性加权处理得到。

示例性的,加权得分后的各个候选结果以及对应的概率得分可以为::“办理银行卡”的概率得分为0.9、“办理音行卡”的概率得分为0.8、“办理银行咔”的概率得分为0.7、“办银行卡”的概率得分为0.2。

基于每个候选识别结果对应的得分对重打分模型进行训练,以使得到训练后的重打分模型对候选结果的预测得分接近各个候选结果的概率得分。

其次,介绍微调(Fine-Tuning)阶段。

在实际实施时,获取少量的与业务相关的携带标注的语音数据,标注数据可以为与语音识别任务相关的预打分候选识别结果,与语音识别任务相关的预打分候选识别结果包括:与语音识别任务相关的特定语音数据的候选识别结果、以及针对特定语音数据的候选识别结果的预标注得分,得分为语音数据携带的标注。

例如,承接上述示例,获取通过客服系统的工作人员进行语音语音分析后对各个候选结果人工标注得分,例如:“办理银行卡”的概率得分为1.0、“办理音行卡”的概率得分为0.6、“办理银行咔”的概率得分为0.5、“办银行卡”的概率得分为0.8。

接下来,通过训练后的重打分模型对特定语音数据的候选识别结果进行打分预测处理,得到训练后的重打分模型输出的预测得分;确定特定语音数据的候选识别结果的预测得分与特定语音数据的候选识别结果的预标注得分之间的差异,并基于差异在训练后的重打分模型中进行反向传播,以更新训练后的重打分模型的参数,得到微调后的重打分模型,以使得到训练后的重打分模型对候选结果的预测得分接近各个候选结果的预标注得分。

下面,继续说明本申请实施例提供的语音识别系统的训练装置255的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,存储在存储器250的语音识别系统的训练装置255中的软件模块可以包括:识别模块2551用于基于预训练的语音识别模型对语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分,训练模块2552,用于基于每个候选识别结果对应的得分对重打分模型进行训练,得到训练后的重打分模型,确定模块2553,用于基于与语音识别任务相关的预打分候选识别结果,继续训练训练后的重打分模型。

在一些实施例中,识别模块2551,还用于:基于声学模型和语言模型对语音数据进行语音识别,以得到多个候选识别结果、语言模型针对每个候选识别结果的语言得分以及声学模型针对每个候选识别结果的声学得分;基于声学模型的权重和语言模型的权重,对每个候选识别结果的语言得分和声学得分进行加权处理,将加权处理后的得分确定为每个候选识别结果的得分。

在一些实施例中,识别模块2251,还用于:通过声学模型对语音数据进行声学识别,得到对应的多个词以及每个词对应的概率得分;通过语言模型对多个词进行语法识别,得到多个词序列以及每个词序列的概率得分;将多个词序列确定为多个候选识别结果;根据候选识别结果对应的词序列的概率得分,确定语言模型针对候选识别结果的语言得分;根据候选识别结果对应的词序列中每个词的概率得分,确定声学模型针对候选识别结果的声学得分。

在一些实施例中,识别模块2251,还用于:获取声学模型的属性值与语音模型的属性值;将声学模型的属性值与语音模型的属性值分别进行归一化处理,将声学模型的属性值的归一化结果确定为声学模型的权重,将语言模型的属性值的归一化结果确定为语言模型的权重;基于声学模型的权重和语言模型的权重,对每个候选识别结果的语言得分和声学得分进行加权处理,将加权处理得到的得分确定为每个候选识别结果的得分。

在一些实施例中,识别模块2251,还用于:获取声学模型的训练指标,以作为声学模型的属性值,获取语言模型的训练指标,以作为语音模型的属性值;其中,训练指标包括以下至少之一:训练样本的数量,训练次数,训练时效性。

在一些实施例中,识别模块2251,还用于:获取声学模型的性能指标,以作为声学模型的属性值;获取语言模型的性能指标,以作为语音模型的属性值;其中,性能指标包括以下至少之一:时间复杂度,空间复杂度。

在一些实施例中,与语音识别任务相关的预打分候选识别结果包括:与语音识别任务相关的特定语音数据的候选识别结果、以及针对特定语音数据的候选识别结果的预标注得分;训练模块2252,还用于:通过重打分模型对候选识别结果进行打分预测处理,得到重打分模型输出的预测得分;基于候选识别结果的预测得分与候选识别结果的得分之间的差异,在重打分模型中进行反向传播以更新重打分模型的参数。

在一些实施例中,调整模块2253,还用于:通过训练后的重打分模型对特定语音数据的候选识别结果进行打分预测处理,得到训练后的重打分模型输出的预测得分;确定特定语音数据的候选识别结果的预测得分与特定语音数据的候选识别结果的预标注得分之间的差异,并基于差异在训练后的重打分模型中进行反向传播,以更新训练后的重打分模型的参数。

在一些实施例中,如图2A所示,存储在存储器250的基于语音识别系统的语音识别装置255中的软件模块可以包括:识别模块2551用于基于所述语音识别模型对待识别的语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分,训练模块2552,用于基于重打分模型,对多个候选识别结果以及对应的得分进行更新,得到多个候选识别结果以及对应的更新打分更新得分,确定模块2553,根据多个候选识别结果以及对应的更新打得分更新得分确定语音识别结果。这里,重打分模型是基于语音数据和对应的得分进行训练、并继续基于与语音识别任务相关的预打分候选识别结果进行训练而得到的。

下面继续说明本申请实施例提供的基于语音识别系统的语音识别装置455的实施为软件模块的示例性结构,在一些实施例中,如图2B所示,存储在存储器450的基于语音识别系统的语音识别装置455中的软件模块可以包括:识别模块4551用于基于所述语音识别模型对待识别的语音数据进行语音识别,得到多个候选识别结果以及每个候选识别结果对应的得分,训练模块4552,用于基于重打分模型,对多个候选识别结果以及对应的得分进行更新,得到多个候选识别结果以及对应的更新打分更新得分,确定模块4553,用于根据多个候选识别结果以及对应的更新打得分更新得分确定语音识别结果。这里,重打分模型是基于语音数据和对应的得分进行训练、并继续基于与语音识别任务相关的预打分候选识别结果进行训练而得到的。

需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。

本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的语音识别系统的训练方法和基于语音识别系统的语音识别方法。

本申请实施例还提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图3A、3B、3C示出的方法。

在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

综上所述,通过本申请实施例采集大量的无标注语音数据对语音识别系统的重打分模型进行预训练,结合语音识别模型中声学模型和语言模型对大量无标注的语音数据进行语音识别解码,得到多个候选识别结果和候选识别结果的对应打分,所述得分可以由声学模型和语言模型打分的加权处理获得,在上述过程中无需人工参与,能够廉价的获取携带得分的候选识别结果,以在重打分模型进行训练时,可以优先利用大量的携带加权得分的候选识别结果进行预训练,并在目标领域的语音识别任务中,利用少量的人工标注的数据对重打分模型进行微调,能够在减少人工工作量和数据标注成本的基础上,训练适应目标领域且准确度较高的重打分模型,以得到相应的语音识别系统。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

相关技术
  • 语音识别系统的训练、识别方法、装置、电子设备
  • 训练方法、装置、动作识别方法、装置及电子设备
技术分类

06120112834907