论文笔记整理:程茜雅,东南大学硕士,研究方向:自然语言处理,知识图谱。


Citation: Yuan X, WangT, Gulcehre C, et al. Machine comprehension by text-to-text neural question generation[J]. arXiv preprint arXiv:1705.02012, 2017.

 

动机

1、在智能系统里提出合适的问题有利于信息获取。

2、学会提出问题有利于提高回答问题的能力。

3、在大多数QA(Question Answering)数据集中回答问题属于抽取式(extractive)任务,相比较而言,提出问题属于生成式(abstractive)任务。

4、提出一个好的问题所包含的技能远超于回答问题所需的技能。因为一个问题通常只有一个答案,但是针对一个答案可能有多个问题。因此提出一个高质量的问题较难。

5、QG(Question Generation)应用广泛。譬如:为QA生成训练数据,自动导师系统等。

基于上述动机,本文构建了一个用于QG的神经模型,并将其应用在包含QA的任务中。这是第一个针对QG的端到端、文本到文本的模型。

方法

本文使用了encoder-decoder框架,其中encoder负责处理答案和文本,decoder负责生成问题。最后使用强化学习训练模型。

1、Encoder-Decoder框架

(1)Encoder

输入问题的答案和与问题有关的文本这两段序列。获取它们的word embeddings。给文本中每个word embedding增加一个二元特征来表示文本中的单词是否属于答案。使用双向LSTM神经网络对文本进行编码,得到每个单词的annotation向量(其实就是隐状态),并最终得到文本的语境向量。另外,将文中属于答案的单词的annotation向量组合起来,并且和答案的wordembedding一一对应联结,并输入到一个双向LSTM神经网络中进行编码,将每个方向的隐状态联结起来得到基于文本的答案编码向量(extractive condition encoding)。将该extractive condition encoding和文本的语境向量相联结,得到最终的语境向量,送入decoder中。

(2)Decoder

基于encoder的文本和答案,生成问题。并使用了pointer-softmax formulation,选择从原文本中copy或者自己生成。使用LSTMattention机制生成问题。

2、政策梯度优化

(1)动机

因为在训练encoder-decoder模型的过程中通常会使用teacher forcing,该方法存在一个弊端,它会阻止模型犯错,进而无法从错误中学习。所以本文使用强化学习来缓解这个问题。

(2)Rewards

本文在强化学习过程中使用了两种rewards,分别是QA的精确度结果R_qa和流畅性R_ppl

QA将模型生成的问题和原文本输入到QA模型中(本文用的是MPCM模型),得到答案,将该答案的精确度作为 reward R_qa,对模型进行激励。

流畅性(PPL)衡量生成问题的流畅性和语法正确性作为reward R_ppl,本文使用了perplexity

最后分别对R_qaR_ppl赋予权重,并相加得到总的reward

(3)Reinforce

使用REINFORCE算法最大化模型的预期reward

实验

1、数据集

本文使用的是SQuAD数据集。

2、Baseline

使用包含attentionpointer-softmaxSeq2Seq模型作为baseline模型。该模型除了在获取基于文本的答案编码向量(extractive condition encoding)的方法上与本文的模型不同之外,其余部分和本文的模型一样,baseline模型将所有文本的annoation向量取平均值作为基于文本的答案编码向量(extractive condition encoding)。

3、评测方法

本文只使用了自动评测的方法。评测指标分别是:NLL(negative log-likelihood)BLEUF1QA(MPCM生成的问题精度)PPL(perplexity)

评测结果如下图所示:

4、结论

(1)模型的BLEU值很低,这是因为针对一个文本和答案,可能有多个不同的问题。

(2) baseline 模型生成的问题流畅但比较模糊,本文的模型生成的问题更加具体,但是流畅性低,存在错误。

下图是各个模型针对text生成的问题。

(3)本文作者最后提出未来将研究人工评测来确定rewards和人类判断之间的关系,以此提升模型的效果。

思考与所得

依我之见,这篇文章有两个亮点值得借鉴。

1、对answer的编码处理方法。一般对于answer就是将它输入到一个RNN中,得到最后的隐状态。这种方式有一种弊端,得到的答案语境向量是脱离原文本而存在的,与文本的关联性较小。于是本文从输入的原文中找到对应于答案的annotation向量,将其组合起来,并将其一一和答案的word embedding相联结,输入到LSTM中进行编码,得到基于文本的答案向量。这样子就增强了答案向量和文本的相关性。

2、使用了政策梯度优化的强化学习方法训练模型。由于一般在训练过程中使用的teacher forcing无法让模型犯错,无法从错误中学习,所以本文用了强化学习的方法解决这个问题,其中针对本文的QG任务使用了两个特定的rewards。


OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

论文浅尝 | 通过文本到文本神经问题生成的机器理解相关推荐

  1. ###好好好#######论文浅尝 | 基于图注意力的常识对话生成

    论文浅尝 | 基于图注意力的常识对话生成 OpenKG 祝各位读者新春快乐,猪年吉祥! 来源:IJCAI 2018. 论文下载地址:https://www.ijcai.org/proceedings/ ...

  2. 论文浅尝 - ICLR 2020 | 用于文本推理的神经模块网络

    论文笔记整理:邓淑敏,浙江大学在读博士,研究方向为低资源条件下知识图谱自动化构建关键技术研究. 论文链接:https://openreview.net/pdf?id=SygWvAVFPr Demo链接 ...

  3. 论文浅尝 | 通过知识到文本的转换进行知识增强的常识问答

    笔记整理:陈卓,浙江大学在读博士,主要研究方向为低资源学习和知识图谱 论文链接:https://www.aaai.org/AAAI21Papers/AAAI-10252.BianN.pdf 发表会议: ...

  4. 论文浅尝 | DeCLUTR: 无监督文本表示的深度对比学习

    Giorgi, J. M., O. Nitski, G. D. Bader and B. Wang (2020). "DeCLUTR: Deep Contrastive Learning f ...

  5. 论文浅尝 | 如何利用外部知识提高预训练模型在阅读理解任务中的性能

    论文笔记整理:吴桐桐,东南大学博士生,研究方向为自然语言处理. 链接:https://www.aclweb.org/anthology/P19-1226/ 近年来,机器阅读理解已经逐渐发展为自然语言理 ...

  6. 论文浅尝 | 基于图注意力的常识对话生成

    OpenKG 祝各位读者新春快乐,猪年吉祥! 来源:IJCAI 2018. 论文下载地址:https://www.ijcai.org/proceedings/2018/0643.pdf 项目源码地址: ...

  7. 论文浅尝 | 实体图的预览表格生成

    链接:ranger.uta.edu/~cli/pubs/2016/tabview-sigmod16-yan.pdf 动机 对于结构化数据和关系数据,通常使用Schema图为数据库的使用者提供基本信息. ...

  8. 论文浅尝 | 图神经网络综述:方法及应用

    论文链接:https://arxiv.org/pdf/1812.08434.pdf GNN相关论文列表链接:https://github.com/thunlp/GNNPapers 近日,清华刘知远老师 ...

  9. 论文浅尝 | 近期论文精选

    本文转载自公众号 PaperWeekly, 对我们近期的论文浅尝进行了精选整理并附上了相应的源码链接,感谢 PaperWeekly! TheWebConf 2018 ■ 链接 | https://ww ...

最新文章

  1. element ui input视图没刷新_聊聊前端 UI 组件:组件体系
  2. 博客园T恤PP泄漏版(附图)
  3. oracle exchange partition 測试
  4. python实现文本编辑器_Python-tkinter实现简单的文本编辑器
  5. lr LoadRunner Internal Architecture loadrunner运行原理图解
  6. php面试中的经典问题
  7. Android 应用开发(39)---GridLayout(网格布局)
  8. 第十三届蓝桥杯大赛个人赛全国总决赛准考证开放下载
  9. 经典卷积神经网络——VGG16
  10. php excel复选框,Element表格嵌入复选框以及单选框的方法介绍(代码示例)
  11. python中无法安装xpath库,Python爬虫 | xpath的安装
  12. Photoshop设计精讲精练笔记 (三)
  13. oracle运维常用语句,oracle运维个人常用检查语句整理
  14. 谭浩强C语言学习day1
  15. 汽车厂家系统服务器费用,汽车vps费用
  16. 链栈的基本操作-C语言
  17. SpringBoot整合Mybatis-Plus入门案例
  18. 在vue项目中使用echarts中的dataset制作多维度的柱状图
  19. 太原理工计算机复试题库,太原理工大学研究生复试理论力学选择题题库
  20. 爬虫学习(4):自动保存百度云盘资源

热门文章

  1. 网络数据的背后-网络日志的分析指标【转】
  2. openMP学习笔记(一)
  3. [引]VS2005 之 Visual Basic 程序的结构
  4. SRTP参数及数据包处理过程
  5. Linus Torvalds谈ECC内存的重要性 痛斥英特尔正在扼杀它
  6. 苏州,遇见NXP痞子衡
  7. class_create和class_device_create
  8. 【Pytorch神经网络实战案例】22 基于Cora数据集实现图注意力神经网络GAT的论文分类
  9. python将数组写入文件_python – 将numpy数组的大小写入二进制文件
  10. LeetCode 1791. 找出星型图的中心节点(图出入度)