本发明涉及发音评测领域,特别涉及一种基于深度神经网络后验概率算法的口语发音评测方法。
背景技术:
常用的语音评测技术,比如用于英语口语教学中的语音评测,一般都是采用智能打分技术对学习者的口语进行评测,而目前智能打分技术主要还是基于GOP(Goodness Of Pronunciation)方法。GOP方法依赖于两个过程,一个是强制对齐(Forced Alignment,简称FA),一个是自由音素(Free Phoneme,简称FP)解码,其中FA就是基于声学模型和参考文本(即需要学习者跟读的文本)把每个单词的时间边界找到,同时得到每个单词的似然度(Likelihood);而FP解码是用同样的音频,但是其解码的单位是音素级别,每个音素可以跟任何其他音素,在最理想的情况下,即声学模型足够好,音素识别率100%准确的情况下,对于那些读的特别好的音频,FP解码出来的音素序列和参考文本扩展出来的音素序列几乎一致,而对于那些读的特别差的音频,FP解码出来的音素序列和参考文本扩展出来的音素序列几乎完全不同。一般来说,可以将FA和FP解码两个过程最终得到的两个似然度之间的差别作为发音好坏的指标,其中差别越小说明发音越好,反之说明发音越差。但是在通常情况下,声学模型对音素的识别率是比较低的,因此FP解码所得到的似然度的准确率也比较低,这样就会导致评分的结果也不够准确。
技术实现要素:
为解决上述问题,本发明提供了一种基于深度神经网络后验概率算法的口语发音评测方法。
根据本发明的一个方面,提供了一种基于深度神经网络后验概率算法的口语发音评测方法,包括以下步骤:
a)从语音中选取一定数量的音频,其中每个音频的单词数量均在一定的范围内;
b)计算各音频中的每个单词的音素的平均似然度;
c)计算各音频中的每个单词的音素的平均EGOP;
d)计算各音频中的每个单词的音素的平均时长概率;
e)分别将各音频中的每个单词的音素的平均似然度、音素的平均EGOP和音素的平均时长概率作为输入项输入到一个人工神经网络打分模型,并输出单词的分数。
本发明中的基于深度神经网络后验概率算法的口语发音评测方法从声学模型角度出发,利用LSTM建模提升音素识别率,还将FA的似然度和所有相近的音素似然度作对比,将GOP方法扩展为EGOP方法,并采用人工神经网络打分模型进行打分,从而得到准确的语音评测结果。
在一些实施方式中,选取音频的数量不超过10000条,每个音频的单词数量范围为1-20个。由此,能够设置合适的的音频数量和长度,为打分工作选取合适的样本。
在一些实施方式中,音素的平均似然度的计算方法为:计算单词中的各个音素的似然度,并取各个似然度的平均值为音素的平均似然度。由此,能够计算出音素的平均似然度。
在一些实施方式中,音素的平均EGOP的计算方法为:计算单词中的各个音素的似然度和FA似然度,将两者的差设为音素的似然差,并取各个单词的音素的似然差的总和为音素的平均EGOP。由此,能够计算出音素的平均EGOP。
在一些实施方式中,音素的平均时长概率的计算方法为:计算单词中的各个音素的均值和方差,使每个音素均得到一个概率分布,则取任意一个时长信息在各个音素下的概率的平均值为音素的平均时长概率,其中该概率分布为高斯分布。由此,能够计算出音素的平均时长概率。
在一些实施方式中,还包括以下步骤:f)训练多个人工神经网络打分模型,并分别对每条音频进行打分。打分的精确度到单词,并取各人工神经网络打分模型的打分的平均分作为单词的最终分数。由此,能够通过两次打分对音频及其各单词的打分结果进行进一步的优化。
在一些实施方式中,还包括以下步骤:g)根据各单词的分数计算出音频的分数。由此,可根据在需要的情况下,将各单词的最终分数通过选择合适的计算方式进行计算,从而得到整个音频的分数。
附图说明
图1为本发明一实施方式的基于深度神经网络后验概率算法的口语发音评测方法的人工神经网络打分模型的结构图
图2为图1所示基于深度神经网络后验概率算法的口语发音评测方法的声学模型的LSTM的cell结构示意图。
具体实施方式
下面结合附图对本发明作进一步详细的说明。
在使用本发明中的基于深度神经网络后验概率算法的口语发音评测方法时,首先从需要进行评测的一段或多段相关的语音中选取一定数量的音频,其中音频的数量优选为不超过10000条,而每个音频的单词数量均限制在一定的范围内,优选为1-20个,其中各单词又含有多个音素。
假设单词W含有k个音素,设为{P1,P2,…Pk},其中各音素的似然度设为loglik(Pi)。传统的GOP(Goodness Of Pronunciation)方法用于衡量发音的特征公式为loglik(numerator)-loglik(denominator),即FA过程过程得到的FA的平均似然度与FP解码过程过程得到的FP的平均似然度之差,其中,loglik(numerator)为FA的平均似然度,loglik(denominator)为FP的平均似然度,而计算平均值所用的时间边界为FA得到的时间边界。
图1示意性地显示了根据本发明的一种实施方式的基于深度神经网络后验概率算法的口语发音评测方法的人工神经网络打分模型的结构。如图1所示,该结构中,需要计算出每个单词的音素的平均似然度(avg loglik)、音素的平均EGOP(avg egop)和音素的平均时长概率(avg durationprob),并将这三项作为输入项输入到人工神经网络打分模型,得到对单词的打分,从而能够进一步计算出对音频乃至对整个语音的打分。
音素的平均似然度的计算方法为:计算单词中的各个音素的似然度,并取各个似然度的平均值为音素的平均似然度。例如:对于含有k个音素{P1,P2,…Pk}的单词W,其中各音素的似然度为loglik(Pi),则音素的平均似然度为loglik(W)=Σk i=1loglik(Pi)/k。
而音素的平均EGOP的计算方法为:计算单词中的各个音素的似然度和FA似然度,取将两者的差并设为各个音素的似然差,并取各个音素的似然差的总和为音素的平均EGOP。例如:对于含有k个音素{P1,P2,…Pk}的单词W,其中各音素的似然度为loglik(Pi),而各音素的FA似然度为loglik(Pj),则各个音素的似然差为diffloglik(Pj i),而音素的平均EGOP为egop(Pi)=Σkj=1diffloglik(Pj i)/k。该方法是在传统的GOP中计算似然差的方法上进行了改进,故称为EGOP(Extended GOP)。
音素的平均时长概率,也可称为音素的时长标准差,其计算方法为:每个音素在使用声学模型进行识别时均可计算出一个均值和方差,从而使每个音素均得到一个概率分布,该概率分布优选为高斯分布;则对于任意一个时长信息,都可以计算出其在该音素下的概率,而音素的平均时长概率即为各时长信息在各音素下的概率的平均值。例如:对于含有k个音素{P1,P2,…Pk}的单词W,其中任意一个时长信息在各音素下的概率为durlik(Pi),则音素的平均时长概率为durlik(W)=Σk i=1durlik(Pi)/k。
在计算出音素的平均似然度、音素的平均EGOP和音素的平均时长概率后,将这三项作为输入项输入到人工神经网络打分模型中,而人工神经网络打分模型的输出就是单词的分数,其中,训练人工神经网络打分模型时使用了BP算法,并采用MSE作为损失函数,将机器预测分数和人工分数之间的差异作为误差函数。
图2显示了图1中的深度神经网络后验概率算法的口语发音评测方法的声学模型的LSTM的cell结构。如图2所示,LSTM(Long Short-Term Memory)是循环神经网络的一种,它的节点是一种特殊的cell结构,核心的cell单元通过权重矩阵与输入门(input gate)、输出门(output gate)以及遗忘门(forget gate)相连接,可以选择性的保留信息或者遗忘信息,并使信息可以沿着中心的cell一直传递下去。在训练过程中,音频特征采用的是40维MFCC,左右各扩5帧,一共440维。首先训练高斯混合模型(GMM)并使用其做FA切分得到每一帧对应的概率密度函数(Probability Density Function)id,然后,则以这些概率密度函数id作为LSTM的输出标签训练模型。
本发明中的声学模型采用的是两层LSTM建模,其中每层LSTM的节点个数为512。该声学模型能够有效提升音素识别率,使音素级别的识别率比传统DNN模型相对提升30%左右。
此外,为了减小打分的误差,提高评测的准确性,还可以训练多个人工神经网络打分模型,并使用这些模型分别对每条音频进行打分,一般情况下训练两个模型即可。打分的精确度到单词,并取各人工神经网络打分模型的打分的平均分作为单词的最终分数。然后,在需要的情况下,选取合适的算法,根据各单词的最终分数计算出音频的分数,以及进一步地,根据各音频的分数计算出整个语音的分数。
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。