语音识别方法、装置、设备以及计算机可读存储介质与流程

文档序号:19315742发布日期:2019-12-03 23:58阅读:347来源:国知局
语音识别方法、装置、设备以及计算机可读存储介质与流程

本公开的实施例总体上涉及语音识别技术领域,并且更具体地涉及基于双解码的语音识别方法、装置、设备以及计算机可读存储介质。



背景技术:

语音识别是指通过计算机把语音信号转换为对应的文本的过程,其将人类语音中的词汇内容转换为实际的文字输出,是实现人与机器交互的主要途径之一。近年来,随着深度学习技术在语音识别领域的广泛引用,语音识别的准确率得到了极大的提升。此外,由于智能设备的不断普及,使用语音进行识别的场合已经变得非常丰富。例如,语音识别技术已经广泛应用于语音输入法,语音拨号、车载导航等各种场合。语音识别技术结合自然语言处理以及语音合成等技术,可以产生更多复杂应用,例如智能音箱、会议同声传译、智能客服助理等。语音识别的准确率决定了语音相关产品用户的使用体验,直接影响着交互过程中后续的语义理解、对话生成等模块,因此,随着语音识别使用场景的不断丰富,对语音识别的准确率提出了更高的要求。

随着人工智能的不断发展,各种语音识别技术也在推陈出新,不断提升语音识别的准确率。从早期的高斯混合模型-隐马尔科夫模型(gmm-hmm)声学建模方法,到应用深度神经网络(dnn)结构来替换gmm建模开启了语音识别的深度学习时代。其后,使用卷积神经网络(cnn)、基于门的循环神经网络(gru)和长短时记忆网络(lstm)等网络结构以替换dnn模型,都显著提升了神经网络模型的建模精度。再然后,端到端(end-to-end)的连接时序分类(ctc)模型被用于语音识别,声学模型结构完全由统一的神经网络结构所替代,这极大的简化了声学模型结构和训练难度,识别率得以进一步的提高。近年来,建立在注意力(attention)机制的端到端las(listen,attendandspell)结构,将声学和语言进行联合建模的方式,进一步提升了语音识别的准确率。



技术实现要素:

根据本公开的示例实施例,提供了一种语音识别方法、装置、设备以及计算机可读存储介质。

在本公开的第一方面中,提供了一种语音识别方法。该方法包括:针对输入的语音信号,通过第一声学模型和第二声学模型分别获得第一声学解码信息和第二声学解码信息,其中第一声学模型通过声学建模而生成并且第二声学模型通过声学和语言的联合建模而生成;分别根据第一声学解码信息和第二声学解码信息,确定第一组候选识别结果和第二组候选识别结果;以及基于第一组候选识别结果和第二组候选识别结果,确定针对语音信号的识别结果。

在本公开的第二方面中,提供了一种语音识别装置。该装置包括:声学信息获得模块,被配置为针对输入的语音信号,通过第一声学模型和第二声学模型分别获得第一声学解码信息和第二声学解码信息,其中第一声学模型通过声学建模而生成并且第二声学模型通过声学和语言的联合建模而生成;候选结果确定模块,被配置为分别根据第一声学解码信息和第二声学解码信息,确定第一组候选识别结果和第二组候选识别结果;以及识别结果确定模块,被配置为基于第一组候选识别结果和第二组候选识别结果,确定针对语音信号的识别结果。

在本公开的第三方面中,提供了一种电子设备,其包括一个或多个处理器以及存储装置,其中存储装置用于存储一个或多个程序。一个或多个程序当被一个或多个处理器执行,使得电子设备实现根据本公开的各个实施例的方法或过程。

在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的各个实施例的方法或过程。

应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。

附图说明

结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:

图1示出了根据本公开的实施例的语音识别的处理过程的示意图;

图2示出了根据本公开的实施例的语音识别方法的流程图;

图3示出了根据本公开的实施例的基于双解码的语音识别过程的示意图;

图4示出了根据本公开的实施例的基于流式多级的截断注意力(smlta)和连接时序分类(ctc)双解码的语音识别过程的示意图;

图5示出了根据本公开的实施例的基于ctc尖峰信息的smlta模型的示例架构的示意图;

图6示出了根据本公开的融合多特征的smlta和ctc双解码调优过程的示意图;

图7示出了根据本公开的实施例的语音识别装置的框图;以及

图8示出了能够实施本公开的多个实施例的电子设备的框图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。

连接时序分类(ctc)模型是一种端到端的模型,其被用于大规模词汇量的语音识别,使得混合dnn+hmm的声学模型结构完全被统一的神经网络结构所替代,这大大简化了声学模型的结构和训练难度,使得语音识别系统的准确率得到进一步提升。此外,ctc模型的输出结果中可以包括语音信号的尖峰信息。

注意力(attention)模型是对编码器-解码器模型的扩展,其能够提升在较长序列上预测的效果。首先使用gru或lstm模型对输入的音频特征编码得到隐含特征,然后通过注意力模型对这些隐含特征的不同部分分配相应的权重,最后解码器根据建模粒度的不同输出对应的结果。这种声学和语言模型联合建模的方式能够进一步化简语音识别系统的复杂度。

流式多级的截断注意力(streamingmulti-layertruncatedattention,简称为smlta)模型是一种基于ctc和注意力的流式语音识别模型,其中流式表示可以直接对语音的小片段(而不是必须整句),进行一个个片段地增量解码,多级表示堆叠多层注意力模型,而截断则表示利用ctc模型的尖峰信息,把语音切割成一个一个小片段,注意力模型建模和解码可以在这些小片段上展开。smlta将传统的全局的注意力建模转换成局部注意力建模,所以这个过程也是一个可以流式实现的过程,无论多长的句子,都可以通过截段来实现流式解码和精准的局部注意力建模,因而实现了流式解码。

本申请的发明人发现,在通过声学和语言模型联合建模而生成的声学模型(例如注意力模型、或者基于注意力机制的smlta模型)的解码过程中,通过语言信息将搜索路径约束在更为准确的空间内进行解码,显著提高了语音识别率。然而,这种联合建模方式将语言的先验约束信息引入语音识别系统,导致了最佳的n个候选中声学多样性偏少,在常规训练不够充分的情况下,面向更广泛领域识别存在准确率受损的情况。如果这个语言约束信息训练不够充分,则很容易把正确的搜索路径提前进行了裁剪,最后导致无法获得正确的识别结果。

由此可见,这种声学和语言联合建模的声学模型提高了最佳的1个候选结果的识别率,但最佳的n个候选结果的识别率的声学多样性对比传统的非联合建模方式(例如ctc模型)却存在下降。此外,对于一些依赖最佳的n个候选结果进行的二遍解码方法将会严重受限。因此,联合建模的方式在声学模型建模过程中引入语言信息虽然一定程度上提高了识别准确率,但是在一些情况下不合理的语言约束也会限制声学解码路径的多样性,影响某些场景下的识别准确率。

此外,本申请的发明人还发现对声学和语言的联合建模能够更好的学习训练数据中存在的领域特性,但是对于其他的通用领域的识别性能则会受到影响。这种此消彼长的制约关系,也一定程度上限制了声学和语言联合建模方式对于语音识别率的进一步提高。

为此,本公开的实施例提出了一种基于双解码的语音识别方案,能够进一步提升语音识别的准确率。在本公开的实施例提出的基于双解码的语音识别方案中,利用一个声学模型的声学多样性来弥补另一个声学模型(即声学和语言联合建模的声学模型)声学路径较少的缺陷,两个解码路径彼此独立,扩展了解码空间,从而能够提高语音识别的准确率。在一些实施例中,对于基于注意力机制的smlta模型,可以利用ctc模型的解码结果来提升smlta模型的解码结果的声学多样性,由此进一步提升smlta模型的识别性能。此外,本公开的一些实施例还能够通过多特征的融合,对双解码的所有候选结果进行综合排序,进一步提升语音识别的准确率。以下将参考附图1-8详细描述本公开的实施例的一些示例实现。

图1示出了根据本公开的实施例的语音识别的处理过程100的示意图。通常,语音识别系统可以包括声学模型、语言模型以及解码器等组件。如图1所示,在获得采集到的语音信号110之后,首先在框120处对语音信号110进行信号处理和特征提取,包括从输入的语音信号110中提取特征,以供后续的声学模型等来处理。备选地,特征提取过程还包括一些其他信号处理技术,以便降低环境噪声或者其他因素对特征造成的影响。

参考图1,在完成特征提取120之后,将提取的特征输入到解码器130,并由解码器130经过处理输出文本识别结果140。具体地,解码器130根据声学模型132和语言模型134寻找最大概率输出的语音信号的文本序列,其中声学模型132可以实现语音到发音片段的转换,而语言模型134可以实现发音片段到文本的转换。

声学模型132用于对发音片段进行声学和语言的联合建模,其建模单元例如可以为音节,在本公开的一些实施例中,声学模型132可以为流式多级的截断注意力模型(smlta)模型,其中smlta模型可以利用ctc模型的尖峰信息,把语音切割成多个小片段,使得注意力模型建模和解码可以在各个小片段上展开。这样的smlta模型能够支持实时的流式语音识别,并且实现较高的识别准确率。

语言模型134用于对语言进行建模。通常,可以使用统计的n元文法(n-gram),即统计前后n个字出现的概率。应当理解,任何已知的或者将来开发的语言模型可以与本公开的实施例结合使用。在一些实施例中,声学模型132可以基于语音数据库来进行训练和/或工作,而语言模型134可以基于文本数据库来进行训练和/或工作。

解码器130可以基于声学模型132和语言模型134的输出识别结果,实现动态地解码。根据本公开的实施例,解码器130可以同时开启两个独立的解码线程来实现针对语音信号的双解码,其利用一个声学模型的声学多样性来弥补另一个声学模型声学路径较少的缺陷,两个解码路径彼此独立,扩展了解码空间,由此提高语音识别的准确率。以下进一步描述了基于双解码的语音识别方法的一些示例实现。

在某个语音识别的场景中,用户正在对着其用户设备说话,用户产生的语音(即声音)被用户设备所采集,例如,可以通过用户设备的声音采集设备(诸如麦克风)来采集语音。用户设备可以为能够采集语音信号的任何电子设备,包括但不限于智能手机、平板电脑、台式计算机、笔记本计算机、智能可穿戴设备(诸如智能手表、智能眼镜)、导航设备、多媒体播放器设备、教育设备、游戏设备、智能音箱,等等。用户设备在采集的过程中,可以通过网络将语音分段地发送到服务器,服务器包括语音识别模型,其可以实现实时且准确的语音识别,在完成识别之后,可以通过网络将识别结果发送到用户设备。应当理解,根据本公开的实施例的语音识别方法可以在用户设备处执行,也可以在服务器处执行,或者一部分在用户设备处执行而另一部分在服务器处执行。

图2示出了根据本公开的实施例的语音识别方法200的流程图。应当理解,方法200可以由用户设备、或者服务器、或者其组合来执行。为了便于清楚描述方法200,在此参考图3的基于双解码的语音识别过程300一起描述方法200。

在框202,针对输入的语音信号,通过第一声学模型和第二声学模型分别获得第一声学解码信息和第二声学解码信息,其中第一声学模型通过声学建模而生成并且第二声学模型通过声学和语言的联合建模而生成。例如,参考图3,针对输入的语音信号310,在框311和312处分别根据不同的声学模型来执行各自的声学解码。具体地,在框311处,通过声学模型313对语音信号310的特征进行处理以生成声学解码信息321;在框312处,通过声学模型314对语音信号310的特征进行处理以生成声学解码信息322,其中声学模型313为仅通过声学建模而生成的模型,而声学模型314为通过声学和语言的联合建模而生成的声学模型(诸如基于注意力的声学模型)。由于联合建模生成的声学模型314的语言约束,其可能将正确的解码路径提前进行了裁剪,导致可能无法获得正确的识别结果,因此,通过引入不具有语言约束的声学模型313的解码结果,能够弥补声学模型314造成的正确解码路径缺失的缺陷。

在框204,分别根据第一声学解码信息和第二声学解码信息,确定第一组候选识别结果和第二组候选识别结果。例如,参考图3,在框331处,执行语言解码,根据声学解码信息321和语言模型333来确定一组候选识别结果341;在框332处,执行不同的语言解码,根据声学解码信息322和语言模型334来确定另一组候选识别结果342。因此,根据本公开的实施例,能够同时产生两组候选识别结果,扩大了候选识别结果的范围。

在框206,基于第一组候选识别结果和第二组候选识别结果,确定针对语音信号的识别结果。例如,再次参考图3,根据一组候选识别结果341和另一组候选识别结果342,确定语音信号310的最终的识别结果350。在一些实施例中,可以通过融合多特征的方式来从所有的候选识别结果中挑选或生成最终的识别结果。可选地,可以直接从这两组候选识别结果中挑选一个最佳的候选识别结果作为最终的语音识别结果。备选地,也可以对两组候选识别结果中的各个候选识别结果按片段进行组合,或者基于这两组候选识别结果重新生成新的识别结果。

因此,根据本公开的实施例的方法200,利用一个声学模型(即仅声学建模的声学模型313)的声学多样性来弥补另一个声学模型(即声学和语言联合建模的声学模型314)声学路径较少的缺陷,两个解码路径彼此独立,扩展了解码空间,从而能够提高语音识别的准确率。

参考图3,在某些场景中,一组候选识别结果341和一组候选识别结果342可能都包括最终的识别结果350。然而,在一些场景中,一组候选识别结果341中可能包括最终的识别结果350,而一组候选识别结果342却不包括最终的识别结果350,因此,在基于混合建模的声学模型314的解码基础上,增加声学模型313的解码,能够利用声学模型313解码结果的多样性来弥补声学模型314解码结果的缺失,由此提升语音识别的准确率。

可选地,语言模型333和语言模型334可以为相同的语言模型。备选地,语言模型333和语言模型334也可以为不同的语言模型,并且各自有所倾向和分工。例如,语言模型334可以包括一些特定领域和/或场景中的文本,而语言模型333可以包括一些通用领域的文本。通过这种方式,使得基于语言模型334的解码结果专业性更好,并且使得基于语言模型333的解码结果通用性更好,两者互相补充,从而进一步提升语音识别的准确率。

应当理解,虽然在图3中声学模型313和314被示出为分离,然而,声学模型313与声学模型314之间也可以具有关联和包含关系。在本公开的一些实施例中,声学模型314可以为smlta模型,而声学模型313可以为smlta模型内部的ctc模型,以下参考图5进一步描述了smlta模型的示例架构。

图4示出了根据本公开的实施例的smlta和ctc双解码的语音识别过程400的示意图。在图4的示例中,图2中所描述的第一声学模型为ctc模型421,而第二声学模型为smlta模型420。如图4所示,针对接收到的语音信号410,smlta模型420能够生成smlta输出432,然后smlta解码器根据smlta输出432生成n个候选识别结果442。例如,smlta模型420中的ctc模型421能够生成语音信号410的尖峰信息,smlta模型420中的注意力解码器422根据语音信号410以及ctc模型421提供的尖峰信息,能够对语音信号410进行准确地截断,由此提升了注意力解码器422的流式在线语音识别能力。

根据本公开的实施例,在smlta解码的基础上,增加了ctc的解码。如图4所示,在smlta模型420生成smlta输出432的过程中,smlta模型420中的ctc模型421同时生成ctc输出431,然后ctc解码器根据ctc输出431也生成n个候选识别结果441。与smlta解码生成的smlta输出432相比,ctc解码生成的ctc输出431由于没有语言约束,因而具有更多的声学多样性。因此,通过在smlta解码的基础上增加ctc解码,能够进一步提升识别结果450的准确率。

因此,根据本公开的实施例的图4的过程400,通过引入ctc解码的候选识别结果,扩展了smlta建模中存在训练数据不充分导致的无法挽回的错误识别,提升了smlta模型的识别性能。此外,两个解码路径互相不产生影响,本质上相当于扩展了解码空间。能够缓解单一解码器在识别时由于声音信号衰减和背景环境噪声的情况下将正确识别结果提前裁剪的问题,由此提升语音识别的准确率。

图5示出了根据本公开的实施例的基于ctc尖峰信息的smlta模型500的示例架构的示意图。如图5所示,smlta模型500主要包括三个部分:共享解码器520,被配置为将输入的语音信号510的特征编码成隐含特征序列530(即隐含特征序列h);ctc模型540,被配置为基于隐含特征序列530来生成包括尖峰信息的ctc输出560;以及注意力解码器550,被配置为基于隐含特征序列530和尖峰信息来获得实时smlta解码输出570,其中,尖峰之间可以通过空白(blank)进行分隔,其中一个尖峰可以表示一个音节(syllable)或者一组音素(phone),例如高频音素的组合。

如图5所示,在smlta模型500中,共享编码器520被ctc模型540和注意力解码器550共享,形成ctc模型540和注意力解码器550两个头的“双头结构”。由于smlta模型550中的主要计算量集中在共享编码器520和注意力解码器550,因而与传统的注意力模型相比,根据本公开的实施例的smlta模型550几乎不增加整个模型架构的计算量(也就是说,虽然有增加,但增加的比例特别小,几乎可以被忽略),但却能够同时提供ctc输出560(即尖峰信息)和注意力输出570(即声学解码信息),能够很好地解决本公开的实施例的smlta模型500的大规模工业部署的问题。相反,传统的方式如果想要在产品中组合使用这两个模型,可能会导致线上的计算量增加一倍,从而造成成本过高,无法大规模工业使用。

继续参考图5,在smlta模型的执行过程中,ctc模型生成ctc输出560(其可以进一步用于图6中的位置处),并且将其尖峰信息提供给注意力解码器550以用于截断,进而获得smlta输出570(其可以进一步用于图6中的位置处)。在此过程中,ctc输出560已经产生,而无需进一步的计算。因此,根据本公开的实施例,同时生成ctc输出560和smlta输出570并不增加额外的计算量。相反,其充分利用了smlta模型结构中紧凑的ctc和注意力双头结构,在实现双解码的过程中,仅需进行一次声学计算,极大的节约了计算资源和处理时间。因此,可以从smlta模型500同时输出ctc输出560和smlta输出570以供后续的进一步解码使用。

继续参考图5,共享编码器520包括1个卷积层(conv)、n个lstm和批归一化(bn)层,其中n可以为正整数(例如5等),并且lstm可以为单向的lstm。对于给定的输入语音信号,共享编码器520首先对语音信号进行编码,得到对应的隐含特征序列530。在一些实施例中,语音信号510可以在被输入到共享编码器520之前已经被特征提取处理而作为模型输入x。应当理解,虽然图5中示出了共享编码器520的内部层级结构,然而,其他结构的共享编码器也可以与本公开的实施例结合使用。

ctc模型540包含1个线性变换(linear)层和1个归一化(softmax)层,其利用ctc训练准则得到输入的隐含特征序列530的尖峰的描述信息,从而生成包括尖峰信息的ctc输出560,然后将尖峰信息传递给注意力解码器550,以用于利用尖峰信息将隐含特征序列530截断成多个子序列。

注意力解码器550包括1个注意力模型层、m个lstm层和层归一化(ln)层、以及1个softmax层,其中m可以为正整数(例如2等),并且lstm可以为单向的lstm。注意力解码器550根据接收到的隐含特征序列530和尖峰信息,能够将隐含特征序列530截断成一个个连续的子序列。注意力解码器550对截断的子序列通过注意力机制进行筛选,最终获得相应的输出概率分布。由于共享编码器520和解码器550使用单向lstm作为基本的网络结构,并且这种把隐含特征序列截断成子序列的方式仅仅依赖隐含特征的历史信息,使得语音识别系统能够在音频信号输入的同时实时进行解码,而不必等到整个音频信号全部输入后才开始解码,实现了实时的语音识别。应当理解,虽然图5中示出了注意力解码器550的内部层级结构,然而,其他结构的注意力解码器也可以与本公开的实施例结合使用。

在图5所示出的紧凑的ctc和注意力一体的stmla模型中,同时拥有ctc模型540的头和注意力解码器550的头,训练时候也可以是双头一起训练。ctc模型540的头用ctc损失函数训练,注意力解码器550的头用交叉熵损失函数训练。两个损失函数用线性差值权重连接,也即,两个损失函数各自具有其相应的权重。这种模型在线上计算量和一个模型几乎相同,却同时能够提供ctc和注意力两种信息,从而能够大规模工业部署。

因此,本公开的实施例通过在smlta模型500中增加ctc输出560(即ctc模型的声学解码信息),在不增加额外计算量或者仅增加很少计算量的情况下,实现了两种不同类型的声学模型的两种声学解码信息的输出,扩展了解码空间,从而提高了smlta模型的语音识别的准确率。

图6示出了根据本公开的融合多特征的smlta和ctc双解码调优过程600的示意图。如图6所示,对于输入的语言信号610,在框611处,通过smlta声学模型612进行统一的smlta声学部分打分,获得例如来自图5的ctc输出(如图6中的位置处,ctc尖峰信息)和smlta输出(如图6中的位置处,smlta分布信息)。然后分别使用一个smlta解码器(例如解码线程)和一个ctc解码器(例如解码线程)利用各自的信息在各自的空间中进行音频解码,输出各自n个候选解码结果,然后将这些候选结果进行多特征的综合决策排序,并输出最优的识别结果。

在图6的融合多特征的smlta和ctc双解码调优过程600中,主要涉及四个部分:smlta模型612内部的ctc和注意力双头声学打分模块、smlta解码器及其对应的语言模型632、ctc解码器及其对应的语言模型622、以及多特征决策模型640。

如上文所述,smlta模型612内的ctc和注意力一体的注意力模型结构,同时可以输出ctc的尖峰信息和smlta的分布信息,这种模型在线上计算量和一个模型几乎相同,极大的避免了双解码所引起的计算代价翻倍问题。

在框631处,smlta解码器根据smlta输出以及对应的语言模型632,解码生成n个候选识别结果633。smlta解码器实现对获得的smlta的声学结果进行其独立的语言模型上的解码。由于进行了声学和语言信息的联合建模,克服了传统的ctc模型仅能对声学模型进行建模的不足,提升了模型识别率。然而,联合建模增加了约束性,在解码裁剪之后,识别结果中的声学路径的丰富性会远低于ctc模型。因此,本公开的实施例利用ctc声学输出来弥补smlta声学输出的多样性方面的缺失。

在框621处,ctc解码器根据ctc输出以及对应的语言模型622,解码生成n个候选识别结果623。ctc解码器获取ctc尖峰信息进行独立的语言模型上的解码。其提供的最佳的1个识别结果准确性可能会低于smlta解码器的1个识别结果,但是其最佳的n个识别结果的丰富性使得其极限性能往往高于smlta解码器的最佳的n个识别结果。

多特征决策模型640基于smlta解码器和ctc解码器各自的候选识别结果633和623,提取出每个候选识别结果的多个特征,通过多特征融合,确定出最终的语音识别结果650。这种smlta和ctc的互补性使得使用决策模型获得收益成为了可能。在一些实施例中,可以使用一个双向lstm模型对两个解码器所得到的候选识别结果进行多特征的融合,决策给出最优的识别结果。该方案不仅保持了smlta模型的高精度特性,同时通过利用ctc模型结果的多样性,补充了单一smlta解码器在部分样例情况下的识别错误问题。决策模型从多特征层面重组特征,融合了两个模型的长处,进一步提高了识别率。

在一些实施例中,提取的多特征除了包含声学模型特征和语言模型特征之外,还可以包括置信度特征、领域信息特征、语义特征、语种特征、句子相似度特征以及用户特征等。此外,也可以新增特征进行扩充,以便进一步提高识别系统的鲁棒性和准确性。以这种方式,通过多特征融合的方式,对smlta解码和ctc解码的候选识别结果进行综合排序,能够获得更佳的语音识别结果。

在一些实施例中,可以使用双lstm模型来实现多特征决策模型640,并利用预先标注的训练数据来训练多特征决策模型640。在一些实施例中,可以分析语音识别系统中的真实错误样例,提取错误部分相关的特征并加入到多特征决策模型640中,从而强化错误率较高部分的特征训练,进一步提升语音识别的准确率。

在一些实施例中,smlta解码器与ctc解码器可以分别使用不同的语言模型,例如smlta解码器可以使用专用场景的语言模型而ctc解码器可以使用通用场景的语言模型,这样可以在不同的先验约束下进行解码。通过特殊的设计,可以很好的平衡领域识别的准确性和通用识别的泛化性,扩展解码空间。

图7示出了根据本公开的实施例的语音识别装置700的框图。如图7所示,装置700包括声学信息获得模块710、候选结果确定模块720以及识别结果确定模块730。声学信息获得模块710被配置为针对输入的语音信号,通过第一声学模型和第二声学模型分别获得第一声学解码信息和第二声学解码信息,其中第一声学模型通过声学建模而生成并且第二声学模型通过声学和语言的联合建模而生成。候选结果确定模块720被配置为分别根据第一声学解码信息和第二声学解码信息,确定第一组候选识别结果和第二组候选识别结果。识别结果确定模块730被配置为基于第一组候选识别结果和第二组候选识别结果,确定针对语音信号的识别结果。

在一些实施例中,其中第一声学模型是连接时序分类(ctc)模型,第二声学模型是流式多级的截断注意力(smlta)模型,并且声学信息获得模块710包括:第一声学信息获得模块,被配置为基于语音信号,通过连接时序分类(ctc)模型获得第一声学解码信息,第一声学解码信息包括与语音信号有关的尖峰信息;以及第二声学信息获得模块,被配置为基于语音信号和尖峰信息,通过流式多级的截断注意力(smlta)模型中的注意力解码器获得第二声学解码信息。

在一些实施例中,其中候选结果确定模块720包括:第一候选结果确定模块,被配置为由连接时序分类(ctc)解码器根据第一声学解码信息,来确定第一组候选识别结果;以及第二候选结果确定模块,被配置为由流式多级的截断注意力(smlta)解码器根据第二声学解码信息,来确定第二组候选识别结果。

在一些实施例中,其中第一候选结果确定模块包括:第三候选结果确定模块,被配置为根据第一语言模型和第一声学解码信息来确定第一组候选识别结果,并且第二候选结果确定模块包括:第四候选结果确定模块,被配置为根据第二语言模型和第二声学解码信息来确定第二组候选识别结果,并且其中第一语言模型与第二语言模型不同。

在一些实施例中,其中识别结果确定模块730包括:组合模块,被配置为基于第一组候选识别结果和第二组候选识别结果的组合,获得第三组候选识别结果;提取模块,被配置为提取第三组候选识别结果中的每个候选识别结果的多个特征;以及确定模块,被配置为基于每个候选识别结果的多个特征,确定针对语音信号的识别结果。

在一些实施例中,其中提取模块包括:特征获得模块,被配置为获得每个候选识别结果的声学特征和语言特征;以及特征确定模块,被配置为确定每个候选识别结果的领域特征。

在一些实施例中,其中提取模块还包括:第二特征提取模块,被配置为提取每个候选识别结果的以下至少一个特征:置信度特征、语义特征、相似度特征、以及用户特征。

在一些实施例中,其中第一组候选识别结果包括所确定的识别结果,并且第二组候选识别结果不包括所确定的识别结果。

应当理解,图7中所示出的声学信息获得模块710、候选结果确定模块720以及识别结果确定模块730可以被包括单个或多个电子设备中。此外,应当理解,图7中所示出的模块可以执行参考本公开的各个实施例的方法或过程中的步骤或动作。

因此,根据本公开的一些实施例,提出一种融合多特征的smlta和ctc双解码调优语音识别方案,在实现smlta解码的同时,利用其内部的ctc模型的信息进行ctc解码,利用ctc解码结果的声学多样性来弥补smlta声学路径较少的缺点,此外,还可以使用多层次的特征重新进行识别结果排序决策,进一步提高smlta的识别准确率。

图8示出了可以用来实施本公开的实施例的示例设备800的示意性框图。应当理解,设备800可以为用于实现本公开所描述的语音识别装置700。如图所示,设备800包括中央处理单元(cpu)801,其可以根据被存储在只读存储器(rom)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序指令,来执行各种适当的动作和处理。在ram803中,还可存储设备800操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

处理单元801执行上文所描述的各个方法和过程,例如方法200。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram803并由cpu801执行时,可以执行上文描述的方法的一个或多个动作或步骤。备选地,在其他实施例中,cpu801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld),等等。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

此外,虽然采用特定次序描绘了各动作或步骤,但是这应当理解为要求这样动作或步骤以所示出的特定次序或以顺序次序执行,或者要求所有图示的动作或步骤应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。

尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本公开的实施例,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

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