0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一个新任务:给定知识图谱中的一条query path,生成对应的问题

深度学习自然语言处理 来源:深度学习自然语言处理 作者:深度学习自然语言 2020-10-10 10:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

引言

EMNLP2020中,复旦大学数据智能与社会计算实验室 (Fudan DISC) 提出了一篇基于事实的问题生成工作,论文题目为:PathQG: Neural Question Generation from Facts,被录取为长文。

文章摘要

关于问题生成的当前研究通常将输入文本作为序列直接编码,而没有明确建模其中的事实信息,这会导致生成的问题和文本不太相关或者信息量较少。在这篇论文中,我们考虑结合文本中的事实以帮助问题生成。我们基于输入文本的事实信息构造了知识图,并提出了一个新任务:给定知识图中的一条query路径生成问题。任务可以被分为两个步骤,(1)对query表示的学习;(2)基于query的问题生成。我们首先将query表示学习定义为序列标记问题,以识别涉及的事实从而学习到一个query表示,之后使用基于RNN的生成器进行问题生成。我们以端到端的方式共同训练这两个模块,并提出通过变分框架加强这两个模块之间的交互。我们基于SQuAD构造了实验数据集,实验结果表明我们的模型优于其他方法,并且当目标问题复杂时,性能提升更多。通过人工评估,也验证了我们生成的问题的确和文本更相关且信息更丰富。

研究动机

本文关注基于文本的问题生成任务(Question Generation from Text):输入一段文本,自动生成对应的问题。

当前端到端的问题生成研究,通常对输入文本直接编码并学习一个隐表示,而没有对其中的语义信息进行明确建模,这会使得生成过程有较大不确定性,导致生成的问题包含和给定文本不相关的信息或者信息量较少,如下图显示,生成的问题Q2包含了不相关的信息“Everton Fc”,而Q1虽然正确但是缺少特定的信息描述,显得比较简略。

先对输入文本中的事实(facts)进行建模可以减轻这些问题,并且针对文本中的多个事实,可以生成较为复杂(complex)的问题。我们通过对给定文本构建知识图谱(Knowledge Graph,KG)来表示其中的事实,并提出一个新任务:给定知识图谱中的一条query path来生成问题,其中query path是一条由多个事实三元组构成的序列,每个事实三元组包含两个实体以及它们的关系。如上图(b)显示了一个KG以及其中的两条query paths。

由于query path中并非所有事实都会在目标问题中被提及,我们首先需要学习一个query representation来表示query path中会被提及的事实信息,并基于此生成对应的问题,因此任务可以分成两个步骤:(1)对query representation的学习;(2)基于query的问题生成。我们以端到端的方式共同训练这两个模块,并提出通过变分框架加强这两个模块之间的交互。

我们使用了数据集SQuAD,并且为了验证模型在复杂问题生成上的效果,基于SQuAD构造了一个复杂问题数据集,并分别进行了实验。

模型

Path-based Question Generation

给定query path的问题生成任务包含两个步骤,我们设计两个模块:Query Representation Learner和Query-based Question Generator分别进行任务中的两个步骤。我们首先以端到端的框架PathQG共同训练这两个模块,具体结构如下图显示。

1. Query Representation Learner

由于query path中的不同的实体和关系会对生成目标问题有不同的贡献度,我们首先计算它们各自的贡献权重,从而学到一个query representation来表示目标问题将涉及的事实信息。

贡献权重计算:将query path看作是一条由实体和关系相间构成的序列,并将query path中各个成分的贡献度计算看作是一个序列标记过程。并且对输入文本进行编码作为context,通过attention帮助序列标记的概率计算,最后将各个位置的sigmoid概率作为各自的贡献权重。

Query表示学习:得到query path的各个成分的贡献权重后,我们以加权的方式对query path编码,学习到对应的query representationL。考虑到query path由实体和关系相间构成的特殊结构,我们使用循环跳跃网络(recurrent skipping network, RSN)来对路径序列进行编码。

2. Query-based Question Generator

基于学到的query representationL,解码生成对应的问题。将最后的query representation和context表示联合作为解码器的初始状态,并分别对他们执行注意力机制,逐步生成问题。

Variational Path-based Question Generation

对query representation的学习可以看成是对query path的一个推断过程,参考变分推断的思想,我们将query representation的学习看作是推导query的先验分布(prior query distribution),而基于query的问题生成是在计算目标问题的likelihood,我们又引入了一个额外的后验query分布(posterior query distribution),通过将目标问题作为指导来帮助减少query representation学习的不确定性。并且通过训练,使得query的先验分布不断靠近后验分布,最终提升生成的问题质量。变分PathQG的结构如下图。

实验

我们在SQuAD数据集上进行了实验,对每一条文本,通过场景图解析器(scene garph parser)和词性标注器(part-of-speech tagger)自动构建了知识图谱,并且根据参考问题从知识图谱中抽取出对应的query path。为了进一步验证模型在复杂问题生成上的效果,我们还根据query path中事实三元组的个数从SQuAD中划分了一个复杂问题数据集。在全数据集和复杂数据集上的实验结果显示我们的模型都优于其他模型。

除了自动评估,我们还通过Amazon Mechanical Turk (AMT)进行了人工评估,分别从问题的流利度、正确性(和给定文本和答案一致)、信息量对不同模型生成的问题进行了两两比较,结果显示我们的模型也取得不错效果。

我们还通过对不同模型生成的问题和给定文本之间的重叠率进行比较,来评估生成问题和给定文本的相关性。

最后还进行了一些案例分析,可以看出相对模型NQG+,我们生成的问题更加和文本相关和有信息量。在第一个样例中,我们生成的问题包含有特定信息“plymouth”和“late 18th”而*NQG+没有,而在第二个例子中NQG+*生成的问题包含不相关的“swazi economye”而我们生成的和给定文本更一致。

总结

这篇文章中,我们通过知识图谱对文本中的事实建模用于问题生成,并提出一个新任务:给定知识图谱中的一条query path,生成对应的问题。我们提出先学习一个query representation来表示问题中可能涉及的事实,再生成问题,将这两个模块联合进行训练并提出一个变分模型提升问题的生成。我们通过自动构建知识图谱并抽取出对应的query path构建了我们的实验数据集,结果验证了我们模型的有效性。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    1016

    浏览量

    56665
  • 生成器
    +关注

    关注

    7

    文章

    322

    浏览量

    22509
  • 数据集
    +关注

    关注

    4

    文章

    1231

    浏览量

    26050

原文标题:【论文】PathQG: 基于事实的神经问题生成

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Unix的相关知识

    些经验获益。 (1)让每个程序就做好件事。如果有新任务,就重新开始,不要往原程序中加入新功能而搞得复杂。 (2)假定每个程序的输出都会成为另一个程序的输入,哪怕那个程序还是未知的
    发表于 12-10 07:13

    如何创建浮点立即数

    和U-type格式的指令加载立即数,I-type格式包含12位立即数,U-type格式包含20位立即数,而且这20位是加载到寄存器的高20位的。所以,一条I-type指令加上一条U-type指令就可以加载
    发表于 10-21 13:51

    AI智能大模型,你身边的最好用的办公提效小能手

    几十亿到数万亿; 任务广:次训练可以支持多个任务,具备通用能力; 适应快:只需少量样例,就能迁移到新任务(Few-shot、Zero-s
    的头像 发表于 09-30 10:59 216次阅读

    【「AI芯片:科技探索与AGI愿景」阅读体验】+AI的未来:提升算力还是智力

    ,使其与新知识兼容。 2、迁移学习 迁移学习只寻求利用特定领域的知识来帮助目标领域学习,利用在任务上训练好的模型,来完成另
    发表于 09-14 14:04

    利用NVIDIA Cosmos模型训练通用机器人

    机器人领域的大核心挑战在于如何让机器人掌握新任务,而无需针对每个新任务和环境耗费大量精力收集和标注数据集。NVIDIA 的最新研究方案通过生成式 AI、世界基础模型(如 NVIDIA
    的头像 发表于 08-05 16:22 1762次阅读
    利用NVIDIA Cosmos模型训练通用机器人

    不只是传输信号:一条优质HDMI线如何提升观影沉浸感

    在家庭影院系统,我们常常把注意力放在电视的画质、音响的音效、片源的清晰度上,却容易忽略看似普通却至关重要的环节——HDMI线缆。很多人认为“HDMI线不就是根传输数据的线吗?能
    的头像 发表于 06-13 18:10 545次阅读

    CYUSB3014采用5根地址线通信,但其中一条地址线悬空,对数据通信有影响吗?

    CYUSB3014采用5根地址线通信,但其中一条地址线悬空,对数据通信有影响吗??是否还能进行正常的多个端点通信,只要跳过那个地址线对应的socket即可?
    发表于 05-21 07:59

    电路识图从入门到精通高清电子资料

    由浅入深地介绍了电路图的基础知识、典型单元电路的识图方法,通过“入门篇”和“精通篇”循序渐进、由浅入深地介绍了电路图的基础知识、典型单元电路的识图方法,以及典型小家电、电动车、洗衣机、
    发表于 04-10 16:22

    一条光纤怎么分两

    一条光纤可以通过以下方式分成两使用: 使用分光器 分光器是种光学器件,它可以将光信号按照定的比例分成多路。通常,分光器有1:2、1:4、1:8等不同的分光比例,这意味着
    的头像 发表于 02-25 10:07 3726次阅读

    彩色PAL信号输入到TVP5150,输出到显示器上时有出现图像好像被一条条竖线隔开样,什么原因引起的?

    彩色PAL信号输入到5150,输出到显示器上时有出现图像好像被一条条竖线隔开样。 当我输入黑白PAL时没出现这种现象。
    发表于 02-14 08:32

    2025未来产业创新任务 | 清洁氢

    据悉,1月17日,工业和信息化部办公厅发布《关于组织开展2025年未来产业创新任务揭榜挂帅工作的通知》(简称《通知》)。《通知》显示,揭榜任务内容面向量子科技、原子级制造、清洁氢3未来产业,布局
    的头像 发表于 01-22 08:19 1561次阅读
    2025未来产业创<b class='flag-5'>新任务</b> | 清洁氢

    【「基于大模型的RAG应用开发与优化」阅读体验】+大模型微调技术解读

    集对模型进行进步训练的过程。 大模型微调是利用预训练模型的权重和特征,通过在新任务数据集上的训练,对模型进行适应性和优化调整。使模型能够适应新的、具体的任务或领域,而无需从头开始训练
    发表于 01-14 16:51

    使用ADS1294R做产品过程,静电接触电极放电时,DOUT只输出固定的值,心电波形显示只是一条直线,为什么?

    在使用ADS1294R做产品过程,静电接触电极放电时,芯片的DOUT只输出固定的值,心电波形显示只是一条直线。这时进行芯片复位或者如果再次进行放电,又能恢复正常。 所有的输入端
    发表于 12-17 07:31

    传音旗下人工智能项目荣获2024年“上海产学研合作优秀项目奖”等奖

    和华东师范大学联合申报的“跨语言知识图谱构建与推理技术研究及应用”项目凭借创新性和技术先进性荣获等奖。该项目成功突破了多形态信息抽取技术、跨语言知识图谱对齐技术和知识问答对
    的头像 发表于 12-16 17:04 872次阅读
    传音旗下人工智能项目荣获2024年“上海产学研合作优秀项目奖”<b class='flag-5'>一</b>等奖

    数据手册些参数的数值有时画一条横线或者空着不填是什么意思?

    数据手册些参数的数值有时画一条横线或者空着不填是什么意思? 如上表, tCS的最大值是15ns,最小值和典型值都是空着的,是不是最小值和典型值我可以随便取(大于0小于15就行)?还是说只有最大值给出了,我只能取给出的最
    发表于 12-16 07:45