簡介,發展史,中國發展,識別模式,資料庫,技術發展,分類套用,識別方法,主要問題,前端處理,聲學特徵,聲學特徵,LPC,CEP,Mel,MFCC,聲學模型,語言模型,搜尋,系統實現,適應強健,識別引擎,性能指標,指標,小結,最新進展,
簡介
與機器進行語音交流,讓機器明白你說什麼,這是人們長期以來夢寐以求的事情。
中國物聯網校企聯盟形象得把語音識別比做為“機器的聽覺系統”。
語音識別技術就是讓機器通過識別和理解過程把語音信號轉變為相應的文本或命令的高技術。
語音識別技術主要包括特徵提取技術、模式匹配準則及模型訓練技術三個方面。
語音識別技術車聯網也得到了充分的引用,例如在翼卡車聯網中,只需按一鍵通客服人員口述即可設定目的地直接導航,安全、便捷。
發展史
1952年貝爾研究所Davis等人研究成功了世界上第一個能識別10個英文數字
發音的實驗系統。
1960年英國的Denes等人研究成功了第一個計算機
語音識別系統。
大規模的語音識別研究是在進入了70年代以後,在小辭彙量、孤立詞的識別方面取得了實質性的進展。
進入80年代以後,研究的重點逐漸轉向大辭彙量、非特定人連續語音識別。在研究思路上也發生了重大變化,即由傳統的基於標準模板匹配的技術思路開始轉向基於統計模型 (HMM)的技術思路。此外,再次提出了將神經網路技術引入語音識別問題的技術思路。
進入90年代以後,在語音識別的系統框架方面並沒有什麼重大突破。但是,在
語音識別技術的套用及產品化方面出現了很大的進展。
DARPA(Defense Advanced Research Projects Agency)是在70年代由
美國國防部遠景研究計畫局資助的一項10年計畫,其旨在支持語言理解系統的研究開發工作。
到了80年代,
美國國防部遠景研究計畫局又資助了一項為期10年的DARPA戰略計畫,其中包括噪聲下的語音識別和會話(口語)識別系統,識別任務設定為“(1000單詞)連續語音資料庫管理”。
到了90年代,這一DARPA計畫仍在持續進行中。其研究重點已轉向識別裝置中的自然語言處理部分,識別任務設定為“航空旅行信息檢索”。
日本也在1981年的第五代計算機計畫中提出了有關語音識別輸入-輸出自然語言的宏偉目標,雖然沒能實現預期目標,但是有關
語音識別技術的研究有了大幅度的加強和進展。
1987年起,日本又擬出新的國家項目---高級人機口語接口和自動
電話翻譯系統。
中國發展
中國的語音識別研究起始於1958年,由中國科學院聲學所利用電子管電路識別10個元音。直至1973年才由中國科學院聲學所開始計算機語音識別。由於當時條件的限制,中國的語音識別研究工作一直處於緩慢發展的階段。
進入80年代以後,隨著計算機套用技術在中國逐漸普及和套用以及數位訊號技術的進一步發展,國內許多單位具備了研究語音技術的基本條件。與此同時,國際上
語音識別技術在經過了多年的沉寂之後重又成為研究的熱點,發展迅速。就在這種形式下,國內許多單位紛紛投入到這項研究工作中去。
1986年3月中國高科技發展計畫(863計畫)啟動,語音識別作為智慧型計算機系統研究的一個重要組成部分而被專門列為研究課題。在863計畫的支持下,中國開始了有組織的
語音識別技術的研究,並決定了每隔兩年召開一次語音識別的專題會議。從此中國的
語音識別技術進入了一個前所未有的發展階段。
識別模式
這一時期的語音識別方法基本上是採用傳統的
模式識別策略。其中以蘇聯的Velichko和Zagoruyko、日本的迫江和千葉,以及當時在
美國的板倉等人的研究工作最具有代表性。
· 蘇聯的研究為
模式識別套用於語音識別這一領域奠定了基礎;
· 日本的研究則展示了如何利用動態規劃技術在待識語音模式與標準語音模式之間進行非線性時間匹配的方法;
·板倉的研究提出了如何將線性預測分析技術(LPC)加以擴展,使之用於語音信號的特徵抽取的方法。
資料庫
在語音識別的研究發展過程中,相關研究人員根據不同語言的
發音特點,設計和製作了以
漢語(包括不同方言)、英語等各類語言的語音資料庫,這些語音資料庫可以為國內外有關的科研單位和大學進行漢語連續語音識別算法研究、
系統設計、及產業化工作提供充分、科學的訓練語音樣本。例如:MIT Media lab Speech Dataset(麻省理工學院媒體實驗室語音數據集)、Pitch and Voicing Estimates for Aurora 2(Aurora2語音庫的基因周期和聲調估計)、Congressional speech data(國會語音數據)、Mandarin Speech Frame Data(國語語音幀數據)、用於測試盲源分離算法的語音數據等。
技術發展
目前在大辭彙語音識別方面處於領先地位的IBM語音研究小組,就是在70年代開始了它的大辭彙語音識別研究工作的。AT&T的貝爾研究所也開始了一系列有關非特定人語音識別的實驗。這一研究歷經10年,其成果是確立了如何製作用於非特定人語音識別的標準模板的方法。
這一時期所取得的重大進展有:
⑴
隱馬爾可夫模型(HMM)技術的成熟和不斷完善成為語音識別的主流方法。
⑵以知識為基礎的語音識別的研究日益受到重視。在進行連續語音識別的時候,除了識別聲學信息外,更多地利用各種語言知識,諸如構詞、句法、語義、對話背景方面等的知識來幫助進一步對語音作出識別和理解。同時在語音識別研究領域,還產生了基於統計機率的語言模型。
⑶
人工神經網路在語音識別中的套用研究的興起。在這些研究中,大部分採用基於
反向傳播算法(BP算法)的多層感知網路。人工神經網路具有區分複雜的分類邊界的能力,顯然它十分有助於模式劃分。特別是在電話語音識別方面,由於其有著廣泛的套用前景,成了當前語音識別套用的一個熱點。
另外,面向個人用途的連續語音聽寫機技術也日趨完善。這方面,最具代表性的是IBM的
ViaVoice和Dragon公司的Dragon Dictate系統。這些系統具有說話人自適應能力,新用戶不需要對全部辭彙進行訓練,便可在使用中不斷提高識別率。
中國的
語音識別技術的發展 : ⑴在北京有中科院聲學所、自動化所、清華大學、北方交通大學等科研機構和高等院校。另外,還有哈爾濱工業大學、中國科技大學、四川大學等也紛紛行動起來。
⑵現在,國內有不少
語音識別系統已研製成功。這些系統的性能各具特色。
· 在孤立字大辭彙量語音識別方面,最具代表性的要數92年清華大學電子工程系與中國電子器件公司合作研製成功的THED-919特定人語音識別與理解實時系統。
· 在連續語音識別方面,91年12月四川大學計算機中心在微機上實現了一個主題受限的特定人連續英語——
漢語語音翻譯演示系統。
·在非特定人語音識別方面,有清華大學
計算機科學與技術系在87年研製的聲控電話查號系統並投入實際使用。
分類套用
根據識別的對象不同,語音識別任務大體可分為3類,即孤立詞識別(isolated word recognition),關鍵字識別(或稱關鍵字檢出,keyword spotting)和連續語音識別。其中,孤立詞識別 的任務是識別事先已知的孤立的詞,如“開機”、“關機”等;連續語音識別的任務則是識別任意的連續語音,如一個句子或一段話;連續語音流中的關鍵字檢測針對的是連續語音,但它並不識別全部文字,而只是檢測已知的若干關鍵字在何處出現,如在一段話中檢測“計算機”、“世界”這兩個詞。
根據針對的
發音人,可以把
語音識別技術分為特定人語音識別和非特定人語音識別,前者只能識別一個或幾個人的語音,而後者則可以被任何人使用。顯然,非特定人
語音識別系統更符合實際需要,但它要比針對特定人的識別困難得多。
另外,根據語音設備和通道,可以分為
桌面(PC)語音識別、電話語音識別和
嵌入式設備(手機、PDA等)語音識別。不同的採集通道會使人的
發音的聲學特性發生變形,因此需要構造各自的識別系統。
語音識別的套用領域非常廣泛,常見的套用系統有:
語音輸入系統,相對於
鍵盤輸入方法,它更符合人的日常
習慣,也更自然、更高效;語音控制系統,即用語音來控制設備的運行,相對於手動控制來說更加快捷、方便,可以用在諸如工業控制、
語音撥號系統、智慧型家電、聲控智慧型玩具等許多領域;智慧型對話查詢系統,根據客戶的語音進行操作,為用戶提供自然、友好的資料庫檢索服務,例如家庭服務、賓館服務、旅行社服務系統、訂票系統、醫療服務、銀行服務、股票查詢服務等等。
識別方法
語音識別方法主要是模式匹配法。
在訓練階段,用戶將辭彙表中的每一詞依次說一遍,並且將其特徵矢量作為模板存入模板庫。
在識別階段,將輸入語音的特徵矢量依次與模板庫中的每個模板進行相似度比較,將相似度最高者作為識別結果輸出。
主要問題
語音識別主要有以下五個問題:
⒈對自然語言的識別和理解。首先必須將連續的講話分解為詞、音素等單位,其次要建立一個理解語義的規則。
⒉語音信息量大。語音模式不僅對不同的說話人不同,對同一說話人也是不同的,例如,一個說話人在隨意說話和認真說話時的語音信息是不同的。一個人的說話方式隨著時間變化。
⒊語音的模糊性。說話者在講話時,不同的詞可能聽起來是相似的。這在英語和
漢語中常見。
⒋單個字母或詞、字的語音特性受上下文的影響,以致改變了重音、音調、音量和
發音速度等。
⒌環境噪聲和干擾對語音識別有嚴重影響,致使識別率低。
前端處理
前端處理是指在特徵提取之前,先對原始語音進行處理,部分消除噪聲和不同說話人帶來的影響,使處理後的信號更能反映語音的本質特徵。最常用的前端處理有端點檢測和語音增強。端點檢測是指在語音信號中將語音和非語音信號時段區分開來,準確地確定出語音信號的起始點。經過端點檢測後,後續處理就可以只對語音信號進行,這對提高模型的精確度和識別正確率有重要作用。語音增強的主要任務就是消除環境噪聲對語音的影響。目前通用的方法是採用維納濾波,該方法在噪聲較大的情況下效果好於其它濾波器。
聲學特徵
聲學特徵的提取與選擇是語音識別的一個重要環節。聲學特徵的提取既是一個信息大幅度壓縮的過程,也是一個信號解卷過程,目的是使模式劃分器能更好地劃分。由於語音信號的時變特性,特徵提取必須在一小段語音信號上進行,也即進行短時分析。這一段被認為是平穩的分析區間稱之為幀,幀與幀之間的偏移通常取幀長的1/2或1/3。通常要對信號進行預加重以提升高頻,對信號加窗以避免短時語音段邊緣的影響。
聲學特徵
LPC
線性預測分析從人的發聲機理入手,通過對聲道的短管級聯模型的研究,認為系統的傳遞函式符合全極點
數字濾波器的形式,從而n 時刻的信號可以用前若干時刻的信號的線性組合來估計。通過使實際語音的採樣值和線性預測採樣值之間達到均方差最小LMS,即可得到線性預測係數LPC。對 LPC的計算方法有自相關法(德賓Durbin法)、協方差法、格型法等等。計算上的快速有效保證了這一聲學特徵的廣泛使用。與LPC這種預測參數模型類似的聲學特徵還有線譜對LSP、反射係數等等。
CEP
利用同態處理方法,對語音信號求離散傅立葉變換DFT後取對數,再求反變換iDFT就可得到倒譜係數。對LPC倒譜(LPCCEP),在獲得濾波器的線性預測係數後,可以用一個遞推公式計算得出。實驗表明,使用倒譜可以提高特徵參數的穩定性。
Mel
不同於LPC等通過對人的發聲機理的研究而得到的聲學特徵,Mel倒譜係數MFCC和感知線性預測 PLP是受人的聽覺系統研究成果推動而導出的聲學特徵。對人的聽覺機理的研究發現,當兩個
頻率相近的音調同時發出時,人只能聽到一個音調。臨界
頻寬指的就是這樣一種令人的主觀感覺發生突變的頻寬邊界,當兩個音調的
頻率差小於臨界頻寬時,人就會把兩個音調聽成一個,這稱之為禁止效應。Mel刻度是對這一臨界
頻寬的度量方法之一。
MFCC
首先用FFT將時域信號轉化成頻域,之後對其對數能量譜用依照Mel刻度分布的三角濾波器組進行卷積,最後對各個濾波器的輸出構成的向量進行
離散餘弦變換DCT,取前N個係數。PLP仍用德賓法去計算LPC參數,但在計算自相關參數時用的也是對聽覺激勵的對數能量譜進行DCT的方法。
聲學模型
語音識別系統的模型通常由聲學模型和語言模型兩部分組成,分別對應於語音到
音節機率的計算和音節到字機率的計算。本節和下一節分別介紹聲學模型和語言模型方面的技術。
HMM聲學建模:
馬爾可夫模型的概念是一個離散時域有限狀態自動機,
隱馬爾可夫模型HMM是指這一馬爾可夫模型的內部狀態外界不可見,外界只能看到各個時刻的輸出值。對
語音識別系統,輸出值通常就是從各個幀計算而得的聲學特徵。用HMM刻畫語音信號需作出兩個假設,一是內部狀態的轉移只與上一狀態有關,另一是輸出值只與當前狀態(或當前的狀態轉移)有關,這兩個假設大大降低了模型的複雜度。HMM的打分、解碼和訓練相應的算法是前向算法、Viterbi算法和前向後向算法。
語音識別中使用HMM通常是用從左向右單向、帶自環、帶跨越的拓撲結構來對識別基元建模,一個音素就是一個三至五狀態的HMM,一個詞就是構成詞的多個音素的HMM串列起來構成的HMM,而連續語音識別的整個模型就是詞和靜音組合起來的HMM。
上下文相關建模:協同
發音,指的是一個音受前後相鄰音的影響而發生變化,從發聲機理上看就是人的發聲
器官在一個音轉向另一個音時其特性只能漸變,從而使得後一個音的頻譜與其他條件下的頻譜產生差異。上下文相關建模方法在建模時考慮了這一影響,從而使模型能更準確地描述語音,只考慮前一音的影響的稱為Bi- Phone,考慮前一音和後一音的影響的稱為Tri-Phone。
英語的上下文相關建模通常以音素為基元,由於有些音素對其後音素的影響是相似的,因而可以通過音素解碼狀態的聚類進行模型參數的共享。聚類的結果稱為senone。
決策樹用來實現高效的triphone對senone的對應,通過回答一系列前後音所屬類別(元/輔音、清/濁音等等)的問題,最終確定其HMM狀態應使用哪個senone。分類回歸樹CART模型用以進行詞到音素的
發音標註。
語言模型
語言模型主要分為規則模型和統計模型兩種。統計語言模型是用機率統計的方法來揭示語言單位內在的統計規律,其中
N-Gram簡單有效,被廣泛使用。
N-Gram:該模型基於這樣一種假設,第n個詞的出現只與前面N-1個詞相關,而與其它任何詞都不相關,整句的機率就是各個詞出現機率的乘積。這些機率可以通過直接從語料中統計N個詞同時出現的次數得到。常用的是二元的Bi-Gram和三元的Tri-Gram。
語言模型的性能通常用交叉熵和複雜度(Perplexity)來衡量。交叉熵的意義是用該模型對
文本識別的難度,或者從壓縮的角度來看,每個詞平均要用幾個位來編碼。複雜度的意義是用該模型表示這一文本平均的分支數,其倒數可視為每個詞的平均機率。平滑是指對沒觀察到的N元組合賦予一個機率值,以保證詞序列總能通過語言模型得到一個機率值。通常使用的平滑技術有圖靈估計、刪除插值平滑、Katz平滑和Kneser-Ney平滑。
搜尋
連續語音識別中的搜尋,就是尋找一個詞模型序列以描述輸入語音信號,從而得到詞解碼序列。搜尋所依據的是對公式中的聲學模型打分和語言模型打分。在實際使用中,往往要依據經驗給語言模型加上一個高權重,並設定一個長詞懲罰分數。
Viterbi:基於動態規劃的Viterbi算法在每個時間點上的各個狀態,計算解碼狀態序列對觀察序列的後驗機率,保留機率最大的路徑,並在每個
節點記錄下相應的狀態信息以便最後反向獲取詞解碼序列。Viterbi算法在不喪失最優解的條件下,同時解決了連續語音識別中HMM模型狀態序列與聲學觀察序列的非線性時間對準、詞邊界檢測和詞的識別,從而使這一算法成為語音識別搜尋的基本策略。
由於語音識別對當前時間點之後的情況無法預測,基於目標函式的啟發式剪枝難以套用。由於Viterbi算法的時齊特性,同一時刻的各條路徑對應於同樣的觀察序列,因而具有可比性,束Beam搜尋在每一時刻只保留機率最大的前若干條路徑,大幅度的剪枝提高了搜尋的效率。這一時齊Viterbi- Beam算法是當前語音識別搜尋中最有效的算法。N-best搜尋和多遍搜尋:為在搜尋中利用各種知識源,通常要進行多遍搜尋,第一遍使用代價低的知識源,產生一個候選列表或詞候選
格線,在此基礎上進行使用代價高的知識源的第二遍搜尋得到最佳路徑。此前介紹的知識源有聲學模型、語言模型和音標詞典,這些可以用於第一遍搜尋。為實現更高級的語音識別或口語理解,往往要利用一些代價更高的知識源,如4階或5階的N-Gram、4階或更高的上下文相關模型、詞間相關模型、分段模型或
語法分析,進行重新打分。最新的實時大詞表連續
語音識別系統許多都使用這種多遍搜尋策略。
N-best搜尋產生一個候選列表,在每個
節點要保留N條最好的路徑,會使計算複雜度增加到N倍。簡化的做法是只保留每個
節點的若干詞候選,但可能丟失次優候選。一個折衷辦法是只考慮兩個詞長的路徑,保留k條。詞候選
格線以一種更緊湊的方式給出多候選,對N-best
搜尋算法作相應改動後可以得到生成候選格線的算法。
前向後向
搜尋算法是一個套用多遍搜尋的例子。當套用簡單知識源進行了前向的Viterbi搜尋後,搜尋過程中得到的前向機率恰恰可以用在後向搜尋的目標函式的計算中,因而可以使用啟發式的A算法進行後向搜尋,經濟地搜尋出N條候選。
系統實現
語音識別系統選擇識別基元的要求是,有準確的定義,能得到足夠數據進行訓練,具有一般性。英語通常採用上下文相關的音素建模,
漢語的協同
發音不如英語嚴重,可以採用
音節建模。系統所需的訓練數據大小與模型複雜度有關。模型設計得過於複雜以至於超出了所提供的訓練數據的能力,會使得性能急劇下降。
聽寫機:大辭彙量、非特定人、連續
語音識別系統通常稱為聽寫機。其架構就是建立在前述聲學模型和語言模型基礎上的HMM拓撲結構。訓練時對每個基元用前向後向算法獲得模型參數,識別時,將基元串接成詞,詞間加上靜音模型並引入語言模型作為詞間轉移機率,形成
循環結構,用Viterbi算法進行解碼。針對
漢語易於分割的特點,先進行分割再對每一段進行解碼,是用以提高效率的一個簡化方法。
對話系統:用於實現人機口語對話的系統稱為對話系統。受目前技術所限,對話系統往往是面向一個狹窄領域、辭彙量有限的系統,其題材有旅遊查詢、訂票、
資料庫檢索等等。其前端是一個語音識別器,識別產生的N-best候選或詞候選
格線,由
語法分析器進行分析獲取語義信息,再由對話管理器確定應答信息,由
語音合成器輸出。由於目前的系統往往辭彙量有限,也可以用提取關鍵字的方法來獲取語義信息。
適應強健
語音識別系統的性能受許多因素的影響,包括不同的說話人、說話方式、環境噪音、傳輸信道等等。提高系統魯棒性,是要提高系統克服這些因素影響的能力,使系統在不同的套用環境、條件下性能穩定;自適應的目的,是根據不同的影響來源,自動地、有針對性地對系統進行調整,在使用中逐步提高性能。以下對影響系統性能的不同因素分別介紹解決辦法。
解決辦法按針對語音特徵的方法(以下稱特徵方法)和模型調整的方法(以下稱模型方法)分為兩類。前者需要尋找更好的、高魯棒性的特徵參數,或是在現有的特徵參數基礎上,加入一些特定的處理方法。後者是利用少量的自適應語料來修正或變換原有的說話人無關(SI)模型,從而使其成為說話人自適應(SA)模型。
說話人自適應的特徵方法有說話人規一化和說話人子空間法,模型方法有貝葉斯方法、變換法和模型合併法。
語音系統中的噪聲,包括環境噪聲和錄音過程加入的電子噪聲。提高系統魯棒性的特徵方法包括語音增強和尋找對
噪聲干擾不敏感的特徵,模型方法有並行模型組合PMC方法和在訓練中人為加入噪聲。信道
畸變包括錄音時話筒的
距離、使用不同靈敏度的話筒、不同增益的前置放大和不同的濾波器設計等等。特徵方法有從倒譜矢量中減去其長時平均值和RASTA濾波,模型方法有倒譜平移。
識別引擎
微軟在office和
vista中都套用了自己開發的語音識別引擎,微軟語音識別引擎的使用是完全免費的,所以產生了許多基於微軟語音識別引擎開發的語音識別套用
軟體,例如《語音遊戲大師》《語音控制專家》《芝麻開門》《警衛
語音識別系統》等等軟體。其中《警衛
語音識別系統》是唯一可以控制單片機類的硬體設施!!
性能指標
指標
語音識別系統的性能指標主要有四項。①辭彙表範圍:這是指機器能識別的單詞或詞組的範圍,如不作任何限制,則可認為辭彙表範圍是無限的。②說話人限制:是僅能識別指定發話者的語音,還是對任何發話人的語音都能識別。③訓練要求:使用前要不要訓練,即是否讓機器先“聽”一下給定的語音,以及訓練次數的多少。④正確識別率:平均正確識別的百分數,它與前面三個指標有關。
小結
以上介紹了實現
語音識別系統的各個方面的技術。這些技術在實際使用中達到了較好的效果,但如何克服影響語音的各種因素還需要更深入地分析。目前聽寫機系統還不能完全實用化以取代
鍵盤的輸入,但識別技術的成熟同時推動了更高層次的語音理解技術的研究。由於英語與
漢語有著不同的特點,針對英語提出的技術在漢語中如何使用也是一個重要的研究課題,而四聲等漢語本身特有的問題也有待解決。
最新進展
近幾年來,特別是2009年以來,藉助機器學習領域深度學習研究的發展,以及大數據語料的積累,語音識別技術得到突飛猛進的發展。
1、技術新發展
1)將機器學習領域深度學習研究引入到語音識別聲學模型訓練,使用帶RBM預訓練的多層神經網路,極大提高了聲學模型的準確率。在此方面,微軟公司的研究人員率先取得了突破性進展,他們使用深層神經網路模型(DNN)後,語音識別錯誤率降低了30%,是近20年來語音識別技術方面最快的進步。
2)目前大多主流的語音識別解碼器已經採用基於有限狀態機(WFST)的解碼網路,該解碼網路可以把語言模型、詞典和聲學共享音字集統一集成為一個大的解碼網路,大大提高了解碼的速度,為語音識別的實時套用提供了基礎。
3)隨著網際網路的快速發展,以及手機等移動終端的普及套用,目前可以從多個渠道獲取大量文本或語音方面的語料,這為語音識別中的語言模型和聲學模型的訓練提供了豐富的資源,使得構建通用大規模語言模型和聲學模型成為可能。在語音識別中,訓練數據的匹配和豐富性是推動系統性能提升的最重要因素之一,但是語料的標註和分析需要長期的積累和沉澱,隨著大數據時代的來臨,大規模語料資源的積累將提到戰略高度。
2、技術新套用
近期,語音識別在移動終端上的套用最為火熱,語音對話機器人、語音助手、互動工具等層出不窮,許多網際網路公司紛紛投入人力、物力和財力展開此方面的研究和套用,目的是通過語音互動的新穎和便利模式迅速占領客戶群。
而國內方面,科大訊飛、雲知聲、盛大、捷通華聲、搜狗語音助手、紫冬口譯、百度
語音等系統都採用了最新的語音識別技術,市面上其他相關的產品也直接或間接嵌入了類似的技術。