語(yǔ)音識別技術(shù)概述
語(yǔ)音是人類(lèi)最自然的交互方式。計算機發(fā)明之后,讓機器能夠“聽(tīng)懂”人類(lèi)的語(yǔ)言,理解語(yǔ)言中的內在含義,并能做出正確的回答就成為了人們追求的目標。我們都希望像科幻電影中那些智能先進(jìn)的機器人助手一樣,在與人進(jìn)行語(yǔ)音交流時(shí),讓它聽(tīng)明白你在說(shuō)什么。語(yǔ)音識別技術(shù)將人類(lèi)這一曾經(jīng)的夢(mèng)想變成了現實(shí)。語(yǔ)音識別就好比“機器的聽(tīng)覺(jué)系統”,該技術(shù)讓機器通過(guò)識別和理解,把語(yǔ)音信號轉變?yōu)橄鄳奈谋净蛎睢?/span>

語(yǔ)音識別技術(shù),也被稱(chēng)為自動(dòng)語(yǔ)音識別AutomaTIc Speech RecogniTIon,(ASR),其目標是將人類(lèi)的語(yǔ)音中的詞匯內容轉換為計算機可讀的輸入,例如按鍵、二進(jìn)制編碼或者字符序列。語(yǔ)音識別就好比“機器的聽(tīng)覺(jué)系統”,它讓機器通過(guò)識別和理解,把語(yǔ)音信號轉變?yōu)橄鄳奈谋净蛎睢?/p>
語(yǔ)音識別是一門(mén)涉及面很廣的交叉學(xué)科,它與聲學(xué)、語(yǔ)音學(xué)、語(yǔ)言學(xué)、信息理論、模式識別理論以及神經(jīng)生物學(xué)等學(xué)科都有非常密切的關(guān)系。語(yǔ)音識別技術(shù)正逐步成為計算機信息處理技術(shù)中的關(guān)鍵技術(shù)。
語(yǔ)音識別技術(shù)的發(fā)展
語(yǔ)音識別技術(shù)的研究最早開(kāi)始于20世紀50年代, 1952 年貝爾實(shí)驗室研發(fā)出了 10 個(gè)孤立數字的識別系統。從 20 世紀 60 年代開(kāi)始,美國卡耐基梅隆大學(xué)的 Reddy 等開(kāi)展了連續語(yǔ)音識別的研究,但是這段時(shí)間發(fā)展很緩慢。1969年貝爾實(shí)驗室的 Pierce J 甚至在一封公開(kāi)信中將語(yǔ)音識別比作近幾年不可能實(shí)現的事情。
20世紀80年代開(kāi)始,以隱馬爾可夫模型(hidden Markov model,HMM)方法為代表的基于統計模型方法逐漸在語(yǔ)音識別研究中占據了主導地位。HMM模型能夠很好地描述語(yǔ)音信號的短時(shí)平穩特性,并且將聲學(xué)、語(yǔ)言學(xué)、句法等知識集成到統一框架中。此后,HMM的研究和應用逐漸成為了主流。例如,第一個(gè)“非特定人連續語(yǔ)音識別系統”是當時(shí)還在卡耐基梅隆大學(xué)讀書(shū)的李開(kāi)復研發(fā)的SPHINX系統,其核心框架就是GMM-HMM框架,其中GMM(Gaussian mixture model,高斯混合模型)用來(lái)對語(yǔ)音的觀(guān)察概率進(jìn)行建模,HMM則對語(yǔ)音的時(shí)序進(jìn)行建模。
20世紀80年代后期,深度神經(jīng)網(wǎng)絡(luò )(deep neural network,DNN)的前身——人工神經(jīng)網(wǎng)絡(luò )(artificial neural network, ANN)也成為了語(yǔ)音識別研究的一個(gè)方向。但這種淺層神經(jīng)網(wǎng)絡(luò )在語(yǔ)音識別任務(wù)上的效果一般,表現并不如GMM-HMM 模型。
20世紀90年代開(kāi)始,語(yǔ)音識別掀起了第一次研究和產(chǎn)業(yè)應用的小高潮,主要得益于基于 GMM-HMM 聲學(xué)模型的區分性訓練準則和模型自適應方法的提出。這時(shí)期劍橋發(fā)布的HTK開(kāi)源工具包大幅度降低了語(yǔ)音識別研究的門(mén)檻。此后將近10年的時(shí)間里,語(yǔ)音識別的研究進(jìn)展一直比較有限,基于GMM-HMM 框架的語(yǔ)音識別系統整體效果還遠遠達不到實(shí)用化水平,語(yǔ)音識別的研究和應用陷入了瓶頸。

2006 年 Hinton]提出使用受限波爾茲曼機(restricted Boltzmann machine,RBM)對神經(jīng)網(wǎng)絡(luò )的節點(diǎn)做初始化,即深度置信網(wǎng)絡(luò )(deep belief network,DBN)。DBN解決了深度神經(jīng)網(wǎng)絡(luò )訓練過(guò)程中容易陷入局部最優(yōu)的問(wèn)題,自此深度學(xué)習的大潮正式拉開(kāi)。
2009 年,Hinton 和他的學(xué)生Mohamed D將 DBN 應用在語(yǔ)音識別聲學(xué)建模中,并且在TIMIT這樣的小詞匯量連續語(yǔ)音識別數據庫上獲得成功。
2011 年 DNN 在大詞匯量連續語(yǔ)音識別上獲得成功,語(yǔ)音識別效果取得了近10年來(lái)最大的突破。從此,基于深度神經(jīng)網(wǎng)絡(luò )的建模方式正式取代GMM-HMM,成為主流的語(yǔ)音識別建模方式。
語(yǔ)音識別的基本原理
所謂語(yǔ)音識別,就是將一段語(yǔ)音信號轉換成相對應的文本信息,系統主要包含特征提取、聲學(xué)模型,語(yǔ)言模型以及字典與解碼四大部分,其中為了更有效地提取特征往往還需要對所采集到的聲音信號進(jìn)行濾波、分幀等預處理工作,把要分析的信號從原始信號中提取出來(lái);之后,特征提取工作將聲音信號從時(shí)域轉換到頻域,為聲學(xué)模型提供合適的特征向量;聲學(xué)模型中再根據聲學(xué)特性計算每一個(gè)特征向量在聲學(xué)特征上的得分;而語(yǔ)言模型則根據語(yǔ)言學(xué)相關(guān)的理論,計算該聲音信號對應可能詞組序列的概率;最后根據已有的字典,對詞組序列進(jìn)行解碼,得到最后可能的文本表示。

聲學(xué)信號預處理
作為語(yǔ)音識別的前提與基礎,語(yǔ)音信號的預處理過(guò)程至關(guān)重要。在最終進(jìn)行模板匹配的時(shí)候,是將輸入語(yǔ)音信號的特征參數同模板庫中的特征參數進(jìn)行對比,因此,只有在預處理階段得到能夠表征語(yǔ)音信號本質(zhì)特征的特征參數,才能夠將這些特征參數進(jìn)行匹配進(jìn)行識別率高的語(yǔ)音識別。
首先需要對聲音信號進(jìn)行濾波與采樣,此過(guò)程主要是為了排除非人體發(fā)聲以外頻率的信號與50Hz電流頻率的干擾,該過(guò)程一般是用一個(gè)帶通濾波器、設定上下戒指頻率進(jìn)行濾波,再將原有離散信號進(jìn)行量化處理實(shí)現的;之后需要平滑信號的高頻與低頻部分的銜接段,從而可以在同一信噪比條件下對頻譜進(jìn)行求解,使得分析更為方便快捷;分幀加窗操作是為了將原有頻域隨時(shí)間變化的信號具有短時(shí)平穩特性,即將連續的信號用不同長(cháng)度的采集窗口分成一個(gè)個(gè)獨立的頻域穩定的部分以便于分析,此過(guò)程主要是采用預加重技術(shù);最后還需要進(jìn)行端點(diǎn)檢測工作,也就是對輸入語(yǔ)音信號的起止點(diǎn)進(jìn)行正確判斷,這主要是通過(guò)短時(shí)能量(同一幀內信號變化的幅度)與短時(shí)平均過(guò)零率(同一幀內采樣信號經(jīng)過(guò)零的次數)來(lái)進(jìn)行大致的判定。
聲學(xué)特征提取
完成信號的預處理之后,隨后進(jìn)行的就是整個(gè)過(guò)程中極為關(guān)鍵的特征提取的操作。將原始波形進(jìn)行識別并不能取得很好的識別效果,頻域變換后提取的特征參數用于識別,而能用于語(yǔ)音識別的特征參數必須滿(mǎn)足以下幾點(diǎn):
1、特征參數能夠盡量描述語(yǔ)音的根本特征;
2、盡量降低參數分量之間的耦合,對數據進(jìn)行壓縮;
3、應使計算特征參數的過(guò)程更加簡(jiǎn)便,使算法更加高效?;糁芷?、共振峰值等參數都可以作為表征語(yǔ)音特性的特征參數。
目前主流研究機構最常用到的特征參數有:線(xiàn)性預測倒譜系數(LPCC)和 Mel 倒譜系數(MFCC)。兩種特征參數在倒譜域上對語(yǔ)音信號進(jìn)行操作,前者以發(fā)聲模型作為出發(fā)點(diǎn),利用 LPC 技術(shù)求倒譜系數。后者則模擬聽(tīng)覺(jué)模型,把語(yǔ)音經(jīng)過(guò)濾波器組模型的輸出做為聲學(xué)特征,然后利用離散傅里葉變換(DFT)進(jìn)行變換。
所謂基音周期,是指聲帶振動(dòng)頻率(基頻)的振動(dòng)周期,因其能夠有效表征語(yǔ)音信號特征,因此從最初的語(yǔ)音識別研究開(kāi)始,基音周期檢測就是一個(gè)至關(guān)重要的研究點(diǎn);所謂共振峰,是指語(yǔ)音信號中能量集中的區域,因其表征了聲道的物理特征,并且是發(fā)音音質(zhì)的主要決定條件,因此同樣是十分重要的特征參數。此外,目前也有許多研究者開(kāi)始將深度學(xué)習中一些方法應用在特征提取中,取得了較快的進(jìn)展。
聲學(xué)模型
聲學(xué)模型是語(yǔ)音識別系統中非常重要的一個(gè)組件,對不同基本單元的區分能力直接關(guān)系到識別結果的好壞。語(yǔ)音識別本質(zhì)上一個(gè)模式識別的過(guò)程,而模式識別的核心是分類(lèi)器和分類(lèi)決策的問(wèn)題。
通常,在孤立詞、中小詞匯量識別中使用動(dòng)態(tài)時(shí)間規整(DTW)分類(lèi)器會(huì )有良好的識別效果,并且識別速度快,系統開(kāi)銷(xiāo)小,是語(yǔ)音識別中很成功的匹配算法。但是,在大詞匯量、非特定人語(yǔ)音識別的時(shí)候,DTW 識別效果就會(huì )急劇下降,這時(shí)候使用隱馬爾科夫模型(HMM)進(jìn)行訓練識別效果就會(huì )有明顯提升,由于在傳統語(yǔ)音識別中一般采用連續的高斯混合模型GMM來(lái)對狀態(tài)輸出密度函數進(jìn)行刻畫(huà),因此又稱(chēng)為GMM-HMM構架。
同時(shí),隨著(zhù)深度學(xué)習的發(fā)展,通過(guò)深度神經(jīng)網(wǎng)絡(luò )來(lái)完成聲學(xué)建模,形成所謂的DNN-HMM構架來(lái)取代傳統的GMM-HMM構架,在語(yǔ)音識別上也取得了很好的效果。
高斯混合模型
對于一個(gè)隨機向量 x,如果它的聯(lián)合概率密度函數符合公式2-9,則稱(chēng)它服從高斯分布,并記為 x ~N(μ, Σ)。


其中,μ 為分布的期望,Σ 為分布的協(xié)方差矩陣。高斯分布有很強的近似真實(shí)世界數據的能力,同時(shí)又易于計算,因此被廣泛地應用在各個(gè)學(xué)科之中。但是,仍然有很多類(lèi)型的數據不好被一個(gè)高斯分布所描述。這時(shí)候我們可以使用多個(gè)高斯分布的混合分布來(lái)描述這些數據,由多個(gè)分量分別負責不同潛在的數據來(lái)源。此時(shí),隨機變量符合密度函數。

其中,M 為分量的個(gè)數,通常由問(wèn)題規模來(lái)確定。
我們稱(chēng)認為數據服從混合高斯分布所使用的模型為高斯混合模型。高斯混合模型被廣泛的應用在很多語(yǔ)音識別系統的聲學(xué)模型中??紤]到在語(yǔ)音識別中向量的維數相對較大,所以我們通常會(huì )假設混合高斯分布中的協(xié)方差矩陣 Σm 為對角矩陣。這樣既大大減少了參數的數量,同時(shí)可以提高計算的效率。
使用高斯混合模型對短時(shí)特征向量建模有以下幾個(gè)好處:首先,高斯混合模型的具有很強的建模能力,只要分量總數足夠多,高斯混合模型就可以以任意精度來(lái)逼近一個(gè)概率分布函數;另外,使用 EM 算法可以很容易地使模型在訓練數據上收斂。對于計算速度和過(guò)擬合等問(wèn)題,人們還研究出了參數綁定的 GMM 和子空間高斯混合模型 (subspace GMM) 來(lái)解決。除了使用 EM 算法作最大似然估計以外,我們還可以使用和詞或音素錯誤率直接相關(guān)的區分性的誤差函數來(lái)訓練高斯混合模型,能夠極大地提高系統性能。因此,直到在聲學(xué)模型中使用深度神經(jīng)網(wǎng)絡(luò )的技術(shù)出現之前,高斯混合模型一直是短時(shí)特征向量建模的不二選擇。
但是,高斯混合模型同樣具有一個(gè)嚴重的缺點(diǎn):高斯混合模型對于靠近向量空間上一個(gè)非線(xiàn)性流形 (manifold) 上的數據建模能力非常差。例如,假設一些數據分布在一個(gè)球面兩側,且距離球面非常近。如果使用一個(gè)合適的分類(lèi)模型,我們可能只需要很少的參數就可以將球面兩側的數據區分開(kāi)。但是,如果使用高斯混合模型描繪他們的實(shí)際分布情況,我們需要非常多的高斯分布分量才能足夠精確地刻畫(huà)。這驅使我們尋找一個(gè)能夠更有效利用語(yǔ)音信息進(jìn)行分類(lèi)的模型。
隱馬爾科夫模型
我們現在考慮一個(gè)離散的隨機序列,若轉移概率符合馬爾可夫性質(zhì),即將來(lái)狀態(tài)和過(guò)去狀態(tài)獨立,則稱(chēng)其為一條馬爾可夫鏈 (Markov Chain)。若轉移概率和時(shí)間無(wú)關(guān),則稱(chēng)其為齊次 (homogeneous) 馬爾可夫鏈。馬爾可夫鏈的輸出和預先定義好的狀態(tài)一一對應,對于任意給定的狀態(tài),輸出是可觀(guān)測的,沒(méi)有隨機性。如果我們對輸出進(jìn)行擴展,使馬爾可夫鏈的每個(gè)狀態(tài)輸出為一個(gè)概率分布函數。這樣的話(huà)馬爾可夫鏈的狀態(tài)不能被直接觀(guān)測到,只能通過(guò)受狀態(tài)變化影響的符合概率分布的其他變量來(lái)推測。我們稱(chēng)以這種以隱馬爾可夫序列假設來(lái)建模數據的模型為隱馬爾可夫模型。
對應到語(yǔ)音識別系統中,我們使用隱馬爾可夫模型來(lái)刻畫(huà)一個(gè)音素內部子狀態(tài)變化,來(lái)解決特征序列到多個(gè)語(yǔ)音基本單元之間對應關(guān)系的問(wèn)題。

在語(yǔ)音識別任務(wù)中使用隱馬爾可夫模型需要計算模型在一段語(yǔ)音片段上的可能性。而在訓練的時(shí)候,我們需要使用 Baum-Welch 算法[23] 學(xué)習隱馬爾可夫模型參數,進(jìn)行最大似然估計 (Maximum Likelihood Estimation, MLE)。Baum-Welch 算法是EM (Expectation-Maximization) 算法的一種特例,利用前后項概率信息迭代地依次進(jìn)行計算條件期望的 E 步驟和最大化條件期望的 M 步驟。
語(yǔ)言模型
語(yǔ)言模型主要是刻畫(huà)人類(lèi)語(yǔ)言表達的方式習慣,著(zhù)重描述了詞與詞在排列結構上的內在聯(lián)系。在語(yǔ)音識別解碼的過(guò)程中,在詞內轉移參考發(fā)聲詞典、詞間轉移參考語(yǔ)言模型,好的語(yǔ)言模型不僅能夠提高解碼效率,還能在一定程度上提高識別率。語(yǔ)言模型分為規則模型和統計模型兩類(lèi),統計語(yǔ)言模型用概率統計的方法來(lái)刻畫(huà)語(yǔ)言單位內在的統計規律,其設計簡(jiǎn)單實(shí)用而且取得了很好的效果,已經(jīng)被廣泛用于語(yǔ)音識別、機器翻譯、情感識別等領(lǐng)域。
最簡(jiǎn)單又卻又最常用的語(yǔ)言模型是 N 元語(yǔ)言模型 (N-gram Language Model,N-gram LM) 。N 元語(yǔ)言模型假設當前在給定上文環(huán)境下,當前詞的概率只與前N-1 個(gè)詞相關(guān)。于是詞序列 w1, . . . , wm 的概率 P(w1, . . . , wm) 可以近似為

為了得到公式中的每一個(gè)詞在給定上文下的概率,我們需要一定數量的該語(yǔ)言文本來(lái)估算??梢灾苯邮褂冒衔牡脑~對在全部上文詞對中的比例來(lái)計算該概率,即

對于在文本中未出現的詞對,我們需要使用平滑方法來(lái)進(jìn)行近似,如 Good-Turing估計或 Kneser-Ney 平滑等。
解碼與字典
****是識別階段的核心組件,通過(guò)訓練好的模型對語(yǔ)音進(jìn)行解碼,獲得最可能的詞序列,或者根據識別中間結果生成識別網(wǎng)格 (lattice) 以供后續組件處理。****部分的核心算法是動(dòng)態(tài)規劃算法 Viterbi。由于解碼空間非常巨大,通常我們在實(shí)際應用中會(huì )使用限定搜索寬度的令牌傳遞方法 (token passing)。

傳統****會(huì )完全動(dòng)態(tài)生成解碼圖 (decode graph),如著(zhù)名語(yǔ)音識別工具HTK(HMM Tool Kit) 中的 HVite 和 HDecode 等。這樣的實(shí)現內存占用較小,但考慮到各個(gè)組件的復雜性,整個(gè)系統的流程繁瑣,不方便高效地將語(yǔ)言模型和聲學(xué)模型結合起來(lái),同時(shí)更加難以擴展?,F在主流的****實(shí)現會(huì )一定程度上使用預生成的有限狀態(tài)變換器 (Finite State Transducer, FST) 作為預加載的靜態(tài)解碼圖。這里我們可以將語(yǔ)言模型 (G),詞匯表(L),上下文相關(guān)信息 (C),隱馬爾可夫模型(H)四個(gè)部分分別構建為標準的有限狀態(tài)變換器,再通過(guò)標準的有限狀態(tài)變換器操作將他們組合起來(lái),構建一個(gè)從上下文相關(guān)音素子狀態(tài)到詞的變換器。這樣的實(shí)現方法額外使用了一些內存空間,但讓****的指令序列變得更加整齊,使得一個(gè)高效的****的構建更加容易。同時(shí),我們可以對預先構建的有限狀態(tài)變換器進(jìn)行預優(yōu)化,合并和剪掉不必要的部分,使得搜索空間變得更加合理
語(yǔ)音識別技術(shù)的工作原理
首先,我們知道聲音實(shí)際上是一種波。常見(jiàn)的mp3等格式都是壓縮格式,必須轉成非壓縮的純波形文件來(lái)處理,比如Windows PCM文件,也就是俗稱(chēng)的wav文件。wav文件里存儲的除了一個(gè)文件頭以外,就是聲音波形的一個(gè)個(gè)點(diǎn)了。下圖是一個(gè)波形的示例。

圖中,每幀的長(cháng)度為25毫秒,每?jì)蓭g有25-10=15毫秒的交疊。我們稱(chēng)為以幀長(cháng)25ms、幀移10ms分幀。
分幀后,語(yǔ)音就變成了很多小段。但波形在時(shí)域上幾乎沒(méi)有描述能力,因此必須將波形作變換。常見(jiàn)的一種變換方法是提取MFCC特征,根據人耳的生理特性,把每一幀波形變成一個(gè)多維向量,可以簡(jiǎn)單地理解為這個(gè)向量包含了這幀語(yǔ)音的內容信息。這個(gè)過(guò)程叫做聲學(xué)特征提取。
至此,聲音就成了一個(gè)12行(假設聲學(xué)特征是12維)、N列的一個(gè)矩陣,稱(chēng)之為觀(guān)察序列,這里N為總幀數。觀(guān)察序列如下圖所示,圖中,每一幀都用一個(gè)12維的向量表示,色塊的顏色深淺表示向量值的大小。

接下來(lái)就要介紹怎樣把這個(gè)矩陣變成文本了。首先要介紹兩個(gè)概念:
音素:?jiǎn)卧~的發(fā)音由音素構成。對英語(yǔ),一種常用的音素集是卡內基梅隆大學(xué)的一套由39個(gè)音素構成的音素集。漢語(yǔ)一般直接用全部聲母和韻母作為音素集,另外漢語(yǔ)識別還分有調無(wú)調,不詳述。
狀態(tài):這里理解成比音素更細致的語(yǔ)音單位就行啦。通常把一個(gè)音素劃分成3個(gè)狀態(tài)。
語(yǔ)音識別是怎么工作的呢?實(shí)際上一點(diǎn)都不神秘,無(wú)非是:
第一步,把幀識別成狀態(tài)。
第二步,把狀態(tài)組合成音素。
第三步,把音素組合成單詞。
如下圖所示:

圖中,每個(gè)小豎條代表一幀,若干幀語(yǔ)音對應一個(gè)狀態(tài),每三個(gè)狀態(tài)組合成一個(gè)音素,若干個(gè)音素組合成一個(gè)單詞。也就是說(shuō),只要知道每幀語(yǔ)音對應哪個(gè)狀態(tài)了,語(yǔ)音識別的結果也就出來(lái)了。
那每幀音素對應哪個(gè)狀態(tài)呢?有個(gè)容易想到的辦法,看某幀對應哪個(gè)狀態(tài)的概率最大,那這幀就屬于哪個(gè)狀態(tài)。比如下面的示意圖,這幀在狀態(tài)S3上的條件概率最大,因此就猜這幀屬于狀態(tài)S3。

那這些用到的概率從哪里讀取呢?有個(gè)叫“聲學(xué)模型”的東西,里面存了一大堆參數,通過(guò)這些參數,就可以知道幀和狀態(tài)對應的概率。獲取這一大堆參數的方法叫做“訓練”,需要使用巨大數量的語(yǔ)音數據。
但這樣做有一個(gè)問(wèn)題:每一幀都會(huì )得到一個(gè)狀態(tài)號,最后整個(gè)語(yǔ)音就會(huì )得到一堆亂七八糟的狀態(tài)號,相鄰兩幀間的狀態(tài)號基本都不相同。假設語(yǔ)音有1000幀,每幀對應1個(gè)狀態(tài),每3個(gè)狀態(tài)組合成一個(gè)音素,那么大概會(huì )組合成300個(gè)音素,但這段語(yǔ)音其實(shí)根本沒(méi)有這么多音素。如果真這么做,得到的狀態(tài)號可能根本無(wú)法組合成音素。實(shí)際上,相鄰幀的狀態(tài)應該大多數都是相同的才合理,因為每幀很短。
解決這個(gè)問(wèn)題的常用方法就是使用隱馬爾可夫模型(Hidden Markov Model,HMM)。這東西聽(tīng)起來(lái)好像很高深的樣子,實(shí)際上用起來(lái)很簡(jiǎn)單:
第一步,構建一個(gè)狀態(tài)網(wǎng)絡(luò )。
第二步,從狀態(tài)網(wǎng)絡(luò )中尋找與聲音最匹配的路徑。
這樣就把結果限制在預先設定的網(wǎng)絡(luò )中,避免了剛才說(shuō)到的問(wèn)題,當然也帶來(lái)一個(gè)局限,比如你設定的網(wǎng)絡(luò )里只包含了“今天晴天”和“今天下雨”兩個(gè)句子的狀態(tài)路徑,那么不管說(shuō)些什么,識別出的結果必然是這兩個(gè)句子中的一句。
那如果想識別任意文本呢?把這個(gè)網(wǎng)絡(luò )搭得足夠大,包含任意文本的路徑就可以了。但這個(gè)網(wǎng)絡(luò )越大,想要達到比較好的識別準確率就越難。所以要根據實(shí)際任務(wù)的需求,合理選擇網(wǎng)絡(luò )大小和結構。
搭建狀態(tài)網(wǎng)絡(luò ),是由單詞級網(wǎng)絡(luò )展開(kāi)成音素網(wǎng)絡(luò ),再展開(kāi)成狀態(tài)網(wǎng)絡(luò )。語(yǔ)音識別過(guò)程其實(shí)就是在狀態(tài)網(wǎng)絡(luò )中搜索一條最佳路徑,語(yǔ)音對應這條路徑的概率最大,這稱(chēng)之為“解碼”。路徑搜索的算法是一種動(dòng)態(tài)規劃剪枝的算法,稱(chēng)之為Viterbi算法,用于尋找全局最優(yōu)路徑。

這里所說(shuō)的累積概率,由三部分構成,分別是:
觀(guān)察概率:每幀和每個(gè)狀態(tài)對應的概率
轉移概率:每個(gè)狀態(tài)轉移到自身或轉移到下個(gè)狀態(tài)的概率
語(yǔ)言概率:根據語(yǔ)言統計規律得到的概率
其中,前兩種概率從聲學(xué)模型中獲取,最后一種概率從語(yǔ)言模型中獲取。語(yǔ)言模型是使用大量的文本訓練出來(lái)的,可以利用某門(mén)語(yǔ)言本身的統計規律來(lái)幫助提升識別正確率。語(yǔ)言模型很重要,如果不使用語(yǔ)言模型,當狀態(tài)網(wǎng)絡(luò )較大時(shí),識別出的結果基本是一團亂麻。
這樣基本上語(yǔ)音識別過(guò)程就完成了,這就是語(yǔ)音識別技術(shù)的工作原理。
語(yǔ)音識別技術(shù)的工作流程
一般來(lái)說(shuō),一套完整的語(yǔ)音識別系統其工作過(guò)程分為7步:

1、對語(yǔ)音信號進(jìn)行分析和處理,除去冗余信息。
2、提取影響語(yǔ)音識別的關(guān)鍵信息和表達語(yǔ)言含義的特征信息。
3、緊扣特征信息,用最小單元識別字詞。
4、按照不同語(yǔ)言的各自語(yǔ)法,依照先后次序識別字詞。
5、把前后意思當作輔助識別條件,有利于分析和識別。
6、按照語(yǔ)義分析,給關(guān)鍵信息劃分段落,取出所識別出的字詞并連接起來(lái),同時(shí)根據語(yǔ)句意思調整句子構成。
7、結合語(yǔ)義,仔細分析上下文的相互聯(lián)系,對當前正在處理的語(yǔ)句進(jìn)行適當修正。

語(yǔ)音識別原理有三點(diǎn):
1、對語(yǔ)音信號中的語(yǔ)言信息編碼是按照幅度譜的時(shí)間變化來(lái)進(jìn)行;
2、由于語(yǔ)音是可以閱讀的,也就是說(shuō)聲學(xué)信號可以在不考慮說(shuō)話(huà)人說(shuō)話(huà)傳達的信息內容的前提下用多個(gè)具有區別性的、離散的符號來(lái)表示;
3、語(yǔ)音的交互是一個(gè)認知過(guò)程,所以絕對不能與語(yǔ)法、語(yǔ)義和用語(yǔ)規范等方面分裂開(kāi)來(lái)。
預處理,其中就包括對語(yǔ)音信號進(jìn)行采樣、克服混疊濾波、去除部分由個(gè)體發(fā)音的差異和環(huán)境引起的噪聲影響,此外還會(huì )考慮到語(yǔ)音識別基本單元的選取和端點(diǎn)檢測問(wèn)題。反復訓練是在識別之前通過(guò)讓說(shuō)話(huà)人多次重復語(yǔ)音,從原始語(yǔ)音信號樣本中去除冗余信息,保留關(guān)鍵信息,再按照一定規則對數據加以整理,構成模式庫。再者是模式匹配,它是整個(gè)語(yǔ)音識別系統的核心部分,是根據一定規則以及計算輸入特征與庫存模式之間的相似度,進(jìn)而判斷出輸入語(yǔ)音的意思。
前端處理,先對原始語(yǔ)音信號進(jìn)行處理,再進(jìn)行特征提取,消除噪聲和不同說(shuō)話(huà)人的發(fā)音差異帶來(lái)的影響,使處理后的信號能夠更完整地反映語(yǔ)音的本質(zhì)特征提取,消除噪聲和不同說(shuō)話(huà)人的發(fā)音差異帶來(lái)的影響,使處理后的信號能夠更完整地反映語(yǔ)音的本質(zhì)特征。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。