目录

我们到目前已经介绍了什么?

形式语言理论

为什么要去做这个事情 ?

例子

超越会员问题……

大纲

常规语言/正则语言

例子重现

正则语言的特性

有限状态接受器

样例

派生形态学

形态学 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 个动词(并且他们同意等)
• 需要(至少)上下文无关语法(下一篇!)

总结

• 语言的概念
• 常规语言
• 有限状态自动机:接收器、传感器
• 加权变体
• 应用编辑距离、形态学

今天内容就到这里了,感谢大家观看!有问题随时评论交流!

第十二篇:形式语言理论与有限状态自动机相关推荐

  1. 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 ...

  2. CCNA-第十二篇-STP+ACL(下)

    CCNA-第十二篇-STP+ACL(下) 首先说说要跳跳了 立个小FLAG, 两个月内急速完成CCIE理论+LAB实操 因为接了个工作,主要我能做到就能做这份工作. 其实NP中间的点很多都会,只是因为 ...

  3. matlab最优控制实验报告_第十二篇 章 用MATLAB解最优控制问题及应用实例 最优控制课件.ppt...

    第十二篇 章 用MATLAB解最优控制问题及应用实例 最优控制课件.ppt 综上所述可得结论:Q=diag(1,0,0),R=2时,系统各方面响应较好. 矩阵Q变大时,反馈矩阵变大: 当Q的对角线上第 ...

  4. CCIE-LAB-第十二篇-EIGRP+EIGRP末节区域+leak map+分发列表

    CCIE-LAB-第十二篇-EIGRP+EIGRP末节区域+leak map+分发列表 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 问题 翻译:1.确保分支3分支4 ...

  5. 国外交友网站开发源码 第十二篇

    最近由于工作生活的事情比较多,所以就没有更新,这篇是国外交友网站开发源码 第十二篇 希望大家能够喜欢. 私信列表 class WechatController extends SiteControll ...

  6. 「第十二篇」漏洞扫描

    批注[--] 表示他人.自己.网络批注参考资料来源于* 书中批注* CSDN* GitHub* Google* 维基百科* YouTube* MDN Web Docs由于编写过程中无法记录所有的URL ...

  7. MySQL数据库,从入门到精通:第十二篇——MySQL数据类型详解

    MySQL数据库,从入门到精通:第十二篇--MySQL数据类型详解 第 12 章_MySQL数据类型精讲 1. MySQL中的数据类型 2. 整数类型 2. 1 类型介绍 2. 2 可选属性 2. 2 ...

  8. 跟我学SpringCloud | 第十二篇:Spring Cloud Gateway初探

    SpringCloud系列教程 | 第十二篇:Spring Cloud Gateway初探 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如 ...

  9. 字典排序 python3_一步一步学Python3(小学生也适用) 第十二篇: 元组tuple类型

    上一篇我们学习了列表(List),这一篇我们将学习元组(Tuple). 一.Python元组(Tuple) python的元组与列表类似,列表使用方括号[ ],元组使用小括号(). 元组的创建跟列表一 ...

最新文章

  1. ubuntu g++编译32位应用
  2. 限定项目的 Node.js 版本
  3. Promise和Async-Await的入门教程
  4. Atitit。Web server Jetty9 使用 attilax 总结
  5. Hadoop hdfs文件操作常用命令
  6. Android---自定义Toast
  7. 猫眼java开发工资_Java硕士京东工作1年,跳槽后他期望薪资26K,大家感觉他可以吗...
  8. OpenGL 学习 显示列表
  9. java吧 博客系统_【Java】SpringMVC + Mybatis 实现的个人博客系统
  10. 直播电商要处理好五个关系
  11. 风格迁移篇----艺术风格转换的内容与风格解构
  12. jxls遍历list时使用模板的批注语法
  13. android模拟器报错dev kvm is not found
  14. NLP关键词提取方法总结及实现
  15. php又拍云,申请又拍云云存储教程(PHP V3.80+)
  16. 探索性因子分析法问答
  17. arcmap中将一个面图层中的多个面分割成独立的面
  18. 前端网页打印插件print.js
  19. css文字不透明度怎么设置?
  20. CentOS命令汇总

热门文章

  1. 免费报名 | WPS专家教你文本分类在企业中的应用实践
  2. 北京大兴要打造成未来科技新中心?
  3. int(1) 和 int(10) 有什么区别?资深开发竟然分不清!
  4. Java接地气日常编码技巧
  5. 数据集获取加速神器来了!
  6. 机器学习中的优化算法!
  7. 「数据分析」之零基础入门数据挖掘
  8. 声波刺激就可长出新骨头?每天只需10分钟,干细胞5天快速分化,芯片装置只需1美元...
  9. 加性注意力机制、训练推理效率优于其他Transformer变体,这个Fastformer的确够快...
  10. 男导师的妻子叫“师母”,那么女导师的丈夫该怎么称呼?