0%

cs224n-3.依存分析问题

句法分析

句法分析与上下文无关文法相对立,强调通过对于句子语法结构的分析,实现对于句子的理解。最常见的三种句法分析任务如下

  1. 句法结构分析 识别句子中的短语结构和层次关系
  2. 依存关系分析 识别句子中词与词之间的依存关系,确定词语的含义
  3. 深层文法句法分析 利用深层文法对句子进行分析

依存句法分析(Dependency Parsing)

依存结构展示了句子中依赖于其他词语的单词,这种依赖体现为被修饰或者被限定

同一个句子,在不同的依存关系下,理解的含义可能有所不同

  1. 介词修饰歧义(preposition attachment ambiguity)(刀杀死了男人,还是杀死了带刀的男人)
  1. 修饰范围歧义(Coordination scope ambiguity)

  2. 形容词修饰歧义

依存句法(Dependency Grammar)

依存句法假设句子中的词语存在语法结构上的关联,这种通常为非对称的二元关联关系成为依赖(Dependency)

  1. 依存语法树
  1. 直接在句子上标注

依赖关系的一般约束

  1. 依赖不循环
  2. 相依赖的词语一般距离较近
  3. 依赖项一般能够构成树形结构

依存句法分析的基本方法

  1. Dynamic programming
  2. Graph algorithms
  3. Constraint Satisfaction
  4. “Transition-based parsing” or “deterministic dependency parsing”

Greedy transition-based parsing 基于贪婪思想转换的依存分析

简单理解就是 从句子的开头逐个单词进行压栈,判断即将入栈元素和栈顶元素的依存关系,根据依存关系在边集合 添加对应方向的边,弹出栈顶元素(reduce)(如果不存在关系,不弹),并将当前元素压栈(shift)

Arc-Standard transition-based parser

MaltParser

引入机器学习分类器,通过分类器判断添加的依赖,以及依赖的方向。避免了搜索,提供了一种线性的解析方式

如何衡量依存分析的效果?

Dependency Accurracy

基于神经网络的依存分析器构建