文章起源 | 恒源云社区

原文地址 | 通过摘要信息问题生成改良无监督问答

原文作者 | Mathor


上海于昨日发表要开始在全市范畴内发展新一轮切块式、网格化核酸筛查!【恒源云】云墩墩☁️ 揭示小伙伴们,不论居家还是出门,都要留神防疫哦~

兴许是居家的小伙伴真的很多,兴许是春天来了大家积极性加强,社区技术贴那是一个接一个的发啊!

明天呢,给大家带来老朋友Mathor的文章。

注释开始

1 Abstract

问题生成(QG)是为给定的\( <passage,answer> \)pair生成似是而非的问题的工作。基于模板的QG应用<u>语言信息启发式将陈述句转换为疑问句</u>,对于监督QG应用<u>现有的问答(QA)数据集来训练零碎,以生成给定段落和答案的问题</u>。

  • 启发式毛病:生成的问题与它们的申明性对应问题严密相干。
  • 监督办法:它们与用作训练数据的QA数据集的域/语言严密相干。

本文提出无监督的QG办法:应用从摘要中启发式生成的问题作为QG零碎的训练数据的起源。(利用启发式办法将陈说性摘要句子转化为适合的问句)

  • 本文应用的启发式办法:依赖句法分析、命名实体辨认、语义角色标注等。

通过无监督QG产生问题,而后将产生的问题与原始文章联合,以端到端训练神经QG模型。

1 Introduction

问题生成的目标是在给定一组输出段落和相应答案的状况下产生有意义的问题。

晚期QG的钻研基于模板生成,但这样的问题不足多样性,并且与相应的陈说句子有很高的词汇重叠度,例如:\( Stephen\ Hawking\ announced\ the\ party\ in\ the\ morning \) 的句子生成的问题,以Stephen Hawking(斯蒂芬·霍金)为候选答案跨度,可能是Who announced the party in the morning?(谁在早上发表了团聚?),能够看到生成的问题和陈述句之间有很高的词汇重叠。这在问题零碎中是不可取的,因为问题中强烈的词汇线索会使它成为一种很差的真正意义上的了解。

起初神经seq2seq模型成为QG的主导,通常从人类创立的QA数据集取得\( <passage,answer,query> \)三元组训练,这种办法限度了对数据集的畛域和语言的利用,并且须要大量的工夫和资金。

本文提出一种新的无监督办法,将QG形容成一个摘要-发问过程(summarization-questioning)。通过应用收费取得的摘要数据,对摘要进行依存关系剖析、命名实体辨认和语义角色标注,而后利用启发式办法依据解析的摘要生成问题。

图一显示了一个实例(通过应用不同候选答案span的摘要句子的语义角色标注启发式生成的示例问题):

问题要从摘要中产生而不是原始段落中,因而摘要是作为问题和段落之前的桥梁存在的,最初生成的问题和段落的词汇重叠局部也较少,这种办法是可行的,因为摘要中蕴含了段落中最重要的信息,在语义上也和段落靠近。另外摘要数据要比QA数据集获取要容易的多,因为许多QA数据集是专门为训练QA零碎而创立的。

2 Realated Work

在无监督QA中,应用基于QG模型的合成数据而不是现有的QA数据集来训练QA模型。代替求助于现有的QA数据集,采纳了无监督的QG办法,例如无监督的神经机器翻译Unsupervised Question Answering by Cloze Translation、Template-Based Question Generation from Retrieved Sentences for Improved Unsupervised Question Answering。Harvesting and Refining Question-Answer Pairs for Unsupervised QA提出了基于模板/规定的问题生成办法,并将检索到的段落和被援用的段落作为源段落,以缓解段落和问题之间的词汇类似问题。

3 Methodology

本文提出的办法应用合成的QG数据,而后应用一些启发式办法从摘要数据创立QG数据来训练QG模型。

图2中展现了本文的模型(答案和问题是基于问题生成启发式的摘要生成的,答案与文章联合造成编码器的输出,问题被用作解码器输入的ground-truth):

3.1 QUESTION GENERATION

为了防止生成与相应说明性语句高度类似的琐碎问题,本文采纳摘要数据作为连贯生成的问题和原始文章的桥梁。

  • 对摘要句进行依存剖析(DP),而后是命名实体辨认和语义角色剖析(SRL)

    • DP被用来辨认次要动词(动词根)和其余成分(助动词)的一种伎俩。
    • NER负责摘要句子中的所有实体,以便于发现要生成的最合适的问句。
    • 语句剖析的要害是SRL,被用来获取摘要句子的所有语义框架,每个框架有一个动词和一组论元组成,这些论元对应于句子中的短语。

      • 例如,参数能够包含AgentAgentAgent(其发动由动词形容的动作)、PatientPatientPatient(其进行该动作)以及一组修饰符参数,如ARG-TMP或ARG-LOC
    • 依据论元类型和NER标签从论元生成疑问句,这意味着能够独特确定wh-words

图1中的示例:给出SRL剖析[\( U2’s\ lead\ singer\ Bono\ ARG-0 \)]has [$had\ VERB \)] [\( emergency\ spinal\ surgery\ ARG-1 \)] [\( after\ suffering\ an\ injury\ while\ preparing\ for\ tour\ dates\ ARG-TMP \)]。依据这三个论点能够生成图1中所示的三个问题。

3.2 TRAINING A QUESTION GENERATION MODEL

本文应用的摘要数据由\( <passage-summary> \)对组成。问题是应用3.1节中形容的启发式办法从摘要中生成的,这样就有了\( <passage-sumary> \)对和\( <summary-question-answer> \)三元组,而后咱们将它们组合成\( <passage-answer-question> \)三元组,以训练QG模型。

本文训练一个端到端的seq2seq模型,而不是部署一个管道,首先生成摘要,而后再生成问题,以打消生成过程中谬误积攒的危险。通过应用这些QG数据来训练神经生成模型,冀望该模型学习summary和问题生成的组合。换句话说,这样的常识能够通过QG数据隐含地注入到神经生成模型中。

为了训练问题生成模型,本文将每个段落和答案连接起来,造成一个序列:\( passage<SEP>answer<SEP> \),其中\( <SEP> \)是用于分隔段落和答案的特殊符号。这个序列是输出,指标输入(指标)是question。本文应用BART进行生成,通过以下负对数似然损失函数进行优化:

其中\( q_i \)是question的第\( i \)个token,C、AC、AC、A示意上下文和答案。

4 Experiments

4.1 EXPERIMENT SETUP

4.1.1 Question Generation

Datasets本文应用BBC新闻网站抓取的XSUM的新闻摘要数据来测试提出的办法。XSUM包含226,711个\( <passage-summary> \)对,每个摘要蕴含一个句子。

QG Details应用AllenNLP来获取摘要句子的依存关系树、命名实体和语义角色标签。

删除满足以下三个条件中的三元组:

  1. 超过480个token的文章(超过最大BART输出长度);
  2. 文章中答案跨度中不超过55%的token的文章(以确保答案和短文之间有足够的词汇重叠)
  3. 5个记号以下的问题(十分短的问题可能删除了太多的信息);

一共产生了14,830个\( <passage-answer-question> \)个三元组

4.1.2 Unsupervised QA

Datasets在六个抽取的问答数据集上进行了试验,别离是SQuAD1.1、NewsQA、Natural Questions、TriviaQA、BioASQ和DuoRC。

本文应用SQuAD1.1、NewsQA和TriviaQA的官网数据,对于Natural Questions、BioASQ和DuoRC,应用MRQA公布的预处理数据。

Unsupervised QA Training Details为了生成合成的QA训练数据,本文利用维基转储(Wikidumps),首先删除所有HTML标签和援用链接,而后提取长度超过500个字符的段落,从维基转储的所有段落中抽取60k个段落。应用Spacy和AllenNLP的NER工具包来提取段落中的实体提及。

而后,删除满足以下三个条件中的一个或多个的段落,即答案对:

  1. 少于20个单词而超过480个单词的段落;
  2. 没有提取答案的段落,或者因为文本tokenization而提取的答案不在段落中;
  3. 由单个代词组成的答案。

将段落和答案连接成模式\( passage<SEP>answer<SEP> \)的序列,而后输出到训练好的BART-QG模型中取得相应的问题。这产生了20k个合成QA对,而后将其用于训练无监督QA模型。

4.2 RESULTS

应用生成的2万个合成问答对来训练BERT QA模型,并首先在基于维基百科的三个基准问答数据集SQuAD1.1、Natural Questions和TriviaQA的验证集上验证了该模型的性能。本文办法的后果如表1和表2所示。

无监督的基线:

  1. Unsupervised Question Answering by Cloze Translation采纳无监督神经机器翻译训练QG模型,生成4M个合成QA实例来训练QA模型
  2. Harvesting and Refining Question-Answer Pairs for Unsupervised QA应用依存关系树来生成问题,并应用被援用的文档作为段落

4.3 EFFECT OF DIFFERENT HEURISTICS不同启发式的成果

  • \( \mathrm{Naive-QG} \)只应用摘要句作为上下文(不是原始段落 ),只用适当的问句替换答案的span。例如\( Stephen\ Hawking\ announced\ the\ party\ in\ the\ morning \)的句子,以\( party \)为答案span,\( \mathrm{Naive-QG} \)产生的问题会是\( Stephen\ Hawking\ announced\ what\ in\ the\ morning? \)。采纳摘要句作为输出,问题作为指标输入,造成QG训练数据。
  • \( Summary-QG \)应用摘要的原文作为段落,而不是摘要句,以防止段落和问题之间的词汇高度重叠。

    • \( \mathrm{Main\ Verb} \)主谓词:只依据摘要句依存关系树中主谓词的SRL框架生成问题,而在从句中应用动词;
    • \( \mathrm{Wh-Movement} \)将问题词挪动到句子的结尾;
    • \( \mathrm{Decomp-Verb} \)合成动词:次要动词被分解成根本模式和助词;
    • \( \mathrm{NER-Wh} \):应用NER标签来取得更精确的问句来答复,例如,对于\( NBA\ player\ Michael\ Jordan \)的答案跨度,问题词将是\( which\ NBA\ player \)而不是\( who\ or\ what \)。

5 启发

  1. 能不能依据一些形容生成问题呢?
  2. 启发式的算法能够是一些属性常识吗?