本发明涉及发音识别技术、信号处理技术和自然语言处理技术,具体是一种利用计算机系统对英语文本相关的英语口语发音错误检测与质量评分的方法。
背景技术:
根据英语口语发音对应的英语文本是否己知,可以将英语口语发音错误检测与发音质量评分方法分为文本相关和文本无关两大类。其中的文本相关是指在进行英语口语发音错误检测与质量评分时,已知说话人的英语朗读文本,而文本无关表示不知道说话人的英语朗读文本。显然,文本无关的情况比较复杂,需要先对说话人的英语口语发音进行精确的识别,然后将其转换为文本相关的英语口语发音错误检测与质量评分类型。本发明针对的是文本相关的英语口语发音错误检测与质量评分方法。现有的文本相关的英语口语发音错误检测与质量评分方法主要是基于自动发音识别技术,采用后验概率算法或其改进算法得到的音素后验概率值分布不均匀,可操作性差。本发明为了解决上述问题,提供了一种文本相关的英语口语发音错误检测与质量评分方法。
技术实现要素:
本发明的文本相关的英语口语发音错误检测与质量评分方法的总体处理方法如图1所示,其中包括英语口语发音预处理模块、英语口语发音错误检测模块和英语口语发音质量评分模块。
其中的英语口语发音预处理模块的处理方法是:第一,读入一句待测发音,对它们进行预加重、分帧加窗、解码、离散傅里叶变换、梅尔滤波、取对数、离散余弦变换和差分提取;第二,输出待测发音的声学特征,作为该英语口语发音预处理的结果。
其中的英语口语发音错误检测模块的处理方法是:第一,读入待测发音的声学特征,进行发音识别;第二,根据公式计算各发音帧每个音素的发音标准度得分;第三,输出各发音帧每个音素的发音标准度得分,并进行错误判决。
其中的英语口语发音质量评分模块的处理方法是:第一,读入各发音帧每个音素的发音标准度得分和发音识别结果;第二,根据各发音帧每个音素的发音标准度得分计算整个发音的发音标准度得分,并根据识别结果计算语速、段时长和静音时长等评分特征;第三,对整个发音的发音标准度得分、语速、段时长和静音时长等评分特征进行拟合调整和映射评分,输出该句子发音的初始得分;第四,分别建立5类多层感知器神经网络分类器,把调整之后的4个评分特征输入到5类分类器中,计算5类分类器的输出值和该句子发音的最终得分,并输出该句子发音的最终得分和相应评语。
1.本发明方法的基本概念定义如下:
(1)音素
音素是发音的最小单元,一般分为元音和辅音两种。在英语中,一个元音音素可以构成一个音节,也可以由一个元音音素和几个辅音音素结合构成一个音节,而一个或多个音节组成一个英语单词。
(2)隐马尔科夫模型
隐马尔科夫模型根包含一组以一定概率互相转换的状态,在每个状态下会以一定概率观测到某个事件的发生,它用三个概率矩阵集合π、a、b来表示,其定义如下:
π=(πi):表示隐马尔科夫模型初始状态的概率分布,其中π是指初始时刻隐马尔科夫模型处于第一个状态的概率,πi表示初始时刻隐马尔科夫模型处于第i个状态的概率。
a=(aij):表示隐马尔科夫模型的状态转移概率矩阵,其中a是指隐马尔科夫模型的状态转移概率,aij表示从第i个状态转移到第j个状态的概率。
b={bi(γ)}:表示隐马尔科夫模型的状态发射概率矩阵,其中b是指隐马尔科夫模型中某个状态出现了一个可观察状态的概率,γ是指隐马尔科夫模型的输出观测矢量,bi(γ)表示进入第i个状态时产生观察到观测矢量γ的概率。
(3)音素段时长
音素段时长是指发音中音素的持续时间,是衡量说话人的发音是否清晰的一个指标。
(4)静音时长
静音时长是指说话人在发音期间出现的停顿时间,是衡量说话人的发音是否连贯的一个指标。
(5)多层感知器神经网络
多层感知器神经网络模型,是一种前向结构的神经网络,由输入层、隐层(一个或多个)、输出层构成,输入层的每个节点对应于输入向量的每一维,它把每一维信号传递给下一层的每个节点,输出层一般只有一个节点,输入层和输出层之间的每一层都称为隐层。本发明使用的多层感知神经网络只有一个隐层,且隐层共有三个神经元即三个节点。
为了使多层感知器神经网络中的连接权值得到充分的训练,本发明分别建立5类多层感知器神经网络分类器,其中,第一类分类器,其索引为1,对应发音错误单词极多、发音极其不流畅的发音数据;第二类分类器,其索引为2,对应发音错误单词较多、发音期间停顿时间较长的发音数据;第三类分类器,其索引为3,对应发音错误单词较少、发音期间有停顿的发音数据;第四类分类器,其索引为4,对应发音错误单词极少、发音较标准且较流畅的发音数据;第五类分类器,其索引为5,对应不存在发音错误的单词、发音标准且流畅的发音数据。
(6)反向传播计算
反向传播计算是调整神经网络输出层与隐层、各个隐层、隐层与输入层之间的连接权值,并使神经网络在所有训练样本上的预测输出值与期望输出值的均方误差最小化。反向传播计算的具体步骤是:第一,初始化神经网络的输入层、隐层、输出层的权值;第二,计算训练样本在神经网络输出层的输出值,然后计算该输出值与期望值之间的误差,不断调整神经网络输出层与隐层之间的连接权值;第三,把该误差传播到神经网络隐层中的各个节点上,根据该误差调整神经网络各个隐层之间的连接权值;第四,把该误差传播到神经网络隐层中的各个节点上,根据该误差调整神经网络隐层与输入层之间的连接权值;第五,使用所有的训练样本不断调整神经网络输出层与隐层、各个隐层、隐层与输入层之间的连接权值,直到训练样本在神经网络输出层的输出值与期望值之间的误差减小到期望值,神经网络在所有训练样本上的预测输出值与期望输出值的均方误差最小。
2.本发明方法的计算公式定义如下:
(1)似然度的计算公式
在计算公式(1)中,似然度是指模型参数与观测数据之间相似性,t1表示音素的起始时间,t2表示音素的结束时间。
(2)音素发音帧的发音标准度得分的计算公式
在计算公式(2)中,各音素发音帧的发音标准度得分是指识别出的发音帧中当前待测音素的概率值,这个概率值反映了当前待测音素的发音标准程度;观察矢量v是指当前待测音素所对应的发音帧的声学特征;似然度是指当前待测音素所对应的发音帧通过隐马尔科夫模型计算得出的条件概率值,由计算公式(1)计算得出。
(3)句子发音标准度得分的计算公式
在计算公式(3)中,句子发音标准度得分是指当前句子中各个音素发音帧的发音标准度得分的平均值,反映了当前句子的发音标准程度;i=1,2,3,…,n,i是指句子中每个音素对应的序号,n是指发音中的音素总数;句子中各音素发音帧i的发音标准度得分是指当前句子中第i个音素发音帧的发音标准度得分,由计算公式(2)计算得出。
(4)语速的计算公式
在计算公式(4)中,语速是指说话人的发音速度。
(5)音素段时长的计算公式
在计算公式(5)中,音素段时长是指发音中音素的持续时间,是衡量说话人的发音是否清晰的指标;i=1,2,3,…,n,i是指句子中包含的每个音素对应的序号,n是指发音包含的音素总数;exp是指以自然常数e为底的指数函数;语速由计算公式(4)计算得出;待测音素i持续时间是指发音中第i个待测音素的持续时间;待测音素i段时长均值是指发音中第i个待测音素的的段时长均值,它是通过将所有标准发音样本中所有音素持续时间的总和与标准发音样本总数相除得到的;待测音素i段时长方差是指发音中第i个待测音素的段时长方差,它是通过将每个标准发音样本中当前待测音素的持续时间减去其对应的段时长均值的平方和,并将该平方和与标准发音样本总数相除得到。
(6)静音时长的计算公式
在计算公式(6)中,静音时长是指说话人在发音期间出现的停顿时间,是衡量说话人的发音是否连贯的一个指标。
(7)调整后句子发音标准度得分、调整后语速、调整后音素段时长和调整后静音时长的计算公式
在计算公式(7)中,句子发音标准度得分多项式系数、语速多项式系数、音素段时长多项式系数和静音时长多项式系数由计算公式(8)求得;初始句子发音标准度得分通过计算公式(3)计算得到;初始语速通过计算公式(4)计算得到;初始音素段时长通过计算公式(5)计算得到;初始静音时长通过计算公式(6)计算得到。
(8)句子发音标准度得分多项式系数、语速多项式系数、音素段时长多项式系数和静音时长多项式系数的计算公式
在计算公式(8)中,
(9)句子发音初始得分的计算公式
句子发音初始得分
=句子发音标准度得分线性回归系数×调整后句子发音标准度得分+语速线性回归系数
×调整后语速+音素段时长线性回归系数×调整后音素段时长+静音时长线性回归系数
×调整后静音时长(9)
在计算公式(9)中,句子发音标准度得分线性回归系数、语速线性回归系数、音素段时长线性回归系数、静音时长线性回归系数由计算公式(10)求得;调整后句子发音标准度得分、调整后语速、调整后音素段时长和调整后静音时长由计算公式(7)计算得出。
(10)线性回归系数的计算公式
在计算公式(10)中,
(11)隐层节点输出值的计算公式
在计算公式(11)中,exp是高等数学里以自然常数e为底的指数函数;i=1,2,3,4,i是指输入向量的维数,输入向量为调整后的句子发音标准度得分、语速、音素段时长和静音时长,由计算公式(7)计算得出;输入层节点i是指第i个输入层节点,输入层节点i与隐层第一个节点连接权值是由反向传播计算通过训练样本训练得到;。
(12)神经网络分类输出值的计算公式
在计算公式(12)中,exp是高等数学里以自然常数e为底的指数函数;j=1,2,3,j是指隐层节点的序号;隐层节点j是指第j个隐层节点,隐层节点j到输出层各节点连接权值是由反向传播计算通过训练样本训练得到;隐层节点j输出值由计算公式(11)计算得出。
(13)句子发音最终得分的计算公式
句子发音最终得分=3.3×(神经网络分类最大输出值-0.7)+(神经网络分类最优索引-1)(13)
在计算公式(13)中,神经网络分类最大输出值是通过上述计算公式(12)计算得到的神经网络分类输出值中最大的值;神经网络分类最优索引是指输出值最大的神经网络分类的序号。
具体步骤
本发明分析方法的英语口语发音预处理模块、英语口语发音错误检测模块和英语口语发音质量评分模块处理方法的步骤如下所述。
(1)所述的英语口语发音预处理模块处理方法的步骤如下,如图2所示:
p201开始;
p202读入待测发音;
p203对待测发音进行预加重;
p204对待测发音进行分帧加窗;
p205读入待测发音对应的文本;
p206加载发音词典和语法模型;
p207将待测发音对应的文本扩展成识别网络;
p208加载声学模型;
p209对分帧加窗后的待测发音进行搜索解码;
p210获取待测发音对应的音素序列及其时间边界;
p211对各音素边界内的发音帧进行离散傅里叶变换;
p212创建一组梅尔滤波器,使经离散傅里叶变换后输出的频率变为梅尔刻度频率,信号频谱经过梅尔滤波器组后得到对应的梅尔谱;
p213取对数,将梅尔谱转化为对数形式;
p214对梅尔谱做离散余弦变换得到梅尔倒谱系数;
p215对梅尔倒谱系数进行差分提取,得到当前倒谱系数的一阶和二阶差分系数,并将其作为当前发音帧的声学特征向量,从而得到当前发音帧的声学特征,输出待测发音的声学特征;
p216结束;
(2)所述的英语口语发音错误检测模块处理方法的步骤如下,如图3所示:
p301开始;
p302读入待测发音的声学特征;
p303加载经最大似然线性回归自适应和最大后验概率自适应调整后的改进型声学模型、发音词典、语法模型;
p304对待测发音的声学特征进行发音识别;
p305加载经最大似然线性回归自适应的声学模型;
p306根据计算公式(1)(2)计算各音素发音帧的发音标准度得分,输出各音素发音帧的发音标准度得分;
p307判断各音素发音帧的发音标准度得分是否大于系统阈值,若各音素发音帧的发音标准度得分大于系统阈值,转p308操作,否则转p309操作;
p308标记该音素为正确的发音;
p309标记该音素为错误的发音;
p310结束;
(3)所述的英语口语发音质量评分模块处理方法的步骤如下,如图4所示:
p401开始;
p402读入各音素发音帧的发音标准度得分;
p403根据计算公式(3)计算句子发音标准度得分;
p404根据计算公式(4)计算语速;
p405根据计算公式(5)计算音素段时长;
p406根据计算公式(6)计算静音时长;
p407拟合调整句子发音标准度得分、语速、音素段时长、静音时长等评分特征,根据计算公式(7)(8)计算调整后句子发音标准度得分、调整后语速、调整后音素段时长和调整后静音时长;
p408将调整后句子发音标准度得分、调整后语速、调整后音素段时长和调整后静音时长融合,并进行映射变换,根据计算公式(9)(10)计算得到句子发音初始得分,输出初始得分;
p409分别建立5类多层感知器神经网络分类器,并把调整后句子发音标准度得分、调整后语速、调整后音素段时长和调整后静音时长分别输入到5类神经网络分类器中,根据计算公式(11)(12)计算这5类神经网络器的输出值,输出5类神经网络器的输出值;
p410获取5类神经网络器的最大输出值,并将输出值最大的神经网络分类器的序号记为最优索引,输出最大输出值、最优索引;
p411判断最大输出值是否大于0.7,如果最大输出值大于0.7,转p412操作,否则转p413操作;
p412判断初始得分是否小于最优索引减1,如果初始得分小于最优索引减1,转p414操作,否则转p415操作;
p413将初始得分记为句子发音的最终得分;
p414根据计算公式(13)计算句子发音的最终得分;
p415判断初始得分是否大于最优索引,如果初始得分大于最优索引,转p416操作,否则转p413操作;
p416将最优索引记为句子发音的最终得分;
p417得到句子发音的最终得分和相应的评语;
p418结束。
附图说明
图1是本发明方法的总体处理流程图;
图2是本发明方法的英语口语发音预处理模块处理流程图;
图3是本发明方法的英语口语发音错误检测模块处理流程图;
图4是本发明方法的英语口语发音质量评分模块处理流程图。
具体实施方式
本发明的文本相关的英语口语发音错误检测与质量评分方法的具体实施方式包括以下三个步骤。
步骤一:执行“英语口语发音预处理模块”
(1)对待测朗读发音数据进行预处理,其中,待测朗读发音数据包含750个样本,覆盖了不同发音质量水平,样本对应的参考文本如下,由于样本数量较多,下面只列出部分样本对应的参考文本,其余的参考文本用省略号代替:
notatthisparticularcase,tom,apologizedwhittemore.
lord,buti'mgladtoseeyouagain,phil.
willweeverforgetit.
godbless'em,ihopei'llgoonseeingthemforever.
gad,yourlettercamejustintime.
……
i'mplayingasinglehandinwhatlookslikealosinggame.
gregsonshovedbackhischairandrosetohisfeet.
therewasachangenow.
clubsandballsandcitiesgrewtobeonlymemories.
hardlywereourplansmadepublicbeforeweweremetbypowerfulopposition.
通过对待测朗读发音数据进行预处理,得到每个样本中的每帧发音的声学特征序列,如下所示,由于声学特征序列较多,下面只列出第一帧发音的声学特征序列和最后一帧发音的声学特征序列,其余的声学特征序列用省略号代替:
第一帧发音的声学特征序列如下,共39个元素:
其它帧发音的声学特征序列:
...
最后一帧发音的声学特征序列如下,共39个元素:
步骤二:执行“英语口语发音错误检测模块”
英语口语发音错误检测模块是通过输入上述步骤一的待测发音的声学特征,加载经最大似然线性回归自适应和最大后验概率自适应调整后的改进型声学模型、发音词典和语法模型对输入的声学特征进行发音识别,并根据计算公式(1)(2)计算音素发音帧的发音标准度得分如下,由于数值较多,下面只列出第一句发音中的音素及其对应的发音帧的发音标准度得分和最后一句发音中的音素及其对应的发音帧的发音标准度得分,其余的音素及其对应的发音帧的发音标准度得分用省略号代替:
将以上各音素发音帧的发音标准度得分与系统阈值-100000进行比较,若某音素发音帧的发音标准度得分大于系统阈值,则该音素是发音正确的音素,否则为发音错误的音素。故发音错误的音素为:s、l、z、m……
步骤三:执行“英语口语发音质量评分模块”
本实施例中输入一个待测发音文件“样本1”,它的发音内容是“notatthisparticularcase,tom,apologizedwhittemore.”。英语口语发音质量评分模块是通过输入在步骤二中完成的对待测发音的识别结果和各音素发音帧的发音标准度得分,根据计算公式(3)计算出待测发音的句子发音标准度得分为-56103.336,根据计算公式(4)计算得出待测发音的语速为0.007,根据计算公式(5)计算得出待测发音的音素段时长为-30086.701,根据计算公式(6)计算得出待测发音的静音时长为0.9266667。
根据计算公式(7)(8)拟合调整句子发音标准度得分、语速、音素段时长、静音时长这四个评分特征,得到调整后句子发音标准度得分为2.704、调整后语速为3.368、调整后音素段时长为3.305、调整后静音时长为5.0。
根据计算公式(9)(10)计算得到句子发音初始得分为4.61。
将调整后句子发音标准度得分、调整后语速、调整后音素段时长和调整后静音时长分别输入到5类多层感知器神经网络分类器中,先通过计算公式(11)计算神经网络分类器的隐层三个节点输出值,再通过计算公式(12)计算5类神经网络分类器的输出值,共得到5个神经网络分类器的输出值,通过比较可以得到神经网络分类器的最大输出值。
以第一类神经网络分类器为例,根据计算公式(11)计算第一类神经网络分类器的隐层3个节点输出值,如下所示:
根据计算公式(12)计算第一类神经网络分类输出值如下所示:
依次进行计算得出第一类神经网络分类输出值为0.105;第二类神经网络分类输出值为0.193;第三类神经网络分类输出值为0.208;第四类神经网络分类输出值为0.441;第五类神经网络分类输出值为0.398;可以看出:最大输出值为0.441,对应的分类器是第四类多层感知器神经网络分类器,则最优索引为4。
由于0.441小于0.7,因此待测句子发音的最终得分与句子发音的初始得分相同,均为4.61分,相应的评语为:发音错误单词极少,发音较标准,较流畅。