论文阅读;《Interconnected Question Generation with Coreference Alignment and Conversion Flow Modeling》

作者:Yifan Gao, Piji Li, Irwin King, Michael R.yu

论文来源:ACL2019

WHAT

CQG会话问题生成,对于给定文章最终想要生成会话QA对的形式,并且要在每轮对话中实现平稳的过渡。

使用共指想要生成相互关联的问题。

HOW

一、 模型

1.多源编码器(使用bi-LSTM)

1) 文章编码器

输入词嵌入、答案位置嵌入,在每个答案位置嵌入要使用BIO标签打在答案位置嵌入上,获得一个隐藏状态

2)会话编码器

使用<q><a>标记历史QA对,形成一个QA序列;先使用词级Bi-LSTM生成关于上下文的隐藏状态,再使用上下文级Bi-LSTM生成关于上下文之间依赖的隐藏状态

2.具有注意力机制和复制机制的解码器(LSTM)

解码器的本身应该决定在每个解码时间步长时应该更多的关注段落隐藏层还是历史对话隐藏层状态。这里用到的是seq2seq模型的计算方法,计算出词注意力权重和文章注意力权重,对话注意力权重,然后计算上下文向量,和单词的概率分布。

3.共指对比建模

会话问题的关键是使用共指回溯历史会话。

共指建模的作用是查看看正确的非共指代词以生成公指代词的参考词

预处理阶段:使用共指消解系统找到共指关系

训练阶段:引入损失函数

4.会话流建模

1)流嵌入

在段落编码器中引入了一个门控自注意建模机制,通过答案位置嵌入的自注意力机来获得与答案相关的有效信息,通过嵌入轮数和块来更好的会话流建模。这里需要了解一下self-maching

门控的实质就是一个全连接层

2)流损失

目的:应该关注当前证据句而忽视历史证据句

二、 实验

数据集的准备:CoQA,ATM获得

步骤:

定位答案位置

会话历史轮数的确定(对话中的大多数问题在两轮内具有有限的依赖关系,因此,选择历史轮数为3,确保目标问题具有足够的转换历史信息来生成,避免从所有QA对的回合中引入过多的噪声)

有监督的训练

Feeling

相比于前人的工作,此模型的确有很大的进步,创新性也值得借鉴,但是本模型是抽取式的问答,生成的问题也是很简单的问题,如果想要实现对复杂问题的生成或者想要包含深度语义信息的问题此模型并不能解决。

研一NLP初学小白,欢迎各路大神一起讨论。

论文阅读笔记:《Interconnected Question Generation with Coreference Alignment and Conversion Flow Modeling》的更多相关文章

  1. 《MuseGAN: Multi-track Sequential Generative Adversarial Networks for Symbolic Music Generation and Accompaniment》论文阅读笔记

    出处:2018 AAAI SourceCode:https://github.com/salu133445/musegan abstract: (写得不错 值得借鉴)重点阐述了生成音乐和生成图片,视频 ...

  2. (转)Introductory guide to Generative Adversarial Networks (GANs) and their promise!

    Introductory guide to Generative Adversarial Networks (GANs) and their promise! Introduction Neural ...

  3. 生成对抗网络(Generative Adversarial Networks,GAN)初探

    1. 从纳什均衡(Nash equilibrium)说起 我们先来看看纳什均衡的经济学定义: 所谓纳什均衡,指的是参与人的这样一种策略组合,在该策略组合上,任何参与人单独改变策略都不会得到好处.换句话 ...

  4. 生成对抗网络(Generative Adversarial Networks, GAN)

      生成对抗网络(Generative Adversarial Networks, GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的学习方法之一.   GAN 主要包括了两个部分,即 ...

  5. StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks 论文笔记

    StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks  本文将利 ...

  6. 论文笔记之:Semi-Supervised Learning with Generative Adversarial Networks

    Semi-Supervised Learning with Generative Adversarial Networks 引言:本文将产生式对抗网络(GAN)拓展到半监督学习,通过强制判别器来输出类 ...

  7. 《Self-Attention Generative Adversarial Networks》里的注意力计算

    前天看了 criss-cross 里的注意力模型  仔细理解了  在: https://www.cnblogs.com/yjphhw/p/10750797.html 今天又看了一个注意力模型 < ...

  8. Paper Reading: Perceptual Generative Adversarial Networks for Small Object Detection

    Perceptual Generative Adversarial Networks for Small Object Detection 2017-07-11  19:47:46   CVPR 20 ...

  9. SalGAN: Visual saliency prediction with generative adversarial networks

    SalGAN: Visual saliency prediction with generative adversarial networks 2017-03-17 摘要:本文引入了对抗网络的对抗训练 ...

  10. Generative Adversarial Networks,gan论文的畅想

    前天看完Generative Adversarial Networks的论文,不知道有什么用处,总想着机器生成的数据会有机器的局限性,所以百度看了一些别人 的看法和观点,可能我是机器学习小白吧,看完之 ...

随机推荐

  1. STL_set

    #include <iostream> #include <set> #include <string> #include <cstdio> using ...

  2. 【leetcode】962. Maximum Width Ramp

    题目如下: Given an array A of integers, a ramp is a tuple (i, j) for which i < j and A[i] <= A[j]. ...

  3. 数组对象用map修改键名

    用vue组件需要使用的数据格式和后台返回的不一样 console.log(res); this.optionsEp = res.map(item => { return { value: ite ...

  4. 【转】SpringMVC整合websocket实现消息推送及触发

    1.创建websocket握手协议的后台 (1)HandShake的实现类 /** *Project Name: price *File Name:    HandShake.java *Packag ...

  5. 远程仓库 GitHub

    远程仓库 这里介绍的远程仓库指的是 GitHub, 在这个网站,所有非私有的的代码,都可以被其他人查看,所以,一些机密或者重要的文件千万不要上传到这里面,如果需要可以购买付费版本或自己公司搭建埃及的远 ...

  6. PHP ftp_close() 函数

    定义和用法 ftp_close() 函数关闭 FTP 连接. 语法 ftp_close(ftp_connection) 参数 描述 ftp_connection 必需.规定要关闭的 FTP 连接. 实 ...

  7. Shiro学习(12)与Spring集成

    Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成. 在示 ...

  8. hive UDAF开发和运行全过程

    介绍 hive的用户自定义聚合函数(UDAF)是一个很好的功能,集成了先进的数据处理.hive有两种UDAF:简单和通用.顾名思义,简单的UDAF,写的相当简单的,但因为使用Java反射导致性能损失, ...

  9. (转)Linux下使用system()函数一定要谨慎

    转:http://my.oschina.net/renhc/blog/53580 曾经的曾经,被system()函数折磨过,之所以这样,是因为对system()函数了解不够深入.只是简单的知道用这个函 ...

  10. thinkphp5选择redis库,让数据存入不同的redis库

    thinkphp5选择redis库,让数据存入不同的redis库 在登录的时候把个人信息存入redis,选择redis库1号库, db1 读取redis里面的个人信息