語音識別(ASR)--語音轉(zhuǎn)文字

語音識別(Automatic Speech Recognition)是以語音為研究對象泉坐,通過語音信號處理和模式識別讓機器自動識別和理解人類口述的語奔则。語音識別技術就是讓機器通過識別和理解過程把語音信號轉(zhuǎn)變?yōu)橄鄳奈谋净蛎?/b>的高技術芜飘。語音識別是一門涉及面很廣的交叉學科垦梆,它與聲學间唉、語音學偏塞、語言學笙各、信息理論钉答、模式識別理論以及神經(jīng)生物學等學科都有非常密切的關系。

語音識別的基本原理

語音識別系統(tǒng)本質(zhì)上是一種模式識別系統(tǒng)杈抢,包括特征提取数尿、模式匹配、參考模式庫等三個基本單元惶楼,它的基本結構如下圖所示:

上面這個圖其實很好理解右蹦,就是把語音輸入,我們首先就是要對輸入的語音進行預處理歼捐,然后提取語音的特征何陆,在此基礎上建立語音識別所需的模板。而計算機在識別過程中要根據(jù)語音識別的模型豹储,將計算機中存放的語音模板與輸入的語音信號的特征進行比較贷盲,根據(jù)一定的搜索和匹配策略,找出一系列最優(yōu)的與輸入語音匹配的模板剥扣。然后根據(jù)此模板的定義巩剖,通過查表就可以給出計算機的識別結果慨灭。顯然,這種最優(yōu)的結果與特征的選擇球及、語音模型的好壞氧骤、模板是否準確都有直接的關系。

語音識別系統(tǒng)構建過程整體上包括兩大部分:訓練和識別吃引。訓練通常是離線完成的筹陵,對預先收集好的海量語音、語言數(shù)據(jù)庫進行信號處理和知識挖掘镊尺,獲取語音識別系統(tǒng)所需要的“聲學模型”和“語言模型”;而識別過程通常是在線完成的朦佩,對用戶實時的語音進行自動識別識別過程通常又可以分為“前端”和“后端”兩大模塊:“前端”模塊主要的作用是進行端點檢測(去除多余的靜音和非說話聲)庐氮、降噪语稠、特征提取等;“后端”模塊的作用是利用訓練好的“聲學模型”和“語言模型”對用戶說話的特征向量進行統(tǒng)計模式識別(又稱“解碼”),得到其包含的文字信息弄砍,此外仙畦,后端模塊還存在一個“自適應”的反饋模塊,可以對用戶的語音進行自學習音婶,從而對“聲學模型”和“語音模型”進行必要的“校正”慨畸,進一步提高識別的準確率。


語音識別的技術原理

首先衣式,我們知道聲音實際上是一種波寸士。常見的mp3等格式都是壓縮格式,必須轉(zhuǎn)成非壓縮的純波形文件來處理碴卧,比如Windows PCM文件弱卡,也就是俗稱的wav文件。wav文件里存儲的除了一個文件頭以外住册,就是聲音波形的一個個點了婶博。下圖是一個波形的示例。

聲音波形圖

其實語音識別的聲音預處理與聲紋識別的聲音預處理有很大一部分是相似的(前面我有介紹:【自主學習】聲紋識別.2 - 簡書)界弧。在開始語音識別之前凡蜻,有時需要把首尾端的靜音切除,降低對后續(xù)步驟造成的干擾垢箕。這個靜音切除的操作一般稱為 VAD(【自主學習】聲紋識別.2 - 簡書)划栓。

要對聲音進行分析,需要對聲音分幀条获,也就是把聲音切開一小段一小段忠荞,每小段稱為一幀。分幀操作一般不是簡單的切開,而是使用移動窗函數(shù)(【自主學習】聲紋識別.2 - 簡書)來實現(xiàn)委煤。幀與幀之間一般是有交疊的堂油,就像下圖:

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

分幀后迫靖,語音就變成了很多小段。但波形在時域上幾乎沒有描述能力兴使,因此必須將波形作變換系宜。常見的一種變換方法是提取MFCC特征(【自主學習】聲紋識別.2 - 簡書)。

至此发魄,聲音就成了一個12行(假設聲學特征是12維)盹牧、N列的一個矩陣,稱之為觀察序列励幼,這里N為總幀數(shù)汰寓。觀察序列如下圖所示,圖中赏淌,每一幀都用一個12維的向量表示踩寇,色塊的顏色深淺表示向量值的大小啄清。

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

音素:單詞的發(fā)音由音素構成。對英語辣卒,一種常用的音素集是卡內(nèi)基梅隆大學的一套由39個音素構成的音素集掷贾,參見The CMU Pronouncing Dictionary。漢語一般直接用全部聲母和韻母作為音素集荣茫,另外漢語識別還分有調(diào)無調(diào)等等想帅,有興趣的可以自己去了解一下哈。

狀態(tài):這里理解成比音素更細致的語音單位就行啦啡莉。通常把一個音素劃分成3個狀態(tài)港准。

下面我們來看看語音識別的工作流程:?

第一步,把幀識別成狀態(tài)(難點)咧欣。

第二步浅缸,把狀態(tài)組合成音素。

第三步魄咕,把音素組合成單詞衩椒。

如下圖:

在上圖中,每個小豎條代表一幀若干幀語音對應一個狀態(tài)毛萌,每三個狀態(tài)組合成一個音素苟弛,若干個音素組合成一個單詞。也就是說阁将,只要知道每幀語音對應哪個狀態(tài)膏秫,語音識別的結果就出來了。

那每幀音素對應哪個狀態(tài)呢做盅?有個容易想到的辦法荔睹,看某幀對應哪個狀態(tài)的概率最大,那這幀就屬于哪個狀態(tài)言蛇。比如下面的示意圖僻他,這幀在狀態(tài)S3上的條件概率最大,因此就猜這幀屬于狀態(tài)S3腊尚。

那這些用到的概率從哪里讀取呢?有個叫“聲學模型”的東西吨拗,里面存了一大堆參數(shù),通過這些參數(shù)婿斥,就可以知道幀和狀態(tài)對應的概率劝篷。獲取這一大堆參數(shù)的方法叫做“訓練”,需要使用巨大數(shù)量的語音數(shù)據(jù)民宿,訓練的方法比較繁瑣娇妓,現(xiàn)在有很多訓練模型的工具(如:CMUSphinx Open Source Speech Recognition?,Kaldi ASR)活鹰。

但這樣做有一個問題:每一幀都會得到一個狀態(tài)號哈恰,最后整個語音就會得到一堆亂七八糟的狀態(tài)號,相鄰兩幀間的狀態(tài)號基本都不相同志群。假設語音有1000幀着绷,每幀對應1個狀態(tài),每3個狀態(tài)組合成一個音素锌云,那么大概會組合成300個音素荠医,但這段語音其實根本沒有這么多音素。如果真這么做桑涎,得到的狀態(tài)號可能根本無法組合成音素彬向。實際上,相鄰幀的狀態(tài)應該大多數(shù)都是相同的才合理攻冷,因為每幀很短娃胆。

解決這個問題的常用方法就是使用隱馬爾可夫模型(Hidden Markov Model,HMM)讲衫。這東西聽起來好像很高深的樣子缕棵,實際上用起來很簡單:首先構建一個狀態(tài)網(wǎng)絡孵班,然后從狀態(tài)網(wǎng)絡中尋找與聲音最匹配的路徑。

這樣就把結果限制在預先設定的網(wǎng)絡中招驴,避免了剛才說到的問題篙程,當然也帶來一個局限,比如你設定的網(wǎng)絡里只包含了“今天晴天”和“今天下雨”兩個句子的狀態(tài)路徑别厘,那么不管說些什么虱饿,識別出的結果必然是這兩個句子中的一句。那如果想識別任意文本呢?把這個網(wǎng)絡搭得足夠大触趴,包含任意文本的路徑就可以了氮发。但這個網(wǎng)絡越大,想要達到比較好的識別準確率就越難冗懦。所以要根據(jù)實際任務的需求爽冕,合理選擇網(wǎng)絡大小和結構

搭建狀態(tài)網(wǎng)絡披蕉,是由單詞級網(wǎng)絡展開成音素網(wǎng)絡颈畸,再展開成狀態(tài)網(wǎng)絡。語音識別過程其實就是在狀態(tài)網(wǎng)絡中搜索一條最佳路徑没讲,語音對應這條路徑的累積概率最大眯娱,這稱之為“解碼”。路徑搜索的算法是一種動態(tài)規(guī)劃剪枝的算法爬凑,稱之為Viterbi算法徙缴,用于尋找全局最優(yōu)路徑。

這里所說的累積概率嘁信,由三部分構成于样,分別是:

觀察概率:每幀和每個狀態(tài)對應的概率

轉(zhuǎn)移概率:每個狀態(tài)轉(zhuǎn)移到自身或轉(zhuǎn)移到下個狀態(tài)的概率

語言概率:根據(jù)語言統(tǒng)計規(guī)律得到的概率

其中,前兩種概率從聲學模型中獲取吱抚,最后一種概率從語言模型中獲取百宇。語言模型是使用大量的文本訓練出來的,可以利用某門語言本身的統(tǒng)計規(guī)律來幫助提升識別正確率秘豹。語言模型很重要,如果不使用語言模型昌粤,當狀態(tài)網(wǎng)絡較大時既绕,識別出的結果基本是一團亂麻。


語音識別的工作流程

語義識別流程圖

預處理:

1.?首尾端的靜音切除涮坐,降低干擾凄贩,靜音切除的操作一般稱為VAD。??????????????

2.?聲音分幀袱讹,也就是把聲音切開成一小段一小段疲扎,每小段稱為一幀昵时,使用移動窗函數(shù)來實現(xiàn),不是簡單的切開椒丧,各幀之間一般是有交疊的壹甥。

特征提取:主要算法有線性預測倒譜系數(shù)(LPCC)和Mel?倒譜系數(shù)(MFCC)壶熏,目的是把每一幀波形變成一個包含聲音信息的多維向量句柠;

聲學模型(AM):通過對語音數(shù)據(jù)進行訓練獲得,輸入是特征向量棒假,輸出為音素信息溯职;

字典:字或者詞與音素的對應, 簡單來說帽哑, 中文就是拼音和漢字的對應谜酒,英文就是音標與單詞的對應;

語言模型(LM):通過對大量文本信息進行訓練妻枕,得到單個字或者詞相互關聯(lián)的概率甚带;

解碼:就是通過聲學模型,字典佳头,語言模型對提取特征后的音頻數(shù)據(jù)進行文字輸出鹰贵;

語音識別流程的舉例(只是形象表述,不是真實數(shù)據(jù)和過程):

1康嘉、語音信號:我是機器人

2碉输、特征提取:我是機器人\rightarrow [1 2 3 4 5 6.....]

3亭珍、聲學模型: [1 2 3 4 5 6.....]\rightarrow w o s i j i q i r n

4敷钾、字典:窩:w o;我:w o肄梨; 是:s i阻荒; 機:j i; 器:q i众羡; 人:r n侨赡;級:j i;忍:r n粱侣;

5羊壹、語言模型(給出概率):我:0.0786, 是: 0.0546齐婴,我是:0.0898油猫,機器:0.0967,機器人:0.6785柠偶;

?6情妖、 輸出文字:我是機器人睬关;


有什么問題盡管提出來哈!


參考:

語音識別技術基礎理解 - 簡書

語音識別的技術原理是什么毡证? - 知乎

語音識別基本流程 - nsh119的博客 - CSDN博客

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末电爹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子情竹,更是在濱河造成了極大的恐慌藐不,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件秦效,死亡現(xiàn)場離奇詭異雏蛮,居然都是意外死亡,警方通過查閱死者的電腦和手機阱州,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門挑秉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人苔货,你說我怎么就攤上這事犀概。” “怎么了夜惭?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵姻灶,是天一觀的道長。 經(jīng)常有香客問我诈茧,道長产喉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任敢会,我火速辦了婚禮曾沈,結果婚禮上,老公的妹妹穿的比我還像新娘鸥昏。我一直安慰自己塞俱,他們只是感情好,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布吏垮。 她就那樣靜靜地躺著障涯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪惫皱。 梳的紋絲不亂的頭發(fā)上像樊,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機與錄音旅敷,去河邊找鬼。 笑死颤霎,一個胖子當著我的面吹牛媳谁,可吹牛的內(nèi)容都是我干的涂滴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼晴音,長吁一口氣:“原來是場噩夢啊……” “哼柔纵!你這毒婦竟也來了?” 一聲冷哼從身側響起锤躁,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤搁料,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后系羞,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體郭计,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年椒振,在試婚紗的時候發(fā)現(xiàn)自己被綠了昭伸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡澎迎,死狀恐怖庐杨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情夹供,我是刑警寧澤灵份,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站哮洽,受9級特大地震影響填渠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜袁铐,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一揭蜒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧剔桨,春花似錦屉更、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至树绩,卻和暖如春萨脑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背饺饭。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工渤早, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瘫俊。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓鹊杖,卻偏偏與公主長得像悴灵,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子骂蓖,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

推薦閱讀更多精彩內(nèi)容