语音识别方法、装置、电子设备及可读存储介质与流程

文档序号:24292764发布日期:2021-03-17 00:41阅读:78来源:国知局
语音识别方法、装置、电子设备及可读存储介质与流程

本申请涉及语音识别技术领域,具体而言,本申请涉及一种语音识别方法、装置、电子设备及可读存储介质。



背景技术:

语音识别通常含两部分,即语音模型和语言模型。语音模型负责把音频转换成文字序列并输出相应的概率,如发音chifan可能输出为(吃0.99,此0.01),(饭0.8,番0.1),其中的数字表示该文字与发音匹配的概率。语言模型负责把对语音模型的输出进行路径搜索,比如前述输出共有四个可能的组合:吃饭,吃番,此饭,此番。语言模型分别对这四个候选组合进行打分,最后结合语言语法的概率和发音的概率最后选择“吃饭”作为最终的输出。如果chifan的面还有后续发音,如chifanqianlai,则语言模型较大概率会选择“此番”作为输出,使得最后的语句为“此番前来”。由此可见,语言模型有助于解决语音识别中的文本选择问题,特别是遇到一些存在歧义的发音时,需要语言模型参与最终决策。

为更加精确了解说话人的意图并实现准确转写,现有技术在转写前,先确定用户所在的语境,如在医院环境,则使用与医学相关的语言模型,使得一些专业术语能更准确的翻译。例如,谷歌使cn104508739b专利用一个较大的通用语言模型进行基本的转写,然后对转写的文本增加一步语境检测,如检测出语境是医学环境,则使用医学的语言模型。然而,该方法需要解决一个语境分类的问题,当无法确语境或语境较为模糊时,很难保证转写的准确性。



技术实现要素:

本申请提供了一种语音识别方法、装置、电子设备及可读存储介质,用于避开语境检测,通过字符错误检测器(wed)直接判断输出是否存在错误,根据可能的语法错误数量和概率,选择错误最少或错误概率值最小的语句作为最终的输出。

本申请采用的技术方案如下:

第一方面,提供了一种语音识别方法,其特征在于,包括:

基于目标语音识别模型集中的语音识别模型对待识别语音进行语音识别,得到候选文本集;

基于预训练的字符错误检测器对候选文本集中的候选文本进行字符错误检测,得到各个候选文本的字符错误检测结果;

基于各个候选文本的字符错误检测结果确定对待识别语音进行语音识别的目标文本。

可选地,目标语音识别模型集包括至少两个不同语境下的语音识别模型。

可选地,基于目标语音识别模型集中的语音识别模型对待识别语音进行语音识别,得到候选文本集,包括:

基于目标语音识别模型集中的任一语音识别模型对待识别语音进行语音识别,得到至少一个候选文本。

可选地,基于预训练的字符错误检测器对候选文本集中的候选文本进行字符错误检测,包括:

将候选文本输入至预训练的transformer网络,得到候选文本的状态向量;

将候选文本的状态向量作为循环神经网络的输入,并经过一个全连接网络后输入至分类器,得到各个字符的正确概率值。

可选地,基于各个候选文本的字符错误检测结果确定对待识别语音进行语音识别的目标文本,包括:

确定各个候选文本的字符错误率;

将字符错误率低的候选文本作为对待识别语音进行语音识别的目标文本。

可选地,该方法还包括:

获取待识别语音的用户信息;

基于用户信息从多个候选语音识别模型中确定至少两个语音识别模型得到目标语音识别模型集。

可选地,预训练的字符错误检测器训练样本的标签构建包括:

获取训练文本样本,以一定的概率值替换训练文本样本中的字符;

将字符未改变的位置对应的标签设置为1,字符改变的位置的标签设置为0。

第二方面,提供了一种语音识别装置,包括:

语音识别模块,用于基于目标语音识别模型集中的语音识别模型对待识别语音进行语音识别,得到候选文本集;

检测模块,用于基于预训练的字符错误检测器对候选文本集中的候选文本进行字符错误检测,得到各个候选文本的字符错误检测结果;

确定模块,用于基于各个候选文本的字符错误检测结果确定对待识别语音进行语音识别的目标文本。

可选地,目标语音识别模型集包括至少两个不同语境下的语音识别模型。

可选地,语音识别模块包括:

语音识别单元,用于基于目标语音识别模型集中的任一语音识别模型对待识别语音进行语音识别,得到至少一个候选文本。

可选地,检测模块包括:

输入单元,用于将候选文本输入至预训练的transformer网络,得到候选文本的状态向量;

分类单元,用于将候选文本的状态向量作为循环神经网络的输入,并经过一个全连接网络后输入至分类器,得到各个字符的正确的概率值。

可选地,确定模块包括:

确定单元,用于确定各个候选文本的字符错误率;

作为单元,用于将字符错误率低的候选文本作为对待识别语音进行语音识别的目标文本。

可选地,该装置还包括:

第一获取模块,用于获取待识别语音的用户信息;

筛选确定模块,用于基于用户信息从多个候选语音识别模型中筛选确定至少两个语音识别模型得到目标语音识别模型集。

可选地,该装置还包括:

第二获取模块,用于获取训练文本样本,以一定的概率值替换训练文本样本中的字符;

设置模块,用于将字符未改变的位置对应的标签设置为1,字符改变的位置的标签设置为0。

第三方面,提供了一种电子设备,该电子设备包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行第一方面所示的语音识别方法。

第四方面,提供了一种计算机可读存储介质,计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行第一方面所示的语音识别方法。

本申请提供了一种语音识别方法、装置、电子设备及可读存储介质,与现有技术通过语境检测确定语言模型,然后进行根据确定的语言模型确定语音识别的结果相比,本申请通过基于目标语音识别模型集中的语音识别模型对待识别语音进行语音识别,得到候选文本集,然后基于预训练的字符错误检测器对候选文本集中的候选文本进行字符错误检测,得到各个候选文本的字符错误检测结果,继而基于各个候选文本的字符错误检测结果确定对待识别语音进行语音识别的目标文本。即通过多个语音识别模型对待识别语音进行识别得到多个候选文本,然后基于字符错误检测器对多个候选文本的检测结果确定最终的目标识别文本,从而不需要进行语境检测,即使在语境比较模糊的情形下也能得到精确的识别结果。

本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例的一种语音识别方法的流程示意图;

图2为本申请实施例的一种语音识别装置的结构示意图;

图3为本申请实施例的一种语音识别流程示例图;

图4为本申请实施例的一种电子设备的结构示意图;

图5为本申请实施的一种字符错误检测器字符检测示例图。

具体实施方式

下面详细描述本申请的实施例,各实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

实施例一

本申请实施例提供了一种语音识别方法,如图1所示,该方法可以包括以下步骤:

步骤s101,基于目标语音识别模型集中的语音识别模型对待识别语音进行语音识别,得到候选文本集;其中,目标语音识别模型集包括至少两个不同语境下的语音识别模型,如医学方面的语音识别模型、金融领域的语音识别模型等。其中,一个语音识别模型对待识别语音进行识别,可以得到多个候选文本,也可以得到一个候选文本(从可能的多个候选文本中选取概率最大的候选文本)。

步骤s102,基于预训练的字符错误检测器对候选文本集中的候选文本进行字符错误检测,得到各个候选文本的字符错误检测结果;

其中,预训练的字符错误检测器用于对候选文本集中的候选文本进行字符错误检测,确定候选文本中的字符是否正确。

步骤s103,基于各个候选文本的字符错误检测结果确定对待识别语音进行语音识别的目标文本。

具体地,可以统计各个候选文本的字符错误率或字符正确率,将错误率最低的候选文本或正确率最高的候选文本确定为对待识别语音进行语音识别的目标文本。

图5示出了本申请实施例语音识别的流程示例图,待识别语音经过声学模型(am)输出不同候选汉字及其概率值,不同lm模型把每个am的输出转换成多个不同句子,检测模型(wed)对这些句子进行检测并找到错误字数最少或概率最小的句子。

本申请实施例提供了一种语音识别方法,与现有技术通过语境检测确定语言模型,然后进行根据确定的语言模型确定语音识别的结果相比,本申请实施例通过基于目标语音识别模型集中的语音识别模型对待识别语音进行语音识别,得到候选文本集,然后基于预训练的字符错误检测器对候选文本集中的候选文本进行字符错误检测,得到各个候选文本的字符错误检测结果,继而基于各个候选文本的字符错误检测结果确定对待识别语音进行语音识别的目标文本。即通过多个语音识别模型对待识别语音进行识别得到多个候选文本,然后基于字符错误检测器对多个候选文本的检测结果确定最终的目标识别文本,从而不需要进行语境检测,即使在语境比较模糊的情形下也能得到精确的识别结果。

本申请实施例提供了一种可能的实现方式,具体地,基于目标语音识别模型集中的语音识别模型对待识别语音进行语音识别,得到候选文本集,包括:

基于目标语音识别模型集中的任一语音识别模型对待识别语音进行语音识别,得到至少一个候选文本。

具体地,可以是任一语音识别模型对待识别语音进行语音识别可以得到多个候选文本以及每个候选文本的概率值,该种情形下,一个语音识别模型得到的多个候选文本,多个语音识别模型可以得到的数量为各个语音识别模型分别得到的候选文本的集合;也可以将多个候选文本中概率值最高的作为任一语音识别模型对待识别语音进行语音识别得到的候选文本,该种情况下,一个语音识别模型得到一个候选文本。

本申请实施例提供了一种可能的实现方式,具体地,基于预训练的字符错误检测器对候选文本集中的候选文本进行字符错误检测,包括:

将候选文本输入至预训练的transformer网络,得到候选文本的状态向量;

将候选文本的状态向量作为循环神经网络的输入,并经过一个全连接网络后输入至分类器,得到各个字符的正确概率值。

示例性地,图3示出了字符错误检测器的字符检测流产示例图,字符错误的检测采用预训练的transformer,并配合rnn模型实现逐字的检测。将候选文本输入到预训练的transformer(如bert模型)后得到对应状态向量,其中,每个汉字对应一个状态向量,每个向量通常为768维。然后,将这些向量作为rnn(可以是lstm或gru)的输入,最后经过一个全连接层(fc)并取softmax得到每个字正确的概率(如1,或0)

本申请实施例提供了一种可能的实现方式,具体地,基于各个候选文本的字符错误检测结果确定对待识别语音进行语音识别的目标文本,包括:

确定各个候选文本的字符错误率;

将字符错误率低的候选文本作为对待识别语音进行语音识别的目标文本。

本申请实施例提供了一种可能的实现方式,进一步地,该方法还包括:

获取待识别语音的用户信息;

基于用户信息从多个候选语音识别模型中确定至少两个语音识别模型得到目标语音识别模型集。

本申请实施例提供了一种可能的实现方式,具体地,预训练的字符错误检测器训练样本的标签构建包括:

获取训练文本样本,以一定的概率值替换训练文本样本中的字符;

将字符未改变的位置对应的标签设置为1,字符改变的位置的标签设置为0。

具体地,字符错误检测器的训练通过数据增广的方式实现,即通过程序构造出输出语句和标签(0/1序列)。输入语句可以通过收集多个网络文本得到,对于每行语句,以一定的概率值替换其中的汉字字符或词组,对于未改变的位置,对应的输出值为1,反之则设为0,从而实现大量的训练语料及其标签构建。

示例性地,一个未采取本申请技术方案的示例,根据现有技术,同一段语音经过两个不同的语言模型可能输出不同的句子,如表1所示:

表1

以第一组语句为例,算法很难确定语句a/b哪个是用户真正想要的。现有做法是首先通过一个通用的基础语言模型得到一个基本的句子,再根据这个基本句子确定用户所表达的语句是在哪个语境(此处需要确定用户是在药房相关的语境)。最后再把相应语境下预先训练好的语言模型与语音模型(am)的输出结合最终得到转写结果。而本申请实施例采用了不同的思路,通过先遍历所有的语言模型,再从所有语言模型的输出中选择最适合的语句作为最终的转写结果,从而解决语音识别中的多义性问题,即语言模型错配导致句子中的语汇用错或不符合使用习惯。

实施例二

图2为本申请实施例提供的一种语音识别装置,该装置20包括:语音识别模块201、检测模块202、确定模块20,其中,

语音识别模块201,用于基于目标语音识别模型集中的语音识别模型对待识别语音进行语音识别,得到候选文本集;

检测模块202,用于基于预训练的字符错误检测器对候选文本集中的候选文本进行字符错误检测,得到各个候选文本的字符错误检测结果;

确定模块203,用于基于各个候选文本的字符错误检测结果确定对待识别语音进行语音识别的目标文本。

具体地,目标语音识别模型集包括至少两个不同语境下的语音识别模型。

具体地,语音识别模块包括:

语音识别单元,用于基于目标语音识别模型集中的任一语音识别模型对待识别语音进行语音识别,得到至少一个候选文本。

具体地,检测模块包括:

输入单元,用于将候选文本输入至预训练的transformer网络,得到候选文本的状态向量;

分类单元,用于将候选文本的状态向量作为循环神经网络的输入,并经过一个全连接网络后输入至分类器,得到各个字符的正确的概率值。

具体地,确定模块包括:

确定单元,用于确定各个候选文本的字符错误率;

作为单元,用于将字符错误率低的候选文本作为对待识别语音进行语音识别的目标文本。

具体地,该装置还包括:

第一获取模块,用于获取待识别语音的用户信息;

筛选确定模块,用于基于用户信息从多个候选语音识别模型中筛选确定至少两个语音识别模型得到目标语音识别模型集。

具体地,该装置还包括:

第二获取模块,用于获取训练文本样本,以一定的概率值替换训练文本样本中的字符;

设置模块,用于将字符未改变的位置对应的标签设置为1,字符改变的位置的标签设置为0。

本申请实施例提供了一种语音识别装置,与现有技术通过语境检测确定语言模型,然后进行根据确定的语言模型确定语音识别的结果相比,本申请实施例通过基于目标语音识别模型集中的语音识别模型对待识别语音进行语音识别,得到候选文本集,然后基于预训练的字符错误检测器对候选文本集中的候选文本进行字符错误检测,得到各个候选文本的字符错误检测结果,继而基于各个候选文本的字符错误检测结果确定对待识别语音进行语音识别的目标文本。即通过多个语音识别模型对待识别语音进行识别得到多个候选文本,然后基于字符错误检测器对多个候选文本的检测结果确定最终的目标识别文本,从而不需要进行语境检测,即使在语境比较模糊的情形下也能得到精确的识别结果。

本申请实施例的装置可以执行本申请实施例一所示的方法,其实现的效果类似,在此不再赘述。

实施例三

本申请实施例提供了一种电子设备,如图4所示,图4所示的电子设备40包括:处理器401和存储器403。其中,处理器401和存储器403相连,如通过总线402相连。进一步地,电子设备40还可以包括收发器404。需要说明的是,实际应用中收发器404不限于一个,该电子设备40的结构并不构成对本申请实施例的限定。其中,处理器401应用于本申请实施例中,用于实现图2所示的模块的功能。收发器404包括接收机和发射机。

处理器401可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

总线402可包括一通路,在上述组件之间传送信息。总线402可以是pci总线或eisa总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器403可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,以实现图2所示实施例提供的装置的功能。

本申请实施例提供了一种电子设备适用于上述方法实施例,具体实现方式和技术效果,在此不再赘述。

实施例四

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例中所示的语音识别方法。

本申请实施例提供了一种计算机可读存储介质适用于上述方法实施例,具体实现方式和技术效果,在此不再赘述。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

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

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