Skip to content

Dependency Structure

:material-circle-edit-outline: 约 406 个字 :material-clock-time-two-outline: 预计阅读时间 1 分钟

依存分析

句法分析:依存分析(Dependency Parsing)-CSDN博客

自然语言处理任务中,有很重要的一块,就是分析语言的结构。语言的结构,一般可以有两 种视角:

  1. 组成关系(Constituency)
  2. 依赖关系(Dependency)

前者,主要关心的是句子是怎么构成的,词怎么组成短语。所以研究Constituency,主要 是研究忽略语义的“ 语法” 结构(content-free grammars) 。

后者,依赖关系,则主要关心的是句子中的每一个词, 都依赖于哪个其他的词。 比如下面这个句子:

“瞧这个可爱的小傻瓜!”

  • “傻瓜”,是“瞧” 这个动作的对象,因此“傻瓜”是依赖于“瞧”的;
  • “可爱的”、“小” 都是修饰“傻瓜”的,因此,这两个形容词都是依赖于“ 傻瓜” 的;
  • “这个”同样是指示“傻瓜”的,因此它也依赖于“傻瓜” 。

img

传统的基于转移的依存分析(Transition-based Parsing)

Greedy Deterministic Transition-based Parsing

我们构造一个三元组,分别是Stack、Buffer和一个Dependency Set。

  • Stack:最开始只存放一个Root节点;
  • Buffer:则装有我们需要解析的一个句子;
  • Set:中则保存我们分析出来的依赖关系, 最开始是空的。

state之间的transition有三类:

img

我们要做的事情,就是不断地把Buffer中的词往Stack中推,然后跟Stack中的词判断是否有依 赖关系,有的话则输出到Set中,直到Buffer中的词全部推出,Stack中也仅剩一个 Root,就分析完毕了。

例如:

I love Wuhan

img

神经依存分析(Neural Dependency Parsing)