课程目标
- 语言结构:依赖解析
- 句法结构:一致性和依赖性
- 依赖语法和树库
- 基于过渡的依赖分析
- 神经依赖分析
一、两种语言结构的观点:短语语法结构=上下文无关文法
短语结构将单词组织成嵌套的成分
单个单词:
the, cat, cuddly, by, door
单词连接成短语:
the cuddly cat, by the door
短语连接成更大的短语
the cuddly cat by the door
短语结构将单词组织成嵌套的成分,可以用CFG规则表示语法
单个单词被赋予一个类别
单词使用类别构成短语
短语被递归的构成更大的短语
pp:prejudice phrase介词短语
np:noun phrase名词短语
依赖结构显示哪些单词依赖于哪些单词。
我们为什么需要句子结构?
我们需要理解句子结构以便能够正确的解释语言
人类通过把单词组合成更大的单元来表达自己的想法
我们需要什么是和什么关联在一起的
在英语中介词短语依附是有歧义的。
举了几个例子分析单词的依赖分析,说明介词短语、修饰范围、动词短语的依附歧义。
依赖路径识别语义关系——例如,对于蛋白质交互作用
二、依赖语法和依赖结构
依赖语法假定句法结构由词汇项的关系组成,依赖通常是单向的箭头
箭头通常与语法关系的名称(主语、介词宾语、同位语等)一起输入。
箭头连接头和从属
依赖关系就形成了一棵树
依赖语法和结构
通常会添加一个虚拟的root这样每个单词都精确的依赖另一个节点
注释数据的兴起:通用依赖树库
建立一个树库似乎比构建语法慢得多,也没那么有用。
但是一个树库给我们带来很多东西
重复利用已有成果
许多解析器,词性分析可以基于它构建
覆盖面广
一种评价其他系统的方法
当单词以线性顺序排列时,没有交叉的依赖弧,所有的弧都在单词之上
三、贪婪的基于过渡的解析器
(关于这个部分其实不是很理解,下面都是根据ppt进行简单的翻译)
一种简单的贪婪判别依赖解析器。
解析器执行一系列自底向上的操作
大致上类似于shift-reduce解析器中的“shift”或“reduce”,但是“reduce”操作专门用于在左或右的头部的依赖项
解析器有:
一个栈:以一个root开头,从顶部到右边
一个缓冲区,从顶部到左边,以一个输入的句子开头
一个依赖集合A,开始为空
一系列动作
介绍了一个解析器:MaltParser
该模型的精度略低于依赖项解析的最新水平,但它提供了非常快的线性时间解析,性能非常好
评估的办法:
为什么要训练神经依赖解析器?特性指标回顾
95%以上的解析时间用于特征计算。
解决办法:学习密集和紧凑的特性表示
一个神经网络解析器
每个单词使用一个d维度的密集向量表示,相似的单词有相近的向量
同时,部分标签和依赖标签也用一个d维度的向量表示
我们根据堆栈/缓冲区位置提取一组令牌:
我们将它们转换为向量嵌入并将它们连接起来
模型结构:
神经网络可以准确地确定句子的结构,支持解释。