口语发音评测方法、装置、设备及存储设备与流程

文档序号:17335262发布日期:2019-04-05 22:24阅读:185来源:国知局
口语发音评测方法、装置、设备及存储设备与流程

本发明涉及语音识别技术领域,具体而言,涉及一种口语发音评测方法、装置、设备及存储介质。



背景技术:

在学习一门语言的过程中,口语发音练习是完全掌握一门语言的必要练习环节。早前,练习者在口语发音练习中,通常利用复读机对口语进行录音,然后再通过复读机播放录音,最后通过练习者本人或他人的听觉,即主观判断来对口语发音进行评测。而当前,语音识别技术被应用至口语发音练习中,提供了一种客观的口语发音评测方法,所述评测方法包括以下步骤:为练习者提供例句,在收到练习者口语录音后,进行语音识别匹配,并计算得到口语发音和模型发音的匹配度,从而为练习者反馈一个口语综合得分,进而从宏观上让练习者客观了解到自己的口语水平。虽然当前的这种评测方法可以从宏观上反应练习者的口语水平,但是其综合得分计算方式缺少侧重点,不能多维度地计算得出练习者的口语水平,因此无法有针对性地反映练习者口语能力,导致练习者不能明确后续改进方向。



技术实现要素:

有鉴于此,本发明实施例提供了一种口语发音评测方法、装置、设备及存储介质,旨在解决现有评测方法在计算练习者口语综合得分时缺少侧重点、导致无法有针对性地反映练习者口语能力的缺点。

为解决上述问题,本发明实施例提供了口语发音评测方法,包括以下步骤:

s101.获取用户的口语语音;

s102.包括以下步骤a、步骤b和步骤c中的至少两步:步骤a,根据所述口语语音中的音素与预存的例句模型中的音素之间的匹配概率,计算反应用户口语准确度的准确度值;步骤b,根据所述口语语音的时长和所述口语语音中音素的数量,计算反应用户口语流利度的流利度值;步骤c,根据所述口语语音中单词的数量和所述例句模型中单词的数量,计算反应用户口语完整度的完整度值;

s103.利用步骤s102中计算得出的至少两种结果值,对用户的口语发音水平进行评测。

本发明实施例还提供了一种装置,包括:

获取模块,用于获取用户输入的口语语音;

以下三种一级计算模块中的至少两种:准确度值计算模块、流利度值计算模块和完整度值计算模块;以及

二级计算模块,用于根据至少两种所述一级计算模块所计算得出的结果,对用户的口语发音水平进行评测;

其中,所述准确度值计算模块用于根据所述口语语音中的音素与预存的例句模型中的音素之间的匹配概率,计算反应用户口语准确度的准确度值;所述流利度值计算模块用于根据所述口语语音的时长和所述口语语音中音素的数量,计算反应用户口语流利度的流利度值;所述完整度值计算模块用于根据所述口语语音中单词的数量和所述例句模型中单词的数量,计算反应用户口语完整度的完整度值。

本发明实施例还提供了一种设备,包括:

一个或多个处理器;以及

一个或多个其中存储有指令的存储器,当所述指令由所述一个或多个处理器执行时,使所述设备实现实施例中任一所述的方法。

本发明实施例还提供了一种存储介质,其中存储有指令,当所述指令由一个或多个处理器执行时,可实现实施例中任一所述的方法。

与现有技术相比,本发明具有以下有益效果:

本发明提供的口语发音评测方法中,首先计算出准确度值、流利度值和完整度值中的至少两种数值,然后根据计算所得数值进行口语发音水平评测计算。其中,准确度值反应了用户口语中每个音素的发音标准程度,流利度值反应了用户口语中对连续音素的发音流利程度,完整度值反应了用户口语中对多个连续单词朗读的连贯程度。由于本发明通过上述三种数值中的至少两种计算评测出最终的口语发音水平,因此最终的口语发音水平至少从两个维度的计算得出,可以更全面地反映用户的口语水平。此外,还可以通过调整各维度的权重,更具正对性地反映用户在某一方面的口语水平,使练习者能明确后续改进方向。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简要介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关附图。

图1示出了某些实施例中提供的口语发音评测方法的流程示意图;

图2示出了某些实施例中提供的s型曲线函数的曲线示意图;

图3示出了某些实施例中提供的加设了跨单词转移路径的状态序列示意图;

图4示出了某些实施例中提供的客户端界面的示意图;

图5示出了某些实施例中提供的装置的结构框图。

图中标号说明:

10-获取模块;21-准确度值计算模块;22-流利度值计算模块;23-完整度值计算模块;30-二级计算模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚完整的描述。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。基于本发明的实施例,本领域技术人员在没有创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

参照图1,提供了一种口语发音评测方法,所述评测方法可应用于客户端,如手机、平板电脑、笔记本电脑、pc机或掌上电脑pda等;所述评测方法也可应用于服务器,如pc机等。当所述评测方法应用于服务器时,服务器接收客户端发送的口语语音,并利用所述评测方法对该段语音进行口语发音水平评测,最后将评测结果反馈给客户端。所述评测方法包括以下步骤:

s101.获取用户的口语语音。

作为示例,当所述评测方法应用于客户端时,客户端获取口语语音的方式可以是直接通过用于的语音输入获得,获得的口语语音数据是原始的、未经处理的语音数据;但不局限于此,客户端也可以通过拷贝、下载等方式获取用户的口语语音数据,获取的语音数据可以是原始的、未经处理的语音数据,也可以是经过预处理后的语音数据,如pcm数据。当所述评测方法应用于服务器时,所述服务器可通过接收客户端发送的tcp报文或udp报文的方式,获取用户的口语语音数据,服务器获取到的语音数据可以是原始的、未经处理的语音数据,也可以是经过客户端预处理的语音数据,如pcm数据。应当理解的,本发明对如何获取到用户的口语语音不做限定,本发明对口语语音的数据格式也不做限定。

作为示例,所述口语语音可以是外语,如英语、日语、法语、德语、西班牙语、阿拉伯语等;所述口语语音也可以是少数名族语言,如藏语、蒙古语、维吾尔语等;所述口语语音还可以是汉语,如普通话、四川话、广东话、山东话等。应当理解的,本发明对口语语音的语种不做限定。相应的,本发明提供的评测方法可用于对外语学习中口语发音水平的评测,也可以用于对少数名族语言学习中口语发音水平的评测,还可以用于对汉语学习或方言学习中口语发音水平的评测。

s102.包括以下步骤a、步骤b和步骤c中的至少两步。

本步骤中,由于通过步骤a、步骤b和/或步骤c的计算,得到至少两种计算结果,此计算结果将参与后续口语发音水平的评测计算。

步骤a,根据所述口语语音中的音素与预存的例句模型中的音素之间的匹配概率,计算反应用户口语准确度的准确度值。

作为示例,本发明可选用现有的任何匹配方法以计算口语语音中音素与例句模型中音素之间的匹配概率。或者,本发明也可选用将来的任何匹配方法以计算口语语音中音素与例句模型中音素之间的匹配概率。应当理解的,本发明对如何计算上述匹配概率不做作限定。

例如,首先对口语语音进行预处理,包括解码、分帧、特征提取等操作。具体的,按照语音格式确定音频解码方法,将完整的语音音频读入内存,并通过选择的解码方法对该单元音频进行解码,得到一段非压缩纯波形pcm数据。对于每一段pcm数据,以帧长20ms,帧移10ms为标准进行分帧操作,以避免在分帧时选择的切点位置存在有效音频,同时确保帧与帧之间的状态变化不会过大。在完成以上操作后,进行每一帧pcm数据的特征提取,为其降维与量化,根据mfcc(mel-frequencycepstralcoefficients:梅尔频率倒谱系数)得到的系数、能量值等确定每一帧的特征向量。

然后,根据词典以及预先训练得到的声学模型和语言模型,对例句进行建模,得到所述预存的例句模型。例句模型具有例句状态序列,能有效反映整个例句的总体状态链接关系(包含状态转移概率)。

最后,根据每一帧的特征向量和例句建模得到的例句状态序列,进行帧与状态的匹配,在穷举出所有可能组合后,结合匹配概率以及状态转移概率,计算每一个组合的综合匹配概率,筛选得到一个最优的匹配状态序列,以反映每一帧对应的状态。根据最优的匹配状态序列和例句模型,得到每一帧与其对应状态的匹配概率,通过加权平均,得到每一音素与其对应音素的匹配概率。

应当理解的,上述提出的匹配方法仅作为若干种匹配方法中的一个示例,并不用于限定本发明。

进一步地,所述步骤a具体可以是:根据所述口语语音中每个音素与所述例句模型中对应音素之间的匹配概率,计算所述口语语音中所有音素的平均匹配概率,以所述平均匹配概率作为所述准确度值。

例如,用户的一句口语语音中包含有13个音素,例句模型中也具有13个相应的音素,这13个音素的匹配概率分别为:0.77、0.79、0.76、0.81、0.80、0.82、0.79、0.83、0.86、0.88、0.91、0.82、0.76;则其平均匹配概率为0.815,相应的,准确度值为0.815。

因为音素是语言中最小单元,用户对每一音素地正确发出,使用户口语发音更标准。因此通过将音素的平均匹配概率作为准确度值,可以很准确、真实地反应用户的口语标准度。

考虑到用户的口语语音与例句模型相比,可能存在漏音素或漏词情况。在此种情况下,可以将所述漏词对应的音素的匹配概率记为0;将所述漏音素的匹配概率记为0。

例如,例句模型中包含有13个音素,而用户的口语语音中出现漏词现象,仅有10个音素,这10个音素加3个漏掉的音素的匹配概率分别为:0.77、0.79、0.76、0.81、0、0、0、0.83、0.86、0.88、0.91、0.82、0.76;则其平均匹配概率为0.63。

作为示例,参照图3,确定口语语音中漏音素的方法可以是:对预存的例句模型的状态序列加设若干条跨音素转移路径,每条跨音素转移路径以上一音素的末状态为起点,以下一音素的首状态为起点,并对每条跨音素转移路径自定义转移概率;然后将所述口语语音与经过加设跨音素转移路径处理后的例句模型进行匹配,筛选出综合匹配概率最大的状态序列,作为匹配状态序列;统计所述匹配状态序列中包含的跨音素转移路径,每条跨音素转移路径对应一个漏音素。

作为示例,参照图3,确定口语语音中漏词的方法与确定漏音素的方法类似,需要对预存的例句模型的状态序列加设若干条跨单词转移路径。具体的,请参阅下文中的步骤s201至步骤s203,为避免重复,此处不再赘述。

应当理解的,上述步骤a的具体过程并不限定本发明。所述步骤a中,也可以通过其他方法计算所述准确度值。例如,可以对每个音素赋予相应的权重,比如可以为元音对应的音素赋予较大的权重,为辅音对应的音素赋予较小的权重,然后计算若干音素的加权平均匹配概率,并以加权平均匹配概率作为所述准确度值。

步骤b,根据所述口语语音的时长和所述口语语音中音素的数量,计算反应用户口语流利度的流利度值。

具体的,考虑到流利度水平很低或很高的用户在所有人群中的比例较少,流利度水平居中的用户在所有人群中的比例较大,为了使流利度水平居中的用户相互之间,得到的流利度值具有明显差异,本发明可选用s型曲线函数(如sigmoid函数),来计算流利度值。参照图2,示出了s型曲线函数的曲线,横坐标为单位时间内发出的平均音素数量speed,纵坐标为流利度值fluency。流利度值fluency的计算方法包括以下步骤:

计算用户在单位时间内发出的平均音素数量speed;

将所述平均音素数量speed带入流利度值fluency计算公式计算得出流利度值fluency;

其中,计算公式中的b和m为常数,m的取值范围介于2~7。

应当理解的,系数b作为权重系数,一般取1;当用户或测评者更注重平均音素数量speed对流利度值的影响时,可以将系数b的值设置为大于1;或者当用户或测评者更轻视平均音素数量speed对流利度值的影响时,可以将系数b的值设置为大于0小于1。

应当理解的,系数m与人群中普遍的每秒平均音素数量有关。例如,人群中普遍的每秒平均音素数量为每秒发出5.5个音素。则可以将m设置为5.5。

例如,系数b取1,系数m取5.5,此时若用户的口语语音中,语音时长为4.2秒,总音素量为32个,则平均音素数量speed为7.6个/秒;将speed带入上述公式,计算出流利度值fluency为0.89。

又例如,系数b取1,系数m取6,此时若用户的口语语音中,语音时长为4.2秒,总音素量为32个,则平均音素数量speed为7.6个/秒;将speed带入上述公式,计算出流利度值fluency为0.83。

本申请发明人经过大量用户阅读数据的统计发现,当用户的口语语音中音素数量或单词数量很少时,用户平均每秒发出的音素数量会小于正常情况下平均每秒发出的音素数量,导致流利度值计算结果偏小。为了对这种计算偏差进行补偿,计算公式中,m的取值根据用户口语语音中音素的数量或单词的数量而确定。具体的,当所述口语语音中音素的数量小于等于第一阈值时,所述m的取值范围介于2~3;当所述口语语音中音素的数量大于所述第一阈值时,所述m的取值范围介于3~7;或者,当所述口语语音中单词的数量小于等于第二阈值时,所述m的取值范围介于2~3;当所述口语语音中单词的数量大于所述第二阈值时,所述m的取值范围介于3~7。

例如,所述第一阈值可取为10。此时,如果口语语音中音素的数量为9(小于等于10)时,m应从[2,3]的范围中取值。比如,m取为2.5,并且b取为1,此时假设用户的口语语音的时长为2.1秒,则平均音素数量speed为4.28个/秒;将speed带入上述公式,计算出流利度值fluency为0.86。应当理解的,本发明对第一阈值的具体取值不做限定。

又例如,所述第二阈值可取为4。此时,如果口语语音中单词的数量为4(小于等于10)时,m应从[2,3]的范围中取值。比如,m取为2.5,并且b取为1,此时假设用户的口语语音的时长为3.6秒,四个单词的音素量总共为15个,则平均音素数量speed为4.17个/秒;将speed带入上述公式,计算出流利度值fluency为0.84。应当理解的,本发明对第二阈值的具体取值不做限定。

应当理解的,以上示出的流利度值计算方法仅为多种流利度值计算方法中的一个示例,上述流利度值计算方法并不限定本发明。例如,可以预先统计多个用户在单位时间内发出的平均音素数量,将统计结果分为若干等级,如分为20个等级,每个等级对应的流利度值分别为0.05、0.10、0.15…0.95、1.00等。假设用户在单位时间内发出的平均音素数量为6.2个,对应20个等级中的第15等级,相应的流利度值为0.80。

步骤c,根据所述口语语音中单词的数量和所述例句模型中单词的数量,计算反应用户口语完整度的完整度值。

具体的,可以用所述口语语音中单词的数量除以所述例句模型中单词的数量,得到一个小于或等于1的数值,以所述数值作为所述完整度值。

例如,用户的口语语音中具有6个单词,而例句模型中具有7个单词,则计算得出的完整度值为0.86。

作为示例,所述口语语音中单词数量的统计方法可应用现有的任一一种统计方法,本发明对此不做限定。本发明给出以下一种具体的方法,以确定口语语音中的单词数量,所述方法包括以下步骤,以下步骤是基于隐马尔可夫模型对口语语音进行识别的:

s201.对预存的例句模型的状态序列加设若干条跨单词转移路径,每条跨单词转移路径以上一单词的末状态为起点,以下一单词的首状态为起点,并对每条跨单词转移路径自定义转移概率。

参照图3,图3中start至s7之间的路径、s6至s13之间的路径、s12至end之间的路径均为所述转移路径。应当理解的,从start至s13之间也可以加设转移路径,图3中未示出。例如,可以将start至s7之间的路径、s6至s13之间的路径、s12至end之间的路径的转移概率均设定为0.135。应当理解的,本发明对转移概率的设置不做限定,实施者可根据自身需求为每条转移路径设定相应的转移概率。

s202.将所述口语语音与经过加设跨单词转移路径处理后的例句模型进行匹配,筛选出综合匹配概率最大的状态序列,作为匹配状态序列。

具体的,所述匹配的具体过程可参照现有的任何一种匹配方法。例如,可参照基于viterbi算法的令牌环传递算法进行匹配,识别出例句模型中的一条最佳路径,即为所述匹配状态序列。识别出的匹配状态序列中包含零条、一条或多条跨单词转移路径。

s203.统计所述匹配状态序列中包含的跨单词转移路径的数量。

例如,匹配状态序列中包含有1条跨单词转移路径。

s204.所述口语语音中单词数量等于例句模型中单词数量减去匹配状态序列中包含的跨单词转移路径的数量。

例如,例句模型中单词数量为7个,匹配状态序列中包含有1条跨单词转移路径,相应的,用户口语语音中的单词数量为6个。

s103.利用步骤s102中计算得出的至少两种结果值,对用户的口语发音水平进行评测。

本发明提供的口语发音评测方法中,首先计算出准确度值、流利度值和完整度值中的至少两种数值,然后根据计算所得数值进行口语发音水平评测计算。其中,准确度值反应了用户口语中每个音素的发音标准程度,流利度值反应了用户口语中对连续音素的发音流利程度,完整度值反应了用户口语中对多个连续单词朗读的连贯程度。由于本发明通过上述三种数值中的至少两种计算评测出最终的口语发音水平,因此最终的口语发音水平至少从两个维度的计算得出,可以更全面地反映用户的口语水平。

具体的,对用户的口语发音水平进行评测的具体方法包括以下8种方法中的至少一种,其中,综合得分为g,准确度值为e,流利度值为f,完整度值为h。

1)标准线性评测方法:g=e×h×100;

例如,用户的准确度值e为0.83,完整度值h为0.95,则综合得分g为78.9分。

2)在标准线性打分方案的基础上,添加流利度指标:

例如,用户的准确度值e为0.83,流利度值f为0.87,完整度值h为0.95,则综合得分g为85.6分。

3)侧重于完整度和准确度的评测方法:

例如,用户的准确度值e为0.83,流利度值f为0.87,完整度值h为0.95,则综合得分g为89.4分。

4)引入sigmoid函数,将打分结果压缩至两端,侧重于区分口语水平处于中间位置的用户:

例如,用户的准确度值e为0.83,流利度值f为0.87,完整度值h为0.95,则综合得分g为85.6分。

5)基于完整度和准确度的非线性评测方法:

例如,用户的准确度值e为0.83,流利度值f为0.87,完整度值h为0.95,则综合得分g为80.1分。

6)基于完整度、流利度和准确度的非线性评测方法:

例如,用户的准确度值e为0.83,流利度值f为0.87,完整度值h为0.95,则综合得分g为76.0分。

7)基于完整度、流利度和准确度的非线性评测方法:

例如,用户的准确度值e为0.83,流利度值f为0.87,完整度值h为0.95,则综合得分g为78.8分。

8)基于完整度、流利度和准确度的非线性评测方法:

例如,用户的准确度值e为0.83,流利度值f为0.87,完整度值h为0.95,则综合得分g为84.2分。

应当理解的,本发明中用户口语发音水平的评测结果并不局限于分数,例如还可以通过等级来反映用户的口语发音水平,如一级、二级、三级等等。当使用分数反映用户的口语发音水平时,也并不局限于百分制。应当理解的,例如还可以利用五分制、十分制或千分制等反映用户的口语发音水平,相应的,将上述各公式中的“100”替换为“5”、“10”或“1000”等,上述替换属于本发明的等同替换,“5”、“10”或“1000”属于“100”的等同技术特征,上述替换均应落入本发明的保护范围。

此外,所述评测方法还可以为用户提供若干选项,使用户有选择性地选择应用哪种方式对自身的口语水平进行评价。例如,所述评测方法应用于客户端,如手机、平板电脑、笔记本或掌上电脑pda等。所述评测方法在步骤s103之前还包括:

s301.在终端的显示器上显示至少两种评测方法的选项。

作为示例,参照图4,提供了客户端的界面示意图。界面中显示了四种选项,分别对应上述标准线性评测方法1)、在标准线性打分方案的基础上,添加流利度指标的评测方法2)、侧重于完整度和准确度的评测方法3)、引入sigmoid函数,将打分结果压缩至两端,侧重于区分口语水平处于中间位置的用户的评测方法4)。

s302.接收用户输入的对所述选项的选择。

作为示例,客户端接收用户输入的方式可以是:通过对用户触控显示器界面的感知、通过对用户输入语音信息的感知,或者通过对用户的鼠标点击的感知。应当理解的,本发明对客户端如何接收到用户输入的选择不做限定。

客户端接收到用户选择后,利用与所述选择相对应的评测方法对用户口语发音水平进行评测,即开始进行步骤s103。

所述评测方法在步骤s103之后还包括:输出用户口语发音水平评测结果。作为示例,客户端可通过文字、图像、动画或语音等方式,输出口语发音水平评测结果。

应当理解的,上述步骤s301和步骤s302均位于步骤s103之前,具体的,可位于步骤s101之前,或者位于步骤s101与步骤s102之间,或者位于步骤s102与步骤s103之间。

参照图5,提供了一种装置,所述装置可应用于客户端,也可以应用于服务器。所述装置包括:

获取模块10,用于获取用户输入的口语语音;

以下三种一级计算模块中的至少两种:准确度值计算模块21、流利度值计算模块22和完整度值计算模块23;以及

二级计算模块30,用于根据至少两种所述一级计算模块所计算得出的结果,对用户的口语发音水平进行评测;

其中,所述准确度值计算模块21用于根据所述口语语音中的音素与预存的例句模型中的音素之间的匹配概率,计算反应用户口语准确度的准确度值;所述流利度值计算模块22用于根据所述口语语音的时长和所述口语语音中音素的数量,计算反应用户口语流利度的流利度值;所述完整度值计算模块23用于根据所述口语语音中单词的数量和所述例句模型中单词的数量,计算反应用户口语完整度的完整度值。

上述各模块相互配合能实现上述各方法实施例中的各个过程,为避免重复,此处不再赘述。

应当理解的,上述各模块,可通过应用程序(即软件)实现,也可以通过硬件(如各种芯片)实现,还可以通过软件和硬件的结合实现。

本发明实施例还提供了一种设备,所述设备包括一个或多个处理器,还包括一个或多个机器可读介质,所述机器可读介质中存储有指令,当所述一个或多个处理器执行所述指令时,使得所述设备可以实现上述各方法实施例中的各个过程,为避免重复,此处不再赘述。

本发明实施例还提供了一个或多个机器可读介质,其中存储有指令,当所述指令由一个或多个处理器执行时,可以实现上述各方法实施例中的各个过程,为避免重复,此处不再赘述。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员,在本发明揭露的技术范围内,可轻易想到变化或替换,都应该涵盖在本发明的保护范围内。

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