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

一种语音识别方法和装置

文献发布时间:2023-06-19 19:28:50


一种语音识别方法和装置

技术领域

本发明涉及深度学习技术领域,尤其涉及一种语音识别方法和装置。

背景技术

语音识别技术(ASR,即Automatic Speech Recognition)是指通过机器识别将语音信号转变为相应的文本或命令的技术,用于识别语音片段中的词汇内容。

随着深度学习的发展,主流的语音识别方法常常利用端到端神经网络模型,直接输入音频得到输出文本,比如,CTC/Attention网络结构。然而,由于CTC/Attention网络结构的训练样本数据所涵盖的识别场景有限,当待识别的语音片段与训练样本数据的场景差别较大时,CTC/Attention网络结构的识别往往无法取得理想结果,识别到的语义信息有限,导致现有的端到端模型的语音识别准确率较低。

发明内容

有鉴于此,本发明实施例提供一种语音识别方法和装置,能够利用包括声学模块、语言模块和注意力模块的语音识别模型对待识别语音进行识别,以声学模块、语言模块和注意力模块的综合概率之积作为目标函数,由于语言模块可以识别准确的语义信息,因此大大提高了语音识别模型的语音文字信息的识别准确率,而且可以应用于各种识别场景,提升语音识别模型应用的广泛性。

为实现上述目的,根据本发明实施例的一个方面,提供了一种语音识别方法,包括:

接收语音识别请求;其中,所述语音识别请求包括一个或多个待识别语音;

将所述待识别语音输入预训练的语音识别模型,所述语音识别模型包括声学模块、语言模块和注意力模块,所述语音识别模型的目标函数为所述声学模块、所述语言模块和所述注意力模块的概率分布之积;

响应于所述语音识别请求,根据所述语音识别模型的输出,识别一个或多个所述待识别语音的语音文字信息。

可选地,在所述语音识别模型的训练阶段,还包括:

获取多个语音样本;

将所述语音样本作为所述语音识别模型的输入、与所述语音样本对应的样本文字信息作为所述语音识别模型的输出,对所述语音识别模型进行训练;

根据训练结果,确定所述语音识别模型。

可选地,在所述语音识别模型的训练过程中,还包括:

将所述语音样本输入所述语音识别模型的声学模块,确定所述语音样本对应的建模单元的声学概率分布;

引入长度惩罚项,结合所述声学概率分布和所述语言模块确定所述语音样本对应的建模单元的语言概率分布,筛选前N个候选文字序列;其中,N为自然数;

利用所述注意力模块对所述前N个候选文字序列进行分析,确定所述候选文字序列的注意力概率分布;

根据所述建模单元的声学概率分布、语言概率分布和注意力概率分布之积的最大值,确定所述语音识别模型的目标函数。

可选地,所述将所述语音样本输入所述语音识别模型的声学模块,确定所述语音样本对应的建模单元的声学概率分布,包括:

对所述语音样本进行预处理,确定音频特征;

将所述音频特征输入编码器;

利用所述编码器对所述音频特征进行编码,输入所述声学模块,计算所述语音样本对应的建模单元的声学概率分布。

可选地,所述引入长度惩罚项,结合所述声学概率分布和所述语言模块确定所述语音样本对应的建模单元的语言概率分布,筛选前N个候选文字序列,包括:

将所述语音样本对应的建模单元输入所述语言模块;

根据所述语言模块的输出,确定所述语音样本对应的建模单元的语言概率分布;

引入长度惩罚项,根据所述长度惩罚项、所述声学概率分布和所述语言概率分布之积,筛选前N个候选文字序列。

可选地,所述根据所述长度惩罚项、所述声学概率分布和所述语言概率分布之积,筛选前N个候选文字序列,包括:

根据所述长度惩罚项、所述声学概率分布和所述语言概率分布之积,确定第一得分;

针对每一个时间步,选取第一得分排序位于前N位的建模单元,确定与所述建模单元对应的N条候选路径;

将多个时间步中第一得分排序位于前N位的建模单元进行串联,生成与所述N条候选路径对应的N个候选文字序列。

可选地,所述声学模块为CTC模型,所述语言模块为ngram模型,所述注意力模块为attention模型。

根据本发明实施例的再一个方面,提供了一种语音识别装置,包括:

接收模块,用于接收语音识别请求;其中,所述语音识别请求包括一个或多个待识别语音;

输入模块,用于将所述待识别语音输入预训练的语音识别模型,所述语音识别模型包括声学模块、语言模块和注意力模块,所述语音识别模型的目标函数为所述声学模块、所述语言模块和所述注意力模块的概率分布之积;

响应模块,用于响应于所述语音识别请求,根据所述语音识别模型的输出,识别一个或多个所述待识别语音的语音文字信息。

根据本发明实施例的另一个方面,提供了一种语音识别的电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明提供的语音识别方法。

根据本发明实施例的还一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的语音识别方法。

上述发明中的一个实施例具有如下优点或有益效果:因为采用包括声学模块、语言模块和注意力模块的语音识别模型,在模型的编码过程中,利用CTC声学模型确定建模单元的声学概率分布;一编解码过程中利用4gram语言模型识别建模单元的语义信息,确定建模单元的语言概率分布,结合建模单元的声学概率分布和语言概率分布确定前N个候选文字序列;二遍重打分过程中利用Attention注意力模型对前N个候选文字序列进行分析,确定对应的注意力概率分布;将声学概率分布、语言概率分布和注意力概率分布的综合概率之积作为目标函数,确定得分最高的语音文字信息为最终的识别结果的技术手段,所以克服了主流的CTC/Attention网络结构的语音识别方法的训练样本数据所涵盖的识别场景有限,当待识别的语音片段与训练样本数据的场景差别较大时,CTC/Attention网络结构的识别往往无法取得理想结果,识别到的语义信息有限,导致现有的端到端模型的语音识别准确率较低的技术问题,进而达到能够利用包括声学模块、语言模块和注意力模块的语音识别模型对待识别语音进行识别,以声学模块、语言模块和注意力模块的综合概率之积作为目标函数,由于语言模块可以识别准确的语义信息,因此大大提高了语音识别模型的语音文字信息的识别准确率,而且可以应用于各种识别场景,提升语音识别模型应用的广泛性的技术效果。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是根据本发明实施例的语音识别方法的主要流程的示意图;

图2是根据本发明实施例的语音识别模型的确定方法的主要流程的示意图;

图3是根据本发明实施例的语音识别模型的目标函数的确定方法的主要流程的示意图;

图4是根据本发明实施例的语音识别模型的编码方法的主要流程的示意图;

图5是根据本发明实施例的声学概率矩阵的示意图;

图6是根据本发明实施例的候选文字序列的确定方法的主要流程的示意图;

图7是根据本发明实施例的语音识别装置的主要模块的示意图;

图8示出了适于应用于本发明实施例的语音识别方法或语音识别装置的示例性系统架构图;

图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

CTC损失函数:Connectionist Temporal Classification,联结时序分类,用来解决语音识别问题中输入序列和输出序列的对齐问题,特有一个特殊的blank标签

图1是根据本发明实施例的语音识别方法的主要流程的示意图,如图1所示,本发明的语音识别方法包括如下步骤:

随着深度学习的发展,端到端神经网络的语音识别技术已经成为语音识别的主流方法。端到端模型只需利用一个深度学习模型,即可直接一步实现从语音到文本的识别,无需传统语音识别模型的发音词典/词汇表,故而省去了繁杂的对齐、词典制作等流程。作为常见的端到端模型,CTC/Attention网络结构结合了CTC(Connectionist temporalclassification,基于神经网络的时序类分类)与Attention两种机制,先利用CTC确定模型的第一目标函数CTC loss和可能性最高的若干个解码结果,再利用Attention对解码结果进行分析,得到模型的第二目标函数Attention loss,将CTC loss和Attention loss两个目标函数之和的最小值作为CTC/Attention模型的总的目标函数,确定最终的解码结果。

然而,在实际的模型应用过程中,由于待识别语音与训练样本的语言场景(比如,生活场景)相差较大,CTC/Attention只能识别同样训练场景下的语言信息,不同场景(比如,计算机场景)下的解码效果往往不是十分理想,识别效果会骤然变差。

为了弥补CTC模型对语义信息学习的缺憾,通过本发明的语音识别方法,在CTC/Attention中引入利用大量语音样本训练过的4gram语言模型,解码时融入4gram语言模型的模型概率,使得待识别语音的文字信息为CTC、4gram和attention的模型综合概率得分的最优值,可以准确识别各种场景下的语音文字信息,提升识别效果。

步骤S101,接收语音识别请求;其中,所述语音识别请求包括一个或多个待识别语音。

在本发明实施例中,待识别语音可以是语音片段。

步骤S102,将所述待识别语音输入预训练的语音识别模型,所述语音识别模型包括声学模块、语言模块和注意力模块,所述语音识别模型的目标函数为所述声学模块、所述语言模块和所述注意力模块的概率分布之积。

在本发明实施例中,声学模块对应声学模型,语言模块对应语言模型,注意力模块对应注意力模型;其中,声学模型用于根据给定语音片段计算每一时间帧上文字的概率分布,语言模型用于根据给定句子计算其发生概率。比如,声学模型为CTC模型(CTC模型的目标函数为CTC损失函数),语言模型为ngram模型,注意力模型为attention模型。

进一步地,ngram模型可以是利用大数据量的文本样本训练的4gram模型,从而可以提升语音识别模型的语义信息学习效果。比如,现有的声学模型训练样本数据为5万小时的情况下,对应的文本大小仅有几百兆,使得声学模型学习到的语言信息极其有限,本发明利用26千兆的文本样本训练的4gram统计语言模型,以提升语音识别模型的解码效果,由于4gram模型的训练样本基本涵盖了全类型的识别场景,因此,可以提高语音识别模型语义信息的识别准确率,也即,可以大大提升语音识别模型的语音识别准确率。

在本发明实施例中,如图2所示,本发明的语音识别模型的确定方法包括如下步骤:

步骤S201,获取多个语音样本。

在本发明实施例中,语音样本可以是语音片段。

步骤S202,将所述语音样本作为所述语音识别模型的输入、与所述语音样本对应的样本文字信息作为所述语音识别模型的输出,对所述语音识别模型进行训练。

在本发明实施例中,语音识别模型为端到端模型,可以将输入的语音样本直接输出为样本文字信息。

在本发明实施例中,如图3所示,本发明的语音识别模型的目标函数的确定方法包括如下步骤:

步骤S301,将所述语音样本输入所述语音识别模型的声学模块,确定所述语音样本对应的建模单元的声学概率分布。

在本发明实施例中,编码器提取语音样本的样本特征,构建样本特征和建模单元的映射关系,将其输入CTC模型计算得到语音样本对应的建模单元的声学概率分布。

在本发明实施例中,如图4所示,本发明的语音识别模型的编码方法包括如下步骤:

步骤S401,对所述语音样本进行预处理,确定音频特征。

在本发明实施例中,语音样本的预处理可以是对语音片段的音频信号进行处理(比如,切除语音片段首尾端的静音),提取音频信号的频域特征。比如,将音频信号的原始波形经过分帧加窗处理,变为多个小段音频,也即语音帧;再将语音帧经过快速傅立叶变换、梅尔滤波器和取对数计算,确定前80维数据为语音片段的音频特征,亦可称之为80维的Fbank特征。

步骤S402,将所述音频特征输入编码器。

在本发明实施例中,语音识别模型包括编码器和解码器,编码器和解码器可以采用RNN(Recurrent Neural Network,即循环神经网络)、LSTM(Long Short-Term Memory,即长短期记忆网络)、transformer、conformer等网络。建模单元可以是中文的字、词等,用W表示,即W表示词或者字。声学概率也称为声学得分。

在本发明实施例中,比如,将80维的Fbank特征输入语音识别模型的编码器,用于声学模块的训练。

步骤S403,利用所述编码器对所述音频特征进行编码,输入所述声学模块,计算所述语音样本对应的建模单元的声学概率分布。

在本发明实施例中,编码器从音频特征中提取更深层次的样本特征,确定样本特征与建模单元的映射关系,将其输入语音识别模型的声学模块(也即,将其输入语音识别模型的CTC模型),计算语音样本对应的建模单元的声学概率分布。声学概率分布也称为声学概率矩阵,如图5所示,即p

针对语音样本的每一个时间步,确定每一个文字在该时间步上出现的声学概率。

在本发明实施例中,通过本发明的语音识别模型的编码方法,能够确定语音样本对应的建模单元的声学概率分布,以便后续解码过程中能基于声学概率分布获得样本文字信息的最优解,提高语音样本的识别效果。

步骤S302,引入长度惩罚项,结合所述声学概率分布和所述语言模块确定所述语音样本对应的建模单元的语言概率分布,筛选前N个候选文字序列;其中,N为自然数。

在本发明实施例中,解码器的解码过程包括一编解码和二遍重打分两部分,一编解码由解码器利用语音模块确定语音样本对应的建模单元的语言概率分布,根据语音样本对应的各个建模单元的长度惩罚项、声学概率分布和语言概率分布三者之积,确定可能性最高的,也即,筛选排序位于前N位的N个候选文字序列。

在本发明实施例中,如图6所示,本发明的候选文字序列的确定方法包括如下步骤:

步骤S601,将所述语音样本对应的建模单元输入所述语言模块。

在本发明实施例中,一遍解码的过程中,解码器将语音样本对应的建模单元输入4gram语言模型以确定语音样本对应的建模单元的语言概率分布。

步骤S602,根据所述语言模块的输出,确定所述语音样本对应的建模单元的语言概率分布。

在本发明实施例中,一遍解码的过程中,解码器根据4gram语言模型的输出确定语音样本对应的建模单元的语言概率分布,即p

进一步地,系数α的初始值可以假定,可以在语音识别模型的迭代训练过程中,不断调整α的值,直至确定α的最优解。

步骤S603,引入长度惩罚项,根据所述长度惩罚项、所述声学概率分布和所述语言概率分布之积,筛选前N个候选文字序列。

在本发明实施例中,一遍解码的过程中,引入长度惩罚项|leng(W)|

进一步地,系数β的初始值可以假定,可以在语音识别模型的迭代训练过程中,不断调整β的值,直至确定β的最优解。

更进一步地,系数α和系数β之和为1,迭代初始时刻可以假定其中任一系数的值,迭代结束后确定系数α和系数β的最优解即可。

步骤S6031,根据所述长度惩罚项、所述声学概率分布和所述语言概率分布之积,确定第一得分。

在本发明实施例中,根据第一得分进行排序,筛选排序位于前N位的建模单元组成的前N个候选文字序列。其中,第一得分Score

Score

步骤S6032,针对每一个时间步,选取第一得分排序位于前N位的建模单元,确定与所述建模单元对应的N条候选路径。

在本发明实施例中,解码器利用波束搜索的方法,遍历每一个时间步的建模单元的第一得分,选取第一得分排序位于前N位的建模单元,构建N条候选路径;其中,N的值可以根据语音识别模型的精度要求进行选择性设置。具体地:

针对第一个时间步,选取第一得分排序位于前N位的建模单元,分别为每一个建模单元构建一条候选路径,相应地,候选路径的数量为N条。

步骤S6033,将多个时间步中第一得分排序位于前N位的建模单元进行串联,生成与所述N条候选路径对应的N个候选文字序列。

在本发明实施例中,解码器将全部时间步的第一得分排序前N位的建模单元串联为对应的N条候选路径的N个候选文字序列。具体地:

针对第二个时间步,选取第一得分排序位于前N位的建模单元,分别将第二个时间步的前N位建模单元按照与第一个时间步的前N位建模单元相同的顺序,添加至对应的候选路径,此时,每一条候选路径包括两个第一得分排序位置相同的建模单元,即,第一条候选路径包括第一个时间步第一得分排序第一的建模单元和第二个时间步第一得分排序第一的建模单元,第二条候选路径包括第一个时间步第一得分排序第二的建模单元和第二个时间步第一得分排序第二的建模单元,……,第N条候选路径包括第一个时间步第一得分排序第N的建模单元和第二个时间步第一得分排序第N的建模单元。

以此类推,针对最后一个时间步,选取第一得分排序位于前N位的建模单元,分别将最后一个时间步的前N位建模单元按照与第一/二/……个时间步的前N位建模单元相同的顺序,添加至对应的候选路径,此时,每一条候选路径包括N个第一得分排序位置相同的建模单元,即,第一条候选路径包括第一个时间步第一得分排序第一的建模单元、第二个时间步第一得分排序第一的建模单元、……和最后一个时间步第一得分排序第一的建模单元,第二条候选路径包括第一个时间步第一得分排序第二的建模单元、第二个时间步第一得分排序第二的建模单元、……和最后一个时间步第一得分排序第二的建模单元,……,第N条候选路径包括第一个时间步第一得分排序第N的建模单元、第二个时间步第一得分排序第N的建模单元、……和最后一个时间步第一得分排序第N的建模单元。

在本发明实施例中,将每一条候选路径包括的与时间步的数量对应的建模单元组合起来生成候选文字序列,相应地,候选文字序列的数量为N个。

在本发明实施例中,通过本发明第一个实施例的语音识别模型的解码方法,能够利用语言模型获得的语义信息获得更好的前N个候选结果,一遍解码的过程中,在每个时间步上,除了将建模单元的声学概率累积到候选路径之外,还增加了语言模型的语言概率,两者之积的第一得分共同决定每个时间步的解码结果,使得前N个候选文字序列为深度融合语义信息(也即外部的语言信息)后的更加准确的候选结果,提升一遍解码的解码效果,从而在后续的二遍重打分过程中,注意力模块可以在最优的N个候选文字序列中确定目标文字序列,得到最准确的语音识别结果提高语音识别的准确率。

步骤S303,利用所述注意力模块对所述前N个候选文字序列进行重分析,确定所述候选文字序列的注意力概率分布。

在本发明实施例中,二遍重打分由解码器利用注意力模块确定语音样本对应的建模单元的注意力概率分布,根据语音样本对应的各个建模单元的注意力概率分布、声学概率分布和语言概率分布三者之积的最大值,确定目标文字序列为最终的识别结果,也即,样本文字信息。

在本发明实施例中,二遍重打分的过程中,解码器将前N个候选文字序列输入attention网络,根据attention网络的输出,确定候选文字序列的注意力概率分布,即p

针对候选文字序列的每一个时间步,确定每一个文字在该时间步上出现的注意力概率。

步骤S304,根据所述建模单元的声学概率分布、语言概率分布和注意力概率分布之积的最大值,确定所述语音识别模型的目标函数。

在本发明实施例中,解码器将CTC网络输出的声学概率分布、4grma网络输出的语言概率分布与attention网络输出的注意力概率分布三者综合,确定第二得分,根据第二得分的排序结果,确定分数最高的候选文字序列为目标文字序列,即最后的识别结果。

进一步地,解码器根据CTC网络输出的声学概率分布、4grma网络输出的语言概率分布与attention网络输出的注意力概率分布之积,确定第二得分Score

Score

在本发明实施例中,通过本发明的语音识别模型的目标函数的确定方法,能够将ngram语言模型的得分计入目标函数,使得目标函数为CTC模型、4grma模型与attention模型的概率之积的最大值,在语音识别中融入语义信息,大大地提高了语音识别的准确率。

步骤S203,根据训练结果,确定所述语音识别模型。

在本发明实施例中,通过调整语音识别模型的参数,不断迭代训练语音识别模型,可以将训练好的语音识别模型应用于各种场景下的语音识别,由于本发明的语音识别模型解码过程中融入了4gram语言模型的语音信息,利用ngram与attention结合进行解码优化,相较于现有的语音识别模型的识别方法,在多个公开的测试语音样本上识别的字错率大大降低,也即,测试语音样本的语音识别的准确率得到了明显提升,本申请的识别方法和现有的识别方法的对比如下表所示:

在本发明实施例中,通过本发明的语音识别模型的确定方法,能够对包括声学模块、语言模块和注意力模块的语音识别模型进行训练,以三者的综合概率之积的最大值为目标函数,由于融入了语言模块,使得语音识别模型的准确率大大提升。

步骤S103,响应于所述语音识别请求,根据所述语音识别模型的输出,识别一个或多个所述待识别语音的语音文字信息。

在本发明实施例中,根据语音识别模型的输出,确定待识别语音对应的语音文字信息以响应语音识别请求。由于本发明的语音识别模型融入了语言模型,可以实现各种场景下的待识别语音的准确识别,获得对应的语音文字信息。

在本发明实施例中,通过接收语音识别请求;其中,所述语音识别请求包括一个或多个待识别语音;将所述待识别语音输入预训练的语音识别模型,所述语音识别模型包括声学模块、语言模块和注意力模块,所述语音识别模型的目标函数为所述声学模块、所述语言模块和所述注意力模块的概率分布之积;响应于所述语音识别请求,根据所述语音识别模型的输出,识别一个或多个所述待识别语音的语音文字信息等步骤,能够利用包括声学模块、语言模块和注意力模块的语音识别模型对待识别语音进行识别,以声学模块、语言模块和注意力模块的综合概率之积作为目标函数,由于语言模块可以识别准确的语义信息,因此大大提高了语音识别模型的语音文字信息的识别准确率,而且可以应用于各种识别场景,提升语音识别模型应用的广泛性。

图7是根据本发明实施例的语音识别装置的主要模块的示意图,如图7所示,本发明的语音识别装置700包括:

接收模块701,用于接收语音识别请求;其中,所述语音识别请求包括一个或多个待识别语音。

在本发明实施例中,所述接收模块701用于接收语音识别请求包括的一个或多个待识别语音,待识别语音可以是语音片段。

输入模块702,用于将所述待识别语音输入预训练的语音识别模型,所述语音识别模型包括声学模块、语言模块和注意力模块,所述语音识别模型的目标函数为所述声学模块、所述语言模块和所述注意力模块的概率分布之积。

在本发明实施例中,所述输入模块702用于将待识别语音输入预训练的语音识别模型。在语音识别模型的训练过程中,利用声学模块确定与语音样本对应的建模单元的声学概率分布、语言模块确定与语音样本对应的建模单元的语言概率分布,结合声学概率分布和语言概率分布确定前N个候选文字序列,输入注意力模块确定与语音样本对应的建模单元的注意力概率分布,根据声学概率分布、语言概率分布和注意力概率分布之积的最大值,确定目标文字序列作为最终的识别结果。

响应模块703,用于响应于所述语音识别请求,根据所述语音识别模型的输出,识别一个或多个所述待识别语音的语音文字信息。

在本发明实施例中,所述响应模块703根据语音识别模型的输出,确定待识别语音对应的语音文字信息以响应语音识别请求。由于本发明的语音识别模型融入了语言模型,可以实现各种场景下的待识别语音的准确识别,获得对应的语音文字信息。

在本发明实施例中,通过接收模块、输入模块和响应模块等模块,能够利用包括声学模块、语言模块和注意力模块的语音识别模型对待识别语音进行识别,以声学模块、语言模块和注意力模块的综合概率之积作为目标函数,由于语言模块可以识别准确的语义信息,因此大大提高了语音识别模型的语音文字信息的识别准确率,而且可以应用于各种识别场景,提升语音识别模型应用的广泛性。

图8示出了适于应用于本发明实施例的语音识别方法或语音识别装置的示例性系统架构图,如图8所示,本发明实施例的语音识别方法或语音识别装置的示例性系统架构包括:

如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器105之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如语音识别类应用、购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的语音识别类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的语音识别请求等数据进行分析等处理,并将处理结果(例如待识别语音的语音文字信息)反馈给终端设备801、802、803。

需要说明的是,本发明实施例所提供的语音识别方法一般由服务器805执行,相应地,语音识别装置一般设置于服务器805中。

应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图,如图9所示,本发明实施例的终端设备或服务器的计算机系统900包括:

中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM903中,还存储有系统900操作所需的各种程序和数据。CPU901、ROM902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。

以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、输入模块和响应模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,响应模块还可以被描述为“响应于所述语音识别请求,根据所述语音识别模型的输出,识别一个或多个所述待识别语音的语音文字信息的模块”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收语音识别请求;其中,所述语音识别请求包括一个或多个待识别语音;将所述待识别语音输入预训练的语音识别模型,所述语音识别模型包括声学模块、语言模块和注意力模块,所述语音识别模型的目标函数为所述声学模块、所述语言模块和所述注意力模块的概率分布之积;响应于所述语音识别请求,根据所述语音识别模型的输出,识别一个或多个所述待识别语音的语音文字信息。

根据本发明实施例的技术方案,为了弥补CTC模型对语义信息学习的缺憾,在CTC/Attention的语音识别框架下,将外部的语言模型融入解码过程,将外部的语言模型与attention模型结合充分利用各个模型的特点,优化识别结果。

根据本发明实施例的技术方案,引入外部的ngram语言模型,在一遍解码时可以利用ngram语言模型的语音语义信息获得更好的候选结果;在二遍重打分时将ngram语言模型得分与CTC/Attention网络得分相结合,以确定最优的识别结果。其中,ngram语言模型还可以替换为其它语言模型。

根据本发明实施例的技术方案,能够利用包括声学模块、语言模块和注意力模块的语音识别模型对待识别语音进行识别,以声学模块、语言模块和注意力模块的综合概率分布之积作为目标函数,由于语言模块可以识别准确的语义信息,因此大大提高了语音识别模型的语音文字信息的识别准确率,而且可以应用于各种识别场景,提升语音识别模型应用的广泛性。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

技术分类

06120115921132