艾虎 李菲















摘? 要:方言的辨別可為案件偵破提供重要線索,本文針對貴州方言辨別提出一種有效的方言辨識模型,從貴州省6個地區采集時長不等的語音樣本,提取梅爾頻率倒譜系數MFCC,然后利用多級二維離散小波變換提取MFCC中的低頻分量同時進行壓縮,然后采用滑窗進行信息重疊分塊,對每塊進行奇異值分解并保留高貢獻率的特征向量,把分塊合并后轉換成一個3維矩陣作為方言辨識模型的輸入數據。先對卷積神經網絡進行改進,然后構建方言辨識模型,并采用交叉實驗對該模型進行訓練和驗證,從而對二維離散小波變換的級數和滑窗的寬度進行優化。實驗結果證明該模型對貴州方言辨識是高效的。
關鍵詞:漢語方言辨識;梅爾頻率倒譜系數;二維離散小波變換;奇異值分解;卷積神經網絡
中圖法分類號:TP391.4 文獻標志碼:A? 文章編號:2096-4706(2019)01-0005-06
Identification of Guizhou Dialect Based on Improved Convolutional Neural Network
AI Hu1,LI Fei2
(1.Department of Criminal Technology,Guizhou Police College,Guiyang? 550005,China;
2.The Education University of Hong Kong,Hong Kong? 999077,China)
Abstract:Chinese dialect identification may provide an important clue for forensic investigation. This paper has proposed an effective dialect identification model for Guizhou dialect identification. The authors extracted Mel frequency cepstral coefficients (MFCC) from speech samples of different time lengths collected from six regions in Guizhou province,then extracted low-frequency components in MFCC with multi-stage two-dimensional discrete wavelet transform (2-DWT) for compression,and then used the sliding window to conduct information overlapping blocking. The singular value of each block was decomposed and high contribution rate feature vectors were retained,and the blocks were combined and converted into a 3-dimensional matrix as the input data of the dialect identification model. Firstly,the convolutional neural network (CNN) is improved,then a dialect identification model is constructed,and the model is trained and verified by adopting a cross experiment,so that the stages of the two-dimensional discrete wavelet transform and the width of the sliding window are optimized. The experimental results show that the model is efficient for Guizhou dialect identification.
Keywords:Chinese dialect identification;mel frequency cepstrum coefficients;two-dimensional discrete wavelet transform;singular value decomposition;convolutional neural network
0? 引? 言
現代通訊工具在案件偵破中扮演著重要角色,對所產生的語音信息進行方言辨別可以判斷犯罪嫌疑人的原籍地或長期居留地,從而為案件偵破提供重要的線索。由于方言的發音差異主要體現在頻譜結構的時間變化上[1],所以梅爾頻率倒譜系數(Mel-Frequency Cepstral Coefficients,MFCC)[2]作為從語音樣本中所提取的特征參數廣泛應用于語音識別模型中。
目前,國內外語音識別的模型多不勝舉,為了提高語音識別的魯棒性,用于語音識別模型的方法包括區分性訓練(Discriminative Training,DT)[3,4]、因子分析(Factor Analysis,FA)[5,6]和全差異空間(Total Variability,TV)[7,8]等,用于聲學分類的模型包括隱馬爾可夫模型(HMM)[9]、深度神經網絡(DNN)[10]、卷積神經網絡(CNN)和多層反饋網絡(RNN)[11]等。由于目前漢語方言的辨別離實際的應用還有差距,所以采用新的方法構建漢語方言辨識模型很有必要。
為了提高卷積神經網絡的魯棒性,需要大量的語音訓練樣本,但大量的語音樣本會導致所提取的MFCC的數據量巨大,所以需要先對MFCC進行壓縮處理和提取更能反應方言差異的信息,然后構建方言辨識模型。本文從語音樣本中提取MFCC,然后采用多級二維離散小波分解壓縮和奇異分解處理數據,并對卷積神經網絡進行改進,最后建立高效的方言辨識模型。
1? 方言辨識模型描述
本文提出的方言辨識模型由兩部分組成,即樣本數據前處理和聲學分類模型。樣本數據前處理包括3級二維離散小波分解壓縮和奇異值分解,奇異值分解包括采用滑窗(寬度為100)進行有重疊的分塊操作、對每一分塊分別進行奇異值分解并保留10個奇異值和按順序合并分塊并轉換成1個16×16×N的3維矩陣作為聲學分類模型的輸入數據。聲學分類模型采用改進的卷積神經網絡,方言辨識模型結構如圖1所示。
2? 語音樣本的收集與MFCC的提取
本研究基于貴州省內,收集和整理了貴陽市、安順市、興義市、凱里市、都勻市和六盤水市6個地區的不同性別不同年齡的1000份方言語音樣本(年齡區間為15-60歲),收集的語音樣本時長20-300秒不等,其中800份方言語音樣本用來訓練CNN,200份方言語音樣本用來驗證CNN。語音采樣率為8000Hz,采樣點數256,幀長設為32ms,幀移10ms,所提取的特征參數據矩陣為24維,其全部組成為:12維MFCC系數和12維一階差分系數。所以一個語音樣本提取得到的MFCC是一個N×24的矩陣。
3? 樣本數據前處理
3.1? 二維離散小波變換與壓縮
小波變換(wavelet transform,WT)[12]是一種功能強大的時頻分析與處理方法,解決了Fourier變換的缺點,并廣泛應用于圖像處理、信號處理與模式辨識中。
首先對MFCC的轉置矩陣(24×N)進二維離散小波變換(2-DWT),分解成高頻分量與低頻分量[13],高頻分量表示的是圖片的細節,而低頻分量表示的是近似值,2-DWT如公式(1)所示,提取低頻分量,如公式(2)所示,公式(1)、(2)中i為假定值H、V和D的上標,M×N為圖像大小,j0為任意的開始尺度。
本文采用Matlab的雙正交小波bior3.7,其尺度函數與小波函數如圖2所示,對語音樣本“1-貴陽”的MFCC進行偽彩色編碼得到數字灰度圖像,對該數字灰度圖像進行4次2-DWT分解壓縮,每次只對前次的低頻分量進行2-DWT分解壓縮,對低頻分量的列數進行1/2降采樣,由于圖像的像素矩陣的列數遠遠大于行數,所以對于行數每次降采樣只減少1行,過程如圖1中的二維離散小波變換所示,從而利用2-DWT分解去除高頻分量而保留低頻分量同時也進行了壓縮,結果如圖3所示。
3.2? 奇異值分解SVD
奇異值分解[14](Singular Value Decomposition,SVD)在計算上直接、快速而且健壯。其用于從大量數據中尋找所隱含的相關性,主要應用于模式辨識和數據壓縮等方面。先把奇異值即特征向量按照重要性排列,然后去除不重要的特征向量保留重要的特征向量以此達到降維目的。
對語音樣本的MFCC進行2-DWT分解得到低頻分量的數據矩陣,由于該矩陣的列數依然很大,所以對低頻分量數據矩陣采用滑動窗口進行有重疊的分塊操作,滑動窗口的高度為低頻分量矩陣的行數,從而得到分塊矩陣A,N為被分塊矩陣的列數,M為滑動窗口的寬度(列數),t為橫向滑動的步長,如公式3所示:
對語音樣本“1-貴陽”中的MFCC轉置矩陣進行3級2-DWT分解提取低頻分量,對低頻分量進行滑動窗口分塊操作,滑動窗口的寬度設為M=100,橫向滑動的步長設為t=M/2,然后對每一分塊數據進行SVD分解,如圖1中奇異值分解所示。把得到的特征向量按貢獻率從大到小進行排序,并繪制貢獻率曲線圖,然后把所有分塊的貢獻率曲線圖合并在一起,如圖4所示。我們可以觀察到排列順序為11-15的特征向量的貢獻率幾乎為0,所以每個分塊只保留前10個特征向量,因此每個分塊由19×100的矩陣壓縮為19×10的矩陣,然后把壓縮后的每個分塊按順序橫向拼接成一個2維矩陣,映射成灰度圖像,結果如圖3所示。
3.3? 數據標準化
由于語音樣本錄制的時間長度參差不齊,每個語音樣本的MFCC矩陣經過轉置后通過2-DWT分解和SVD分解壓縮得到的數據矩陣的列數也不盡相同,所以必須對該數據矩陣按統一的長度(列數)進行無重疊分塊操作,變換成一個16×16×N的3維矩陣Pi,不同語音樣本的3維矩陣的N不盡相同。按語音樣本的輸入順序把Pi沿著第3維方向拼接成1個3維矩陣P=(P1,P2,P3,…,Pk),k為輸入的語音樣本數,P作為卷積神經網絡的輸入矩陣。語音樣本采集地共有6個,接采集地對語音樣本的進行編號,同一個地區采集的語音樣本用同一個編號,每一個輸入語音樣本的每一個16×16的2維矩陣對應一個6維輸出列向量ti,把編號的值賦給ti中與編號順序相對應的位置的元素,其它元素設為0,然后拼接成2維輸出矩陣Ti,然后再按語音樣本的輸入順序拼接成T=(T1,T2,T3,…,Tk),k為輸入的語音樣本數,T作為卷積神經網絡的輸出矩陣。
按上述的方法,把800份語音樣本轉換成訓練卷積神經網絡的輸入矩陣Px和輸出矩陣Tx,把200份樣本轉換成驗證卷積神經網絡的輸入矩陣Pt和輸出矩陣Tt。對于改進的卷積神經網絡,用于驗證的輸出矩陣Tt有所不同,每一個語音樣本的輸入矩陣Pi(3維)只對應一個輸出值,所以其用于驗證的輸出數據為k維行向量,k為輸入的語音樣本數。
為了使數據無量剛化并消除奇異樣本和后面數據處理的方便并加快收斂,對輸入矩陣進行歸一化處理。
4? 卷積神經網絡方言辨識模型
卷積神經網絡(Convolutional Neural Network,CNN)[15]最早由Yann LeCun提出并應用在手寫字體識別(MINST)上。卷積神經網絡仍然是層級網絡,是由傳統神經網絡改進而來。其優點是共享卷積核,對多維數據的處理能力,能對特征進行自動選取,通過訓練完成權重的設置,特征分類效果明顯,因此卷積神經網絡被廣泛應用于圖像識別中[16,18]。
4.1? 改進的卷積神經網絡
CNN一般由輸入層、特征提取層與分類器組成,本文所構建的CNN的特征提取層由2個卷積層與2個池化層組成,分類器采用BP神經網絡。一個2維矩陣輸入就會有一個分類輸出,考慮到一個語音樣本得到的輸入數據是一個3維矩陣,所以會有N個輸出,而且這N個輸出也不會完全相同,所以本研究在原有的CNN的基礎上加上分類儲存層F8與競爭輸出層O9,目的是在這N個輸出中選一個最合適的輸出作為該語音樣本的所屬類別,分類儲存層F8與競爭輸出層O9只用于CNN的仿真而不用于訓練。
由于語音樣本有6個采樣地區從而有6個類別,所以分類儲存層F8設6個結點,即分類儲存層F8中結點數等于語音樣本的采樣地區數,每一個節點分別對應一個采樣地區也就是說對應一個類別,并且與輸出層O7的6個結點中對應的結點相連接。一個語音樣本的3維矩陣中的每一個2維矩陣的輸入就會在輸出層O7有一個相應的6維列向量的輸出,然后把6維列向量中的數值最大的元素儲存在分類儲存層F8與之對應的節點中。
當一個語音樣本的輸入矩陣輸入完畢并把分類結果分別儲存于分類儲存層F8的結點中后,分類儲存層F8對各個節點中儲存的數據的個數進行分別求合,如公式6所示,然后輸入競爭輸出層O9中,在競爭輸出層O9中對求合的值進行比較,選出最大的求合值,如公式7所示,其對應的分類儲存層F8節點所對應的分類作為競爭輸出層的輸出,輸出的分類結果就是語音樣本的辨識結果。改進的卷積神經網絡如圖5所示,參數設置如表1所示。
Ss為分類儲存層F8第s個結點所儲存的值的數量,m為分類儲存層F8的結點總數,output為改進的CNN的輸出,如公式(6)、(7)所示:
4.2? 概率神經網絡的訓練
一個語音樣本的MFCC經過PCA和壓縮處理后得到一個數據矩陣,然后對該矩陣進行轉置,按語音樣本的輸入順序把不同樣本的數據矩陣橫向拼接,從而得到該概率神經網絡模型的輸入矩陣Pn。對上述位于貴州省的6個采樣地區進行1~6編號,同一個地區的語音樣本用相同的編號,每一個語音樣本中的每一個列向量對應該語音樣本的編號,從而一個語音樣本對應一個N維行向量ti,按語音樣本的輸入順序把不同樣本的ti進行橫向拼接,最后得到該模型的訓練數據集的輸出矩陣Tn。把輸入向量矩陣Pn和輸出向量Tn輸入到概率神經網絡PNN中,向量矩陣Pn構成樣本層,每一列向量對映一結點,樣本層結點的數目等于矩陣Pn列數。在求合層中,輸出向量Tn中值相同的元素構成同一結點,即求合層中結點數等于地區數,樣本層中的結點連接與其所屬地區相同的求合層結點。完成概率神經網絡模型的輸入矩陣Pn和輸出矩陣Tn的輸入,即完成概率神經網絡方言辨識模型的訓練。
平滑因子σ在概率神經網絡模型中很重要,太大會導致每個神經元響應區域交叉過多,會帶來精度問題,過小會導致過擬合[11]。為了方便確定平滑因子σ,采用Matlab的newpnn()函數構建另一個概率神經網絡,把上述的訓練數據分成數量相等的兩部分,一部分用于訓練,另一部分用于仿真,通過反復訓練與仿真確定平滑因子σ為0.1。該平滑因子σ=0.1同樣適用于本研究所構建的概率神經網絡方言辨識模型。
5? 實驗及結果與分析
電腦的配置:CPU為英特爾酷睿i7-4790@3.60GHz四核;顯卡為AMD Radeon R5 240(1GB/戴爾);內存為8GB(三星 DDR3 1600MHz)。
5.1? 交叉優化實驗
本文設計交叉試驗的目的是考察不同級數的2-DWT分解壓縮和SVD前的滑窗寬度的不同對CNN的辨識結果的影響,尋找最優的數據前處理的方法。2-DWT分解壓縮分別選擇(1,2,3,4)級,滑窗的寬度分別選擇(50,80,100,120)進行交叉試驗,以800份語音樣本作為訓練數據,以200份語音樣本作為驗證數據,然后分別對CNN和改進的CNN進行訓練和驗證。CNN的辨識結果是針對200份語音樣本的所有2維矩陣(16×16)的辨識結果的統計,如表2所示。
可以觀察到2-DWT分解壓縮選擇3級和滑窗寬度選擇100時模型辨識的正確率最高77.2727%,2-DWT分解壓縮級數與滑窗寬度過高或過低都會導致正確率的下降,如圖6所示。
而改進的CNN辨識結果是針對200份語音樣本的辨識結果的統計,如表3所示。
改進的CNN相對于CNN的辨識結果有一定的提升,正確辨識率最高為90.5%,2-DWT分解壓縮級數與滑窗寬度過高或過低都會導致正確率的下降,如圖7所示。
對于改進的CNN輸入一個語音樣本的3維矩陣(16×16×N),在輸出層O7得到N個辨識結果,然后把結果儲存在分類儲存層F8中。在分類儲存層F8中,如果正確辨識結果的數量>50%,或雖然正確辨識結果的數量≤50%,但是正確辨識的數量依然大于辨識為其它任何一個分類的數量時,語音樣本在競爭輸出層O9都能被正確辨識。改進的CNN的辨識時間隨著2-DWT分解級數與滑窗的寬度的增加而降底如圖8所示,而正確辨識率為90.5%的200份語音樣本的所用的辨識時間(不包括數據前處理)為10.1653秒,在實際事務的應用中屬于可接受的范圍,如果增強計算機的性能時間會縮短。
5.2? 時長不同的語音樣本試驗
把用于驗證的200份語音樣本按時長區間分成3組(時長20-100/秒50份,時長101-200秒70份,時長201-300/秒80份),每組分別用訓練好的改進的CNN辨識模型進行驗證,結果如圖9所示。可以看到語音樣本的時長越長,模型的正確辨識率越高。
6? 結? 論
本文針對貴州方言提出基于小波變換和奇異值分解的卷積神經網絡方言辨識模型,首先提取語音樣本中的MFCC,然后采用3級二維離散小波變換(2-DWT)和奇異值分解(SVD)提取MFCC中的低頻分量并進行壓縮和降維處理。根據輸入數據的特征對CNN辨識模型進行了改進,提高了方言辨識的正確率。通過交叉實驗對模型進行優化的同時也證明了方言辨識模型的有效性和實用性,而且用于辨識的語音樣本的時長越長,模型辨識的正確率越高。
參考文獻:
[1] BAKER W,EDDINGTON D,NAY L. DIALECT IDENTIFICATION:THE EFFECTS OF REGION OF ORIGION AND AMOUNT OF EXPERIENCE [J].American Speech,2009,84(1):48-71.
[2] ALAM MJ,KINNUNEN T,KENNY P,et al. Multitaper MFCC and PLP features for speaker verification using i-vectors [J]. Speech Communication,2013,55(2):237-251.
[3] BURGET L,MATEJKA P,CERNOCKY J. Discriminative Training Techniques for Acoustic Language Identification [C]//Acoustics,Speech and Signal Processing,2006. ICASSP 2006 Proceedings. 2006 IEEE International Conference on. S.l.:s.n.,2006,I:209-212.
[4] TSAI W H,CHANG W W. Discriminative training of Gaussian mixture bigram models with application to Chinese dialect identification [J]. Speech Communication,2002,36(3-4):317-326.
[5] BAHARI MH.Non-Negative Factor Analysis of Gaussian Mixture Model Weight Adaptation for Language and Dialect Recognition [J]. Audio,Speech,and Language Processing,IEEE/ACM Transactions on,2014,22(7):1117-1129.
[6] Yun Lei,HANSEN JHL. Factor analysis-based information integration for Arabic dialect identification [C]// Acoustics,Speech and Signal Processing,2009.ICASSP 2009. IEEE International Conference on Acoustics,2009:4337-4340.
[7] DEHAK N,KENNY P J,DEHAK R,et al. Front-end factor analysis for speaker verification [J]. IEEE Transactions on Audio,Speech and Language Processing,2011,19(4):788-798.
[8] Dehak N,Torres-Carrasquillo P A,Reynolds D A,et al. Language Recognition via Ivectors and Dimensionality Reduction [C]// Proceedings of Conference of the International Speech Communication Association,Florence,Italy,August,2011:857-860.
[9] PUCHER M,SCHABUS D,YAMAGISHI J ,et al. Modeling and interpolation of Austrian German and Viennese dialect in HMM-based speech synthesis [J]. Speech Communication,2010,52(2):164-179.
[10] Omar F.Zaidan,Chris Callison-Burch. Arabic Dialect Identification [J]. Computational Linguistics,2013,40(1):171-202.
[11] Andrew Hunt. Recurrent neural networks for syllabification [J]. Speech Communication,1993,13(3-4):323-332.
[12] Priyanka Singh,Priti Singh,Rakesh Kumar Sharma. JPEG Image Compression based on Biorthogonal,Coiflets and Daubechies Wavelet Families [J]. International Journal of Computer Applications,2011,13(1):1-7.
[13] Rafael C. Gonzalez Richard E,Woods. Digital Image Processing(3rd Edition) [M]. Beijing:Publishing House of Electronics Industry,2007:306-312.
[14] Press W H,Flannery B P,Teukolsky S A,et al. Numerical recipes in C:the art of scientific computing [M]. Cambridge:Cambridge University Press,1988.
[15] LECUN Y,BOTTOU L,BENGIO Y,et al. Gradient-based learning applied to document recognition [J]. Proceedings of the IEEE,1998,8(11):2278-2324.
[16] TURAGA C S,MURRAY F J,JAIN V,et al. Convolutional Networks Can Learn to Generate Affinity Graphs for Image Segmentation [J]. Neural Computation,2010,22(2):511-538.
[17] Yangyan Li,Hao Su,Charles Ruizhongtai Qi,et al. Joint embeddings of shapes and images via CNN image purification [J]. ACM Transactions on Graphics (TOG),2015,34(6):1-12.
[18] Li G,Yu Y. Visual Saliency Detection Based on Multiscale Deep CNN Features [J]. IEEE Transactions on Image Processing,2016,25(11):5012-5024.