目录

上下文无关语法(回顾)

依存语法

为什么?

大纲

依存语法基础

依赖关系

Universal Dependency

问答QA

信息抽取

CFG 怎么样

依赖与组成

依赖树的属性

投影性projective

Projectivity

Treebank转换

基于转换的解析

依存解析

注意事项

基于转换的解析:直觉

依赖标签

正确的行动?

解析模型

解析为分类

分类器

基于图的解析

优势

例子

最后


上下文无关语法(回顾)

• CFG 假设有一个组成/成分树来标识句子中的短语
‣ 基于这些短语可以互换(例如,将一个 NP 换成另一个 NP)并保持语法性的想法

依存语法

• 依赖语法提供了一种更简单的方法
    ‣ 描述词对之间的关系
    ‣ 即在中心词和中心词之间
    ‣ 例如 (首选,dobj,飞行)

为什么?

• 更好地处理形态丰富且词序相对自由的语言
‣ CFG 需要为短语可能出现的每个可能位置制定单独的规则
• 中心词依赖关系类似于单词之间的语义关系
‣ 更适用于应用:共指解析、信息提取等

大纲

• 依存语法基础
• 基于转换的解析
• 基于图的解析

依存语法基础

依赖关系

• 捕捉以下之间的语法关系:
    ‣ Head = 中心词
    ‣ 依赖 = 支持词
• 语法关系 = 主语、直接宾语等
• 针对不同语言提出了许多依赖理论和分类法
• Universal Dependency:一个框架,用于创建一组在计算上有用且跨语言的依赖关系

Universal Dependency

问答QA

• 依赖树更直接地代表了句子的核心:谁对谁做了什么?
    ‣ 由动词节点上的链接事件捕获

信息抽取

• “Brasilia, the Brazilian capital, was founded in
1960.”
→ capital(Brazil, Brasilia)
→ founded(Brasilia, 1960)
• 依赖树简洁地捕捉关系

CFG 怎么样

• 组成树也可以提供类似的信息
• 但它需要使用寻头规则进行一些提炼

依赖与组成

• 依赖树
    ‣ 每个节点都是一个词标记
    ‣ 选择一个节点作为根节点
    ‣ 有向边链接头和它们的从属
• 选区树
    ‣ 形成层次树
    ‣ 单词标记是叶子
    ‣ 内部节点是“组成短语”,例如 NP
• 两者都使用词性标注

依赖树的属性

• 每个词都有一个中心词(父词)
• 有一个根节点
• 从词根到每个词都有唯一的路径
• 所有弧都应该是投影的

投影性projective

• 如果从中心词到位于中心词和从属词之间的每个词都存在路径,则弧是射影的
• 如果所有弧都是投影的,则依赖树是投影的
• 换句话说,如果可以在没有交叉边的情况下绘制依存树,则它是投影的
• 大多数句子都是投射性的,但也有例外
• 在词序灵活的语言中很常见

Projectivity

下图,是projective的依存树

下图,则不是projective的依存树,有交叉

如果一棵依存树的每条边都满足Projective性质,那么这棵树就满足Projective性质。比如上图有一条从flight(head)到was的边,它们之间包含3个单词”this morning which”,flight有到which的路径(flight->was->which),但是flight到”this”和”morning”都没有路径可达。因此这条边不满足Projective。

Treebank转换

• 一些依赖树库(捷克语、阿拉伯语、丹麦语……)
• 许多组成树库
• 有些可以转换为依赖项
• 从组成树生成的依赖树始终是投影的
• 主要思想:识别组成结构中的头依赖关系以及相应的依赖关系
    ‣ 使用各种启发式方法,例如寻头规则
    ‣ 经常需要手动修正

基于转换的解析

依存解析

• 为给定的输入句子找到最佳结构
• 两种主要方法:
    ‣ 基于转换:自底向上贪婪法
    ‣ 基于图:使用节点/边编码问题并使用图论方法找到最佳解决方案

注意事项

• 基于转换的解析器只能处理投影依赖树!
• 不太适用于交叉依赖常见的语言

基于转换的解析:直觉

• 从左到右处理单词
• 维护两种数据结构
‣ Buffer:待处理的输入词
‣ Stack:存储正在处理的单词

• 在每一步,执行以下 3 个操作之一:
    ‣ Shift:将单词从缓冲区移动到堆栈
    ‣ Left-Arc:将当前词指定为栈中前一个词的头部


    ‣ Right-Arc:将前一个词指定为堆栈中当前词的头

依赖标签

• 为简单起见,我们省略了依赖关系的标签
• 在实践中,我们使用依赖标签参数化 left-arc 和 rightarc 动作:
    ‣ 例如 left-arc-nsubj 或 right-arc-dobj
• 将操作列表扩展到 > 3 种类型

正确的行动?

• 我们假设有一个预言机告诉我们每一步的正确操作
• 给定一个依赖树,oracle 的作用是生成一系列基本事实动作

最后的操作给大家参考

解析模型

• 然后我们训练一个监督模型来模仿预言机的动作
    ‣ 在每一步学习要采取的正确行动(由预言机给出)
    ‣ 在测试时,可以使用训练好的模型来解析一个句子来创建依赖树

解析为分类

• 输入:
    ‣ 堆栈(top-2 元素:s1 和 s2)
    ‣ 缓冲区(第一个元素:b1)
• 输出
    ‣ 3 类:shift, left-arc, or, right-arc
• 特征
    ‣ 词 (w), 词性 (t)

举例:

• Input features:
    ‣ s1.w = flights
    ‣ s2.w = cancelled
    ‣ s1.t = NNS
    ‣ s2.t = VBD
    ‣ b1.w = to
    ‣ b1.t = TO
    ‣ s1.t ◦s2.t = NNS_VBD
• Output label: shift

分类器

• 传统上 SVM 效果最好
• 如今,深度学习模型是最先进的
• 弱点:基于贪婪搜索的局部分类器
• 解决方案:
    ‣ 波束搜索:跟踪前 N 个最佳动作
    ‣ 动态预言机:在训练期间,偶尔使用预测动作
    ‣ 基于图的解析器

基于图的解析

• 给定一个输入句子,构建一个全连接、加权、有向图
• 顶点:所有单词
• 边:依赖于头部的弧
• 权重:基于训练数据的分数(经常观察到的关系获得更高的分数)
• 目标:找到最大生成树(Kruskal 算法)

优势

• 可以生成非投影树
    ‣ 对英语来说没什么大不了的
    ‣ 但对许多其他语言很重要
• 给整棵树打分
    ‣ 避免做出贪婪的本地决策,如基于转换的解析器
    ‣ 更好地捕获长依赖

例子

• 警告:树可能包含循环
• 解决方案:需要做清理以去除循环(Chu-Liu-Edmonds 算法)

最后

• 依赖解析是对组成解析的一种引人注目的、替代的表述
‣ 边编码词-词句法和语义关系
• 基于转换的解析
• 基于图的解析

OK,今天的内容到这里了,辛苦大家观看,有问题随时评论交流!

第十五篇:依存语法Dependency Grammar相关推荐

  1. 坚持的力量 第十五篇

    第十五篇        漩涡鸣人 从他身上,我看到了进步和向上的力量,经别人推荐,我发现我渐渐的喜欢上了<火影忍者>. 首先,<火影>中的歌曲很有震撼力和穿透力,产生心灵的共鸣 ...

  2. 秒杀多线程第十五篇 关键段,事件,互斥量,信号量的“遗弃”问题

    秒杀多线程第十五篇 关键段,事件,互斥量,信号量的"遗弃"问题 在<秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量>中对经典多线程同步互斥问题进行了回 ...

  3. CCIE理论-第十五篇-IPV6-重分布+ACL+前缀列表

    CCIE理论-第十五篇-IPV6-重分布+ACL+前缀列表 重分布前面讲过,这里再讲一次+实操+效果看看 在ipv6中重分布直连路由是需要加上include-connected的 环境 就这么简单哈, ...

  4. CCIE-LAB-第十五篇-IPV6-BGP+VPN6+RT

    CCIE-LAB-第十五篇-IPV6-BGP+VPN6+RT 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 问题 翻译: 根据这些要求,将IPV6连接从总部通过SP扩 ...

  5. CCNP-第十五篇-VXLAN(一)

    CCNP-第十五篇-VXLAN(一) 到了这个阶段呢,怎么说呢,简单的NP级别的交换我都跳过去了,但是后期会补, 所以这个衔接可能新手或者不会的看的有的迷茫 但是出自个人原因只好这么干了,VXLAN3 ...

  6. CCNA-第十五篇-DHCP配置+SDN介绍(最后一章)

    CCNA-第十五篇-DHCP配置+SDN介绍 各位好,如果有一直看下来的谢谢支持 这里是CCNA的最后一篇了,如果真的能吸收很多内容,那么普通的东西基本上都没什么大问题了.除非就是工作经验 下一篇就到 ...

  7. python连载第十五篇~史上最全列表知识源码+答案

    #2017-12-19 19:34:41 December Tuesday the 51 week, the 353 day #python连载第十五篇~list列表#列表定义,访问,索引,操作,切片 ...

  8. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 7 ...

  9. 第七十五篇:学术论文写作技巧

    第七十五篇:学术论文写作技巧 论文写作技巧 下载 论文写作技巧 最近听了一下网课,把大牛们的论文讲课记录和网上一些关于论文写作技巧的文章总结了一下.总结了一些关于论文的润色.语法.投稿.回复审稿人等需 ...

  10. python学习[第十五篇] 文件系统

    python学习[第十五篇] 文件系统 对文件系统访问大多数都通过os模块实现. os 模块文件/目录访问函数 文件处理 mkfifo() 创建命名通道只用于linux remove(path)/un ...

最新文章

  1. Staple 跟踪: Complementary Learners for Real-Time Tracking
  2. gitlab更新配置无效_GitMaster 发布 v1.11.0 版本,支持 GitLab 多级分组,Gist支持文件列表...
  3. 李宏毅线性代数笔记2: 线性方程组和数域
  4. Django目录结构说明
  5. MIME Type描述消息内容类型的因特网标准
  6. 我这几年呆的这几个公司
  7. Python代码之三级登录
  8. 基本排序算法(冒泡,选择(希尔),插入,快速,归并,堆,二分查找)
  9. c51汇编语言教程,汇编语言入门视频教程
  10. 基于群智能的路径规划算法(五)------狼群算法
  11. java自行车销售系统_基于 javaee 自行车租赁系统,源码分享
  12. Google在线深度学习神器Colab--实操学习
  13. 你知道直方图都能干啥?
  14. 网狐大联盟服务器环境搭建完整教程
  15. 计算机 在哪看是什么32位,怎么看电脑是32位还是64位?
  16. Oracle数据库之SQL函数
  17. C语言提取字符对应的ASCAl,ascall码对照表(ASCII码表)
  18. C#:C#控件系列四(列表类控件)
  19. 在maven web项目中配置log4j打印日志及Mybatis sql语句
  20. G - Ugly Numbers

热门文章

  1. 英伟达Q4净利同比降49%,还能继续躺赚吗?
  2. TinyMind 汉字书法识别竞赛开启总决赛啦!!
  3. 马少平、周枫、王小川、楼天城、唐文斌……清华计算机系与人工智能的40年...
  4. 周志华出任京东人工智能研究院学术委员会委员
  5. 盘点|最实用的机器学习算法优缺点分析,没有比这篇说得更好了
  6. 基于 Spring Cloud 开发的分布式系统,遇到爬虫、接口盗刷怎么办?
  7. 用Spring的BeanUtils前,建议你先了解这几个坑!
  8. 神经网络的可解释性综述!
  9. 「二本生逆袭」引知乎热议,读博后三年两次发Nature,第一学历有那么重要吗?...
  10. 干货 | 2021年,深度学习还有哪些研究方向可以做?