什么是語音識別
語音識別是以語音為研究對象,通過語音信號處理和模式識別讓機器自動識別和理解人類口述的語言。
語音識別技術歷史發展進程
語音識別的研究可以追溯到20世紀50年代AT&T貝爾實驗室的Audry系統,它是第一個可以識別十個英文數字的語音識別系統。
但真正取得實質性進展,并將它作為一個重要的課題開展研究則是在60年代末70年代初。計算機技術的發展為語音識別的實現提供了硬件和軟件的可能,語音信號線性預測編碼(LPC)技術和動態時間規整(DTW)技術的提出,有效解決了語音信號的特征提取和不等長匹配問題。這一時期語音識別主要基于模板匹配原理,研究的領域局限在特定人,小詞匯表的孤立詞識別,實現了基于線性預測倒譜和DTW技術的特定人孤立詞語音識別系統;同時提出了矢量量化(VQ)和隱馬爾可夫模型(HMM)理論。
80年代HMM和ANN在語音識別中成功應用。李開復實現了第一個基于HMM的大詞匯量語音識別系統Sphinx。90年代隨著多媒體時代的來臨,大量企業開始投入巨資語音識別系統逐漸從實驗室走向實用。00年代以來大數據、漣漪效應和深度神經網絡帶來了語音識別爆發。
語音識別的過程
首先是聲音的輸入,輸入的音頻可以是實時的來自于麥克風,也可以來自于現成的音頻文件。然后是音頻信號的預處理,包括降噪、回聲消除、端點檢查和模數轉換等等。特征提取,就是從音頻信號中提取出對識別有用的信息,將這些信息拿到聲學模型中去匹配,會得到這些音頻信號的發音信息,比如這里例子中的“科大訊飛”四個字的發音信息。然后把這些發音信息拿到語言模型中匹配,找出最大概率的發這四個音的漢字。這樣一個識別的過程就完成了。
這過程中比較核心的部分就是聲學模型和語言模型的匹配和處理,HMM(隱馬爾科夫模型)和深度神經網絡就是在這里發揮作用的。
由于HMM只需要少量的數據就能訓練出一個可用的模型,所以在上世界80、90年代,HMM技術在語音識別領域幾乎是處于統治地位的,直到移動互聯網還有大數據技術的爆發,數據的來源已經完全不是問題的情況下,深度神經網絡才逐漸讓HMM退居二線。下面我們以HMM為例,講解一下它在語音識別中是如何發揮作用的。
HMM淺析
首先和大家分享一個我在網上看到的關于異地戀的故事:小明有個女朋友在北京上學。
我們來給出一些假設條件,比如女朋友只有購物散步和宅家里這三種活動(這些叫可觀察到的狀態),天氣也只有多云晴天和下雨三種(這些叫隱藏的狀態,就是小明無法直接觀察到的狀態),如果第一天是多云的情況下,第二天還是多云的概率是0.5、晴天的概率0.3、下雨的概率0.2;再比如今天是晴天的情況下,女朋友去購物的概率是0.5,去散步的概率0.3,宅家里的概率0.2。那么所有上述的假設條件合在一起其實就形成了一個模型,這個模型就叫做HMM模型。
這三個問題在很早以前就有很多算法大師給出了解法,也就是說這些看起來很難解的問題對計算機來說都很快解出來。
那么這些和語音識別到底有什么關系?我將第二個問題和第三個問題抽象一下。
大家看這張PPT,左邊這個部分就對應剛剛的第二個問題:已知模型參數和女朋友的活動序列(就是可觀察狀態鏈),來求最大概率的隱藏狀態鏈(也就是這三天天氣的變化序列)。
而語音識別也是已知一個HMM和一段我們可觀察到的波形,來求這段音頻包含的最大概率的隱藏狀態,這里隱藏狀態鏈指的就是識別結果中的文字。
對于第三個問題,由于缺少了一個已知的HMM模型,所以我們需要先利用已知的歷史數據來訓練一個可用的模型,然后再來求識別結果。
同樣一個模型,同樣一套模型參數,各個狀態轉化和映射概率都沒有變,我們把可觀察狀態換成語音識別的輸入波形(或者說是波形特征),把隱藏狀態換成語音識別的輸出(也就是文字結果),就會發現這個HMM用來做語音識別簡直太合適啦。
比如這里的例子,這樣三個連續的波形隱含的文字到底是“是十四”還是“四十四”,我們只需要分別把它們的概率算出來,哪個概率大我們就認為是哪個結果。對于HMM模型未知的情況下,我們可以利用帶標注的數據按照鮑姆-韋爾奇算法訓練一個就可以了,足夠的數據就能訓練出趨于完美的模型。
注意,這個例子中我們并沒有區分聲學模型和語言模型,而是將兩者放在一起抽象出來一個大的模型,將波形直接映射成文字,而省去類似拼音發音的中間結果。事實上HMM也的確是既可以做聲學模型,也可以做語言模型。
訊飛開放平臺語音識別
本節公開課說的我們平臺的語音識別是專指語音聽寫的功能,就是將語音轉化成文字的功能,而和識別相關的命令詞識別和語義理解,會在后面的課程中為大家講解。
個性化識別指的是語音識別系統具備自動學習并適應用戶使用習慣的能力,你用的越多,它越懂你。
例如語言模型的個性化,我們可以將一些不容易識別的生僻的詞,比如人名地名等上傳到給我們云端,我們根據你上傳的信息有針對性的優化你的語言模型,提高這些詞的識別率。后面會有視頻給大家演示這樣的效果。
目前我們訊飛的識別支持中文和英文,還支持中文的21種方言,其中粵語和四川話是免費開放就可以使用的,其他的方言需要通過商務合作后才能使用。
離線聽寫也是有的,在訊飛輸入法和訊飛語記app中都已經使用了。大家要開發Android平臺的應用可以借助語記APP提供離線聽寫能力,來讓你自己的應用也具有離線聽寫的功能。
-
語音識別
+關注
關注
38文章
1742瀏覽量
112711
發布評論請先 登錄
相關推薦
評論