本发明涉及语音处理技术领域,具体而言,涉及一种语音识别方法及装置。
背景技术:
近几年随着深度学习技术的使用,基于深度神经网络的语音识别系统性能获得了极大的提升,开始慢慢走向实用化。基于语音识别的语音输入、语音转写、语音检索和语音翻译等技术得到了广泛的应用。声学模型是语音识别系统的一个核心模块,也是目前主要的研究点。相关技术中采用端到端的技术进行语音识别声学建模。其中具有代表性的是采用基于神经网络的时序类分类(connectionisttemporalclassification,简称ctc)技术的端到端声学建模。相比于之前的混合建模技术,可以简化流程,同时在一些任务上也可以获得更好的性能。此外最主要的是,基于ctc的声学模型解码效率更高,基于ctc的声学模型开始在英文识别任务中被验证有效性,进一步被推广到中文。
基于ctc的声学模型开始被应用于中文语音识别。但是目前基于ctc的声学模型采用的建模单元主要还是声韵母。但是基于声韵母的声学模型存在如下的问题:1)声韵母的粒度比较小,从而没法通过采用低的声学特征帧率,降低模型的计算量;2)对于中文语音识别系统最终需要得到的是汉字,这样采用声韵母建模,需要结合词典和语言模型将声韵母序列转化成字符串。但是中文存在同音字现象,有大量的中文字符的声母和韵母都是一样的,“他”,“她”,“它”等对应的声母和韵母都是完全一样的。所以采用声韵母作为建模单元不可避免的会遇到同音字的问题,从而导致识别系统会存在大量的替换错误。
上述的问题,目前尚未提出有效的解决方案。
技术实现要素:
本发明实施例提供了一种语音识别方法及装置,以至少解决相关技术中采用声韵母作为中文语音识别系统声学模型的建模单元,导致识别出的汉字存在大量错误的技术问题。
根据本发明实施例的一个方面,提供了一种语音识别方法,包括:获取待识别语音;对所述待识别语音进行特征提取,得到所述待识别语音对应的声学特征;通过解码器中的语言模型和声学模型对所述声学特征进行解码,识别出所述待识别语音对应的文字序列,其中,所述声学模型采用的建模单元是基于字符和音节构建的,所述语言模型用于表征文字序列发生的概率。
进一步地,在通过解码器中的语言模型和声学模型对所述声学特征进行解码,识别出所述待识别语音对应的文字序列之前,所述方法还包括:从训练语料库中获取语料,并对所述语料标注对应的文字序列;获取所述语料对应的声学特征;将所述语料对应的声学特征输入至神经网络进行训练,获取所述语料对应的声学特征属于每个建模单元的概率;基于所述语料对应的声学特征属于每个建模单元的概率和标注的所述语料对应的文字序列对所述语料对应的声学特征进行迭代训练,生成声学模型。
进一步地,在获取所述语料对应的声学特征属于每个建模单元的概率之前,所述方法还包括:对所述训练语料库中高于预设频率的文字序列采用字符进行建模,对所述训练语料库中的低于所述预设频率的文字序列采用音节进行建模,生成多个建模单元。
进一步地,基于所述语料对应的声学特征属于每个建模单元的概率和标注的所述语料对应的文字序列对所述语料对应的声学特征进行迭代训练,生成声学模型包括:基于标注的所述语料对应的文字序列判断所述语料对应的声学特征属于每个建模单元的概率是否符合预设条件;若所述语料对应的声学特征属于每个建模单元的概率不符合预设条件,调整所述神经网络中的目标参数;将所述语料对应的声学特征输入调整后的神经网络继续进行训练,直到所述语料对应的声学特征属于每个建模单元的概率符合预设条件,将调整后的神经网络作为声学模型。
进一步地,所述神经网络为深层的前馈序列记忆神经网络(dfsmn)。
进一步地,在对所述待识别语音进行特征提取,得到所述待识别语音对应的声学特征之前,所述方法还包括:对所述待识别语音进行降噪处理。
进一步地,通过解码器中的语言模型和声学模型对所述声学特征进行解码,识别出所述待识别语音对应的文字序列包括:将所述声学特征输入至所述语言模型,得到目标文字序列发生的概率;将所述声学特征输入至所述声学模型,得到每个建模单元的概率;基于所述目标文字序列发生的概率和每个建模单元的概率,识别出所述待识别语音对应的文字序列。
进一步地,通过解码器中的语言模型和声学模型对所述声学特征进行解码,识别出所述待识别语音对应的文字序列包括:通过解码器中的语言模型和声学模型对所述声学特征进行解码,得到待确认的文字序列;对所述待确认的文字序列进行自适应学习,得到所述待识别语音对应的文字序列。
根据本发明实施例的一个方面,提供了一种语音识别装置,包括:第一获取单元,用于获取待识别语音;提取单元,用于对所述待识别语音进行特征提取,得到所述待识别语音对应的声学特征;识别单元,用于通过解码器中的语言模型和声学模型对所述声学特征进行解码,识别出所述待识别语音对应的文字序列,其中,所述声学模型采用的建模单元是基于字符和音节构建的,所述语言模型用于表征文字序列发生的概率。
进一步地,所述装置还包括:标注单元,用于在通过解码器中的语言模型和声学模型对所述声学特征进行解码,识别出所述待识别语音对应的文字序列之前,从训练语料库中获取语料,并对所述语料标注对应的文字序列;第二获取单元,用于获取所述语料对应的声学特征;第三获取单元,用于将所述语料对应的声学特征输入至神经网络进行训练,获取所述语料对应的声学特征属于每个建模单元的概率;第一生成单元,用于根据所述语料对应的声学特征属于每个建模单元的概率和标注的所述语料对应的文字序列对所述语料对应的声学特征进行迭代训练,生成声学模型。
进一步地,所述装置还包括:第二生成单元,用于在获取所述语料对应的声学特征属于每个建模单元的概率之前,对所述训练语料库中高于预设频率的文字序列采用字符进行建模,对所述训练语料库中的低于所述预设频率的文字序列采用音节进行建模,生成多个建模单元。
进一步地,所述第一生成单元还包括:判断模块,用于根据标注的所述语料对应的文字序列判断所述语料对应的声学特征属于每个建模单元的概率是否符合预设条件;调整模块,用于在所述语料对应的声学特征属于每个建模单元的概率不符合预设条件的情况下,调整所述神经网络中的目标参数;第一确定模块,用于将所述语料对应的声学特征输入调整后的神经网络继续进行训练,直到所述语料对应的声学特征属于每个建模单元的概率符合预设条件,将调整后的神经网络作为声学模型。
进一步地,所述神经网络为深层的前馈序列记忆神经网络(dfsmn)。
进一步地,所述装置还包括:处理单元,用于在对所述待识别语音进行特征提取,得到所述待识别语音对应的声学特征之前,对所述待识别语音进行降噪处理。
进一步地,所述识别单元还包括:第二确定模块,用于将所述声学特征输入至所述语言模型,得到目标文字序列发生的概率;第三确定模块,用于将所述声学特征输入至所述声学模型,得到每个建模单元的概率;识别模块,用于根据所述目标文字序列发生的概率和每个建模单元的概率,识别出所述待识别语音对应的文字序列。
进一步地,所述识别单元还包括:第四确定模块,用于通过解码器中的语言模型和声学模型对所述声学特征进行解码,得到待确认的文字序列;第五确定模块,用于对所述待确认的文字序列进行自适应学习,得到所述待识别语音对应的文字序列。
根据本发明实施例的一个方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行任意一项所述的语音识别方法。
根据本发明实施例的一个方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一项所述的语音识别方法。
根据本发明实施例的一个方面,提供了一种计算机终端,包括:处理器;以及存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:获取待识别语音;对所述待识别语音进行特征提取,得到所述待识别语音对应的声学特征;通过解码器中的语言模型和声学模型对所述声学特征进行解码,识别出所述待识别语音对应的文字序列,其中,所述声学模型采用的建模单元是基于字符和音节构建的,所述语言模型用于表征文字序列发生的概率。
在本发明实施例中,采用字符和/或音节构建的声学模型采用的建模单元的方式,通过获取待识别语音;对待识别语音进行特征提取,得到待识别语音对应的声学特征;通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列,其中,声学模型采用的建模单元是基于字符和音节构建的,语言模型用于表征文字序列发生的概率,避免了采用声韵母作为中文语音识别系统声学模型的建模单元,采用字符和/或音节构建的声学模型采用的建模单元,从而实现了提升识别汉字的准确率的技术效果,进而解决了相关技术中采用声韵母作为中文语音识别系统声学模型的建模单元,导致识别出的汉字存在大量错误的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的计算机终端的硬件结构框图;
图2是根据本发明实施例提供的一种语音识别方法的流程图;
图3是根据本发明实施例提供的中待识别语音的示意图;
图4是根据本发明实施例提供的识别待识别语音的声学特征的示意图;
图5是根据本发明实施例提供的一种语音识别系统的示意图;
图6是根据本发明实施例提供的一种语音识别装置的示意图;以及
图7是根据本发明实施例的可选的计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
深层的前馈序列记忆神经网络(deep-fsmn,dfsmn),通过在fsmn相邻的记忆模块之间添加跳转连接(skipconnections),保证网络高层梯度可以很好的传递给低层,从而使得训练很深的网络不会面临梯度消失的问题。进一步的,考虑到将dfsmn应用于实际的语音识别建模任务不仅需要考虑模型的性能,而且需要考虑到模型的计算量以及实时性。针对这个问题,提出将dfsmn和低帧率(lowerframerate,lfr)相结合用于加速模型的训练和测试。同时通过调整dfsmn的记忆模块的阶数实现时延的控制,使得基于lfr-dfsmn的声学模型可以被应用到实时的语音识别系统中。
实施例1
根据本发明实施例,还提供了一种语音识别方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现语音识别方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的语音识别方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的语音识别方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请提供了一种语音识别方法。图2是根据本发明实施例一的语音识别方法的流程图。
步骤s202,获取待识别语音。
例如,获取到的待识别语音如图3所示。
步骤s204,对待识别语音进行特征提取,得到待识别语音对应的声学特征。
例如,对待识别语音进行特征提取,得到待识别语音对应的声学特征的过程如图4所示。
步骤s206,通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列,其中,声学模型采用的建模单元是基于字符和音节构建的,语言模型用于表征文字序列发生的概率。
在本申请实施例中由于声学模型采用的建模单元是基于字符和音节构建的,因此,相比于之前采用的声韵母可以获得更好的汉字识别性能,提升了识别汉字的准确率的技术效果,进而解决了相关技术中采用声韵母作为中文语音识别系统声学模型的建模单元,导致识别出的汉字存在大量错误的技术问题。
可选地,在本发明实施例的语音识别方法中,在通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列之前,该方法还包括:从训练语料库中获取语料,并对语料标注对应的文字序列;获取语料对应的声学特征;将语料对应的声学特征输入至神经网络进行训练,获取语料对应的声学特征属于每个建模单元的概率;基于语料对应的声学特征属于每个建模单元的概率和标注的语料对应的文字序列对语料对应的声学特征进行迭代训练,生成声学模型。
例如,训练语料库中包括很多可以用于训练声学模型的语料,此处的语料,也即为训练语料库中中的任一语音,标注该语音对应的汉字(对应上述的文字序列),获取该语音对应的声学特征,将语音对应的声学特征输入至神经网络进行训练,会得到语音对应的声学特征属于每个建模单元的概率;基于语音对应的声学特征属于每个建模单元的概率和标注的语音对应的文字序列对语音对应的声学特征进行迭代训练,生成声学模型。
可选地,在本发明实施例的语音识别方法中,在获取语料对应的声学特征属于每个建模单元的概率之前,该方法还包括:对训练语料库中高于预设频率的文字序列采用字符进行建模,对训练语料库中的低于预设频率的文字序列采用音节进行建模,生成多个建模单元。
对于中文,高频的中文字符只有数千。在本申请实施例中,采用混合字符和音节建模方案,通过对高频的中文字用字符进行建模,低频的采用字节进行建模。
需要说明的是,对于声学模型的训练和优化可以采用不同的优化准则,例如交叉熵(cross-entropy,ce),ctc等。例如,在本发明实施例中同时结合ctc优化准则,可以降低声学特征的帧率,实验表明基于混合字符和音节的ctc声学模型相比于相关技术中的基于声韵母ctc的声学模型不仅在计算效率上有很大的优势,而且汉字识别性能上也可以获得显著的提升。上述的建模单元建模采用的字符和音节相比于声韵母都是更大粒度的建模单元,所以可以通过降低帧率从而降低计算量。例如原来每帧语音都需要通过声学模型计算得分,通过采用字符和音节作为建模单元,只需要每隔6帧取一帧语音作为输入,这样就可以将计算量减少到原来的六分之一。进一步地,利用混合字符和音节的建模方案,通过高频字符克服了同音字问题,而对于低频字,通过音节进行建模可以克服集外字的问题。
可选地,在本发明实施例的语音识别方法中,基于语料对应的声学特征属于每个建模单元的概率和标注的语料对应的文字序列对语料对应的声学特征进行迭代训练,生成声学模型包括:基于标注的语料对应的文字序列判断语料对应的声学特征属于每个建模单元的概率是否符合预设条件;若语料对应的声学特征属于每个建模单元的概率不符合预设条件,调整神经网络中的目标参数;将语料对应的声学特征输入调整后的神经网络继续进行训练,直到语料对应的声学特征属于每个建模单元的概率符合预设条件,将调整后的神经网络作为声学模型。
通过上述方案,通过多次训练,知道判断出语料对应的声学特征属于每个建模单元的概率符合预设条件,训练生成声学模型,从而保证后续通过声学模型识别待识别语音对应的建模单元的概率的准确性。
可选地,在本发明实施例的语音识别方法中,神经网络为深层的前馈序列记忆神经网络(dfsmn)。
可选地,在本发明实施例的语音识别方法中,在对待识别语音进行特征提取,得到待识别语音对应的声学特征之前,该方法还包括:对待识别语音进行降噪处理。
例如,在室外采集到的待识别语音中存在许多干扰噪音,在提取待识别语音对应的声学特征之前,对待识别语音进行降噪处理。
可选地,在本发明实施例的语音识别方法中,通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列包括:将声学特征输入至语言模型,得到目标文字序列发生的概率;将声学特征输入至声学模型,得到每个建模单元的概率;基于目标文字序列发生的概率和每个建模单元的概率,识别出待识别语音对应的文字序列。
在上述方案中,在采用解码器解码的过程中,分别将声学特征输入至语言模型,得到目标文字序列发生的概率;将声学特征输入至声学模型,得到每个建模单元的概率;基于目标文字序列发生的概率和每个建模单元的概率综合分析,识别出待识别语音对应的文字序列。
可选地,在本发明实施例的语音识别方法中,通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列包括:通过解码器中的语言模型和声学模型对声学特征进行解码,得到待确认的文字序列;对待确认的文字序列进行自适应学习,得到待识别语音对应的文字序列。
为了提升识别语音对应的文字序列的准确率,可选地,在通过解码器中的语言模型和声学模型对声学特征进行解码后,得到待确认的文字序列;对待确认的文字序列进行自适应学习,最终得到待识别语音对应的文字序列。通过一个自适应学习的过程,提升识别语音对应的文字序列的准确率。
如图5所示,提供的一种可选的语音识别系统的示意图,语音识别系统主要包含4个模块:1)前端处理:主要是声学特征的提取;2)声学模型;3)语言模型;4)解码器。其中,声学模型是语音识别系统的核心组件,很大程度上决定了语音识别系统的性能,实时率。基于混合深度神经网络和隐马尔可夫模型的声学模型(nn-hmm)。对于nn-hmm声学模型,输入的是语音的声学特征,然后通过神经网络进行建模,去预测相应的输出建模单元。而整个模型的训练和优化可以采用不同的优化准则例如交叉熵(cross-entropy,ce),ctc等。而声学模型的建模单元的选择和采用的优化准则以及语种都有密切关系。例如对于中文,从大到小的建模单元可以分成:序列、词、字、音节、绑定的声韵母、声韵母。对于ctc准则,则对于声学建模单元的选择具有更高的容忍度,在本申请实施例中对于采用ctc进行优化的声学模型,可以采用混合字符和音节作为建模单元。关于这点的考虑主要是单独使用字符或者音节都存在一些问题:1)中文存在大量的同音字,采用字节建模没法区分同音字。2)中文的字符有数十万,采用字符进行建模,很难覆盖所有的中文字符,同时会造成建模单元数目特别多。但是对于中文,高频的中文字符只有数千。所以提出的混合字符和音节建模方案,通过对高频的中文字用字符进行建模,低频的采用字节进行建模可以解决上述单独建模的缺陷。同时结合ctc优化准则,可以降低声学特征的帧率,实现每6帧语音声学特征取一帧作为输入。从而可以显著的降低模型的计算量。
需要说明的是,单独采用音节或者字符作为中文语音识别系统声学模型的建模单元也是一种可选的方案。相比于相关技术中采用的声韵母也可以获得更好的性能。这里优化准则主要是针对ctc准则,但是基于其它准则构建的中文识别系统,例如基于attention的端到端中文识别系统里也可以采用混合字符和音节的建模方案。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述语音识别方法的装置,如图6所示,该装置包括:第一获取单元10、提取单元20和识别单元30。
具体地,第一获取单元10,用于获取待识别语音。
提取单元20,用于对待识别语音进行特征提取,得到待识别语音对应的声学特征。
识别单元30,用于通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列,其中,声学模型采用的建模单元是基于字符和音节构建的,语言模型用于表征文字序列发生的概率。
在本发明实施例中,通过第一获取单元10获取待识别语音;提取单元20对待识别语音进行特征提取,得到待识别语音对应的声学特征;识别单元30通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列,其中,声学模型采用的建模单元是基于字符和音节构建的,语言模型用于表征文字序列发生的概率,避免了采用声韵母作为中文语音识别系统声学模型的建模单元,采用字符和/或音节构建的声学模型采用的建模单元,从而实现了提升识别汉字的准确率的技术效果,进而解决了相关技术中采用声韵母作为中文语音识别系统声学模型的建模单元,导致识别出的汉字存在大量错误的技术问题。
可选地,在本发明实施例的语音识别装置中,该装置还包括:标注单元,用于在通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列之前,从训练语料库中获取语料,并对语料标注对应的文字序列;第二获取单元,用于获取语料对应的声学特征;第三获取单元,用于将语料对应的声学特征输入至神经网络进行训练,获取语料对应的声学特征属于每个建模单元的概率;第一生成单元,用于根据语料对应的声学特征属于每个建模单元的概率和标注的语料对应的文字序列对语料对应的声学特征进行迭代训练,生成声学模型。
可选地,在本发明实施例的语音识别装置中,该装置还包括:第二生成单元,用于在获取语料对应的声学特征属于每个建模单元的概率之前,对训练语料库中高于预设频率的文字序列采用字符进行建模,对训练语料库中的低于预设频率的文字序列采用音节进行建模,生成多个建模单元。
可选地,在本发明实施例的语音识别装置中,第一生成单元还包括:判断模块,用于根据标注的语料对应的文字序列判断语料对应的声学特征属于每个建模单元的概率是否符合预设条件;调整模块,用于在语料对应的声学特征属于每个建模单元的概率不符合预设条件的情况下,调整神经网络中的目标参数;第一确定模块,用于将语料对应的声学特征输入调整后的神经网络继续进行训练,直到语料对应的声学特征属于每个建模单元的概率符合预设条件,将调整后的神经网络作为声学模型。
可选地,在本发明实施例的语音识别装置中,神经网络为深层的前馈序列记忆神经网络(dfsmn)。
可选地,在本发明实施例的语音识别装置中,该装置还包括:处理单元,用于在对待识别语音进行特征提取,得到待识别语音对应的声学特征之前,对待识别语音进行降噪处理。
可选地,在本发明实施例的语音识别装置中,识别单元30还包括:第二确定模块,用于将声学特征输入至语言模型,得到目标文字序列发生的概率;第三确定模块,用于将声学特征输入至声学模型,得到每个建模单元的概率;识别模块,用于根据目标文字序列发生的概率和每个建模单元的概率,识别出待识别语音对应的文字序列。
可选地,在本发明实施例的语音识别装置中,识别单元30还包括:第四确定模块,用于通过解码器中的语言模型和声学模型对声学特征进行解码,得到待确认的文字序列;第五确定模块,用于对待确认的文字序列进行自适应学习,得到待识别语音对应的文字序列。
此处需要说明的是,上述的第一获取单元10、提取单元20和识别单元30对应于实施例1中的步骤s202至步骤s206,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例3
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的语音识别方法中以下步骤的程序代码:获取待识别语音;对待识别语音进行特征提取,得到待识别语音对应的声学特征;通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列,其中,声学模型采用的建模单元是基于字符和音节构建的,语言模型用于表征文字序列发生的概率。
上述计算机终端还可以执行应用程序的语音识别方法中以下步骤的程序代码:在通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列之前,方法还包括:从训练语料库中获取语料,并对语料标注对应的文字序列;获取语料对应的声学特征;将语料对应的声学特征输入至神经网络进行训练,获取语料对应的声学特征属于每个建模单元的概率;基于语料对应的声学特征属于每个建模单元的概率和标注的语料对应的文字序列对语料对应的声学特征进行迭代训练,生成声学模型。
上述计算机终端还可以执行应用程序的语音识别方法中以下步骤的程序代码:在获取语料对应的声学特征属于每个建模单元的概率之前,方法还包括:对训练语料库中高于预设频率的文字序列采用字符进行建模,对训练语料库中的低于预设频率的文字序列采用音节进行建模,生成多个建模单元。
上述计算机终端还可以执行应用程序的语音识别方法中以下步骤的程序代码:基于语料对应的声学特征属于每个建模单元的概率和标注的语料对应的文字序列对语料对应的声学特征进行迭代训练,生成声学模型包括:基于标注的语料对应的文字序列判断语料对应的声学特征属于每个建模单元的概率是否符合预设条件;若语料对应的声学特征属于每个建模单元的概率不符合预设条件,调整神经网络中的目标参数;将语料对应的声学特征输入调整后的神经网络继续进行训练,直到语料对应的声学特征属于每个建模单元的概率符合预设条件,将调整后的神经网络作为声学模型。
上述计算机终端还可以执行应用程序的语音识别方法中以下步骤的程序代码:神经网络为深层的前馈序列记忆神经网络(dfsmn)。
上述计算机终端还可以执行应用程序的语音识别方法中以下步骤的程序代码:在对待识别语音进行特征提取,得到待识别语音对应的声学特征之前,方法还包括:对待识别语音进行降噪处理。
上述计算机终端还可以执行应用程序的语音识别方法中以下步骤的程序代码:通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列包括:将声学特征输入至语言模型,得到目标文字序列发生的概率;将声学特征输入至声学模型,得到每个建模单元的概率;基于目标文字序列发生的概率和每个建模单元的概率,识别出待识别语音对应的文字序列。
上述计算机终端还可以执行应用程序的语音识别方法中以下步骤的程序代码:通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列包括:通过解码器中的语言模型和声学模型对声学特征进行解码,得到待确认的文字序列;对待确认的文字序列进行自适应学习,得到待识别语音对应的文字序列。
可选地,图7是根据本发明实施例的一种计算机终端的结构框图。如图7所示,该计算机终端a可以包括:一个或多个(图中仅示出一个)处理器、存储器。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的语音识别方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的语音识别方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端a。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取待识别语音;对待识别语音进行特征提取,得到待识别语音对应的声学特征;通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列,其中,声学模型采用的建模单元是基于字符和音节构建的,语言模型用于表征文字序列发生的概率。
可选的,上述处理器还可以执行如下步骤的程序代码:在通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列之前,方法还包括:从训练语料库中获取语料,并对语料标注对应的文字序列;获取语料对应的声学特征;将语料对应的声学特征输入至神经网络进行训练,获取语料对应的声学特征属于每个建模单元的概率;基于语料对应的声学特征属于每个建模单元的概率和标注的语料对应的文字序列对语料对应的声学特征进行迭代训练,生成声学模型。
可选的,上述处理器还可以执行如下步骤的程序代码:在获取语料对应的声学特征属于每个建模单元的概率之前,方法还包括:对训练语料库中高于预设频率的文字序列采用字符进行建模,对训练语料库中的低于预设频率的文字序列采用音节进行建模,生成多个建模单元。
可选的,上述处理器还可以执行如下步骤的程序代码:基于语料对应的声学特征属于每个建模单元的概率和标注的语料对应的文字序列对语料对应的声学特征进行迭代训练,生成声学模型包括:基于标注的语料对应的文字序列判断语料对应的声学特征属于每个建模单元的概率是否符合预设条件;若语料对应的声学特征属于每个建模单元的概率不符合预设条件,调整神经网络中的目标参数;将语料对应的声学特征输入调整后的神经网络继续进行训练,直到语料对应的声学特征属于每个建模单元的概率符合预设条件,将调整后的神经网络作为声学模型。
可选的,上述处理器还可以执行如下步骤的程序代码:神经网络为深层的前馈序列记忆神经网络(dfsmn)。
可选的,上述处理器还可以执行如下步骤的程序代码:在对待识别语音进行特征提取,得到待识别语音对应的声学特征之前,方法还包括:对待识别语音进行降噪处理。
可选的,上述处理器还可以执行如下步骤的程序代码:通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列包括:将声学特征输入至语言模型,得到目标文字序列发生的概率;将声学特征输入至声学模型,得到每个建模单元的概率;基于目标文字序列发生的概率和每个建模单元的概率,识别出待识别语音对应的文字序列。
可选的,上述处理器还可以执行如下步骤的程序代码:通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列包括:通过解码器中的语言模型和声学模型对声学特征进行解码,得到待确认的文字序列;对待确认的文字序列进行自适应学习,得到待识别语音对应的文字序列。
采用本发明实施例,提供了一种语音识别方法的方案,采用字符和/或音节构建的声学模型采用的建模单元的方式,通过获取待识别语音;对待识别语音进行特征提取,得到待识别语音对应的声学特征;通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列,其中,声学模型采用的建模单元是基于字符和音节构建的,语言模型用于表征文字序列发生的概率,避免了采用声韵母作为中文语音识别系统声学模型的建模单元,采用字符和/或音节构建的声学模型采用的建模单元,从而实现了提升识别汉字的准确率的技术效果,进而解决了相关技术中采用声韵母作为中文语音识别系统声学模型的建模单元,导致识别出的汉字存在大量错误的技术问题。
本领域普通技术人员可以理解,图所示的结构仅为示意,计算机终端也可以是智能手机(如android手机、ios手机等)、平板电脑、掌声电脑以及移动互联网设备(mobileinternetdevices,mid)、pad等终端设备。图7其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(read-onlymemory,rom)、随机存取器(randomaccessmemory,ram)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的语音识别方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取待识别语音;对待识别语音进行特征提取,得到待识别语音对应的声学特征;通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列,其中,声学模型采用的建模单元是基于字符和音节构建的,语言模型用于表征文字序列发生的概率。
存储介质还被设置为存储用于执行以下步骤的程序代码:在通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列之前,方法还包括:从训练语料库中获取语料,并对语料标注对应的文字序列;获取语料对应的声学特征;将语料对应的声学特征输入至神经网络进行训练,获取语料对应的声学特征属于每个建模单元的概率;基于语料对应的声学特征属于每个建模单元的概率和标注的语料对应的文字序列对语料对应的声学特征进行迭代训练,生成声学模型。
存储介质还被设置为存储用于执行以下步骤的程序代码:在获取语料对应的声学特征属于每个建模单元的概率之前,方法还包括:对训练语料库中高于预设频率的文字序列采用字符进行建模,对训练语料库中的低于预设频率的文字序列采用音节进行建模,生成多个建模单元。
存储介质还被设置为存储用于执行以下步骤的程序代码:基于语料对应的声学特征属于每个建模单元的概率和标注的语料对应的文字序列对语料对应的声学特征进行迭代训练,生成声学模型包括:基于标注的语料对应的文字序列判断语料对应的声学特征属于每个建模单元的概率是否符合预设条件;若语料对应的声学特征属于每个建模单元的概率不符合预设条件,调整神经网络中的目标参数;将语料对应的声学特征输入调整后的神经网络继续进行训练,直到语料对应的声学特征属于每个建模单元的概率符合预设条件,将调整后的神经网络作为声学模型。
存储介质还被设置为存储用于执行以下步骤的程序代码:神经网络为深层的前馈序列记忆神经网络(dfsmn)。
存储介质还被设置为存储用于执行以下步骤的程序代码:在对待识别语音进行特征提取,得到待识别语音对应的声学特征之前,方法还包括:对待识别语音进行降噪处理。
存储介质还被设置为存储用于执行以下步骤的程序代码:通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列包括:将声学特征输入至语言模型,得到目标文字序列发生的概率;将声学特征输入至声学模型,得到每个建模单元的概率;基于目标文字序列发生的概率和每个建模单元的概率,识别出待识别语音对应的文字序列。
存储介质还被设置为存储用于执行以下步骤的程序代码:通过解码器中的语言模型和声学模型对声学特征进行解码,识别出待识别语音对应的文字序列包括:通过解码器中的语言模型和声学模型对声学特征进行解码,得到待确认的文字序列;对待确认的文字序列进行自适应学习,得到待识别语音对应的文字序列。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。