从6篇经典论文看问题生成及其相关技术
©PaperWeekly 原创 · 作者|Maple小七
学校|北京邮电大学硕士生
研究方向|自然语言处理


该论文提出了一种基于 Global Attention 机制的问题生成模型,并比较了句子级编码和段落级编码的效果。模型的自动评价指标远超基于规则的系统,同时人工评价表明模型生成的问题更规范更流畅,而且在语法和词汇上与原文重复不大(句法角色),具有一定的难度,有的问题甚至需要一些推理来回答(语义角色)。
1.1 问题背景
这也是为什么端到端的方法更为合理,我们不应该依赖于人工编写复杂的规则和传统 NLP 流水线式的模块串行方法,而是直接采用数据驱动的端到端方法,这样的方法已经在机器翻译、摘要生成和图像生成中取得了巨大的成功,因此作者也首次尝试了将基于 Global Attention 的神经语言模型用于问题生成。
1.2 模型建立






IR:基于信息检索的模型,其实根本称不上是一个模型,它度量输入句子与训练集中每个问题的距离/相关度,然后取得分最高的问题作为生成的问题,距离的度量可以采用 BM-25 或编辑距离。 MOSES+:是使用最为广泛的基于短语的统计翻译模型,在这里,作者将生成的问题类比于翻译的目标句子(虽然任务不同,但模型的思想都是相通的),作者用 KenLM 在目标侧训练一个三元语法模型,然后在开发集上用 MERT 微调模型。 DirectIn:很简单的技巧,也就是将输入句子根据标点分解为子句,然后将最大子句作为问题。 H&S:是一个经典的基于规则的模型,其参数有
just-wh、max-length、downweight-pro。Seq2Seq:经典的神经翻译模型,其输入句子为倒序输入,在开发集上调参并选择最低困惑度模型。
1.4.2 评估结果
自动评估
作者给出了六个自动评估指标(BLEU1-4、METEOR、ROUGE),作者甚至将每个指标的定义讲了一下,这里也正好小结一下:BLEU(BilinguaL Evaluation Understudy)测量的是两个句子的 n 元语法的重合程度(精确率),而 BLEU-n 是在 BLEU 的基础上测量两个句子至多 n 元的语法的匹配度,并对过短的句子施加惩罚(brevity penalty)(现在还是普遍认为 BLEU 指标偏向于较短的翻译结果)。
METEOR(Metric for Evaluation of Translation with Explicit ORdering)根据同义词(Synonyms)、词干(Stemming)和复述(Paraphrase)计算两个句子的相似度,可以反映模型的召回率。ROUGE(Recall-Oriented Understudy for Gisting Evaluation)与 BLEU 很像,但其衡量的是 n 元语法的召回率(适合 NMT,不适合 SMT)。
下面的评估结果表明 IR 和 MOSES 的精确度都很低,召回率也不如人意,但让我意外的是 DirectIn 的效果居然可以这么好,不过问句其实本身与原文会有较大的重合度,光靠自动指标计算 overlap 来评价其实并不能真实地反映生成答案的质量。
而 Seq2Seq 在没有 Attention 得情况下表现也不够好,在 Baseline 中只有基于规则的 H&S 可以与作者的模型有得一比,但 H&S 只是转换语法,而没有考虑语义信息。

在作者的模型中,加上预训练词嵌入的模型比不加入的模型表现会高两个点,而值得注意的是句子+段落级编码并不比纯句子级编码效果要好,也就是说,虽然在段落中的确包含了一些与问题相关的信息,但段落信息中更多的是噪声,当噪声信息大过有价值的信息时,加入之后性能反倒会下降了。
人工评估
作者对比了 H&S 和自己的模型的人工评估结果,指标主要关注问句的自然度(naturalness)和困难度(difficulty),自然度指的是语法的合理性和流畅性,而困难度指的是问句与原文的语法差异以及回答是否要求推理能力,有意思的是,难得见到有人对指标对比加上了统计显著性检验(截尾 t - 分布)。
评估结果是可以预想到的,但让人意外的是作者的模型生成的问题竟然比人工标注的问题更具有挑战性,作者认为,有一种可能性是因为模型是将所有的句子-问答对塞进去训练,而一个句子可能会有多个问题,这就导致了模型在生成问题时,会综合人工标注的问题,使得生成的问题比起人工标注的问题更加 diversity,也就更具有难度。
另外,作者在这里提到了一个 inter-rater agreement of Krippendorff's Alpha 指标,应该是用于衡量评估者之间的内部一致性。

作者给出了一些生成问题的例子,有趣的是,一些生成的问题居然需要外部知识来回答,比如下面这个例子:

生成的问题是 “Why birds grow”,而正确的问题应该是 “Why many species stil grow”,原文中只提到了 “species”,但作者的模型竟然生成了 “birds”,也就是说,需要人来推理出 birds 时 species 的一种,而这在原文中并没有说明。这是很有趣的现象,研究模型是通过怎样的机制生成了这些看似无关的单词,给模型一个合理的解释,是很有价值的。
Attention
Attention 已经讲过很多了,在这里直接给图,一目了然:

段落级编码 vs 句子级编码
之前提过,加入段落级编码反倒会让模型变差,为了探究背后的机制,作者将开发集中的问题按回答问题所需要的信息量大小分成了四个类型:只需要句子级信息、需要段落级信息、需要篇章级信息、需要外部世界信息。
模型在这四个类别问题的表现如下所示,可以发现,句子级模型在需要段落级信息的问题上表现非常差,而段落级模型表现会好很多,这也间接表明了虽然段落中存在很多噪音,但当段落中的信息对问题有较大的帮助时,是可以提升模型性能的,只是在数据集中大部分问题只需要句子级信息,所以段落级信息会带来更多噪声。
这也为我们提出了一个新的挑战,也就是如何有效地利用段落级信息,去除里面的噪声,提高模型性能。另外,也可以借助更多的机制(比如 Copy Mechanism,后面有人用过了)来进一步提高模型性能。


NLPCC 2017

这篇论文同样是首篇将深度学习技术运用到了面向问答系统的问题生成中的论文(与上一篇几乎同一时间发表),问题生成是问答的反向任务,作者将 QG 任务定义为:给定一个自然语言句子及该句子中的一个连续子串(answer spans),要求根据该句子生成一个自然语言问题,且其答案为给定的子串。
传统方法基本是在句法树上定义启发式规则对答案句进行变换,如经典的 PCFG-Trans,其严重依赖于人工操作,较为繁琐,不可移植且生成的问题质量不高。另外还有人在结构化的数据上采用神经网络来生成事实型问题,但本文的亮点就在于首次直接从非结构化的自然语言文本中生成非结构化的自然语言问题。
本文的基础模型是 2014 年提出的 seq2seq 模型,在 Encoder 中,作者提出利用 Feature-Rich Encoder 将答案位置信息(Answer Position Feature,采用 BIO tagging)、词法信息(Lexical Feature: POS、NER)以及词汇信息(Word Embedding)进行编码,编码器采用的是 BiGRU,从而生成针对该答案的问题。在 Decoder 中,文章结合了 Pointing 机制(Copy Mechanism:Gulcehre 2016)以解决低频词和集外词问题。

高质量数据集从来都是是一个模型最终效果的关键之处,文章基于 Stanford 的大规模高质量的问答数据集(SQuAD),将开发集的一半作为测试集对模型进行评估,在编解码器共享词嵌入矩阵和预训练词向量(GloVe)优化下的 NQG++ 模型,在 BLEU-4 自动评测指标与人工标注指标上均显著优于传统的基于规则的方法。

在模型分析中,我们可以发现信息的重要程度 Answer Position >> NER > POS > Word Case,另外,作者发现 NQG++ 生成问题类型的 diversity 还是有的,但在 WHICH 类型的问题生成上表现不太好,大概有两个原因:
大部分 WHICH 类型的问题都可以转化为其他类型,比如 Which time When,Which team Who; SQuAD 中的 WHICH 类型的数据太少,导致模型学不到其特征,同理也可解释 WHY 类型的不良表现。

EMNLP 2017

3.1 问题背景
在机器阅读理解(MRC)中,模型的输入是三元组(passage, question, answer),而 q 和 a 均依赖于人工标注,然而人工标注的成本过高,如果在每个领域或应用场景下均需要人工标注大量数据,时间成本和金钱成本均是无法接受的,同时,若直接应用其他领域的模型,则模型性能会急剧下降。
为了解决在新领域人工标注数据不充足以及模型迁移的问题,作者提出了一种二阶段合成网络结构:SynNet,利用已有领域中的大规模高质量监督数据为基础进行训练,让模型学习在文本上自动生成问答对的能力,然后迁移(Transfer Learning)到无监督数据的新领域中,在新领域中自动合成 QA 对,替代人工标注,并用来调整源领域的模型使其更贴近于新领域。
该模型对缺少标注数据的 MRC 问题提出了迁移学习的解决思路,实现 MRC 的迁移落地,这篇论文应该是首次将迁移学习运用到了 MRC 领域中。
3.2 模型建立
比起其他单纯生成问题或回答问题的阅读理解任务,这里的任务是同时生成问题和答案,一般来说,QA 是抽取式(extractive)的任务,即问题的答案是文本中的关键语义概念(sematic concept),如 named entity, action, number 等,通常是一个单词或短语(将答案设置为文本片段主要是为了减小答案的搜索空间);
而 QG 是生成式(abstractive)的任务,问题是句法流畅的自然语言,因此问题和答案是不同类型的数据,应将其看作(q, a)元组。因此 SynNet 将问答对生成任务分解为答案的序列标注任务和问题的生成任务两部分:

即将模型分为两个阶段(Two-Stage)或者说两个模块:答案合成模块和问题合成模块,

3.2.1 答案合成模块
在答案合成模块中,作者训练了一个简单的基于 BiLSTM 的 IOB tagger(START, MID, END, NONE)来预测文本中某个单词是否为答案的一部分,即最大化 ,学习文本中可作为答案的片段,主要包括命名实体等语义概念。
模型首先采用 BiLSTM 对 p 的词向量(300d GloVe)进行编码产生上下文相关表示向量 ,然后通过两个全连接层和一个 Softmax 产生每个单词获得不同标记的似然概率,选择所有标记非 NONE 的连续单词序列作为候选答案,输入问题生成模块。
3.2.2 问题合成模块

3.5 结果
3.5.1 测试
作者将 SQuAD 作为源域,将 NewsQA 作为目标域来测试 SynNet 模型,值得注意的是,SQuAD 中 74.1% 的问题的答案可以通过单词匹配和改写得到,而 NewsQA 中这样的问题类型只占了 59.7%,即 SQuAQ 的问题相对简单。
模型的具体参数不用多说,值得一提的是,作者在训练答案生成模块时引入了 NER Tagger,因为人工标注不够充分,许多可以作为答案的片段没有得到标注,因此作者假设所有命名实体都可作为答案(这样做合理吗?人类往往只关心有意思的答案和问题,而对某些命名实体提问是不 interesting 且没有意义的)。
最后,集成的模型能在 NewsQA 数据集上取得 46.6% 的 F1 得分,接近域内全监督 MRC 模型的表现(F1 结果为 50.0%),超过域外基线模型 7.6%。

3.6 误差分析
3.6.1 答案生成模块
作者将人工标注的答案与 NER Tagger 生成的答案标注分别用于训练模型,发现基于自动标注的模型比基于人工标注的模型在 F1 上差了 10% 左右,说明了人工标注数据的重要性,因为人工标注数据往往是真正的关键语义概念,而自动生成的一些标注就不够 linguistic 或 interesting。
3.6.2 问题生成模块
作者为了衡量 copy 机制的影响,分别采用答案前后两句话和整段文本来生成问题,可以发现窗口越小时,生成的问题与文本的重复越多,而使用与文本大量重合的合成问题来训练模型,效果会变得不好,这再一次说明了人工标注数据的重要性,因为人工标注的问题往往与文本重复得很少,且有的问题涉及解释、推断、归纳,不能完全靠单词匹配来解决。
另外,copy 机制也导致了产生的问句和文本高度相似的问题,作者认为可以尝试引入 cost function 来促进解码过程的多样化,同时能让迁移的 MRC 模型取得更好的效果。
在问题的具体类型分析中,基于 SynNet 的 MRC 模型在每一类的表现都得到了提升,然而在某些需要一定的推理的问题类型(如 What was/did)中仍旧不好,目前来看,这仍旧是一个难以解决的问题,也是一个非常有价值的研究方向。
3.6.3 训练


EMNLP 2019

4.1 问题背景
这篇论文来自于 EMNLP 2019,本文主要是为了解决 MRC 问题生成中一项重要的任务:indentify answer-relevant context words,即识别出与答案相关的上下文,并将文本中的陈述句转换为疑问句(declarative-to-interrogative),而目前大多数模型均在直觉上假设离答案越近的单词与答案的相关性越高,因此越容易出现在问题中。
然而,这一直觉并不总是对的,当答案与文本中那些出现在标准问题(golden question)中的非停用词距离较远时,这类模型的性能就会大幅下降。因此,作者提出了所谓的 to the Point Context,使得生成的问题更加 to the point。
4.1.1 前人工作
QG for MRC 首先由 Mitkov 使用基于规则的模型来解决,在最近几年的 DL 模型中,由于从文本到问题的转换是一对多的转换,一个文本可以提出许多不同方面的问题,这使得模型难以得到自动评估,因此《Neural Question Generation from Text: A Preliminary Study》假设答案是文本中的连续片段,一个答案生成一个问题。
之后,有人提出了之前的直觉上的假设,将答案周边文本的位置信息(即与答案的距离)编码来生成问题,取得了不错的效果。而本篇论文就是在这些基础上,将关系抽取引入模型,克服了以往模型假设的缺陷。
4.1.2 本文工作
当面对存在插入语之类的文本时,某些语义概念可能会纠缠在一起,导致与答案相关的语义概念与答案相距甚远,在路径中间存在其他与问答无关的概念,而以往的模型会误认为答案与插入语中的概念的关系更为紧密,导致问题的错误生成。作者给出了问题中非停用词与答案在文本中的平均距离处在不同区间时模型的性能:

可以看到当平均距离过大时,性能存在明显的下降,这正是因为关键的语义概念与答案的距离过大,而模型过于强调邻近词的作用,导致模型难以捕捉到它们之间的长距离关系。
因此作者抽取了结构化的与答案相关的关系(structured answer-relevant relations)来克服这个问题,关系的抽取能够提取句子的主要关系成分,忽略次要成分(如去除插入语),使得文本更加简单明了,而抽取出来的关系所组成的句子正是所谓的 to the point context。
4.2 模型框架
4.2.1 关系抽取模块
在关系抽取过程中,作者直接采用了现成的信息抽取工具 OpenIE,然后根据特定的启发式规则选取与答案相关系最高的关系作为输入。
为了保证关系的信息量,同时防止生成过多的关系,作者选择参数数量可变的 n-ary format 表示抽取的关系,然后将抽取的关系参数连接起来形成句子(to the point context)。由于从文本中抽取的关系数量众多,作者设定了三个准则来综合评价关系对给定答案而言是否有价值:
关系与答案有重叠词(Relevant) 关系的置信度高(Faithfulness) 关系含有大量的非停用词(Informativeness)

4.2.2 问题生成模型
建模的主要挑战在于如何有效地利用非结构化的文本句子(informativeness)和结构化的与答案相关的关系(faithfulness)中的信息,而这两部分都是存在噪声的,在非结构化文本中存在语义概念的纠缠,而生成的结构化关系可能不够准确。
因此,作者设计了一个基于 gated attention mechanism 和 dual copy mechanism 的 encoder-decoder 框架。
gated attention mechanism:attention 机制的改进版,用于控制来自非结构化文本和结构化关系输入的信息流。
dual copy mechanism:用于从两个信息源中 copy 单词,解决数据稀疏与生词问题,使得生成的问题既有信息量又足够准确。


4.2.3 训练
模型的参数不再细说,作者采用了 Teacher-forcing 训练模型,在测试时,作者选取了具有最低困惑度的模型,生成问题时,采用参数为 3 的 beam search 寻找局部最优问题序列。
注:Teacher-forcing:一般来说,RNN(LSTM、GRU)的训练有两种 mode:(1)Free-running mode;(2)Teacher-forcing mode。前者就是正常的 RNN 运行方式:上一个 state 的输出就做为下一个 state 的输入,然而这样做是有风险的,因为在 RNN 训练的早期,靠前的 state 中如果出现了极差的结果,那么后面的全部 state 都会受牵连,以至于最终结果非常不好,同时也很难溯源到发生错误的源头,而 Teacher-forcing mode 的做法就是,每次不使用上一个 state 的输出作为下一个 state 的输入,而是直接使用 ground truth 的对应上一项作为下一个 state 的输入,使得训练效果更快更好。然而这么做也有它的缺点,因为依赖标注数据,在 training 的时候会有较好的效果,但是在 testing 的时候就不能得到 ground truth 的支持了。
(Teacher-forcing 似乎要求生成的问句与标注的问句一一对应,这是一种强制性很强的约束,强制单词的一一对应消除了生成语义相似的其他问题的可能性,使得生成问题的多样性下降,同时当生成问题序列时,若与训练过程存在很大的不同,则会导致很大的误差,这类似于模型的过拟合,在训练集内表现良好,在集外则不如人意。)
4.2.4 模型评估
作者对 SQuAD 数据集做了一系列预处理,然后分别与前人的模型比较一系列自动评价指标(BLEU1, 2, 3, 4, METEOR, ROUGE-L),很显然作者的模型在各个指标上均有优异的表现。

4.3 结果分析
可以认为,抽取出来的结构化的与答案相关的关系是对 proximity-based 方法的一种泛化,后者只能捕捉短距离依赖关系,而前者既能把握近距离关系,也能把握远距离依赖关系。

为了衡量引入 to the Point Context 之后模型的性能提升幅度,作者将测试数据按平均距离划分成了两部分,可以发现,作者的模型在所有指标上都超过了 Hybird 模型。同时,在存在长距离依赖(>10)的样本上,作者在 Hybird 模型上性能的提升更为显著,这正好证明了 to the point context 在捕捉长距离依赖关系上存在明显有效的作用。
4.3.1 模型亮点
这篇论文最吸引我的地方在于,作者发现模型可以根据文本中的一个答案生成多个不同类型的问题,因为当文本中存在多个与答案相关的关系时,每一个关系均能生成对应的问题,根据不同的关系生成的问题对应于答案不同的语义角色,且问题类型很可能是不同的,从而使得生成的问题具有多样性,而以往的模型只能根据一个答案生成一个问(one-to-one mapping problem)。这正好说明关系抽取在 NLP 中具有重要的价值。
另外,这也正好使得模型具有可解释性,因为在生成问题时,我们不能仅仅依赖于答案去提问,同时应该指定需要生成的问题所需涉及的语义概念,而这些语义概念正包括在了抽取的关系中,因此,问题的生成不能依赖于答案周围的单词序列,而应该依赖于语义概念之间存在的关系,比如,下面的例子就说明了根据同位语关系和主谓宾关系生成的问题是不一样的,而以往的模型假设做不到这一点:


ACL 2018

5.1 问题背景
之前讲过的 NQG++ 论文发表于 2017 年 4 月 6 日,而本篇论文发表于 2017 年 6 月 14 日。这两篇论文解决的问题与思路非常相似,NQG++ 假定 Answer spans 是给定的,利用给定的文本和答案生成问题,但是 Answer spans 仍旧需要得到人工标注,在现实的应用场景下,这样的模型同样不好落地。而 Microsoft 的这篇论文则是直接在没有答案的文本上,即没有任何标注的文本上生成问题。
作者首先在有监督的 QA pairs dataset 上训练出一个基于 DL 的提取 Key Phrases 的模型,然后利用这个关键短语抽取模型来抽取答案,代替人工标注,最后用 Seq2Seq 生成问题。对比于采用 NER tagger 标注答案与基于规则的基线系统,本文给出的模型表现更加优秀。
由于可以直接从无监督的文本中生成 QA 对,因此本文的模型可以用来生成大量不错的 QA 对,从而可以考虑用于半监督学习(Semi-supervised Learning)中的数据增强(Data Augmentation)。
同时,该技术本身的应用场景似乎也相当广泛,比如在教育领域中评测学生的阅读理解能力,人工制定问题来评估需要耗费大量脑细胞,而利用 QG 模型可以在短时间内从文章中生成大量问题用于评估,甚至能够生成不同难度的题目,从而达到减轻老师的负担,加大学生的负担的目的。(不过目前来看并不现实)
5.2 前人工作
QG 领域已经有很多人做过相关工作了,在深度学习兴起之前,大多数是基于规则的方法,比如句法分析、语义角色标注、带填充槽的模板、启发式的句法转换(主谓反转)等,当然这些方法生成的问题都缺少 diversity,都不够 inadequate,而最近兴起的的端到端训练模型才改变了这一领域的研究方向。
而与 QG 高度相关的问题就是,如何识别潜在关键且有趣的答案,以前的工作往往将其分为两步:关键短语抽取、打分排序选择,而本篇论文的亮点就在于,作者摒弃了这样的传统思路,而是直接根据人工标注的答案进行端到端建模,因为作者相信这样的端到端模型或多或少能学习到一些人类在标注数据时对所谓“interesting/important/appropriate answer”的一些迷之想法。
5.3 模型建立
作者的模型分为两部分(two-stage neural model)首先是提取 Key Phrases(interesting entities or events)作为 Answer Candidates,然后根据提取的 Key Phrase 生成问题。
5.3.1 关键短语抽取模块
首先,在人工标注的大规模问答对数据集上训练 Key Phrase Tagger,有趣的是,由于人类在标注数据时,往往只关注那些 interesting 的 entities 和 events,而对于他们认为没有价值的概念,则不予标注。由此,作者猜想从人工标注数据中训练的标注器,同样具有识别所谓 interesting key phrases 的能力。而传统的 NER 则要求尽量标注出所有的命名实体,不管其是否 interesting。













更多阅读



#投 稿 通 道#
让你的论文被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得或技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
· 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
· 如果文章并非首发,请在投稿时提醒并附上所有已发布链接
· PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
