【一分钟论文】Deep Biaffine Attention for Neural Dependency Parsing
点击上方,选择星标或置顶,每天给你送干货!
阅读大概需要1分钟
跟随小博主,每天进步一丢丢
作者:刘宗林
编辑:zenRRan
刘宗林个人主页:
https://bamtercelboo.github.io
欢迎大家访问!
导读
句法分析(syntactic parsing)是NLP中的关键技术之一,通过对输入的文本句子进行分析获取其句法结构。句法分析通常包括三种:
句法结构分析(syntactic structure parsing),又称短语结构分析(phrase structure parsing)、成分句法分析(constituent syntactic parsing)。作用是识别出句子中的短语结构以及短语之间的层次句法关系。
依存关系分析,又称依存句法分析(dependency syntactic parsing),简称依存分析(denpendency parsing),作用是识别句子中词与词之间的相互依存关系。
深层文法句法分析,即利用深层文法,例如词汇化树邻接文法(Lexicalized Tree Adjoining Grammar, LTAG)、词汇功能文法(Lexical Functional Grammar,LFG)、组合范畴文法(Combinatory Categorial Grammar,CCG)等, 对句子进行深层的句法以及语义分析。
依存分析
百度百科定义:依存句法是由法国语言学家L.Tesniere最先提出。它将句子分析成一颗依存句法树,描述出各个词语之间的依存关系。
依存句法理论中依存是指词与词之间支配与被支配的关系,这种关系不是对等的,这种关系具有方向指向。确切的说,处于支配地位的成分称之为支配者(governor,regent,head),而处于被支配地位的成分称之为从属者(modifier,subordinate,dependency)。依存关系连接的两个词分别是核心词(head)和依存词(dependent)。依存关系可以细分为不同的类型,表示两个词之间的具体句法关系, 依存关系用一个有向弧表示,叫做依存弧。依存弧的方向为由从属词指向支配词。
如下图列举出一个依存句法分析的例子
Dependency Parsing 主要有两种方法:Transition-based 和 Graph-based。
Deep Biaffine Attention for Neural Dependency Parsing
基于图的依存句法分析从左向右解析句子,针对句中的每个词,找该词的head词(该词到head词之间的arc)以及从该词到head词之间的依存关系类型,即需要解决两个问题:哪两个节点连依存弧以及弧的标签是什么。目前的深度学习的方法使用分类器来解决这两个问题。该模型是针对图的依存句法分析,是对Kiperwasser & Goldberg(2016),Hashimoto et al.(2016), and Cheng et al.(2016)提出的模型加以修改。主要的修改如下:
使用双仿射注意力机制(Biaffine Attention)代替双线性(bilinear)或传统的MLP-based注意力机制, 运用了一个双线性层而不是两个线性层和一个非线性层。
使用Biaffine依存标签分类器。
在双仿射变换(Biaffine transformation)之前,将降维MLP应用于每个循环输出。
biaffine并不是双线性(bilinear)或MLP机制,它使用一个仿射变换在单个LSTM输出状态r预测所有类别上的得分。在本文提出的双仿射注意力机制(Biaffine Attention)可以看做为一个传统的仿射分类器(公式1),但是对stacked LSTM的输出RU(1)进行一个 (d×d)线性变换代替权重矩阵W,并且对Ru(2)采用一个(d×1)线性变换来替代偏置项b(公式2)。
arc得分
若句子中有N个单词,包含虚根ROOT在内一共d=N+1个词。对每个词都需要得到一个分数si。因为句子中的词的个数是不确定的,所以这是一个不定类别分类问题。而一般MLP是个固定类别的分类器(公式1),为了能够处理不定类别分类问题,本文采用两个MLP对BILSTM隐层输出向量进行重新编码(公式4、公式5)。然后套用公式(2)得到公式(6), 得到分数。这里两个MLP分别针对于dep和head。MLP得到的向量表示通常更小,好处是能够去除多余的信息。因为原始BiLSTM隐层中含有预测依存弧标签的信息。对预测head无用。
本文把上述公式称之为deep bilinear attention mechanism,因为并没有直接用RNN输出的向量表示,而是采用了对head和dep专用的两个MLP进行再次编码。这里并没有用到熟悉的attention公式,但是称之为attention的原因是,输入是所有时刻的LSTM隐层向量表示,输出是一个在各个时刻上归一化之后向量表示。和其它Graph-based模型一样,在训练时,预测的解析树是每一个单词都依存于其得分最高的head(虽然在测试时也会通过MST算法确保解析树是一个格式良好的树)。
arc标签
head与dep之间的依存关系数目是确定的,这是一个确定类别的分类问题,采用下述公式(3)计算标签分数。
这里的优势在于可以直接对单词 j 在第二项收到任何dependents的先验概率和 j 在第一项中收到特定依存项 i 的可能性之间进行建模。还双仿射分类器来预测给定的head或预测对应的依存标签。假设一共有m个标签,U(1)是m x d x d的高阶tensor,ri是第i个词在BiLSTM的输出向量表示(d x 1),yi是第i个词head,ryi对应的是其BiLSTM的向量表示(d x 1)。
整体结构图
模型的整体结构图
该模型图从下向上看,输入是词与词性向量拼接之后的向量表示,通过BiLSTM提取到特征ri,经过两个不同的MLP分别得到 h(arc−dep) 和 h(arc−head) ,d(所有词)个这样的h stack得到H(arc−dep)和H(arc−head),并且H(arc−dep)额外拼接了一个单位向量。利用中间矩阵U(arc)进行仿射变换,每个词以dep的身份与以head的身份的每个词进行点积,得到arc成立的分数矩阵S(arc)。也就是上述公式(6)得到的结果。
实验设置及实验结果
https://github.com/bamtercelboo/PyTorch_Biaffine_Dependency_Parsing
欢迎大家star和fork!
总结
本文是对Deep Biaffine Attention for Neural Dependency Parsing做的一个简单的总结,同时也是NLPCC2019 shared tasks(跨领域依存句法分析)的一个baseline方法。
References
[1] Deep Biaffine Attention for Neural Dependency Parsing
[2] https://zhuanlan.zhihu.com/p/51186364
[3] https://xiaoxiaoaurora.github.io/2019/04/11/Deep-Biaffine-Attention-for-Neural-Dependency-Parsing/
[4] http://www.hankcs.com/nlp/parsing/deep-biaffine-attention-for-neural-dependency-parsing.html
[5] http://hlt.suda.edu.cn/index.php/Nlpcc-2019-shared-task
写作不易,还望给个在看!
推荐阅读:
一大批历史精彩文章啦
【一分钟论文】 NAACL2019-使用感知句法词表示的句法增强神经机器翻译
【一分钟论文】轻松解读Semi-supervised Sequence Learning半监督序列学习
详解Transition-based Dependency parser基于转移的依存句法解析器
干货 | 找工作的经验总结(一)
经验 | 初入NLP领域的一些小建议
学术 | 如何写一篇合格的NLP论文
干货 | 那些高产的学者都是怎样工作的?
是时候研读一波导师的论文--一个简单有效的联合模型
近年来NLP在法律领域的相关研究工作
【一分钟论文】Deep Biaffine Attention for Neural Dependency Parsing相关推荐
- 信息抽取(四)【NLP论文复现】Multi-head Selection和Deep Biaffine Attention在关系抽取中的实现和效果
Multi-head Selection和Deep Biaffine Attention在关系抽取中的应用 前言 Multi-head Selection 一.Joint entity recogni ...
- Deep Biaffine Attention for Dependency Parsing
Abstract 本文在一个简单的基于图的依赖解析器中使用神经注意,并使用biaffine分类器来预测弧和标签.将传统的基于MLP注意力机制和仿射标签分类器替换为biaffine注意力 Model b ...
- 论文阅读【A multi-task attention tree neural net for stance classification and rumor veracity detection】
论文题目:<A multi-task attention tree neural net for stance classification and rumor veracity detecti ...
- 【论文阅读】AU检测|《Deep Adaptive Attention for Joint Facial Action Unit Detection and Face Alignment》
<Deep Adaptive Attention for Joint Facial Action Unit Detection and Face Alignment>(ECCV 2018) ...
- 交通事故风险预测——《TA-STAN: A Deep Spatial-Temporal Attention Learning Framework...》
一.文章信息 <TA-STAN: A Deep Spatial-Temporal Attention Learning Framework for Regional Traffic Accide ...
- 【论文阅读】Attention Based Spatial-Temporal GCN...Traffic Flow Forecasting[基于注意力的时空图卷积网络交通流预测](1)
[论文阅读]Attention Based Spatial-Temporal Graph Convolutional Networks for Traffic Flow Forecasting[基于注 ...
- 论文---overcoming catastrophic forgetting in neural networks
不定期更新--论文 overcoming catastrophic forgetting in neural networks 出处:2017 Jan 25 PNAS(proceedings of t ...
- 【推荐系统论文精读系列】(五)--Neural Collaborative Filtering
文章目录 一.摘要 二.介绍 三.准备知识 3.1 从隐式数据中进行学习 3.2 矩阵分解 四.神经协同过滤 4.1 总体框架 4.1.1 学习NCF 4.2 广义矩阵分解(GMF) 4.3 多层感知 ...
- 论文阅读:Multi-view Convolutional Neural Networks for 3D Shape Recognition
Preface 今天阅读一篇ICCV2015的论文:<Multi-view Convolutional Neural Networks for 3D Shape Recognition>, ...
- 神经网络注意力机制--Attention in Neural Networks
Attention in Neural Networks and How to Use It http://akosiorek.github.io/ml/2017/10/14/visual-atten ...
最新文章
- OpenCV下设置灰度直方图的阈值来对图像进行查找(查表)变换的源码
- linux序列比对程序,序列比对软件简单使用教程
- 使用PHP生成分享图片
- 支付系统整体设计:整体架构设计以及注意要点(一)
- 测试集没标签,可以拿来测模型吗?
- notepad++格式化插件安装
- [iOS] ios的runtime
- NYOJ96 - n-1位数
- python sdklive2d_纯干货!live2d动画制作简述以及踩坑
- 比特率和波特率的区别
- 互联网日报 | 58同城签署私有化协议;支付宝将发放百亿全国通用消费券;碧桂园开天猫店上线特价商品房...
- 曝光!中国知名互联网公司背后的风投
- 计算机辅助工程试卷,《计算机辅助工程软件(UG)》试卷10–2答.doc
- android 禁用触摸屏,如何在Android手机中禁用触摸屏?
- [4G5G专题-91]:流程 - 4G LTE 终端移动性管理总体概述
- DB2性能调整优化问题
- SQL数据库msdb置疑(急)
- day 63 Django基础九之中间件
- Matlab演奏天空之城
- 学徒浅析Android——Android原生下载机制针对0K大小文件下载异常的分析