计算机辅助语言学习中基于K—GMM模型的一种汉语声调识别技术及其应用研究

时间:2022-07-12 02:28:48

计算机辅助语言学习中基于K—GMM模型的一种汉语声调识别技术及其应用研究

[摘 要] 文章针对计算机辅助语言学习提出了一种基于K-gmm模型的汉语声调识别算法。该算法采用短时自相关计算提取基频,用拉格朗日插值算法对提取基频进行平滑处理、重采样和归一化处理,以获取模型设计的基频数据,设计并实现了K-GMM模型(基于K均值聚类算法的高斯混合模型),得出此模型在声调识别中具有很高的识别率,并初步分析了这一技术在计算机辅助语言学习中的应用及意义。该技术对计算机辅助语言学习具有一定的实用价值及借鉴意义。

[关键词] 自相关计算; K-GMM模型; 汉语声调; 计算机辅助语言学习

[中图分类号] G434 [文献标志码] A

[作者简介] 贾嫣(1978—),女,山西太原人。讲师,硕士研究生,主要从事多媒体技术应用、图形图像处理等研究。E-mail:。

一、引 言

汉语是我国的语言,其中官方通用语言为普通话,学习汉语主要是通过老师上课教、学生课后根据书本上的汉语拼音学习的方式进行。这种方法对教师的依赖性过大,虽然教师通过普通话测试,但是仍然有一部分教师存在口音问题,同时这种学习方式对学生的普通话发音没有办法进行严格的评判。随着计算机多媒体技术的发展,可以使用计算机通过评测系统进行计算机辅助语言学习。而目前汉语普通话测试主要也是基于计算机辅助语言学习(Computer Assisted Language Learning ,简称CALL)[1]进行的。本文从这个角度出发,首先获取模型设计的基频数据,设计并实现K-GMM模型,并初步分析这一技术应用于计算机辅助语言学习中的价值。

二、基于K-GMM模型的

一种汉语声调识别技术

汉语是声调语言,其单音节的声调模式共有五种,分别为阴平、阳平、上声、去声和轻声,[2]本文主要针对前四种声调进行分析。汉语最重要的信息是通过声调的基频保持的,它是提高语音生动性的重要因素。因此声调识别在汉语识别中十分关键,必须选用准确有效的方式方法提取基频,并对其进行必要的处理。必要的处理手段主要有插值平滑处理、重采样处理以及归一化处理。[3]通过这些必要的处理后,再通过建立一个识别模型才能够实现声调的识别。识别模型的好坏在一定程度上决定了识别率的高低,因此本文为了实现非特定人声调识别而建立了K-GMM模型。

(一)基频提取算法原理

为了保证提取基频的准确性,同时又要满足算法的复杂度较低以及算法的计算量小的要求,可选择自相关算法提取基频,并对基频数据进行后处理,得到一个较好的基频数据输入模型。算法框图如图1所示。

假定随时间的变化语音信号的特性变化缓慢,因此可以将信号分割成一些短段(分帧)再加以处理,这些短段可以看作是来自一个持续声音片断,这个持续声音片段具有固定特性。算法中就是将语音信号看作是短时平稳过程,对其短段进行语音信号处理的。

图1 基频提取算法框图

1. 语音信号的预处理

通过对语音的研究表明:[4]成年男性、成年女性基频范围分别在70~250Hz、160~400Hz,而儿童的基频范围最高可达500Hz。因此选用60~900Hz的带通滤波器对语音信号进行滤波,完成预处理,这样可以剔除一部分非语音音频的基频数据。

2. 自相关计算

使用信号{x(n)}的短时自相关函数计算,获取基频数据,如公式(1)所示。

Rn(k)=x(m)·x(m+k)·hk(n-m) (1)

其中:hk(n-m)=w(n)·w(n-k)

Rn(k)就是自相关计算所得的基频结果,它是信号在第n个样本附近截取的一段信号。

3. 插值平滑

通过自相关计算得到的基频,存在数据丢失的情况,这主要是因为一些浊音部分的基频为0,导致基频序列不连续。针对这一情况需要进行丢失数据的处理。通常可采用插值平滑的方式进行。这里采用基于拉格朗日(Lagrange插值)插值的插值平滑处理,如公式(2)所示。

Pn(x)=lk(x)yk=j ≠ 0 (2)

根据实际应用模型可知,每个汉字的基频曲线应该是平滑的,字与字之间的基频过渡也应该是平滑的。基于这种思想,结合普通话语音的特点,选取Lagrange插值平滑处理中的值为3。使用Lagrange插值法选取已知点时,选择四个点,断点前后各两个点,其中在断点前要分别选择一个最靠近的已知点和一个与该断点有一定距离的已知点。在断点后也以相同的方法选取已知点,注意选取距离一般不超过10。

采用自相关计算提取的基频,选取n值为3的Lagrange插值进行平滑处理后,如图2所示。通过分析,可以看出平滑后的基频曲线效果较好。

4. 重采样处理

为了便于建立识别模型,必须保证每个字或词的特征数相同,因此需要对数据进行重采样处理。重采样的基本步骤如下:

(a)平滑处理前

(b)平滑处理后

图2 插值平滑处理前后对比

假设特征维数设定为m维,对应在[0,1]上的点间隔1/(m-1)。再假定在二维坐标系中取n个点,用于对应提取某个字的n个基频数据,二维坐标系中纵坐标为该点对应的基频数据值,横坐标为0到1,其间隔为1/(n-1)。其中m1/(n-1)。

(1)取原始数据的第一个点为重采样的第一个点。

(2)计算重采样的第二个点。根据重采样的第二个点x横坐标为1/(m-1),位于区间[1/(n-1),2/(n-1)],选择线性插值运算在其所在区间上进行插值运算,可得到其对应的重采样数值y,如公式(3)所示:

y=(f2-f1)(n-1)x+2f1-f2 (3)

这里假设点1/(n-1)对应的原始基频为f1,点2/(n-1)对应的原始基频为f2。

(3)依次选取不同的横坐标点x,可求出重采样的所有数据y。

5. 归一化处理

提取的基频数据经过以上处理后效果有一定的改善,但针对汉语声调自身的特点,为了选择一种较有效的识别模型,必须先分析说话人的声调分布情况。[5]由于每个人的发音特点和口音各不相同,相同字的基频曲线有很大差异,但是每个人的整体频域范围差异却不显著。因此,可以通过归一化处理让识别模型能够处理大部分人的语音,即将所有的基频数据处理到同一个数量区域内。基于此,采用归一化公式(4)计算:

=(f-fmin)/(fmax-fmin) (4)

式中fmax表示单个说话人基频上限的90%,fmin表示单个说话人基频下限的1.1倍。由于获取当前说话人的基频上下限很困难,因此fmax和fmin的值使用当前语音样本频率的上限和下限值来代替。

要注意的是经过插值平滑的基频数据需要取对数运算后才可以进行归一化。这主要是由于录音时可能出现发音抖动,使得某个频率值过大或过小,因此要剔除频率过高点或过低点。

(二)基于K- GMM的声调识别

1. K-GMM模型设计

对于特定人的识别,K-means聚类算法[6]能够得到较好的识别率。但在非特定人识别模型中,由于每个人的频域不同,此方法存在很大的缺陷。

高斯混合模型(GMM)是具有混合高斯密度函数的隐马尔科夫模型(HMM),高斯混合模型由多个高斯分布线性加成在一起构成其概率密度函数,用来描述特征矢量在概率空间的分布情况,更适用于非特定人的识别,基于此本文提出了K-GMM模型。

以单字组为例,K-GMM模型识别的算法思想如下:

(1)对已知的声调训练样本按声调进行分类,单字组声调分为四类。将每一种声调的训练样本按照K-means聚类算法进行聚类,并且求出聚类后的每一类的每一维特征的均值uikj和?滓2ikj方差,以及这一类占整个这个声调的权重?棕ik,其中i=1,2,3,4;j=1,2…,m;k=1,2。k值采用遍历搜索法求出,这里取2。

(2)由(1)求出的均值和方差,按照GMM模型求出其对应的概率密度函数Pikj,如公式(5)所示。

Pikj(x:?滋ikj,?滓2ikj)=e (5)

(3)求出每种声调的每一类的特征矢量的概率密度函数。由于可以将特征矢量的每一维特征看作是独立的,因此其概率密度函数就是每一维的概率密度的乘积,如公式(6)所示。

Pik=Pikj (6)

(4)以(1)(2)(3)为基础,将测试样本xn带入到四类声调对应的所有模型中,求出其概率密度函数值Pik。

(5)将每一类进行加权求和,通过公式(7)进行。然后求出基频数据所有模型的最大值max(Pi),此最大值对应的值就为测试样本的声调。

Pi=?棕ikPik (7)

注意,由于基频的数值进行了归一化处理,因此,求出的概率密度函数值会很小,为了便于处理,将其值取对数。

(三)实验结果分析

利用标准语音库863语料样本的单字组的训练和测试样本,训练样本为104组,测试样本为103组。采用上述的基频提取算法,以K- GMM模型作为识别模型进行实验。实验结果(基频特征维数为15)见表1。

从实验结果中可以看出该模型对声调的识别率还是较高的。同时利用该模型对不同的基频特征维数分别进行了实验,发现特征维数不能太小,也不能太多。特征维数太小不能体现基频的大部分信息,特征维数越多,信息体现得越全面。但是特征维数太多会加大运算量。实验表明,特征维数选择在10到30之间时,识别率没有明显变化。表1中的数据是基频特征维数为15时的实验结果。

三、计算机辅助语言学习中

对声调识别的应用研究

目前计算机辅助语言学习虽然经过了一段时间的发展,但是主要还是停留在课堂使用多媒体教学的层面上,对于激发学生学习兴趣、培养学生自主学习的能力等方面做得还不够。鉴于此,声调识别技术应用方向和价值主要体现在以下几方面。

(一)计算机辅助语言学习中对声调识别的应用方向

1. 计算机辅助语言学习语音评测系统

应用声调识别技术可以开发关于语音发音评测的评测系统。该技术的应用可以使得计算机识别人的语音变为可能,当然仅仅依靠声调识别技术是不能够完全识别语言的,但是这是识别语言非常重要的组成部分。通过识别的语音再进行相关评测技术的评测即可得到发音者的语音评测结果。通过语音评测系统可以使学习者自行进行发音评测。

2. 交互型计算机辅助语言学习应用软件

应用声调识别技术可以开发关于语音的相关交互型的学习软件。该类软件可以展示正确的语音、识别发音者的语音,可以由发音者的语音控制某些进程动作的执行,进行语音练习和学习。如一些语音小游戏,可通过语音控制游戏的进行。使用这些交互型的计算机辅助语言学习应用软件,使得学习者可以在一个交互的环境中自主地进行想要学习和练习的内容。

(二)计算机辅助语言学习中对声调识别的应用价值

1. 促进计算机辅助语言学习的新应用

目前计算机辅助语言学习主要依靠多媒体辅助教学的形式来完成,这一形式注重“教”而忽略了“学”,同时在很大程度上阻断了教师和学生的交流与联系。[7]这对汉语这一具有丰富信息量的语言学习是十分不利的,因此计算机辅助语言学了注重“教”也要注重“学”。在学生学习汉语的过程中,很大一部分时间是在课下进行的,而汉语言的发音是学习语言的最基本的要素之一,发音是否标准是衡量普通话好坏的一个重要标准。因此对于学习者要进行发音的评测,如何让评测发音在教师不在场的情况下进行是目前遇到的普遍问题。利用本文这种识别率较高的声调识别技术开发普通话评测系统即可解决这一问题。这一问题的解决可以促进计算机辅助语言学习的发展,给计算机辅助语言学习提供新的应用研究方向。

2. 促进、激发学生的学习兴趣,提高学生自主学习的能力

计算机辅助语言学习过程中,教师通过多媒体课件、视频、音频、电视录像等技术手段来激发学生的学习兴趣,但往往容易忽略和学生的互动性。[8]随着多媒体技术软硬件的发展,现在可以开发一些学习型的应用软件,利用这些软件可以和学生互动,弥补课堂互动性差的不足。使用高质量的声调识别技术可以开发针对语音学习的软件,使得学生可以和计算机互动,评测发音准确度。甚至通过开发一些互动语音小游戏,让学生在玩的过程中学习,来进一步激发学生的学习兴趣。通过这些方式可以避免学生单纯依赖教师上课进行学习,为学生课下自主学习提供了新的环境,有助于提高学生的自主学习能力。因此,这一语音声调识别技术有一定的实用价值。

四、结 论

声调识别本质上是一种模式识别的过程,主要包括信号的采集、预处理、特征提取、模型训练、参数优化和声调识别等过程。[9][10]本文针对声调识别的过程,在提取基频并进行后处理的基础上设计并实现了K-GMM识别模型。通过分析声调基频分布,建立高斯模型并就数据库提供的训练和测试样本进行了试验,给出了试验分析结果。通过实验结果可以看出,该算法可以较好地进行汉语语调的识别。本文最后分析了声调识别技术在计算机辅助语言学习中的应用,可以看出这一技术在计算机辅助语言学习中具有一定的实际应用价值和前景。

[参考文献]

[1] Fuping Pan,Qingwei Zhao,Yonghong Yan.Automation Tone Assessment For Strong Accented MandarinSpeech[C].Beijing: Signal Processing.2006 8th International Conference, 2006.

[2] 马占武,王炳锡.汉语第零声的声调特征研究[J].语音技术,2005,(7):45~47.

[3] 杨丽宁.汉语普通话声调识别和评估系统的设计与实现[D].兰州:兰州大学,2008.

[4] 汤霖,尹俊勋,粟志昂,赖国庭.基于两级BP模型的普通话声调识别系统[J].计算机工程与应用,2004,(25):96~99.

[5] 柯登峰,杨丽宁,徐波.语言学习中的汉语普通话声调发音评估[A].第九届全国人机语言通讯学术会议[C].2007,(10):396~400.

[6] 袁方,周志勇,宋鑫.初始聚类中心优化的K-means算法[J].计算机工程,2007,33(3):65~66.

[7] 李晓文.高校多媒体汉语教学中存在的问题及对策[J].大家,2011,17:144.

[8] 赵楠楠.交互理论下的计算机辅助对外汉语语言教学[J].剑南文学(经典教苑),2011,(10):113.

[9] 柳春.语音识别技术研究进展[J].甘肃科技,2008,(9):41~43.

[10] 肖汉光,蔡从中.基于SVM的非特定人声调识别的研究[J],计算机工程与应用,2009,45(9):174~176.

上一篇:论生态理论对高中语文课堂的指导作用 下一篇:基于立体几何智能教育平台的TCK:功用、存在方...