第十二篇:形式语言理论与有限状态自动机
目录
我们到目前已经介绍了什么?
形式语言理论
为什么要去做这个事情 ?
例子
超越会员问题……
大纲
常规语言/正则语言
例子重现
正则语言的特性
有限状态接受器
样例
派生形态学
形态学 FSA
词形态学 FSA
加权FSA(WFSA)
WFSA最短路径
有限状态传感器FST
词形态学 FSA
屈折形态学的 FST
自然语言有规律吗?是正则化的嘛?
有时候
非常规语言
中心嵌入
总结
我们到目前已经介绍了什么?
• 处理单词序列的方法:
‣ 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 个动词(并且他们同意等)
• 需要(至少)上下文无关语法(下一篇!)
总结
• 语言的概念
• 常规语言
• 有限状态自动机:接收器、传感器
• 加权变体
• 应用编辑距离、形态学
今天内容就到这里了,感谢大家观看!有问题随时评论交流!
第十二篇:形式语言理论与有限状态自动机相关推荐
- CCIE理论-第十二篇-IPV6-NDP协议
CCIE理论-第十二篇-IPV6-NDP协议 首先我们知道 在IPV4中 A:0.0.0.1-126.255.255.255 B:128.0.0.1-191.255.255.255 C:192.0.0 ...
- CCNA-第十二篇-STP+ACL(下)
CCNA-第十二篇-STP+ACL(下) 首先说说要跳跳了 立个小FLAG, 两个月内急速完成CCIE理论+LAB实操 因为接了个工作,主要我能做到就能做这份工作. 其实NP中间的点很多都会,只是因为 ...
- matlab最优控制实验报告_第十二篇 章 用MATLAB解最优控制问题及应用实例 最优控制课件.ppt...
第十二篇 章 用MATLAB解最优控制问题及应用实例 最优控制课件.ppt 综上所述可得结论:Q=diag(1,0,0),R=2时,系统各方面响应较好. 矩阵Q变大时,反馈矩阵变大: 当Q的对角线上第 ...
- CCIE-LAB-第十二篇-EIGRP+EIGRP末节区域+leak map+分发列表
CCIE-LAB-第十二篇-EIGRP+EIGRP末节区域+leak map+分发列表 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 问题 翻译:1.确保分支3分支4 ...
- 国外交友网站开发源码 第十二篇
最近由于工作生活的事情比较多,所以就没有更新,这篇是国外交友网站开发源码 第十二篇 希望大家能够喜欢. 私信列表 class WechatController extends SiteControll ...
- 「第十二篇」漏洞扫描
批注[--] 表示他人.自己.网络批注参考资料来源于* 书中批注* CSDN* GitHub* Google* 维基百科* YouTube* MDN Web Docs由于编写过程中无法记录所有的URL ...
- MySQL数据库,从入门到精通:第十二篇——MySQL数据类型详解
MySQL数据库,从入门到精通:第十二篇--MySQL数据类型详解 第 12 章_MySQL数据类型精讲 1. MySQL中的数据类型 2. 整数类型 2. 1 类型介绍 2. 2 可选属性 2. 2 ...
- 跟我学SpringCloud | 第十二篇:Spring Cloud Gateway初探
SpringCloud系列教程 | 第十二篇:Spring Cloud Gateway初探 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如 ...
- 字典排序 python3_一步一步学Python3(小学生也适用) 第十二篇: 元组tuple类型
上一篇我们学习了列表(List),这一篇我们将学习元组(Tuple). 一.Python元组(Tuple) python的元组与列表类似,列表使用方括号[ ],元组使用小括号(). 元组的创建跟列表一 ...
最新文章
- ubuntu g++编译32位应用
- 限定项目的 Node.js 版本
- Promise和Async-Await的入门教程
- Atitit。Web server Jetty9 使用 attilax 总结
- Hadoop hdfs文件操作常用命令
- Android---自定义Toast
- 猫眼java开发工资_Java硕士京东工作1年,跳槽后他期望薪资26K,大家感觉他可以吗...
- OpenGL 学习 显示列表
- java吧 博客系统_【Java】SpringMVC + Mybatis 实现的个人博客系统
- 直播电商要处理好五个关系
- 风格迁移篇----艺术风格转换的内容与风格解构
- jxls遍历list时使用模板的批注语法
- android模拟器报错dev kvm is not found
- NLP关键词提取方法总结及实现
- php又拍云,申请又拍云云存储教程(PHP V3.80+)
- 探索性因子分析法问答
- arcmap中将一个面图层中的多个面分割成独立的面
- 前端网页打印插件print.js
- css文字不透明度怎么设置?
- CentOS命令汇总
热门文章
- 免费报名 | WPS专家教你文本分类在企业中的应用实践
- 北京大兴要打造成未来科技新中心?
- int(1) 和 int(10) 有什么区别?资深开发竟然分不清!
- Java接地气日常编码技巧
- 数据集获取加速神器来了!
- 机器学习中的优化算法!
- 「数据分析」之零基础入门数据挖掘
- 声波刺激就可长出新骨头?每天只需10分钟,干细胞5天快速分化,芯片装置只需1美元...
- 加性注意力机制、训练推理效率优于其他Transformer变体,这个Fastformer的确够快...
- 男导师的妻子叫“师母”,那么女导师的丈夫该怎么称呼?