斯坦福CS224n NLP课程【六】——依存分析
首先了解一些术语
句法 syntax
语法 grammar
依存关系 dependency parsing
依赖语法 dependency grammars
解析 parsing
两种不同的观点对于语言结构
phrase structure grammar 短语结构语法 也称为上下文无关语法
依存语法:通过找到句子当中每一个词所依赖的部分来描述句子结构 如果一个词修饰另一个词 或者 一个词是另外一些词的一个论证 那么它就是那个词的依赖 对于语义模糊的句子可以使用依存语法进行分析
举例:scientists study whales from space 具有二义性 使用依存语法 可以看到是什么修饰什么的问题 然后就变成了一个自然语言中的普通问题了 因为这里什么修饰什么的问题 主导了许多关于解释的问题
在英语中,一般遵循嵌套关系是没有问题的 ,但是也会具有歧义性,其数量可以通过以一个指数分布函数来判断 序列的个数称为 Catalan 数
完整的语言学以树库的形式标注数据 也就是将标注好的依存关系图称为树库
依存树的优点:可复用、一种真实语言 具有完整的句法在此基础上就可以做各种量化语言学方面的分析、依存树更容易找到所有可能发生的情况 不管是概率还是机器学习它都不仅能给出所有可能性及其各自的频率也会给出不同可能性同时发生的概率所有重要的概率分布信息
现在更常用的是依存关系 依存句法 依存句法:是一个句法模型就是我们有一个句法项之间的关系或词之间的关系 只有词法项之间是二元的不对称关系 通过我们会根据一些句法关系 来给这些依存关系分类并命名 箭头连接着头和独立项
发展史
箭头有不同的画法
依存分析 我们怎么判断那个词依赖那个词 依存表示与词之间的关系有关 依存距离 很多依存关系不会扩展 不同类型的词会有不同种类的依存关系
把句中每一个词都提取出来,然后判断这些词的独立项或者头部是什么 这样做有几个限制条件 一般来说 我们只需要一个词作为ROOT的独立项 没有环出现 都满足的话 就能保证生成一个依存树
一般语言都存在嵌套关系 并且有线性顺序 如果一个依存树是完全嵌套的那它称为投影依存树
如果你找到合适的移动短语的方法就可以避免这些交叉线出现这样就得到了非投影性依存树 如果忽略线性顺序画出来仍然是一个树 更像是图
依存分析的方法:4确定型依存句法分析 目前最流行的做法
建立一个基于转换的依存分析
基于弧标准转换的依存分析的主要思想有
三种操作 shift right-arc left-arc
right-arc left-arc通过在左侧或者右侧添加词作为独立项来做出附加判断
对于left-arc我们说堆中第二个顶部元素是堆的顶部元素的独立项
对于right-arc堆的顶部元素是堆中第二个顶部元素的一个独立项
在有一定的依存关系之后,可以使用机器学习来进行分类看是否给出了一个正确的句子结构
依存分析的评估 我们做的其实是选择每个词的独立项是什么 然后给出正确答案从我们树库中得到 十分难得的信息 就是在数我们做对了几次 一种仅看箭头 称为UAS方法 未标记准确率 或者使用标签 当标签正确时你的结果才正确 LAS标记性准确分数
为什么要训练神经依存分析?
怎么做?使用分布式表示 POS标签 依存标签
模型
非线性 为什么我们需要非线性