持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情
前言
本文为我之前在CSDN平台上的一篇博客记录。原链接为:blog.csdn.net/u011426236/…
导语
- 论文地址:aclanthology.org/2021.acl-lo…
- 会议:ACL 2021
摘要
自然语言语法主要有两类:一类是对单词之间一对一对应进行建模的依存句法分析,另一类是对一个或几个对应单词的组合进行建模的成分句法分析。以往的无监督语法分析方法大多只关注于归纳一类语法,而我们引入了一种新的模型StructFormer,它可以同时归纳依存句法结构和成分句法结构。为了实现这一目标,我们提出了一个新的解析框架,该框架可以共同生成成分句法树和依存关系图。然后,我们通过一种新的dependency-constrained self-attention机制,以可微的方式将归纳依存句法关系集成到Transformer中。实验结果表明,该模型在无监督的成分句法分析、无监督的依存句法分析和遮罩语言建模方面都取得了较好的效果。
1 简介
人类语言具有丰富的潜在结构。这种结构是多方面的,语法的两大类是依存结构和成分结构。最近有一项令人兴奋的工作,旨在以数据驱动的无监督方式学习这种结构。从数据中归纳出结构的方法背后的核心原则很简单——提供一种能将结构信息作为一些自监督训练模型的副产品出现的归纳偏差,例如,语言建模。为此,人们提出了一系列能够成功学习语法结构的模型。然而,这些工作大多只专注于成分句法结构或依存句法结构。
在本文中,我们做出了两个重要的技术贡献。首先,我们引入了一种新的神经模型StructFormer,该模型能够同时归纳依存句法结构和成分句法结构。具体来说,我们的方法旨在统一同一框架内不同类型语法的潜在结构归纳。其次,StructFormer能够以端到端无监督的方式从原始数据中归纳出依存结构。大多数现有的方法从其他语法信息(如词性标签)中归纳出依赖结构。以往的工作只从单词进行训练,往往需要额外的信息,如预训练的单词聚类、预训练的单词嵌入、声学线索或来自相关语言的注释数据。
本文引入了一个新的归纳偏差,它使Transformer模型能够以完全无监督的方式归纳一个有向依存关系图。为了避免在训练过程中使用语法标签,文章使用了基于距离的解析机制。这种解析机制可以预测一个序列的句法距离和一个序列的句法高度来同时表示依存关系图和成分句法树。图1a为句法距离和句法高度的示意图。基于句法距离和句法高度,我们提出了一种新的dependency-constrained self-attention层来替换掉标准transformer模型中的multi-head self-attention层。更具体地说,新的注意头在预测的依存关系结构中只能关注它的中心词或依赖词,这是通过图1b所展示的所有关系的加权求和来实现的。通过这种方法,我们将标准Transformer模型中的完整图(这里是说Transformer的self-attention中,每个单词会与所有单词都attention,所以它们的关系图是一个完全图)替换为可微分的有向依赖图。在对下游任务(如遮罩语言模型)进行训练的过程中,模型会通过梯度下降逐渐收敛到一个合理的依赖图。
结合新的解析机制、dependency-constrained self-attention层和Transformer体系结构,本文引入了一个名为StructFormer的新模型。该模型可以同时执行无监督的依存句法分析和成分句法分析,并利用解析结果在遮罩语言模型任务上获得较好的性能。
2 相关工作
以往对无监督依赖句法分析的研究主要基于DMV模型及其扩展。为了有效地学习DMV模型以提高解析精度,人们提出了各种归纳偏差和手工特征,如涉及不同词性标签的语法规则参数之间的相关性,将先验信息纳入学习。最近的进展是神经网络DMV模型,该模型利用神经网络模型来预测基于POS(Part Of Speech即词性)标签分布表示的语法规则概率。然而,大多数现有的无监督依存句法分析算法都要求提供词性标记作为输入。这些POS标签是由人工标记的,对于大型语料库来说,获取这些标签可能非常困难(或者非常昂贵)。Spitkovsky et al.(2011)提出了一种解决这个问题的无监督词聚类方法,该方法可以根据上下文动态地为每个词分配标签。He et al.(2018)通过将DMV模型与可逆神经网络相结合,共同建模离散的句法结构和连续的词表示,克服了这个问题。
无监督的成分句法分析最近受到了更多的关注。PRPN(参考论文笔记:Ordered Neurons: Integrating Tree Structures into Recurrent Neural Networks)和ON-LSTM (论文笔记:Neural Language Modeling by Jointly Learning Syntax and Lexicon)通过在递归神经网络中引入归纳偏差来归纳树形结构。PRPN提出了一个解析网络来计算所有词对的句法距离,而阅读网络则利用句法结构来关注相关记忆。ON-LSTM通过一种新颖的门控机制和激活功能使隐藏的神经元学习长期或短期信息。(后面提到的模型不了解,略)
尽管大规模预训练模型在大多数自然语言处理任务中占主导地位,但最近的一些工作表明,神经网络模型可以通过利用句法信息而不是忽略它来获得准确性的提高。Strubell等人(2018)引入了基于语法的自我注意,它迫使一个注意力头关注输入token的语法调控器。Omote et al.(2019)和Deguchi et al.(2019)认为,dependency-informed selfattention可以提高Transformer在机器翻译上的性能。Kuncoro等人(2020)表明,句法偏差有助于大规模的预训练模型(如BERT)实现更好的语言理解。
3 句法距离和句法高度
3.1 句法距离
Shen等人(2018b)提出了句法距离来量化将句子分割成更小成分的过程。 定义3.1 设是句子的成分句法树。设向量的两个单词和在成分句法树中的最小公共祖先的高度为。句法距离(注意,这里的T是句法距离,不是句法树,作者原论文里第一个T是加粗的。)是一个n-1长的标量序列,同时它拥有与相同的大小顺序关系。
换句话说,每一个句法距离都与句子序列中的一个分割点相关联并指定句子将被分割成更小的部分的相对顺序。因此,任何包含n-1个实值的序列都可以通过算法1明确地映射到具有n个叶子的未标记的二叉成分句法树(Shen et al., 2018b)。句法距离反映了成分之间的信息交流。更准确的来说,一个大的句法距离表示短期或者局部的信息不应该在和之间交流(意思就说说它们之间更可能是通过更大的句法成分在更长期的结构上有所关系)。在结合适当的神经网络架构的同时,可以利用这个特性来构建无监督的依存句法解析模型。
3.2 句法高度
句法高度是Luo等人(2019)提出的,用来捕获依赖图中到根节点的距离。一个高句法高度的单词意味着它离根节点很近。为了匹配句法距离的定义,本文将句法高度重新定义为:
定义3.2 设是句子的依存关系图。中一个token 的高度是。同样,的句法高度可以是任意的n个实值序列,但要与保持同样的大小关系顺序。
虽然语法高度是基于依存关系结构定义的,但我们不能仅通过语法高度来重建原始的依存关系结构,因为没有关于token应该附加到左边还是右边的信息。然而,给定一个未标记的成分句法树,我们可以借助句法距离将其转换为依存关系图。转换过程类似于将成分句法树库转换为依存句法树库的标准过程(Gelbukh et al., 2005)。本文不使用成分标签和词性标注来判别每个成分的父元素,而是简单地将最大语法高度的token分配为每个成分的父元素。转换算法在算法2中描述。在附录a .1中,我们还提出了一个联合算法,以和为输入,联合输出一个成分句法树和依存关系图。
3.3 句法距离与句法高度的关系
如前所述,句法距离控制着分割点两边的信息通信。语法高度量化了依存关系图中每个token的中心性。句法高度大的token往往具有更长的依赖关系,将句子的不同部分连接在一起。在StructFormer中,我们在相同的尺度上量化了句法距离和句法高度。对于一个给定的分割点和对应于它的句法距离,只有那些满足句法高度的token可以“跨越”这个分割点去注意到另外的token。因此,语法高度小的token被限制用于处理附近的token。图2形象的展示了这一点。比如可以跨越分割点(即和之间的分割点)注意到后面的内容,但却无法跨越分割点注意到前面的内容(因为3.5<4)。
但是如果对于一个成分的两边边界的句法距离都太大的话,那所有的之内的单词就都只能注意到内部的其他单词了。它们的上下文嵌入将无法编码整个上下文。为了解决这种情况,文章提出了一种校正的方法,见附录A.2。
4 StructFormer
图3a显示了StructFormer的体系结构,它包括一个parse network和一个Transformer模块。Parse network预测和,然后将它们传递给一组可微函数以生成依赖分布。Transformer模块将这些分布和句子作为输入,计算每个位置的上下文嵌入。可以在遮罩语言模型任务上以端到端方式训练StructFormer。在这种设置中,梯度通过关系分布反向传播到解析器中。
4.1 Parsing network
如图3b所示,parsing network的输入是句子中各个单词的embedding,然后将他们送入几个卷积层:
代表第l层的第i个位置输出。即输入token 的embedding,卷积窗口大小为。然后用网络预测句法距离为:
句法高度的预测也类似:
4.2 预测依存关系分布
给出预测好的句法距离和句法高度,我们来预测依存关系的分布。所谓依存关系分布,其实就是第j个token是第i个token的概率。
首先,要找出最小的合法的句法成分。包含,但同时不是的中心词。这里举个例子,如图2所示,就是,且的中心词是。
注意:论文中为了避免与Transformer中的多头机制里的head混淆,所以依存关系中的head为parent,本博客中还是称为中心词
第二步就是判别这个句法成分的中心词,假设(这里的Pr不是概率的意思,而是Parent,也就是上面解释过的中心词的意思)。在3.2中我们讨论过,一个成分的中心词一定是的中心词。因此,判别的中心词的两个阶段过程可以概括如下:
在StructFormer中,被表示为一个成分,其中是成分的开始位置下标,是成分的结束位置下标。
在依存关系图中,仅仅与中心词和依赖词相连接。这意味不会和之外的单词有连接。(这里解释一下,这是因为就是包含的最小句法成分,且前面说了不是的中心词)。换句话说,就是满足以下关系的最小句法成分:
其中是中向后看时第一个比大的,则是中向前看时第一个比大的。
举个例子,如图2所示,,所以。为了让以上过程变得可微分(即可以求梯度),定义是一个实数,是一个概率分布。为了提高计算效率和简化流程,本文直接将累计概率分布函数(包含sigmoid函数)参数化:
其中,是分布的均值,是一个学习的参数。那么预测在成分中的概率就等于比和之间所有的句法距离都要大的概率:
然后,我们就可以计算出左边界为的概率(这里思想其实很简单,在左边界的概率等于在成分中减去在中的概率):
同理,也可以求出有边界为r的概率:
然后,句法成分的概率即:
接着,要判别的中心词,这里直接选择作为中心词。例如之前例子中,最大,则选作为中心词。同时用Softmax计算节点是成分中心词的概率(我猜这里的就是句法高度):
最后,我们就可以得到是的中心词的概率为:
4.3 Dependency-Constrained Multi-head Self-Attention
标准Transformer中的多头自我注意力机制可以被认为是一种在完全图中的信息传播机制,其中节点集就是句子中的n个token,而边集合则是这些节点之间的所有可能的连边。StructFormer用一个软化的依赖图代替了,其中是第j个token依赖第i个token的概率。信息在每个StructFormer的每个head中传播是有方向的,仅允许从或者,其传播概率为:
所以就可以得到信息从节点j传递到节点i的概率为:
不同的attention head往往与不同类型的依赖关系(包括nsubj, obj, advmod等)相关联,但没有通用的attention head可以与所有不同的关系相关联。为了适应这一点,我们为每个attention head和一对token 计算:
这里将原来的softmax函数替换为一个sigmoid函数。最后可以将dependency-constrained self-attention计算过程总结为:
其中是信息从j传递到i的概率,则是要传递的信息。
5 实验
5.1 Masked Language Model
实验结果如下:
5.2 无监督成分句法分析
使用StructFormer模型预测出的句法距离来预测成分句法树,结果如下:
5.3 无监督依存句法分析
6 总结
本文介绍了一种新颖的将成分句法和依存句法联合解析的框架。基于该框架,我们提出了StructFormer——一种新的无监督句法解析算法,它同时进行无监督依存句法和成分句法解析。我们也介绍了一种受约束的依存自注意力机制允许每个attention head都集中在依赖关系的特定混合上。这使transformer更接近于对有向依赖图建模。实验结果表明,StructFormer可以归纳出有意义的依存结构和成分结构,并在遮罩语言模型任务中获得更好的性能。本研究为在预训练语言模型中构建更多的语言偏差提供了一种新的方法。
A 附录
A.1 Joint Dependency and Constituency Parsing
A.2 Calibrating the Syntactic Distance and Height
为了避免3.3中所提到的问题,我们首先计算每个成分中最大的句法高度。
然后,我们计算\delta_{[l,r]]和的左右边界中的最小差距。因为我们只关心边界距离大于其最大高度的成分,所以我们使用ReLU激活函数只保留正的值:
为了确保所有的成分不是孤立的并且保持的排序,我们用的最大值减去所有的: