專屬客服號(hào)
微信訂閱號(hào)
全面提升數(shù)據(jù)價(jià)值
賦能業(yè)務(wù)提質(zhì)增效
語音識(shí)別屬于應(yīng)用比較廣泛的技術(shù),在手機(jī)的微信客戶端,和手機(jī)的智能軟件中都發(fā)揮著重要作用,那么語音識(shí)別是怎樣將語音變成文字的呢。
語音識(shí)別概念
所謂語音識(shí)別,就是將一段語音信號(hào)轉(zhuǎn)換成相對(duì)應(yīng)的文本信息,系統(tǒng)主要包含特征提取、聲學(xué)模型,語言模型以及字典與解碼四大部分,其中為了更有效地提取特征往往還需要對(duì)所采集到的聲音信號(hào)進(jìn)行濾波、分幀等預(yù)處理工作,把要分析的信號(hào)從原始信號(hào)中提取出來;之后,特征提取工作將聲音信號(hào)從時(shí)域轉(zhuǎn)換到頻域,為聲學(xué)模型提供合適的特征向量;聲學(xué)模型中再根據(jù)聲學(xué)特性計(jì)算每一個(gè)特征向量在聲學(xué)特征上的得分;而語言模型則根據(jù)語言學(xué)相關(guān)的理論,計(jì)算該聲音信號(hào)對(duì)應(yīng)可能詞組序列的概率;最后根據(jù)已有的字典,對(duì)詞組序列進(jìn)行解碼,得到最后可能的文本表示。
語音模型建立
1. 聲學(xué)模型
聲學(xué)模型是語音識(shí)別系統(tǒng)中非常重要的一個(gè)組件,對(duì)不同基本單元的區(qū)分能力直接關(guān)系到識(shí)別結(jié)果的好壞。語音識(shí)別本質(zhì)上一個(gè)模式識(shí)別的過程,而模式識(shí)別的核心是分類器和分類決策的問題。通常,在孤立詞、中小詞匯量識(shí)別中使用動(dòng)態(tài)時(shí)間規(guī)整(DTW)分類器會(huì)有良好的識(shí)別效果,并且識(shí)別速度快,系統(tǒng)開銷小,是語音識(shí)別中很成功的匹配算法。但是,在大詞匯量、非特定人語音識(shí)別的時(shí)候,DTW 識(shí)別效果就會(huì)急劇下降,這時(shí)候使用隱馬爾科夫模型(HMM)進(jìn)行訓(xùn)練識(shí)別效果就會(huì)有明顯提升,由于在傳統(tǒng)語音識(shí)別中一般采用連續(xù)的高斯混合模型GMM來對(duì)狀態(tài)輸出密度函數(shù)進(jìn)行刻畫,因此又稱為GMM-HMM構(gòu)架。
同時(shí),隨著深度學(xué)習(xí)的發(fā)展,通過深度神經(jīng)網(wǎng)絡(luò)來完成聲學(xué)建模,形成所謂的DNN-HMM構(gòu)架來取代傳統(tǒng)的GMM-HMM構(gòu)架,在語音識(shí)別上也取得了很好的效果,
2. 語言模型
語言模型主要是刻畫人類語言表達(dá)的方式習(xí)慣,著重描述了詞與詞在排列結(jié)構(gòu)上的內(nèi)在聯(lián)系。在語音識(shí)別解碼的過程中,在詞內(nèi)轉(zhuǎn)移參考發(fā)聲詞典、詞間轉(zhuǎn)移參考語言模型,好的語言模型不僅能夠提高解碼效率,還能在一定程度上提高識(shí)別率。語言模型分為規(guī)則模型和統(tǒng)計(jì)模型兩類,統(tǒng)計(jì)語言模型用概率統(tǒng)計(jì)的方法來刻畫語言單位內(nèi)在的統(tǒng)計(jì)規(guī)律,其設(shè)計(jì)簡(jiǎn)單實(shí)用而且取得了很好的效果,已經(jīng)被廣泛用于語音識(shí)別、機(jī)器翻譯、情感識(shí)別等領(lǐng)域。
語音識(shí)別過程
現(xiàn)在語音識(shí)別采用模式識(shí)別的基本框架,分為數(shù)據(jù)準(zhǔn)備、特征提取、模型訓(xùn)練、測(cè)試應(yīng)用這4個(gè)步驟。
模型經(jīng)過訓(xùn)練之后,一段待測(cè)的語音需要經(jīng)過信號(hào)處理和特征提取,然后利用訓(xùn)練好的聲學(xué)模型和語言模型,分別求得聲學(xué)模型和語言模型得分,然后綜合這2個(gè)得分,進(jìn)行候選的搜索,最后得出語言識(shí)別的結(jié)果。
聲音實(shí)際上是一種波。常見的mp3、wmv等格式都是壓縮格式,必須轉(zhuǎn)成非壓縮的純波形文件來處理,比如Windows PCM文件,也就是俗稱的wav文件。wav文件里存儲(chǔ)的除了一個(gè)文件頭以外,就是聲音波形的一個(gè)個(gè)點(diǎn)了。
在開始語音識(shí)別之前,有時(shí)需要把首尾端的靜音切除,降低對(duì)后續(xù)步驟造成的干擾。這個(gè)靜音切除的操作一般稱為VAD,需要用到信號(hào)處理的一些技術(shù)。要對(duì)聲音進(jìn)行分析,需要對(duì)聲音分幀,也就是把聲音切開成一小段一小段,每小段稱為一幀。分幀操作一般不是簡(jiǎn)單的切開,而是使用移動(dòng)窗函數(shù)來實(shí)現(xiàn),這里不詳述。幀與幀之間一般是有交疊的,
分幀后,語音就變成了很多小段。但波形在時(shí)域上幾乎沒有描述能力,因此必須將波形作變換。常見的一種變換方法是提取MFCC特征,根據(jù)人耳的生理特性,把每一幀波形變成一個(gè)多維向量,可以簡(jiǎn)單地理解為這個(gè)向量包含了這幀語音的內(nèi)容信息。這個(gè)過程叫做聲學(xué)特征提取。
至此,聲音就成了一個(gè)12行(假設(shè)聲學(xué)特征是12維)、N列的一個(gè)矩陣,稱之為觀察序列,這里N為總幀數(shù)。
語音識(shí)別過程:第一步,把幀識(shí)別成狀態(tài)(難點(diǎn));第二步,把狀態(tài)組合成音素;第三步,把音素組合成單詞。
干幀語音對(duì)應(yīng)一個(gè)狀態(tài),每三個(gè)狀態(tài)組合成一個(gè)音素,若干個(gè)音素組合成一個(gè)單詞。也就是說,只要知道每幀語音對(duì)應(yīng)哪個(gè)狀態(tài)了,語音識(shí)別的結(jié)果也就出來了。圖中,每個(gè)小豎條代表一幀,若干幀語音對(duì)應(yīng)一個(gè)狀態(tài),每三個(gè)狀態(tài)組合成一個(gè)音素,若干個(gè)音素組合成一個(gè)單詞。也就是說,只要知道每幀語音對(duì)應(yīng)哪個(gè)狀態(tài)了,語音識(shí)別的結(jié)果也就出來了。
語音解碼介紹
解碼器是識(shí)別階段的核心組件,通過訓(xùn)練好的模型對(duì)語音進(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),如著名語音識(shí)別工具HTK(HMM Tool Kit) 中的 HVite 和 HDecode 等。這樣的實(shí)現(xiàn)內(nèi)存占用較小,但考慮到各個(gè)組件的復(fù)雜性,整個(gè)系統(tǒng)的流程繁瑣,不方便高效地將語言模型和聲學(xué)模型結(jié)合起來,同時(shí)更加難以擴(kuò)展?,F(xiàn)在主流的解碼器實(shí)現(xiàn)會(huì)一定程度上使用預(yù)生成的有限狀態(tài)變換器 (Finite State Transducer, FST) 作為預(yù)加載的靜態(tài)解碼圖。
伴隨科技的不斷發(fā)展,人工智能產(chǎn)品都需要具備和人類直接交流的能力,這樣的背景下,語音識(shí)別的準(zhǔn)確性也需要不斷提高,隨著深度學(xué)習(xí)的研究深入,語音識(shí)別有望出現(xiàn)進(jìn)一步發(fā)展。
本文由五度數(shù)科整理,轉(zhuǎn)載請(qǐng)標(biāo)明出處,違者必究!
請(qǐng)完善以下信息,我們的顧問會(huì)在1個(gè)工作日內(nèi)與您聯(lián)系,為您安排產(chǎn)品定制服務(wù)
評(píng)論