恒源云 (GpuShare)_ 无监督的 QG 方法
文章来源 | 恒源云社区
原文地址 | 通过摘要信息问题生成改进无监督问答
原文作者 | Mathor
上海于昨日宣布要开始在全市范围内开展新一轮切块式、网格化核酸筛查!**【恒源云】**云墩墩☁️ 提醒小伙伴们,不管居家还是出门,都要注意防疫哦~
也许是居家的小伙伴真的很多,也许是春天来了大家积极性增强,社区技术贴那是一个接一个的发啊!
今天呢,给大家带来老朋友 Mathor 的文章。
正文开始
1 Abstract
问题生成(QG)是为给定的pair 生成似是而非的问题的任务。基于模板的 QG 使用<u>语言信息启发式将陈述句转换为疑问句</u>,对于监督 QG 使用<u>现有的问答(QA)数据集来训练系统,以生成给定段落和答案的问题</u>。
启发式缺点:生成的问题与它们的声明性对应问题紧密相关。
监督方法:它们与用作训练数据的 QA 数据集的域/语言紧密相关。
本文提出无监督的 QG 方法:使用从摘要中启发式生成的问题作为 QG 系统的训练数据的来源。(利用启发式方法将陈述性摘要句子转化为合适的问句)
本文使用的启发式方法:依赖句法分析、命名实体识别、语义角色标注等。
通过无监督 QG 产生问题,然后将产生的问题与原始文章结合,以端到端训练神经 QG 模型。
1 Introduction
问题生成的目的是在给定一组输入段落和相应答案的情况下产生有意义的问题。
早期 QG 的研究基于模板生成,但这样的问题缺乏多样性,并且与相应的陈述句子有很高的词汇重叠度,例如: 的句子生成的问题,以 Stephen Hawking(斯蒂芬·霍金)为候选答案跨度,可能是 Who announced the party in the morning?(谁在早上宣布了聚会?),可以看到生成的问题和陈述句之间有很高的词汇重叠。这在问题系统中是不可取的,因为问题中强烈的词汇线索会使它成为一种很差的真正意义上的理解。
后来神经 seq2seq 模型成为 QG 的主导,通常从人类创建的 QA 数据集获得三元组训练,这种方法限制了对数据集的领域和语言的应用,并且需要大量的时间和资金。
本文提出一种新的无监督方法,将 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 分析[]has [] [] []。根据这三个论点可以生成图 1 中所示的三个问题。
3.2 TRAINING A QUESTION GENERATION MODEL
本文使用的摘要数据由对组成。问题是使用 3.1 节中描述的启发式方法从摘要中生成的,这样就有了对和三元组,然后我们将它们组合成三元组,以训练 QG 模型。
本文训练一个端到端的 seq2seq 模型,而不是部署一个管道,首先生成摘要,然后再生成问题,以消除生成过程中错误积累的风险。通过使用这些 QG 数据来训练神经生成模型,期望该模型学习 summary 和问题生成的组合。换句话说,这样的知识可以通过 QG 数据隐含地注入到神经生成模型中。
为了训练问题生成模型,本文将每个段落和答案连接起来,形成一个序列:,其中是用于分隔段落和答案的特殊符号。这个序列是输入,目标输出(目标)是 question。本文使用 BART 进行生成,通过以下负对数似然损失函数进行优化:
其中是 question 的第个 token,C、AC、AC、A 表示上下文和答案。
4 Experiments
4.1 EXPERIMENT SETUP
4.1.1 Question Generation
Datasets 本文使用 BBC 新闻网站抓取的 XSUM 的新闻摘要数据来测试提出的方法。XSUM 包括 226,711 个对,每个摘要包含一个句子。
QG Details 使用 AllenNLP 来获取摘要句子的依存关系树、命名实体和语义角色标签。
删除满足以下三个条件中的三元组:
超过 480 个 token 的文章(超过最大 BART 输入长度);
文章中答案跨度中不超过 55%的 token 的文章(以确保答案和短文之间有足够的词汇重叠)
5 个记号以下的问题(非常短的问题可能删除了太多的信息);
一共产生了 14,830 个个三元组
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 而提取的答案不在段落中;
由单个代词组成的答案。
将段落和答案连接成形式的序列,然后输入到训练好的 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 不同启发式的效果
只使用摘要句作为上下文(不是原始段落 ),只用适当的问句替换答案的 span。例如的句子,以为答案 span,产生的问题会是。采用摘要句作为输入,问题作为目标输出,形成 QG 训练数据。
使用摘要的原文作为段落,而不是摘要句,以避免段落和问题之间的词汇高度重叠。
主谓词:只根据摘要句依存关系树中主谓词的 SRL 框架生成问题,而在从句中使用动词;
将问题词移动到句子的开头;
分解动词:主要动词被分解成基本形式和助词;
:使用 NER 标签来获得更准确的问句来回答,例如,对于的答案跨度,问题词将是而不是。
5 启示
不能根据一些描述生成问题呢?
启发式的算法可以是一些属性知识吗?
评论