第三章 加權有限狀態機之語音辨識分析
3.2 語音系統中的有限狀態機
3.2.2 發音詞典
圖 3 6: 聲學模型的有限狀態機
各別的隱藏式馬可夫模型皆建立完成後,以聯集演算法將所有獨立的有限狀 態機聯合成一個單一的有限狀態機,並在每個終止狀態新增加一條路徑,回到初 始狀態,如此即完成聲學模型的有限狀態機。
Juicer 辨識器的聲學模型分數與語言模型分數為分開計算,並且 HMM 分數 獨立計算之,因此 Juicer 聲學模型的有限狀態機以前後相關(context-dependent) 的 WFST 表示,而非 HMM 模型。本研究採用與前後文無關的單音節模型,僅 以單一狀態表示。
0
Phone1:Phone1
Phone2:Phone2
PhoneN:PhoneN
….
圖 3 7: 聲學模型的 WFST
3.2.2 發音詞典
發音詞典為聲學模型與語言模型之間的橋樑,將聲學模型輸出的聲音序列組 合成有意義的詞彙,而每個詞彙對應至 HMM 序列。
40
我們藉由線性方式建立出線性詞典,線性詞典可以建立出每個詞彙的有限狀 態機,詞彙的輸入為一串聲音序列,而此詞彙可以放置於此有限狀態機的任何轉 移上的輸出,其餘的輸出為空轉移。
樹狀詞典,以樹狀架構來建立詞彙的有限狀態機,詞典中若有詞彙彼此字首 相同,則可以共用同一字首結構,因此使詞典的空間縮小。
0 jin:ε 1 tian:今天 2
圖 3 8: 線性詞典有限狀態機
jin:ε
tian:今天
ri:今日
0 1
2
3
圖 3 9: 樹狀詞典有限狀態機
建立發音詞典的有限狀態機,方法與聲學模型的有限狀態機雷同,首先,建 立各個詞彙的有限狀態機,初始狀態皆由空轉移聯集而成,聯集成一個有限狀態 機,並且各個終止狀態連一條空轉移回至初始狀態。本研究的聲學模型並未加入 聲調資訊,因此在面對音節相同的詞彙時,發音詞典會在序列的末端加上輔助符 號 (auxiliary symbol) 來 區 別 詞 彙 的 差 異 , 用 以 進 行 確 定 性 演 算 法 (determinimization)。
41
圖 3 10:發音詞典的範例
3.2.3 語言模型
本研究將 n-gram 語言模型的 ARPA 格式轉換為有限狀態機,藉由有限狀態 機來表達詞與詞之間相連的機率,其中後撤平滑化可以以空轉移來描述。
WFST 補回同義詞的方式,本研究使用取代演算法,將欲取代的轉移由一個 小 WFST 取代之,其中小 WFST 為欲取代與被取代的轉移,轉移上的字元彼此 為同義詞,且加權值相同,即為這組同義詞享有相同的語言模型分數;細說取代 的方式為,被取代的轉移由狀態 s 開始至狀態 d,欲用 WFST A 取代,狀態 s 會 以空轉移連接至 A 的初始狀態,並且 F 的終止狀態會同樣以空轉移連接至狀態 d。
圖為一 bi-gram 的有限狀態機,其中狀態二的作用為,當沒有有效的輸入時,
會藉由空轉移走至狀態二,並且附上後撤分數,而狀態二走至其他狀態所附上的 分數,即為經由後撤後的 uni-gram 的 n-gram 分數;其餘的狀態,接有兩種轉移,
一種是輸入為有效詞的轉移,另一種是沒有符合輸入詞的轉移,即為空轉移,因 此藉由空轉移來做後撤,後撤會使詞串對應至非唯一的路徑,如此一來,不同的
42
其中本研究使用的辨識器為 Idiap Research Institute 所開發的 Weighted Finite State Transducer Decoder – Juicer[15]。處理 WFST 相關演算法則使用 Google Research and NYU's Courant Institute 發展 的 OpenFst library[16]進行。