摘要

问题生成(QG)是自动智能辅导系统的基本组成部分,旨在为促进学生阅读理解的能力并对其进行评估来产生高质量的问题。然而,现有的QG技术面临这主要从网络(例如,SQuAD)中获得的非自然语言数据集及其偏差这几个关键问题。在本文中,我们提出了一种新的考试类型问题生成方法(Examination-type Question Generation approach,EQG-RACE),并基于从RACE中提取的数据集来生成考试类问题。我们在EQG-RACE中了使用了两项主要策略,以处理离散答案信息和长文本的推理。我们还利用粗粒度答案和关键句标记方案来增强输入的表示。基于答案引导的图卷积神经网络(AG-GCN)被设计来捕获句子间和句子内关系的结构信息。实验结果表明,EQG-RACE具有最先进的性能。此外,我们的工作使用重建数据集和QG方法建立了一种新型QG原型,为未来工作提供了相关研究的重要基准。我们将公开我们的数据和代码以进行进一步研究。

1.介绍

自动问题生成任务(QG)旨在基于给定的文本生成语法问题,该任务在NLP领域逐渐被引起了关注。除了能增强问答(QA)系统和人机对话生成外,QG的重要目的是为促进学生阅读理解的能力并对其进行评估来产生高质量的问题。为了促进构建过程,QG已被研究了多年。
  QG现有方法主要采用Web提取的QA数据集,例如,SQuAD,MSMARCO,NewsQA和CoQA,这对于在真实上下文中生成问题并不理想。这些数据集是特定于领域的或风格单一的(例如,NewsQA是新闻,SQuAD和MS-MARCO是Wikipedia的文章)。此类数据集中的答案通常是从上下文段落中提取的短文本,并且问题会自动从Web自动提取或由人类作者生成。另一类数据集,LearningQ是一个不基于问题的QG数据集,其中问题是从电子学习视频中提取的主观学习者生成的帖子。与这些数据集不同,RACE是从中国学生的英语考试中收集的,这是一个高质量的考试数据集,基于阅读理解的真实上下文。为了评估学习者在阅读中的认知水平,RACE包含多样化的类型(如故事,广告,新闻等)和各级问题。为了在RACE中产生类似考试的问题,模型需要更高的总结和推理能力。
  大多数QG系统通常用基于注意力机制的序列到序列执行生成。要生成符合答案的问题,需要将包含答案位置,POS和NER的特征用于编码上下文。有些工作也使用复制或指针机制来克服OOV问题。
  在本文中,我们提出了基于RACE的考试类型问题生成(EQG-RACE)。我们清洗了RACE数据集并保留特定样式的问题以构建考试类型的QG数据集。根据我们的初步实验,在SQuAD中表现良好的QG模型在EQG-RACE上表现出较差的性能,表明了生成考试类型问题的领域迁移问题。
  作为由教育专家设计的真实考试数据,有两个主要因素使得EQG-RACE更具挑战性。首先,答案通常是完整的句子(或长短语),而不是输入序列中的短文本跨度,使先前的答案标记方法无效。其次,上下文段落更长,问题是通过从多个句子中的深度推理来创建的,使得序列编码方法如LSTM变得困难。要解决第一个问题,我们采用了一个远程监督的方法来查找关键答案单词和关键句子,然后将它们结合到单词表示中。为了解决第二个问题并建模句子内和句子间的推理关系,我们设计了一个答案引导的图卷积网络(AG-GCN)以捕获结构信息。我们在重建的 EQG-RACE数据集进行了一系列实验,以探讨现有QG方法的性能,结果验证了我们提出的策略的有效性。

2.数据构建


  在原始RACE数据集中,每个样本包括一个段落,一个问题和四种选项(一个正确的答案和三个干扰项)。为了构建我们的EQG-RACE数据集,我们会处理原始的RACE数据集以适应QG任务。
  首先,我们丢弃干扰项,只为每个样本保留正确的答案。干扰项旨在混淆学习者,并在生成语法问题时引入噪音,因此完全可以通过正确答案生成问题。
  其次,我们过滤某些类型的问题。 RACE中的问题可以大致分为三种类型:完形填空,通用和具体。完形填空风格的问题是陈述句或疑问句的格式,并将正确答案填充到句子中缺失的位置,这不适合QG任务。通用风格的问题(例如,“What would be the best tile for the passage?”)并不受限于特定文章,并且可以广泛适用于任何上下文段,因此这种问题可以使用基于规则的方法生成。具体样式的问题与文章的某些特定内容相关,这是我们模型重点关注的问题。因此,在重建EQG-RACE期间,我们通过字符串匹配和手工制作的规则删除完形填空和通用样式的问题,只保留具体样式的问题。为了更好地了解我们的数据处理,表1提供了三个样式问题的示例以及其统计数据。
  因此,在我们的 EQG-RACE数据集中,每个样本都是<passage,answer,question><passage, answer, question><passage,answer,question>的形式。我们的任务是在给定段落和答案的条件下自动生成问题。表6中给出了EQG-RACE的两个例子以进行案例研究。
  此外,表2给出了最常用的QG数据集SQuAD和我们的EQG-RACE的比较。总体而言,EQG-RACE的规模比SQuAD要小得多(20,486与97,888个问题)。EQG-RACE的平均段落长度为263.3,几乎是SQuAD段落长度的两倍。更重要的是,EQG-RACE中的答案由人类专家生成,并不简单地从输入文本中提取。此外,EQG-RACE的答案长度超过SQuAD的两倍。这些文本属性的比较表明,EQG-RACE是QG的更具挑战性的数据集。
  原始RACE分别包含87866,4887和4934个样本,分别用于训练,验证和测试。过滤后,EQG-RACE分别包含18501,1035和950个<passage,answer,question><passage, answer, question><passage,answer,question>三元组,如表1所示。

3.模型描述


  在 EQG-RACE 数据上,给定一个段落 ppp 及其对应的答案 aaa,我们的任务旨在生成一个语法正确且以答案为中心的问题 qqq
q=argmaxqP(q∣p,a)(1)q=\mathop{argmax}\limits_{q}~P(q|p,a)\tag{1}q=qargmaxP(qp,a)(1)
  为了处理这一具有挑战性的任务,我们通过利用关键词信息提出了一个统一的模型,如图 1 所示。首先,我们根据答案信息对段落关键词进行注释。输入段落被代入到一个答案引导的 GCN 中,以获得以答案为中心的上下文嵌入。然后,将单词嵌入、关键字标记嵌入、GCN 嵌入和预训练嵌入的特征拼接起来作为双向 LSTM 编码器的输入。然后将门控自注意力机制应用于段落隐藏状态。在上述步骤中,我们融合段落和答案隐藏状态以获得答案相关的上下文表示。最后,基于注意力的解码器借助 maxout-pointer 机制按顺序生成问题。

3.1 Baseline Model

我们将门控自注意力 maxout-pointer 模型作为基线模型。
  对于编码器,我们使用两层双向 LSTM 对输入段落进行编码并获得其隐藏表示 HHH。在每个时刻 ttt
htp=LSTM(ht−1p,etp)(2)h^p_t=LSTM(h^p_{t-1},e^p_t)\tag{2}htp=LSTM(ht1p,etp)(2)
其中 htph^p_thtpht−1ph^p_{t-1}ht1p 是 LSTM 的隐藏状态,而 etpe^p_tetp 是词嵌入。然后将门控自注意力机制应用于 HHH 以对段落间依赖进行交互,从而得到H^\hat HH^
stp=H∗softmax(HTWshtp)(3)s^p_t=H*softmax(H^TW^sh^p_t)\tag{3}stp=Hsoftmax(HTWshtp)(3)
ftp=tanh(Wf[htp,stp])(4)f^p_t=tanh(W^f[h^p_t,s^p_t])\tag{4}ftp=tanh(Wf[htp,stp])(4)
gt=sigmoid(Wg[htp,stp])(5)g_t=sigmoid(W^g[h^p_t,s^p_t])\tag{5}gt=sigmoid(Wg[htp,stp])(5)
h^tp=gt∗ftp+(1−gt)∗htp(6)\hat h^p_t=g_t*f^p_t+(1-g_t)*h^p_t\tag{6}h^tp=gtftp+(1gt)htp(6)
我们通过对 HHH 采用自匹配机制来获得自注意力上下文向量 ftpf^p_tftp。然后,使用可学习的门 gtg_tgt 来平衡 ftpf^p_tftphtph^p_thtp 对编码器输出 H^\hat HH^ 的贡献。
  解码器是另一个两层单向 LSTM。在每个时刻,基于上下文向量 ctc_tctH^\hat HH^的注意力机制来生成解码器状态 dt+1d_{t+1}dt+1
αt=softmax(H^TWadt)(7)\alpha_t=softmax(\hat H^TW_ad_t)\tag{7}αt=softmax(H^TWadt)(7)
ct=H^αt(8)c_t=\hat H\alpha_t\tag{8}ct=H^αt(8)
d^t=tanh(Wc[ct,dt])(9)\hat d_t=tanh(W_c[c_t,d_t])\tag{9}d^t=tanh(Wc[ct,dt])(9)
dt+1=LSTM([yt,d^t])(10)d_{t+1}=LSTM([y_t,\hat d_t])\tag{10}dt+1=LSTM([yt,d^t])(10)
  目标词 yty_tyt 的概率由 maxout-pointer 机制计算得到:
pvocab=softmax(Wedt)(11)p_{vocab}=softmax(W^ed_t)\tag{11}pvocab=softmax(Wedt)(11)
pcopy=maxwherexk=ytαt,k,yt∈X(12)p_{copy}=\mathop{max}\limits_{where~x_k=y_t}\alpha_{t,k},\qquad y_t\in X\tag{12}pcopy=wherexk=ytmaxαt,k,ytX(12)
其中 XXX 是输入序列所包含的词汇,gpg_pgp 是平衡 pvocabp_{vocab}pvocabpcopyp_{copy}pcopy 的可训练参数。pvocabp_{vocab}pvocabpcopyp_{copy}pcopy 分别表示从词表生成单词和从输入序列复制单词的概率。

3.2 Keywords Tagging

RACE 中的问题和答案是由人类专家生成的,答案在上下文中不是连续的跨度,这与其他常用的 QG 数据集不同。为此,QG 中传统的答案标注方法不能直接用于我们的任务。为了将以答案为中心的信息引入上下文表示,我们使用关键字标记方法来定位与答案相关的单词。
  Rough Answer Tagging。将答案单词(出现在答案文本中的词)表示为 AtA_tAt。 我们首先使用 NLTK 删除 AtA_tAt 中的停用词以获得有意义的内容词 AfA_fAf 。然后,我们将每个段落的单词与 AfA_fAf 匹配,并用“AAA”标签标记这些匹配的单词。
  Key Sentence Tagging。给定一个上下文段落,相关的问题和答案通常集中在一个特定的主题上,该主题依赖于一个或几个关键句子,而不是完整的段落。 为了捕捉这些重要信息,我们在段落中找到这些关键句子,并用特殊标签“SSS”标记该句子中的所有单词。受 Chen and Bansal (2018) 工作的启发,对于 EQG-RACE 三元组中的每个答案文本 AiA_iAi,我们通过以下方式找到最相似的上下文句子SjS_jSj
j=argmaxt(ROUGE−Lrecal(St,Ai))(14)j=\mathop{argmax}\limits_{t}(ROUGE-L_{recal}(S_t,A_i))\tag{14}j=targmax(ROUGELrecal(St,Ai))(14)
其中 StS_tSt 是输入段落中的第 ttt 个句子。
  请注意,答案单词标签“AAA”的优先级高于“SSS”,这意味着如果一个单词同时具有“AAA”和“SSS”标签,它将被标记为“AAA”。 如果一个句子或单词不属于任何关键词或关键句,它将被标记为“OOO”。
  在我们的实验中,“AAA”、“SSS”和“OOO”标签被随机初始化为 32 维的可训练变量,作为增强上下文表示的特征。我们将关键字标记 ktpk^p_tktp 与词嵌入 etpe^p_tetp 拼接起来作为丰富特征的输入。等式 2 可以改写为:
htp=LSTM(ht−1p,[etp;ktp])(15)h^p_t=LSTM(h^p_{t-1},[e^p_t;k^p_t])\tag{15}htp=LSTM(ht1p,[etp;ktp])(15)

3.3 Answer-guided Graph


  RACE 中的问题旨在测试学习者的理解能力(如总结和态度分析)。生成这样高质量的问题涉及不同的认知技能,并且通常需要对复杂关系进行深入推理,包括句内和句间的关系。这与现有的 QG 数据集(如 SQuAD)不同,后者主要考察上下文中的跨度细节。因此,传统的 CNN 和 RNN 方法无法满足这一艰巨任务的需求。
  为了解决这个问题,我们提出了一个答案引导的图卷积网络(AG-GCN)来对段落进行编码。如图 2 所示,可以通过以下步骤详细说明图的构建:

  • Step 1:为上下文段落中的每个句子实现依存解析。
  • Step 2:通过连接位于句子边界且彼此相邻的节点来链接相邻句子的依存树,以构建段落级依存解析图。
  • Step 3:通过Rough Answer Tagging方法检索给定答案的答案关键词 AfA_fAf,并从段落级图中删除“孤立”节点及其边以构建答案引导图。

在第 2 步之后,我们得到了一个段落级依存解析图,每个段落的单词对应于图中的一个节点。然而,并不是每个词都能有助于基于答案的问题生成,只有答案关键词及其有助于 QG 生成过程的部分才行。为了减少冗余信息并专注于关键词,我们从段落图中删除了“孤立”节点及其边。具体来说,我们根据答案关键词 AfA_fAf 将文章中的句子分为 3 组SBS_BSB(Begining) 表示包含 AfA_fAf 中单词的句子;SIS_ISI(Inside)表示连接任意两个SBS_BSB的句子;其他表示为 SOS_OSO(Out)。我们将 SOS_OSO 中的节点视为“孤立”节点,因为它们不包含以答案相关的信息,并且不能对两个基本句子之间的推理过程做出贡献。
  未加权的图邻接矩阵可以表示为 AAA,如果节点 iii 与节点 jjj 连接,则权重 AijA_{ij}Aij 为 1,否则为 0。对于 GCN 的实现,我们遵循 Kipf and Welling (2016) 的工作。我们以 AAA 和词嵌入 EEE 作为输入,编码过程可以表述为:
gtl+1=σ(D~−12A~D~−12gtlWl)(16)g^{l+1}_t=\sigma (\tilde D^{-\frac{1}{2}}\tilde A\tilde D^{-\frac{1}{2}}g^l_tW^l)\tag{16}gtl+1=σ(D~21A~D~21gtlWl)(16)
D~ii=∑jA~ij(17)\tilde D_{ii}=\sum_j\tilde A_{ij}\tag{17}D~ii=jA~ij(17)
A~=A+IN(18)\tilde A=A+I_N\tag{18}A~=A+IN(18)
其中 DDD 是对角矩阵,INI_NIN 是单位矩阵。GCN 的第 lll 层以上一层的输出 gtl−1g^{l−1}_tgtl1 作为输入,gt0g^0_tgt0 设置为 EEE。我们采用两层 GCN 模型。
  最后一层的输出gtLg^L_tgtL被送入一个前馈层,得到最终的输出gtpg^p_tgtp。然后我们将它与词嵌入和关键字标记嵌入拼接起来作为编码器输入。因此,等式 15 可以重写为:
htp=LSTM(ht−1p,[etp;ktp;gtp])(19)h^p_t=LSTM(h^p_{t-1},[e^p_t;k^p_t;g^p_t])\tag{19}htp=LSTM(ht1p,[etp;ktp;gtp])(19)

3.4 Exploring Pre-training Embeddings

由于 EQG-RACE 样本的数量相对较少,深度神经网络可能会遇到训练不足的情况。为了解决这个问题,我们引入预训练嵌入 ptpp^p_tptp(例如 BERT 和 ELMo 嵌入),作为编码器输入的补充:
htp=LSTM(ht−1p,[etp;ktp;gtp;ptp])(20)h^p_t=LSTM(h^p_{t-1},[e^p_t;k^p_t;g^p_t;p^p_t])\tag{20}htp=LSTM(ht1p,[etp;ktp;gtp;ptp])(20)
在这里,我们通过 BiLSTM 网络获得段落编码 htph^p_thtp。此外,我们通过等式 6 对 htph^p_thtp 进行自注意力操作以获得高级表示 h^tp\hat h^p_th^tp

3.5 Passage-answer Fusion

为了很好地捕捉段落 PPP 和答案 AAA 之间的相互依赖关系,我们将答案表示 hAh^AhA 与段落表示 h^tp\hat h^p_th^tp 融合,来作为最终编码器输出的基于答案的表示:
h~tp=tanh(Wu[h^tp;hA;h^tp∗hA;htp+hA])(21)\tilde h^p_t=tanh(W^u[\hat h^p_t;h^A;\hat h^p_t*h^A;h^p_t+h^A])\tag{21}h~tp=tanh(Wu[h^tp;hA;h^tphA;htp+hA])(21)
其中 hAh^AhA 是通过双向 LSTM 网络获得的答案隐藏状态。
  此外,在解码过程中,第一个疑问词是生成整个问题中最重要的部分之一。 因此,我们不使用段落编码器的最后一个隐藏状态 h^tp\hat h^p_th^tp,而是使用答案编码器状态 hAh^AhA 作为解码器的初始化。在这种设置下,解码器可能会生成更多以答案为中心的疑问词。

EQG-RACE: Examination-Type Question Generation翻译相关推荐

  1. 阐明性问题生成 (Clarification Question Generation) 概览

    ©PaperWeekly 原创 · 作者|章志凌 学校|上海交通大学硕士生 研究方向|文本生成和知识图谱 Clarification/clarifying question generation (C ...

  2. 论文学习8-How Question Generation Can Help Question Answering over Knowledge Base(KBQA-知识问答)

    文章目录 abstract 1.introduction 2. our approach 2.2 微调fine tuning 3.Model 3.1QA Model 3.2QG model abstr ...

  3. 论文阅读 Question Generation

    对seq2seq模型,attention机制以及NLP评价标准不了解的同学可以看的另外三篇笔记(暂未完成),文中将不仔细介绍这些内容,有疏漏或者补充欢迎评论~ QG相对QA来说研究少了不少,粗略在ar ...

  4. 浅谈问题生成(Question Generation)

    ©作者 | 刘璐 学校 | 北京邮电大学 研究方向 | 问题生成与QA 问题生成(Question Generation)是文本生成中的重要子任务,旨在根据输入数据(文本.知识库.图像等类型,本文仅聚 ...

  5. VALSE学习(十六): Visual Question Generation and Answering-视觉问题生成和视觉问题

    简介:VALSE2019  沈春华老师 相关知识: https://blog.csdn.net/LHWorldBlog/article/details/81124981 https://www.jia ...

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

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

  7. 问题生成论文(question generation)-2020

    自然语言论文查找 康奈尔大学cl 1.2020_Toward Subgraph Guided Knowledge Graph Question Generation with Graph Neural ...

  8. Prefix-Tuning: Optimizing Continuous Prompts for Generation翻译

    摘要 微调是利用大型预训练语言模型来执行下游任务时所使用的方法.但是,它修改了语言模型中所有模块的参数,因此需要为每个任务存储全拷贝.在本文中,我们提出了Prefix-Tuning,一种轻量级替代方法 ...

  9. Syn-QG: Syntactic and Shallow S emantic Rules for Question Generation阅读笔记

    Abstract 很多问题生成(QG)任务基本上是一种简单的句法转换:然而,句子语义的许多方面都会影响到问题的质量.Syn- QG来实现对语义的利用,Syn QG系统由一组透明的语法规则组成,利用了通 ...

最新文章

  1. 【 C 】关于相邻字符串常量自动合并的标准(新旧标准)(新旧风格)(陷阱)
  2. Angular学习心得之directive——require选项的细节
  3. Linux基础命令介绍十:文本流编辑 sed
  4. Original error was: DLL load failed: 找不到指定的模块。--解决办法
  5. rxjava背压怎样使用_使用MicroProfile应用隔板和背压
  6. 测试比java_Java11比Java8快多少,不是测试人员一眼也能看懂
  7. visual studio(vs)中项目解决方案的目录组织安排
  8. NSURLSession访问HTTPS网站
  9. 【LeetCode】【数组】题号:*453,数组元素相等的最小操作次数
  10. linux系统中的i386/i686和x86_64有什么区别
  11. Google Earth Engine(GEE)——将原始影像进行升尺度计算(以海南省为例)
  12. mysql数据库用sql进行增删改操作
  13. OrCAD多页原理图器件按页编号的设置
  14. 硬盘老是显示正在计算机,电脑开机总是提示正在扫描和修复驱动器解决措施
  15. 激光雷达进入「规模化」上车周期?最大变数是什么?
  16. IOS 5 自定义导航条背景图片
  17. 【CSS】几种尺寸单位
  18. 物联网项目开发编程语言一览
  19. 计算机图形学(三)-图形学中的基本变换(缩放、平移、旋转、剪切、镜像)
  20. 工作展望简短_2018励志句子简短大全 展望2018励志正能量句子最新励志说说

热门文章

  1. 优点电子签章系统无法解除_电子签章有哪些优势?
  2. 插值算法(用于预测)
  3. [Win10] HM 软件安装
  4. 逻辑思维类面试题汇集一
  5. Matlab 曲线拟合之polyfit与polyval函数
  6. CNN卷积神经网络 ILSVRC-2012
  7. java将m3u8转成视频文件
  8. 使用jquery.orgchart实现栏目树的配置与展示
  9. 关于售前、售后、产品、市场、销售几个部门职能的理解
  10. 武磊进球,我连夜分析了武球王2019赛季数据