文章起源 | 恒源云社区
原文地址 | 通过摘要信息问题生成改良无监督问答
原文作者 | 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 来获取摘要句子的依存关系树、命名实体和语义角色标签。
删除满足以下三个条件中的三元组:
- 超过 480 个 token 的文章(超过最大 BART 输出长度);
- 文章中答案跨度中不超过 55% 的 token 的文章(以确保答案和短文之间有足够的词汇重叠)
- 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 工具包来提取段落中的实体提及。
而后,删除满足以下三个条件中的一个或多个的段落,即答案对:
- 少于 20 个单词而超过 480 个单词的段落;
- 没有提取答案的段落,或者因为文本 tokenization 而提取的答案不在段落中;
- 由单个代词组成的答案。
将段落和答案连接成模式 \(passage<SEP>answer<SEP> \)的序列,而后输出到训练好的 BART-QG 模型中取得相应的问题。这产生了 20k 个合成 QA 对,而后将其用于训练无监督 QA 模型。
4.2 RESULTS
应用生成的 2 万个合成问答对来训练 BERT QA 模型,并首先在基于维基百科的三个基准问答数据集 SQuAD1.1、Natural Questions 和 TriviaQA 的验证集上验证了该模型的性能。本文办法的后果如表 1 和表 2 所示。
无监督的基线:
- Unsupervised Question Answering by Cloze Translation 采纳无监督神经机器翻译训练 QG 模型,生成 4M 个合成 QA 实例来训练 QA 模型
- 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 启发
- 能不能依据一些形容生成问题呢?
- 启发式的算法能够是一些属性常识吗?