背景:
對語音識別做一個調研,材料主要來自于wiki:https://en.wikipedia.org/wiki/Speech_recognition
對于一些詳細的資料可以去上述網址深入查詢。
1.歷史(按時間脈絡梳理技術的發展)
(1)1980年前:
1971年 - DARPA資助語音理解研究五年,語音識別研究尋求最小詞匯量1000字。他們認為言語理解是在語音識別方面取得進步的關鍵;后來證明這是不真實的。[14] BBN,IBM,卡內基梅隆和斯坦福研究所都參與了該計劃。[15] [16]這個復活的語音識別研究發表在約翰皮爾斯的信中。
1972年 - IEEE聲學,語音和信號處理小組在馬薩諸塞州牛頓召開了一次會議。
60年代末倫納德鮑姆開發的數學馬爾可夫鏈在國防分析研究所。十年后,在CMU,Raj Reddy的學生James Baker和Janet M. Baker開始使用隱馬爾可夫模型(HMM)進行語音識別。[18] James Baker在本科教育期間從國防分析研究所的暑期工作中了解到了HMMs。[19] HMM的使用使研究人員能夠在統一的概率模型中結合不同的知識來源,如聲學,語言和語法。
(2)1980-2000年
- 到20世紀80年代中期, IBM的Fred Jelinek團隊創建了一個名為Tangora的語音激活打字機,它可以處理20,000字的詞匯[20]Jelinek的統計方法不太強調模仿人類大腦處理和理解語言的方式,而使用統計學像HMM這樣的建模技術。(Jelinek的小組獨立地發現了HMM在語音中的應用。[19])這對語言學家來說是有爭議的,因為HMM過于簡單化,無法解釋人類語言的許多共同特征。[21]然而,HMM被證明是一種非常有用的語音建模方法,并取代動態時間扭曲成為20世紀80年代的主要語音識別算法。[22]
20世紀80年代也出現了n-gram語言模型。
該領域的大部分進展都歸功于計算機的快速增長能力。在1976年DARPA計劃結束時,研究人員可以使用的最好的計算機是具有4 MB RAM 的PDP-10。[21]解碼僅30秒的語音可能需要長達100分鐘。[24]
兩個實用的產品是:
- 1987年 - Kurzweil Applied Intelligence的認可者
- 1990年 - Dragon Dictate,1990年發布的消費產品[25] [26] AT&T于1992年部署了語音識別呼叫處理服務,用于在不使用人工操作員的情況下路由電話。[27]該技術由勞倫斯·拉賓納和貝爾實驗室的其他人開發。
到此為止,典型的商業語音識別系統的詞匯量大于普通的人類詞匯量。[21] Raj Reddy的前學生黃學東在CMU 開發了Sphinx-II系統。Sphinx-II系統是第一個獨立于說話者,大詞匯量,連續語音識別的系統,它在DARPA 1992年的評估中表現最佳。處理具有大詞匯量的連續語音是語音識別歷史中的一個重要里程碑。1993 年,Huang繼續在微軟找到語音識別小組 .Raj Reddy的學生Lee-Fu Lee加入Apple,1992年,他幫助開發了一款名為Casper的Apple計算機的語音接口原型。
總部位于比利時的語音識別公司Lernout&Hauspie收購了其他幾家公司,包括1997年的Kurzweil Applied Intelligence和2000年的Dragon Systems.L&H語音技術用于Windows XP操作系統。L&H是一個行業的領導者,直到會計丑聞在2001年結束了該公司的語音技術從L&H是由ScanSoft公司這成為收購Nuance公司在2005年蘋果公司最初許可的軟件Nuance的提供語音識別能力,其數字助理Siri的。[28]
(3)2000s
在2000年代,DARPA贊助了兩個語音識別程序:2002年有效負擔得起的可重復使用的語音到文本(EARS)和全球自主語言開發(GALE)。四個團隊參加了EARS計劃:IBM,由BBN和LIMSI以及Univ領導的團隊。匹茲堡大學, 劍橋大學,以及由ICSI,SRI和華盛頓大學組成的團隊。EARS資助了Switchboard電話語音語料庫的收集,其中包含來自500多個發言者的260小時錄制的對話。[29] GALE計劃的重點是阿拉伯語和普通話廣播新聞演講。2007年,在聘請Nuance的一些研究人員之后,谷歌首次在語音識別方面做出了努力。[30]第一個產品是GOOG-411,一個基于電話的目錄服務。來自GOOG-411的錄音產生了有價值的數據,幫助谷歌改進了他們的識別系統。Google語音搜索現在支持30多種語言。
在美國,至少自2006 年以來,國家安全局已經使用一種語音識別來識別關鍵詞。[31]該技術允許分析師搜索大量記錄的對話并隔離提及的關鍵詞??梢詫τ涗浘幹扑饕治鋈藛T可以在數據庫上運行查詢以查找感興趣的對話。一些政府研究項目專注于語音識別的智能應用,例如DARPA的EARS計劃和IARPA的Babel計劃。
在21世紀初期,語音識別仍然由傳統方法主導,例如隱馬爾可夫模型與前饋人工神經網絡相結合。[32] 然而,今天,語音識別的許多方面已被一種稱為長期短期記憶(LSTM)的深度學習方法所接管,這是一種由Sepp Hochreiter和JürgenSchmidhuber在1997年發表的遞歸神經網絡。[33] LSTM RNNs避免消失的梯度問題,并可以學習“非常深度學習”的任務[34]需要記憶發生在數千個離散時間步驟之前的事件,這對于語音很重要。2007年左右,由連接主義時間分類(CTC)[35]培訓的LSTM 在某些應用中開始優于傳統的語音識別。[36]據報道,2015年谷歌的語音識別通過CTC培訓的LSTM經歷了49%的驚人表現,現在可通過Google Voice向所有智能手機用戶提供。[37]
2009年下半年Geoffrey Hinton及其在多倫多大學的學生和Li Deng [38]以及微軟研究院的同事們在2009年下半年引入了深度前饋(非周期性)網絡用于聲學建模,最初是在微軟和多倫多大學隨后擴展到包括IBM和谷歌(因此在2012年的評論報告中“四個研究組的共同觀點”副標題)。[39] [40] [41]一位微軟研究主管稱這項創新是“自1979年以來最嚴重的準確性變化”。[42]與過去幾十年的穩定增量改進相比,深度學習的應用將單詞錯誤率降低了30%。[42]這項創新很快在整個領域得到采用。研究人員也開始使用深度學習技術進行語言建模。
在語音識別的悠久歷史中,人工神經網絡的淺層形式和深層形式(例如經常性網絡)在20世紀80年代,90年代和21世紀的幾年中已被探索多年。[43] [44] [45] 但是這些方法從未贏得過非均勻的內部手工制作高斯混合模型 / 隱馬爾可夫模型(GMM-HMM)技術,這種技術基于語言訓練的生成模型。[46] 在20世紀90年代,人們在方法上分析了許多關鍵難點,包括梯度遞減[47]和神經預測模型中的弱時間相關結構。[48] [49] 所有這些困難都是在這些早期缺乏大量培訓數據和強大的計算能力之外的。大多數了解這些障礙的語音識別研究人員因此隨后離開神經網絡去追求生成建模方法,直到最近重新開始的深度學習開始于2009-2010左右,克服了所有這些困難。Hinton等人。和鄧等人。回顧了近期歷史的一部分,講述了他們之間的合作以及與四個團體(多倫多大學,微軟,谷歌和IBM)的同事之間的合作如何點燃了深度前饋神經網絡應用于語音識別的復興。[40] [41] [50] [51]
(4)2010s
到2010年代初的語音識別,也被稱為語音識別[52] [53] [54]顯然,從分化SP <u>埃克</u>識別和揚聲器獨立性被認為是一個重大突破。在此之前,系統需要“培訓”期。一個1987年的娃娃廣告上寫著“終于,了解你的娃娃”。 - 盡管它被描述為“哪些孩子可以訓練以回應他們的聲音”。[11]
2017年,微軟研究人員在廣泛基準的Switchboard任務中達到了抄寫對話電話語音的歷史人類平等里程碑。多個深度學習模型用于優化語音識別準確度。據報道,語音識別單詞錯誤率低至4名專業人類抄寫員,他們在同一基準測試中一起工作,該基準測試由IBM Watson演講團隊在同一任務中提供資金。[55]
2.模型
(1)隱馬爾可夫模型
主要文章:隱馬爾可夫模型
現代通用語音識別系統基于隱馬爾可夫模型。這些是輸出符號或數量序列的統計模型。HMM用于語音識別,因為語音信號可以被視為分段靜止信號或短時靜止信號。在短時間尺度(例如,10毫秒)中,語音可以近似為靜止過程。語音可以被認為是許多隨機目的的馬爾可夫模型。
HMM受歡迎的另一個原因是因為它們可以自動訓練并且使用起來簡單且計算可行。在語音識別中,隱馬爾可夫模型將輸出一系列n維實值向量(其中n是一個小整數,例如10),每10毫秒輸出一個這些向量。矢量將由倒譜系數組成,倒譜系數是通過對短時間語音窗口進行傅里葉變換并使用余弦變換對頻譜進行去相關而獲得的。,然后取第一個(最重要的)系數。隱馬爾可夫模型將傾向于在每個狀態中具有對角協方差高斯的混合的統計分布,這將給出每個觀察向量的可能性。每個單詞,或(對于更一般的語音識別系統),每個音素,將具有不同的輸出分布; 通過將單獨訓練的隱馬爾可夫模型連接成單獨的單詞和音素,制作用于一系列單詞或音素的隱馬爾可夫模型。
以上描述的是最常見的基于HMM的語音識別方法的核心要素?,F代語音識別系統使用多種標準技術的各種組合,以便改進上述基本方法的結果。典型的大詞匯系統需要音素的上下文依賴(因此具有不同左右上下文的音素具有與HMM狀態不同的實現); 它會使用倒譜歸一化來規范不同的揚聲器和錄音條件; 對于進一步的說話者歸一化,它可能使用聲道長度歸一化(VTLN)進行男性女性歸一化和最大似然線性回歸(MLLR)用于更一般的演講者改編。這些特征將具有所謂的delta和delta-delta系數以捕獲語音動態,此外還可以使用異方差線性判別分析(HLDA); 或者可以跳過delta和delta-delta系數并使用拼接和基于LDA的投影,然后可能是異方差線性判別分析或全局半連接協方差變換(也稱為最大似然線性變換),或MLLT)。許多系統使用所謂的判別訓練技術,其省去了對HMM參數估計的純粹統計方法,而是優化了訓練數據的一些與分類相關的測量。示例是最大互信息(MMI),最小分類錯誤(MCE)和最小電話錯誤(MPE)。
對語音進行解碼(當系統出現新話語并且必須計算最可能的源語句時發生的事情的術語)可能會使用維特比算法來找到最佳路徑,這里可以選擇動態創建組合隱馬爾可夫模型,包括聲學和語言模型信息,并預先靜態組合(有限狀態傳感器,或FST,方法)。
解碼的一個可能的改進是保留一組好的候選人,而不是僅保留最佳候選人,并使用更好的評分函數(重新評分)來評價這些優秀的候選人,以便我們可以根據這個精確的分數選擇最佳的候選人。候選集可以作為列表(N最佳列表方法)或作為模型的子集(格子)保存。重新評分通常是通過盡量減少貝葉斯風險來完成的[56](或其近似值):我們嘗試采用最小化給定損失函數的期望值的句子,而不是采用最大概率的源句子(即,我們采用最小化平均距離的句子)通過其估計概率加權的其他可能句子)。損失函數通常是Levenshtein距離,盡管特定任務可以有不同的距離; 當然,修剪一組可能的轉錄以保持易處理性。已經設計了有效的算法來重新劃分表示為加權有限狀態換能器的格子,其中編輯距離表示為a有限狀態傳感器驗證某些假設。[57]
(2)基于動態時間規整(DTW)的語音識別
主要文章:動態時間扭曲
動態時間扭曲是一種歷史上用于語音識別的方法,但現在已經被更成功的基于HMM的方法取代。
動態時間扭曲是用于測量可能在時間或速度上變化的兩個序列之間的相似性的算法。例如,即使在一個視頻中人們正在緩慢行走而在另一個視頻中他或她走得更快,或者即使在一次觀察的過程中存在加速和減速,也會檢測到行走模式的相似性。DTW已應用于視頻,音頻和圖形 - 實際上,任何可以轉換為線性表示的數據都可以使用DTW進行分析。
一個眾所周知的應用是自動語音識別,以應對不同的語速。通常,它是一種允許計算機在具有某些限制的兩個給定序列(例如,時間序列)之間找到最佳匹配的方法。也就是說,序列被非線性地“扭曲”以彼此匹配。該序列比對方法通常用于隱馬爾可夫模型的上下文中。
(3)神經網絡
主要文章:人工神經網絡
在20世紀80年代后期,神經網絡在ASR中成為一種有吸引力的聲學建模方法。從那時起,神經網絡已被用于語音識別的許多方面,例如音素分類,[58]孤立詞識別,[59]視聽語音識別,視聽說話人識別和說話者適應。
與HMM相比,神經網絡對特征統計特性的顯式假設較少,并且具有多種特性使其成為語音識別的有吸引力的識別模型。當用于估計語音特征片段的概率時,神經網絡允許以自然且有效的方式進行辨別訓練。然而,盡管它們在分類短時間單位(如個體音素和孤立單詞)方面有效,[60],早期神經網絡很難成功進行連續識別任務,因為它們對時間依賴性建模的能力有限。
這種限制的一種方法是在基于HMM的識別之前使用神經網絡作為預處理,特征變換或維數減少[61]步驟。然而,最近,LSTM和相關的遞歸神經網絡(RNNs)[33] [37] [62] [63]和時間延遲神經網絡(TDNN)[64]已經證明了該領域的改進性能。
(4)深度前饋和遞歸神經網
主要文章:深度學習
深度神經網絡和去噪自動編碼器[65]也正在研究中。深度前饋神經網絡(DNN)是一種人工神經網絡,在輸入和輸出層之間具有多個隱藏的單元層。[40]與淺層神經網絡類似,DNN可以模擬復雜的非線性關系。DNN架構生成組合模型,其中額外的層使得能夠從較低層構成特征,從而提供巨大的學習能力,從而具有對復雜的語音數據模型進行建模的潛力。[66]
2010年,工業研究人員與學術研究人員合作,在大詞匯量語音識別中成功發展了DNN,其中采用了基于決策樹構建的依賴于上下文的HMM狀態的DNN的大輸出層。[67] [68] [69]參見微軟研究院最近的Springer一書,了解截至2014年10月對這一發展和現有技術的全面評論。[70]另見最近概述文章中自動語音識別的相關背景和各種機器學習范例的影響,特別是包括深度學習。[71] [72]
深度學習的一個基本原則是取消手工制作的特征工程并使用原始特征。這一原理首先在“原始”光譜圖或線性濾波器組特征的深度自動編碼器架構中成功探索,[73]顯示其優于Mel-Cepstral特征,其包含來自光譜圖的固定變換的幾個階段。語音波形的真正“原始”特征最近被證明可以產生出色的大規模語音識別結果。[74]
(5)端到端自動語音識別
自2014年以來,對“端到端”ASR的研究興趣不斷增加。傳統的基于語音的(即所有基于HMM的模型)方法需要單獨的組件和發音,聲學和語言模型的訓練。端到端模型共同學習語音識別器的所有組件。這很有價值,因為它簡化了培訓過程和部署過程。例如,所有基于HMM的系統都需要n-gram語言模型,典型的n-gram語言模型通常需要幾千兆字節的存儲空間,因此在移動設備上部署它們是不切實際的。[75]因此,谷歌和蘋果的現代商用ASR系統(截至2017年)部署在云上,需要網絡連接,而不是本地設備。
在終端到終端的ASR的第一個嘗試是與聯結顳分類(CTC)通過引入基于系統亞歷克斯·格雷夫斯的谷歌DeepMind的和納瓦迪普Jaitly 多倫多大學于2014年[76]該模型由遞歸神經網絡和CTC層。共同地,RNN-CTC模型一起學習發音和聲學模型,但是由于類似于HMM的條件獨立性假設,它不能學習語言。因此,CTC模型可以直接學習將語音聲學映射到英文字符,但這些模型會產生許多常見的拼寫錯誤,并且必須依靠單獨的語言模型來清理成績單。后來,百度通過極大的數據集擴展了工作,并展示了中文普通話和英語的商業成功。[77]2016年,牛津大學提出LipNet,[78]第一個端到端句子級唇讀模型,使用時空卷積和RNN-CTC架構,超越了限制語法數據集中的人類水平表現。[79] Google DeepMind于2018年推出了大規模的CNN-RNN-CTC架構,其性能比人類專家高出6倍。[80]
基于CTC的模型的替代方法是基于注意力的模型。Chan等人同時引入了基于注意力的ASR模型。的卡耐基梅隆大學和谷歌大腦和Bahdanau等。所述的蒙特利爾大學在2016年[81] [82]名為“傾聽,參與和拼寫”(LAS)的模型,字面上“聽”聲信號,“注意”信號的不同部分,并且一次“拼寫”一個字符的抄本。與基于CTC的模型不同,基于注意力的模型不具有條件獨立性假設,并且可以直接學習語音識別器的所有組件,包括發音,聲學和語言模型。這意味著,在部署期間,不需要攜帶語言模型,這使得它在部署到具有有限存儲器的應用程序上非常實用。截至2016年底,基于注意力的模型取得了相當大的成功,包括超越CTC模型(有或沒有外部語言模型)。[83]自原始LAS模型以來已經提出了各種擴展。潛在序列分解(LSD)由卡內基梅隆大學,麻省理工學院和谷歌大腦提出,直接發出比英文字符更自然的子詞單元; [84] 牛津大學和Google DeepMind將LAS擴展到“觀看,收聽,參與和拼寫”(WLAS),以處理超越人類表現的唇讀。[85]
3.會議和期刊
每年或每兩年舉行的流行語音識別會議包括SpeechTEK和SpeechTEK Europe,ICASSP,Interspeech / Eurospeech和IEEE ASRU。自然語言處理領域的會議,如ACL,NAACL,EMNLP和HLT,開始包括有關語音處理的論文。重要期刊包括IEEE語音和音頻處理交易(后來改名為IEEE,音頻,語音和語言處理交易以及自2014年9月以來重新命名為IEEE/ ACM音頻,語音和語言處理交易 - 與ACM出版物合并后),計算機語音和語言,以及語音交流。
4.軟件
在免費可用資源方面,卡內基梅隆大學的Sphinx工具包是開始學習語音識別和開始實驗的一個地方。另一種資源(免費但受版權保護)是HTK書籍(以及隨附的HTK工具包)。對于更新和最先進的技術,可以使用Kaldi工具包。[ 引證需要 ] 2017年,Mozilla推出了名為Common Voice [109]的開源項目,收集大型語音數據庫,幫助構建免費語音識別項目DeepSpeech(可在GitHub免費獲?。?sup>[110]使用谷歌開源平臺TensorFlow [111]。
基于商業云的語音識別API可從AWS,Azure [112],IBM和GCP 廣泛獲得。
Cobalt的網頁上提供了在線語音識別器的演示。[113]
有關更多軟件資源,請參閱語音識別軟件列表。
PS:詳細引用見wiki[https://en.wikipedia.org/wiki/Speech_recognition#Practical_speech_recognition
]