一個典型的語音識別系統

 

一個典型的語音識別系統

標籤: 語音識別
 3966人閱讀 評論(0) 收藏 舉報
 分類:
一、語音識別技術
轉載請表明出處:http://blog.csdn.net/u012637501(嵌入式_小J的天空)
    語音識別技術,廣泛來說是指語意識別和聲紋識別;從狹義上來說指語音語義的理解識別,也稱爲自動語音識別(ASR)。其關鍵技術包括選擇識別單元、語音端點檢測、特徵參數提取、聲學模型及語音模型的建立。語音識別技術目前在桌面系統、智能手機、導航設備等嵌入式領域均有一定程度的應用。其主要技術難題是識別系統的適應性較差、受背景噪聲影響較大,未來的發展方向應是無限詞彙量連續語音非特定人語音識別系統。
(1)信號處理及特徵提取模塊
    該模塊的主要任務是從輸入信號中提取特徵,供聲學模型處理。同時,它一般也包括了一些信號處理技術,以儘可能降低環境噪聲、信道、說話人等因素對特徵造成的影響。
(2)統計聲學模型
    典型系統多采用基於一階隱馬爾科夫模型進行建模。
(3)發音詞典
    發音詞典包含系統所能處理的詞彙集及其發音。發音詞典實際提供了聲學模型建模單元與語言模型建模單元間的映射。
(4)語言模型
    語言模型對系統所針對的語言進行建模。理論上,包括正則語言,上下文無關文法在內的各種語言模型都可以作爲語言模型,但目前各種系統普遍採用的還是基於統計的N元文法及其變體。
(5)解碼器
    解碼器是語音識別系統的核心之一,其任務是對輸入的信號,根據聲學、語言模型及詞典,尋找能夠以最大概率輸出該信號的詞串,從數學角度可以更加清楚的瞭解上述模塊之間的關係。
    當今語音識別技術的主流算法,主要有基於動態時間規整(DTW)算法、基於非參數模型的矢量量化(VQ)方法、基於參數模型的隱馬爾可夫模型(HMM)的方法、基於人工神經網絡(ANN)和支持向量機等語音識別方法.

二、非特定人、大詞彙量、連續語音識別系統
       連續數字語音識別系統經過訓練和識別兩個部分。此訓練可以看作是對 HMM 建立模型的過程。通過對參數重新評估,調整模型的各種參數,得到具有較好魯棒性的模型。對基本模型進行改進和優化,可以有效提高精確度,獲得更好的識別率。識別過程則可以認爲是使用現有的 HMM 模型庫、數據字典和語法控制組成識別網絡,運用搜索算法尋找最佳匹配過程。 首先對等待識別的語音信號進行採樣,然後通過轉換變成電信號。預處理這 些電信號,也就是對信號進行增加預重、幀數分離、檢測端點等操作。處理過後,對語音信號提煉生成特徵的矢量數據。按識別模塊中的 HMM 模型和詞典要求組合,形成合詞模型後完成識別,將結果和語言模型進行匹配,淘汰那些不符合語法限制的句子和詞組,最後輸出符合規範的識別的過程,就是語音識別的全過程。特徵值、HMM 模 型、語法和數據字典都是影響識別率高低的重要因素。
    語音識別過程通常包括"前段"和"後端"兩部分:“前端”模塊 主要的作用是進行端點檢測(去除多餘的靜音和非說話聲)、降噪、 特徵提取等;“後端”模塊的作用是利用訓練好的聲學模型和語言模型對用戶說話的特徵向量進行統計模式識別(又稱解碼),得到其包含的文字信息,此外,後端模塊還存在一個自適應的反饋模塊,可以對用戶的語音進行自學習,從而對聲學模型和語音模型進行必要的校正,進一步提高識別的準確率。一個完整的非特定人大詞彙量連續語音識別系統可大致分爲三部分:語音信號預處理與特徵提取、聲學模型訓練、語言模型訓練、搜索算法與識別。
0.識別單元的選擇

   選擇識別單元是語音識別研究的第一步,分爲單詞、音節、音素。

(1)單詞單元:廣泛應用於中小詞彙語音識別系統,但不適合大詞彙系統,原因在於模型庫太龐大,訓練模型任務繁重、模型匹配算法複雜,難以滿足實時性要求。

(2)音節單元:多見於漢語語音識別,主要因爲漢語是單音節結構的語言,而英語是多音節。雖然漢語大約有1300個音節,但若不考了聲調只有約408個無調音節。

(3)音素單元:目前廣泛被應用到大詞彙量語音識別系統中,原因是在於漢語音節僅有聲明和韻母構成,並且聲明和韻母的聲學特性相差很大。

    總結,對大詞彙量語音識別系統來說,通常識別單元越小,則計算量也越小,所需的模型存儲量也小,要求的訓練數量也少,但對應語音段的定位和分割較困難,因此識別模型規則也變得更復雜。

1、預處理模塊

       對輸入的原始語音信號進行處理(輸入的語言信號首先要進行反混疊濾波 採樣 A/D 轉換 等過程進行數字化, 之後要進行預處理, 包括預加重 加窗和 分幀 端點檢測等。),濾除掉其中的不重要的信息以及背景噪聲,並進行語音信號的端點檢測(找出語音信號的始末)、語音分幀(近似認爲在10-30ms內是語音信號是短時平穩的,將語音信號分割爲一段一段進行分析)以及預加重(提升高頻部分)等處理。

目前主流的語音信號端點檢測方法:

(1)短時能量En:反應語音振幅或能量隨着事件緩慢變化的規律;

(2)短時平均過零率Zn:對於離散信號而言,是樣本改變符號的次數,可以粗略分別清音和濁音;

(3)雙門限端點檢測:短時平均能量和過零率兩者結合可以起到區分語音信號中的靜音與語音信息的作 用,完成端點檢測。一段完整的語音信號的可以分爲三段:靜音段、過渡段、語音段。 在靜音段,過零率或能量越過了低門限,進入過渡段。在過渡段,過零率或能量都降低至低門限以下,則恢復到靜音態;過零率或能量中的其中一個越過了高門限,則爲進入了語音段。在低噪聲情況下,雙門限端點檢測簡單可靠。但在噪聲較大的情況下,該方法失去判斷能力,所以此方法的抗噪能力較差。 

2、聲學特徵提取

       語音信號是一種典型的時變信號,然而如果把音頻的參考時間控制在幾十毫 秒以內,則得到一段基本穩定的信號。去除語音信號中對於語音識別無用的冗餘信息,保留能夠反映語音本質特徵的信息,並用一定的形式表示出來。也就是提取出反映語音信號特徵的關鍵特徵參數形成特徵矢量序去掉那些相對無關的信息如背景噪聲、信道失真等,以便用於後續處理目前的較常用的提取特徵的方法還是比較多的,不過這些提取方法都是由頻譜衍生出來的。

目前主流的語音信號特徵提取方法:

(1)線性預測係數(LPCC):很好的模擬語音信號,語音信號是由聲帶振動發出的, 聲帶可以不振動也可以有周期的振動,分別對應清音(consonants)和濁音(vowels),每一段聲管則對應一個 LPC 模型的極點。通常極點個數在 12-16 個左右,即可清晰地描述信號的特徵了。

(2)Mel頻率倒譜系數(MFCC)參數

   人的聽覺系統卻是一種特殊的非線性系 統,它對不同頻率信號的響應靈敏度有較大區別。 MFCC參數比 LPC 參數更能夠充分利用人耳的感知特性提高系統的識別性能因其良好的抗噪性和魯棒性而應用廣泛。MFCC的計算首先用FFT將時域信號轉化成頻域,之後對其對數能量譜用依照Mel刻度分佈的三角濾波器組進行卷積,最後對各個濾波器的輸出構成的向量進行離散餘弦變換DCT,取前N個係數。在sphinx中也是用MFCC特徵的,用幀frames去分割語音波形,每幀大概10ms,然後每幀提取可以代表該幀語音的39個數字,這39個數字也就是該幀語音的MFCC特徵,用特徵向量來表示

(3)小波分析

3、聲學模型訓練(模版匹配方法)

      聲學模型的訓練,即爲建模過程。聲學模型是識別系統的底層模型,是語音識別系統中最關鍵的部分。聲學模型表示一種語言的發音聲音,可以通過訓練來識別某個特定用戶的語音模式和發音環境的特徵。根據訓練語音庫的特徵參數訓練出聲學模型參數,在識別時可以將待識別的語音的特徵參數同聲學模型進行匹配與比較,得到最佳識別結果。

目前主流的聲學模型訓練方法

(1)動態時間規整(DTW):現實生活中語音信號的 隨機性較強,就是同一人說的話,也不太可能說出一句一模一樣的話來。就算字詞都一樣,發音的時間長短也可能不一樣。因此,需要尋找一種變換關係來削除這種時間上的距離偏差,這種結合時間變換關係求特徵序列之間距離的技術算法 稱爲動態時間規整算法(DTW:DynamicTimeWarping)。動態時間規整(DTW)算法 的算法的思想,就是將待識別的語音信號均勻的升長或縮短,使其與參考模板的長度一致。同時,使語音信號的時間軸進行不均勻的扭曲和彎折,最終達到與模板的特徵對齊。DTW 是較早的一種模式匹配和模型訓練技術, 它把整個單詞作爲識別單元,在訓練階段將詞彙表中每個詞的特徵矢量序列作爲模板存入模板庫,在識別階段將待識別語音的特徵矢量序列依次與庫中的每個模板進行相似度比較,將相似度最高者作爲識別結果輸出。DTW 應用動態規劃方法成功解決了語音信號特徵參數序列比較時時長不等的難題,在小詞彙量、孤立詞語音識別中獲得了良好性能。但因其不適合連續語音大詞彙量語音識別系統, 目前已逐漸被 HMM 和 ANN模型替代。
(2)矢量量化(VQ)技術
    矢量量化(VectorQuantization)是一種適用於小詞彙量、孤立詞的語音識別的 信號壓縮方法 。矢量量化器的設計其核心思想是:爲某一個特定的信源設計一 個優化的碼書,那麼來自同一個信息源所產生的信號與該碼書的平均量化失真就應遠遠小於他與其他信息的信號與該碼書的平均量化失真,也就是說編碼器本身存在一定的區分能力。 
(3)隱馬爾可夫模型HMM 

     HMM是對語音信號的時間序列結構建立統計模型,將其看作一個數學上的雙重隨機過程:一個是用具有有限狀態數的Markov鏈來模擬語音信號統計特性變化的隱含(馬爾可夫模型的內部狀態外界不可見)的隨機過程,另一個是與Markov鏈的每一個狀態相關聯的外界可見的觀測序列(通常就是從各個幀計算而得的聲學特徵)的隨機過程。

    HMM 模型是語音信號時變特徵的有參表示法。它由相 互關聯的兩個隨機過程共同描述信號的統計特性,其中一個 是隱蔽的 (不可觀測的) 具有有限狀態的 Markor 鏈, 另一個是 與 Markor 鏈的每一狀態相關聯的觀察矢量的隨機過程 (可觀測的) 。HMM 很好的模擬了人得語言過程, 目前應用十分廣泛。目前的主流語音識別系統多采用隱馬爾可夫模型HMM進行聲學模型建模。聲學模型的建模單元,可以是音素,音節,詞等各個層次。對於小詞彙量的語音識別系統,可以直接採用音節進行建模。而對於詞彙量偏大的識別系統,一般選取音素,即聲母,韻母進行建模。識別規模越大,識別單元選取的越小。 

        人的言語過程實際上就是一個雙重隨機過程,語音信號本身是一個可觀測的時變序列,是由大腦根據語法知識和言語需要(不可觀測的狀態)發出的音素的參數流(發出的聲音)。HMM合理地模仿了這一過程,是較爲理想的一種語音模型。用HMM刻畫語音信號需作出兩個假設,一是內部狀態的轉移只與上一狀態有關,另一是輸出值只與當前狀態(或當前的狀態轉移)有關,這兩個假設大大降低了模型的複雜度。所以 HMM 可以 非常精確地描述語音信號的產生過程。 

       語音識別中使用HMM通常是用從左向右單向、帶自環、帶跨越的拓撲結構來對識別基元建模,一個音素就是一個三至五狀態的HMM,一個詞就是構成詞的多個音素的HMM串行起來構成的HMM,而連續語音識別的整個模型就是詞和靜音組合起來的HMM。總之 HMM 模型較爲完整的表達了語音的聲學模型,採用統計的訓練方法將 上層的語言模型和底層的聲學模型融入統一的語音識別搜索算法中,並獲得更好 的效果。

(4)人工神經網絡模型(ANN)

     神經網絡是由許多被稱爲節點的簡單非線性模擬處理要素密集互連配置而成的,是 一種模仿了生物神經元的系統模型。網絡通過令每一個節點的輸出與一些其他的節點輸入連接形成,類似於真實神經元的突觸連接。每個神經元表達了一種特定的輸出函數,稱爲激勵函數,每兩個神經元之間的連接都包含一個連接強度,也就是作用於通過該連接的信號的加權值。經過訓練之後的神經網絡,具有信息特徵抽取、知識概括和學習記憶的能力,而模型學習到的信息或知識則儲存在每個單元節點之間的連接矩陣上。一個神經網絡的表現是由節點定義,拓撲結構以及學習算法這三個特徵組成的集體性質決定的。 

   ANN本質上是一個自適應非線性動力學系統,是由結點互連組成的計算網絡, (優點)人工神經網絡(ANN) 基本上能夠模擬人類神經的活動原理,具有學習特性、容錯性、並行性、自適應性和魯棒性,是一個自適應非線性動力學系統,且具有較強的分類能力和輸入輸出映射能力。這些能力是 HMM 模型不具備的, 可用於處理一些環境信息十分複雜, 背景知識不清楚, 推理規則不明確的問題, 允許樣品有較大的缺損、 畸變, 因此對於噪聲環境下非特定人的語音識別問題來說是一種很好的解決方案。(缺點)由於語音訓練和識別時間太長,實現和應用較難等不利因素,所以到目前爲止該方法停留在實驗階段,目前大部分應用神經網絡的語音識別系統都採用了 BP 網並取得了較好的識別效果.將 ANN 與 HMM 結合分別利用各自優點進行識別將是今後的一條研究途徑。ANN 具有 較好的區分複雜分類邊界的能力,顯然它十分有助於模式識別。在這些研究中,大部分 

採用基於反向傳播算法(BP 算法)的多層感知網絡。 

a.BP神經網絡:BP 神經網絡在訓練的時候,正向傳播之後輸出層沒有得到期望輸出,則採用反向傳 播算法,提高網絡系統對樣本的似然度(Likelihood)。將樣本的實際輸出與期望輸出之間的差值即誤差信號,並在逐層反向傳播的過程中由誤差反饋不斷調整網絡的權值。網絡學習效果的提升可以由增加隱藏層層數實現。 在諸多神經網絡中,BP 是應用較多的一種,用於語音識別時也具有較好的效果,這 是由於 BP 神經網絡具有許多獨特的優點:(1)它可以聯想模式對,將複雜的聲學信號映射爲不同級別的語音學和音韻學的表示;(2)可以通過插值進行歸納,因此相關特徵 

可通過訓練獲取(3)對不同的類,他可以在超平面中形成不相交的區域,很適合捕捉細微的規律;(4)輸入可以是二值或連續值,也可以是聲學屬性或語音特徵的任意組合; (5)對數據的分佈不做先驗假設,對模型使用全局約束,因此能構造光滑的類邊界, 識別精度好。雖然 BP 神經網絡具有強大的計算能力,能夠好的應用於語音識別,但隨着對識別 性能要求的提高,網絡本身仍有一些問題逐漸暴露出來,以下方面亟待改進: 

(1)局部極小值問題; 

(2)增加神經網絡的可理解性。人們暫時仍然無法直接理解網絡學習存儲在連接矩陣上的知識; 

(3)加快神經網絡學習速度。目前大部分神經網絡算法都無法迴避的一個部分就是迭代問題,爲了獲得好的學習效果,迭代需要大的計算開銷。 

b.神經網絡訓練

    神經網絡的學習也稱爲訓練,是指通過神經網絡所在環境的刺激作用,調整神經網 絡的自由參數。能夠從環境中學習和在學習中獲得系統工作效果提升,是神經網絡最有意義的性質。在神經網絡中,一般有兩類訓練算法。 

(1)有監督學習算法。不但需要訓練用的輸入信號,同時需要與輸入相對應的表示所需輸出的目標信號。網絡通過計算實際輸出與每組輸入對應的目標輸出之間的差值來調整權值,做出正確反應。 

(2)無監督學習算法。不要求有目標輸出,算法提供一個關於網絡學習表示方法質量的測量尺度,根據尺度將自由參數最優化,當網絡與輸入數據統計規律性一致,就能形成內部表示方法記憶輸入特徵,由此進行類別識別。 

4、語言模型訓練

       語音識別中的語言模型主要解決兩個問題一是如何使用數學模型來描述語音中詞的語音結構二是如何結合給定的語言結構和模式識別器形成識別算法。語言模型是用來計算一個句子出現概率的概率模型。它主要用於決定哪個詞序列的可能性更大,或者在出現了幾個詞的情況下預測下一個即將出現的詞語的內容。換一個說法說,語言模型是用來約束單詞搜索的。它定義了哪些詞能跟在上一個已經識別的詞的後面(匹配是一個順序的處理過程),這樣就可以爲匹配過程排除一些不可能的單詞。語言模型一般指在匹配搜索時用於字詞和路徑約束的語言規 則,它包括由識別語音命令構成的語法網絡或由統計方法構成的語言模型, 語言處理則可以進行語法、 語義分析.

       語言建模能夠有效的結合漢語語法和語義的知識,描述詞之間的內在關係,從而提高識別率,減少搜索範圍。語言模型分爲三個層次:字典知識,語法知識,句法知識。

         對訓練文本數據庫進行語法、語義分析,經過基於統計模型訓練得到語言模型。

目前主流的語言建模方法

(1)基於規則模型
(2)基於統計模型

    統計語言模型是用概率統計的方法來揭示語言單位內在的統計規律,其中N-Gram模型簡單有效,被廣泛使用。它包含了單詞序列的統計。N-Gram模型基於這樣一種假設,第n個詞的出現只與前面N-1個詞相關,而與其它任何詞都不相關,整句的概率就是各個詞出現概率的乘積(即根據前面N-1個詞彙的歷史來決定下一個詞可能出現的概率)。這些概率可以通過直接從語料中統計N個詞同時出現的次數得到常用的是二元的Bi-Gram和三元的Tri-Gram。

         Sphinx中是採用二元語法和三元語法的統計語言概率模型,也就是通過前一個或兩個單詞來判定當前單詞出現的概率P(w2| w1),P(w3| w2, w1)。

5、語音解碼和搜索算法

       解碼器:即指語音技術中的識別過程。針對輸入的語音信號,根據己經訓練好的HMM聲學模型、語言模型及字典建立一個識別網絡,根據搜索算法在該網絡(識別網絡)中尋找最佳的一條路徑,這個路徑就是能夠以最大概率輸出該語音信號的詞串,這樣就確定這個語音樣本所包含的文字了。所以解碼操作即指搜索算法是指在解碼端通過搜索技術尋找最優詞串的方法。連續語音識別中的搜索,就是尋找一個詞模型序列以描述輸入語音信號,從而得到詞解碼序列。搜索所依據的是對公式中的聲學模型打分和語言模型打分。在實際使用中,往往要依據經驗給語言模型加上一個高權重,並設置一個長詞懲罰分數。當今的主流解碼技術都是基於Viterbi搜索算法的,Sphinx也是。模型參數得到後可以用 Viterbi 算法來確定與觀察序列對 應的最佳的狀態序列。建好模型後,在識別階段就是要計算每個模型產生觀察符號序列的輸出概率,輸出概率最大的模型所表示的詞就是我們的識別結果。

    基於動態規劃的Viterbi算法在每個時間點上的各個狀態,計算解碼狀態序列對觀察序列的後驗概率,保留概率最大的路徑,並在每個節點記錄下相應的狀態信息以便最後反向獲取詞解碼序列。Viterbi算法本質上是一種動態規劃算法,該算法遍歷HMM狀態網絡並保留每一幀語音在某個狀態的最優路徑得分。

    連續語音識別系統的識別結果是一個詞序列。解碼實際上是對詞表的所有詞反覆搜索。詞表中詞的排列方式會影響搜索的速度,而詞的排列方式就是字典的表示形式。Sphinx系統中採用音素作爲聲學訓練單元,通常字典就用來記錄每個單詞由哪些個音素組成,也可以理解爲對每個詞的發音進行標註。

     N-best搜索和多遍搜索:爲在搜索中利用各種知識源,通常要進行多遍搜索,第一遍使用代價低的知識源(如聲學模型、語言模型和音標詞典),產生一個候選列表或詞候選網格,在此基礎上進行使用代價高的知識源(如4階或5階的N-Gram、4階或更高的上下文相關模型)的第二遍搜索得到最佳路徑。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章