csdn:https://blog.csdn.net/abcgkj

github:https://github.com/aimi-cn/AILearners


上节课我们主要讲述了神经网络是如何进行反向传播的。那么,这节课我们将来介绍NLP中的一大难点——句法分析。句法分析的主要任务是识别出句子所包含的句法成分以及这些成分之间的关系,一般以句法树来表示句法分析的结果。

那么如何描述语法?主要有两种观点:短语结构语法和依存结构语法。本文将重点讲述依存结构语法,因为人们发现依存句法树标注简单,且准确率高,近年来大多数使用的都是这种语法结构。

一、起源

语法依存的概念可以追溯到公元前4世纪印度语言学家Panini对语义、句法和形态依存的分类研究,但一般认为现代依存语法理论的创立者是法国语言学家Lucien Tesnière(1893—1954)。L.Tesnière的思想主要反映在他1959年出版的《结构句法基础》(Eléments de syntaxe structurale)一书中[Tesnière,1959]。
——摘自《统计自然语言处理》

二、定义

英文术语是:Dependency Parsing。依存结构语法假定句法结构由词汇项之间的关系组成,通常称为依赖关系的二元非对称关系,描述为从 head(被修饰的主题)用箭头指向 dependent (修饰语)。一般这些依存关系形成树结构。他们通常用语法关系的名称(主体,介词宾语,同位语等)。一个依存树的例子如下图所示:

1.信息来源

  • 双词汇亲和(Bilexical affinities),比如discussion与issues。
  • 依赖距离(Dependency distance),主要用近义词。
  • 中间词语,如果中间词语是动词或标点,则两边的词语不太可能有依存
  • 词语配价,一个词语最多有几个依赖者。

2.约束条件

  • Root只能被一个词依赖
  • 无闭环

3.方法

  • Dynamic programming
  • Graph algorithms——最小生成树
  • Constraint Satisfaction
  • “Transition-based parsing” or “deterministic dependency parsing”:主流方法,基于贪心决策动作拼装句法树。

三、神经网络依存句法分析器

在神经网络依存句法依赖分析器出现之前,主要有如下在几种句法分析器:

  • Greedy transition-based parser
  • Basic transition-based dependency parser
  • Arc-standard transition-based parser
  • MaltParser

那为什么需要神经网络句法分析器?这是因为传统特征表示稀疏、不完全、计算代价大的传统parser的大部分时间都花在拼装查询特征上了。其实,相较于传统方法,神经网络句法分析器就是把原来的单词、词性、依存标签转化成了向量进行表示。下图是该模型的架构:

从模型架构上来看,输入层主要做的是查找和合并,隐藏层使用了一个Relu激活函数,输出层则是一个简单的softmax分类器,loss使用的交叉熵函数。

四、展望

Chen and Manning(2014)的工作,是第一个简单、成功的神经依赖解析器。这项工作由其他人进一步发展和改进,走在最前沿的是Google。主要趋势是:

  • 更大、更深的网络,具有更好的调优超参数
  • Beam Search
  • 对决策序列进行全局、条件随机字段(CRF)样式的推理

这就引出了之后的SyntaxNet和Parsey McParseFace模型。

喜欢的童鞋记得分享给别的小伙伴哈。AIMI-CN AI学习交流群【1015286623】 获取更多AI资料扫码加群:

分享技术,乐享生活:我们的公众号每周推送“AI”系列资讯类文章,欢迎您的关注!

【2019斯坦福CS224N笔记】(5)依存结构语法相关推荐

  1. 【2019斯坦福CS224N笔记】(5)The probability of a sentence Recurrent Neural Networks and Language Models

    这部分内容主要研究语言模型及循环神经网络在语言模型中的应用. 目录 1.语言模型 2.经典n-gram模型 3.Window-based DNN 4.Recurrent Neural Networks ...

  2. 【2019斯坦福CS224N笔记】(2)Word Vectors and Word Senses

    目录 1 回顾:word2vec的主要思想 2 优化 : 梯度下降 3 The skip-gram model with negative sampling 基于负采样的Skip-gram模型  (H ...

  3. 2019斯坦福CS224n深度学习自然语言处理笔记(3)反向传播与计算图

    向AI转型的程序员都关注了这个号

  4. 2019斯坦福CS224n深度学习自然语言处理笔记(1)Word2Vec与Glove

    向AI转型的程序员都关注了这个号

  5. 最新(2019)斯坦福CS224n深度学习自然语言处理课程(视频+笔记+2017年合集)

    向AI转型的程序员都关注了这个号

  6. 2019斯坦福CS224n深度学习自然语言处理笔记(3)——分类模型与神经网络

    文章目录 1. 什么是分类? 1.1 logist(二分类) 1.2 softmax(多分类) 1.2.1 softmax函数 1.2.2 独热编码 1.2.3 交叉熵 1.2.4 反向传播 2.神经 ...

  7. 2019 斯坦福 CS224n 课程

    课程网站,有PPT和参考资料: http://web.stanford.edu/class/cs224n/index.html#schedule 官方课程视频网站: http://onlinehub. ...

  8. 【NLP CS224N笔记】Lecture 12 - Information from parts of words Subword Models

    本次梳理基于Datawhale 第12期组队学习 -CS224n-预训练模块 详细课程内容参考(2019)斯坦福CS224n深度学习自然语言处理课程 1. 写在前面 自然语言处理( NLP )是信息时 ...

  9. 2019年CS224N课程笔记-Lecture 5: Linguistic Structure: Dependency Parsing

    资源链接:https://www.bilibili.com/video/BV1r4411,部分内容参考来自于码农场 » CS224n笔记6 句法分析和https://zhuanlan.zhihu.co ...

最新文章

  1. myeclipse 10创建maven项目
  2. 用Go语言建立一个简单的区块链part2:Pow共识
  3. Markdown简介和基本语法
  4. vue1.0和vue2.0生命周期----整理一
  5. Resources.getResourceAsStream用法
  6. c++ dicom图像切割_【高训智造】原创专业课堂第225期--定位滑座的线切割加工
  7. 计算机图像图形设计制作 步骤,怎样在电脑上制作流程图?小编“墙裂”推荐它!...
  8. java内部类_Java内部类
  9. wordpress 关于裁剪图片错误问题
  10. 人人商城小程序服务器根目录,微擎通用-人人商城v3小程序安装步骤小程序配置说明...
  11. linux软件装在哪了,linux软件的安装目录在哪
  12. 莫烦pytorch学习笔记(三)
  13. 什么软件测试电脑分辨率,分辨率测试卡
  14. 计算机组成原理中总线包括,计算机组成原理复习题
  15. 【阿里网盘】阿里网盘使用全攻略
  16. LiveGBS国标流媒体-摄像头网络直播方案部署问题
  17. Qt编译zlib完成文件压缩解压(Ubuntu18.04)
  18. oracle consistent gets,consistentgets在Oracle使用特例
  19. Angular响应式开发中报错Property 'map' does not exist on type 'Observable'.引用rxjs也没用。
  20. python生成html报告

热门文章

  1. 新智元2019 AI独角兽白皮书:58%落户北京,25%创始人出身清华
  2. python flask教程百度云,Python Web框架Flask中使用百度云存储BCS实例
  3. 11.24黄金投资分析、白银实时涨跌布局、原油操作指导
  4. ICG TFP ester,ICG TFP酯,吲哚菁绿TFP酯,带负电荷聚甲基菁染料
  5. python绘制条形图 中文横坐标_[Python数据分析]二、matplotlib绘制条形图
  6. JavaScript中对光标和选区的操作
  7. 五莲樱桃亮相第十九届中国国际农产品交易会
  8. 计算机的神奇小游戏,大多数人玩过的电脑小游戏 你还记得其中的哪几个?
  9. 019 自动任务功能的设计和实现
  10. 软碟通(UItralSO)制作启动盘,硬盘驱动找不到U盘