chapter3:finite-state automation. 原书中第三版中的这一章还没写完,所以是看的图书馆借来的第二版,并结合宗成庆老师的统计自然语言处理来看的。
有限状态自动机 finite-state automation, FSA
前面一章节中的正则表达式只是一种用于文本搜索的方便的元语言,它是描述有限状态机的一种方法。

任何正则表达式又可以用有限状态机来实现(除了使用存储特性的那些正则表达式)。比如上一章中用于描述羊的语言的正则表达式: /baa+!/ 就可以表示为这样的有限自动机:

FSA可以用来识别(或接受)符号串。接受方式如下:把输入想象成一个长长的带子(tape),带子上的一个单元格(cell)可以写一个符号:

怎么理解这个输入带子和自动机呢?就是当输入带上的字母和自动机中离开当前状态的弧相匹配时,就穿过这个弧,进入到自动机中的下一个状态和带子上的下一个符号。比如上图中初始状态 q0q0 只有遇到b时才会匹配成功而进入下一个状态和输入符号,所以上图中的自动机不能接受输入。对图2.10中 q3q3 状态,他可以匹配 a或!.
我们可以用状态转移表(state-transition table)来表示自动机。状态转移表可以表示初始状态、接收状态和符号在状态之间的转移情况。

一个有限自动机可以用下面5个参数来定义:

其中Q表示N种状态的集合,Σ

本文详细介绍了有限状态自动机(FSA)的概念,包括DFSA和NFSA,以及它们在自然语言处理(NLP)中的作用。通过状态转移表和回退法解释了如何使用FSA识别和接受符号串。文中提到了状态转移矩阵和在HMM中的区别,同时讨论了在非确定性FSA中如何处理多种转移路径。

4347

被折叠的 条评论
为什么被折叠?



