科普丨一文看懂語音識別的技術原理

2021-01-08 FlyAI

簡要給大家介紹一下語音怎麼變文字的吧。希望這個介紹能讓所有同學看懂。

首先,我們知道聲音實際上是一種波。常見的mp3、wmv等格式都是壓縮格式,必須轉成非壓縮的純波形文件來處理,比如Windows PCM文件,也就是俗稱的wav文件。wav文件裡存儲的除了一個文件頭以外,就是聲音波形的一個個點了。下圖是一個波形的示例。

在開始語音識別之前,有時需要把首尾端的靜音切除,降低對後續步驟造成的幹擾。這個靜音切除的操作一般稱為VAD,需要用到信號處理的一些技術。要對聲音進行分析,需要對聲音分幀,也就是把聲音切開成一小段一小段,每小段稱為一幀。分幀操作一般不是簡單的切開,而是使用移動窗函數來實現,這裡不詳述。幀與幀之間一般是有交疊的,就像下圖這樣:

圖中,每幀的長度為25毫秒,每兩幀之間有25-10=15毫秒的交疊。我們稱為以幀長25ms、幀移10ms分幀。圖中,每幀的長度為25毫秒,每兩幀之間有25-10=15毫秒的交疊。我們稱為以幀長25ms、幀移10ms分幀。

分幀後,語音就變成了很多小段。但波形在時域上幾乎沒有描述能力,因此必須將波形作變換。常見的一種變換方法是提取MFCC特徵,根據人耳的生理特性,把每一幀波形變成一個多維向量,可以簡單地理解為這個向量包含了這幀語音的內容信息。這個過程叫做聲學特徵提取。實際應用中,這一步有很多細節,聲學特徵也不止有MFCC這一種,具體這裡不講。

至此,聲音就成了一個12行(假設聲學特徵是12維)、N列的一個矩陣,稱之為觀察序列,這裡N為總幀數。觀察序列如下圖所示,圖中,每一幀都用一個12維的向量表示,色塊的顏色深淺表示向量值的大小。

接下來就要介紹怎樣把這個矩陣變成文本了。首先要介紹兩個概念:

音素:單詞的發音由音素構成。對英語,一種常用的音素集是卡內基梅隆大學的一套由39個音素構成的音素集,參見The CMU Pronouncing Dictionary。漢語一般直接用全部聲母和韻母作為音素集,另外漢語識別還分有調無調,不詳述。狀態:這裡理解成比音素更細緻的語音單位就行啦。通常把一個音素劃分成3個狀態。

語音識別是怎麼工作的呢?實際上一點都不神秘,無非是:

第一步,把幀識別成狀態(難點);

第二步,把狀態組合成音素;

第三步,把音素組合成單詞。

如下圖所示:

圖中,每個小豎條代表一幀,若干幀語音對應一個狀態,每三個狀態組合成一個音素,若干個音素組合成一個單詞。也就是說,只要知道每幀語音對應哪個狀態了,語音識別的結果也就出來了。圖中,每個小豎條代表一幀,若干幀語音對應一個狀態,每三個狀態組合成一個音素,若干個音素組合成一個單詞。也就是說,只要知道每幀語音對應哪個狀態了,語音識別的結果也就出來了。

那每幀音素對應哪個狀態呢?有個容易想到的辦法,看某幀對應哪個狀態的概率最大,那這幀就屬於哪個狀態。比如下面的示意圖,這幀對應S3狀態的概率最大,因此就讓這幀屬於S3狀態。

那這些用到的概率從哪裡讀取呢?有個叫「聲學模型」的東西,裡面存了一大堆參數,通過這些參數,就可以知道幀和狀態對應的概率。獲取這一大堆參數的方法叫做「訓練」,需要使用巨大數量的語音數據,訓練的方法比較繁瑣,這裡不講。

但這樣做有一個問題:每一幀都會得到一個狀態號,最後整個語音就會得到一堆亂七八糟的狀態號,相鄰兩幀間的狀態號基本都不相同。假設語音有1000幀,每幀對應1個狀態,每3個狀態組合成一個音素,那麼大概會組合成300個音素,但這段語音其實根本沒有這麼多音素。如果真這麼做,得到的狀態號可能根本無法組合成音素。實際上,相鄰幀的狀態應該大多數都是相同的才合理,因為每幀很短。

解決這個問題的常用方法就是使用隱馬爾可夫模型(Hidden Markov Model,HMM)。這東西聽起來好像很高深的樣子,實際上用起來很簡單:

第一步,構建一個狀態網絡。

第二步,從狀態網絡中尋找與聲音最匹配的路徑。

這樣就把結果限制在預先設定的網絡中,避免了剛才說到的問題,當然也帶來一個局限,比如你設定的網絡裡只包含了「今天晴天」和「今天下雨」兩個句子的狀態路徑,那麼不管說些什麼,識別出的結果必然是這兩個句子中的一句。

那如果想識別任意文本呢?把這個網絡搭得足夠大,包含任意文本的路徑就可以了。但這個網絡越大,想要達到比較好的識別準確率就越難。所以要根據實際任務的需求,合理選擇網絡大小和結構。

搭建狀態網絡,是由單詞級網絡展開成音素網絡,再展開成狀態網絡。語音識別過程其實就是在狀態網絡中搜索一條最佳路徑,語音對應這條路徑的概率最大,這稱之為「解碼」。路徑搜索的算法是一種動態規劃剪枝的算法,稱之為Viterbi算法,用於尋找全局最優路徑。

這裡所說的累積概率,由三部分構成,分別是:

觀察概率:每幀和每個狀態對應的概率轉移概率:每個狀態轉移到自身或轉移到下個狀態的概率語言概率:根據語言統計規律得到的概率

其中,前兩種概率從聲學模型中獲取,最後一種概率從語言模型中獲取。語言模型是使用大量的文本訓練出來的,可以利用某門語言本身的統計規律來幫助提升識別正確率。語言模型很重要,如果不使用語言模型,當狀態網絡較大時,識別出的結果基本是一團亂麻。

以上介紹的是傳統的基於HMM的語音識別。事實上,HMM的內涵絕不是上面所說的「無非是個狀態網絡」那麼簡單。以上的文字只是想讓大家容易理解,並不追求嚴謹。

End

相關焦點

  • 科普丨一文看懂數字孿生—相關概念及內涵
    科普丨一文看懂數字孿生—相關概念及內涵 2020-11-24 10:43 來源:澎湃新聞·澎湃號·政務
  • 語音識別技術原理全面解析
    語音識別是以語音為研究對象,通過語音信號處理和模式識別讓機器自動識別和理解人類口述的語言。語音識別技術就是讓機器通過識別和理解過程把語 音信號轉變為相應的文本或命令的高技術。語音識別是一門涉及面很廣的交叉學科,它與聲學、語音學、語言學、信息理論、模式識別理論以及神經生物學等學科都 有非常密切的關係。
  • 語音識別原理及其語音識別系統分類
    一、語音識別原理語言交流是人類一種天然的溝通模式。從兒童時代開始我們對語言的相關學習都是自發的,語言交流始終貫穿於我們的生活。它是那麼的自然以至於我們根本沒有發現這是一種多麼複雜的現象。每一層可提供額外的時間限制,例如,已經被認知的單詞發音或法律上的單詞序列,可以彌補錯誤或把不確定性降到較低水平。限制的最好方法是在所有較低的層次中利用概率相結合的決策,而只在最高層次中使用離散決策。一個標準的語音識別系統如下圖所示。
  • 玩人工智慧的你必須知道的語音識別技術原理
    本文引用地址:http://www.eepw.com.cn/article/201612/342190.htm  我們都希望像《鋼鐵俠》中那樣智能先進的語音助手,在與機器人進行語音交流時,讓它聽明白你在說什麼。語音識別技術將人類這一曾經的夢想變成了現實。語音識別就好比「機器的聽覺系統」,該技術讓機器通過識別和理解,把語音信號轉變為相應的文本或命令。
  • 一文看懂三大指紋識別原理 光學屏幕指紋強在哪?
    目前指紋識別技術可以分為三類:電容式指紋識別、光學屏幕指紋識別和超聲波指紋識別。三種指紋識別各有什麼不同?現階段vivo的光學屏幕指紋識別技術,能否抗衡傳統電容式指紋識別呢?電容式指紋識別技術應用發展多年,無論是識別速度還是準確性都很高,可以說已經相當成熟。其原理是利用矽晶圓在和我們皮膚上電解液接觸的時候後形成電場,同時指紋在微觀上是高低不平的(肉眼不可見),這時候傳感器就可以記錄下指紋的形狀,以供解鎖使用。
  • 一文看懂語音技術商業化邏輯:對品牌意味著什麼
    語音簡史基於語音的交互界面已經存在了幾十年,儘管它們最具影響力的方面一直是客戶服務電話。大多數與語音相關的系統都遭遇了各種各樣的問題,從語音識別到複雜的生態系統。五年前,行業領先的語音識別技術的準確率僅為75%左右,機器學習技術、系統和硬體的最新發展,使得最好的語音識別系統的準確率提高到了95%到97%。
  • 一文帶你全面熟悉智能語音之麥克風陣列技術的原理
    一文帶你全面熟悉智能語音之麥克風陣列技術的原理 佚名 發表於 2017-12-13 14:06:22  麥克風陣列(Microphone Array
  • ZLG深度解析:語音識別技術
    語音識別已成為人與機器通過自然語言交互重要方式之一,本文將從語音識別的原理以及語音識別算法的角度出發為大家介紹語音識別的方案及詳細設計過程。語言作為人類的一種基本交流方式,在數千年歷史中得到持續傳承。近年來,語音識別技術的不斷成熟,已廣泛應用於我們的生活當中。語音識別技術是如何讓機器「聽懂」人類語言?
  • 一文看懂當下六大生物識別技術!
    而目前最為常見的生物識別技術有:指紋識別、人臉識別、掌紋識別、語音(聲紋)識別、靜脈識別等。與其他生物識別技術相比,指紋識別早已經在消費電子、安防等產業中廣泛應用,通過時間和實踐的檢驗,技術方面也在不斷的革新。目前國內早已形成了完整的指紋識別產業鏈,並未湧現出了多家業界領先的領軍企業。比如,從事指紋晶片設計的上市企業匯頂科技。此外還有思立微、費恩格爾、邁瑞微等一眾國產指紋識別晶片廠商。  雖然每個人的指紋識別都是獨一無二的,但並不適用於每一個行業、每一個人。
  • Skype Translator實時語音翻譯技術原理
    Skype Translator是由Skype和微軟機器翻譯團隊聯合開發,整合了微軟Skype語音和聊天技術、機器翻譯技術、神經網絡語音識別打造了一款面向消費者用戶的產品。  自2014年12月Skype Translator 推出英文和西班牙文之間的實時語音翻譯之後,此次在中國市場的發布Skype Translator無疑將微軟語音翻譯技術能力和Skype的未來應用前景推升到新的裡程碑。  Skype Translator預覽版適用於Windows 8.1或Windows 10技術預覽版的客戶端或平板電腦客戶端。
  • 排名 語音識別_語音識別技術排名 - CSDN
    該成果有望推動語音識別技術的大幅進步,已超越人類專業速記員的水平」的字眼令正在從事語音識別研究的科研工作者和技術提供商一陣錯愕,不明真相的群眾紛紛認為當前語音識別已經刷無可刷,語音識別技術已經沒有門檻,語音識別是已經解決的問題了……但是事實並不是這樣,在LibriSpeech這種簡單數據集上「刷」到詞錯誤率2.97%並不困難,語音識別領域仍存在大量的問題需要解決。
  • 語音識別技術簡史
    語音識別的精度和速度取決於實際應用環境,但在安靜環境、標準口音、常見詞彙場景下的語音識別率已經超過 95%,意味著具備了與人類相仿的語言識別能力,而這也是語音識別技術當前發展比較火熱的原因。隨著技術的發展,現在口音、方言、噪聲等場景下的語音識別也達到了可用狀態,特別是遠場語音識別已經隨著智能音箱的興起成為全球消費電子領域應用最為成功的技術之一。
  • 硬核科普:一文看懂人臉識別技術流程
    嗯,刷臉支付將小編從付錢時漫長等待的焦躁和不安中解救了出來,所以在IT之家編輯部的科技氛圍裡淫浸多年後,小編覺得有必要為大家講一講「刷臉」到底是個什麼東西,也可算是知恩圖報了!「刷臉」,顧名思義,背後是一項關鍵技術:人臉識別。
  • 科普丨一文看懂數字孿生—應用發展綜述(四)
    這為中國下一階段的城市和基礎設施發展奠定了基礎 。2019 年中國新型智慧城市規模超過 9000 億元,未來幾年將保持較快速度增長,預計到 2023 年市場規模將超過 1.3 萬億元。當前,安全綜治、智慧園區、智慧交通是智慧城市建設投入的重點,三大細分場景規模佔智慧城市建設總規模的 71%,而城市級平臺、機器人等新技術和產品則在快速落地,被更多城市建設方採納和應用 。
  • 一文看懂煙感報警器原理
    打開APP 一文看懂煙感報警器原理 發表於 2019-09-05 17:12:44   煙感報警器原理   煙感報警器其實是煙感或煙霧報警器的別稱
  • FinTech時代商業銀行智能語音識別技術應用與發展
    一、語音識別技術概述  語音識別通過運用語言學、計算機科學、電子工程、模式識別、概率論、資訊理論以及人工智慧等領域的方法和技術,使計算機設備能夠精準識別和翻譯語音信息,也被稱為自動語音識別(ASR)或者語音到文本(STT),在金融、電信、電子商務、醫療、製造等行業得到了廣泛應用。
  • 指紋人臉語音,生物識別技術大對比
    要想知道識別技術到底「哪家強」,先了解一下個人身份驗證的方法的三種方法: 識別設備,如NFC手機、智慧卡 明文密碼,例如PIN、密碼 用戶自身的生物特徵,如指紋、虹膜 而第三種生物識別技術帶來的是人與行為之間的驗證環,還有另一個好處就是方便。
  • 智能語音機器人工作原理解析,淺談VAD技術
    ,語音機器人(電話機器人、客服機器人、電銷機器人,……),在生活中很常見,表現都讓人驚喜。同時他們工作原理也大致相同。一般智能語音助理或語音機器人工作原理大致如下:第一階段:語音到文本的過程。信號源→設備(捕獲音頻輸入)→增強音頻輸入→檢測語音→轉換為其他形式(如文本)第二階段:響應過程。處理文本(如用NLP處理文本,識別意圖)→操作響應。
  • GMM-HMM語音識別原理詳解
    本文簡明講述GMM-HMM在語音識別上的原理,建模和測試過程。本文引用地址:http://www.eepw.com.cn/article/201710/368485.htm  1. 什麼是Hidden Markov Model?
  • 從原理入手,解析基於DSP的漢字語音識別系統的實現方式
    語音識別是機器通過識別和理解過程把語音信號轉變為相應的文本文件或命令的高技術。作為專門的研究領域,語音識別又是一門交叉學科,它與聲學、語音學、語言學、數位訊號處理理論、資訊理論、計算機科學等眾多學科緊密相連。語音識別經過四十多年的發展,已經顯示出巨大的應用前景。本文從實現原理入手,介紹語音識別系統的實現方式。