论文赏析[NAACL19]基于DIORA的无监督隐式句法树归纳(一)

简介: 今天要分享的这篇论文来自NAACL2019,主要利用inside-outside算法推理出给定句子的句法树,不需要任何的监督,也不需要下游任务作为目标函数,只需要masked语言模型就行了。

介绍


无监督句法分析是现在比较热门,也有很多东西可做的方向。有监督的已经做得非常好了,感觉做不下去了,所以做一做无监督的试试。

这篇论文主要用inside-outside算法算出每个span的表示和分数,然后最大化每个叶子结点的分数,类似于bert的masked语言模型。不用像之前的工作那样,需要最后得到句子和短语的表示,然后用来做下游任务。

本文模型简称叫DIORA,也就是Deep Inside-Outside Recursive Autoencoders。inside步骤其实类似chart parser的前向过程,outside步骤用来重构每个单词。

DIORA在好几个数据集上都取得了非常大的提升。

为了理解这篇论文,推荐先去看一下inside-outside算法:

Inside-outside Algorithm in PCFGgodweiyang.com

DIORA


这篇论文的符号定义有点奇怪,以往都是用span的左右边界 image.png 来表示的,但是这篇论文只用几个数字 i 来表示,顺序是按照chart表自底向上,从左向右。也就是按照span长度从小到大排序,相同长度的按照左边界从小到大排序,然后依次给上标号。

首先给定长度为 T 的句子 image.png ,每个单词 image.png 都有一个预训练的词向量 image.png 。本文中只讨论二叉树,所以预先将句法树进行了二叉化。

对于短语 K ,定义它的inside向量为 image.png ,outside向量为 image.png ,inside分数为 image.png ,outside分数为 image.png 。定义它的儿子结点对的短语集合为 image.png ,例如 image.png 两个短语可以结合成短语 K ,那么 image.png

Inside过程


首先对于叶子结点,用一个线性变换算出它的向量表示和得分:

image.png

其实这就类似于Tree-LSTM的结点函数,因为叶子结点肯定存在的,所以所有叶子结点得分都初始化为0。

然后对于任意一个高层的结点 k ,它的儿子结点对的集合为 image.png 。对于其中的任意一对结点 image.png ,定义它俩组合的分数为:

image.png

其中 image.png 函数是一个双线性函数:

image.png

然后用softmax函数算出每一对 image.png 的权重:

image.png

最后加权求和求出短语 k 的inside得分:

image.png

下面就是计算短语 k 的inside向量了,首先用TreeLSTM或者两层MLP算出结点对 k 的向量表示:

image.png

然后根据刚刚算出的权重进行加权求和得到inside向量表示:

image.png

Outside过程


outside其实计算方法和inside很类似,只是不是通过短语 k 的两个儿子来计算了,而是通过它的父亲结点和兄弟结点计算。

首先看一下下面这张模型图:

image.png左边是inside过程,右边是outside过程

左半部分inside过程很好理解,右半部分注意的是 k 表示的是当前要求的结点, j 表示的是它的父结点, i 表示的是它的兄弟结点。

类比inside过程,首先初始化根结点,注意本文中根节点并没有用inside得到的根结点表示,而是随机初始化的。然后对于下层的结点 k ,计算它的某个父结点 j 和兄弟结点 i 的配对得分:

image.png

然后还是用softmax函数算出每一对 image.png 的权重:

image.png

注意这里的 image.png 其实表示的是短语 k 的父结点和兄弟结点配对的集合了,和inside过程不一样,但是论文里并没有说。

然后加权求和求出短语 k 的outside得分:

image.png

在本文中这个 image.png 函数和inside过程中的是用的同一套参数。

目标函数


因为是无监督语料,所以最后的监督只能回到每个单词上面来,用语言模型来训练。对于单词 image.png ,用 image.png 来表示包含这个单词的所有可能的句法树的得分总和。这里采用margin-loss来作为损失函数:

image.png

其中 N 是采样的负样本数量,当然这里符号写的感觉也有一点小问题,首先没有写出 image.png ,其次 image.png 是随机采样的,并不是从0到 image.png ,范围其实也在0到 image.png 。不过意思懂了就行,采样是根据词频。

解码过程


预测阶段要解码出句法树,这就很简单了,用的是传统的CKY算法,只需要使用到inside得分 image.png 就行了,下面是伪代码:

image.pngCKY解码算法

相关文章
|
机器学习/深度学习 人工智能 算法
自监督为何有效?243页普林斯顿博士论文「理解自监督表征学习」,全面阐述对比学习、语言模型和自我预测三类方法
自监督为何有效?243页普林斯顿博士论文「理解自监督表征学习」,全面阐述对比学习、语言模型和自我预测三类方法
108 0
自监督为何有效?243页普林斯顿博士论文「理解自监督表征学习」,全面阐述对比学习、语言模型和自我预测三类方法
【论文写作分析】之四《基于ALBERT-TextCNN模型的多标签医疗文本分类方法》
【论文写作分析】之四《基于ALBERT-TextCNN模型的多标签医疗文本分类方法》
178 0
【论文写作分析】之四《基于ALBERT-TextCNN模型的多标签医疗文本分类方法》
|
机器学习/深度学习 计算机视觉
CycleGAN 论文泛读
CycleGAN 论文泛读
91 0
CycleGAN 论文泛读
|
机器学习/深度学习 Go 计算机视觉
【论文泛读】 GooLeNet:更深的卷积网络
【论文泛读】 GooLeNet:更深的卷积网络
【论文泛读】 GooLeNet:更深的卷积网络
|
机器学习/深度学习 自然语言处理 算法
论文赏析[NAACL19]基于DIORA的无监督隐式句法树归纳(二)
今天要分享的这篇论文来自NAACL2019,主要利用inside-outside算法推理出给定句子的句法树,不需要任何的监督,也不需要下游任务作为目标函数,只需要masked语言模型就行了。
441 0
论文赏析[NAACL19]基于DIORA的无监督隐式句法树归纳(二)
|
机器学习/深度学习 算法 大数据
论文赏析[NAACL19]无监督循环神经网络文法 (URNNG)(二)
这篇是新鲜出炉的NAACL19的关于无监督循环神经网络文法(URNNG)的论文,在语言模型和无监督成分句法分析上都取得了非常不错的结果,主要采用了变分推理和RNNG。
452 0
论文赏析[NAACL19]无监督循环神经网络文法 (URNNG)(二)
|
机器学习/深度学习 算法
论文赏析[NAACL19]无监督循环神经网络文法 (URNNG)(一)
这篇是新鲜出炉的NAACL19的关于无监督循环神经网络文法(URNNG)的论文,在语言模型和无监督成分句法分析上都取得了非常不错的结果,主要采用了变分推理和RNNG。
213 0
论文赏析[NAACL19]无监督循环神经网络文法 (URNNG)(一)
|
机器学习/深度学习 自然语言处理 数据挖掘
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(二)
一般来说,自然语言是由词汇和句法组成的,但是标准的语言模型一般都只用RNN对词汇进行建模,句法信息都是隐式的学习到的,没有办法显式地拿出来使用。所以本文提出的语言模型的变体可以结合结构上的attention,在中间过程中学习到结构信息,然后这层结构信息可以拿来生成句法树,用来做无监督的句法分析。
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(二)
|
机器学习/深度学习 自然语言处理
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(一)
一般来说,自然语言是由词汇和句法组成的,但是标准的语言模型一般都只用RNN对词汇进行建模,句法信息都是隐式的学习到的,没有办法显式地拿出来使用。所以本文提出的语言模型的变体可以结合结构上的attention,在中间过程中学习到结构信息,然后这层结构信息可以拿来生成句法树,用来做无监督的句法分析。
168 0
论文赏析[ICLR18]联合句法和词汇学习的神经语言模型(一)
|
机器学习/深度学习 自然语言处理
论文赏析[TACL18]隐式句法树模型真的能学到句子中有意义的结构吗?(二)
本文是一篇分析类论文,主要对近年来几种无监督句法分析模型(RL-SPINN和ST-Gumbel)进行了分析,得出了如下三个结论: 在句子分类任务上,只有一种模型效果好于传统的树结构模型。 这些模型随机性很大,初始化不同,结果也都差距很大。 这些模型产生的句法树的平均深度比PTB数据集的平均深度浅。
503 0
论文赏析[TACL18]隐式句法树模型真的能学到句子中有意义的结构吗?(二)