论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

来源:ACL 2021

下载地址:https://www.notion.so/29-Guiding-the-Growth-Difficulty-Controllable-Question-Generation-through-Step-by-Step-Rewriting-96857f1a7d1e47d4ac9d82454de03249#c3405207a30740f3be3629b9b9c33370

本文主要贡献:

  • 这是第一个难度可控的问题生成工作,问题难度定义为回答它的推理步骤;
  • 提出了一种新颖的框架,在提取的推理链的指导下,通过逐步重写来实现 DCQG;
  • 构建了一个数据集,可以促进将问题重写为更复杂问题的训练,并与构建的上下文图和问题的基础推理链配对。

Abstract

领域:探讨了难度可控问题生成 (DCQG) 的任务,该任务旨在生成具有所需难度级别的问题。

以往的研究:主要将问题的难度定义为是否可以被问答系统正确回答,缺乏可解释性和可控性。

本文的工作:在我们的工作中,我们将问题难度重新定义为回答问题所需的推理步骤数,并认为问题生成 (QG) 系统应该对生成问题的逻辑具有更强的控制力。我们提出了一个新颖的框架,在提取的推理链的指导下,通过逐步重写逐步增加问题的难度。

Introduction

DCQG任务的一个难点在于如何定义一个问题的难度,以前的研究以是否可以被QA系统回答作为难度标准,但是这个定义只给出了两个难度级别,并且主要是经验驱动的,缺乏对难度是什么以及难度如何变化的可解释性。

本文将问题的难度级别重新定义为回答该问题所需的推理步骤数,这反映了对推理和认知能力的要求(Pan et al., 2019)。现有的 QA 系统在回答多跳问题方面的表现比单跳问题要差得多(Yang 等人,2018 年),这也支持使用推理跳来定义难度的合理性。

在本文中,我们提出了一个高度可控的 QG 框架,通过逐步重写逐步增加生成问题的难度。 具体来说,我们首先将给定的原始文本转换为上下文图,从中我们对生成问题的答案和推理链进行采样。然后,我们设计了一个问题生成器和一个问题重写器来生成一个初始的简单问题,并逐步将其重写为更复杂的问题。

如图 1 所示,”Tom Cruise”是选择的答案,Q1 是初始问题,然后通过在推理链中增加一个推理步骤(即 N1← N2)将其调整为 Q2。 也就是说,在回答 Q1 之前,它需要推断”Top Gun”是”the file directed by Tony Scott”。 同样,我们可以进一步提高其难度级别,并逐步将其扩展到更难的问题(即 Q3、Q4 和 Q5)。

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

图 1:基于从构建的上下文图中提取的推理链,通过逐步重写生成复杂问题的示例。

为了训练我们的 DCQG 框架,我们设计了有效的策略来从现有的 QA 数据集中自动构建训练数据。

具体来说,我们利用 HotpotQA (Yang et al., 2018),这是一个 QA 数据集,其中大多数问题需要两个推理步骤来回答,并且可以分解为两个 1-hop 问题。 因此,我们得到了包含 2 跳问题及其相应的 1 跳推理步骤的数据集。 在学习了如何使用该数据集将 1-hop 问题重写为 2-hop 问题之后,我们的框架可以很容易地扩展到仅使用少量相应数据从 n-hop 问题生成 (n+1)-hop 问题,因为 无论 n 的确切值如何,重写操作都遵循相当特定的模式,如图 1 所示。

Related Work

Method

给定输入上下文文本 C 和特定难度级别 d,我们的目标是生成(问题,答案)对 (Q;A),其中 A 是 C 的子跨度,Q 需要 d-hop 推理来回答。

图 2 和算法 1 概述了我们提出的框架。

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

图 2:框架概述。 选定的推理链被标记为浅蓝色节点。

首先,我们构造一个与给定上下文对应的上下文图 GCG,从中选择一个子图 GT 作为生成问题的推理链。 接下来,以推理链和其他上下文信息作为输入,问题生成器 (QGInitial) 生成初始简单问题 Q1。 然后,Q1 被馈送到问题重写模块 (QGRewrite),该模块迭代地将其重写为更复杂的问题 Qi (i = 2,3,…,d)。

Context Graph Construction

我们首先应用开放信息提取 (Stanovsky et al., 2018) 从上下文句子中提取三元组

Reasoning Chain Selection

构建上下文图后,我们从中抽取一个由 d + 1 个节点组成的连通子图 GT,作为生成问题的推理链。如果节点 N0 是具有多个节点度的命名实体或与之链接,则首先对节点 N0 进行采样作为问题的答案。接下来,我们从 GCG 中提取最大生成树 GL,以 N0 作为其根节点,例如图 1 所示的树结构。在此步骤中,GCG 暂时被视为无向图。然后我们将 GL 修剪成 GT,只保留 d + 1 个节点。 在剪枝过程中,我们考虑提取每个节点的句子位置,以使推理链与更多上下文相关。 下面,我们将 GT 中的一个节点表示为 Ni (i = 0,1,…,d),其中每个节点都以 GT 的前序遍历为下标,NP(i) 为 Ni 的父节点。

Step-by-Step Question Generation

算法如下:

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

其中,Qi 表示每一步生成的问题,其中 Qd 是最后的问题 Q,Qi+1 是通过增加一跳推理从 Qi 重写而来的。Si 表示我们从中提取三元组(N i→N p(i))的上下文句子。Ri 是 Qi 的重写类型 。具体来说,我们在这项工作中考虑了两种类型的重写模式:Bridge 和 Intersection。如图 1 所示,桥式重写用修改后的子句替换实体,而 Intersection 对问题中的现有实体增加了另一个限制。 这两种类型可以通过 Ni 是否是其父节点的第一个子节点来区分,即其父节点是否已经以 Bridge 样式重写过一次。

为了生成具有所需难度级别 d 的最终问题,我们首先使用问题生成器 QGInitial 根据 N1、N0 和相应的上下文句子 S1 生成初始简单问题。 然后,基于节点 Ni 及其父节点 NP (i)、上下文句子 Si 和重写类型 Ri 。 形式上,QGInitial的生成过程和QGRewrite的重写过程可以定义为:

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting
QGInitial 和 QGRewrite 都使用预训练的 GPT2-small 模型(Radford 等人,2019)进行初始化,然后在我们构建的数据集上进行微调。
QGRewrite 的编码器,如图 2 所示。 如果 Ni 指向 NP(i),则输入序列以”SiNiEiNp(i)RiQi-1″的形式组织,其中 Ei 是从 Ni 到 NP(i) 的边。 如果 NP (i) 指向 Ni,”Ni”和”Np(i)”的位置将被交换。 至于 QGInitial,它的输入以相同的方式组织,除了没有”RiQi-1″。

段嵌入层用于识别不同的段。 如图1所示,考虑到 Ni 的父节点在表示要问什么或要重写哪个部分方面起重要作用,对于 Si 和 Qi-1 中与 NP (i) 相同或引用相同实体的那些部分,我们将它们的段嵌入替换为 NP (i) 的一个。

Automatic Dataset Construction

在我们的工作中,训练数据由 HotpotQA (Yang et al., 2018) 构建,其中每个上下文 C 由两个段落 {P1,P2} 组成,大多数问题需要两跳推理,每跳都涉及一个段落。

除了 HotpotQA 中已有的信息外,我们还需要以下信息来训练 QGInitial 和 QGRewrite: 1、 (Q1;A1),简单的初始问题及其答案,用于训练 QGInitial;2、从 Q1 到 Q2 的重写类型R2; 3、Q2的推理链{N0,N1,N2}; 4、我们提取 N0、N1 和 N2 的上下文句子Si (i = 1,2)。

算法 2 描述了我们获取上述信息的过程。

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

在推理类型分类器 (TypeClassify) 和问题分解器 (DecompQ) 的帮助下促进了构建过程,参考 Min 等人。 (2019)。 对于 HotpotQA 中的每个问题(即 Q2),我们首先区分其推理类型,并过滤掉那些不是 Bridge 和 Intersection 的问题。 这里的推理类型对应于重写类型Ri。
然后,DecompQ 根据跨度预测和语言规则将 Q2 分解为两个子问题 subq1 和 subq2。 例如,图 2 中的 Q2 将分解为 subq1=”A Perfect Murder 是哪部电影的现代翻拍版?”和 subq2=”谁导演了 Dial M for Murder?”。 之后,使用现成的单跳 QA 模型(Min et al., 2019)来获取两个子问题的答案,这两个子问题应该是”Dial M for Murder”和”Alfred Hitchcock”。

至于Q1,它是子问题之一。 当 Q2 是 Intersection 类型时,Q1 可以是 subq1 或 subq2。 对于 Bridge 类型,它是与 A2 共享相同答案的子问题。 对于上面的示例,Q1 是 subq2,因为 suba2 = A2。上下文句子 Si 应该提供包含在与 Qi (i = 1; 2) 相关的段落 F 中的支持事实。 对于推理链,先定位N2,再找N0,从局部上下文图中选取; N1 通过文本匹配两个子问题。

Experiments

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

表 1:基线模型的自动评估结果和我们的方法(Ours2-hop)生成的 2-hop 问题。

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

表 2:Ours2-hop 和 GPT2 的生成结果示例

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

表 3:问题质量的人工评价结果。

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

表 4:生成问题所需推理步骤数的人工评估结果。

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

表 5:基于 BERT 和 RoBERTa 的 QA 模型在不同生成的 QA 数据集上的性能。

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

图 3:基于 DistilBERT 的 QA 系统在 HotpotQA 上的性能,增加了不同数量的生成数据。

论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

图 4:基于提取的推理链生成三跳问题的两个示例。

Conclusion

我们探索了难度可控的问题生成任务,将问题难度重新定义为回答它所需的推理步骤。 提出了一个逐步生成框架来实现这一目标,其中输入采样器提取推理链,问题生成器生成简单问题,问题重写器进一步将其调整为更复杂的问题。基于 HotpotQA 自动构建数据集以方便研究。 广泛的评估表明,我们的方法可以有效地控制生成问题的难度,同时保持较高的问题质量。

Original: https://blog.csdn.net/Hero19980512/article/details/124022360
Author: HeroGGC
Title: 论文阅读:Guiding the Growth Difficulty-Controllable Question Generation through Step-by-Step Rewriting

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/531732/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球