首尔国立大学:问答问题中基于大规模细粒度监督数据的迁移学习研究

你和“懂AI”之间,只差了一篇论文

很多读者给芯君后台留言,说看多了相对简单的AI科普和AI方法论,想看点有深度、有厚度、有眼界……以及重口味的专业论文。

为此,在多位AI领域的专家学者的帮助下,我们解读翻译了一组顶会论文。每一篇论文翻译校对完成,芯君和编辑部的老师们都会一起笑到崩溃,当然有的论文我们看得抱头痛哭。

同学们现在看不看得懂没关系,但芯君敢保证,你终有一天会因此爱上一个AI的新世界。

这是读芯术解读的第17篇论文

ACL 2017 Short Papers

问答问题中基于大规模细粒度监督数据的迁移学习研究

Question Answering through Transfer Learning from Large Fine-grained Supervision Data

首尔国立大学

Seoul National University

【摘要】通过在不同大型、细粒度的QA数据集上训练迁移学习模型,可以显著提升问答(QA)任务效果。本文使用SQuAD的基本迁移学习技术,在两个经过深入研究的QA数据集WikiQA和SemEval-2016(任务3A)中实现了当前最优结果。对于WikiQA,我们的模型比以前最佳模型的效果提升了8%。我们同时发现,通过定量结果和可视化分析,更精细的监督方式比粗粒度的监督方式能更好地指导词汇和句法信息学习。本文还展示了一个类似的迁移学习程序在文本蕴含任务上的最新成果。

1 引言

问答(QA)问题是自然语言处理(NLP)领域中的一个长期挑战,研究人员在过去几年中为此项任务引入了几个范例和数据集。这些范例在问题、答案的类型以及训练数据的大小上各有不同,如从几百到几百万。

上下文感知QA范式可以通过参考其附带的上下文(段落或句子列表)获得每个问题的答案。在这种情况下,两种最显著的监督类型是粗粒度的句子级别(sentence-level)和细粒度的分词级别(span-level)。在句子级QA中,任务是在候选列表中挑选与问题最相关的句子(Yang etal., 2015)。在分词级QA中,任务是找到回答问题的给定段落中的最小分词间隔(Rajpurkar等,2016)。

在本文中,我们通过一个在大型、分词级QA数据集上训练的标准迁移学习模型来处理更粗糙的句子级QA问题。我们证明,目标任务不仅受益于源数据集的规模,而且还受益于细粒度分词监督方法更好学习句法和词汇信息的能力。

对于源数据集,我们预先训练了SQuAD(Rajpurkar等,2016),一个最近发布的分词监督QA数据集。对于源和目标模型,我们采用BiDAF(Seo等,2017),数据集排行榜中表现最好的模型之一。对于目标数据集,我们评估了两个最近的QA数据集,WikiQA(Yang etal., 2015)和SemEval 2016(Task 3A)(Nakov et al., 2016),其与SQuAD具有完全不同的特征。我们的结果显示,WikiQA有8%的提升,SemEval有1%的改善。此外,我们报告了一个在采用类似的迁移学习过程SICK(Marelliet al., 2014)中文本蕴含识别(RTE)的最新技术成果。

2 背景和数据

现代机器学习模型,特别是深层神经网络,往往显著受益于迁移学习。在计算机视觉中,对像ImageNet(Deng等,2009)等大型图像分类数据集进行训练的深层卷积神经网络已被证明可用于初始化其他视觉任务模型,如对象检测(Zeiler和Fergus,2014)。在自然语言处理中,领域适应性一般是句法解析(McClosky等,2010)和命名实体识别(Chiticariuet al., 2010)领域的重要课题。随着分布式表示的普及,诸如word2vec(Mikolov等人, 2013b, a)和glove(Pennington等,2014)的预训练词向量模型也被广泛地用于自然语言任务中(Karpathy和Fei-Fei ,2015;Kumar等,2016)。除此之外,我们利用QA数据集初始化模型,并展示标准迁移学习如何在目标QA数据集中实现最优结果。

NLP中有几个QA范例,可以根据用于回答问题的背景和监督方式进行分类。这种背景可以从结构化和有限的知识库(Berant等人,2013),到非结构化和无界自然语言形式(例如,网络上的文档(Voorhees和Tice,2000))和非结构化但受限制的(例如,一段或多句话(Hermannet al., 2015))。神经网络回答的最新进展推进了这些范例中的众多数据集和成功模型(Rajpurkar等,2016;Yang等,2015;Nguyen等,2016; Trischler等,2016)的产生。这些数据集中的答案类型主要分为三类:句子级,联系上下文分词间隔的和重新生成的。在本文中,我们特别关注前两个,并且显示分词监督模型可以更好地学习句法和词汇特征。在这些数据集中,我们简要描述了本文中用于实验的三个QA数据集。同时还给出了一个RTE数据集的描述,用于非QA任务的示例。请参阅表1查看数据集的示例。

SQuAD(Rajpurkar等,2016)是一个最近的基于分词间隔的QA数据集,其中包含100k /10k训练/开发实例。每个例子都是维基百科的一个上下文段落和一个由人类创建的问题,答案是上下文中的一个分词间隔。

SQUAD-T是我们对SQuAD数据集的修改,以允许句子选择的QA。('T'为senTence)。我们将上下文段落分解成句子,并将任务制定为对每个句子是否包含答案进行分类。这使我们能够在分词监督和句子监督的QA数据集之间进行预训练的公平比较。

WikiQA(Yang etal., 2015)是一个句子级的QA数据集,其中包含1.9k / 0.3k训练/开发的答案例子。每个例子都包含真实用户的Bing查询和Bing检索的维基百科文章的代码段,平均包含18.6个句子。任务是对每个句子是否提供了查询答案进行分类。

SemEval 2016(任务3A)(Nakov等人,2016)是一个句子级QA数据集,其中包含1.8k /0.2k / 0.3k训练/开发/测试示例。每个例子由用户问题和10条评论组成。任务是对每个评论是否与问题相关进行分类。

SICK(Marelliet al., 2014)是一个用于识别文本蕴含(RTE)的数据集,其中包含4.5K / 0.5K / 5.0K训练/开发/测试示例。每个例子都包含一个假设和一个前提,目标是确定是否前提是否包含矛盾的或对假设是中性的(因此是一个分类问题)。我们还展示了SICK的结果,以显示分词监督的QA数据集也可用于非QA数据集。

3 模型

在分词级QA任务提出的众多模型中,我们采用了一种开源模型,BiDAF(Seo等,2017)。

BiDAF。 模型的输入是问题q和上下文段落x。然后,模型选择最佳答案范围,即,其中i

在这里,我们简要介绍一下对迁移学习到句子级QA的很重要的应答模块。应答模块的输入是一系列向量,每个向量编码了关于第i个上下文单词的足够信息及其与其周围单词和问题中单词的关系。那么应答模块的作用是将每个向量hi映射到其起始和终止位置概率和。

BiDAF-T是指BiDAF的修正版本,使其与句子级QA兼容。('T'为senTence)。在这个任务中,输入是问题q和句子的列表,,其中T是句子的数量。请注意,与每个示例输出单个答案的BiDAF不同,我们需要为每第k个句子输出一个C分类。

由于BiDAF是分词选择模型,因此不能直接用于句子级分类。因此,我们用不同的应答模块替代BiDAF的原始应答模块,并保持其他模块与BiDAF的模块相同。给定新的应答模块的输入,其中上标是句子索引(1≤k≤T),我们通过max-pooling最大池化方法获得第k个句子的C分类得分,:

其中分别是可训练的权重矩阵和偏差,并且对于每个元素应用max()函数。

对于WikiQA和SemEval 2016,类别(C)的数量为2,即每个句子(或评论)是相关的或不相关的。由于用于这些数据集的一些指标需要完整排名,所以我们使用“相关”标签的预测概率对句子进行排序。

注意,BiDAF-T也可以用于RTE数据集,我们可以将假设作为一个问题,将前提作为上下文句子(T = 1)进行分类,并将每个例子分为“蕴含”,“中性”,或“矛盾”(C = 3)。

迁移学习。 相同模型架构之间的迁移学习[3]是直接的:我们首先使用源数据集预先训练的源模型的权重初始化目标模型的权重,然后使用目标数据集进一步训练(微调)目标模型。要从BiDAF(在SQuAD上)转移到BiDAF-T,我们迁移相同模块的所有权重,并用随机值初始化BiDAF-T中的新的应答模块。有关更多训练细节,请参阅附录A.

表1 来自QA数据集的问题上下文对和来自RTE数据集的前提假设对的示例。Q表示问题,C表示上下文,A表示答案,P表示前提,H表示假设。

4 实验

表2 WikiQA和SemEval-2016的结果(任务3A)。第一行是非预训模型的结果,*表示集合方法。使用的度量是平均精度(MAP),平均相对秩(MRR),Rank 1(P @ 1)和平均召回率(AvgR)。Rank 1,2,3表示由MAP排序的前人工作的结果。对于WikiQA,他们来自Wang andJiang (2017a); Tymoshenko et al. (2016); Miller et al. (2016),。对于SemEval2016,它们来自Filice etal. (2016); Joty et al. (2016); Mihaylov and Nakov (2016).。SQuAD *&是在两个数据集上实验最新技术的结果。

问题回答结果。 表2展示了我们在WikiQA和SemEval-2016上迁移学习的最先进的结果,以前的模型的表现以及不使用预训练或没有精确调整的几种精简方法。表2中有多个有趣的观察结果如下:

(a)如果我们仅在没有预先训练的目标数据集上训练BiDAF-T模型(表2的第一行),结果很差。这显示了预训练和精准训练的重要性。

(b)对SQuAD和SQuAD-T进行预训练(第二和第三行)可以在WikiQA数据集中获得接近最新技术的结果,但不能在SemEval-2016中实现。有趣的是,我们在SemEval-2016上的实验效果并不比不适用迁移学习的训练更好。我们推测这是由于分别来自社区和维基百科的SemEval-2016和SQuAD的领域之间的显著差异。

(c)使用精简方法(第四和第五行)对SQuAD和SQuAD-T在WikiQA上进行预训练,其效果显著优于最高排名系统(超过5%)。它也优于2016年SemEval的第二名排名系统,仅次于第一名系统的1%。

(d)迁移学习模式在分词级别监督(SQuAD)进行预训练,能比粗略的句子级监督(SQuAD-T),获得更好的结果,

最后,我们还在相同的BiDAF架构上使用了12种不同的集成训练方法,它在两个数据集中都取得了当前最优结果。该系统比WikiQA中排名最高的系统超过8%,并且比SemEval-2016的最佳系统在每个度量标准中均优于1%。重要的是要注意,虽然我们在大规模SQUAD转移到较小的WikiQA中确实受益匪浅,但鉴于SQuAD-T和SQuAD(>3%)之间的差距,我们发现分词监督起着一个非常重要的作用。

改变预训练数据集的大小。 我们改变在预训练期间使用的SQuAD数据集的大小,并通过微调对WikiQA进行测试。结果如表3所示。如预期的那样,WikiQA上的MAP随着SQuAD的大小而下降。值得注意的是,在SQuAD-T(表2)上的预训练比在50%的SQuAD上的预训练产生的MAP低0.5分。换句话说,预训练中分词级监督数据的价值是句子级监督数据的两倍及以上。此外,即使是小规模的细粒度监督数据也是有帮助的;使用12.5%的SQuAD进行预训练比无预训练具有超过7分的优势。

分析。 图1显示了表1 WikiQA示例中问题与上下文句子之一的潜在学习图。顶部映射在SQuAD-T(对应于表2中的SQuAD-T&Yes)中进行了预先训练,底部映射是在SQuAD(SQuAD&Yes)上预先训练。颜色越红,字之间的相关性就越高。这里观察到两个有趣的现象。

首先,在SQuAD预训模型(底部)中,我们看到问题airbus和上下文aircraft和aerospace之间的对应关系很高,但是SQuAD-T预训练模型没有学习这种对应关系。

表3 在预训练中使用的具有不同大小的SQuAD数据集的结果。所有这些都在WikiQA上进行了微调和测试。

图1 显示了(顶部)SQuAD-T预训练模型和(底部)SQuAD预训练模型的WikiQA中问题(垂直)和其上下文(水平)的子集之间的对应关系。越红,相关性越高。

其次,我们看到SQuAD预训练模型的图更加稀疏,表明能更精确地定位问题和语境单词之间的对应关系。事实上,我们比较了SQuAD&Y和SQuAD-T&Y中WikiQA测试示例的稀疏性。根据Hurley和Rickard(2009),图的稀疏性定义为

其中是图中0和1之间的一组值,是我们定义为0.01的一个较小的值。稀疏度的直方图如图2所示。SQuAD&Yes和SQuAD-T&Yes之间的WikiQA测试示例的平均稀疏度分别为0.84和0.56。

更多分析,包括误差分析和可视化分析,见附录B。

蕴含结果。 除了QA实验之外,我们还显示在分词监督QA训练的模型可以用于文本蕴含任务(RTE)。表4显示了BiDAF-T在SICK数据集(Marelliet al., 2014)上的迁移学习结果,具有各种预训练程序。请注意,SNLI(Bowman等,2015)是与SICK相似的任务,并且显著较大(150K /10K / 10K 训练/开发/测试示例)。在这里我们观察到以下三个现象:

(a)在SQuAD上预先训练的BiDAF-T优于没有任何预训练的6%,并且优于在SQuAD-T上预先训练的2%,这表明迁移学习为大型分词监督QA提供了明显的改进。

(b)在SQUAD + SNLI进行预训练优于仅在SNLI上进行预训练。鉴于SNLI大于SQuAD,其性能差异是一个强有力的指标,即我们不仅受益于SQuAD的规模,还受益于其提供的细粒度监督方法。

(c)使用SQUAD + SNLI整体预训练程序,优于以前的最高水平的2%。

值得注意的是,Mou et al. (2016) 也通过对SNLI进行预先训练,显示出SICK的有效性。

图2 SQuAD-T预训练模型(SQuAD-T&Yes,blue)和SQuAD预训练模型(SQuAD&Yes,red)图的稀疏度(等式2)的直方图。SQuAD预训练模型(0.84)的平均稀疏度明显高于SQuAD-T预训练模型(0.56)。

表4:精确计算后的SICK结果。第一排指只使用SICK的训练。*表示整合方法。

5 结论

在本文中,我们展示了WikiQA和SemEval-2016(任务3A)的最先进结果,以及一项蕴含任务SICK,分别比以前方法获得了8%,1%和2%的提升。我们发现,通过对大型分词级监督下训练的问答模型向句子级监督问答进行标准迁移学习,可以大大提升句子级监督问答的效果。同时,这种迁移学习可以适用于其他NLP任务,如文本蕴含。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180412G0PQ8400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券