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

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


     640?wx_fmt=png

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,对模型进行激励。

640?wx_fmt=png


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

640?wx_fmt=png


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

640?wx_fmt=png


(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)

   评测结果如下图所示:

640?wx_fmt=png


4、结论

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

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

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

640?wx_fmt=png


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


思考与所得

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

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

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



OpenKG


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

640?wx_fmt=jpeg

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479812.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装paddlepaddle-GPU 报libcudnn.so和libcublas.so找不到的解决方案

第一步,查找两个的文件位置 第二步: 由于cudcun实在cuda10.0的基础上安装的,解压cudcnn的tar包之后会出现一个cuda-10.0文件夹,而不是cuda. 第三步: 在一步出现的位置找到了和libcublas.so.10对其进行了重命名就好了…

LeetCode 221. 最大正方形(DP)

文章目录1. 题目信息2. 解题1. 题目信息 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/maximal-squ…

anaconda配置虚拟环境

一般是在服务器上,创建一个自己的虚拟环境,自己来用,不影响别人的环境,也不用被别人安装环境影响。 打开终端 1.查看当前存在哪些虚拟环境 conda env list 或 conda info -e 2.创建名字为 lly_env 的虚拟环境(名字自己取一个&am…

论文浅尝 | 知识图谱推理中表示学习和规则挖掘的迭代学习方法

作者:张文,浙江大学在读博士,研究方向为知识图谱的表示学习,推理和可解释。本文是我们与苏黎世大学以及阿里巴巴合作的工作,发表于WWW2019,这篇工作将知识图谱推理的两种典型方法,即表示学习和规…

21个深度学习调参的实用技巧

文 | AI_study源 | AI算法与图像处理导读在学习人工智能的时候,不管是机器学习还是深度学习都需要经历一个调参的过程,参数的好坏直接影响着模型效果的好坏。本文总结了在深度学习中21个实用的调参的技巧,快来学习吧!这篇文章在国…

从Java程序员进阶为架构师,全套16张图概括最全技能!建议收藏!

如何从程序员进阶到架构师?今天完整的把我积累的经验和技能分享给大家! 作者:陈睿|优知学院创始人 数据结构算法程序 数据是一切能输入到计算机的信息总和,结构是指数据之间的关系,数据结构就是将数据及其之间的关系有…

Python 爬虫系列教程一爬取批量百度图片

原文地址:https://blog.csdn.net/qq_40774175/article/details/81273198 很久之前就学习了Python的爬虫了,也用来做过一些项目(主要是一些课程项目),但时间比较紧,一直没有空把它写下来,这个暑假…

论文浅尝 | 利用知识图谱嵌入和图卷积网络进行长尾关系抽取

论文笔记整理:王狄烽,南京大学硕士,研究方向为关系抽取、知识库补全。链接:https://arxiv.org/pdf/1903.01306.pdf发表会议:NAACL2019动机现有的利用远程监督进行实体关系抽取的方法大多关注于如何对训练数据进行降噪&…

人脑是怎么防止梯度消失和梯度爆炸的?

文 | 极市平台源 | 知乎问答导读梯度消失和梯度爆炸一直是深度学习的难点,而人脑有接近900亿个神经元,可以说是一个非常规模庞大的网络。那么人脑是如何防止梯度消失和梯度爆炸的?观点一作者丨冒蓝火的加特林感觉这个问题跟我的科研方向有一点…

史上最全java架构师技能图谱(下)

“java架构史上最全技能图谱分为上下两篇,这是java架构史上最全图谱下篇,包含: 大数据以及性能、设计模式、UML、中间件、分布式集群、负载均衡、通讯协议、架构设计等技术图谱等章节。 如果需要上篇内容:数结构算法、java进阶、…

Git基本指令

一、创建本地仓库进行版本控制 在工作区 local_repository 新建readme.txt文件: git init :初始化一个空的本地仓库,并在本地仓库生成了.git 文件git add readme.txt :将文件放到暂存区,表示这个文件受git管理git co…

LeetCode 21. 合并两个有序链表(单链表)

文章目录1. 题目信息2. 解题1. 题目信息 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4来源&#xff1a…

一文读懂最强中文NLP预训练模型ERNIE

基于飞桨开源的持续学习的语义理解框架ERNIE 2.0,及基于此框架的ERNIE 2.0预训练模型,在共计16个中英文任务上超越了BERT和XLNet, 取得了SOTA效果。本文带你进一步深入了解ERNIE的技术细节。 一:ERNIE 简介 1.1 简介 Google 最近提出的 BER…

BERT原理、代码、相关模型、精调技巧,看这个就够了

星标/置顶小屋,带你解锁最萌最前沿的NLP、搜索与推荐技术2018 年 10 月,由 Google 推出的 BERT 模型一鸣惊人,刷爆了各路榜单,甚至超越了人类基线分数,实现了 NLP 领域里程碑式的突破。 如今,对于 NLP 算法…

论文浅尝 | 利用 KG Embedding 进行问题回答

论文笔记整理:吴杨,浙江大学计算机学院,知识图谱、NLP方向。http://research.baidu.com/Public/uploads/5c1c9a58317b3.pdf动机本文主要针对基于知识库的问题回答中的简单问题,也就是问题的答案只涉及KG中的一跳,此类问…

想成为阿里160万年薪的P8架构师?你必须掌握如下6大技能体系!

程序设计和开发 数据结构和算法:常用数据结构,排序,检索等 面向对象编程、设计模式,掌握建模语言和建模工具:UML、MVC编程思想 高质量编码能力:重用性,低耦合,可扩展性&#xff0c…

技术动态 | 知识图谱的策展

作者:Jiaoyan Chen, Senior Researcher, Department of Computer Science, University of Oxford, Research interests: Knowledge Base, Knowledge-based Learning, Machine Learning Explanation.知识图谱在众多的领域中发挥了重要作用,比如聊天机器人…

21届校招薪资曝光:严重倒挂老员工!

源 | 量子位一开始,还以为是科技互联网公司招聘的新把式。因为就在最近,一张美团应届生薪资的截图,在各大社区和校招群里火了。仅仅算法岗、开发岗的薪资白菜价,就有27k15.5,算下来,年薪就有41万。虽然这两…

从Java程序员进阶到架构师,6大核心技能要领详解

“ java架构师技能将分为如下6大环节:数据结构和算法,Java高级特性,Java web核心,数据库,Java框架与必备工具,系统架构设计。 希望能真正帮助到从程序员进阶到架构师之路的朋友。 数据结构和算法 算法分…