基于随机森林的语音声调识别方法及系统与流程
本申请涉及语音声调识别技术领域,特别是涉及基于随机森林的语音声调识别方法及系统。
背景技术:
本部分的陈述仅仅是提到了与本申请相关的背景技术,并不必然构成现有技术。
汉语是一种具有声调的语言,除轻声外,汉语共有四种声调。声调体现为声音的高低升降,在汉语中具有重要的辨意作用,不同的声调代表着不同的含义,例如拼音“ma”,用四种声调发声时分别可由汉字“妈”、“麻”、“马”和“骂”表示。因此,声调作为汉语的重要组成部分在人们的日常交流中起到了不可或缺的作用。同时,在人机交互中经常会用到语音作为通信方式,语音识别是通过计算机将语音信号转变为相应的文本或命令的技术,其中声调识别是语音识别的重要组成部分。
现阶段在声调识别的研究中采用的特征参数主要可分为两类:仅使用基频作为特征参数和使用基频及其他特征作为特征参数,其他特征主要包括时长、能量、mfcc(梅尔频率倒谱系数)等。对于基频有许多种不同的处理方式,比如求出关于基频的基本统计量、对基频轨迹进行规范化处理和对基频轨迹进行曲线拟合等等。但是关于哪些特征参数在声调识别中表现最好、对于基频应该进行怎样的处理等问题,一直没有一个统一的定论。
同时,在声调分类器部分,目前应用较多的是神经网络模型、svm(支持向量机)模型和hmm(隐马尔可夫模型),但是这些模型在建模当中同样存在一些问题。对于神经网络模型,现阶段应用最多的是使用基频、声谱图或mfcc作为特征参数在卷积神经网络或深度神经网络中进行声调识别。但是这些方法在计算声谱图和mfcc时计算量大,卷积神经网络和深度神经网络的构建也十分复杂,同时识别准确率不高,且神经网络中隐藏层的层数和节点数等参数的选择和其他参数的优化一般根据经验,没有一个统一的标准。同样的,在使用svm模型时,核函数的选取是一个很重要的问题,但目前比较成熟的核函数及其参数的选择都是人为的,且经典的svm算法只能进行二分类,若要应用到声调识别等多分类的问题中需要使用多个二分类的svm,这无疑增加了计算复杂度。而且当待识别数据存在含有噪声、不平衡、具有缺失等问题时,这些模型的识别准确率均会受到较大影响,鲁棒性较差。
技术实现要素:
为了解决现有技术的不足,本申请提供了基于随机森林的语音声调识别方法及系统;
第一方面,本申请提供了基于随机森林的语音声调识别方法;
基于随机森林的语音声调识别方法,包括:
获取待识别的语音信号,对待识别的语音信号进行预处理;
对预处理后的待识别的语音信号进行特征参数的提取与选择;
将提取的特征参数,输入到预先训练好的随机森林模型中,输出待识别的语音信号的声调识别结果。
第二方面,本申请提供了基于随机森林的语音声调识别系统;
基于随机森林的语音声调识别系统,包括:
预处理模块,其被配置为:获取待识别的语音信号,对待识别的语音信号进行预处理;
特征提取模块,其被配置为:对预处理后的待识别的语音信号进行特征参数的提取与选择;
声调识别模块,其被配置为:将提取的特征参数,输入到预先训练好的随机森林模型中,输出待识别的语音信号的声调识别结果。
第三方面,本申请还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。
第四方面,本申请还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
第五方面,本申请还提供了一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现前述第一方面任意一项的方法。
与现有技术相比,本申请的有益效果是:
本发明提出了一种基于随机森林的语音声调识别。随机森林的实现简单、运算速度快、抗噪声能力强等优点,在声调识别中可以得到很好的应用,能够在确保识别准确率的同时,使声调分类器的运算复杂度降到最低。
与其他声调分类器相比,随机森林识别准确率高,实现比较简单,可以通过修改决策树的数量来进行优化,且决策树的数量可以控制在一定范围内,不像bpnn(bp神经网络)和svm的优化只能根据经验。随机森林运行速度快,而且非常稳定,抗过拟合能力比较强,一般不会出现较大偏差。当数据中出现nan(非数)较多时,朴素贝叶斯、bpnn和svm的分类准确率均受到了较大影响,但是随机森林的准确率并未出现较大波动,这说明随机森林对于噪声数据、存在缺失的数据和非平衡数据具有很好的鲁棒性。
本发明中进行了特征参数的优化和使用了随机森林作为声调识别分类器,在特征优化部分,只保留了权重排名靠前且能提升识别准确率的特征参数,这就减少了不必要的参数计算,在保证识别准确率的同时降低了计算复杂度。随机森林是应用在分类和回归问题上的优秀的机器学习方法,具有实现简单、运算速度快、抗噪声能力强等优点,将随机森林应用到声调识别中可以带来整体声调识别系统性能的提升。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为第一个实施例的声调识别系统整体流程框图;
图2为第一个实施例的随机森林在声调识别中的训练过程和待识别语音信号在随机森林中的识别过程;
图3为第一个实施例的随机森林中的一棵决策树。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
随机森林(randomforest)是一种基于分类树的集成学习方法,由breiman和cutler在2001年提出,它将大量决策树整合起来形成森林,在运算量没有显著增加的前提下提高了模型的预测精度,是足以取代神经网络等传统方法的高效机器学习方法。随机森林的运算速度很快,在处理大数据时表现优异,对于噪声数据、存在缺失的数据和非平衡数据具有很好的鲁棒性。随机森林主要应用在分类和回归问题上,汉语普通话声调识别就是一种典型的四分类问题。
本发明是将随机森林这一高效的机器学习方法应用到语音声调识别任务中去,利用随机森林实现简单、运算速度快、识别准确率高等优点提升声调识别环节性能,进而提高语音识别系统整体性能。完整的声调识别系统主要包括预处理、特征参数提取和声调分类器三大部分,输入的语音信号首先要进行预处理,然后将处理过的信号进行特征参数提取,再用提取出的特征参数通过声调分类器进行声调识别,结果输出声调类别,将以上所有部分进行整合,构成一个完整的语音信号声调识别系统。
实施例一
本实施例提供了基于随机森林的语音声调识别方法;
基于随机森林的语音声调识别方法,包括:
s101:获取待识别的语音信号,对待识别的语音信号进行预处理;
s102:对预处理后的待识别的语音信号进行特征参数的提取与选择;
s103:将提取的特征参数,输入到预先训练好的随机森林模型中,输出待识别的语音信号的声调识别结果。
作为一个或多个实施例,所述对待识别的语音信号进行预处理,包括:对待识别的语音信号依次进行采样、低通滤波、分帧和清浊判定。
作为一个或多个实施例,所述对预处理后的待识别的语音信号进行特征参数的提取与选择;具体步骤包括:
对待识别的语音信号进行特征参数的综合选定,得到一个含有n0个特征参数的参数集;
使用特征权重算法根据各个参数对声调分类的贡献度求出其所占权重;
按照权重由大到小的顺序,挑选出前n个构成优选的声调特征矢量。
应理解的,所述对预处理后的待识别的语音信号进行特征参数的选择与提取;目标是找到能表达原始语音中声调信息的特征参数,比如基频、能量、时长等。
作为一个或多个实施例,所述预先训练好的随机森林模型的训练步骤包括:
在训练过程中,输入训练集数据量为m*n,m表示训练样本的数量,其中包含l类声调,n表示构成每个样本声调特征的参数数量,决策树数量取值为t;
s1031:首先,在每棵树的训练过程中,对训练集进行m次有放回的随机抽取,得到样本量为m的采样集,其中训练集中的数据有的被抽取多次,有的没有被抽取;
s1032:其次,在每棵树的每个节点处,从n个特征中随机选择n个特征,其中n<n,根据gini指数在这n个特征中选择最佳分割特征作为节点构建决策树,在每个节点进行一次决策,经过多次决策得到l类声调中的某类声调;
s1033:重复s1031和s1032设定次数,所述设定次数为t次,构建了t棵决策树,由这t棵决策树组成随机森林。
作为一个或多个实施例,所述将提取的特征参数,输入到预先训练好的随机森林模型中,输出待识别的语音信号的声调识别结果;具体步骤包括:
s103a1:将提取的特征参数输入到预先训练好的随机森林模型中;
s103a2:随机森林模型从当前树的根节点开始,比较待识别特征参数与当前节点的特征值区间范围,并根据待识别特征参数与当前节点的特征值区间范围的比较进入对应的下一个节点,直至达到叶子节点,并输出预测的声调类别;
s103a3:选择下一个决策树,重复s103a2,直到所有决策树都输出了预测的声调类别值,输出类别数量最多的一类作为最终的声调类别识别结果。
常用的决策树算法包括id3算法,c4.5算法和cart(classificationandregressiontree)算法,各算法之间的区别在于特征选择的方式不同,一般来说,使用cart算法的决策树的分类效果优于使用其他算法的决策树。cart算法使用gini指数(gini不纯度)做特征选择,gini指数表示集合中被选中的样本被分错的概率,公式为:
其中,s表示特征中包含的样本,个数为|s|,样本中共包含k个类别,第i个类别的个数为|ki|,(s,f)表示根据特征f的某个值把样本s分为s1和s2,个数分别为|s1|和|s2|。对每一个特征的每一个切分点计算gini指数,选择gini指数最小的特征和切分点作为最优特征和最优切分点来构建此节点,在构建每一个节点时重复以上过程直到样本个数或gini指数小于阈值时停止。
随机森林是一种基于决策树的集成学习方法,决策树是一种由节点和箭头组成的树形结构,节点包括根节点、中间节点和叶节点,每个节点代表一个属性,每个分支代表一个决策,根节点是树的最顶端,即开始节点,叶节点是树的最底部,即决策结果。
在随机森林中,使用了bagging(bootstrapaggregating)方法集成多棵cart决策树。bagging即自助抽样集成,将整体训练集重新划分为多个新的训练集,然后在每个新训练集上构建一个模型,模型之间互不相干,最终整体的预测结果是这多个模型预测结果的整合。
声调识别系统的整体流程框图如图1所示。
随机森林在声调识别中的具体实施方法如图2所示。
实施例:
1.在预处理部分,语音信号的采样率为16khz,使用通带频率为500hz的切比雪夫ⅱ型低通滤波器进行低通滤波。在短时分帧处理中,帧长取30ms,帧移取10ms,清浊判定使用了基于短时过零率和短时能量的双门限法。
2.综合现阶段已经采用的特征参数在声调识别中的表现情况,选择了以下三类特征参数进行优化:基频的基本统计量;将音节平均分为三小段(开始点到1/3点处,1/3点到2/3点处,2/3点处到结束),每段提取出与基频和能量相关的四个参数;与基频变化趋势相关的参数。以上三类特征参数可组成一个参数集,使用relieff算法求出参数集中各参数在识别中所占的权重。
relieff算法是一种对多分类问题进行特征权重计算的算法,计算出的特征权重越大,代表对分类的贡献越大,当特征的权重小于0时,代表不同类近邻样本的距离小于同类近邻样本的距离,也就是说该特征对于分类会产生负面影响。将按权重排序好的特征依次投入分类器,这里的分类器采用knn算法。通过实验可得,当仅使用参数集中权重排名前13的特征时,分类器的识别准确率达到饱和,使用的13个特征参数及其符号表示在表1中列出。
表113个特征参数及符号表示
3.实验数据来源于scsc——汉语普通话单音节语音语料库,15位发音人每人提取40个音节,四声调均匀分布,最终得到包含600个音节的数据集。为了评估模型的识别精度,采用5折交叉验证的方式,将数据集分成5份,轮流用其中的4份作为训练集1份作为测试集,5次的识别准确率取平均值即为对算法精度的估计。
在训练过程中,输入训练集数据量为480*14,其中1-13列为训练数据,14列为训练标签,决策树数量取值为t。首先对训练集进行480次有放回的随机抽取(即bootstrap取样),得到样本量为480的采样集,其中训练集中的数据有的被抽取多次,有的没有被抽取;其次在每棵树的每个节点处,从13个特征中随机选择n(n<13)个特征,根据gini指数在这n个特征中选择最佳分割特征作为节点构建决策树,在每个节点进行一次决策,经过多次决策得到分类结果;重复以上两个步骤t次,构建了t棵决策树,由这t棵决策树组成随机森林。
以随机森林中的一棵决策树为例来解释分类过程,如图3所示,其中x1-x13代表13个特征参数(如表1所示)。
在测试过程中,输入测试集数据量为120*14,其中1-13列为测试数据,14列为测试标签。在每一棵决策树上对测试数据进行判断得出分类结果,对所有树的分类结果进行投票表决得到最终的声调识别结果。将测试过程得到的识别结果与测试标签进行对比可得出声调识别准确率。
使用随机森林声调分类器对提取出的特征参数进行声调识别,决策树的数量t取值范围设定为(100、200、300、400、500),通过对比实验可得,当决策树的数量t取值为200时声调分类器的识别准确率达到饱和,为97.33%。
实施例二
本实施例提供了基于随机森林的语音声调识别系统;
基于随机森林的语音声调识别系统,包括:
预处理模块,其被配置为:获取待识别的语音信号,对待识别的语音信号进行预处理;
特征提取模块,其被配置为:对预处理后的待识别的语音信号进行特征参数的提取与选择;
声调识别模块,其被配置为:将提取的特征参数,输入到预先训练好的随机森林模型中,输出待识别的语音信号的声调识别结果。
此处需要说明的是,上述预处理模块、特征提取模块和声调识别模块对应于实施例一中的步骤s101至s103,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元cpu,处理器还可以是其他通用处理器、数字信号处理器dsp、专用集成电路asic,现成可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除