论文部分内容阅读
随着语音识别技术的不断发展,语种识别作为语音识别的一个方面和它具有的重要意义,也越来越受到人们的广泛重视。语种识别就是用计算机来自动识别一段发音所属语种的一项技术,它是在语音识别基础上发展起来的。从上个世纪七十年代到现在,语种识别虽然只经历了短短几十年的发展,但识别方法已有多种。这些方法虽然各有特点,但比较成熟的方法还不是很多。目前,我国对语种识别的研究较少,尚处于起步阶段。
语种识别强调在与文本无关和与说话人无关的条件下进行,因而语种识别需要尽量消除语音信号中个体发音的差异,并且尽量找到不同语种的语音间不同的声学特征,从而达到更好的识别效果。
本文首先从语种语音特征方面进行分析,找出不同语种之间的差异,提取语种语音特征参数,特征参数以矢量形式表现。
然后提出利用加权的K近邻法对训练矢量进行野点排除。对于每两个语种间的每个训练矢量,分别找出与其欧氏距离最小的前K个矢量,判断其类标与它的K近邻中多数类标的符号是否一致。在K近邻的特征矢量中各个矢量对于判断是否剔除对象特征的贡献不同。最近邻的贡献为最大,第K近邻的特征的贡献为最小,可以分配不同的权值给K近邻矢量。对K近邻矢量符号加权求和后,判断是否与对象矢量符号相同,若相同则保留,否则该对象矢量属于异类将该特征矢量删除。最后利用剔除完野点的训练矢量来训练one-against-one支持向量机(SVM),利用one-against-one支持向量机对测试矢量集进行分类投票,获得投票数最多的语种被判定为未知语音的语种。
实验结果表明,在较小规模训练矢量集下,KNN-SVM的平均识别率为78.66%,SVM的平均识别率为76.15%。在相同训练矢量个数下,KNN-SVM的支持向量个数要低于SVM,导致所需分类时间也低于SVM。KNN-SVM的性能要优于SVM。