图文并茂带你了解依存句法分析

2020 年 7 月 3 日 深度学习自然语言处理

点击上方,选择星标置顶,每天给你送干货

阅读大概需要5分钟

跟随小博主,每天进步一丢丢

作者: 龚俊民(昵称: 除夕)
学校: 新南威尔士大学
单位:Vivo AI LAB 算法实习生
方向: 自然语言处理和可解释学习
知乎: https://www.zhihu.com/people/gong-jun-min-74

前言: 上一期我们讲了成分句法分析,它相当于考虑广义上的嵌套关系的命名实体识别。这一次我们来说一说依存句法分析,它相当于文本结构化任务中,与命名实体识别经常在一起的实体关系抽取任务。

成分句法分析关心的是,某两个相邻词汇能不能接在一起构成成分(广义的mention)。而依存句法分析关系的是,两个词汇之间的关系(entity relation)。依存解析不关心两个词汇是否一定要相邻。比如 book 和 flight 没有直接相连,但是 flight 是 book 的宾语,book 是 flight 的主语。我们会用一个从 book 指向 flight 的箭头来表示这种依存关系。箭头的起始我们叫作 head。

词汇和词汇之间的关系一览。
更具体地说,依存解析做的是把一个句子,变成一个有向图。图中每一个节点是一个词汇,每一条边,是一种关系。除了根节点,每一个节点词汇都只有一个入度的边。但每个词汇都可以指向多个其它词汇。它是一个树状的结构。每一个词汇都有唯一的一条路径回溯到根节点。

我们要怎样得到这样一棵依存解析树呢?实际上丢给分类器两个词汇和其上下文,它会先通过一个二分类器,用来输出左边到右边的token之间有无依存关系,若有依存关系,则第二个分类器会输出其关系的类别。

模型的输入是ROOT 加上 N 个词汇组成的句子。然后取出 (N+1)² 的单词对,一个个丢给分类器做关系分类。

文献上的具体做法是这样的。它会先把序列丢给一个 BiLSTM,把每个 token 的嵌入抽出来,再两两丢给一个FC层做分类,判断这两个 token,要不要连在一起,如果要连在一起,它们的关系是什么?论文会把抽出token的嵌入乘上一个FC做线性映射,再把两个 token 做类似注意力的操作,会得到一个数值,这个数值表示这两个 token 有多大概率要连在一起。其关系的标签也是类似的做法。

但如果我们把判断有无关系和判断关系是什么分开来处理,会容易出现矛盾的情况。比如 w1和w2之间有w1->w2的依存关系,而w2和w3又有w3->w2的依存关系。这样就会出现一个 token 入度是2的不可能情况。

我们可以用类似最大生成树的算法来解。我们目标是从各种可能的候选树中,找出一棵路径置信度最大的树。

类似的,我们也可以用基于转移的方式来做依存解析。这部分可以参照上一期的 成分句法分析。模型要根据 Buffer 和 Stack 的内容,来决定要采取哪一个 action。

这种基于转移的方法,最早在14年的时候就有人做过。
这种基于转移的方法,最知名的是 SyntaxNet。它知名的原因在,它有一个好的动画展示转移生成的过程。16年的时候,刚刚有 Alpha Go。所有人一听到有一点和 AI 有关的论文就风吹草动,觉得它很厉害。

往后基于转移的也有Stack-Pointer Networks。首先,它的输入是字嵌入,用 CNN + pooling 处理后,与词的嵌入拼接起来喂给 BiLSTM。一开始 "$" 作为根节点,放入栈中。栈中只有一个元素,位于栈顶,模型要判断 "$" 指向句子中的哪个词,即 head。"$" 没有兄弟节点和父节点,其嵌入会用单方向的 LSTM得到隐层,再用 pointer network 计算该隐层与其余单词的得分。

视频见(需要梯子):
https://www.youtube.com/watch?v=9erBrs-VIqc&feature=youtu.be

图片来自《李宏毅人类语言处理2020课程》

Reference
• Danqi Chen, Christopher D. Manning, A Fast and Accurate Dependency Parser
using Neural Networks, EMNLP, 2014
• Chris Dyer, Miguel Ballesteros, Wang Ling, Austin Matthews, Noah A. Smith, Transition-Based Dependency Parsing with Stack Long Short-Term Memory, ACL, 2015
• Daniel Andor, Chris Alberti, David Weiss, Aliaksei Severyn, Alessandro Presta, Kuzman Ganchev, Slav Petrov and Michael Collins, Globally Normalized Transition-Based Neural Networks, ACL, 2016
• Timothy Dozat, Christopher D. Manning, Deep Biaffine Attention for Neural Dependency Parsing, ICLR, 2017
• Timothy Dozat, Christopher D. Manning, Simpler but More Accurate Semantic Dependency Parsing, ACL, 2018
• Xuezhe Ma, Zecong Hu, Jingzhou Liu, Nanyun Peng, Graham Neubig, Eduard Hovy, Stack-Pointer Networks for Dependency Parsing, ACL, 2018

添加个人微信,备注: 昵称-学校(公司)-方向 即可获得
1. 快速学习深度学习五件套资料
2. 进入高手如云DL&NLP交流群
记得备注呦


登录查看更多
2

相关内容

句法分析(Parsing)就是指对句子中的词语语法功能进行分析,比如“我来晚了”,这里“我”是主语,“来”是谓语,“晚了”是补语。 句法分析(syntactic parsing)是对输入的文本句子进行分析以得到句子的句法结构的处理过程。对句法结构进行分析,一方面是语言理解的自身需求,句法分析是语言理解的重要一环,另一方面也为其它自然语言处理任务提供支持。例如句法驱动的统计机器翻译需要对源语言或目标语言(或者同时两种语言)进行句法分析;语义分析通常以句法分析的输出结果作为输入以便获得更多的指示信息。
【干货书】用Python构建概率图模型,173页pdf
专知会员服务
111+阅读 · 2020年8月23日
【ACL2020】基于图神经网络的文本分类新方法
专知会员服务
68+阅读 · 2020年7月12日
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
注意力图神经网络的多标签文本分类
专知会员服务
111+阅读 · 2020年3月28日
【图神经网络(GNN)结构化数据分析】
专知会员服务
115+阅读 · 2020年3月22日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
224+阅读 · 2020年3月22日
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
57+阅读 · 2020年1月3日
一文读懂依存句法分析
AINLP
16+阅读 · 2019年4月28日
一文了解成分句法分析
人工智能头条
15+阅读 · 2019年4月24日
了解情感分析中的NLP技术么?
七月在线实验室
9+阅读 · 2019年4月12日
别说还不懂依存句法分析
人工智能头条
23+阅读 · 2019年4月8日
详解Transition-based Dependency parser基于转移的依存句法解析器
黑龙江大学自然语言处理实验室
9+阅读 · 2019年3月18日
基础 | 一文轻松搞懂-条件随机场CRF
黑龙江大学自然语言处理实验室
16+阅读 · 2018年3月24日
【深度】从朴素贝叶斯到维特比算法:详解隐马尔科夫模型
算法与数学之美
7+阅读 · 2017年11月25日
自然语言处理 (三) 之 word embedding
DeepLearning中文论坛
19+阅读 · 2015年8月3日
Generating Rationales in Visual Question Answering
Arxiv
5+阅读 · 2020年4月4日
Arxiv
4+阅读 · 2018年10月31日
Arxiv
5+阅读 · 2018年5月10日
VIP会员
相关VIP内容
【干货书】用Python构建概率图模型,173页pdf
专知会员服务
111+阅读 · 2020年8月23日
【ACL2020】基于图神经网络的文本分类新方法
专知会员服务
68+阅读 · 2020年7月12日
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
注意力图神经网络的多标签文本分类
专知会员服务
111+阅读 · 2020年3月28日
【图神经网络(GNN)结构化数据分析】
专知会员服务
115+阅读 · 2020年3月22日
【干货书】流畅Python,766页pdf,中英文版
专知会员服务
224+阅读 · 2020年3月22日
NLP基础任务:文本分类近年发展汇总,68页超详细解析
专知会员服务
57+阅读 · 2020年1月3日
相关资讯
一文读懂依存句法分析
AINLP
16+阅读 · 2019年4月28日
一文了解成分句法分析
人工智能头条
15+阅读 · 2019年4月24日
了解情感分析中的NLP技术么?
七月在线实验室
9+阅读 · 2019年4月12日
别说还不懂依存句法分析
人工智能头条
23+阅读 · 2019年4月8日
详解Transition-based Dependency parser基于转移的依存句法解析器
黑龙江大学自然语言处理实验室
9+阅读 · 2019年3月18日
基础 | 一文轻松搞懂-条件随机场CRF
黑龙江大学自然语言处理实验室
16+阅读 · 2018年3月24日
【深度】从朴素贝叶斯到维特比算法:详解隐马尔科夫模型
算法与数学之美
7+阅读 · 2017年11月25日
自然语言处理 (三) 之 word embedding
DeepLearning中文论坛
19+阅读 · 2015年8月3日
Top
微信扫码咨询专知VIP会员