今天分享的paper是Incorporating Copying Mechanism in Sequence-to-Sequence Learning,作者来自香港大学和华为诺亚方舟实验室。

本文的模型通过借鉴人类在处理难理解的文字时采用的死记硬背的方法,提出了COPYNET。将拷贝模式融入到了Seq2Seq模型中,将传统的生成模式和拷贝模式混合起来构建了新的模型,非常好地解决了OOV问题。解决问题的思路与之前的一篇有关Pointer的文章十分类似。decoder部分不断地变复杂,考虑的因素越来越多,模型的效果也越来越好。如果结合上一篇Minimum Risk Training的训练方法,相信在评价指标上会更进一步。

综述

Seq2Seq技术占据了nlp多个研究任务的评测榜首,包括最早提出该技术的机器翻译,句法分析,文本摘要,对话系统。Seq2Seq本质上是一个encoder-decoder的模型,encoder部分将输入的序列变换成某一种表示,然后decoder将这种表示变换成输出序列。在Seq2Seq的基础上,首次增加注意力机制来做机器翻译的自动对齐。注意力机制在很大程度上提升了Seq2Seq的性能。

本文研究了人类语言交流的另一个机制,“拷贝机制”(copy mechanism),定位到输入序列中的某个片段,然后将该片段拷贝到输出序列中。比如:

但是注意力机制严重依赖于语义的表示,在系统需要获取到命名实体或者日期时难以准确地表示。相对之下,拷贝机制更加接近于人类处理语言问题的方式。本文提出了COPYNET系统,不仅具备传统Seq2Seq生成词的能力,而且可以从输入序列中拷贝合适的片段到输出序列中。在合成数据和真实数据中均取得了不错的结果。

Seq2Seq

文章的这部分简单介绍了一下Seq2Seq+Attention Mechanism技术,前面的博客分享了很多这部分的内容,这里就不再赘述了。

COPYNET

从神经学角度来讲,拷贝机制和人类的死记硬背类似,较少地理解到了意思但保留了字面的完整。从模型的角度来讲,拷贝机制相比于soft注意力模型更加死板,所以更难整合到神经网络模型中。

模型综述

COPYNET依然是一个encoder-decoder模型,如图1所示:

encoder采用了一个双向RNN模型,输出一个隐藏层表示的矩阵M作为decoder的输入。decoder部分与传统的Seq2Seq不同之处在于以下三部分:

  • 预测:在生成词时存在两种模式,一种是生成模式,一种是拷贝模式,生成模型是一个结合两种模式的概率模型。

  • 状态更新:用t-1时刻的预测出的词来更新t时刻的状态,COPYNET不仅仅词向量,而且使用M矩阵中特定位置的hidden state。

  • 读取M:COPYNET也会选择性地读取M矩阵,来获取混合了内容和位置的信息。

拷贝模式和生成模式

首先,构造了两个词汇表,一个是高频词词汇表,另一个是只在输入序列中出现过一次的词,这部分的词用来支持COPYNET,用UNK表示超纲词(OOV),最终输入序列的词汇表是三者的并集。

给定了decoder当前状态和M矩阵,生成目标单词的概率模型如下:

模型中g表示生成模式,c表示拷贝模式。两种模式的概率由下式给定:

共四种可能情况,下图会更形象一些:

其中生成模式的打分公式是:

拷贝模式的打分公式是:

状态更新

decoder状态更新的公式是

不同的是这里的t-1时刻的y由下式表示:

后面的部分是M矩阵中与t时刻y相关的状态权重之和,如下:

M矩阵

M矩阵中既包含了内容(语义)信息,又包含了位置信息。COPYNET在attentive read时由内容(语义)信息和语言模型来驱动,即生成模式;在拷贝模式时,由位置信息来控制。

位置信息的更新方式如下图所示:

实验

一共分为三个实验:

  • 简单规则构造的合成数据。

  • 文本摘要相关的真实数据。

  • 简单对话系统的数据。

这里只看文本摘要实验。

文本摘要

数据采用LCSTS中文短文本摘要数据集,分为两个level来测试:word-level和char-level,并且以LCSTS的baseline作为对比,结果如下:

本文的模型远远优于baseline,而且word-level的结果比char-level更好,这与当时LCSTS paper中的结论不同,一个可能的原因是,数据集中包含了大量的命名实体名词(entity name),LCSTS paper中的方法并不能很好地处理大量的UNK单词,因此baseline中的char-level效果比word-level更好,而本文的模型的优势在于处理OOV问题,所以word-level结果更好一些。

来源:paperweekly

原文链接

Incorporating Copying Mechanism in Sequence-to-Sequence Learning相关推荐

  1. 论文笔记《Incorporating Copying Mechanism in Sequence-to-Sequence Learning》

    论文笔记<Incorporating Copying Mechanism in Sequence-to-Sequence Learning> 论文来源:2016 ACL 论文主要贡献:提出 ...

  2. 《Sequence to Sequence Learning with Neural Networks》阅读笔记

    Abstract DNNs 可用于各种复杂的学习任务并取得很好的效果,但是 DNNs 不能用于序列到序列的映射.这篇论文提出了一种端到端(end-to-end)的神经网络模型,来学习这种映射关系.作者 ...

  3. Sequence to Sequence Learning with Neural Networks论文翻译

    Sequence to Sequence Learningwith Neural Networks论文翻译 摘要 深度神经网络是在困难的学习任务中取得卓越性能的强大模型.尽管拥有大量的标记训练集,DN ...

  4. NLP经典论文:Sequence to Sequence、Encoder-Decoder 、GRU 笔记

    NLP经典论文:Sequence to Sequence.Encoder-Decoder.GRU 笔记 论文 介绍 特点 模型结构 整体结构 输入 输出 整体流程 流程维度 GRU 模型结构 GRU单 ...

  5. Attentive Sequence to Sequence Networks

    转载自  Attentive Sequence to Sequence Networks Attentive Sequence to Sequence Networks 1.Encoder-Decod ...

  6. Towards Two-Dimensional Sequence to Sequence Model和Two-Way Neural Machine Translation两篇论文简单分析

    第一篇是:发布于2018年Towards Two-Dimensional Sequence to Sequence Model in NeuralMachine Translation 第二篇是:与第 ...

  7. 【论文笔记】Incorporating Learnable Membrane Time Constant to Enhance Learning of SNN

    写在前面 本文是对论文Incorporating Learnable Membrane Time Constant to Enhance Learning of Spiking Neural Netw ...

  8. 【层级多标签文本分类】Incorporating Hierarchy into Text Encoder: a Contrastive Learning Approach for Hierarchic

    Incorporating Hierarchy into Text Encoder: a Contrastive Learning Approach for Hierarchical Text Cla ...

  9. SeqTrack: Sequence to Sequence Learning for Visual Object Tracking

    摘要 在本文中,我们提出了一种新的序列到序列学习框架的视觉跟踪,称为SeqTrack.它将视觉跟踪转换为一个序列生成问题,它以自回归的方式预测对象边界盒.这与之前的Siamese跟踪器和transfo ...

最新文章

  1. postfix管理邮件队列的小程序
  2. 全球及中国木材加工行业运行状况与投资产值预测报告2022版
  3. QTP对象TO与RO
  4. 鹅厂程序员在家撸码的十大姿势
  5. Java中的Scanner类和String类
  6. fir.im Weekly - 2017 年必须了解的 iOS 开源库
  7. mysql中文乱码解决_Stata 中文乱码顽疾解决方法
  8. “技术天才”李一男已出狱:曾被视为华为接班人!华中科大少年班,27岁华为副总裁,曾任百度CTO...
  9. 集结六大行业领袖,「数据科学家」新课全球首发!
  10. GMF:示例Mindmap 练习一
  11. QGIS获取OSM地图矢量数据
  12. CRMEB多商户商城系统主要功能及技术亮点
  13. Java 中status意思_java web开发中 varStatues=quot;statusquot; 中参数status是啥作用和意思呢?这个参数的设置有啥要求呢?...
  14. QQ空间说说一键批量删除软件2.0使用教程
  15. python猜大小程序_「每日一练」巧用python实现猜大小的游戏
  16. [基础库Numpy] 技能树总结:一篇文章学会Numpy库
  17. 美国圣诞8日西海岸自驾游
  18. 计算机用户密码无法输入,电脑数字密码输入不了怎么办
  19. 好分数一个等第是什么意思_DPI是什么意思 鼠标DPI越高越好吗?
  20. Napster 成立 | 历史上的今天

热门文章

  1. [LeetCode] LeetCode中与有向图相关的题目总结
  2. 艺术字素材这几个网站不容错过!
  3. PHP数组合并的几种方式
  4. 无线信道之小尺度衰落中的快衰落和慢衰落(六)
  5. 排序算法-快速排序的时间复杂度分析
  6. Java中文处理, 资源包后缀详解
  7. 【获奖作品欣赏】平面设计作品集怎么做?
  8. IdeaVim快捷键
  9. 【2020-10-13】某网站失信人数据获取
  10. 【优化布局】基于matlab免疫算法求解充电站最优布局【含Matlab源码 2539期】