Unsupervised Question Answering by Cloze Translation

题目:完形填空转换的无监督问答
作者:Patrick Lewis
发布地方:arXiv
面向任务:问题生成
论文地址:https://arxiv.org/abs/1906.04980
论文代码:GitHub - facebookresearch/UnsupervisedQA: Unsupervised Question answering via Cloze Translation

目录

摘要

1 介绍

2 无监督抽取式QA

2.1 上下文和答案生成

2.2 问题生成

2.3 问答

2.4 无监督的完形填空转换

3 实验

3.1 无监督的QA实验

3.2 消融研究和分析

3.3 错误分析

3.4 无监督的神经机器翻译生成问题分析

3.5 少样本问答

4 相关工作

5 讨论

6总结


摘要

       获取问答(QA)训练数据既费时又费力,现有的QA数据集仅适用于有限的领域和语言。在这项工作中,我们探索了抽取式QA的训练数据的质量是怎么样的,并研究了无监督抽取式QA的可能性。我们首先通过学习以不受监督的方式生成上下文、问题和答案三元组来解决这个问题,然后我们将其用于自动合成(三元组)QA训练数据。为了生成这样的三元组,我们首先从大型文档语料库中随机抽取上下文段落,然后从这些段落中随机选取名词短语或命名实体mention作为答案。接下来,我们将上下文中的答案转换为填空题,最后将它们转换成自然问题。我们提出并比较了各种无监督方法来执行完形填空自然问题的转换,包括使用非对齐(非问题-答案、问题-上下文结构)的自然问题和完形填空题的语料库以及基于规则的方法来训练无监督NMT模型。我们发现现代QA模型仅使用合成训练数据就可以学习回答人类问题出奇地好。我们证明,在完全不使用SQuAD训练数据的情况下,我们的方法在SQuAD v1上达到了56.4 F1(当答案是命名实体时为64.5 F1),优于早期监督模型。

1 介绍

       抽取式问答(EQA)是在假设答案是给定文档中的span(文档字符串的子串)的情况下回答给定上下文文档的问题的任务。EQA在英语方面取得了实质性进展。对于SQuAD、SQuAD 2.0(两者的区别就是2.0增加了不可回答的答案)在当前流行的模型上已经超越人类的表现。甚至对于自然问题语料库,模型也可以接近人类的表现。在上述情况下,都是使用非常大量的训练数据。但是,对于新的领域(或语言),收集此类训练数据并非易事,可能需要大量资源(比如说我们现在需要开发基于汉语亦或是日语的QA系统,可能没有那么大量的问答数据集,构建相关数据集可能需要大量的人力)。如果根本没有可用的训练数据怎么办?

      本文通过探索无监督EQA的方法来解决上述问题,不需要人工收集(问题、上下文、答案)三元组。本文建议通过简化为无监督的问题生成来解决这个问题:不使用QA监督,根据上下文文档生成准确的问题,然后可以使用生成的问题训练QA系统。这种方法使我们能够直接利用QA的最新进展,例如模型架构和预训练方法(生成的训练数据可以直接在当前流行的模型,如Bert上预训练或者微调)。在灵活性和可扩展性方面都很有吸引力。此外,本文方法还可以在半监督情况下增强训练数据。

本文提出的方法(如图1所示)分三个步骤生成EQA训练数据: ​
1) 首先在目标域中(英语维基百科)采样一个段落 ​
2)使用(NER或名词识别器)从该段落中来识别候选答案(这些需要监督,但不需要对齐的(问题、答案)或(问题、上下文)数据)。根据候选答案和上下文,然后变成完形填空题 。​
3) 最后,使用无监督的完形填空自然问题翻译器将完形填空问题转换为自然问题

Unsupervised Question Answering by Cloze Translation_第1张图片 

图 1 本文方法的示意图。右侧(虚线箭头)代表传统的EQA。我们引入了无监督数据生成(左侧,实线箭头),用于训练标准 EQA 模型

       将完形填空题转换为自然问题是这些步骤中最具挑战性的。为什么说具有挑战性呢?虽然存在复杂的基于规则的系统(Heilman和Smith,2010)将陈述转换为问题(针对英语),但我们发现它们的性能对于QA来说比较差(参见第3节实验结果)。此外,对于特定领域或其他语言(汉语、日语),将需要大量的相关人员来开发类似的转换算法(费时费力)。还有,虽然存在用于此任务的监督模型,与本文无监督的初衷相悖。怎么应对挑战性?本文通过利用无监督机器翻译的最新进展来克服这个问题(Lample 等人,2018 年,2017 年;Lample 和 Conneau,2019 年;Artetxe 等人,2018 年)。具体来说,收集了大量自然问题语料库和未对齐的完形填空题语料库,并使用在线back-translation和de-noising auto-encoding的组合训练seq2seq模型在自然问题和完形填空题之间进行映射。

       在本文的实验中,我们发现结合当前流行的QA模型(Bert)架构的使用,无监督QA可以带来超越早期监督方法的性能。表明通过删除单词和翻转(参见2.2.2节)来产生(不自然的)完形填空比基于规则的方法具有更好的性能。此外,无监督的seq2seq模型又优于基于噪声和基于规则的系统。本文还证明了本方法可用于少样本学习,例如,使用32个带标记示例获得59.3 F1,而没有用本文方法时获得40.0F1。

 总而言之,本文做出了以下贡献: ​
1)是无监督QA的第一种方法,使用无监督机器翻译的方法将问题简化为无监督完形填空转换 ​
2)大量实验测试各种完形填空问题翻译算法和假设的影响 ​
3) 实验证明本文的方法在EQA中小样本学习中的有效性

2 无监督抽取式QA

      抽取式QA的工作原理是什么样的?给定了一个问题q和一个上下文段落c,需要返回答案a=(b,e),b、e分别为c的开头和结尾字符的索引。图1(右侧)显示了此任务的示意图。

我们提议以两阶段的方法解决无监督的QA: ​
1)首先使用无QA监督开发生成模型p(q,a,c),p(q,a,c)=p(c)p(a|c)p(q|a,c),首先通过p(c)采样文本段落,然后通过p(a|c)在文本中产生答案,最后是通过p(q|a,c)借助答案和文本生成问题
2)然后使用p作为训练数据生成器训练判别模型pr(a|q,c)(在3.2节 表2 Posterior Max.使用)

2.1 上下文和答案生成

       从给定文档语料库,利用上下文生成器p(c)从文档中均匀采样适当长度的段落c,通过p(a|c)生成答案a。这一步说明什么是好的答案的先验概率。我们为p(a|c)提出了两个简单的变体:

名词短语   从段落c中提取所有名词短语,并从该集合中均匀采样以生成可能的答案span。这需要相应语言和领域的分块算法。 ​
命名实体   可以进一步限制可能的答案候选,并完全专注于命名实体。在这里,使用NER系统提取所有命名实体,然后从这些中均匀采样。虽然这减少了问题的多样性,但如第3.2节中所讨论的那样,它被实验证明是有效的。

2.2 问题生成

        QA的核心挑战是建立问和答之间的关系模型。这是在问题生成器 p(q|a,c) 中捕获的,该生成器从上下文中的给定答案生成问题。将这一步分为两步:完形填空生成 q' = cloze(a, c) 和转换 p(q|q')。

2.2.1 完形填空生成

       完形填空题是答案被掩盖的陈述句。在完形填空生成的第一步中,可以缩小了上下文的范围,一方面是人喜欢简短的问题,另一方面简化问题长度可以使其能够粗略匹配真实问题,一般保留围绕答案的句子。使用图1中的上下文和答案举例说明一下,原句“For many years the London Sevens was the last tournament of each season but the Paris Sevens became the last stop on the calendar in ”. 使用句法解析器,进一步缩减句子长度,“the Paris Sevens became the last stop on the calendar in ”.

2.2.2 完形填空转换

       当生成了完形填空题q',我们将其转换为更接近我们在实际QA任务中期望形式的问题。我们在这里探索四种方法:

1)恒等变换

       我们认为完形填空题本身提供了学习某种形式的QA行为的信息。为了检验这个假设,我们使用恒等映射(集合到自身的双射)作为完形填空转换的基线。为了产生使用与实际QA任务相同词汇的问题,我们将掩码标记替换为wh词(随机选择或使用第2.4节中描述的简单启发式方法)。例如:“the Paris Sevens became the last stop on the calendar in wh*”.

2)噪声化完形填空

       表征完形填空和自然问题之间差异的一种方法是把这种差异作为一种扰动形式。为了提高对扰动的鲁棒性,我们可以在完形填空题中注入噪音,我们按如下方式实现。首先,我们从完形填空q'中删除掩码token,应用来自Lample等人的简单噪声函数,并在前面添加一个wh*单词(随机或使用第2.4节中的启发式方法)并附加一个问题标志。噪声函数由删除单词、词序排列和单词屏蔽组成。目的是,至少对于SQuAD而言,简单地学习一个函数来识别被问题的高n-gram重叠包围的span可能就足够了,并且可以容忍词序扰动。

3)基于规则

       将嵌入在句子中的答案转换为(q, a)对可以理解为具有wh-movement和wh-word的类型相关选择的句法转换。对于英语,存在用于此转换的现成软件。我们使用Heilman和Smith(2010)的语句到问题生成器,该生成器使用一组规则生成许多候选问题,并使用排名系统来选择最佳问题。

4)序列到序列模型

       上述方法要么需要大量的工程和先验知识(基于规则),要么产生的问题很不自然(恒等变化、噪声化完形填空)。本文在完形填空和自然问题转换之间通过无监督训练一个seq2seq模型来克服这两个问题。这种方法的更多细节在第 2.4 节。

2.3 问答

       抽取式问答相当于给定问题q并找到上下文c中的最佳答案。我们至少有两种方法可以使用我们的生成模型来实现这一点:

训练单独的 QA 系统 对于任何QA框架都可以使用生成器生成训练数据。虽然生成的数据不太可能与真实QA数据的质量相匹配,但我们希望QA模型能够学习基本的 QA 行为。

使用后验 另一种提取答案的方法是找到具有最高后验p(a|c,q)的a。假设在给定文本的条件下,生成答案的概率p(a|c),然后求,通过试验每个候选答案生成该问题的概率即可(在3.2节 表2 Posterior Max.使用),这是一种类似于Lewis和Fan(2019)的监督方法。

2.4 无监督的完形填空转换

       为了训练完形填空转换成问题的seq2seq模型,借鉴了最近在无监督神经机器翻译(NMT)中的思想。大多数这些方法的核心是源语言句子和目标语言句子的非平行语料库(源句子和目标句子序列长度不相同)。在这样的语料库中,不存在源语句到目标语句的任何翻译,也不存在目标语句到源语句的任何翻译。具体来说,本文借助NMT的目标是学习一个在完形填空题(源)和问题(目标)之间映射的函数,而不需要对齐的语料库。为此,我们需要大量的完形填空题C和自然问题Q的训练数据集。

完形填空语料库构建   通过应用第2.2.2节中描述的过程创建完形填空语料库C。具体来说,我们考虑名词短语(NP)和命名实体提及(NE)这样的答案,以及由包含答案的句子或子句这样的完形填空问题。随机从维基百科中提取500万个完形填空问题段落,并为每个答案span和完形填空句子构建一个语料库C。当存在答案实体类型信息(即. NE标签),则使用特定类型的mask来遮蔽token,以表示5种高级的答案类型。即用5种mask来区分答案类型。有关详细信息,请参阅附录A.1。 ​
        附录A.1 完型填空题特征化和转化 ​   有完形填空题 “the Paris Sevens became the last stop on the calendar in ___”,答案是2018。首先组要对完形填空句子进行分词,超过40个词则将其丢弃,然后用特殊的掩码标记替换 “BLACK”:1)如果答案是NP,只使用"MASK"掩码。2)如果答案是NE,用不同的类型标记进行掩码。此例子中“2018”为DATE,所以此实例的掩码标记为“TEMPORAL”,即“the Paris Sevens became the last stop on the calendar in TEMPORAL

Unsupervised Question Answering by Cloze Translation_第2张图片

 

表 5:不同命名实体标签的高级答案类别

补充:

Unsupervised Question Answering by Cloze Translation_第3张图片

问题语料库构建   问题从英文网页中爬取获得(如维基百科dump),选择以几个常见的 wh* 词之一开头(“how much”, “how many”, “what”, “when”, “where” and “who”)并以?结尾的句子。 不考虑重复问号或“?!”或超过20tokens的问题。如此操作后会产生超过1亿个英语问题。语料库Q是通过对500万个问题进行抽样而创建的,这样保证每个以 wh* 单词开始的问题数量相同。

        与Lample et al. (2018)一样,我们使用C和Q来训练翻译模型,将完形填空问题翻译成自然问题,反之亦然。这是通过denoising autoencoding的域内训练和通过online-backtranslation的跨域训练相结合来实现的,可以被视为一种迁移任务,类似于Subra-manian et al. (2018)。在推理时,问题是从完形填空题中生成的,如。进一步的实验细节可以在附录 A.2 中找到。

Wh* 启发式   为了给恒等映射和噪声化完形填空基线问题生成器提供合适的wh*词,本文引入了一个简单的启发式规则,将每个答案类型映射到最合适的wh* 词。例如,“TEMPORAL”答案类型映射到“when”。在实验过程中,我们发现无监督NMT翻译函数有时会为答案实体类型生成不合适的wh词,因此我们还尝试将wh启发式应用于这些问题生成器。对于NMT模型,我们通过在训练时将答案类型标记映射到其wh词的问题前面来应用启发式。例如。 以“when”开头的问题前面带有标记“TEMPORAL”。有关 wh 启发式的更多详细信息,请参见附录 A.3。 ​
       附录A.3 Wh* 启发式    我们定义了一种启发式方法,以鼓励输入的完形填空题的答案类型使用适当的wh* 词。这种启发式方法用于为恒等变化和噪声化完形填空基线提供相关的wh* 词,并帮助NMT模型产生更精确的问题。为此,我们将每个高级答案类别映射到最合适的wh* 词,如表5的右侧列所示(在NUMERIC类型的情况下,我们在“How much”和“How many”之间随机选择)。在训练之前,我们将高级答案类别屏蔽标记添加到以相应的wh* 单词开头的问题的开头,例如问题“Where is Mount Vesuvius?”将变成“PLACE Where is Mount Vesuvius?”。这允许模型学习wh* 单词和答案掩码类型之间更强的关联。

3 实验

实验过程主要包含:
(1)检验QA系统在没有使用(q,a)对数据时候的性能表现
(2)本文方案与其他监督方法的对比
(3)本文方案与其他不需要训练集的无监督方法的对比
(4)不同设计策略对QA系统性能的影响
(5)验证本文方法是否能够应用于少样本学习
(6)评估无监督的NMT是否可以作为生成问题的有效方法

3.1 无监督的QA实验

       对于合成数据集训练方法,我们考虑两种QA模型:微调BERT和BiDAF(机器理解的双向注意力流)+Self Attention。对于最大后验方法,我们从句子或子句,并使用NMT模型来估计 p(q|c,a)。使用标准的精确匹配(EM)和F1作为指标进行评估。

       在训练无监督模型时我们假设无法获得开发数据集,因此QA模型训练的停止条件是QA系统的性能指标在合成的数据中的留存数据集上稳定不变。但是,我们确实使用SQuAD开发集来评估哪些模型组件是重要的(如第3.2节消融研究)。为了保持SQuAD测试集的完整性,我们只将我们性能最好的系统提交给测试服务器。

       将本文的结果与一些已发布的基线进行比较。拉杰普尔卡等人(2016)使用具有特征工程的监督逻辑回归模型和滑动窗口方法,该方法使用单词与问题的重叠来寻找答案。Kaushik和Lipton(2018)训练模型(监督),该模型忽略输入问题并简单地从上下文中提取最可能的答案span。据我们所知,我们是第一个在SQuAD上有意针对无监督QA的工作。丁格拉等人(2018)专注于半监督QA,但确实发布了无监督评估。为了进行公平比较,我们使用公开的数据重新实现了他们的方法,并使用BERT-Large训练了一个变体。他们的方法也使用了完形填空题,但没有转换,并且严重依赖维基百科文章的结构。

        本文最好的方法在SQuAD测试集上达到了54.7F1;5 个模型(不同种子)的集成达到56.4 F1。表1显示了与基线和监督模型的对比结果。本文方法明显优于基线系统和 Dhingra et al. (2018),并超越了早期的监督方法。

Unsupervised Question Answering by Cloze Translation_第4张图片

 

表1:与各种基线和监督模型相比,本文无监督QA模型表现最佳。*表示在SQuAD开发集上的结果。†表示 Dhingra等人(2018年)创建的非标准测试集的结果。‡ 表示我们的重现。

3.2 消融研究和分析

      为了了解不同技术对性能的贡献,我们进行了消融研究。所有消融都使用SQUAD开发集进行评估。我们使用BERT-Base和BiDAF+SA进行消融,然后使用我们性能最佳的配置来微调最终的BERT模型,即表1中的模型。所有使用BERT-Base的实验都用3个种子重复进行计算以应对训练中遇到的一些不稳定性;我们报告平均结果。结果显示在表2中,下面突出显示了观察结果和汇总趋势。

Unsupervised Question Answering by Cloze Translation_第5张图片

 

表 2:SQuAD 开发集上的消融。“Wh* Heuristic”表示在完形填空翻译过程中是否使用启发式来选择合理的Wh*单词。NE和NP指命名实体提及和名词短语答案生成。

后验最大化与生成数据的训练 将最大后验概率(Posterior Max.)与表2中的BERT-Base和BiDAF+SA列进行比较表明,在QA模型上训练比采用最大问句似然要有效得多。这可能部分归因于QA模型能够概括答案span,在测试时返回的答案并不总是命名实体的答案。BERT模型还具有语言预训练的优势,进一步增加了泛化能力。

答案先验的影响 命名实体(NE)是比名词短语(NP)更有效的答案。用NE训练的等效BERT-Base模型比NP平均提高了8.9F1。Rajpurkar et al. (2016)估计SQuAD中52.4%的答案是NE,而(假设NE是NP的子集)84.2%是NP。然而,我们发现每隔文本中平均有14个NE,有33个NP,因此在训练中使用NE可能有助于减少模型搜索答案候选的空间。

问题长度和重叠的影响 如图2所示,使用删减后的子句进行生成会是的问题和上下文公共子序列很短,这更接近于SQuAD问题的分布。减少完形填空题的长度有助于翻译组件生成更简单、更精确的问题。在BERT-Base模型中,使用子句平均情况下F1会提升4.0。由于词删除,噪声化完形填空生成器产生比NMT模型更短的问题,并且由于词扰动噪声产生更短的公共子序列。

Unsupervised Question Answering by Cloze Translation_第6张图片 

图2:各种问题生成长度(蓝色)以及生成的问题和文本最长公共子序列长度(红色)

完形填空转换的影响 在将“恒等映射”完形填空与“噪声化完形填空”进行比较时,噪声起到了有用的正则化作用,后者比前者平均高出9.8 F1。无监督NMT问题转换更有帮助,又比“噪声化完形填空”平均提高1.8 F1。并在第5节中进行了更详细的讨论对噪声化完形填空的改进。

QA模型的影响 BERT-Base 比BiDAF+SA(专为QA设计的架构)更有效。BERT-Large(表2中未显示)提供了进一步的提升,将我们的最佳配置提高了6.9 F1。

基于规则的生成 QA 模型的效果 与NMT方法相比,在Heilman和Smith(2010)的基于规则(RB)的系统生成的 QA 数据集上训练的结果并不理想。为了测试这是否是由于使用了不同的答案类型,这样做: a)删除RB系统中与本文的(NE)答案不一致的问题 b)删除本文系统中与RB的答案不一致的问题。表3显示,虽然答案类型很重要,因为增加了他们的限制有助于他们的系统,而使用他们的限制会伤害本文的系统,但他们无法完全解释差异。因此,RB系统似乎无法生成任务所需的各种问题和答案,并且不能从足够多样的上下文中生成问题。此外,虽然平均而言,RB模型的问题长度比NMT模型短,但最长公共序列的分布相似,如图2所示,这可能表明RB系统复制了更大比例的输入。

Unsupervised Question Answering by Cloze Translation_第7张图片 

表3:SQuAD 开发集的消融探索RB系统的性能。

3.3 错误分析

       我们发现QA模型预测的答案并不总是被NER检测为命名实体(NE),尽管仅使用NE答案进行训练。事实上,当我们将SQuAD的NE答案的数据单独提取出来时,本文模型的性能提高到64.5 F1,但在不是NE答案的问题上仍然达到了47.9F1(表中未显示)。我们将此归因于BERT语言预训练的效果,使其能够概括NE在句子中所扮演的语义角色,而不是简单地学习模仿NER系统。当答案是NE时,等效的BiDAF+SA模型得分为58.9F1,但当答案不是NE时,则下降到23.0F1。

       图3显示了本文的系统在不同类型的问答中的表现。左图显示该模型在处理“when”问题时表现最佳,这些“when”问题往往具有较少的潜在答案。但在处理“what”问题时表现不好,这些问题具有更广泛的答案语义类型因此表现的不佳。 右图显示该模型在“TEMPORAL”答案上表现良好,与“when”问题的良好表现一致。

Unsupervised Question Answering by Cloze Translation_第8张图片 

图3:在SQuAD上针对不同问题类型(左)和不同NE答案类别(右)的最佳QA模型的性能细分

3.4 无监督的神经机器翻译生成问题分析

       虽然我们的主要目标是优化下游QA性能,但检查无监督NMT完形填空转 换系统的输出也很有指导意义。无监督NMT已在单语环境中使用,但完形填空问题的生成提出了新的挑战——完形填空和问题在字长方面是不对称的(源句子和目标句子长度不一样),成功的转换必须保留答案,不只是表面上转移风格。图4显示,如果没有wh* 启发式方法,该模型将学习使用广泛适用于答案类型的wh* 词生成问题,但可能会遇到困难,尤其是对于Person/Org/Norp和Numeric答案。表4显示了来自NE无监督NMT模型的代表性示例。该模型通常复制输入的大段。如图2所示,生成的问题平均有一个来自上下文的9.1个token的连续子序列,对应于逐字复制的生成问题的56.9%,而SQuAD问题有4.7个token(46.1%)。这并不奇怪,因为回译训练的目标是最大限度地重建输入,鼓励保守翻译。

Unsupervised Question Answering by Cloze Translation_第9张图片

 

图 4:UNMT模型为不同答案类型的完形填空题生成的Wh*词

       该模型展示了一些令人鼓舞的的语法操作和生成,特别是在问题的开头,例如表4中的示例7,其中词序被显着修改,“sold”被“buy”取代。有时会出现不理想的转换,有时会在问题语料库中产生常见模式的幻觉(示例6);有时模型可能难以处理列表(示例4);并且通常更喜欢现在时和第二人称(示例5);有时生成的问题相对连贯,但通常对输入的完形填空题有不同的答案(示例2)。

Unsupervised Question Answering by Cloze Translation_第10张图片

表4:使用wh*启发式和子句完形填空提取的UNMT模型的完形填空翻译示例。更多示例可在附录 A.7 中找到

       我们可以使用Faruqui和Das(2018)的“格式良好”的问题数据集来估计生成问题的质量和语法。该数据集由搜索引擎query组成,并标注了query是否是格式良好的问题。我们在这个任务上训练一个分类器,然后测试有多少问题被我们的问题生成方法归类为“格式良好”。附录A.5中给出了完整的细节。我们发现UNMT模型生成的问题中有68%被归类为格式良好,而基于规则的系统为75.6%,SQuAD问题为92.3%。我们还注意到,使用语言模型预训练提高了UNMT模型生成的问题的质量,其中78.5%被归类为格式良好,超过了基于规则的系统(参见附录 A.6)。 附录A.5 “格式良好”的问题 可以使用Faruqui和Das(2018)的“格式良好”的query数据集来估计由本文模型的各种配置生成的问题的“格式良好”的情况。该数据集包含25,100个搜索引擎query,并标注query是否为格式良好的问题。需要在二元分类任务上训练了一个BERT Base分类器,达到了80.9%的测试集准确率(与之前的70.7%的最先进技术相比)。然后使用这个分类器来衡量本文的模型生成的问题被归类为“格式良好”的比例。表6显示了完整的结果。本文最好的无监督问题生成配置达到了68.0%,表明该模型能够生成相对良好的问题,但仍有改进的空间,因为基于规则的生成器达到了75.6%。MLM预训练(见附录A.6)极大地提高了格式良好的分数。分类器预测92.3%的SQuAD问题是格式良好的,表明它能够检测到高质量的问题。

Unsupervised Question Answering by Cloze Translation_第11张图片

 

表 6:在Faruqui和Das(2018)的数据集上针对不同问题生成模型训练的分类器分类为“格式良好”的问题的比例。* 表示在UNMT训练之前应用了MLM预训练

3.5 少样本问答

       图5显示了逐渐增加训练数据量的性能。与Dhingra et al. (2018)一样,对少量训练示例进行训练,并使用开发集进行停止。因此,这不是低数据状态下性能的真实反映,但确实允许模型之间的比较分析。我们发现本文的方法在数据非常贫乏的情况下表现最好,与Dhingra et al. (2018)类似,数据量适中。我们还注意到BERT-Large本身非常高效,仅用1%的可用数据就达到了60%F1。

Unsupervised Question Answering by Cloze Translation_第12张图片

 

图5:SQuAD开发集的F1分数,用于逐渐增大的训练数据集大小

4 相关工作

      无监督领域:最相关的工作是无监督NMT中的成果,具体参考Conneau et al., 2017; Lample et al., 2017, 2018;Artetxe et al., 2018的论文。另一个较为相关的成果是(Subramanian et al., 2018)的风格迁移论文。

      半监督QA:Yang et al. (2017) 训练的QA模型也能够生成新的问题,但是需要标注数据。Dhingra et al. (2018)对其方法进行简化,在问题生成中虽然是无监督的,但是并不针对非监督的QA也无法生成自然的问题。此外,该方法一方面对用于问题生成的文本要较强的要求和限制,另一方面还需要Wikipedia的摘要段落。Chen et al. (2018)在WebQuestions上采用半监督方法提升了语义分析性能。Lei et al. (2016)采用半监督方法进行问题相似性的建模。Golub et al. (2017)提出一种可以生成特地领域QA训练样本的方法,以实现SQuAD和NewsQA之间的迁移学习。另一种半监督的方式是将外部知识引入到QA系统,Weissenborn et al. (2017) andMihaylov and Frank(2018)在QA任务中引入了Conceptnet(Speer et al., 2016)。

       问题生成:早期是基于模板和语法规则,再往后就是在模型上加入问题生成的排序功能和从符号角度进行研究。近期则发展为采用监督式的神经网络方法,(Du et al., 2017; Yuan et al., 2017; Zhao et al., 2018; Du and Cardie, 2018; Hosking and Riedel, 2019)尝试基于SQuAD数据集中的c , a c,ac,a对生成问题。

5 讨论

       值得注意的是,本文方案中的最优结果是需要借助NER系统(直接采用OntoNotes 5的标注数据)和用于提取子句的解析器(基于Penn Treebank训练而得)。此外,还用到特定语言(本文指英语语种)的wh*启发式规则以训练最优的NMT模型。以上这些限制了本文方案的适用性和灵活性,只能局限于某些有丰富语料资源(NER和treebank datasets)的特定领域和特定语种。此外,本文的方案还需要一些额外的人工特征工程,比如定义新的启发式规则。

       尽管本文的方案存在上述不足,但是本文的方案从无需( q u e s t i o n , a n s w e r ) (question,answer)(question,answer)、( q u e s t i o n , c o n t e x t ) (question,context)(question,context)对这个角度看确实是无监督的。而( q u e s t i o n , a n s w e r ) (question,answer)(question,answer)、( q u e s t i o n , c o n t e x t ) (question,context)(question,context)数据对在标注大规模QA训练数据集时是最艰难的。

       本文中使用到的"noisy cloze"系统由简单的规则和噪声组成,但是其性能近乎可以与复杂的最优系统媲美(可回查Table 2)。尽管这种简单的方法缺乏与问题相关的语法和句法。采用"noisy cloze"系统生成的问题在接受问句评估的"well-formed"中自然也显得很拙劣,只有2.7%是"well-formed"。这些结果表明对于SQuAD而言,问题是否自然语言形式显得没那么重要,即使是使用强question-context的词匹配方式也能够取得足够好的性能。这部分工作可以参考Jia and Liang (2017),该文作者证明了即使是有监督的模型也依赖于单词匹配。

       需要补充说明的是,本文提出的问题生成方案无需多跳或者多句子的联合推理,但仍然能够在SQuAD上取得不俗的成绩。事实上,Min et al. (2018)指出SQuAD中90%的问题只需要原文中的一个句子即可应对,Sugawara et al. (2018)则发现SQuAD中76%的问题和答案存在高度的token重叠。

6总结

       在这项工作中,我们探索是否有可能在不使用标记的QA数据的情况下学习提取QA行为。我们发现这确实是可行的,超越了简单的监督系统,并且明显优于其他不使用标记数据的方法,在流行的SQuAD数据集上实现了56.4%F1,在答案是命名实体的数据集上实现了64.5%F1。然而,我们注意到,虽然我们的结果在这个相对简单的QA任务上令人鼓舞,但还需要进一步的工作来处理更具挑战性的QA元素并减少我们对语言资源和启发式的依赖。

说明:本人新手一枚,若有错误的地方请帮忙指正,谢谢

参考:(4条消息) 文献阅读笔记:Unsupervised Question Answering by Cloze Translation_ljp1919的专栏-CSDN博客

你可能感兴趣的:(nlp,自然语言处理)