多标签分类:Transition-Based Dependency Parsing with Stack Long Short-Term Memory

文章地址:https://arxiv.org/pdf/1505.08075.pdf

文章标题:Transition-Based Dependency Parsing with Stack Long Short-Term Memory(使用堆栈LSTM来进行基于转换的依赖项解析)ACL2015

写在前面:本篇文章不是多标签分类,但是其提出一种全新的Stack LSTM(堆栈LSTM),对于模型中使用LSTM处理序列问题,提供一种新的思路,针对实际情况,根据需要可否将LSTM替换为 Stack LSTM,值得进一步讨论。

Abstract

我们提出了一种在基于转换的依赖项解析器中学习解析器状态表示的技术。我们的主要创新是一个新的控制结构的序列到序列神经网络——堆栈LSTM。与基于转换的解析中使用的传统堆栈数据结构一样,可以在固定的时间内将元素从堆栈顶部推入或弹出,但是,LSTM保持了堆栈内容的连续空间嵌入。这让我们制定一个有效的解析模型,捕捉到了三个方面解析器的状态:(i)无界前向到传入词的缓冲区中,(ii)解析器执行操作的完整历史记录,和(3)完整的堆栈的内容部分树片段构建的,包括它们的内部结构。使用标准的反向传播技术进行训练并获得最新的解析性能。

一、Introduction

基于转换的依赖项解析将解析问题形式化为一系列决策,这些决策按顺序从缓冲区中读取单词,并将它们增量组合到句法结构中。这种形式化很有吸引力,因为构建任何投影解析树所需的操作数量在句子的长度中是线性的,因此,相对于基于图形和语法的正形主义,基于过渡的解析计算效率很高。基于转换的解析面临的挑战是建模哪些操作应该在遇到的许多无界状态中执行 ,随着解析器的进行。

这个挑战已经通过开发替代转换集来解决了,这些转换集通过制定更好的附件决策来简化建模问题。

我们通过学习对解析器状态的完整内容进行扩展这最后一行工作:即完整的输入缓冲区、解析器操作的完整历史记录和堆栈的完整内容。部分构造的句法结构。这种对状态的"全局"敏感度与以前基于过渡的依赖项分析工作形成对比,在构造表示时仅使用解析状态的窄视图(例如,仅使用接下来的几个传入单词、堆栈中最前面几个位置的头单词等)。尽管我们的解析器集成了大量的信息,但用于预测在每个时间步骤上的表示形式都是增量构造的,因此解析和训练在输入句的长度中保持线性。让我们做到这一点的技术创新是一种带有长短时记忆单元(LSTMs)的递归神经网络的变体,我们称之为堆栈LSTMs,它支持读取(推送)和“遗忘”(弹出)输入

我们的解析模型使用三种堆栈LSTM:一种表示输入,一种表示部分语法树的堆栈,另一种表示对解析器状态进行编码的解析操作的历史。由于部分句法树的堆栈可能同时包含单个标记和部分句法结构,因此使用递归神经网络对单个树片段的表示进行组合计算。这些参数是通过反向传播来学习的,我们得到了中英文依赖解析任务的最新结果。

二、Stack LSTMs

在本节中,我们将简要回顾LSTMs (2.1节),然后定义堆栈LSTMs (2.2节)。

2.1 Long Short-Term Memories

LSTMs是递归神经网络(RNNs)的一种变体,用于处理RNNs固有的消失梯度问题。RNNs读一个向量xt在每个时间步,计算一个新的(隐藏)状态ht通过应用的线性映射到连接前一个时间步的状态ht-1和输入,通过逻辑sigmoid非线性和传递。虽然RNNs原则上可以建立长期依赖关系的模型,但在实践中很难训练它们,因为在每一步重复应用压碎非线性会导致误差信号随时间呈指数衰减。LSTMs使用一个额外的内存“单元”(ct)来解决这个问题,它是由前一个状态和输入信号的线性组合构成的。

为了提高LSTMs(以及一般的RNNs)的表示能力,可以将LSTMs堆叠成“层”(Pascanu et al., 2014)。在这些体系结构中,t时刻高层的输入LSTM是低层计算得到的ht值(而xt是最底层的输入)。

2.2 Stack Long Short-Term Memories

传统的LSTMs模型序列是从左到右的顺序。我们的创新之处在于用一个“栈指针”来扩充LSTM。“就像一个传统LSTM,添加新输入总是在最右边的位置,但在堆栈LSTMs,当前堆栈指针的位置决定了当计算新的存储单元内容的时候,哪些LSTM中的cell提供ct-1和ht-1

除了向序列末尾添加元素外,堆栈LSTM还提供一个pop操作,该操作将堆栈指针移动到前面的元素(即,前一个被扩展的元素,不一定是最右边的元素)。因此,可以将LSTM理解为一个实现的堆栈,这样就不会覆盖内容,也就是说,push总是在列表的末尾添加一个新条目,该条目包含指向前一个顶部的反向指针,而pop只更新堆栈指针。这个控制结构如图1所示。
在这里插入图片描述
图一:堆栈LSTM扩展了传统的从左到右的LSTM,增加了一个堆栈指针(如图所示)。该图显示了三种配置:带有单个元素的堆栈(左侧)、此元素的pop操作结果(中部),以及应用push操作的结果(右侧)。最低的盒子行代表堆栈的内容,这是输入LSTM,上层的输出行LSTM(在本文中,只有TOP指向的输出被访问),和中间行记忆细胞(ct和ht)和门控。箭头表示函数应用(通常是仿射转换后的非线性)。

通过查询堆栈指针指向的输出向量(hTOP)。提供当前堆栈配置内容的连续空间“摘要”。我们将这个值称为“堆栈摘要”。

What does the stack summary look like? 直观地说,堆栈顶部附近的元素将影响堆栈的表示。然而,LSTM具有学习从堆栈中的任意点提取信息的灵活性(Hochreiter和Schmidhuber, 1997)。

尽管这种结构是我们所知的最好的新结构,但它让人想起Das等人(1992)的递归神经网络下推自动机(NNPDA),它将外部堆栈内存添加到RNN中。然而,我们的体系结构提供了堆栈的完整内容的嵌入,而他们的体系结构只让RNN看到堆栈的顶部。

三、Dependency Parser(依赖项解析器)

略(与模型无关)

四、Training Procedure(训练过程)

维数:我们的解析模型的完整版本设置维数如下。LSTM隐藏状态的大小为100,每个堆栈使用两层LSTM。复合函数中使用的解析器动作的嵌入有16个维度,输出嵌入大小为20个维度。习得词嵌入有100个维度(英语)和80个维度(汉语),习得词嵌入有32个维度。部分语音嵌入有12维。

五、Experiments

六、Related Work

我们的方法将以前的几部分工作联系在一起。首先,提出了几种用于增强神经结构的堆栈存储器。Das等人(1992)提出了一种基于递归神经网络的具有外部堆栈存储器的神经网络。与我们的模型不同,在我们的模型中,堆栈的所有内容都总结为一个单独的值,而在他们的模型中,网络只能看到堆栈顶部的内容。Mikkulainen(1996)提出了一种栈具有汇总特性的体系结构,尽管栈控制是作为潜在变量学习的。

许多作者使用神经网络来预测移位-减少分析器中的分析器动作。我们所知道的最早的尝试来自Mayberry和Miikkulainen(1999)。对神经网络的兴趣的复苏导致了基于依赖解析器转换的几个应用(Weiss et al., 2015;陈和曼宁,2014;Stenetorp, 2013)。在这些作品中,当我们对全局状态对象进行条件设置时,条件设置结构是手工构建的,并且只对状态的某些属性敏感。和我们一样,Stenetorp(2013)使用递归组合的树片段表示(一个头部及其相关部分)。神经网络也被用来学习图表解析中使用的表示法(Henderson, 2004;Titov和Henderson, 2007;Socher等,2013a;Le and Zuidema, 2014)。

LSTMs最近也被证明是一种学习表示解析结构的机制。Vinyals等人(2015)提出了一种基于LSTMs的短语结构解析器,该解析器的操作方式是先将整个输入语句读入,获得其向量表示,然后根据该表示顺序生成括号结构。虽然表面上与我们的模型相似,但他们的方法有许多缺点。首先,他们依赖于大量的半监督训练数据,这些数据是通过使用现成的解析器解析大型未加注释的语料库生成的。其次,虽然他们认识到类似于堆栈的shiftreduce解析器控件提供了有用的信息,但他们只在训练和解码期间使堆栈的顶部单词可见。第三,尽管学习整个解析树由一个向量表示是令人印象深刻的壮举,但是这个公式似乎使问题变得不必要的困难。

最后,我们的工作可以理解为在解析中使用更大上下文的一个进展。一个详尽的总结是超出了本文的范围,但是这一传统中的一些重要的里程碑是多维数据集的使用有效地修剪包括外地特征区别的图表reranking(Huang and Chiang, 2008),基于LP风头的近似解码技术在基于解析包括higherorder特性(马丁斯et al ., 2010),以及在全局判别分析模型中支持任意非局部特征的随机爬山方法(Zhang et al., 2014)。由于我们的解析器对输入的任何部分、它的历史或堆栈内容都很敏感,所以它在本质上类似于上一种方法,它允许真正的任意特性。

七、Conclusion

我们提出了堆栈LSTMs,序列递归神经网络,与推和pop操作,并使用它们来实现一个最先进的基于转换的依赖解析器。我们的结论是,堆栈内存为学习解决一般信息处理问题提供了有趣的可能性(Mikkulainen, 1996)。在这里,我们从可观察到的堆栈操作操作(即。最终解析器状态的计算嵌入没有用于任何进一步的预测。然而,这可以反过来,给一个设备,让它学会构建上下文无关的程序(例如,表达式树),只给出观察到的输出;一个应用程序是无监督解析。这种工作的扩展将使其成为具有外显记忆结构的替代方案,如神经图灵机(Graves等,2014)和记忆网络(Weston等,2015)。然而,与那些模型一样,如果没有对堆栈操作的监督,就必须解决令人生畏的计算挑战(例如,在所有潜在的堆栈操作上边缘化),但是抽样技术和来自强化学习的技术在这里有希望(Zaremba和Sutskever, 2015),使这成为未来工作的有趣途径。

发布了199 篇原创文章 · 获赞 268 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/MaybeForever/article/details/103064100