楊波
(武警廣西總隊(duì)參謀部,南寧530031)
語音識(shí)別是指將語音自動(dòng)轉(zhuǎn)換為文字的過程。在實(shí)際應(yīng)用中,語音識(shí)別通常與自然語言理解、自然語言生成及語音合成等技術(shù)相結(jié)合,提供一個(gè)基于語音的自然流暢的人機(jī)交互系統(tǒng)。語音識(shí)別技術(shù)的研究始于20世紀(jì)50年代初期,迄今為止已有六十多年的歷史。1952年,貝爾實(shí)驗(yàn)室研制了世界上第一個(gè)能識(shí)別十個(gè)英文數(shù)字的識(shí)別系統(tǒng)。20世紀(jì)80年代,基于馬爾科夫的建模方法推動(dòng)了語音識(shí)別技術(shù)的蓬勃發(fā)展。近十年來,語音識(shí)別的發(fā)展又取得了長(zhǎng)足的進(jìn)步,國(guó)內(nèi)外許多科研機(jī)構(gòu)研發(fā)出了各自的語音識(shí)別系統(tǒng),如微軟、科大訊飛、捷通華聲等。2011年,微軟的俞棟等人將深度神經(jīng)網(wǎng)絡(luò)成功應(yīng)用于語音識(shí)別任務(wù)中,在公共數(shù)據(jù)上詞錯(cuò)誤率相對(duì)降低了30%。
桂柳話是廣西地區(qū)方言文化,系屬西南官話的一種,是廣西壯族自治區(qū)通行最廣的漢語方言。作為面向東盟的前沿與窗口,廣西已先后成功承辦了16屆中國(guó)東盟博覽會(huì),通過深化東盟國(guó)際合作,精耕細(xì)作加速融入“一帶一路”建設(shè)。在廣西加快建設(shè)中國(guó)-東盟信息港大數(shù)據(jù)中心的形勢(shì)下,語音識(shí)別等人工智能技術(shù)的研究應(yīng)用,必將為新型智慧城市創(chuàng)新、網(wǎng)絡(luò)視聽產(chǎn)業(yè)基地建設(shè)等打下良好基礎(chǔ)。
循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,RNN)因其循環(huán)遞歸處理歷史數(shù)據(jù)和對(duì)歷史記憶進(jìn)行建模的特殊特性,適用于處理時(shí)間、空間序列上有強(qiáng)關(guān)聯(lián)的信息。循環(huán)神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)中的一個(gè)重要分支,近年來循環(huán)神經(jīng)網(wǎng)絡(luò)模型相關(guān)的研究發(fā)展迅速。其中的成功案例包括手寫字體識(shí)別、語音識(shí)別、自然語言處理和基于計(jì)算機(jī)視覺等序列問題。從生物神經(jīng)學(xué)角度看循環(huán)神經(jīng)網(wǎng)絡(luò),可以認(rèn)為其是對(duì)生物神經(jīng)系統(tǒng)環(huán)式鏈接的簡(jiǎn)單模擬,而這種環(huán)式鏈接在新大腦皮質(zhì)中是普遍存在的。這也從側(cè)面反映人類學(xué)習(xí)是一個(gè)動(dòng)態(tài)變化的過程,因而對(duì)神經(jīng)元的模擬在生物工程上有著重要的意義。
循環(huán)神經(jīng)網(wǎng)絡(luò)模型通過用于描述動(dòng)態(tài)的序列數(shù)據(jù),隨著時(shí)間的變化而動(dòng)態(tài)調(diào)整自身的網(wǎng)絡(luò)狀態(tài),并不斷循環(huán)傳遞,還可以接受廣泛的序列信息結(jié)構(gòu)作為輸入。不同于前饋神經(jīng)網(wǎng)絡(luò)(例如ANN、DNN、CNN等),循環(huán)神經(jīng)網(wǎng)絡(luò)模型更加重視網(wǎng)絡(luò)中的反饋?zhàn)饔?。由于存在著?dāng)前狀態(tài)與過去狀態(tài)或者與未來狀態(tài)的鏈接,循環(huán)神經(jīng)網(wǎng)絡(luò)模型可以具有一定的記憶功能。普通的深度神經(jīng)網(wǎng)絡(luò)是從左到右逐層傳遞的,其網(wǎng)絡(luò)的神經(jīng)元數(shù)據(jù)不斷向前傳遞直到輸出,所在層(當(dāng)前層)的神經(jīng)元之間并沒有連接關(guān)系;而循環(huán)神經(jīng)網(wǎng)絡(luò)不同于前饋式的神經(jīng)網(wǎng)絡(luò),其引入了定向循環(huán)機(jī)制,神經(jīng)元之間互相依賴、互相連接,因此能夠處理前后關(guān)聯(lián)的序列數(shù)據(jù)。
序列數(shù)據(jù)也可以被稱為“序列信號(hào)”,而序列信號(hào)幾乎無處不在,只要有先后關(guān)聯(lián)關(guān)系或者時(shí)間關(guān)系的信號(hào)數(shù)據(jù),都可以被認(rèn)為是序列數(shù)據(jù)。在我們生活的時(shí)間和空間里,身邊所發(fā)生的所有變化都可以使用序列數(shù)據(jù)來表示。如路由器根據(jù)訪問網(wǎng)絡(luò)的地址信息不斷地調(diào)整自身所攜帶的信息;淘寶會(huì)根據(jù)用戶點(diǎn)擊商品的順序,推測(cè)出其可能購(gòu)買的商品,進(jìn)而推薦相應(yīng)的商品廣告等,都是應(yīng)用序列數(shù)據(jù)的例子。正是因?yàn)樾蛄袛?shù)據(jù)無處不在,與我們的日常生活息息相關(guān),所以對(duì)序列數(shù)據(jù)建模顯得十分重要。循環(huán)神經(jīng)網(wǎng)絡(luò)模型在語音識(shí)別中有著重要的應(yīng)用,如使用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)模型輸入音頻數(shù)據(jù),可以快速預(yù)測(cè)其對(duì)應(yīng)的詞組,其準(zhǔn)確率可達(dá)到90%以上。另外,使用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)單通道音樂的人聲分離,實(shí)驗(yàn)結(jié)果表明該雙向循環(huán)神經(jīng)網(wǎng)絡(luò)模型能夠正確地從單通道的歌曲中分離出人聲和背景音樂,該技術(shù)可以應(yīng)用在手機(jī)麥克風(fēng)中,在嘈雜環(huán)境下過濾掉背景噪聲并提取出音頻信號(hào)中的原聲。
桂柳話通行于廣西壯族自治區(qū)五十六個(gè)縣市的縣城及圩鎮(zhèn)地區(qū),細(xì)分又有桂林話、柳州話、郴州話、荔浦話、平樂話等,其間有一些差別,桂林話受湖南話的影響比較多,而柳州話受廣東話、壯話的影響比較多。桂柳話主意系統(tǒng)排列為:聲母19個(gè),韻母37個(gè),聲調(diào)有4個(gè),外加一個(gè)入聲調(diào),共五個(gè)。此外,桂柳方言沒有明顯的輕聲和變調(diào)。桂柳話一般沒有漢語拼音的卷舌音zh(之),ch(吃),sh(師),r(日),分別以 z(資),c(此),s(斯),y(一)代替;er(而)等音節(jié)以 e(俄)代替,明顯特征是有鼻化韻、夾雜入聲(喉塞音)塞音尾(廣泛流行于其它地區(qū)的沒有入聲韻尾)。桂柳話存在大量合音現(xiàn)象,即將兩個(gè)甚至多個(gè)音節(jié)快速連讀合成一個(gè)音節(jié)。此現(xiàn)象使用頻率較高,廣泛存在于代詞、副詞以及語氣詞等常用詞匯中。一般來說,合音詞聲母取自合音上字,韻母取自合音詞下字,聲調(diào)來源于上字或者下字。就發(fā)音而言,桂柳話與普通話的音調(diào)關(guān)系∶第一聲(陰
自動(dòng)語音識(shí)別(Automatic Speech Recognition,ASR)是人工智能的重要入口,是一種讓機(jī)器通過識(shí)別和理解,把人類的語音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)文本的技術(shù)過程。早在20世紀(jì)90年代初期,就已經(jīng)出現(xiàn)眾多語音識(shí)別領(lǐng)域的研究人員試圖利用人工神經(jīng)網(wǎng)絡(luò)ANN進(jìn)行自動(dòng)語音識(shí)別方面的研究,可是大部分效果并不理想,原因主要有:語音數(shù)據(jù)有限、神經(jīng)網(wǎng)絡(luò)容易過擬合、計(jì)算資源有限等。而與此同時(shí),基于概率論的技術(shù)在語音識(shí)別領(lǐng)域得到蓬勃發(fā)展,例如高斯混合模型(Gaussian Mixture Model,GMM)、隱馬爾科夫模型(Hidden Markov Model,HMM)等。語音識(shí)別技術(shù)已經(jīng)出現(xiàn)了20多年,為何近年來才成為人工智能的主流技術(shù)呢?這要得益于深度學(xué)習(xí)技術(shù),將語音識(shí)別領(lǐng)域的準(zhǔn)確率提高到足以應(yīng)用于實(shí)際環(huán)境中。自動(dòng)語音識(shí)別技術(shù)提煉優(yōu)化為一個(gè)框架結(jié)構(gòu),該模型主要分為編碼(Encoder)和解碼(Decoder)階段,如圖 1所示。平)在方言里一般仍是第一聲,第二聲(陽平)一般是第三聲,第三聲(上聲)一般是第四聲,第四聲(去聲)一般是第二聲,沒有明顯的輕聲,說話時(shí)幾乎字字重讀,連語氣詞也有相當(dāng)確定的聲調(diào)。
圖1 語音識(shí)別系統(tǒng)框架
其中,編碼是將音頻數(shù)據(jù)作為輸入,轉(zhuǎn)換成音頻向量數(shù)據(jù);特征提取是通過算法或者音頻特征算法提取音頻向量,提取后的特征為“聲紋”,例如使用快速傅立葉變換(Fast Fourier Transform,F(xiàn)FT)對(duì)音頻數(shù)據(jù)進(jìn)行時(shí)域和頻域間的轉(zhuǎn)換;訓(xùn)練是從聲紋數(shù)據(jù)和字典中學(xué)習(xí)固定特征,用于生成聲學(xué)模型(Acoustic Model)和語言模型(Language Model),聲學(xué)模型用于識(shí)別語音向量,一般可以使用GMM或者循環(huán)神經(jīng)網(wǎng)絡(luò)等方法來識(shí)別向量,用HMM或者CTC來對(duì)齊輸出的結(jié)果,語言模型是根據(jù)語法、語義規(guī)則對(duì)聲學(xué)模型調(diào)整輸出的結(jié)果,例如修改與調(diào)整不符合邏輯規(guī)則的詞語;在語音識(shí)別領(lǐng)域中,大部分模型并不是以單詞作為基本單位,而是以音素作為基本的語音識(shí)別單位,音素是語音中最小的單位,依據(jù)音節(jié)里的發(fā)音動(dòng)作來分析,一個(gè)動(dòng)作構(gòu)成一個(gè)音素,音素分為元音和輔音兩大類,英語輔音和元音在語言中的作用就相當(dāng)于漢語中的聲母和韻母;解碼是將訓(xùn)練好的聲學(xué)模型和語言模型進(jìn)行組合,輸入新的聲紋特征,最終輸出其對(duì)應(yīng)的文本文字。
使用深度學(xué)習(xí)技術(shù)進(jìn)行語音識(shí)別,可以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的聲學(xué)模型,從簡(jiǎn)單的音頻數(shù)據(jù)開始,對(duì)其特征提取得到“聲紋”,通過循環(huán)神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn)一個(gè)聲學(xué)模型,最后解碼輸出該音頻數(shù)據(jù)所對(duì)應(yīng)的文本文字。不同的人會(huì)有不同的語速,說話方式和行為也會(huì)不一樣。例如,一個(gè)人可能會(huì)帶有疑問地說出“HEEEEEELLO?”,而另外一個(gè)人則可能很開心地說出“HELLOOOOOOOOOOO!”,這樣對(duì)應(yīng)同一個(gè)單詞會(huì)產(chǎn)生不同長(zhǎng)度的聲音文件。而語音識(shí)別的任務(wù)就是把上面兩個(gè)聲音文件都正確地識(shí)別為“HELLO”。把各種不同長(zhǎng)度的音頻文件自動(dòng)對(duì)齊到一個(gè)固定長(zhǎng)度的文本是一件很困難的事情,循環(huán)神經(jīng)網(wǎng)絡(luò)幫我們很好地解決了這一難題,它能在特征提取階段或是輸出階段對(duì)音素進(jìn)行對(duì)齊操作。
聲學(xué)模型承載著聲學(xué)特征與建模單元之間的映射關(guān)系。在訓(xùn)練聲學(xué)模型之前需要選取建模單元,建模單元可以是音素、章節(jié)、詞語等,其單元粒度依次增加。若采用詞語作為建模單元,每個(gè)詞語的長(zhǎng)度不等,從而導(dǎo)致聲學(xué)建模缺少靈活性;此外,由于詞語的粒度較大,很難充分訓(xùn)練基于詞語的模型,因此一般不采用詞語作為建模單元。相比之下,詞語中包含的音素是確定且有限的,利用大量的訓(xùn)練數(shù)據(jù)可以充分訓(xùn)練基于音素的模型,因此目前大多數(shù)聲學(xué)模型一般采用音素作為建模單元。語音中存在協(xié)同發(fā)音的現(xiàn)象,即音素是上下文相關(guān)的,故一般采用三音素進(jìn)行聲學(xué)建模。由于三音素的數(shù)量龐大,若訓(xùn)練數(shù)據(jù)有限,那么部分音素可能會(huì)存在訓(xùn)練不充分的問題,為了解決此問題,我們采用決策樹對(duì)三音素進(jìn)行聚類以減少三音素的數(shù)目。
基于深度神經(jīng)網(wǎng)絡(luò)的聲學(xué)模型是指用深度神經(jīng)網(wǎng)絡(luò)模型替換高斯混合模型,深度神經(jīng)網(wǎng)絡(luò)模型可以是深度循環(huán)神經(jīng)網(wǎng)絡(luò)和深度卷積網(wǎng)絡(luò)等。該模型的建模單元為聚類后的三音素狀態(tài),模型如圖2所示。圖中,神經(jīng)網(wǎng)絡(luò)用來估計(jì)觀察特征(語音特征)的觀測(cè)概率和語音信號(hào)的動(dòng)態(tài)變化(即狀態(tài)間的轉(zhuǎn)移概率)。Sn代表音素狀態(tài);hM代表第M個(gè)隱層。與基于高斯混合模型的聲學(xué)模型相比,這種基于深度神經(jīng)網(wǎng)絡(luò)的聲學(xué)模型具有兩方面的優(yōu)勢(shì):一是深度神經(jīng)網(wǎng)絡(luò)能利用語音特征的上下文信息;二是深度神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)非線性的更高層次特征表達(dá)。所以,基于深度神經(jīng)網(wǎng)絡(luò)的聲學(xué)模型性能顯著超越高斯混合模型的聲學(xué)模型,成為當(dāng)前主流的聲學(xué)建模技術(shù)。
圖2 基于RNN的聲學(xué)模型
循環(huán)神經(jīng)網(wǎng)絡(luò)模型擁有記憶功能,用于影響未來時(shí)間序列的輸出。首先把音頻分成每份20ms長(zhǎng)的音頻塊,即對(duì)應(yīng)音頻上的一幀數(shù)據(jù)。假設(shè)以每秒16000次的采樣頻率,那么一個(gè)20ms的音頻對(duì)應(yīng)320個(gè)采樣數(shù)據(jù)。雖然只有短短的20ms,但即使較短的音頻片段也是由不同頻率的聲音交織而成,其中包括低音、中音和高音。為了使得音頻數(shù)據(jù)更加容易地被循環(huán)神經(jīng)網(wǎng)絡(luò)處理,我們把一段連續(xù)的音頻聲波分解成很多段短暫的音頻采樣片段,例如剛才所說的20ms為間隔對(duì)音頻進(jìn)行切片采樣。深度神經(jīng)網(wǎng)絡(luò)的輸入是以20ms為單位的一幀,每一幀作為一個(gè)時(shí)間序列,使用音頻文件經(jīng)過聲學(xué)模型的前饋計(jì)算,可以得到每一幀音頻對(duì)應(yīng)的漢字。循環(huán)神經(jīng)網(wǎng)絡(luò)模型使用3層的GRU網(wǎng)絡(luò)模型,部分代碼如下:
Def gru_model(input_dim=161,output_dim=29,recur_layers=3,nodes=1024):
#RNN層
For I in range(recur_layers):
#GRU層
Output=GRU(nodes,activation=‘relu’,kernel_initializer=initialization,Return_sequences=True,name=‘rnn_{}’.format(i+1)(output)
#輸出層(Softmax)
Time_dense=TimeDistributed(Dense(output_dim))(output)
構(gòu)建語音識(shí)別框架、準(zhǔn)備語音數(shù)據(jù)、提取語音特征、建立聲學(xué)模型之后,就要對(duì)聲學(xué)模型進(jìn)行訓(xùn)練了。語音識(shí)別聲學(xué)模型的訓(xùn)練屬于監(jiān)督學(xué)習(xí),需要知道每一幀對(duì)應(yīng)的label標(biāo)簽才能進(jìn)行有效的訓(xùn)練。在傳統(tǒng)的語音識(shí)別聲學(xué)模型中,在對(duì)語音模型進(jìn)行訓(xùn)練之前,往往要求語音與文本進(jìn)行嚴(yán)格的對(duì)齊操作,但它實(shí)際并不是一種嚴(yán)格的對(duì)齊方式,而是一種較為寬松的對(duì)齊方式。本文設(shè)計(jì)的語音識(shí)別系統(tǒng),則是讓深度神經(jīng)網(wǎng)絡(luò)自己去學(xué)習(xí)對(duì)齊的方式,從而引入了連接時(shí)序分類(Connectionist Temporal Classification,CTC),CTC 層通過計(jì)算,使得輸入與輸出對(duì)應(yīng)起來,減少了大量的標(biāo)注時(shí)間,并使得聲學(xué)模型能夠做到端到端的有效訓(xùn)練。CTC借用了HMM中的向前向后算法來計(jì)算可能路徑,向前因子α和向后因子β定義為:
向前向后算法通過動(dòng)態(tài)規(guī)劃的思想來解決,其針對(duì)一個(gè)當(dāng)前標(biāo)簽u的全部路徑累加,被分解為以u(píng)為前綴的全部路徑的迭代累加,該迭代通過遞歸計(jì)算向前向后因子求得。經(jīng)過高強(qiáng)度訓(xùn)練的聲學(xué)模型,便可應(yīng)用于系統(tǒng)測(cè)試。語音識(shí)別系統(tǒng)測(cè)試界面如圖3所示。
圖3 系統(tǒng)測(cè)試界面
我國(guó)地大物博、人口眾多,屬于多民族國(guó)家,各地的方言也是多種多樣,研究基于地方方言的語音識(shí)別系統(tǒng)具有重要的現(xiàn)實(shí)意義。本文在深入分析研究語音識(shí)別技術(shù)及桂柳方言音頻特征的基礎(chǔ)上,利用RNN的深入學(xué)習(xí)技術(shù),構(gòu)建完整的桂柳方言語音識(shí)別系統(tǒng)。測(cè)試結(jié)果表明,通過特征提取及模型訓(xùn)練,該系統(tǒng)在室內(nèi)環(huán)境中對(duì)桂柳語音樣本測(cè)試的識(shí)別率可達(dá)92.7%,可以有效地在實(shí)際生活中桂柳方言對(duì)話場(chǎng)景進(jìn)行應(yīng)用,使人工智能技術(shù)能真正地服務(wù)于社會(huì)。