• 沒有找到結果。

有限狀態機與相關演算法簡介

第二章 有限狀態機辨認系統之建立

2.1 有限狀態機與相關演算法簡介

2.1.1 加權有限狀態轉換器

加權有限狀態轉換器(Weighted Finite-State Machine, WFST)可視為一個邊上帶有輸入輸 出字元的有向圖,在 WFST 的圖形中,我們將點(node)稱為狀態(state),邊(arc)稱為轉移 (transition),邊上帶有該轉移的輸入字元(input symbol)、輸出字元(output symbol)與權重 (weight)。參照圖 2.1 所示,以粗線圈代表初始狀態(initial state),雙線圈表示終止狀態(final state)。假如同時為初始與終止狀態則以雙粗線圈表示。

0

1

2

3 10元:2枚|0

50元:10枚|0

100元:20枚|0

圖 2.1: 兌幣機之有限狀態機

6

每個有限狀態機,基本上皆由六個元素(Q, I, F,Σ,Δ,δ)所構成,其中:

1.) Q:所有狀態的集合,在此範例中含初始狀態與結束狀態,共有 4 個狀態。

在圖 2.1 的例子中,Q={0, 1, 2, 3}

2.) I:初始狀態,表示有限狀態機的唯一初始狀態。I={0}

3.) F:終止狀態,表示有限狀態機結束的狀態,至少要含有一個以上的終止狀態。

F={1, 2, 3}

4.) Σ:所有可接受的輸入字元。Σ={10 元, 50 元, 100 元}

5.) Δ:輸出字元集。Δ={2 枚, 10 枚, 20 枚}

6.) δ:轉移函式。表示某來源狀態(source state)接受輸入字元後,會轉移到哪一個目標 狀態(destination state)。

除上述之基本定義之外,還有一些專有名詞的解釋也一併在此論述:

1.) 狀態:

WFST 含有有限數量個狀態,這些狀態中必頇有一個初始狀態與一個以上的結束狀 態。一開始由初始狀態出發,接受輸入字元序列後,經過一連串的狀態轉移,當最後一 個轉移完成後,若停留在終止狀態,表示此條路徑是可接受(accept)的;反之則拒絕輸出 (reject)。

2.) 轉移:

狀態與狀態間的轉移由轉移函式δ 所定義,每個轉移需帶有來源狀態 s[t]、目的狀態 d[t]、

輸入字元 i[t]、輸出字元 o[t]與該轉移的權重 w[t]。描述一個轉移時寫作(I:O|W),I 表示 input symbol、O 表示 output symbol、斜線後的數值表示 weight。

3.) 空轉移:

我們允許轉移上的輸入與輸出字元為ε(epsilon)。當輸入字元為 ε 時,表示不需要輸入就

可以轉移到下一個狀態;當輸出字元為 ε 時,表示經過此轉移不會輸出字元。在設計

WFST 的 graph 時,會藉由空轉移來表示圖形上的特性。

7

4.) 路徑:

路徑(path)由一連串相連的轉移所組成,令 P = p1

p

2

…p

n為一條路徑,pi表示路徑上第 i 個轉移(i=1…n),又 s[pi-1]=d[pi],一條被接受的路徑 P 之結束狀態為 d[pn]。

5.) 加權值:

在描述語音辨識所用之 WFST 的圖形時,利用加權值來表示各種模型的分數,除了在轉 移上會帶有權重之外,每個結束狀態也可以再賦予加權值。在設計 WFST 的圖形時,一 般採用 log semi-ring 的數學模型。此時對機率的轉移取 negative nature log,則尋找最佳 路徑時為搜尋累積加權值最小的路徑。

2.1.2 組合演算法

給定兩個有限狀態機 A 與 B,將 A 的輸出字元作為 B 的輸入字元,進而將 A、B 整 合成一個新的有限狀態機 C,寫作 C=A。B,每個 C 的狀態、轉移都是由 A 跟B的狀態 與轉移所組成,並且只留下可成功走完的路徑。範例如下:

圖 2.2: 有限狀態機 A(左)與 B(右)

圖 2.3: 有限狀態機 C=A。B

執行組合演算法時,有限狀態機 A 下方的路徑因為其輸出字元 a 無法與狀態機 B 的輸入字元 b 相接,因此不會出現在有限狀態機 C 之中。

利用組合演算法的特性,就可以把不同層級(AM、Lexicon、LM)的有限狀態機全部

8

整合成一個網路,由於不同層級的有限狀態機是獨立製作,想要隨意更換哪一層的架構 都很方便。

2.1.3 取代演算法

取代演算法用來將一個有限狀態轉換器的轉移取代為另一個有限狀態轉換器。精確 地說:一個從狀態 s 到狀態 d 的轉移上帶有輸出符號 n,我們欲用有限狀態轉換器 F 取 代該轉移。取代演算法會先將此輸出符號 n 換為 ε,接上這個有限狀態轉換器 F,再把 F 的結束狀態(Final state)接到原先的狀態 d。此演算法可以很好地應用在混合語言模型上,

這點會在後述的研究提到。

0 #Name 1

0 1

Andy Tony

圖 2.4: 有限狀態機 A(左)與 B(右)

0 1 2 3

Andy Tony

ε ε

圖 2.5: 以 B 取代 A 上含有#Name label 之 arc

相關文件