自動語音辨認技術(ASR,Automatic Speech Recognition)是一種經過讓機器經過辨認和了解的過程,把人類的語音信號轉變為相應文本的技術。我們先來看看語音辨認的歷史,其實早在計算機創造之前,有關ASR技術的理念就曾經降生了,而早期的聲碼器就能夠被視為是語音辨認及合成的雛形。而1920年代消費的"Radio Rex"玩具狗,可能是早的語音辨認器,當這只狗的名字被召喚的時分,它可以從底座上彈出來。這么看來論輩分它是阿爾法狗的爺爺……但毫無疑問60年代計算機的開展推進了語音辨認技術技術,這其中重要的一個里程碑就是動態規劃技術(DP)和線性預測剖析技術(LP),后者又開展出了更成熟的動態時間歸正技術(DTW),包括矢量量化(VQ)和隱馬爾可夫模型(HMM)理論。但這些還都只是單調又晦澀的算法,換句話說,工程師看到這些玩意也一頭霧水,基本沒方法疾速在應用到理論里。所以在80年代時,著名的AT&T Bell實驗室經過努力,把本來深奧無比的HMM純數學模型工程化,為應用開發打下了重要的基石。到90年代時,深度神經網絡技術的打破性開展,終于把語音辨認技術本來的難關攻破了。所以在我們會發現,從21世紀后語音辨認技術的開展就疾速加快了。其實看起來高大上的語音辨認技術,原理并沒有多么復雜。不管是微軟家的Cortana、三星家的S-voice蘋果家的Siri,還是國內一些獨立做語音辨認的比方訊飛、Rokid,在原理在實質上沒有幾差別:就是語音輸入后,停止特征提取,將提取的特征值放進模型庫里,再不時地停止鍛煉和匹配,終解碼得到結果。
假如要細說的話就比擬復雜了,比方模型庫中又分為聲學模型和言語模型。其中言語模型是依據不同品種的言語,對詞串停止統計建模,目前普遍采用的是基于(n-1)階馬爾可夫鏈統計的n元語法模型。這里細致說下聲學建模吧。首先經過前端特征提取取得聲學特征,再進一步對聲學特征停止統計建模。建模運用到的貝葉斯統計建模框架,也就是大后驗概率決策原則。這里算法這種深奧的東西就不說了,除非深度開發,否則直接套用就行了,我本人也是博古通今,還是念書的時分學的。說說提取聲學特征該如何完成:當語音輸入之后,首先停止模電轉換,將模仿信號轉變為數字信號,再停止靜音切除去掉無關噪音,然后停止分幀。將此時的信號分紅一幀一幀之后(每一幀并不是獨立存在的而是相互關聯的),還要停止一系列的信號處置,包括預加重、加窗之后,再停止FFT變換之后,再經過Mel參數的濾波和取對數、離散余弦變換等一系列算法處置后,能夠停止用梅爾頻率倒譜系數(MFCC)停止特征提取,得到聲學特征。覺得越說越復雜了……后面簡單點說吧。前面說了言語模型,而聲學模型就是將聲學特征統計建模后得到的。得到了模型庫之后就能夠停止模型鍛煉和形式匹配了。所謂模型鍛煉就是指依照一定的原則,從大量已知語音形式中獲取一個具特征的模型參數。而形式匹配則相反,是依據一定原則,將未知語音形式與模型庫中的某一個模型取得佳匹配后的解碼過程又能夠分紅動態解碼網絡和靜態解碼網絡兩種:動態網絡會編譯一個狀態網絡并構成搜索空間,把單詞轉換成一個個的音素后將其依照語序拆分紅狀態序列,再依據音素上下文分歧性準繩將狀態序列停止銜接。而靜態網絡普通是針對一些特殊詞(孤立詞)的辨認網絡,它的構造就簡單多了:先將每條特殊詞擴展成HMM狀態序列,然后再計算得分,選擇得分大的作為辨認輸出結果。由于靜態網絡是依據聲學概率計算權重,不需求查詢言語模型概率,因而解碼速度很快。 這樣的一個流程大致上就是語音辨認技術的主要原理。
-
語音識別
+關注
關注
38文章
1721瀏覽量
112547
發布評論請先 登錄
相關推薦
評論