余本國 郇晉俠 劉曉峰 高偉濤
(1.中北大學(xué)軟件學(xué)院 太原 030051)(2.海南醫(yī)學(xué)院醫(yī)學(xué)信息學(xué)院 ???571199)
隨著計(jì)算機(jī)科學(xué)技術(shù)發(fā)展,智能產(chǎn)品陸續(xù)實(shí)現(xiàn)了普通話的或孤立詞,或大量連續(xù)語音的識(shí)別功能并被廣泛地應(yīng)用于各個(gè)領(lǐng)域中,例如:教育的同聲傳譯、生活的智能家居以及基層公安的警務(wù)等。但是要實(shí)現(xiàn)大量的方言語音識(shí)別,當(dāng)前還有很多的挑戰(zhàn)目前人機(jī)交互已經(jīng)取得了顯著的成功,例如科大訊飛、百度等公司對(duì)各地方言庫的建立、自媒體中對(duì)方言的傳播以及藏語等少數(shù)民族的方言收錄。目前,最為常見的語音識(shí)別模型主要有高斯混合模型-隱馬爾可夫模型(GMM-HMM)和深度神經(jīng)網(wǎng)絡(luò)-隱馬爾可夫模型(DNN-HMM),而針對(duì)HMM的開發(fā)工具有兩個(gè),即美國約翰·霍普金斯大學(xué)開發(fā)的Kaldi和英國劍橋大學(xué)開發(fā)的HTK[1]。
根據(jù)國內(nèi)方言分布情況將31省劃分為九個(gè)方言區(qū)域[2]。山西地域復(fù)雜,雖然,地處華北平原西面的黃土高原上,屬于北方方言區(qū),但是,山西方言屬于“晉語”,中國北方唯一的“非官話”語言。針對(duì)山西各地方言建立一個(gè)相應(yīng)的語音庫即研究山西語言的緣起和發(fā)展,將這些地方特色語言用庫的形式保存下來,從而方便對(duì)當(dāng)?shù)匚幕驼Z言做研究以及更好的溝通交流。同時(shí),建立的方言庫可以應(yīng)用于本地的教育以及公安局破案等方面。
在《中國語言地圖集》中李榮先生將漢語方言劃分為官話區(qū)等十個(gè)大區(qū),晉語成為獨(dú)立的方言區(qū)。山西方言還在使用的最多的是名詞和動(dòng)詞,其次是形容詞,涵蓋社會(huì)各個(gè)層面。目前還在使用的部分方言發(fā)音如下:
名詞:“胰子”(香皂)、“記性”(記憶力)等;動(dòng)詞:“圪蹴”(蹲下)、“摳搜”(吝嗇)、“鋤倒”(摔倒)等;形容詞:“擺到”(不知道)等。
2.3.1 研究現(xiàn)狀
方言有著多雜亂的特點(diǎn),光語音采集就是一個(gè)巨量的工程。文獻(xiàn)[3]使用了基于DTW算法的HMM模型,針對(duì)于當(dāng)?shù)毓铝⒃~的識(shí)別,但是對(duì)于大量的連續(xù)語音識(shí)別效果不理想。文獻(xiàn)[4]構(gòu)建了一個(gè)深度神經(jīng)網(wǎng)絡(luò),詞錯(cuò)誤率下降,但是運(yùn)算時(shí)間和成本較高。
本文選擇傳統(tǒng)的GMM-HMM模型,從方言的語音特征入手,收集山西朔州語音語料,建立和訓(xùn)練模型,實(shí)現(xiàn)朔州的方言語音識(shí)別。實(shí)驗(yàn)數(shù)據(jù)表明,對(duì)于小區(qū)域差別小的方言地區(qū),GMM-HMM模型識(shí)別率較好且方便快捷。
2.3.2 應(yīng)用
目前,公安的安全領(lǐng)域系統(tǒng)都配備了普通話的語音識(shí)別系統(tǒng),用于平常的警務(wù)工作,例如:對(duì)犯罪嫌疑人和外來人口的身份以及歸屬地的確認(rèn)。但是日常交流使用方言,普通話的語音識(shí)別對(duì)方言識(shí)別率較低,人機(jī)交互低,對(duì)工作的效率影響較大,因此本文研究方言識(shí)別用于地方,加快辦案效率和提高人機(jī)交互。
普通話的識(shí)別系統(tǒng)主要涵蓋如下幾個(gè)部分。首先,將原始的信號(hào)轉(zhuǎn)換成為離散信號(hào)。其次,預(yù)處理離散的信號(hào)并提取特征向量。然后,依靠大量的語音語料、標(biāo)注文件和詞典(Lexicon),訓(xùn)練各個(gè)模型參數(shù),結(jié)合特定的模型算法,求得每個(gè)模型的參數(shù)。最后,在識(shí)別階段,使用模式匹配算法,以得到的概率大小判斷語音對(duì)應(yīng)的文本[5]。圖1是普通話語音識(shí)別圖。
圖1 普通話語音識(shí)別圖
山西方言語音識(shí)別,于方言有自身獨(dú)特的屬性,在連續(xù)的語音識(shí)別中,需要做大量的標(biāo)注工作。本文處理方法是建立一個(gè)自適應(yīng)詞典,將聲韻母與漢字一一對(duì)應(yīng)以達(dá)到一個(gè)標(biāo)注的過程。圖2是本系統(tǒng)方言語音識(shí)別圖。
圖2 方言語音識(shí)別圖
由于所錄制的語音環(huán)境不佳等因素,往往伴隨著一些雜音,這些因素對(duì)語音識(shí)別單位效果產(chǎn)生了很大的影響。因此要對(duì)輸入的語音信號(hào)首先要進(jìn)行預(yù)處理來消除無用語音的干擾;然后進(jìn)行數(shù)字化,將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)以便用計(jì)算機(jī)來處理[6],最后進(jìn)行預(yù)加重、分幀加窗等操作。
1)預(yù)加重。在低頻到高頻的一段范圍內(nèi),高頻部分會(huì)隨影響跌落。因此,使用信噪比計(jì)算和分析頻譜時(shí),升高高頻部分,使信號(hào)的平鋪?zhàn)兊闷秸F涔綖?/p>
2)分幀加窗。語音信號(hào)具有短時(shí)平穩(wěn)性,為得到短時(shí)的語音信號(hào),先將語音信號(hào)采樣點(diǎn)量化成一個(gè)觀測(cè)單位,再乘以漢明窗,以增加幀的左右端連續(xù)性。為防止相鄰幀變動(dòng)過大,讓鄰幀之間有一段堆疊區(qū)域,此堆疊區(qū)域包含N個(gè)取樣點(diǎn),通常N的值約為采樣點(diǎn)個(gè)數(shù)的1/3或1/2[7]。
特征參數(shù)提取方法主要有以下的三種類型,基于線性預(yù)測(cè)的倒譜系數(shù)(LPCC)分析法,基于Mel系數(shù)的Mel頻率倒譜系數(shù)(MFCC)分析法和基于現(xiàn)代處理技術(shù)的小波變換系數(shù)分析法[8]。由于人耳的特殊性,特征參數(shù)的選擇取決于是否接近人耳的感知特性[9]。因此,人們提出Mel頻率[10]來反映人耳對(duì)語音的感知狀況。又由于MFCC有較強(qiáng)的穩(wěn)健性,可以在嘈雜的環(huán)境下提取到穩(wěn)定的數(shù)據(jù),所以本文選擇使用MFCC提取特征參數(shù)。圖3是Mel頻率和線性頻率的關(guān)系,從圖中可以看出,它可以將不統(tǒng)一的頻率轉(zhuǎn)化為統(tǒng)一的頻率,也就是統(tǒng)一的濾波器組。Mel頻率計(jì)算公式:
圖3 Mel頻率和線性頻率關(guān)系圖
注:f為原始語音信號(hào)的頻率。
在語音識(shí)別過程中,聲學(xué)模型是語音識(shí)別系統(tǒng)的重要組成部分,它占據(jù)著語音識(shí)別大部分的計(jì)算開銷,決定著語音識(shí)別系統(tǒng)的性能[10]。諸如隱馬爾科夫模型(Hidden Markov Model,HMM)、人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)等各種方法生成的聲學(xué)模型效果不一。HMM已經(jīng)在傳統(tǒng)的ASR(Automatic Speech Recognition)中使用[11]。根據(jù)山西方言情況選擇GMM-HMM作為模型。
HMM是在馬爾可夫鏈上發(fā)展形成的,但是實(shí)際問題更為復(fù)雜,觀察到的事件并不是與狀態(tài)一一對(duì)應(yīng),而是由一組概率分布聯(lián)系在一起[12]。
GMM-HMM是一個(gè)統(tǒng)計(jì)模型,描述了兩個(gè)相互依賴的隨機(jī)過程,一個(gè)可觀察的過程,另一個(gè)隱藏的馬爾可夫過程。觀察序列被假設(shè)是由每一個(gè)隱藏狀態(tài)根據(jù)混合高斯分布所生成的[13]。一個(gè)GMM-HMM模型的參數(shù)集合由狀態(tài)先驗(yàn)概率、狀態(tài)轉(zhuǎn)移概率以及狀態(tài)相關(guān)的混合高斯模型參數(shù)三部分組成。
語言模型(language model,LM)廣泛用于機(jī)器翻譯、方言識(shí)別、語音合成中的自然語言處理。n元語法模型(n-gram)最為常見。在方言語音識(shí)別中,可以選擇的基元包括詞(word)、聲韻母(ini?tialfinal)和音素(phone)等。
為了研究和使用隱馬爾可夫模型(HMM)的相關(guān)實(shí)驗(yàn),英國劍橋大學(xué)特定開發(fā)了HTK(Hidden Morkov Model Toolkit)工具。它廣泛應(yīng)用于語音合成、方言識(shí)別和DNA排序等領(lǐng)域。不過HTK主要用以構(gòu)造基于HMM的語音識(shí)別工具。語音識(shí)別技術(shù)主要有語音識(shí)別單元的選取、模式匹配準(zhǔn)則、特征提取技術(shù)以及模型訓(xùn)練這四個(gè)方面。語音識(shí)別系統(tǒng)主要包含語音特征參數(shù)的數(shù)據(jù)準(zhǔn)備模塊、模型訓(xùn)練模塊、模型分析模塊和語音識(shí)別模塊[14]這四個(gè)模塊。如圖5所示,它主要有兩個(gè)處理階段。第一階段,HTK訓(xùn)練工具使用訓(xùn)練語音語料和對(duì)應(yīng)的標(biāo)注文件來訓(xùn)練HMM模型集的參數(shù);第二階段,通過使用HTK識(shí)別工具來識(shí)別未知的語音語料[15]。
圖5 參數(shù)內(nèi)容
本文中的語音識(shí)別系統(tǒng)是在Windows10平臺(tái)上使用HTK v3.4工具包開發(fā)的。以山西朔州為例,使用1000條方言詞句用于模型的訓(xùn)練。
“一切后續(xù)相關(guān)ASR的研究,都必須嚴(yán)格篩選有序的語音語料入庫”[16]。建立一個(gè)語音語料庫必須要做好如下的工作:科學(xué)的劃分方言區(qū)域、確定錄音人和相關(guān)設(shè)備、設(shè)計(jì)發(fā)音語料、對(duì)錄音進(jìn)行保真處理、對(duì)語音語料進(jìn)行標(biāo)注。
5.1.1 科學(xué)的劃分區(qū)域
朔州方言的語言特性逐漸從歷史、社會(huì)以及地理等因素演變而來的。根據(jù)《朔州方言志》,朔州分為六區(qū)縣。在已知的地域方言中,平魯區(qū)話和朔城區(qū)話大致相同,將平魯區(qū)和朔城區(qū)的的統(tǒng)一處理,使得口音劃分更加合理。在對(duì)朔州不同口音進(jìn)行地區(qū)錄取,結(jié)合所劃區(qū)域,錄音人大體分布在朔城區(qū)、懷仁縣、右玉縣、山陰縣、應(yīng)縣這五個(gè)區(qū)域。由于普通話受到城鎮(zhèn)化的影響,一些重要的方言特殊詞難以聽到,所以錄音人大多選擇口音濃重村鄉(xiāng)的成年人或者青年人。
圖4 HTK處理階段
5.1.2 音語料的設(shè)計(jì)
在各地方志中,記錄了很多具有地方特色的方言,并給出了一些語言現(xiàn)象的解讀。為了對(duì)比研究方言與普通話發(fā)音的出入,進(jìn)一步研究系統(tǒng)的方言,通過查閱《朔州方言志》,發(fā)現(xiàn)方言大體有二十個(gè)聲母,包括零聲母在內(nèi);有三十八個(gè)韻母,根據(jù)《朔州方言志》中的聲韻母表,將不同發(fā)音人的錄音進(jìn)行篩選和微調(diào),語音語料盡可能多地囊括詞匯,達(dá)到數(shù)據(jù)庫的完整性。
5.1.3 注
在識(shí)別過程中,就是使用Viterbi算法在所有搜索樹路徑中找出權(quán)值最高的候選路徑[17]。但是方言與普通話在個(gè)別字詞會(huì)產(chǎn)生音節(jié)的混亂,這時(shí)候要用標(biāo)注語音達(dá)到搜索目的。
在文獻(xiàn)[18]中,介紹了COCOA((Oxford Con?cordance Program)模式,但COCOA只能用來標(biāo)注有限的語篇信息;在文獻(xiàn)[19]中,標(biāo)注閩南話,所以選則了臺(tái)灣注音TLPA;清華大學(xué)數(shù)據(jù)集thchs30中標(biāo)注情況,是采用國際音標(biāo)(IPA)+聲調(diào)標(biāo)注方法,其中聲調(diào)采用數(shù)字1、2、3、4、5,代替《漢語拼音方案》中聲調(diào)陰平(ˉ),陽平(ˊ),上聲(ˇ),去聲(ˋ),輕聲(不標(biāo)調(diào))這幾個(gè)標(biāo)調(diào)符號(hào)。
山西朔州六區(qū)縣,同閩南情況差別大,由于山西朔州方言的多樣性,產(chǎn)生了多發(fā)音映射關(guān)系,參照清華大學(xué)數(shù)據(jù)集標(biāo)注情況,采取采用拼音+聲調(diào)變化相結(jié)合的方法進(jìn)行研究。通過整理發(fā)音規(guī)律,將標(biāo)準(zhǔn)普通話中的發(fā)音音節(jié)與方言的音節(jié)進(jìn)行替換,在標(biāo)準(zhǔn)的詞典中加入自適應(yīng)的朔州方言音節(jié),構(gòu)成朔州方言的自適應(yīng)詞典(Lexicon)。表1是普通話和帶有山西朔州方言音節(jié)的部分替代關(guān)系。
表1 普通話和帶有山西朔州的部分替代關(guān)系
在本系統(tǒng)中,采用的特征參數(shù)為MFCC(Mel Frequency Cepstral Coefficient),MFCC是Mel倒譜系數(shù)。在HTK中,使用HCopy工具,通過把每一個(gè)語音文件轉(zhuǎn)換成MFCC文件的方式將語音特征參數(shù)提取出來。在本系統(tǒng)中,各種參數(shù)內(nèi)容如圖6所示。
在模型開始訓(xùn)練前,初始化模型的參數(shù)并不重要。必須在訓(xùn)練之前根據(jù)訓(xùn)練數(shù)據(jù)正確初始化HMM模型參數(shù)[20]。通過使用HTK提供的訓(xùn)練工具:HInit/HRest或HCompv,初始化和迭訓(xùn)練模型,直到收斂。訓(xùn)練的樣本與迭代次數(shù)成正比,樣本越多,迭代次數(shù)越多,訓(xùn)練的模型也就越穩(wěn)定。
在已有的gram、自適應(yīng)Lexicon和HMM模型的基礎(chǔ)上,調(diào)用HVite識(shí)別器進(jìn)行識(shí)別,然后可以將識(shí)別后的結(jié)果放在MLF文件中。然后,調(diào)用HTK提供的HResults,將所有測(cè)試語料正確音節(jié)標(biāo)注的參考MLF文件和識(shí)別器輸出的MLF文件進(jìn)行比較,計(jì)算出相關(guān)參數(shù)以及識(shí)別率[21]。
為判斷訓(xùn)練的模型是否具有好得魯棒性和識(shí)別率,進(jìn)行如下測(cè)試:分為兩組,一組是理想環(huán)境下(實(shí)驗(yàn)室內(nèi)),一組為噪音環(huán)境(實(shí)驗(yàn)室外),14人(7男7女),在朔州方言的語音數(shù)據(jù)庫中,隨機(jī)挑選100條具有地方方言特色的詞句放入模型中,識(shí)別率只有53.6%。隨著加大方言的詞句和標(biāo)注信息放入本方言模型中訓(xùn)練,實(shí)驗(yàn)結(jié)果逐漸上升;HMM模型識(shí)別率具有很好的穩(wěn)定性,但噪音環(huán)境與理想環(huán)境識(shí)別率存在差別。測(cè)試結(jié)果如表2~表3。
表2 理想環(huán)境下測(cè)試結(jié)果
表3 噪音環(huán)境下測(cè)試結(jié)果
本文將朔州方言語音進(jìn)行預(yù)處理、特征參數(shù)提取后,建立了方言詞匯的自適應(yīng)詞典(Lexicon)和HMM模型,采用HTK對(duì)山西當(dāng)?shù)胤窖缘恼Z音識(shí)別進(jìn)行系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。實(shí)驗(yàn)數(shù)據(jù)表明,男女發(fā)音的識(shí)別率會(huì)有不同,識(shí)別的效果也隨數(shù)據(jù)量的增加而逐漸提高。但是,各地方言口音不同導(dǎo)致訓(xùn)練的模型識(shí)別率不同;HTK中語法gram需要窮舉,更適應(yīng)于小范圍識(shí)別。在未來的工作中,應(yīng)建立完善的山西方言語言語料庫和完整的訓(xùn)練模型庫,以實(shí)現(xiàn)整個(gè)山西方言的語音識(shí)別。