第十二篇:形式语言理论与有限状态自动机
Posted flying_1314
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十二篇:形式语言理论与有限状态自动机相关的知识,希望对你有一定的参考价值。
目录
我们到目前已经介绍了什么?
• 处理单词序列的方法:
‣ N-gram 语言模型
‣ 隐马尔可夫模型
‣ 循环神经网络
• 这些模型没有任何基本的语言学
形式语言理论
• 研究语言类别及其计算特性
‣ 正则化语言/常规语言(本次主要内容)
‣ 上下文无关语言(下一篇)
• 语言 = 字符串集
• 字符串 = 来自有限字母表(又名词汇表)的元素序列
为什么要去做这个事情 ?
• 主要目标是解决会员问题
‣ 字符串是否为语言
• 如何? 通过定义它的语法
例子
• 以 0 开头并以 1 结尾的二进制字符串
‣ { 01, 001, 011, 0001, ... } ✓
‣ ( 1, 0, 00, 11, 100, ... } ✗
• 来自字母 {a, b} 的偶数序列
‣ { aa, ab, ba, bb, aaaa, ... } ✓
‣ { aaa, aba, bbb, ... } ✗
• 以wh-word 开头并以? 结尾的英语句子。
‣ { what ?, where my pants ?, … } ✓
‣ { hello how are you?, why is the dog so cute! }
超越会员问题……
• 会员
‣ 字符串是语言的一部分吗? 是/否
• 评分
‣ 给会员打分
‣ “字符串的可接受程度如何?” (语言模型!)
• 传感
‣ 将一个字符串“翻译”成另一个(词干!)
大纲
• 常规语言
• 有限状态接受器
• 有限状态传感器
常规语言/正则语言
• 最简单的语言类别
• 任何正则表达式都是正则语言
‣ 描述哪些字符串是语言的一部分(例如‘0(0|1)*1’)
• 正式地,正则表达式包括以下操作/定义:
‣ 从字母表中绘制的符号,Σ
‣ 空串,ε
‣ 两个正则表达式的串联,RS
‣ 两个正则表达式的交替,R|S
‣ Kleene 星,用于 0 次或多次重复,R*
‣ 括号 () 定义操作范围
例子重现
• 以 0 开头并以 1 结尾的二进制字符串
‣ 0(0|1)*1
• 来自字母 {a, b} 的偶数序列
‣ ((aa)|(ab)|(ba)|(bb))*
• 以wh-word 开头并以? 结尾的英语句子。
‣ ((what)|(where)|(why)|(which)|(whose)|(whom)) Σ* ?
正则语言的特性
• 闭包:如果我们采用常规语言 L1 和 L2 并将它们合并,生成的语言是否为常规语言?
• RL 在以下情况下关闭:
‣ 连接和并集
‣ 交集:在 L1 和 L2 中均有效的字符串
‣ 否定:不在 L 中的字符串
• 用途广泛! 可以为语言的不同属性设置 RL,并将它们一起使用
有限状态接受器
• 正则表达式定义了一种正则语言
• 但它没有给出一个算法来检查一个字符串是否属于该语言
• 有限状态接受器 (FSA) 描述了成员资格检查所涉及的计算
• FSA 包括:
‣ 输入符号字母表,Σ
‣ 状态集,Q
‣ 起始状态,q0 ∈ Q
‣ 终态,F ⊆ Q
‣ 转移函数:符号和状态 → 下一状态
• 如果从 q0 到最终状态的路径与每个符号匹配的转换,则接受字符串
‣ Djisktra 的最短路径算法,O(V log V + E)
样例
• 输入字母 {a, b}
• 状态 {q0, q1}
• 开始、结束状态 q0, {q1}
• 转换函数{(q0,a) → q0, (q0, b) → q1, (q1,b) → q1}
• 此FSA 定义的正则表达式?a*bb*
派生形态学
• 使用词缀将单词更改为另一个语法类别
• grace → graceful → gracefully
• grace → disgrace → disgracefully
• allure → alluring → alluringly
• allure → *allureful
• allure → *disallure
形态学 FSA
• 相当一致的流程
‣ 想要接受有效形式 (grace → graceful)
‣ 拒绝无效的 (allure → *allureful)
‣ 概括为其他词,例如,行为像grace或allure的名词
词形态学 FSA
加权FSA(WFSA)
• 有些词比其他词更合理
‣ 鱼腥味 vs. 不光彩
‣ 音乐与写意
• 可接受性分级衡量标准——加权 FSA
更改以下内容:
‣ 起始状态权重函数,λ:Q → ℝ
‣ 最终状态权重函数,ρ: Q → ℝ
‣ 转移函数, δ: (Q, Σ, Q) → ℝ
WFSA最短路径
• 路径的总分 π = t1, . . . , tN
‣ t 是一条边
• 使用最短路径算法以最低成本查找最短路径π
‣ O(V log V + E), 和之前一样
有限状态传感器FST
• 通常不想只接受字符串或带分数的字符串
‣ 想将它们翻译成另一个字符串
词形态学 FSA
有限状态接受器:allure + ing = allureing
有限状态转换器:allure + ing = alluring
• FST 向 FSA 添加字符串输出功能
‣ 包括输出字母表
‣ 转换现在采用输入符号并发出输出符号 (Q, Σ, Σ, Q)
• 可加权 = WFST
‣ 转移时评分
• 例如,将距离编辑为 WFST
‣ 将一个字符串转换为另一个字符串的距离
四条规则,举第一个说明,从q状态出发,a变成a,再到终止状态q,距离是0;
举第三个说明,从q状态出发,a变成空,再到终止状态q,距离是0;
其实这四条规则就对应着编辑距离中的,match,update,delete和insert
屈折形态学的 FST
• 西班牙语中的动词变形必须与主语和数字匹配
• 形态分析的目标:
• canto → cantar+VERB+present+1P+singular
如图,中间列是西班牙语,最右边是英语
看下图,抛开语言本身,结合我们刚刚说的四条规则,你会得出什么?
三条链对应着三条句子
自然语言有规律吗?是正则化的嘛?
有时候
举例:
the mouse that ran.
the cat that killed the mouse that ran.
…
the lion that bullied the hyena that bit the dog that chased
the cat that killed the mouse that ran
• 长度无界,但结构是局部的
‣(Det Noun Prep Verb)* ---这几个对应着限定词,名词,介词,动词
‣ 可以用FSA描述
非常规语言
• 带平衡括号的算术表达式
‣ (a + (b x (c / d)))
‣ 可以有任意多个左括号
‣ 需要记住多少个左括号,才能产生相同数目的右括号
‣ 不能在有限数量的状态下完成
•
中心嵌入
• 关系从句的中心嵌入
‣ The cat loves Mozart
‣ The cat the dog chased loves Mozart
‣ The cat the dog the rat bit chased loves Mozart
‣ The cat the dog the rat the elephant admired bit chased loves Mozart
• 需要记住 n 个主语名词,以确保后面跟着 n 个动词(并且他们同意等)
• 需要(至少)上下文无关语法(下一篇!)
总结
• 语言的概念
• 常规语言
• 有限状态自动机:接收器、传感器
• 加权变体
• 应用编辑距离、形态学
今天内容就到这里了,感谢大家观看!有问题随时评论交流!
以上是关于第十二篇:形式语言理论与有限状态自动机的主要内容,如果未能解决你的问题,请参考以下文章