昨天介紹了Regular Expression(正規表達式),今天就來聊聊Regular Expression運作背後重要的機制:Finite State Automata/Automaton(有限狀態自動機)。這個名字聽起來很難、很抽象,但其實FSA是一個簡單、強大的概念,跟很多自然語言處理(NLP)的機制都息息相關。
以下就來簡單介紹FSA到底是什麼~~
在FSA裡面又分為 Deterministic FSA 跟 Non-Deterministic FSA,兩者的差別如下:
➡️ 雖然 Non-Deterministic 看起來多了一點彈性,但是其實兩者有一樣的能力
FSA可以應用在以下幾個地方:
(還有很多應用,這邊也就不一一贅述)
FSA的功能機制看起來很簡單,但是其實現在很多自然語言處理都是從他的概念延伸而來,像是 Hidden Markov Models 或是更進階的 RNN、LSTM 等。
參考資料:https://www.geeksforgeeks.org/theory-of-computation/introduction-of-finite-automata/