• 沒有找到結果。

自動語音辨識是模擬人類,聽到語音轉成文字的過程,人類聽到語音訊號後,會 考慮聲音在我們的知識中符合哪些符號,例如中文的注音符號,而且也會考慮這 些符號符合哪些詞彙,且文意符不符合上下文,最後決定一個聲音最像,且符合 上下文意的詞,當作輸入的音訊所代表的語句。

現在大部分的自動語音辨識,基本架構依據上述的流程,並作出利用貝式定 理在機率假設下描述出自動語音辨識的問題,給定一段語音訊號,目標是找出一 段條件機率最大的語句,通常我們會使用統計式模型及最大事後機率(Maximum a Posteriori, MAP)法則進行語音辨識[Jelinek 1999] 如下式,:

𝑊 = arg max (Feature Extraction)、聲學模型(Acoustic Model)訓練、語言模型(Language Model) 訓練和聲學比對(Acoustic Matching)與語言解碼(Linguistic Decoding)等四個部分,

如下圖,以下分四部分作介紹。

圖 1-1 自動語音辨識流程

(一)特徵擷取(Feature Extraction)

語音辨識中的特徵擷取是指從輸入的原始語音訊號尋找計算出有代表性的資訊,

常見用於語音辨識的特徵擷取有下列幾項:限性預測係數 (Linear Prediction Coefficients, LPC)[Makhoul, 1975]、感知線性預測係數(Perceptual Linear Prediction Coefficients, PLPC)[Hermansky, 1990]、最大相似度線性轉換(Maximum Likelihood Linear Transformation, MLLT)[Gales, 1998] 、 梅 爾 倒 頻 譜 係 數 (Mel-Frequency Cepstral Coefficients, MFCC)[Davis and Mermelstein, 1998]等不同的語音特徵,現 今語音辨識最常使用的是梅爾倒頻譜係數,因為其以類似人耳的方式對音頻進行 處理,可以有效提高語音辨識的效能。

梅 爾 倒頻 譜係 數 的特徵 擷 取過 程可 以 分為以 下 幾個 階段 : 預強調 (Pre-emphasis)、音框化(Windowing)、離散傅立葉轉換(Discrete Fourier Transform, DFT)、

梅爾三角濾波器組處理(Mel-Scaled Triangular Filterbank Processing)、離散餘弦轉 換(Discrete Cosine Transform, DCT)、對數能量(Log Energy)運算及時間差量(Time Derivation)運算等。

GMM 忽略了不同特徵維度之間的相關性,而梅爾倒頻譜係數因為進行了離 散餘弦轉換降低了維度之間的相關性,所以可以在 GMM-HMM 上得到不錯的效 果。但是隨著深度學習被應用在語音辨識系統,類神經網路能夠自動學習到音訊 的規則,所以更接近原始語音訊號的 Filter Bank 能得到更好的辨識結果。

(二)聲學模型(Acoustic Model)

在大詞彙的自動連續語音辨識中,聲學模型使用比詞更小的單位建立模型如子詞 (Sub-word Unit)單位、音素(Phone)或音節(Syllable)等,然後利用發音詞典將小單 位層級轉換成詞層級。

因為語音具有時序性,而馬可夫模型可以模型化輸入資訊的前後相關性,又 考慮到聲學資訊的複雜程度,所以聲學模型在建模時,常使用隱藏式馬可夫模型 (Hidden Markov Model, HMM)[Rabiner, 1989]。現今常用於語音辨識的 HMM 是具 有三個狀態且每個狀態中都會有對每個音框(Frame)所形成的語音特徵參數向量 之觀測機率分佈(Observation Probability Distribution)和相對應的狀態轉移機率 (State Transition Probability),用來決定是否要停留在此狀態或是轉移到下個狀態。

傳統的高斯混和模型–隱藏式馬可夫模型(GMM-HMM)是指 HMM 的觀測機 率是由高斯混和模型所構成,而深層類神經網路–隱藏式馬可夫模型(DNN-HMM) 則是指 HMM 的觀測機率由 DNN 所產生。近年來 DNN 已經慢慢取代以往的 GMM,最主要的幾個原因是:第一、DNN 在建模時不需要假設特徵分佈是由高 斯分佈或是其它種機率分佈組成,所以具有更高的彈性,第二、GMM 只能使用 單個音框作為輸入,而 DNN 能夠通過拼接鄰近的音框捕捉有效的上下文訊息。

圖 1-2 GMM-HMM 與 DNN-HMM 的比較

常見的聲學模型訓練準則(Training Criteria)有以下幾種:最大化相似度訓練法 (Maximum Likelihood, ML)[Bahl et al., 1983]、最大化交互資訊(Maximum Mutual Information, MMI)[Bahlet al., 1986]、最小化分類錯誤(Minimum Classification Error, MCE)[Juang and Katagiri,1992] 或 是 最 小 化 音 素 錯 誤 (Minimum Phone Error, MPE)[Povey,2004]。

(三)語言模型(Language Model)

語言模型希望能將文字文本中的上下文意、文法、用詞等隱含的資訊用數學模型 模型化,可以用於判斷新的文句是否符合訓練文本的語言特性,不同於聲學模型 考慮聲音,語言模型只考慮文字層級的資訊。

語言模型通常會被假設成機率模型,最主要的問題要解決文句發生的機率也 就是下式:

𝑊 = argmax

𝑊

P(𝑊) = argmax

𝑊

∏ P(𝑤𝑖|ℎ𝑖−1)

𝑤∈𝑊,ℎ∈𝐻

(1-2)

𝑊代表的是文句、𝑤代表的是文句中的詞、ℎ代表𝑤發生前的事件,在這裡可以直 接解是成𝑤之前的歷史詞,當P(𝑊)越大代表文句𝑊越符合訓練文本的語言特性,

自動語音辨識便是希望透過語言模型找出最符合訓練文本的語句𝑊

因為在統計上很難考慮所有的歷史詞,考慮的歷史詞越多所需的參數空間也 會越大,所以為了縮減參數的估計目前最廣泛使用的語言模型是 N 連詞語言模型。

它是基於以知的 N-1 個歷史詞判斷當前詞的機率,也就是P(𝑤𝑖|ℎ𝑖−𝑁𝑖−1),一般為了 減少參數量會使用二連詞(Bigram)或是三連詞(Trigram)。但是使用這樣的近似估 計除了得到較容易估計的優點外也會產生丟失太多歷史詞資訊的缺點,且因為是 統計產生的模型,所以常會產生某些冷門詞機率太小甚至為零的情況。平滑化 (Smoothing)常會被使用來解決這樣的問題,常見的機率模型平滑化有 Katz 平滑 化法[Katz, 1987]和 Good-Turning 平滑化法[Good, 1953;Chen and Goodman, 1999]

等。其概念是將訓練語料中每個詞序列出現的統計次數依照各式比例原則折扣部 份次數,再把這些次數以各式比例原則分派給在訓練語料中沒有出現的其它詞序 列,以解決機率為零之問題。

(四)語言解碼(Linguistic Decoding)

透過輸入語句的特徵向量在聲學模型上計算音素的事後機率,以及所形成詞序列 (Word Sequence)之語言模型機率,結合兩種機率我們可以找出最有可能的詞序列。

一 般 我 們 會 使 用 維 特 比 動 態 規 劃 搜 尋 (Viterbi Dynamic Programming Search)[Viterbi, 1967],結合聲學相似度和語言模型之機率去有效率地找出可能的 詞序列。

此外,由於龐大的詞彙量與複雜的語言模型會使得搜尋的空間呈現指數型態 的成長,為了降低搜尋的空間複雜度及加快辨識速度,一般會分成兩個階段做處

理。第一階段使用聲學模型和較低階的語言模型進行詞彙樹動態規劃搜尋,以及 利用語言模型前看(Language Model Look-ahead)[Aubert, 2002]技術、聲學前看與光 束搜尋(Beam Search)等技術減少搜尋所需的空間與時間,捨棄機率較低的詞序列 來產生最佳詞序列和詞圖(Word Graph)。

第二階段則是使用更高階的語言模型如類神經網路語言模型(Neural Network Language Model, NNLM),結合其它的信心度分數(Confidence Score)對詞圖重新進 行動態規劃搜尋,一般通稱為重新計分(Rescoring),分為詞網重新計分(Lattice Rescoring)和 N 條最佳詞序列重新排序(N-Best Re-ranking),來找出 N 條最佳詞序 列(N-Best)。由於詞圖所產生的最佳詞序列,並不一定是詞錯誤率(Word Error Rate) 最低的詞序列。因此有許多研究透過改變語言模型的訓練準則以最小化詞錯誤率 (Minimum Word Error Rate)當作目標訓練語言模型,期望能從 M 條最佳詞序列中 找出詞錯誤率最低的詞序列,作為最後的輸出結果。

相關文件