梁青青,周小燕,趙春艷
(蘭州文理學(xué)院 傳媒工程學(xué)院,甘肅 蘭州 730000)
普通話作為中國(guó)這一多民族國(guó)家的通用語(yǔ)言,在推廣文化教育、提升全民族素質(zhì)、繁榮社會(huì)經(jīng)濟(jì)、促進(jìn)各民族、各地區(qū)之間的交流發(fā)揮著非常重要的作用[1].作為藏族學(xué)生,他們不僅要精通藏語(yǔ),還要掌握普通話,這不僅可以提高藏族學(xué)生的語(yǔ)言表達(dá)能力,還有利于他們適應(yīng)新時(shí)代復(fù)雜多變的社會(huì)結(jié)構(gòu).由于大部分藏族學(xué)生從小就用藏語(yǔ)交流,加上漢字儲(chǔ)備量不夠,導(dǎo)致藏族學(xué)生在學(xué)習(xí)普通話時(shí)存在不會(huì)發(fā)音、發(fā)音不準(zhǔn)確、自信心不足等問(wèn)題[2]近年來(lái),計(jì)算機(jī)輔助語(yǔ)音訓(xùn)練系統(tǒng) (Computer Assisted Pronunciation Training System,CAPT )因可以幫助學(xué)習(xí)者及時(shí)發(fā)現(xiàn)和糾正錯(cuò)誤發(fā)音,避免重復(fù)錯(cuò)誤發(fā)音形成習(xí)慣[3],提高學(xué)習(xí)者的學(xué)習(xí)效率而受到學(xué)者的關(guān)注.
計(jì)算機(jī)輔助語(yǔ)音訓(xùn)練系統(tǒng)的關(guān)鍵技術(shù)之一是精確的語(yǔ)音識(shí)別技術(shù).卷積神經(jīng)網(wǎng)絡(luò)(CNN)不僅可以顯著提高語(yǔ)音識(shí)別的準(zhǔn)確度,而且已經(jīng)成功應(yīng)用于CAPT中.IBM、微軟、百度等多家機(jī)構(gòu)相繼推出了自己的CNN模型,在英文領(lǐng)域識(shí)別準(zhǔn)確率達(dá)到95%,科大訊飛語(yǔ)音研究院王海坤等[4]提出了深度全序列卷積神經(jīng)網(wǎng)絡(luò)的語(yǔ)音識(shí)別框架,并為漢母語(yǔ)人群開發(fā)了普通話在線訓(xùn)練系統(tǒng).
基于上述研究,本文針對(duì)以藏語(yǔ)為母語(yǔ)的學(xué)習(xí)者發(fā)音偏誤問(wèn)題進(jìn)行研究,提出基于CNN-GRU-CTC的端到端的發(fā)音偏誤檢測(cè)方法[5],設(shè)計(jì)并錄制了藏族學(xué)生的普通話發(fā)音偏誤語(yǔ)料庫(kù).該語(yǔ)料庫(kù)覆蓋了所有音節(jié),設(shè)計(jì)了64種偏誤類型,錄制了7 200句語(yǔ)音語(yǔ)料進(jìn)行測(cè)試,通過(guò)實(shí)驗(yàn)精確找出具體的發(fā)音偏誤,并給出反饋,為他們提供面向計(jì)算機(jī)輔助發(fā)音訓(xùn)練系統(tǒng)的技術(shù).
漢語(yǔ)屬于漢藏語(yǔ)系,現(xiàn)代漢語(yǔ)是語(yǔ)素-音節(jié)文字.從記錄的語(yǔ)音單位來(lái)看,一個(gè)漢字和一個(gè)音節(jié)是相對(duì)應(yīng)的.一個(gè)漢字的讀音就是一個(gè)帶調(diào)音節(jié).除了零聲母外,音節(jié)由聲母和韻母構(gòu)成,而韻母又包括韻頭、韻腹和韻尾.一個(gè)音節(jié)可以沒(méi)有輔音聲母,也可以沒(méi)有韻頭和韻尾,但都有聲調(diào)和韻腹.構(gòu)成音節(jié)的漢語(yǔ)拼音有23個(gè)聲母,24個(gè)韻母,陰平、陽(yáng)平、上聲和去聲4個(gè)聲調(diào).
藏語(yǔ)是由字母組合形成的拼音文字,每個(gè)字母都有自己的發(fā)音.字母的組合是由音與音之間的拼合而組成的.藏語(yǔ)有30個(gè)輔音字母和4個(gè)元音字母,即所有藏文字都是由這34個(gè)字母組成的.
發(fā)音偏誤檢測(cè)需要對(duì)藏語(yǔ)發(fā)音者與漢語(yǔ)普通話發(fā)音偏誤情況進(jìn)行分析,文本語(yǔ)料庫(kù)應(yīng)具備以下條件:①文本語(yǔ)料庫(kù)應(yīng)覆蓋漢語(yǔ)普通話中所有由聲母、韻母和聲調(diào)組合而成的音節(jié);②藏語(yǔ)在發(fā)音時(shí)濁輔音和輔音韻尾趨于簡(jiǎn)化,在構(gòu)建文本語(yǔ)料庫(kù)時(shí)需要對(duì)這兩種情況做到全覆蓋;③需要考慮聲調(diào)發(fā)生變化的情況,例如:由2個(gè)三聲的字組成詞時(shí),第1個(gè)字通常需變?yōu)槎?一些詞語(yǔ)及句子中存在聲調(diào)變成輕聲的情況.
(1)錄音者應(yīng)該盡量選擇普通話發(fā)音不是很好的且藏語(yǔ)為母語(yǔ)的學(xué)生,他們平時(shí)說(shuō)普通話較少,發(fā)音更容易出錯(cuò),對(duì)發(fā)音偏誤檢測(cè)更具有代表性;
(2)錄音者在說(shuō)普通話時(shí)應(yīng)存在一定的口音,這樣對(duì)偏誤檢測(cè)覆蓋更廣泛;
(3)錄音環(huán)境選擇無(wú)背景噪聲的專用錄音棚,錄音設(shè)備選擇專用麥克風(fēng),通過(guò)電腦軟件提示聲音的頻率和音量大小,保證聲音大小前后一致,增加對(duì)檢測(cè)的準(zhǔn)確度;
(4)音頻語(yǔ)料的采樣率設(shè)置為44.1 kHz,采樣大小為16位.
按照以上要求,本文設(shè)計(jì)了1 200句以藏語(yǔ)為母語(yǔ)的學(xué)生學(xué)習(xí)普通話的文本語(yǔ)料,并以此建立藏族學(xué)生學(xué)習(xí)普通話的偏誤語(yǔ)音語(yǔ)料庫(kù).語(yǔ)料庫(kù)由6名(3男3女)藏族的大一學(xué)生參與錄制.
采用基于語(yǔ)音識(shí)別的框架,分別考察發(fā)音音素偏誤和發(fā)音聲調(diào)偏誤.
文中使用基于自動(dòng)語(yǔ)音識(shí)別(Automatic Speech Recognition,ASR)框架來(lái)進(jìn)行發(fā)音偏誤檢測(cè)[6],具體檢測(cè)的流程如圖1所示.系統(tǒng)首先輸入要檢測(cè)的語(yǔ)句,將學(xué)習(xí)者的語(yǔ)音通過(guò)ASR檢測(cè)器來(lái)進(jìn)行檢測(cè)識(shí)別,同時(shí)通過(guò)發(fā)音字典得到聲學(xué)模型的建模單元和語(yǔ)言模型建模單元間的映射關(guān)系,以及對(duì)應(yīng)的標(biāo)準(zhǔn)化轉(zhuǎn)錄[7];然后,系統(tǒng)根據(jù)識(shí)錄是否一致來(lái)判斷發(fā)音的正確性;最后,根據(jù)二者不同向發(fā)音者反饋糾正方法.
圖1 發(fā)音偏誤檢測(cè)流程
卷積神經(jīng)網(wǎng)絡(luò)(CNN)由輸入層、隱含層和輸出層組成,隱含層包括CNNV卷積層、ReLU激活層、Pool池化層、FC全連接層,具有學(xué)習(xí)能力[8].本文利用深度全序列卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行建模.它將一句語(yǔ)音轉(zhuǎn)換為一張圖像作為輸入,避免語(yǔ)音信號(hào)進(jìn)行傅里葉變換后使用濾波器來(lái)提取特征導(dǎo)致頻譜上信息的丟失.該模型由5部分組成,具體結(jié)構(gòu)如圖2所示.
圖2 CNN- GRU-CTC結(jié)構(gòu)
第1部分為輸入層,輸入完整包含原始頻譜信號(hào)的二維語(yǔ)譜圖.由于使用梯度下降算法進(jìn)行學(xué)習(xí),該數(shù)據(jù)不能直接放進(jìn)卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,因此,需要對(duì)其進(jìn)行標(biāo)準(zhǔn)化處理.為了使批處理中的所有語(yǔ)句長(zhǎng)度相同,需要對(duì)輸入數(shù)據(jù)進(jìn)行零填充;第2部分是卷積,主要對(duì)輸入數(shù)據(jù)進(jìn)行特征提取,這一部分包含了6個(gè)CNN層,2個(gè)最大池化MaxPool層,然后是對(duì)其進(jìn)行歸一化處理.這部分通過(guò)對(duì)輸入層的數(shù)據(jù)進(jìn)行提取和處理,得到詳細(xì)的聲學(xué)特征參數(shù);第3部分是GRU層,它可以更好地捕捉深層連接,并改善梯度消失問(wèn)題,用來(lái)獲得更詳細(xì)的時(shí)間聲學(xué)特征;第4部分是時(shí)間分布密集層(MLP)層[9],該層輸出值被傳遞到Softmax邏輯回歸進(jìn)行分類輸出;最后一部分是CTC輸出層,用來(lái)生成預(yù)測(cè)音素序列.
該模型將標(biāo)準(zhǔn)發(fā)音庫(kù)作為訓(xùn)練集,將偏誤發(fā)音庫(kù)作為測(cè)試集,語(yǔ)譜圖作為整個(gè)模型的輸入特征參數(shù)[10].首先對(duì)語(yǔ)音信號(hào)進(jìn)行加窗、分幀和提取語(yǔ)譜圖.本實(shí)驗(yàn)使用的窗函數(shù)為漢明窗,以20 ms為一幀,幀移為10 ms.卷積層是由3個(gè)卷積-卷積-池化對(duì)組成,卷積層參數(shù)包括卷積核大小、步長(zhǎng)和填充,6個(gè)卷積層的卷積核大小設(shè)置為3×3,步長(zhǎng)為2×2.MaxPool最大池化層左右是特征融合和降維,每個(gè)池化層的池化窗口大小設(shè)置為2×2.訓(xùn)練過(guò)程中學(xué)習(xí)率 (Learning Rate)設(shè)置為0.008,批次大小(Batch Size)設(shè)置為16,數(shù)據(jù)輪次(Epoch)設(shè)置為300次,采用 Tensorflow和Keras工具包來(lái)實(shí)現(xiàn)模型訓(xùn)練.
實(shí)驗(yàn)的結(jié)果共有4種:①正確接受(True Acceptance,TA).一個(gè)待測(cè)試正確發(fā)音樣本,經(jīng)過(guò)算法對(duì)比被檢測(cè)為正確發(fā)音;②錯(cuò)誤拒絕(False Acceptance,FA).一個(gè)待測(cè)試正確發(fā)音樣本,經(jīng)過(guò)算法對(duì)比被檢測(cè)為錯(cuò)誤發(fā)音;③錯(cuò)誤接受(False Acceptance,FR).一個(gè)待測(cè)試錯(cuò)誤發(fā)音樣本,經(jīng)過(guò)算法對(duì)比被檢測(cè)為正確發(fā)音;④正確拒絕(True Rejection,TR).一個(gè)待測(cè)試錯(cuò)誤發(fā)音樣本,經(jīng)過(guò)算法對(duì)比被檢測(cè)為錯(cuò)誤發(fā)音.
根據(jù)這4種檢測(cè)結(jié)果對(duì)系統(tǒng)的性能通過(guò)錯(cuò)誤接受率(False Acceptance Rate,FAR)、錯(cuò)誤拒絕率(False Rejection Rate,FRR)、檢測(cè)準(zhǔn)確率(Detection Accuracy Rate,DAR)來(lái)衡量.FAR(式1)表示發(fā)音者的錯(cuò)誤發(fā)音被系統(tǒng)認(rèn)為正確的百分比,FFR(式2)表示發(fā)音者的正確發(fā)音被系統(tǒng)認(rèn)為錯(cuò)誤的百分比,DAR(式3)表示系統(tǒng)的檢測(cè)結(jié)果與發(fā)音者的發(fā)音結(jié)果一致的百分比,這3個(gè)評(píng)計(jì)算公式為:
(1)
(2)
(3)
在上述3個(gè)評(píng)價(jià)指標(biāo)中,在保證較高正確率的前提下,降低另外兩類錯(cuò)誤率.實(shí)驗(yàn)結(jié)果表明,在該模型下,系統(tǒng)檢測(cè)準(zhǔn)確率為88.55%,錯(cuò)誤拒絕率為7.16%,聯(lián)合錯(cuò)誤率為14.94%,與文獻(xiàn)[11-13]相比各個(gè)指標(biāo)都取得了較好效果,不同模型實(shí)驗(yàn)結(jié)果如表1所列.同時(shí)本文的數(shù)據(jù)不需要手工標(biāo)注和強(qiáng)制對(duì)齊數(shù)據(jù),該模型可以檢測(cè)聲母、韻母和聲調(diào)偏誤,檢測(cè)范圍更廣.
表1 不同模型實(shí)驗(yàn)結(jié)果
為了分析具體的發(fā)音偏誤情況,本文將發(fā)音偏誤分為聲母偏誤、韻母偏誤和聲調(diào)偏誤3種類型,并對(duì)其做了統(tǒng)計(jì),對(duì)比情況如圖3所示.
圖3 3類偏誤占比對(duì)比
從圖3可知,藏族學(xué)生在學(xué)習(xí)普通話時(shí)聲調(diào)的偏誤最多,其次是韻母,聲母相對(duì)比較容易掌握.雖然漢語(yǔ)和藏語(yǔ)都屬于同一個(gè)語(yǔ)系,但是這兩者的聲調(diào)系統(tǒng)差異較大,在學(xué)習(xí)中需要加強(qiáng).
由于聲調(diào)的偏誤較多,本文在陰平、陽(yáng)平、上聲、去聲和輕聲中分析了每種聲調(diào)的偏誤情況,結(jié)果如圖4所示.
圖4 5種聲調(diào)發(fā)音偏誤檢測(cè)結(jié)果
從圖4可知,藏族學(xué)生在學(xué)習(xí)普通話時(shí),對(duì)陰平、上聲和去聲的區(qū)分程度較差,在學(xué)習(xí)的過(guò)程中需要對(duì)這3種聲調(diào)進(jìn)行加強(qiáng).陰平和輕聲相對(duì)比較容易感知,學(xué)習(xí)起來(lái)比較容易.
實(shí)驗(yàn)中藏族學(xué)生對(duì)普通話的21種聲母感知檢測(cè)如圖5所示.實(shí)驗(yàn)結(jié)果表明,藏族學(xué)生在普通話發(fā)音中,存在n與l、g與k、h與f分不清楚的情況,舌根前音z、c、s 和舌根后音zh、ch、sh也容易被混淆,這些聲母在學(xué)習(xí)中本就是難點(diǎn),因此這幾種情況需要特別加強(qiáng)練習(xí).
圖5 21種聲母發(fā)音偏誤檢測(cè)結(jié)果
38種韻母發(fā)音偏誤統(tǒng)計(jì)結(jié)果如圖6所示,本實(shí)驗(yàn)重點(diǎn)研究前10種偏誤情況,這10種韻母發(fā)音偏誤的統(tǒng)計(jì)結(jié)果如圖7所示.結(jié)果顯示,錯(cuò)誤頻率最高的為“Ng”,也就是日常的“嗯”字,該音容易被發(fā)音為“en”.另外發(fā)音偏誤主要集中在韻尾為“ng”的情況,也就是普通話中的后鼻音,多數(shù)情況下這種音節(jié)容易被發(fā)音為前鼻音,以上結(jié)果需要在學(xué)習(xí)時(shí)加強(qiáng)關(guān)注.
圖6 38種聲母發(fā)音偏誤檢測(cè)結(jié)果
圖7 10種高頻韻母發(fā)音偏誤檢測(cè)結(jié)果
本文設(shè)計(jì)并錄制了藏族學(xué)生學(xué)習(xí)普通話的發(fā)音偏誤語(yǔ)料庫(kù),建立了基于CNN-GRU-CTC模型的發(fā)音偏誤檢測(cè)系統(tǒng).實(shí)驗(yàn)結(jié)果表明該方法可以有效提供發(fā)音偏誤信息,為藏族學(xué)生學(xué)習(xí)普通話提供幫助.今后我們會(huì)選擇更多來(lái)自不同方言區(qū)的人加入語(yǔ)料錄制,繼續(xù)完善語(yǔ)料庫(kù)建設(shè),將其它深度學(xué)習(xí)方法應(yīng)用到發(fā)音偏誤檢測(cè)上提高檢測(cè)精度.