文章地址:https://arxiv.org/pdf/1806.04330.pdf
文章标题:Neural Network Models for Paraphrase Identification, Semantic Textual Similarity, Natural Language Inference, and Question Answering(用于意译识别、语义文本相似性、自然语言推理和问题回答的神经网络模型)CLOLING2018
源码地址:https://github.com/lanwuwei/SPM_toolkit
在本文中,我们分析了几种用于句子对建模的神经网络设计(及其变体),并广泛比较了它们在八个数据集上的性能,包括释义识别、语义文本相似性、自然语言推理和问题回答任务。尽管这些模型中的大多数都声称拥有最先进的性能,但原始论文通常只对一两个选定的数据集进行了报告。我们提供一个系统的研究和证明:(i)编码上下文信息LSTM 句子内部交互至关重要。(ii) Tree-LSTM无助于此前声称一样但令人惊讶的是在Twitter上提高了性能数据集。(iii)增强的顺序推理模型(陈et al ., 2017)是最好的到目前为止对于更大的数据集,而两两字交互模型(他和林,2016)更少的数据可用时达到最佳的性能。我们将实现作为一个开源工具包发布。
句子对建模是许多NLP任务的基础技术,包括以下内容:
传统上,研究人员必须针对每个任务开发不同的方法。现在,神经网络可以通过端到端的训练,在相同的架构下完成上述所有任务。各种神经模型(He and Lin, 2016;陈等,2017;Parikh等人,2016;Wieting等人,2016;Tomar等,2017;Wang et al., 2017;沈等,2017a;Yin等人,2016)已经宣布了句子对建模任务的最新成果;然而,它们是经过精心设计的,并在选定的(通常是一两个)数据集上进行评估,这些数据集可以证明模型的优越性。研究问题如下:他们在其他任务和数据集上表现良好吗?某些系统设计选择和超参数优化带来了多少性能提升?
为了回答这些问题并更好地理解不同的网络设计,我们系统地分析和比较了不同任务和不同领域的最先进的神经模型。即我们实现5个模型及其变化在同一PyTorch平台:InferSent模型(Conneau et al ., 2017),Shortcut-stacked句子编码器模型(聂和邦萨尔,2017),两两字交互模型(他和林,2016),可分解的注意模型(帕里克说et al ., 2016)和增强的顺序推理模型(陈et al ., 2017)。他们代表两种最常见的方法:句子编码模型,学习向量表示个人的句子,然后计算句子之间的语义关系基于向量距离。句子对交互模型,使用某些词对齐机制(例如,注意力),并且inter-sentence交互。我们专注于识别重要的网络设计,并通过定量测量和深入分析提出了一系列发现,包括(1)整合句子间的相互作用至关重要;(2)Tree-Lstm的帮助并不像之前声称的那么多,但令人惊讶地提高了Twitter数据的性能;(3)增强型顺序推理模型在大数据集上的表现最为一致,两两字交互模型在小数据集上表现较好,而Shortcut-Stacked式句子编码器模型在Quora语料库上表现最好。我们将我们的实现作为工具包发布给研究团体。
各种各样的神经网络被提出用于句子对建模,它们都属于两种类型的方法。句子编码方法将每个句子编码成一个固定长度的向量,然后直接计算句子的相似度。该模型具有网络设计简单、易于推广等优点。句子对交互方法将单词对齐和句子对之间的交互考虑在内,并且通常在域内数据上训练时表现得更好。在这里,我们概述了在相同的一般框架下的两种类型的神经网络:
表1总结了近年来句子对建模的典型模型。特别地,我们深入研究了五个模型:两个代表句子编码类型的模型,三个代表交互聚合类型的模型。这些模型报告了具有不同体系结构设计(本节)和实现细节(第4.2节)的“最新技术”结果。
表一:典型的句子对建模神经模型综述。上半部分包含句子编码模型,下半部分包含句子对交互模型。
图一:句子编码模型侧重于单个句子的学习向量表示,然后基于向量距离计算句子之间的语义关系。
我们从InferSent中选择简单的Bi-LSTM最大池化网络:
在自然语言推理数据集上训练时,它显示出比其他几种句子嵌入模型更好的迁移学习能力。
Shortcut-Stacked Sentence Encoder model (Nie and Bansal, 2017)是一个基于句子的嵌入模型,它增强了具有跳跃连接的多层Bi-LSTM,以避免训练错误的积累,每一层的计算如下:
在两两词交互模型中(He and Lin, 2016),每个词向量wi通过前后LSTMs进行上下文编码。对于句子之间的每个词对(wa,wb),该模型直接使用余弦相似性、欧几里德距离和编码层输出上的点积计算词对交互:
一个“硬”的注意力被应用到交互张量来建立单词对齐:选择最相关的单词对并增加相应的权重10倍。然后使用19层深度的CNN对单词的交互特征进行汇总,最终进行分类。
可分解的注意模型(Parikh et al., 2016)是最早的模型引入基于注意力对齐句子对建模,在不依赖词序的信息的情况下,在SNLI数据集实现了先进的结果,并且比其他模型参数少一个数量级(表5中看到更多)
增强顺序推理模型(Chen et al., 2017)与DecAtt模型密切相关,但在几个方面有所不同。首先,Chen等人(2017)证明了使用Bi-LSTM对顺序上下文进行编码对于性能改进非常重要。其次,它们展示了递归架构与顺序LSTM互补的选区解析的竞争性能。将DecAtt中的前馈函数G替换为Tree-LSTM:
第三,ESIM在经过多层感知器(multi-layer perceptron, MLP)进行分类之前,采用平均池和最大连接v,而不是使用累加求和:
图二:句子对交互模型在聚合之前使用不同的词对齐机制。
我们使用相同的PyTorch框架实现所有的模型。下面,我们总结了对每个模型重现结果很关键的实现细节:
表三:报告的结果来自原始论文,其中大部分是有限的几个数据集。对于Multi-NLI数据集,Acc_m表示匹配类型的测试准确性,Acc_um表示不匹配类型的测试准确性。
表四:我们在PyTorch中的重新实现在多个任务和数据集中复制了结果。每个数据集中的最佳结果用粗体表示,次佳结果用下划线表示。
我们分析了五种不同的用于句子对建模的神经模型(及其变体),并针对不同的NLP任务,使用八个代表性数据集进行了一系列的实验。我们量化了LSTM编码器和注意对齐对句子间交互的重要性,以及基于句子编码的模型的转移学习能力。我们发现,超过550k个句子对的SNLI语料库不能满足学习曲线。我们系统地比较了不同网络设计的优缺点,为今后的工作提供了见解。