?

基于支持向量機的漢語聲調識別

2013-12-10 14:07中北大學信息與通信工程學院沈泉波韓慧蓮
電子世界 2013年4期
關鍵詞:基頻聲調特征參數

中北大學信息與通信工程學院 沈泉波 韓慧蓮

1.引言

圖1 線性可分情況下的最優分類線

圖2 支持矢量機結構示意圖

圖3 識別結果

漢語中每個漢字的最小發音單位是音節,每個音節由聲母、韻母和聲調組成,聲調有4種,加上輕聲有五種。聲調是漢語的重要特征之一,攜帶了重要的語義信息,不同的聲調和音節的組合代表了不同的含義。聲調信息對漢語語音識別和漢語語音合成有很重要的影響,加入了聲調信息,可以大大提高語音識別的精度和速度。因此,聲調識別研究是一項很重要也很有意義的工作。

聲調識別的方法有很多,包括有基于規則的方法、模糊識別方法、神經網絡識別方法和基于隱馬爾科夫模型的識別方法等,隱馬爾科夫模型是語音是語音識別的主流技術,它是根據語音的統計特征來進行的識別的,能有效地提取時序特征,但是非線性分類能力和提取時間相關性能力不足。本文采用支持向量機這一優秀的模式分類器,它能較好地解決小樣本、非線性、高維數和局部極小點等實際問題。本文在提取出各音節的基頻和能量特征后,首先采用基于勒讓德多項式的曲線擬合法對特征參數進行擬合,然后建立了6個二類支持向量機對測試音節進行識別。

2.特征參數計算

基音頻率是公認的聲調識別的特征參數,此外,基頻差分、能量和能量差分也是聲調識別的重要參數。本文選擇了基頻、基頻差分、能量和能量差分作為特征參數,基頻的計算采用加權自相關法,基頻特征參數,基頻差分,能量,能量差分,以幀為單位的特征向量由4個參數組成,其中1iN-1,以音節為單位的特征參數可以用下面的特征矩陣表示:

支持向量機只能處理相同維數的模式分類問題,所以要對提取到的不同維數的特征矩陣進行歸一化處理,本文選用基于勒讓德多項式系數的曲線擬合法,對不同維數的特征矩陣進行歸一化,將曲線擬合的系數組合成特征參數。

3.支持向量機設計

支持向量機(Support Vector Machine,SVM)是建立在統計學習理論基礎上的一種新型的模式分類器。目前SVM已在很多領域發揮了作用,包括模式識別(人臉識別、語音識別等)、數據挖掘、信號處理等。

SVM是從線性可分情況下的最優分類面發展而來的,基本思想可用圖1的兩維情況說明。

圖1中,方形點和圓形點代表兩類樣本,H為分類線,H1,H2分別為過各類中離分類線最近的樣本且平行于分類線的直線,它們之間的距離叫做分類間隔(margin)。所謂最優分類線就是要求分類線不但能將兩類正確分開(訓練錯誤率為0),而且使分類間隔最大.推廣到高維空間,最優分類線就變為最優分類面。

對非線性問題,可以通過非線性變換轉化為某個高維空間中的線性問題,在變換空間求最優分類面,分類函數為:,圖2是結構示意圖。其中K()表示內積函數,不同的內積函數會形成不同的算法,常用的內積函數有:線性核函數、多項式核函數、徑向基函數和Sigmoid核函數,文中選用徑向基核函數。

聲調共有四種,所以本文屬于多類模式的分類問題,目前常用的SVM多值分類器構造方法主要有“一對一”、“一對多”和SVM決策樹方法。因為“一對一”方法精度高、容錯性好,而四類聲調屬于較少的情況,所以選用“一對一”的分類方法?!耙粚σ弧狈椒ǖ脑硎鞘紫葹橐阎腒類訓練樣本訓練個支持矢量機,然后用這些二類支持矢量機對測試樣本進行分類。測試時,常用投票法,得票最多的類為測試樣本所屬的類。本文就是采取投票法。

4.MATLAB仿真

本文的訓練集共有400個音節,每個聲調有100個音節,測試集有20個音節,分別有a1,bei1,ben1,ao2,bie2,bo2,can2,bi2,b ao3,bie3,biao3,bai3,an4,ban4,bang4,ba o4,bei4,ben4,bian4,bo4,數字代表聲調,通過Matlab的GUI工具搭建仿真界面,系統由四部分組成,包括預處理,提取特征參數,SVM訓練,測試識別。首先語音信號要進行預處理,包括濾波,分幀,加窗,清濁音區分,其次要進行特征提取,對基頻和能量進行差分,差分計算的代碼為:

y1(i,:)=-2*y(i-2,:)-y(i-1,:)+y(i+1,:)+2*y(i+2,:),然后把f0,f0,engy,engy組成特征參數,利用曲線擬合法對不同維數的特征參數進行曲線擬合,擬合代碼為:

fun=inline('f(1)*a+f(2)*0.5*(3*a.^2-1)+f(3)*0.5*(5*a.^3-3*a)+f(4)*0.125*(35*a.^4-30*a.^2+3)','f','a')

[ff(:,t),res]=lsqcurvefit(fun,[0.5,0.5,0.5,0.5],j,g),擬合系數組成特征矩陣。下一步開始SVM訓練,訓練的時候把兩兩分類時的分類器結構信息進行保存,SVMStruct{ii}{jj}=svmtrain(X,Y,'Kernel_Function','rbf');

測試識別時,首先讀入兩兩分類時的分類器結構信息,然后利用投票策略進行分類識別,投票數最多的類就是識別結果。代碼為:Voting(:,iIndex)=Voting(:,iIndex)+(classes==1);

Voting(:,jIndex)=Voting(:,jIndex)+(classes==0);

識別結果如圖3所示。

從仿真結果可以看出20個測試音節都能被準確的識別出聲調來,說明SVM能有效的對四種聲調進行識別。

5.結束語

本文主要討論了支持向量機在聲調識別中的應用,以基頻、基頻差分、能量和能量差分組成的特征參數,然后設計了6個二分類支持向量機對聲調進行識別。從識別結果可以看出SVM對漢語聲調能有效的進行識別,具有很強的分類識別能力。

[1]鐘金宏,楊善林,蔣俊杰.漢語連續語音中聲調識別的特殊性研究[J].小型微型計算機系統,2002,23(4):470-473.

[2]肖漢光,蔡從中.基于SVM的非特定人聲調識別的研究[J].計算機工程與應用,2009,45(9):74-176.

[3]顧明亮,夏玉果,楊亦鳴.支持矢量機的漢語聲調識別[J].聲學技術,2007,26(6):1186-1190.

[4]傅德勝,李仕強,王水平.支持向量機的漢語連續語音聲調識別方法[J].計算機科學,2010,37(5):228-230.

[5]顧明亮,夏玉果,王勁松.噪聲環境下的漢語聲調識別[J].計算機技術與發展,2007,17(6):70-72.

[6]章文義,朱杰,徐向華.利用聲調提高中文連續數字串語音識別系統性能[J].上海交通大學學報,2004,38(2):185-188.

[7]趙瑞珍,宋國鄉,屈漢章.基于小波變換的漢語聲調識別新方法[J].信號處理,2000,16(4):357-361.

[8]趙春霞,徐近霈.一種漢語單音節基音提取與聲調識別方法[J].應用聲學,1989,9(3):31-37.

[9]魏瑞瑩,梁維謙.基于三音子模型連續語音聲調識別方法[J].電聲技術,2011,35(8):34-37.

[10]趙力,鄒采榮,吳鎮揚.基于連續分布型HMM的漢語連續語音的聲調識別方法[J].信號處理,2000,16(1):21-23.

[11]張瑞豐.精通MATLAB6.5[M].北京:中國水利水電出版社,2004.

[12][英]克里斯特安尼.支持向量機導論[M].李國正,王猛,曾華軍譯.北京:電子工業出版社,2004.

[13]董婷.支持向量機分類算法在MATLAB環境下的實現[J].榆林學院學報,2008,18(4):94-96.

[14]郭小薈,馬小平.基于MATLAB的支持向量機工具箱[J].計算機應用與軟件,2007,24(12):57-59.

猜你喜歡
基頻聲調特征參數
語音同一認定中音段長度對基頻分析的影響
基于時域的基頻感知語音分離方法?
冕洞特征參數與地磁暴強度及發生時間統計
聲調歌
拼音寶寶扛聲調
橋面鋪裝層對中小跨徑橋梁基頻影響分析
坐著轎車學聲調
單韻母扛聲調
基于PSO-VMD的齒輪特征參數提取方法研究
基于視頻的車輛特征參數算法研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合