第六章 實驗架構與結果討論
6.1 實驗架構
6.1.1 臺師大大詞彙連續語音辨識系統
本節將先介紹國立台灣師範大學語音實驗室所發展的語音辨識系統,包含前 端特徵擷取、聲學模型、辭典建立、詞彙樹複製與搜尋方式以及詞圖搜尋與 N 條(N-Best)最佳結果之產生。接著說明本實驗的評估方式:語言複雜度以及語音 辨識錯誤率。最後介紹本論文使用於訓練與測試時的語音語料。
6.1.1.1
特徵擷取在語音特徵擷取部分,本系統以梅爾濾波器組(Mel-frequency Filter Bank)輸 出為基礎,使用異質性線性鑑別分析(Heteroscedastic Linear Discriminant Analysis, HLDA)結合最大化相似度線性轉換(Maximum Likelihood Linear Transformation, MLLT)兩種不同語音特徵參數,獲得 39 維語音特徵向量,最後使用倒頻譜平均 與變異數正規化技術(Cepstral Mean and Variance Normalization, CMVN)進行正規 化。
6.1.1.2
聲學模型在聲學模型部分,由於考慮中文語音結構,因此分別為聲母建立 INITIAL
51
模型、為韻母建立 FINAL 模型以及一個靜音(Silence)模型。其中 INITIAL 模型 包含 22 種,FINAL 模型包含 38 種。每個中文的音節皆是由一個 INITIAL 以及
FINAL 模型組成,其中聲母會受到右邊相連的韻母而影響其發音特性,所以進 一步將 INITIAL 模型細分為 112 種,亦即右相關聯模型(Right-Context-Dependent Model, RCD Model),這些聲母及韻母共組合成 403 個不同的基本音節(Base Syllables) 。最後總共使用 151 個隱藏式馬可夫模型(Hidden Markov Models)做為 聲學模型,其中每個模型有 3 至 6 個狀態(State),每個狀態由 1 至 128 個高斯分 佈組成。聲學模型先經由最大化相似度估測(Maximum Likelihood Estimation,
MLE )訓練得到,再透過最小化音素錯誤(Minimum Phone Error, MPE)[62]訓練,
期望獲得最佳化聲學模型參數。
6.1.1.3
詞典建立由於中文約有 7,000 多個單字詞(Character, Char),藉由合併不同的單字詞可 以產生複合詞彙(Compound Words, Word)。本系統根據單字詞在語料中的統計特 性,以自動化方式產生新的複合詞。在語料中任意相鄰的兩個詞,分別計算其前 向二連(Forward Bigram)機率以及後向二連(Backward Bigram)機率,再計算前後 向二連的幾何平均作為判斷詞與詞之間是否合併的依據。接著將文字語料從一個 包含約六萬六千個一至四字詞的辭典進行斷詞,再利用上述計算方式,經過多次 迭代和不同門檻值(Thresholds)設定,產生約五千多個二至十字詞的複合詞。最
52
後將這五千多個新詞加入原始的詞典中,得到一個含有約七萬兩千詞的新詞典。
6.1.1.4
詞彙樹複製與搜尋本系統的大詞彙連續語音辨識方法是採取由左至右(Left-to-right)、音框同步
(Frame-synchronous)的詞彙樹複製搜尋方法。在詞彙樹中每一個分支(Arc)代表一 個 INITIAL 或 FINAL 的隱藏式馬可夫模型,由根節點(Root)到任一個葉節點(Leaf) 的路徑代表一個詞或是發音相同的詞,路徑上的分支為這個詞或這些詞彙使用到 的隱藏式馬可夫模型。我們採用的詞彙樹複製搜尋演算法,在搜尋時每個音框會 同時存在數棵詞彙樹複製(Tree Copies),而每棵詞彙樹代表不同的語言模型歷史 詞序列(History Word Sequence)。實際上,搜尋時產生的不完全路徑(Partial Path) 如果擁有相同的歷史詞序列則會被歸類在同一棵詞彙樹複製裡,以進行隱藏式馬 可夫模型狀態層次(State-level)維特比(Viterbi)動態規劃搜尋。
在每個音框中,如果有不完全路徑已到達葉節點時,就表示一個完整詞已經 可被產生;同時,不同詞彙樹複製間已抵達葉節點的不完全路徑,若具有相同的 語言模型歷史詞序列,則會進行再結合(Recombination),保留分數最大者,以其 歷史詞序列為標註,產生一棵新的詞彙樹複製,或加入到一棵已經存在且具有相 同歷史詞序列的詞彙樹複製中。而實際上在實作時並不需要真的建立如此多的詞 彙樹複製,僅需建立一棵詞彙樹作為搜尋時路徑展開參考用即可,並分別記錄搜 尋時存活下來的隱藏式馬可夫模型狀態節點的相關資訊。由於存下來的隱藏式馬
53
可夫模型的狀態節點會隨著音框呈指數倍成長,因此使用光束搜尋(Beam Search) 技術,適當地將分數較低的狀態節點或是不完全路徑進行剪裁。在裁剪同時會考 量每一棵詞彙樹複製的內部節點(Internal Node)涵蓋可能拜訪葉節點代表的所有 詞對應的語言模型機率,並以其中最大的作為每一棵詞彙樹複製類內部狀態節點 的語言模型向前看分數(Language Model Look-ahead Score),最後再加上搜尋時所 累積的解碼分數(Decoding Score)以及聲學模型前看分數作為裁減的依據。本系統 採用單連語言模型前看(Unigram Language Model Look-ahead)技術,針對每一棵 詞彙樹複製內部狀態節點,以其分支可能拜訪葉節點中之最大機率當作內部狀態 節點的語言模型向前看分數。
每個音框分別記錄存活的詞彙樹複製葉節點中(候選詞)分數較高的相關資 訊,例如語言模型歷史詞序列、候選詞所對應的開始與結束的音框及搜尋時聲學 模型解碼的分數,以此來建立詞圖(Word Graph),並在詞圖上使用更高階的語言 模型,重新進行一次詞圖動態規劃搜尋(Word Graph Rescoring),找出最佳的辨識 詞序列。在本系統中,詞彙樹複製搜尋階段是使用二連詞語言模型,而在詞圖搜 尋時是使用三連詞語言模型。
6.1.1.5
詞圖搜尋與 N-條最佳結果(N-Best)之產生詞圖(Word Graph )是由詞彙樹搜尋過後產生,其中的每個分支(Arc)表示經過 裁剪過後所保留的詞段,每個詞段會記錄其聲學分數。將每個詞段進行維特比搜
54
尋,並根據音框資訊、聲學分數、歷史詞序列以及語言模型分數得出多條詞序列,
並挑選其分數最高者當作語音辨識的結果。另一種方式是將輸出的前 N 條詞序 列,進一步進行訓練,例如利用鑑別式訓練找出自錯誤率最低的詞序列或使透過 訓練好的遞迴式類神經、長短期記憶類神經網路語言模型等語言模型進行重新排 序,以得到更準確的辨識結果。