自然语言处理——3.4 有限自动机在NLP中的应用
英语单词拼写检查[Oflazer, 1996]
1. 编辑距离
设 为拼写错误的字符串,其长度为, 为 对应的正确的单词(答案),其长度为。则 和 的编辑距离 定义为:从字符串转换到 需要的插入、删除、替换和交换两个相邻的基本单位(字符)的最小个数。如:
2. 拼写检查例子计算
假设 为字母表上的 个字母构成的字符串, 表示含有 个字符的子串。为拼写错误的字符串,其长度为 为与串接近的字符串(一个候选),其长度为。则给定两个串和的编辑距离 可以通过循环计算出从字符串转换到 需要进行插入、删除、替换和交换两个相邻的字符操作的最少次数。
(1) 如果(两个串的最后一个字母相同),则;
(2) 如果,并且(最后两个字符需要交换位置),则
图示(3) 其它情况下
其中
(X长度为0)
, (Y长度为0)
, (边界约定)
3. 拼写检查自动机构造
构造一个确定的有限状态机 :
其中, 表示状态集; 表示输入字符集;
为起始状态;
为终止状态集;
如果表示有限状态机 接受的语言,字母构成的所有合法单词都是有限状态机中的一条路径。给定一个输入串,对其进行检查的过程就是在给定阈值 的情况下,寻找那些与输入串的编辑距离小于的路径。那么,一个字符串能够被识别的条件是存在非空集合:
4. 拼写检查搜索树
5. 拼写检查阈值的解释
定义:
其中,。
注意:阈值 有两个用途:确定截取 的范围;限定编辑距离。
举例说明有限自动机用于英语单词形态分析[Allen, 1995]
说明:在实际应用中,除了有限状态机以外,还常常使用有限状态转换机(finite
state transducer, FST)的概念。粗略地讲,有限状态转换机与有限自动机(或有限状态机)的区别在于:FST 在完成状态转移的同时产生一个输出,而FA (或FSM) 只实现状态转移,不产生任何输出。
一般地,具有相同的前缀或词根,词缀不同的单词可以共用一个有限状态转移机,共享其中的某些状态节点。如:tie, ties, trap, traps,try, tries, to, torch, torches, toss, tosses 等。
除了单词拼写检查、形态分析以外,有限状态自动机还广泛应用于词性标注、句法分析、短语识别、机器翻译和语音识别等很多方面。