一种基于支持向量机进行发音错误检测的方法

文档序号:2837334阅读:231来源:国知局
专利名称:一种基于支持向量机进行发音错误检测的方法
技术领域
本发明属于自动语音识别在发音检错上的应用,具体涉及基于自动语音识别 技术,利用支持向量机进行发音错误检测的方法。
技术背景基于语音自动识别技术对发音进行错误检测的方法,现有技术主要依赖于后 验概率,使用后验概率作为发音错误度量有两个缺陷。第一、后验概率出自语音 识别器,由于人工标注错误数据太过稀少,使用后验概率很难根据发音错误标注 数据反馈的更新识别器模型参数,因此现有的方法均没有根据人工发音错误标注 数据更新识别器模型参数。第二、后验概率方法可调整参数太少,只能调整检错 门限,无法充分运用人工标注发音错误信息,人工标注数据增多并不能带来性能 提升。 发明内容针对现有技术利用后验概率进行发音错误检测的缺陷,本发明提出了能有效 解决人工标注稀疏问题,充分运用人工标注发音错误信息,从而保证了训练得到 的检错模型可以较好针对不同发音人,不同发音风格进行错误检测的一种利用支 持向量机进行发音错误检测的方法。本发明是通过以下技术方案实现的 一种基于支持向量机进行发音错误检测的方法,该方法用典型错误支持向量 机检测方法进行发音错误的检测,所述的典型错误支持向量机检测方法包括以下 步骤语音识别系统的搭建、发音错误检测特征提取、获取发音错误检测模型训 练目标数据、训练发音错误支持向量机检测模型和发音错误的检测。一种基于支持向量机进行发音错误检测的方法,所述语音识别系统的搭建其 步骤如下(1) 预先收集和录制标准的发音语料,并保存为识别器训练语音文件;(2) 针对收集的标准语料进行拼音或音标的标注;(3) 模型训练根据收集的标准语料训练音素级语音识别器模型;(4)将语音识别器保存到计算机辅助语言学习系统库中。一种利用支持向量机进行发音错误检测的方法,所述发音错误检测特征提 取,其步骤为首先利用被评测语料的文本,对发音进行自动切分和计算目标文本的对数似然度,记为/汰^7^0^,然后,在切分得到的音素边界上,计算此音段对识别器内所有其它模型的对数似然度,这是一个矢量,记为 (/zUzTjoo^/^//^^.."//^^'/^"", 然后,禾U用/汰eW o《进行规整发音错误检测特征提取。一种利用支持向量机进行发音错误检测的方法,所述获取发音错误检测模型 训练目标数据,其步骤如下(1) 收集真实发音人语料,录制多发音人数据;(2) 根据收集的发音人真实数据,以及发音文本,使用发音评测专家对数据进 行标注,得到发音错误标注数据,以此作为发音错误检测模型训练数据。一种利用支持向量机进行发音错误检测的方法,所述训练发音错误支持向量 机检测模型,其步骤如下(1) 根据发音错误特征提取模块得到发音错误检测特征数据,根据专家标注模 块得到目标数据;(2) 使用支持向量机训练工具,使用所有样本的特征文件和目标结果训练发音 检错支持向量机模型;(3) 在专家标注数据上,在支持向量机输出得分的基础上,设置发音错误检测 门限,从而达到检出率和误检率的平衡。一种利用支持向量机进行发音错误检测的方法,所述发音错误检测步骤如下(1) 利用文本信息对发音文件进行切分和计算似然度,然后按照特征提取模块 的方法计算特征文件,记为/^/we,^;(2) 利用前面计算得到的特征々W"/^,,运用支持向量机测试工具进行支持向量机输出一种利用支持向量机进行发音错误检测的方法,所述收集的标准语料是利用 HTK训练基于HMM的音素级语音识别器模型。一种利用支持向量机进行发音错误检测的方法,所述计算此音段对识别器内 所有其它模型的对数似然度时,对于中文,声母和韵母分开,声母只计算所有声 母,韵母只计算所有韵母;对于英文,元音和辅音分开,元音只计算所有元音, 辅音只计算所有辅音。一种利用支持向量机进行发音错误检测的方法,该方法还包括有异常错误门 限检测方法,异常错误门限检测方法包括有以下步骤(1) 训练异常发音错误检测器,其步骤如下-1) 利用特征提取模块方法得到异常发音错误特征/Mft^^力^。,,这个特征就是支持向量机特征各维的最大值,这里采用目标数据模块中的伪造数据方法来生成 目标数据;2) 对每种音素直接设置一个门限来完成错误检测,以此定义异常发音错误;3) 在伪造目标错误数据上,训练门限,从而满足检出率和误检率的平衡,以此(2) 设置发音错误检测门限;进行异常错误判决首先计算得到的异常错误检测模块特征/ ^/^ —,£a,,这个特征就是支持向量机特征各维的最大值,把这个特征跟训练时确定的异常错误检 测门限进行比较,如果/e她^^—大于门限,则认为发生异常发音错误。一种利用支持向量机进行发音错误检测的方法,该方法还包括有异常混淆错 误支持向量机检测方法,异常混淆错误支持向量机检测方法包括有以下步骤(1) 定义每个音素的易混淆错误对首先,使用异常错误门限检测方法测试每 个音素对的性能,得到每个音素和所有其它音素发生错误时的检测性能,误检率 固定在0. 05时,检出率低于门限0. 95的认为是易混淆错误对;(2) 生成训练特征文件和目标数据按照易混淆错误对定义,取某音素的所有 发音正确的数据作为正确样本,这些数据的支持向量机特征直接作为训练数据特 征,取所有某音素的易混淆集合里面的音素的发音正确样本为某音素的错误样 本,训练特征文件,目标数据为所有某音素的样本认为是正确样本,所有其它音 素样本认为是错误样本;(3) 训练支持向量机模型使用支持向量机训练工具,使用所有样本的特征文 件和目标结果训练发音检错支持向量机模型;(4) 设置发音错误检测门限;进行异常易混淆错误判决利用前面计算得到的特征/e"^^w,运用支持向量机测试工具进行支持向量机输出结果计算,把计算结果跟训练异常易混淆发音错 误支持向量机模型时确定的检错门限进行比较,如果支持向量机结果大于门限, 则认为发生异常易混淆发音错误。一种利用支持向量机进行发音错误检测的方法,所述的训练特征文件以某音素正确样本作为其它音素的错误样本用下式计算—>0她< ,知ft/《—加加《,...,加fwre- —加/w《 )本发明提出运用支持向量机(SVM)方法来进行检错,其输入特征是基于语 音识别器的多维对数似然比,其可调整参数为支持向量机分类器权重。其优点在 于l、由于可调整参数相比于语音识别器大大减少(从几十万个参数减少到几百 个参数),从而解决了人工标注稀疏问题。2、由于支持向量机分类器根据人工标 注数据训练,从而充分运用了人工标注发音错误信息。且人工标注数据越多,分 类器性能越好。3、支持向量机方法是90年代的重大突破,它从理论上保证了分 类器在不可见数据上的良好推广性,本方法使用SVM进行检错,从而保证了训练 得到的检错模型可以较好的针对不同发音人,不同发音风格进行错误检测。典型错误由于引入了支持向量机,从而有效的运用了人工标注数据信息,从 而对于整体发音检错性能提升较大。在我们的一个321人的普通话水平测试数据 库上,其在不同的检出率和虚警率的指标下,对于单音节字,其性能和传统做法 类似。对于双音节词和连续语流,支持向量机检错均比传统方法取得了较大的进 步。对于异常数据,由于没有正常发音错误数据进行测试。因此,我们从理论和 实际上进行分析如下首先,引入了其它音素的正确样本进行训练,从而解决了 异常错误训练中最缺少的目标样本问题。传统的策略是在正常发音错误上训练, 这样跟异常错误检测这个目标偏离很远。因此,异常错误目标数据选择策略保证 了我们的策略的成功。其次,针对声学上混淆的错误对,我们引入支持向量机进行分类检错,从而有效的弥补了传统策略在声学混淆时性能的急剧下降。从上面 两个方面分析我们可以看到,采用我们的异常错误门限检错策略和异常错误混淆 对支持向量机检错策略能够有效地针对异常错误进行检测。


图1为本发明发音错误检测流程框图。图2为本发明语音识别系统搭建流程框图。图3为本发明发音错误检测特征提取流程框图。图4为本发明典型发音错误人工标注数据获取流程框图。图5为本发明异常发音错误伪造数据获取流程框图。图6为本发明典型发音错误支持向量机模型训练和门限设定流程框图。
具体实施方式
实施例l参加附图1 6所示。利用支持向量机进行发音错误检测的方法具体实施步骤为1、 语音识别系统的搭建,其步骤如下(1) 收集训练识别器语音根据语言学习的应用需要,预先收集或录制有针对 性的标准的发音语料,并保存为识别器训练语音文件,比如针对汉语普通话水平 测试就录制标准普通话发音人的普通话水平测试语料;(2) 数据标注针对收集的标准语料进行拼音标注,使得收集的语料对语音评 测具有针对性;(3) 模型训练根据收集的标准语料利用HTK训练基于H醒的音素级(27个声 母,包含零声母,37个韵母)语音识别器模型(4) 保存将模型保存到计算机辅助语言学习系统库中;2、 发音错误检测特征提取,其步骤如下利用被评测语料的文本(文本相关的发音错误检测),对发音进行切分和计算目 标文本的对数似然度,记为/汰e朋00力,然后,在切分得到的边界上,计算此音段对识别器内所有其它模型(声母和韵母分开,声母只计算所有声母,韵母只计 算所有韵母)的对数似然度,这是一个矢量,记为<formula>formula see original document page 10</formula>然后,利用上面得到的目标文本的似然度//fe/z7 oo力进行规整如下样,形成发音错误检测特征提取。3、 获取发音错误检测模型训练目标数据,其步骤如下-(1) 收集真实发音人语料根据系统将要测试的对象,录制300人以上数据(具 体数据根据要测试内容设定,每人有效录音时间不少于io分钟)。(2) 专家标注发音错误根据收集的发音人真实数据,以及发音文本,使用发音评测专家对数据进行标注,标注分为发音错误,发音缺陷,以及漏读,增读等 信息。需要三个以上评测专家同时对数据进行标注以增强数据的可靠信,对于发 音错误检测,训练数据选取三个专家均标注为错误的数据作为正确样本,选取三 个专家均标注为正确的数据作为正确样本,以此作为发音错误训练数据。(3) 伪造发音错误数据对于音素A,假设要测试A错误为B的性能,则使用所有B的三个发音人均标注为正确的数据作为A的错误数据,并对B的错误检测特征需要重新计算如下式<formula>formula see original document page 10</formula>其中是原B的特征中A音素位置上的特征值。 4、 训练典型发音检错模型,其步骤如下(1) 定义典型发音错误集合第一套支持向量机模型针对典型发音错误,因此, 其模型是有针对性的。我们根据方言分析结果,定义12类音素作为典型发音错误,其集合为n, 1, z, c, s, zh, ch, sh, en, eng, in, ing,第一套支持向量机模型仅 处理这些音素。(2) 得到特征数据和目标数据根据发音错误特征提取模块得到发音错误检测 特征数据,根据专家标注模块得到目标数据,也就是发音正确与否的数据。(3) 训练支持向量机模型使用支持向量机训练工具,使用所有样本的特征文 件和目标结果训练发音检错支持向量机模型。(4)设置发音错误检测门限由于支持向量机是一个分类器,它只能得到一个 分类结果,实际上,发音错误检测存在发音错误检出率和误检率这样两个指标, 根据支持向量机输出结果设置门限可以完成这两个指标的平衡。在专家标注数据 上,调整门限,就可以改变支持向量机错误检测结果,从而达到检出率和误检率 的平衡。5、 训练异常发音错误检测器,其步骤如下(1) 定义异常发音错误由于异常发音错误没有规律性,可能是由于口误,或 者不认识文本,或者一些非典型错误,这时,我们对每种音素不使用支持向量机 进行检错,而是均直接设置一个门限来完成错误检测,即在上面特征基础上再进行一个取最大的操作如下111^(/汰^7^0《-/z'fe朋ooO得到检错特征,再采用'=1调节门限的方法训练得到此类异常发音错误的检错门限。(2) 得到特征数据和目标数据利用特征提取模块方法得到异常发音错误特征。 由于异常发音错误在正常发音中较少出现,因此,专家标注数据中这一类训练数 据不足。这里釆用目标数据模块中的伪造数据方法来生成目标数据。(3) 设置发音错误检测门限由于错误检测存在检出率和误检率这样两个指标, 因此门限设置应该可以根据需求自主调整。这里在伪造目标错误数据上,训练门 限,从而满足检出率和误检率的平衡。6、 训练异常发音错误中易混淆音素对错误模型,其步骤如下(1) 定义每个音素的易混淆错误对首先,使用异常错误门限检测方法测试每 个音素对的性能(比如A-B, A-C,…,A-N),得到每个音素和所有其它音素发 生错误时的检测性能,误检率固定在0.05时,检出率低于门限(0.95)的认为 是易混淆错误对。这样,可以定义A的易混淆错误对如下4。咖=(4,4,…,4),其中A有k个易混淆错误。(2) 生成训练特征文件和目标数据按照易混淆错误对定义,以音素A为例, 取A的所有发音正确的数据作为正确样本,取所有A的易混淆集合里面的音素的 发音正确样本为A的错误样本。训练特征文件使用特征生成模块里的异常错误数 据生成方法生成。目标数据为所有A的样本认为是正确样本,所有其它样本认为 是错误样本。(3) 训练支持向量机模型使用支持向量机_训练工具,使用所有样本的特征文件和目标结果训练发音检错支持向量机模型。(4)设置发音错误监测门限由于支持向量机是一个分类器,它只能得到一个 分类结果,实际上,发音错误监测存在发音错误检出率和误检率这样两个指标, 根据支持向量机输出结果设置门限可以完成这两个指标的平衡。在专家标注数据 上,调整门限,就可以改变支持向量机错误检测结果,从而达到检出率和误检率 的平衡7、发音错误检测,其步骤如下(1) 针对发音样本,计算特征文件利用文本信息对发音文件进行切分和计算 似然度,然后按照特征提取模块的方法计算特征文件。包括支持向量机的特征文 件(记为和异常易混淆错误模块特征(记为/e"ft^^,^)。(2) 进行典型错误支持向量机判决利用前面计算得到的特征>"/""sw ,运用支持向量机测试工具进行支持向量机输出结果计算。把计算结果跟训练典型发音 错误支持向量机模型时确定的检错门限进行比较,如果支持向量机结果大于门 限,则认为发生典型发音错误。(3) 进行异常错误判决利用前面计算得到的异常错误检测模块特征 々W"r^—,把这个特征跟训练时确定的异常错误检测门限进行比较,如果/^,_,。,大于门限,则认为发生异常发音错误。(4) 进行异常易混淆错误判决利用前面计算得到的特征々W^^w ,运用支持向量机测试工具进行支持向量机输出结果计算。把计算结果跟训练异常易混淆发 音错误支持向量机模型时确定的检错门限进行比较,如果支持向量机结果大于门 限,则认为发生异常易混淆发音错误。实施例2利用支持向量机进行发音错误检测的方法具体实施步骤为 1、语音识别系统的搭建其步骤如下(1) 预先收集或录制标准的发音语料,并保存为识别器训练语音文件;(2) 针对收集的标准语料进行拼音标注;(3) 模型训练根据收集的标准语料训练音素级语音识别器模型; (4 )将语音识别器保存到计算机辅助语言学习系统库中。2、 发音错误检测特征提取,其步骤为首先利用被评测语料的文本,对发音进行切分和计算目标文本的对数似然度,记为/汰e"/wo4,然后,在切分得到的边界上,计算此音段对识别器内所有其它模型的对数似然度,这是一个矢量,记为 (//fe/zTzoot/p/zfe///^^.."/^///^*^), 然后,禾U用/汰e/Z/ oo力进行规整样,形成发音错误检测特征提取。3、 获取发音错误检测模型训练目标数据,其步骤如下(1) 收集真实发音人语料,录制多发音人数据;(2) 根据收集的发音人真实数据,以及发音文本,使用发音评测专家对数据进行标注,得到发音错误标注数据,以此作为发音错误检测模型训练数据。4、 训练发音错误支持向量机检测模型,其步骤如下(1) 根据发音错误特征提取模块得到发音错误检测特征数据,根据专家标注模块得到目标数据;(2) 使用支持向量机训练工具,使用所有样本的特征文件和目标结果训练发音 检错支持向量机模型;(3) 在专家标注数据上,在支持向量机输出得分的基础上,设置发音错误检测 门限,从而达到检出率和误检率的平衡。5、 发音错误检测步骤如下(1) 利用文本信息对发音文件进行切分和计算似然度,然后按照特征提取模块 的方法计算特征文件,记为/e^W^sw;(2) 利用前面计算得到的特征>"ft^esw ,运用支持向量机测试工具进行支持向量机输出结果计算,把计算结果跟训练典型发音错误支持向量机模型时确定的检 错门限进行比较,如果支持向量机结果大于门限,则认为发生发音错误。
权利要求
1、一种基于支持向量机进行发音错误检测的方法,其特征在于用典型错误支持向量机检测方法进行发音错误的检测,所述的典型错误支持向量机检测方法包括以下步骤语音识别系统的搭建、发音错误检测特征提取、获取发音错误检测模型训练目标数据、训练发音错误支持向量机检测模型和发音错误的检测。
2、 根据权利要求1所述的一种基于支持向量机进行发音错误检测的方法,其特 征在于所述语音识别系统的搭建其步骤如下(1) 预先收集和录制标准的发音语料,并保存为识别器训练语音文件;(2) 针对收集的标准语料进行拼音或音标的标注;(3) 模型训练根据收集的标准语料训练音素级语音识别器模型; (4 )将语音识别器保存到计算机辅助语言学习系统库中。
3、 根据权利要求1所述的一种利用支持向量机进行发音错误检测的方法,其特 征在于所述发音错误检测特征提取,其步骤为首先利用被评测语料的文本,对发音进行自动切分和计算目标文本的对数似然度,记为//^///200^,然后,在切分得到的音素边界上,计算此音段对识别器内所有其它模型的对数似然度,这是 一个矢量,记为(//fe//too《,//fe//toot/2,...,//fe/// C^w),然后,利用/^/// <70《进形成发音错误检测特征提取。
4、 根据权利要求1所述的一种利用支持向量机进行发音错误检测的方法,其特 征在于所述获取发音错误检测模型训练目标数据,其步骤如下-(1) 收集真实发音人语料,录制多发音人数据;(2) 根据收集的发音人真实数据,以及发音文本,使用发音评测专家对数据进 行标注,得到发音错误标注数据,以此作为发音错误检测模型训练数据。
5、 根据权利要求1所述的一种利用支持向量机进行发音错误检测的方法,其特 征在于所述训练发音错误支持向量机检测模型,其步骤如下(1) 根据发音错误特征提取模块得到发音错误检测特征数据,根据专家标注模 块得到目标数据;(2) 使用训练工具支持向量机训练工具,使用所有样本的特征文件和目标结果训练发音检错支持向量机模型; (3)在专家标注数据上,在支持向量机输出得分的基础上,设置发音错误检测 门限,从而达到检出率和误检率的平衡。
6、 根据权利要求1所述的一种利用支持向量机进行发音错误检测的方法,其特 征在于所述发音错误检测,其步骤如下(1) 利用文本信息对发音文件进行切分和计算似然度,然后按照特征提取模块 的方法计算特征文件,记为/e^wesw;(2) 利用前面计算得到的特征/e^w&,,运用支持向量机测试工具进行支持向量机输出结果计算,把计算结果跟训练典型发音错误支持向量机模型时确定的检 错门限进行比较,如果支持向量机结果大于门限,则认为发生发音错误。
7、 根据权利要求2所述的一种利用支持向量机进行发音错误检测的方法,其特 征在于所述收集的标准语料是利用HTK训练基于HMM的音素级语音识别器模型。
8、 根据权利要求3所述的一种利用支持向量机进行发音错误检测的方法,其特征在于所述计算此音段对识别器内所有其它模型的对数似然度时,对于中文,声 母和韵母分开,声母只计算所有声母,韵母只计算所有韵母;对于英文,元音和辅音分开,元音只计算所有元音,辅音只计算所有辅音。
9、 根据权利要求1所述的一种利用支持向量机进行发音错误检测的方法,其特 征在于还包括有异常错误门限检测方法,异常错误门限检测方法包括有以下步 骤(1) 训练异常发音错误检测器,其步骤如下1) 利用特征提取模块方法得到异常发音错误特征/^/w^^^。,,这个特征就是支持向量机特征各维的最大值,这里采用目标数据模块中的伪造数据方法来生成 目标数据;2) 对每种音素直接设置一个门限来完成错误检测,以此定义异常发音错误;3) 在伪造目标错误数据上,训练门限,从而满足检出率和误检率的平衡,以此(2) 设置发音错误检测门限;进行异常错误判决首先计算得到的异常错误检测模块特征/M,"r^—一£。,,这个 特征就是支持向量机特征各维的最大值,把这个特征跟训练时确定的异常错误检测门限进行比较,如果/^^ _,。,大于门限,则认为发生异常发音错误。
10、 根据权利要求1所述的一种利用支持向量机进行发音错误检测的方法,其特 征在于还包括有异常混淆错误支持向量机检测方法,异常混淆错误支持向量机检 测方法包括有以下步骤(1) 定义每个音素的易混淆错误对首先,使用异常错误门限检测方法测试每 个音素对的性能,得到每个音素和所有其它音素发生错误时的检测性能,误检率 固定在0. 05时,检出率低于门限0. 95的认为是易混淆错误对;(2) 生成训练特征文件和目标数据按照易混淆错误对定义,取某音素的所有 发音正确的数据作为正确样本,这些数据的支持向量机特征直接作为训练数据特 征,取所有某音素的易混淆集合里面的音素的发音正确样本为某音素的错误样 本,训练特征文件,目标数据为所有某音素的样本认为是正确样本,所有其它音 素样本认为是错误样本;(3) 训练支持向量机模型使用支持向量机训练工具,使用所有样本的特征文 件和目标结果训练发音检错支持向量机模型;(4) 设置发音错误检测门限;进行异常易混淆错误判决利用前面计算得到的特征/e^"y^,运用支持向量机测试工具进行支持向量机输出结果计算,把计算结果跟训练异常易混淆发音错误支持向量机模型时确定的检错门限进行比较, 如果支持向量机结果大于门限,则认为发生异常易混淆发音错误。
11、 根据权利要求1所述的一种利用支持向量机进行发音错误检测的方法,其特 征在于所述的训练特征文件以某音素正确样本作为其它音素的错误样本用下式 计算<formula>formula see original document page 4</formula><formula>formula see original document page 4</formula>
全文摘要
本发明涉及一种基于支持向量机进行发音错误检测的方法,包括有典型错误支持向量机检测方法、异常错误门限检测方法和异常混淆错误支持向量机检测方法,包括以下步骤实现语音识别系统的搭建、发音错误检测特征提取、获取发音错误检测模型训练目标数据、训练发音错误支持向量机检测模型和发音错误的检测、训练异常发音错误检测器、设置发音错误检测门限、定义每个音素的易混淆错误对、生成训练特征文件和目标数据、训练支持向量机模型、设置发音错误检测门限、进行异常易混淆错误判决。本发明能有效解决人工标注稀疏问题,保证了训练得到的检错模型可以较好针对不同发音人,不同发音风格进行错误检测。
文档编号G10L15/10GK101231848SQ20071013534
公开日2008年7月30日 申请日期2007年11月6日 优先权日2007年11月6日
发明者刘庆升, 刘庆峰, 吴晓如, 王仁华, 王海坤, 郁 胡, 胡国平, 涛 陈, 燕 陈, 思 魏 申请人:安徽科大讯飞信息科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1