
目前,python語音識別越來越流行,今天本系列文章開始,我們將一起探索自動語音識別、語言處理技術(shù)所包含的核心算法、模型及未來的發(fā)展趨勢。本篇文章我們主要討論語音識別的基本概念。并理解語音識別技術(shù)的流程。
(一) 自動語音識別技術(shù)ASR
自動語音識別,簡稱ASR。這項技術(shù)是使人與人,人與機器更順暢交流的關(guān)鍵技術(shù)。
隨著人們對生活的儀式感的追求,移動設(shè)備、可穿戴設(shè)備、智能家居設(shè)備、車載信息娛樂系統(tǒng)也變得越來越流行。在這些設(shè)備和系統(tǒng)上,以往鼠標(biāo)、鍵盤這樣的交互方式就不再延續(xù)像用在電腦上一樣的便捷性了。而語音作為人類之間自然的交流方式,在這些設(shè)備和系統(tǒng)上就成為了更受歡迎的交互方式了。
如果有一個語音到語音翻譯系統(tǒng)其實就可以完美消除這個交流壁壘。這樣的話就算語言不通人們也可以自由地進行交流。比如我們現(xiàn)在這里看到的就是一個典型的語音到語音的翻譯系統(tǒng),可以看到,語音識別是這個流水過程中的第一環(huán)。
(二) 人機交流場景
我們說語音技術(shù)可以極大地提升人機交流的能力,其中最流行的應(yīng)用場景就有大家所熟知的語音搜索、個人數(shù)碼助理、游戲、起居室交互系統(tǒng)和車載信息娛樂系統(tǒng)。
對于語音搜索而言,它能使用戶直接通過語音來搜索餐館、行駛路線和商品評價的信息。這極大地簡化了用戶輸入搜索請求的方式。目前,語音搜索類的應(yīng)用在各類品牌和系統(tǒng)的手機上都已非常流行。
第二個個人數(shù)碼助理已經(jīng)作為原型產(chǎn)品出現(xiàn)了十年,siri系統(tǒng)就是從它變得流行起來的。自那以后,很多公司都發(fā)布了類似的產(chǎn)品。我們把這種系統(tǒng)簡稱PDA。PDA系統(tǒng)知曉我們在移動設(shè)備上的信息,了解一些常識并記錄了用戶與系統(tǒng)的交互歷史。有了這些信息后,PDA可以更好的服務(wù)用戶。比如,可以完成撥打電話、回答問題和音樂搜索等工作。而用戶所需要做的只是直接向系統(tǒng)發(fā)出語音指令即可。
在融合語音技術(shù)之后,游戲的體驗將得到很大的提升。例如,玩家可以和游戲角色對話以詢問信息或者發(fā)出指令。
最后,起居室交互系統(tǒng)和車載信息娛樂信息在功能上十分相似。這種系統(tǒng)允許用戶使用語音與之交互,我們可以通過他們來播放音樂、詢問信息或者控制系統(tǒng)。當(dāng)然,由于這些系統(tǒng)的使用條件不同,設(shè)計這樣的系統(tǒng)時會遇到不同的挑戰(zhàn)。
(三) 語音對話系統(tǒng)的組成
在上述的所有應(yīng)用場景和系統(tǒng)討論的都是語音對話系統(tǒng)。如下圖所示,語音對話系統(tǒng)通常包括四個主要組成部分的一個或多個:語音識別系統(tǒng)將語音轉(zhuǎn)化為文本、語音理解系統(tǒng)提取用戶說話的語義信息、文字轉(zhuǎn)語音系統(tǒng)將內(nèi)容轉(zhuǎn)化為語音、對話管理系統(tǒng)將前面的三個系統(tǒng)連接起來并完成與實際應(yīng)用場景的溝通。這些內(nèi)容對建立一個成功的語音對話系統(tǒng)都是很關(guān)鍵的,我們的關(guān)注重點主要是在語音識別系統(tǒng)。
下面展示的語音識別系統(tǒng)的典型結(jié)構(gòu),語音識別系統(tǒng)主要由圖中四個部分組成:信號處理和特征提取、聲學(xué)模型、語言模型和解碼搜索部分。信號處理和特征提取部分是以音頻信號作為輸入,通過消除噪聲和信道失真對語音進行增強,為后面的聲學(xué)模型提取合適的有代表性的特征向量。聲學(xué)模型將聲學(xué)和發(fā)音學(xué)的知識進行了融合,以特征提取部分生成的特征作為輸入,并為可變長特征序列生成聲學(xué)模型的分?jǐn)?shù)。語言模型估計通過從訓(xùn)練語料,通常是文本形式,學(xué)習(xí)詞之間的相互關(guān)系,來估計假設(shè)詞序列的可能性,又被稱作語言模型分?jǐn)?shù)。如果了解了領(lǐng)域或任務(wù)相關(guān)的先驗知識,語言模型分?jǐn)?shù)通??梢怨烙嫷酶鼫?zhǔn)確。解碼搜索對給定的特征向量序列和若干假設(shè)詞序列計算聲學(xué)模型分?jǐn)?shù)和語言模型分?jǐn)?shù),將總體輸出分?jǐn)?shù)最高的詞序列當(dāng)做識別結(jié)果。在這里,我們主要討論聲學(xué)模型。
關(guān)于聲學(xué)模型,有兩個主要問題,分別是不定長的特征向量序列和豐富多變的音頻信號。不定長的問題通常由動態(tài)時間規(guī)整方法和隱馬爾可夫模型方法來解決。而豐富多變性主要是由于說話的人的各種復(fù)雜特性,比如音色、風(fēng)格、速度等,還有加之環(huán)境噪聲、周圍人聲、方言差異等引起。所以,一個成功的語音識別系統(tǒng)必須能夠音符所有可能性的變化因素。
這樣的話,我們從特定領(lǐng)域任務(wù)向真實應(yīng)用轉(zhuǎn)變時,就會遇到一些困難。就像上圖當(dāng)中所展示的,一個時下實際的語音識別系統(tǒng)需要處理大量的詞匯,可能是數(shù)百萬量級的,自由式對話,帶噪聲的遠場自發(fā)語音和多語言混合的問題。由于有了真實世界任務(wù)的需求,當(dāng)今正在解決的語音識別相關(guān)的問題,如最右側(cè)所示,就比過去已經(jīng)解決的問題要難很多。
(四) 傳統(tǒng)聲學(xué)模型
下面我們就來介紹一下傳統(tǒng)的聲學(xué)模型。語音識別建模對語音識別來說是不可或缺的一部分,因為不同的建模技術(shù)通常意味著不同的識別性能,所以這是各個語音識別團隊重點優(yōu)化的方向。也正是因為如此,語音識別的模型也層出不窮,在聲學(xué)模型里面又涵蓋了HMM、DNN、RNN等模型。簡單來說,聲學(xué)模型的任務(wù)就是描述語音的物理變化規(guī)律,而語言模型則表達了自然語言包含的語言學(xué)知識。而其中語音信號作為整個系統(tǒng)的輸入就顯得比較重要了。語音信號計算機中是采用PCM編碼按時間序列保存的一連串?dāng)?shù)據(jù)。計算機中最原始語音文件是wav,可以通過各種錄音軟件錄制,其中錄制通道表示很多音頻都有左右2個通道,在語音識別中通常有一個通道的數(shù)據(jù)就夠了。
再來說說我們做信號處理的目的----獲得頻率成分的分布,而語音作為非平穩(wěn)信號要實現(xiàn)就要通過分幀來實現(xiàn)。這時候還有一個操作叫做加窗,加窗的目的是讓一幀信號的幅度在兩端漸變到 0。漸變對傅里葉變換有好處,可以提高變換結(jié)果的分辨率。加窗的代價是一幀信號兩端的部分被削弱了,沒有像中央的部分那樣得到重視。彌補的辦法是,幀不要背靠背地截取,而是相互重疊一部分。
這樣通常加窗之后我們可以實現(xiàn)特征數(shù)的降維以及提取出比原始語音更具表征力的特征。以上可以理解為若干幀對應(yīng)一個音素,若干音素對應(yīng)一個單詞,如果我們想要識別對應(yīng)的單詞狀態(tài),我們只要知道對應(yīng)的幀狀態(tài)就行,用計算機能識別的方式最簡單的就是概率匹配,這些概率我們就可以通過聲學(xué)模型獲得,所以要做的就是通過訓(xùn)練獲得合適的模型參數(shù)以擬合好的匹配效果。
(五) 語音識別三步
語音識別大體上包含前端處理,特征提取,模型訓(xùn)練,解碼四個模塊。其中前端處理包括了,語音轉(zhuǎn)碼,高通濾波,端點檢測等。
上圖是目前語音識別的基本流程,輸入的語音數(shù)據(jù)流經(jīng)過前端處理(語音格式轉(zhuǎn)碼,高通,端點檢測),語音格式轉(zhuǎn)碼是將輸入的語音數(shù)據(jù)轉(zhuǎn)成pcm或者wav格式的語音,端點檢測是檢測出轉(zhuǎn)碼后語音中的有效語音,這樣對解碼速度和識別率上都會改善。經(jīng)過前端處理之后的得到的分段語音數(shù)據(jù)送入特征提取模塊,進行聲學(xué)特征提取。最后解碼模塊對提取的特征數(shù)據(jù)進行解碼,解碼過程中利用發(fā)音字典,聲學(xué)模型,語言模型等信息構(gòu)建WFST搜索空間,在搜索空間內(nèi)尋找匹配概率最大的最優(yōu)路徑,便得到最優(yōu)的識別結(jié)果。
(六) 主流聲學(xué)建模技術(shù)
近年來,隨著深度學(xué)習(xí)的興起,使用了接近30年的語音識別聲學(xué)模型HMM(隱馬爾科夫模型)逐漸被DNN(泛指深度神經(jīng)網(wǎng)絡(luò))所替代,模型精度也有了突飛猛進的變化,整體來看聲學(xué)建模技術(shù)從建模單元、模型結(jié)構(gòu)、建模流程等三個維度都有了比較明顯的變化。其中,深度神經(jīng)網(wǎng)絡(luò)超強的特征學(xué)習(xí)能力大大簡化了特征抽取的過程,降低了建模對于專家經(jīng)驗的依賴,因此建模流程逐步從之前復(fù)雜多步的流程轉(zhuǎn)向了簡單的端到端的建模流程,由此帶來的影響是建模單元逐步從狀態(tài)、三音素模型向音節(jié)、字等較大單元演進,模型結(jié)構(gòu)從經(jīng)典的GMM-HMM向DNN+CTC(DNN泛指深度神經(jīng)網(wǎng)絡(luò))轉(zhuǎn)變,演進的中間態(tài)是DNN-HMM的混合模型結(jié)構(gòu)。
(七) 混合高斯模型(GMM)
讓我們先來看看GMM混合高斯模型。簡單來說,當(dāng)使用混合高斯隨機變量的分布用于匹配真實世界的數(shù)據(jù),比如語音特征時,就形成了混合高斯模型。GMM作為描述基于傅里葉頻譜語音特征的統(tǒng)計模型,在傳統(tǒng)的語音識別系統(tǒng)的聲學(xué)建模中發(fā)揮了重要作用。GMM的優(yōu)勢使得期望最大化算法可以被有效地用來訓(xùn)練模型,以更好的匹配語音特征。原始的語音數(shù)據(jù)經(jīng)過變換后會成為特征序列,在忽略時序信息的條件下,GMM就非常適合擬合這樣的語音特征。也就是說,可以以幀為單位,用GMM對語音特征進行建模。
(八) 通信模型(HMM)
但是呢?如果把語音順序信息考慮進去,GMM就不再是一個好模型了,因為它不包含任何順序信息。這時隱馬爾可夫模型就更加通用了,因為它可以對時序信息進行建模。但其實,當(dāng)給定HMM的一個狀態(tài)后,若要對屬于該狀態(tài)的語音特征向量的概率分布進行建模,GMM仍不失為一個好的模型。使用GMM對HMM每個狀態(tài)的語音特征分布進行建模,有許多明顯的優(yōu)勢。只要混合的高斯分布足夠多,那么GMM可以擬合任意精度的概率分布,并且他可以通過EM算法很容易擬合數(shù)據(jù)。GMM參數(shù)通過EM算法的優(yōu)化,可以使其在訓(xùn)練數(shù)據(jù)上生成語音觀察特征的概率最大化,在此基礎(chǔ)上,若通過鑒別性訓(xùn)練,基于GMM-HMM的語音識別系統(tǒng)的識別準(zhǔn)確率可以得到顯著提升。盡管GMM有著眾多優(yōu)勢,但它也有一個嚴(yán)重的不足,那就是GMM不能有效地對呈非線性或近似非線性的數(shù)據(jù)進行建模。這就意味著隱藏在語音特征下的真正結(jié)構(gòu)的復(fù)雜度,比直接描述現(xiàn)有特征,使其作為語音聲學(xué)模型的能力比GMM更好,我們要求這種模型要能更加有效地挖掘隱藏在長窗寬語音幀中的信息。這時我們就可以將隨機變量的概念延伸到隨機序列,它可以是離散的也可以是連續(xù)的,非常符合我們的要求,而這種狀態(tài)就是馬爾可夫序列的基本狀態(tài),由它衍生出的模型叫做HMM隱馬爾可夫模型。大家現(xiàn)在看到的這整個結(jié)構(gòu)就是一個典型的通信系統(tǒng),而這種系統(tǒng)就特別適合隱馬爾科夫模型來進行估計計算了。那么下節(jié)課我們就會把重點放在HMM上來做介紹。
本文章就到這里暫時告一個段落,我們下一篇文章再見。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10