语音识别方法和装置、电子设备和存储介质与流程
本公开涉及语音识别技术,尤其是一种语音识别方法和装置、电子设备和存储介质。
背景技术:
随着移动互联网的发展,语音识别越来越重要,它是很多其他应用能够实现的基础。例如,通过语音识别技术,可以实现语音拨号、语音导航等应用。语音识别结果越准确,以语音识别为基础的应用的效果就会越好。
在现有大词汇量的实时语音识别系统中,考虑到实时性需求,解码器在进行解码时,一般都使用较小的、效果较差的语言模型进行一遍解码,然后再使用较大的、效果较优的语言模型对一遍解码结果进行二遍解码,即对一遍解码结果生成的存放多个候选路径的候选解码网络(lattice)进行重新打分(rescore),以提高识别的正确率。
技术实现要素:
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种语音识别方法和装置、电子设备和存储介质。
根据本公开实施例的一个方面,提供了一种语音识别方法,包括:
对待识别语音进行解码,得到所述待识别语音的第一解码路径;在对所述待识别语音进行解码的过程中,对至少一个所述第一解码路径进行解码;
在对所述待识别语音解码完成后,对未进行解码的第一解码路径进行解码;
根据所述第一解码路径的解码结果,确定所述待识别语音的语音识别结果。
根据本公开实施例的另一个方面,提供了一种语音识别装置,包括:
第一解码模块,用于对待识别语音进行解码,得到所述待识别语音的第一解码路径;
第二解码模块,用于在对待识别语音进行解码的过程中,对所述第一解码模块得到的至少一个所述第一解码路径进行解码;以及在对所述待识别语音解码完成后,对未进行解码的第一解码路径进行解码;
确定模块,用于根据所述第二解码模块得到的所述第一解码路径的解码结果,确定所述待识别语音的语音识别结果。
根据本公开实施例的又一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本公开上述任一实施例所述的语音识别方法。
根据本公开实施例的又一个方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一实施例所述的语音识别方法。
基于本公开上述实施例提供的语音识别方法和装置、电子设备和存储介质,可以在对待识别语音进行解码(称为:一遍解码)的过程中,对一遍解码得到的第一解码路径中的至少一个第一解码路径进行解码(称为:二遍解码);在对待识别语音进行一遍解码完成后,对第一解码路径中未进行二遍解码的第一解码路径进行二遍解码;然后根据二遍解码得到的解码结果,确定待识别语音的语音识别结果。由于本公开实施例在对待识别语音进行一遍解码的过程中即开始对一遍解码生成的至少一个第一解码路径进行二遍解码,而无需等到一遍解码完成后再进行二遍解码,这样,用户在输入最后一包数据时,已经完成对部分第一解码路径的二遍解码,从而相对于现有技术减少了用户在输入最后一包数据时需要等待的时间,减少了整个语音识别过程需要的时间,改善了用户体验。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开所适用的场景图。
图2是本公开一示例性实施例提供的语音识别方法的流程示意图。
图3是本公开另一示例性实施例提供的语音识别方法的流程示意图。
图4是本公开又一示例性实施例提供的语音识别方法的流程示意图。
图5是本公开再一示例性实施例提供的语音识别方法的流程示意图。
图6是本公开一示例性实施例提供的语音识别装置的结构示意图。
图7是本公开另一示例性实施例提供的语音识别装置的结构示意图。
图8是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
申请概述
在实现本公开的过程中,本发明人通过研究发现:利用上述语音识别系统进行解码时,用户在输入最后一包数据后需要等待的时间包含两部分:对最后一包数据进行一遍解码的时间,和对所有一遍解码结果进行二遍解码的时间。由于二遍解码时使用的语言模型通常较大,消耗时间较多,使得整个语音识别过程需要的时间较长,导致用户体验效果较差。
本公开实施例在对待识别语音进行一遍解码的过程中即开始对一遍解码生成的至少一个第一解码路径进行二遍解码,即提前开始二遍解码,减少了用户在输入最后一包数据时需要等待的时间,从而减少了整个语音识别过程需要的时间,改善了用户体验。
示例性系统
图1是本公开所适用的场景图。如图1所示,由音频采集模块(例如麦克风等)采集得到原始音频信号,该原始音频信号或该原始音频信号经前端信号处理后的语音,作为待识别语音,基于本公开实施例进行语音识别,得到语音识别结果。基于该语音识别结果,可以实现一些应用,例如,实现语音拨号、语音导航等应用。例如,在语音识别结果为“请呼叫xxx”时,电子设备通过语音呼叫功能模块搜索姓名为xxx的电话号码并发起呼叫。采用本发明实施例后,可以缩短对待识别语音的语音识别的过程,从而提前进入基于该语音识别结果的应用流程,例如提前进入语音拨号、语音导航等应用的处理流程,从而可以提前向用户反馈应用结果,例如,接通、占线、关机等语音拨号结果,选择精确的目的地址、返回导航路线等语音导航结果,改善了用户体验。
示例性方法
图2是本公开一示例性实施例提供的语音识别方法的流程示意图。本实施例可应用在电子设备上,如图2所示,该语音识别方法包括如下步骤:
步骤201,对待识别语音进行解码,得到待识别语音的解码路径,本公开实施例中,将对待识别语音进行解码得到的解码路径称为第一解码路径,该第一解码路径可以包括一个或者多个第一解码路径。
其中的待识别语音,可以是由音频采集模块(例如麦克风等)采集的原始音频信号,也可以是原始音频信号经前端信号处理后的语音,本公开实施例不对此进行限制。其中,前端信号处理例如可以包括但不限于:语音活动检测(voiceactivitydetection,vad)、降噪、声学回声消除(acousticechocancellaction,aec)、去混响处理、声源定位、波束形成(beamforming,bf)等。
语音活动检测(voiceactivitydetection,vad)又称语音端点检测、语音边界检,是指在噪声环境中检测音频信号中语音的存在与否,准确的检测出音频信号中语音段起始位置,通常用于语音编码、语音增强等语音处理系统中,起到降低语音编码速率、节省通信带宽、减少移动设备能耗、提高识别率等作用。vad的起点是从静音到语音,vad的结束点是从语音到静音,vad的结束点的判断需要一段静音。原始音频信号经前端信号处理得到的语音,包括从vad的起点到结束点的语音,因此,作为本公开实施例的待识别语音,在语音段后还可能包括一段静音。
其中,在一个具体例子中,假设待识别语音为:你好祖国人民,基于步骤201得到的第一解码路径例如可以是,您好-中-国-人名,你好-中-国,您好-祖-国-人民,你-好-人-民,您好-祖-国-人名,等等。
步骤202,在对待识别语音进行解码的过程中,对解码得到的第一解码路径中至少一个第一解码路径进行解码。步骤203,在对待识别语音解码完成后,对待识别语音解码得到的第一解码路径中未进行解码的第一解码路径进行解码。
本公开实施例中,将对第一解码路径进行解码得到的解码路径称为第二解码路径。
仍以上述步骤201中的例子为例,对上述第一解码路径进行解码,得到的第二解码路径例如可以是,您好-中国-人民,你好-中国-人民,你好-祖国-人民,您好-祖国-人民。
步骤204,根据对第一解码路径的解码结果,确定待识别语音的语音识别结果。
仍以上述步骤201和步骤203中的例子为例,根据上述步骤203中的第二解码路径,确定待识别语音的语音识别结果为:你好-祖国-人民。
基于本公开上述实施例提供的语音识别方法,可以在对待识别语音进行解码的过程中,对解码得到的第一解码路径中的至少一个第一解码路径进行解码;在对待识别语音进行一遍解码完成后,对第一解码路径中未进行二遍解码的第一解码路径进行解码,然后根据对第一解码路径进行解码得到的解码结果,确定待识别语音的语音识别结果。由于本公开实施例在对待识别语音进行解码的过程中即开始对得到的至少一个第一解码路径进行解码,而无需等到对待识别语音的解码完成后再对第一解码路径进行解码,这样,用户在输入最后一包数据时,已经完成对部分第一解码路径的解码,从而相对于现有技术减少了用户在输入最后一包数据时需要等待的时间,减少了整个语音识别过程需要的时间,改善了用户体验。
在一些可选的实施方式中,上述步骤201中,对待识别语音进行解码时,可以利用第一语言模型对待识别语音进行解码。
在一些可选的实施方式中,上述步骤202和步骤203中,第一解码路径进行解码时,可以利用第二语言模型对第一解码路径进行解码。
其中,第一语言模型和/或第二语言模型例如可以包括但不限于:规则语言模型、统计语言模型或者神经网络语言模型(neuralnetworklauguagemodel,nnlm)等,本公开实施例不对此进行限制。
在本公开的一些可选例子中,第一语言模型和/或第二语言模型采用统计语言模型,其中,统计语言模型也称为n元语法(n-gram)语言模型,本公开实施例中对n的取值不进行限制,可以为大于1的整数。可选地,可采用二元统计语言模型(bigram)或三元统计语言模型(trigram),对待识别语音进行解码,由于统计语言模型较小,对待识别语音的解码速度较快,能够实现大词汇量连续语音识别,保证识别的准确度,从而提高语音识别效果。
在一些可选的实施方式中,第二语言模型为语音识别效果优于第一语言模型的语言模型,第二语言模型较好的语音识别效果,例如可以通过采用较大的网络模型实现、和/或采用更加符合人类语言习惯的语料训练得到,从而实现较好的语音识别效果。
图3是本公开另一示例性实施例提供的语音识别方法的流程示意图。如图3所示,在上述图2所示实施例的基础上,在利用第一语言模型对待识别语音进行解码之前,还可以包括如下步骤:
步骤301,依次从待识别语音中读取一个语音帧,对该读取的语音帧进行声学特征提取,得到该读取的语音帧的语音特征信息。
其中的语音特征信息也称为声学特征信息,例如可以包括但不限于以下任一特征信息:有线性预测编码(linearpredictivecoding,lpc)、梅尔频率倒谱系数(mel-frequencycepstrumcoefficients,mfcc)、梅尔标度滤波器组(mel-scalefilterbank,fbank)等。其中的语音特征信息可以表示为特征向量的方式,也可以表示为特征图的方式,本公开实施例不对此进行限制。
步骤302,利用声学模型,对上述语音特征信息进行识别,得到读取的语音帧的声学识别结果,该声学识别结果例如可以包括但不限于:至少一个词以及至少一个词中各词的声学得分。
其中的声学模型例如可以包括但不限于:高斯混合模型-隐马尔科夫模型(gaussianmixture-modelhiddenmarkovmodel,gmm-hmm)、循环神经网络(recurrentneuralnetworks,rnn)、前馈序列记忆神经网络(feedforwardsequentialmemorynetworks,fsmn)等,本公开实施例不对此进行限制。
该实施例实现了对待识别语音的声学识别,以便后续结合该声学识别结果,对待识别语音进行更好的进行解码。
在上述图3所示实施例的基础上,在一些可选的实施方式中,利用第一语言模型对待识别语音进行解码,可以通过如下方式实现:利用第一语言模型,分别对读取的语音帧的声学识别结果中各词进行打分,得到读取的语音帧的声学识别结果中各词的第一语言得分。其中,上述第一解码路径基于读取的语音帧的声学识别结果与历史语音帧的声学识别结果得到,其中的历史语音帧包括:上述待识别语音中时序位于读取的语音帧之前的语音帧。
该实施例提供了一种对利用第一语言模型对待识别语音进行解码的实施方式,可以结合声学识别结果得到待识别语音的第一解码路径。
可选地,在另一些可选的实施方式中,得到读取的语音帧的声学识别结果中各词的第一语言得分之后,还可以对经过该读取的语音帧的声学识别结果中各词的第一解码路径进行排序并去重。
对得到读取的语音帧的声学识别结果中各词的第一语言得分之后,对经过该读取的语音帧的声学识别结果中各词的第一解码路径进行排序并去重,可以有效去除第一解码路径中的重复路径,可以减低内存存储空间,减少后续重新进行打分的计算,提高重新打分的速度和效率,从而提高整个语音识别效率。
另外,在上述图3所示实施例的基础上,在一些可选的实施方式中,利用第二语言模型对第一解码路径进行解码,可以通过如下方式实现:利用第二语言模型,依次对第一解码路径中各语音帧的声学识别结果中的各词重新进行打分,得到各语音帧的声学识别结果中各词的第二语言得分,保存该第二语言得分、以及对第一解码路径解码得到的第二解码路径。
利用利用第二语言模型,依次对第一解码路径中各语音帧的声学识别结果中的各词重新进行打分,使得声学识别结果中各词的语言得分更准确,从而提高了待识别语音解码结果的准确性。
在进一步可选的实施方式中,利用第二语言模型对第一解码路径中各语音帧的声学识别结果中的各词重新进行打分时,具体对第一解码路径中除最后一个词外的所有词都已经重新打分后的第一解码路径继续进行重新打分。
例如,在一个具体实例中,假设利用第一语言模型对待识别语音进行解码得到的第一解码路径为:①我-想-听歌,②我-想-吃饭,③我-去-吃饭,④我-要-听歌,对经过读取的语音帧的声学识别结果中各词的第一解码路径进行排序并去重后,还剩三条不重复的第一解码路径,假设对这三条不重复的第一解码路径中的某条第一解码路径(例如,我-去)已经重新打分,则可以对相应的第一解码路径(相应为,我-去-吃饭)继续进行重新打分。
图4是本公开又一示例性实施例提供的语音识别方法的流程示意图。如图4所示,在上述图2所示实施例的基础上,步骤203可包括如下步骤:
2031,基于对待识别语音进行解码得到的第一解码路径生成解码网络。
例如,可以基于声学识别结果中至少一个词以及该至少一个词中各词的声学得分、和各词的第一语言得分,得到多个第一解码路径,该多个第一解码路径构成词图(lattice),也即上述解码网络,该解码网络也称为候选解码网络。
利用声学模型和第一语言模型,对待识别语音进行解码时,会动态生成解码网络,该解码网络中的各第一解码路径对应一个由声学模型和第一语言模型得到的声学得分和第一语言得分。每个第一解码路径表示词、以及该词发生的声学得分和第一语言得分。
2032,对上述解码网络中未完成解码的第一解码路径进行解码,得到上述解码网络对应的第二解码路径。
与上述第一解码路径构成词图的方式类似,该第二解码路径也可以构成一个词图,本公开实施例不再进行赘述。
本实施例中,在对待识别语音一遍解码完成后,仅需对解码网络中未完成解码的第一解码路径进行解码,从而缩短了一编解码和二遍解码的整体所需时间,提升了语音识别效率。
图5是本公开再一示例性实施例提供的语音识别方法的流程示意图。如图5所示,在上述图2所示实施例的基础上,步骤204可包括如下步骤:
步骤2041,根据待识别语音中各语音帧的声学识别结果中各词的第二语言得分,确定各第二解码路径的综合得分。
步骤2042,从解码网络对应的第二解码路径中选择综合得分最高的第二解码路径作为待识别语音的语音识别结果。
在一些可选的实施方式中,可以分别以各第二解码路径中所有词的第二语言得分之和、或者平均值等,作为该第二解码路径的综合得分;或者,在另一些可选的实施方式中,也可以以所有词的声学得分与第二语言得分之和、或者平均值等,作为该第二解码路径的综合得分;或者,在另一些可选的实施方式中,还可以以所有词的声学得分与第二语言得分的加权平均值,作为该第二解码路径的综合得分。然而,本公开实施例对第二解码路径的综合得分的具体计算方式不做限制。
本实施例根据声学识别结果中各词的第二语言得分确定各第二解码路径的综合得分,选择综合得分最高的第二解码路径作为待识别语音的语音识别结果,使得语音识别结果更客观、准确。
基于本公开实施例,得到待识别语音的语音识别结果后,可以对该语音识别结果进行语义分析,根据语义分析的结果,控制设备执行相对应的应用操作,从而实现基于语音识别的应用。例如,若语义分析的结果为“呼叫xxx”,则设备可以根据该语义分析的结果,启动通过语音呼叫功能模块搜索姓名为xxx的电话号码并发起呼叫;若语义分析的结果为“北京市明天的天气如何”,则设备可以根据该语义分析的结果,启动天气预报模块搜索北京市明天的天气并输出,具体可以通过语音或者文字输出,本公开实施例对此不进行限制。
其中,对语音识别结果进行的语义分析,例如可以为词语级语义分析、句子级语义分析或者篇章级语义分析,本公开实施例对此不作限定。在一个可选的例子中,可以对作为语音识别结果的文字信息进行语义分析,通过语义分析得到语音识别结果的语义表示,作为语义分析结果;在另一个可选的例子中,可以对作为语音识别结果的文字信息进行语义分析,通过语义分析识别语音识别结果中是否包括预设字词、短语或者句子,作为语义分析结果。本公开实施例对语音识别结果进行语义分析的实现方式不作限定。
例如,在一些可选的例子中,可以通过隐性语义分析(latentsemanticanalysis,lsa)、概率隐性语义分析(probabilisticlatentsemanticanalysis,plsa)或隐狄利克雷分配(latentdirichletallocation,lda)等主题模型对语音识别结果进行语义分析,或者可以通过rnn、长短期记忆神经网络(longshort-termmemory,lstm)等人工神经网络对语音识别结果进行语义分析,本公开实施例对此不作限定。
以下以一个具体应用实例为例,对本公开进行一些示例性说明,本领域技术人员知悉,本应用实例不对本公开及其应用构成任何限制:
假设音频采集模块采集的或经过前端信号处理后的待识别语音为:今天天津天气怎么样;
基于本公开上述实施例,利用声学模型和第一语言模型,对待识别语音进行解码,得到如下第一解码路径:a,今天-天气-怎么样;b,天津-天气-怎么样;c,今天-天气-咋样;d,天津-天气-咋样;e,今天-天津-咋样;f,今天-天津-天气-怎么样,其中,假设在对待识别语音进行解码的过程中,已经利用第二语言模型对第一解码路径a、c、e进行了解码;
基于第一解码路径a~f生成解码网络;
利用第二语言模型对上述解码网络中未完成解码的第一解码路径b、d、f进行解码,得到对第一解码路径a~f解码得到的第二解码路径;
从解码网络对应的第二解码路径(即对第一解码路径a~f解码得到的第二解码路径)中,选择综合得分最高的第二解码路径,本应用实例中为第一解码路径f解码得到的第二解码路径,作为待识别语音的语音识别结果。
本公开实施例中,由于待识别语音数据的输入是实时的,并非所有待识别语音数据一次全部输入到实现本公开语音识别方法实施例的语音识别系统中,解码器在使用第一语言模型时进行解码的实时率一般在0.5倍或以下,因此在对待识别语音进行解码过程中,使用第二语言模型对第一解码路径进行解码是可行的,并且,因为在下一包待识别语音数据输入之前已经输入到语音识别系统中的待识别语音数据已全部处理完毕,因此不会影响整体的解码实时率。在处理完最后一包待识别语音数据时,语音识别系统已经对大约50%的第一解码路径解码完成,当解码网络生成后只需对剩余的约50%的第一解码路径进行解码。
例如,在上述应用实例中,在利用本公开实施例的语音识别方法之前,用户说完待识别语音“今天天津天气怎么样”后,需要等待总共约300ms的时间才能得到语音识别结果,其中,最后一包待识别语音数据进行一遍解码的时间为100ms,对整个解码网络进行二遍解码的时间为200ms。利用本公开实施例的语音识别方法后,用户说完待识别语音“今天天津天气怎么样”后,需要等待总共约200ms的时间才能得到语音识别结果,其中,其中,最后一包待识别语音数据进行一遍解码的时间为100ms,对解码网络中未进行解码的第一解码路径(大约为50%的第一解码路径)进行二遍解码的时间为100ms。由此可见,本公开实施例相对于现有技术大约减少了约1/3的等待时间,可显著改善用户体验。
本公开实施例提供的任一种语音识别方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种语音识别方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种语音识别方法。下文不再赘述。
示例性装置
图6是本公开一示例性实施例提供的语音识别装置的结构示意图。该语音识别装置可以设置于终端设备、服务器等电子设备中,执行本公开上述任一实施例的语音识别方法。如图6所示,该语音识别装置包括:第一解码模块601、第二解码模块602和确定模块603。其中:
第一解码模块601,对待识别语音进行解码,得到待识别语音的第一解码路径。
在其中一些实施方式中,第一解码模块601用于利用第一语言模型对待识别语音进行解码。
第二解码模块602,用于在对待识别语音进行解码的过程中,对第一解码模块601得到的至少一个第一解码路径进行解码;以及在对待识别语音解码完成后,对未进行解码的第一解码路径进行解码。
在其中一些实施方式中,第二解码模块602用于利用第二语言模型对第一解码模块601得到的第一解码路径进行解码。
确定模块603,用于根据第二解码模块602得到的第一解码路径的解码结果,确定待识别语音的语音识别结果。
基于本公开上述实施例提供的语音识别装置,可以在对待识别语音进行解码(称为:一遍解码)的过程中,对一遍解码得到的第一解码路径中的至少一个第一解码路径进行解码(称为:二遍解码);在对待识别语音进行一遍解码完成后,对第一解码路径中未进行二遍解码的第一解码路径进行二遍解码;然后根据二遍解码得到的解码结果,确定待识别语音的语音识别结果。由于本公开实施例在对待识别语音进行一遍解码的过程中即开始对一遍解码生成的至少一个第一解码路径进行二遍解码,而无需等到一遍解码完成后再进行二遍解码,这样,用户在输入最后一包数据时,已经完成对部分第一解码路径的二遍解码,从而相对于现有技术减少了用户在输入最后一包数据时需要等待的时间,减少了整个语音识别过程需要的时间,改善了用户体验。
图7是本公开另一示例性实施例提供的语音识别装置的结构示意图。如图7所示,在本公开上述图6所示实施例的基础上,语音识别装置还可以包括:声学特征提取模块604和声学识别模块605。其中:
声学特征提取模块604,用于依次从待识别语音中读取一个语音帧,对读取的语音帧进行声学特征提取,得到读取的语音帧的语音特征信息。
声学识别模块605,用于利用声学模型,对上述语音特征信息进行识别,得到读取的语音帧的声学识别结果,该声学识别结果例如可以包括但不限于:至少一个词以及至少一个词中各词的声学得分。
基于本公开上述实施例提供的语音识别装置,可以在对待识别语音进行解码的过程中,对解码得到的第一解码路径中的至少一个第一解码路径进行解码;在对待识别语音进行一遍解码完成后,对第一解码路径中未进行二遍解码的第一解码路径进行解码,然后根据对第一解码路径进行解码得到的解码结果,确定待识别语音的语音识别结果。由于本公开实施例在对待识别语音进行解码的过程中即开始对得到的至少一个第一解码路径进行解码,而无需等到对待识别语音的解码完成后再对第一解码路径进行解码,这样,用户在输入最后一包数据时,已经完成对部分第一解码路径的解码,从而相对于现有技术减少了用户在输入最后一包数据时需要等待的时间,减少了整个语音识别过程需要的时间,改善了用户体验。
在其中一些实施方式中,第一解码模块601可以包括:第一语言模型,用于分别对读取的语音帧的声学识别结果中各词进行打分,得到读取的语音帧的声学识别结果中各词的第一语言得分。其中,第一解码路径基于读取的语音帧的声学识别结果与历史语音帧的声学识别结果得到,其中的历史语音帧包括:待识别语音中时序位于读取的语音帧之前的语音帧。
可选地,在另一些实施方式中,第一解码模块601在得到读取的语音帧的声学识别结果中各词的第一语言得分之后,还可用于对经过读取的语音帧的声学识别结果中各词的路径进行排序并去重。
在其中一些实施方式中,第二解码模块602包括:第二语言模型,用于依次对第一解码路径中各语音帧的声学识别结果中的各词重新进行打分,得到各语音帧的声学识别结果中各词的第二语言得分,保存第二语言得分、以及对第一解码路径解码得到的第二解码路径。
再参见图7,在本公开上述图6所示实施例的基础上,第二解码模块602可以包括:生成单元6021和解码单元6022。其中:
生成单元6021,用于基于第一解码模块601得到的第一解码路径生成解码网络。
解码单元6022,用于在对待识别语音进行解码的过程中,对第一解码模块601得到的至少一个第一解码路径进行解码;以及对生成单元6021生成的解码网络中未完成解码的第一解码路径进行解码。
再参见图7,在本公开上述图6所示实施例的基础上,确定模块603可以包括:确定单元6031和选择单元6032。其中:
确定单元6031,用于根据第二解码模块602得到的待识别语音中各语音帧的声学识别结果中各词的第二语言得分,确定各第二解码路径的综合得分。
选择单元6032,用于从生成单元6021生成的解码网络对应的第二解码路径中选择综合得分最高的第二解码路径作为待识别语音的语音识别结果。
示例性电子设备
下面,参考图8来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图8图示了根据本公开实施例的电子设备的框图。如图8所示,电子设备包括一个或多个处理器801和存储器802。
处理器801可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器802可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器801可以运行所述程序指令,以实现上文所述的本公开的各个实施例的语音识别方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备还可以包括:输入装置803和输出装置804,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是第一设备或第二设备时,该输入装置803可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号。在该电子设备是单机设备时,该输入装置803可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入设备803还可以包括例如键盘、鼠标等等。
该输出装置804可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备804可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图8中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的语音识别方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的语音识别方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除