語(yǔ)音是人類最自然的交互方式。計(jì)算機(jī)發(fā)明之后,讓機(jī)器能夠“聽(tīng)懂”人類的語(yǔ)言,理解語(yǔ)言中的內(nèi)在含義,并能做出正確的回答就成為了人們追求的目標(biāo)。我們都希望像科幻電影中那些智能先進(jìn)的機(jī)器人助手一樣,在與人進(jìn)行語(yǔ)音交流時(shí),讓它聽(tīng)明白你在說(shuō)什么。語(yǔ)音識(shí)別技術(shù)將人類這一曾經(jīng)的夢(mèng)想變成了現(xiàn)實(shí)。語(yǔ)音識(shí)別就好比“機(jī)器的聽(tīng)覺(jué)系統(tǒng)”,該技術(shù)讓機(jī)器通過(guò)識(shí)別和理解,把語(yǔ)音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文本或命令。
語(yǔ)音識(shí)別技術(shù),也被稱為自動(dòng)語(yǔ)音識(shí)別AutomaTIc Speech RecogniTIon,(ASR),其目標(biāo)是將人類的語(yǔ)音中的詞匯內(nèi)容轉(zhuǎn)換為計(jì)算機(jī)可讀的輸入,例如按鍵、二進(jìn)制編碼或者字符序列。語(yǔ)音識(shí)別就好比“機(jī)器的聽(tīng)覺(jué)系統(tǒng)”,它讓機(jī)器通過(guò)識(shí)別和理解,把語(yǔ)音信號(hào)轉(zhuǎn)變?yōu)橄鄳?yīng)的文本或命令。
語(yǔ)音識(shí)別是一門涉及面很廣的交叉學(xué)科,它與聲學(xué)、語(yǔ)音學(xué)、語(yǔ)言學(xué)、信息理論、模式識(shí)別理論以及神經(jīng)生物學(xué)等學(xué)科都有非常密切的關(guān)系。語(yǔ)音識(shí)別技術(shù)正逐步成為計(jì)算機(jī)信息處理技術(shù)中的關(guān)鍵技術(shù)。
語(yǔ)音識(shí)別技術(shù)的發(fā)展
語(yǔ)音識(shí)別技術(shù)的研究最早開始于20世紀(jì)50年代, 1952 年貝爾實(shí)驗(yàn)室研發(fā)出了 10 個(gè)孤立數(shù)字的識(shí)別系統(tǒng)。從 20 世紀(jì) 60 年代開始,美國(guó)卡耐基梅隆大學(xué)的 Reddy 等開展了連續(xù)語(yǔ)音識(shí)別的研究,但是這段時(shí)間發(fā)展很緩慢。1969年貝爾實(shí)驗(yàn)室的 Pierce J 甚至在一封公開信中將語(yǔ)音識(shí)別比作近幾年不可能實(shí)現(xiàn)的事情。
20世紀(jì)80年代開始,以隱馬爾可夫模型(hidden Markov model,HMM)方法為代表的基于統(tǒng)計(jì)模型方法逐漸在語(yǔ)音識(shí)別研究中占據(jù)了主導(dǎo)地位。HMM模型能夠很好地描述語(yǔ)音信號(hào)的短時(shí)平穩(wěn)特性,并且將聲學(xué)、語(yǔ)言學(xué)、句法等知識(shí)集成到統(tǒng)一框架中。此后,HMM的研究和應(yīng)用逐漸成為了主流。例如,第一個(gè)“非特定人連續(xù)語(yǔ)音識(shí)別系統(tǒng)”是當(dāng)時(shí)還在卡耐基梅隆大學(xué)讀書的李開復(fù)研發(fā)的SPHINX系統(tǒng),其核心框架就是GMM-HMM框架,其中GMM(Gaussian mixture model,高斯混合模型)用來(lái)對(duì)語(yǔ)音的觀察概率進(jìn)行建模,HMM則對(duì)語(yǔ)音的時(shí)序進(jìn)行建模。
20世紀(jì)80年代后期,深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)的前身——人工神經(jīng)網(wǎng)絡(luò)(artificial neural network, ANN)也成為了語(yǔ)音識(shí)別研究的一個(gè)方向。但這種淺層神經(jīng)網(wǎng)絡(luò)在語(yǔ)音識(shí)別任務(wù)上的效果一般,表現(xiàn)并不如GMM-HMM 模型。
20世紀(jì)90年代開始,語(yǔ)音識(shí)別掀起了第一次研究和產(chǎn)業(yè)應(yīng)用的小高潮,主要得益于基于 GMM-HMM 聲學(xué)模型的區(qū)分性訓(xùn)練準(zhǔn)則和模型自適應(yīng)方法的提出。這時(shí)期劍橋發(fā)布的HTK開源工具包大幅度降低了語(yǔ)音識(shí)別研究的門檻。此后將近10年的時(shí)間里,語(yǔ)音識(shí)別的研究進(jìn)展一直比較有限,基于GMM-HMM 框架的語(yǔ)音識(shí)別系統(tǒng)整體效果還遠(yuǎn)遠(yuǎn)達(dá)不到實(shí)用化水平,語(yǔ)音識(shí)別的研究和應(yīng)用陷入了瓶頸。
2006 年 Hinton]提出使用受限波爾茲曼機(jī)(restricted Boltzmann machine,RBM)對(duì)神經(jīng)網(wǎng)絡(luò)的節(jié)點(diǎn)做初始化,即深度置信網(wǎng)絡(luò)(deep belief network,DBN)。DBN解決了深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程中容易陷入局部最優(yōu)的問(wèn)題,自此深度學(xué)習(xí)的大潮正式拉開。
2009 年,Hinton 和他的學(xué)生Mohamed D將 DBN 應(yīng)用在語(yǔ)音識(shí)別聲學(xué)建模中,并且在TIMIT這樣的小詞匯量連續(xù)語(yǔ)音識(shí)別數(shù)據(jù)庫(kù)上獲得成功。
2011 年 DNN 在大詞匯量連續(xù)語(yǔ)音識(shí)別上獲得成功,語(yǔ)音識(shí)別效果取得了近10年來(lái)最大的突破。從此,基于深度神經(jīng)網(wǎng)絡(luò)的建模方式正式取代GMM-HMM,成為主流的語(yǔ)音識(shí)別建模方式。
語(yǔ)音識(shí)別的基本原理
所謂語(yǔ)音識(shí)別,就是將一段語(yǔ)音信號(hào)轉(zhuǎn)換成相對(duì)應(yīng)的文本信息,系統(tǒng)主要包含特征提取、聲學(xué)模型,語(yǔ)言模型以及字典與解碼四大部分,其中為了更有效地提取特征往往還需要對(duì)所采集到的聲音信號(hào)進(jìn)行濾波、分幀等預(yù)處理工作,把要分析的信號(hào)從原始信號(hào)中提取出來(lái);之后,特征提取工作將聲音信號(hào)從時(shí)域轉(zhuǎn)換到頻域,為聲學(xué)模型提供合適的特征向量;聲學(xué)模型中再根據(jù)聲學(xué)特性計(jì)算每一個(gè)特征向量在聲學(xué)特征上的得分;而語(yǔ)言模型則根據(jù)語(yǔ)言學(xué)相關(guān)的理論,計(jì)算該聲音信號(hào)對(duì)應(yīng)可能詞組序列的概率;最后根據(jù)已有的字典,對(duì)詞組序列進(jìn)行解碼,得到最后可能的文本表示。
聲學(xué)信號(hào)預(yù)處理
作為語(yǔ)音識(shí)別的前提與基礎(chǔ),語(yǔ)音信號(hào)的預(yù)處理過(guò)程至關(guān)重要。在最終進(jìn)行模板匹配的時(shí)候,是將輸入語(yǔ)音信號(hào)的特征參數(shù)同模板庫(kù)中的特征參數(shù)進(jìn)行對(duì)比,因此,只有在預(yù)處理階段得到能夠表征語(yǔ)音信號(hào)本質(zhì)特征的特征參數(shù),才能夠?qū)⑦@些特征參數(shù)進(jìn)行匹配進(jìn)行識(shí)別率高的語(yǔ)音識(shí)別。
首先需要對(duì)聲音信號(hào)進(jìn)行濾波與采樣,此過(guò)程主要是為了排除非人體發(fā)聲以外頻率的信號(hào)與50Hz電流頻率的干擾,該過(guò)程一般是用一個(gè)帶通濾波器、設(shè)定上下戒指頻率進(jìn)行濾波,再將原有離散信號(hào)進(jìn)行量化處理實(shí)現(xiàn)的;之后需要平滑信號(hào)的高頻與低頻部分的銜接段,從而可以在同一信噪比條件下對(duì)頻譜進(jìn)行求解,使得分析更為方便快捷;分幀加窗操作是為了將原有頻域隨時(shí)間變化的信號(hào)具有短時(shí)平穩(wěn)特性,即將連續(xù)的信號(hào)用不同長(zhǎng)度的采集窗口分成一個(gè)個(gè)獨(dú)立的頻域穩(wěn)定的部分以便于分析,此過(guò)程主要是采用預(yù)加重技術(shù);最后還需要進(jìn)行端點(diǎn)檢測(cè)工作,也就是對(duì)輸入語(yǔ)音信號(hào)的起止點(diǎn)進(jìn)行正確判斷,這主要是通過(guò)短時(shí)能量(同一幀內(nèi)信號(hào)變化的幅度)與短時(shí)平均過(guò)零率(同一幀內(nèi)采樣信號(hào)經(jīng)過(guò)零的次數(shù))來(lái)進(jìn)行大致的判定。
聲學(xué)特征提取
完成信號(hào)的預(yù)處理之后,隨后進(jìn)行的就是整個(gè)過(guò)程中極為關(guān)鍵的特征提取的操作。將原始波形進(jìn)行識(shí)別并不能取得很好的識(shí)別效果,頻域變換后提取的特征參數(shù)用于識(shí)別,而能用于語(yǔ)音識(shí)別的特征參數(shù)必須滿足以下幾點(diǎn):
1、特征參數(shù)能夠盡量描述語(yǔ)音的根本特征;
2、盡量降低參數(shù)分量之間的耦合,對(duì)數(shù)據(jù)進(jìn)行壓縮;
3、應(yīng)使計(jì)算特征參數(shù)的過(guò)程更加簡(jiǎn)便,使算法更加高效。基音周期、共振峰值等參數(shù)都可以作為表征語(yǔ)音特性的特征參數(shù)。
目前主流研究機(jī)構(gòu)最常用到的特征參數(shù)有:線性預(yù)測(cè)倒譜系數(shù)(LPCC)和 Mel 倒譜系數(shù)(MFCC)。兩種特征參數(shù)在倒譜域上對(duì)語(yǔ)音信號(hào)進(jìn)行操作,前者以發(fā)聲模型作為出發(fā)點(diǎn),利用 LPC 技術(shù)求倒譜系數(shù)。后者則模擬聽(tīng)覺(jué)模型,把語(yǔ)音經(jīng)過(guò)濾波器組模型的輸出做為聲學(xué)特征,然后利用離散傅里葉變換(DFT)進(jìn)行變換。
所謂基音周期,是指聲帶振動(dòng)頻率(基頻)的振動(dòng)周期,因其能夠有效表征語(yǔ)音信號(hào)特征,因此從最初的語(yǔ)音識(shí)別研究開始,基音周期檢測(cè)就是一個(gè)至關(guān)重要的研究點(diǎn);所謂共振峰,是指語(yǔ)音信號(hào)中能量集中的區(qū)域,因其表征了聲道的物理特征,并且是發(fā)音音質(zhì)的主要決定條件,因此同樣是十分重要的特征參數(shù)。此外,目前也有許多研究者開始將深度學(xué)習(xí)中一些方法應(yīng)用在特征提取中,取得了較快的進(jìn)展。
聲學(xué)模型
聲學(xué)模型是語(yǔ)音識(shí)別系統(tǒng)中非常重要的一個(gè)組件,對(duì)不同基本單元的區(qū)分能力直接關(guān)系到識(shí)別結(jié)果的好壞。語(yǔ)音識(shí)別本質(zhì)上一個(gè)模式識(shí)別的過(guò)程,而模式識(shí)別的核心是分類器和分類決策的問(wèn)題。
通常,在孤立詞、中小詞匯量識(shí)別中使用動(dòng)態(tài)時(shí)間規(guī)整(DTW)分類器會(huì)有良好的識(shí)別效果,并且識(shí)別速度快,系統(tǒng)開銷小,是語(yǔ)音識(shí)別中很成功的匹配算法。但是,在大詞匯量、非特定人語(yǔ)音識(shí)別的時(shí)候,DTW 識(shí)別效果就會(huì)急劇下降,這時(shí)候使用隱馬爾科夫模型(HMM)進(jìn)行訓(xùn)練識(shí)別效果就會(huì)有明顯提升,由于在傳統(tǒng)語(yǔ)音識(shí)別中一般采用連續(xù)的高斯混合模型GMM來(lái)對(duì)狀態(tài)輸出密度函數(shù)進(jìn)行刻畫,因此又稱為GMM-HMM構(gòu)架。
同時(shí),隨著深度學(xué)習(xí)的發(fā)展,通過(guò)深度神經(jīng)網(wǎng)絡(luò)來(lái)完成聲學(xué)建模,形成所謂的DNN-HMM構(gòu)架來(lái)取代傳統(tǒng)的GMM-HMM構(gòu)架,在語(yǔ)音識(shí)別上也取得了很好的效果。
高斯混合模型
對(duì)于一個(gè)隨機(jī)向量 x,如果它的聯(lián)合概率密度函數(shù)符合公式2-9,則稱它服從高斯分布,并記為 x ~N(μ, Σ)。
其中,μ 為分布的期望,Σ 為分布的協(xié)方差矩陣。高斯分布有很強(qiáng)的近似真實(shí)世界數(shù)據(jù)的能力,同時(shí)又易于計(jì)算,因此被廣泛地應(yīng)用在各個(gè)學(xué)科之中。但是,仍然有很多類型的數(shù)據(jù)不好被一個(gè)高斯分布所描述。這時(shí)候我們可以使用多個(gè)高斯分布的混合分布來(lái)描述這些數(shù)據(jù),由多個(gè)分量分別負(fù)責(zé)不同潛在的數(shù)據(jù)來(lái)源。此時(shí),隨機(jī)變量符合密度函數(shù)。
其中,M 為分量的個(gè)數(shù),通常由問(wèn)題規(guī)模來(lái)確定。
我們稱認(rèn)為數(shù)據(jù)服從混合高斯分布所使用的模型為高斯混合模型。高斯混合模型被廣泛的應(yīng)用在很多語(yǔ)音識(shí)別系統(tǒng)的聲學(xué)模型中。考慮到在語(yǔ)音識(shí)別中向量的維數(shù)相對(duì)較大,所以我們通常會(huì)假設(shè)混合高斯分布中的協(xié)方差矩陣 Σm 為對(duì)角矩陣。這樣既大大減少了參數(shù)的數(shù)量,同時(shí)可以提高計(jì)算的效率。
使用高斯混合模型對(duì)短時(shí)特征向量建模有以下幾個(gè)好處:首先,高斯混合模型的具有很強(qiáng)的建模能力,只要分量總數(shù)足夠多,高斯混合模型就可以以任意精度來(lái)逼近一個(gè)概率分布函數(shù);另外,使用 EM 算法可以很容易地使模型在訓(xùn)練數(shù)據(jù)上收斂。對(duì)于計(jì)算速度和過(guò)擬合等問(wèn)題,人們還研究出了參數(shù)綁定的 GMM 和子空間高斯混合模型 (subspace GMM) 來(lái)解決。除了使用 EM 算法作最大似然估計(jì)以外,我們還可以使用和詞或音素錯(cuò)誤率直接相關(guān)的區(qū)分性的誤差函數(shù)來(lái)訓(xùn)練高斯混合模型,能夠極大地提高系統(tǒng)性能。因此,直到在聲學(xué)模型中使用深度神經(jīng)網(wǎng)絡(luò)的技術(shù)出現(xiàn)之前,高斯混合模型一直是短時(shí)特征向量建模的不二選擇。
但是,高斯混合模型同樣具有一個(gè)嚴(yán)重的缺點(diǎn):高斯混合模型對(duì)于靠近向量空間上一個(gè)非線性流形 (manifold) 上的數(shù)據(jù)建模能力非常差。例如,假設(shè)一些數(shù)據(jù)分布在一個(gè)球面兩側(cè),且距離球面非常近。如果使用一個(gè)合適的分類模型,我們可能只需要很少的參數(shù)就可以將球面兩側(cè)的數(shù)據(jù)區(qū)分開。但是,如果使用高斯混合模型描繪他們的實(shí)際分布情況,我們需要非常多的高斯分布分量才能足夠精確地刻畫。這驅(qū)使我們尋找一個(gè)能夠更有效利用語(yǔ)音信息進(jìn)行分類的模型。
隱馬爾科夫模型
我們現(xiàn)在考慮一個(gè)離散的隨機(jī)序列,若轉(zhuǎn)移概率符合馬爾可夫性質(zhì),即將來(lái)狀態(tài)和過(guò)去狀態(tài)獨(dú)立,則稱其為一條馬爾可夫鏈 (Markov Chain)。若轉(zhuǎn)移概率和時(shí)間無(wú)關(guān),則稱其為齊次 (homogeneous) 馬爾可夫鏈。馬爾可夫鏈的輸出和預(yù)先定義好的狀態(tài)一一對(duì)應(yīng),對(duì)于任意給定的狀態(tài),輸出是可觀測(cè)的,沒(méi)有隨機(jī)性。如果我們對(duì)輸出進(jìn)行擴(kuò)展,使馬爾可夫鏈的每個(gè)狀態(tài)輸出為一個(gè)概率分布函數(shù)。這樣的話?cǎi)R爾可夫鏈的狀態(tài)不能被直接觀測(cè)到,只能通過(guò)受狀態(tài)變化影響的符合概率分布的其他變量來(lái)推測(cè)。我們稱以這種以隱馬爾可夫序列假設(shè)來(lái)建模數(shù)據(jù)的模型為隱馬爾可夫模型。
對(duì)應(yīng)到語(yǔ)音識(shí)別系統(tǒng)中,我們使用隱馬爾可夫模型來(lái)刻畫一個(gè)音素內(nèi)部子狀態(tài)變化,來(lái)解決特征序列到多個(gè)語(yǔ)音基本單元之間對(duì)應(yīng)關(guān)系的問(wèn)題。
在語(yǔ)音識(shí)別任務(wù)中使用隱馬爾可夫模型需要計(jì)算模型在一段語(yǔ)音片段上的可能性。而在訓(xùn)練的時(shí)候,我們需要使用 Baum-Welch 算法[23] 學(xué)習(xí)隱馬爾可夫模型參數(shù),進(jìn)行最大似然估計(jì) (Maximum Likelihood Estimation, MLE)。Baum-Welch 算法是EM (Expectation-Maximization) 算法的一種特例,利用前后項(xiàng)概率信息迭代地依次進(jìn)行計(jì)算條件期望的 E 步驟和最大化條件期望的 M 步驟。
語(yǔ)言模型
語(yǔ)言模型主要是刻畫人類語(yǔ)言表達(dá)的方式習(xí)慣,著重描述了詞與詞在排列結(jié)構(gòu)上的內(nèi)在聯(lián)系。在語(yǔ)音識(shí)別解碼的過(guò)程中,在詞內(nèi)轉(zhuǎn)移參考發(fā)聲詞典、詞間轉(zhuǎn)移參考語(yǔ)言模型,好的語(yǔ)言模型不僅能夠提高解碼效率,還能在一定程度上提高識(shí)別率。語(yǔ)言模型分為規(guī)則模型和統(tǒng)計(jì)模型兩類,統(tǒng)計(jì)語(yǔ)言模型用概率統(tǒng)計(jì)的方法來(lái)刻畫語(yǔ)言單位內(nèi)在的統(tǒng)計(jì)規(guī)律,其設(shè)計(jì)簡(jiǎn)單實(shí)用而且取得了很好的效果,已經(jīng)被廣泛用于語(yǔ)音識(shí)別、機(jī)器翻譯、情感識(shí)別等領(lǐng)域。
最簡(jiǎn)單又卻又最常用的語(yǔ)言模型是 N 元語(yǔ)言模型 (N-gram Language Model,N-gram LM) 。N 元語(yǔ)言模型假設(shè)當(dāng)前在給定上文環(huán)境下,當(dāng)前詞的概率只與前N-1 個(gè)詞相關(guān)。于是詞序列 w1, . . . , wm 的概率 P(w1, . . . , wm) 可以近似為
為了得到公式中的每一個(gè)詞在給定上文下的概率,我們需要一定數(shù)量的該語(yǔ)言文本來(lái)估算。可以直接使用包含上文的詞對(duì)在全部上文詞對(duì)中的比例來(lái)計(jì)算該概率,即
對(duì)于在文本中未出現(xiàn)的詞對(duì),我們需要使用平滑方法來(lái)進(jìn)行近似,如 Good-Turing估計(jì)或 Kneser-Ney 平滑等。
解碼與字典
解碼器是識(shí)別階段的核心組件,通過(guò)訓(xùn)練好的模型對(duì)語(yǔ)音進(jìn)行解碼,獲得最可能的詞序列,或者根據(jù)識(shí)別中間結(jié)果生成識(shí)別網(wǎng)格 (lattice) 以供后續(xù)組件處理。解碼器部分的核心算法是動(dòng)態(tài)規(guī)劃算法 Viterbi。由于解碼空間非常巨大,通常我們?cè)趯?shí)際應(yīng)用中會(huì)使用限定搜索寬度的令牌傳遞方法 (token passing)。
傳統(tǒng)解碼器會(huì)完全動(dòng)態(tài)生成解碼圖 (decode graph),如著名語(yǔ)音識(shí)別工具HTK(HMM Tool Kit) 中的 HVite 和 HDecode 等。這樣的實(shí)現(xiàn)內(nèi)存占用較小,但考慮到各個(gè)組件的復(fù)雜性,整個(gè)系統(tǒng)的流程繁瑣,不方便高效地將語(yǔ)言模型和聲學(xué)模型結(jié)合起來(lái),同時(shí)更加難以擴(kuò)展。現(xiàn)在主流的解碼器實(shí)現(xiàn)會(huì)一定程度上使用預(yù)生成的有限狀態(tài)變換器 (Finite State Transducer, FST) 作為預(yù)加載的靜態(tài)解碼圖。
這里我們可以將語(yǔ)言模型 (G),詞匯表(L),上下文相關(guān)信息 (C),隱馬爾可夫模型(H)四個(gè)部分分別構(gòu)建為標(biāo)準(zhǔn)的有限狀態(tài)變換器,再通過(guò)標(biāo)準(zhǔn)的有限狀態(tài)變換器操作將他們組合起來(lái),構(gòu)建一個(gè)從上下文相關(guān)音素子狀態(tài)到詞的變換器。這樣的實(shí)現(xiàn)方法額外使用了一些內(nèi)存空間,但讓解碼器的指令序列變得更加整齊,使得一個(gè)高效的解碼器的構(gòu)建更加容易。同時(shí),我們可以對(duì)預(yù)先構(gòu)建的有限狀態(tài)變換器進(jìn)行預(yù)優(yōu)化,合并和剪掉不必要的部分,使得搜索空間變得更加合理
語(yǔ)音識(shí)別技術(shù)的工作原理
首先,我們知道聲音實(shí)際上是一種波。常見(jiàn)的mp3等格式都是壓縮格式,必須轉(zhuǎn)成非壓縮的純波形文件來(lái)處理,比如Windows PCM文件,也就是俗稱的wav文件。wav文件里存儲(chǔ)的除了一個(gè)文件頭以外,就是聲音波形的一個(gè)個(gè)點(diǎn)了。下圖是一個(gè)波形的示例。
圖中,每幀的長(zhǎng)度為25毫秒,每?jī)蓭g有25-10=15毫秒的交疊。我們稱為以幀長(zhǎng)25ms、幀移10ms分幀。
分幀后,語(yǔ)音就變成了很多小段。但波形在時(shí)域上幾乎沒(méi)有描述能力,因此必須將波形作變換。常見(jiàn)的一種變換方法是提取MFCC特征,根據(jù)人耳的生理特性,把每一幀波形變成一個(gè)多維向量,可以簡(jiǎn)單地理解為這個(gè)向量包含了這幀語(yǔ)音的內(nèi)容信息。這個(gè)過(guò)程叫做聲學(xué)特征提取。
至此,聲音就成了一個(gè)12行(假設(shè)聲學(xué)特征是12維)、N列的一個(gè)矩陣,稱之為觀察序列,這里N為總幀數(shù)。觀察序列如下圖所示,圖中,每一幀都用一個(gè)12維的向量表示,色塊的顏色深淺表示向量值的大小。
接下來(lái)就要介紹怎樣把這個(gè)矩陣變成文本了。首先要介紹兩個(gè)概念:
音素:?jiǎn)卧~的發(fā)音由音素構(gòu)成。對(duì)英語(yǔ),一種常用的音素集是卡內(nèi)基梅隆大學(xué)的一套由39個(gè)音素構(gòu)成的音素集。漢語(yǔ)一般直接用全部聲母和韻母作為音素集,另外漢語(yǔ)識(shí)別還分有調(diào)無(wú)調(diào),不詳述。
狀態(tài):這里理解成比音素更細(xì)致的語(yǔ)音單位就行啦。通常把一個(gè)音素劃分成3個(gè)狀態(tài)。
語(yǔ)音識(shí)別是怎么工作的呢?實(shí)際上一點(diǎn)都不神秘,無(wú)非是:
第一步,把幀識(shí)別成狀態(tài)。
第二步,把狀態(tài)組合成音素。
第三步,把音素組合成單詞。
如下圖所示:
圖中,每個(gè)小豎條代表一幀,若干幀語(yǔ)音對(duì)應(yīng)一個(gè)狀態(tài),每三個(gè)狀態(tài)組合成一個(gè)音素,若干個(gè)音素組合成一個(gè)單詞。也就是說(shuō),只要知道每幀語(yǔ)音對(duì)應(yīng)哪個(gè)狀態(tài)了,語(yǔ)音識(shí)別的結(jié)果也就出來(lái)了。
那每幀音素對(duì)應(yīng)哪個(gè)狀態(tài)呢?有個(gè)容易想到的辦法,看某幀對(duì)應(yīng)哪個(gè)狀態(tài)的概率最大,那這幀就屬于哪個(gè)狀態(tài)。比如下面的示意圖,這幀在狀態(tài)S3上的條件概率最大,因此就猜這幀屬于狀態(tài)S3。
那這些用到的概率從哪里讀取呢?有個(gè)叫“聲學(xué)模型”的東西,里面存了一大堆參數(shù),通過(guò)這些參數(shù),就可以知道幀和狀態(tài)對(duì)應(yīng)的概率。獲取這一大堆參數(shù)的方法叫做“訓(xùn)練”,需要使用巨大數(shù)量的語(yǔ)音數(shù)據(jù)。
但這樣做有一個(gè)問(wèn)題:每一幀都會(huì)得到一個(gè)狀態(tài)號(hào),最后整個(gè)語(yǔ)音就會(huì)得到一堆亂七八糟的狀態(tài)號(hào),相鄰兩幀間的狀態(tài)號(hào)基本都不相同。假設(shè)語(yǔ)音有1000幀,每幀對(duì)應(yīng)1個(gè)狀態(tài),每3個(gè)狀態(tài)組合成一個(gè)音素,那么大概會(huì)組合成300個(gè)音素,但這段語(yǔ)音其實(shí)根本沒(méi)有這么多音素。如果真這么做,得到的狀態(tài)號(hào)可能根本無(wú)法組合成音素。實(shí)際上,相鄰幀的狀態(tài)應(yīng)該大多數(shù)都是相同的才合理,因?yàn)槊繋芏獭?/p>
解決這個(gè)問(wèn)題的常用方法就是使用隱馬爾可夫模型(Hidden Markov Model,HMM)。這東西聽(tīng)起來(lái)好像很高深的樣子,實(shí)際上用起來(lái)很簡(jiǎn)單:
第一步,構(gòu)建一個(gè)狀態(tài)網(wǎng)絡(luò)。
第二步,從狀態(tài)網(wǎng)絡(luò)中尋找與聲音最匹配的路徑。
這樣就把結(jié)果限制在預(yù)先設(shè)定的網(wǎng)絡(luò)中,避免了剛才說(shuō)到的問(wèn)題,當(dāng)然也帶來(lái)一個(gè)局限,比如你設(shè)定的網(wǎng)絡(luò)里只包含了“今天晴天”和“今天下雨”兩個(gè)句子的狀態(tài)路徑,那么不管說(shuō)些什么,識(shí)別出的結(jié)果必然是這兩個(gè)句子中的一句。
那如果想識(shí)別任意文本呢?把這個(gè)網(wǎng)絡(luò)搭得足夠大,包含任意文本的路徑就可以了。但這個(gè)網(wǎng)絡(luò)越大,想要達(dá)到比較好的識(shí)別準(zhǔn)確率就越難。所以要根據(jù)實(shí)際任務(wù)的需求,合理選擇網(wǎng)絡(luò)大小和結(jié)構(gòu)。
搭建狀態(tài)網(wǎng)絡(luò),是由單詞級(jí)網(wǎng)絡(luò)展開成音素網(wǎng)絡(luò),再展開成狀態(tài)網(wǎng)絡(luò)。語(yǔ)音識(shí)別過(guò)程其實(shí)就是在狀態(tài)網(wǎng)絡(luò)中搜索一條最佳路徑,語(yǔ)音對(duì)應(yīng)這條路徑的概率最大,這稱之為“解碼”。路徑搜索的算法是一種動(dòng)態(tài)規(guī)劃剪枝的算法,稱之為Viterbi算法,用于尋找全局最優(yōu)路徑。
這里所說(shuō)的累積概率,由三部分構(gòu)成,分別是:
觀察概率:每幀和每個(gè)狀態(tài)對(duì)應(yīng)的概率
轉(zhuǎn)移概率:每個(gè)狀態(tài)轉(zhuǎn)移到自身或轉(zhuǎn)移到下個(gè)狀態(tài)的概率
語(yǔ)言概率:根據(jù)語(yǔ)言統(tǒng)計(jì)規(guī)律得到的概率
其中,前兩種概率從聲學(xué)模型中獲取,最后一種概率從語(yǔ)言模型中獲取。語(yǔ)言模型是使用大量的文本訓(xùn)練出來(lái)的,可以利用某門語(yǔ)言本身的統(tǒng)計(jì)規(guī)律來(lái)幫助提升識(shí)別正確率。語(yǔ)言模型很重要,如果不使用語(yǔ)言模型,當(dāng)狀態(tài)網(wǎng)絡(luò)較大時(shí),識(shí)別出的結(jié)果基本是一團(tuán)亂麻。
這樣基本上語(yǔ)音識(shí)別過(guò)程就完成了,這就是語(yǔ)音識(shí)別技術(shù)的工作原理。
語(yǔ)音識(shí)別技術(shù)的工作流程
一般來(lái)說(shuō),一套完整的語(yǔ)音識(shí)別系統(tǒng)其工作過(guò)程分為7步:
1、對(duì)語(yǔ)音信號(hào)進(jìn)行分析和處理,除去冗余信息。
2、提取影響語(yǔ)音識(shí)別的關(guān)鍵信息和表達(dá)語(yǔ)言含義的特征信息。
3、緊扣特征信息,用最小單元識(shí)別字詞。
4、按照不同語(yǔ)言的各自語(yǔ)法,依照先后次序識(shí)別字詞。
5、把前后意思當(dāng)作輔助識(shí)別條件,有利于分析和識(shí)別。
6、按照語(yǔ)義分析,給關(guān)鍵信息劃分段落,取出所識(shí)別出的字詞并連接起來(lái),同時(shí)根據(jù)語(yǔ)句意思調(diào)整句子構(gòu)成。
7、結(jié)合語(yǔ)義,仔細(xì)分析上下文的相互聯(lián)系,對(duì)當(dāng)前正在處理的語(yǔ)句進(jìn)行適當(dāng)修正。
語(yǔ)音識(shí)別原理有三點(diǎn):
1、對(duì)語(yǔ)音信號(hào)中的語(yǔ)言信息編碼是按照幅度譜的時(shí)間變化來(lái)進(jìn)行;
2、由于語(yǔ)音是可以閱讀的,也就是說(shuō)聲學(xué)信號(hào)可以在不考慮說(shuō)話人說(shuō)話傳達(dá)的信息內(nèi)容的前提下用多個(gè)具有區(qū)別性的、離散的符號(hào)來(lái)表示;
3、語(yǔ)音的交互是一個(gè)認(rèn)知過(guò)程,所以絕對(duì)不能與語(yǔ)法、語(yǔ)義和用語(yǔ)規(guī)范等方面分裂開來(lái)。
預(yù)處理,其中就包括對(duì)語(yǔ)音信號(hào)進(jìn)行采樣、克服混疊濾波、去除部分由個(gè)體發(fā)音的差異和環(huán)境引起的噪聲影響,此外還會(huì)考慮到語(yǔ)音識(shí)別基本單元的選取和端點(diǎn)檢測(cè)問(wèn)題。反復(fù)訓(xùn)練是在識(shí)別之前通過(guò)讓說(shuō)話人多次重復(fù)語(yǔ)音,從原始語(yǔ)音信號(hào)樣本中去除冗余信息,保留關(guān)鍵信息,再按照一定規(guī)則對(duì)數(shù)據(jù)加以整理,構(gòu)成模式庫(kù)。再者是模式匹配,它是整個(gè)語(yǔ)音識(shí)別系統(tǒng)的核心部分,是根據(jù)一定規(guī)則以及計(jì)算輸入特征與庫(kù)存模式之間的相似度,進(jìn)而判斷出輸入語(yǔ)音的意思。
前端處理,先對(duì)原始語(yǔ)音信號(hào)進(jìn)行處理,再進(jìn)行特征提取,消除噪聲和不同說(shuō)話人的發(fā)音差異帶來(lái)的影響,使處理后的信號(hào)能夠更完整地反映語(yǔ)音的本質(zhì)特征提取,消除噪聲和不同說(shuō)話人的發(fā)音差異帶來(lái)的影響,使處理后的信號(hào)能夠更完整地反映語(yǔ)音的本質(zhì)特征。
編輯:jq
-
WAV
+關(guān)注
關(guān)注
0文章
22瀏覽量
19135 -
語(yǔ)音識(shí)別
+關(guān)注
關(guān)注
38文章
1725瀏覽量
112565 -
MFCC
+關(guān)注
關(guān)注
0文章
12瀏覽量
9373 -
LPCC
+關(guān)注
關(guān)注
0文章
4瀏覽量
8177
原文標(biāo)題:語(yǔ)音識(shí)別技術(shù)概述
文章出處:【微信號(hào):WW_CGQJS,微信公眾號(hào):傳感器技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論