【论文阅读】Get to the point :summarization with pointer-generator networks

基于Python的自然语言处理系列(26):Get to the Point Summarization "Get to the Point" 模型结合了Pointer机制和覆盖率机制,解决了生成式摘要系统中的词汇外词(OOV)问题以及重复生成问题。该模型的核心思想是使用Pointer-Generator机制将生成器(Generator)和指针(Pointer)结合,从而在预测新词时可以选择从词汇表中生成词语,或者直接复制文章中的词。覆盖率机制则通过引入覆盖向量,帮助模型避免生成重复内容。《Get to the Point》论文为自然语言处理中的文本摘要生成任务提供了重要的解决方案。 阅读详情

 

摘要:

本文在原来的神经seq2seq模型上进行了两种改变,用混合的pointer-generator网络,既可以通过pointing直接从原文中copy单词又保留了通过generator生成新词的能力;另外,用coverage来记录已经总结出的内容,防止重复。

1 Introduction

生成摘要一般有两种方式,extractive和abstractive,前者是直接从原文中获取段落(通常是完整的句子)来汇总成摘要,而后者是生成新的单词或短语。前者相对较简单。seq2seq的出现使得abstractive的方式变得可能,但是有几个问题:产生不准确的事实类细节、生成重复的词,以及不能很好的处理OOV。本文提出的模型旨在解决这三个问题。

2 Model

2.1 baseline seq2seq model

 

一个单层双向的LSTM作为encoder,源文本(Germany emerge victorious..)中单词被一个一个喂进encoder中,然后生成encoder hidden state hi,也就是图片中红色的长方形。

输入源文本后,解码器decoder(单层单向LSTM)生成摘要。每一步中,decoder以已经生成的摘要来更新decoder hidden state,也就是图中右边黄色长方形的部分(第一步是以特定的开始符<start>作为开始的信号)。

而decoder hidden state被用来计算注意力分布,也就是图中由黄色长方形指向蓝色的那个箭头表示的。注意力分布会告诉我们现在应该重点看哪些输入,也即是source中的词的概率分布。

这个at就是计算出来的得分,也就是蓝色方框的概率大小

此刻图中的状态可以直观的看到应该更加关注得分更高的victorious 和win。这个单纯的蓝色的注意力分布被用来生成一个encoder hidden state 的加权和,也就是图中最上方红心蓝框的小长方形,它表示的就是此刻decoder从源输入中看到的东西,也被称为context vector也就是语境向量,文中用ht*表示,而且是fixed size的:

妥妥的加权和

有了语境向量和之前生成的摘要(decoder hidden state),就可以来计算词汇分布,通常是一个大的vocabulary固定词汇中的概率分布,可以看到图中绿色部分a----zoo表示大词汇表中从第一个词a到最后一个词zoo,然后里面概率最大的就是beat,也就是我们要的生成的词。

具体来说这个概率是用上面的加权和连接上这一步的状态st,然后经过两个线性层,最后一个softmax来生成:

 

 

2.2 pointer-generator network

这是上面的baseline模型和copy模型的结合。

语境向量ht*和attention机制at还是要计算的,与baseline模型不同之处在于每一步还计算了一个概率值Pgen,这代表从词表中生成单词的概率,这个Pgen用来给绿色的词汇分布和蓝色来自原文的attention进行加权,得到最最上面那个有绿有蓝的图,可以看到原来不在词表中的2-0也加进去了。

Pgen的计算方式如下:

其中ht*还是语境向量,st是这一步的decoder state   xt是这一步的decoder的输入,换成yi-1这种表达大家可能更习惯,就是已经生成的摘要嘛,最后外面是一层sigmoid

Pgen就可以用来决定是从词表中生成一个词还是拷贝一个词,具体见下面的公式

这个求和就是把输入中与当前词相同的attention加了起来,如果w没在源输入中出现过,那它的attention也为0

损失函数和上面的baseline是一样的,只不过最后的P(w)的计算方式不一样而已。这个模型相当于每次动态生成时,将源输入中词们加入到了词表vocabulary中

 

这里再解释一下pointer-network,这里以所有出现在input的词作为此时的小词表,对求attention进行了变化,上面图中可以看到,在attention模型中,是将softmax的结果作为权重,与hidden states求了加权和作为context vector来预测输出;而pointer中没有进行求和,是将softmax的结果作为预测input 中最有可能输出的元素。

具体来说,假如整个的词表有1000个词,输入有x1,x10,其中x1-x8是在这1000个词中的词,x9,x10不在词表中,那么单纯的generate模型就会认为x9,x10是unk,只考虑在词表中的1000个词的概率;而在pointer-generator中相当于计算的是x1-x10这10个位置上的词应当被输出的概率。然后将输入中的词映射到voc中

最终输出的时候,就像上图的是结合了pgen和1-pgen,来最终考虑输出的是哪个词(概率最大的)

但是这样也不会完全没有UNK,可能词表里没有,input里也没有

(这是couresera上的图,知识参数的表达有点区别,可能有人更习惯)

 

2.3 coverage mechanism

这个是为了解决重复输出的问题

在decoder的每一步,维护一个coverage vector ct

记录之前所有预测步中注意力分布的和,记录模型已经关注过原文中哪些词(也就是目前的生成已经覆盖到哪些词),并让这个向量影响attention的计算,c0是等于0的,因为一开始原文中没有任何词被覆盖

这与baseline中计算的方法相比,只是增加了一个wc cit 使这个coverage影响到当前attention的得分计算。

但是必须加上coverage loss惩罚关注同一位置才能使其发挥作用

最终,模型的整体损失函数为:

 

3 related work

4 dataset

CNN/Daily Mail dataset

这是多个句子的摘要

5 experiment

256d hidden state   128d word embedding 

learning rate 0.15

initial accumulator value 0.1

6 results

对结果的解释:

为什么下面的extractive方法得分更高?可能新闻类重要的信息就是集中在前几句。而且与ROUGE的评分机制有关。

【论文阅读】Get To The Point: Summarization with Pointer-Generator Networks 2017 ACL 指针生成网络 文章目录Abstract1 Introduction2 Our Models2.1 Sequence-to-sequence attentional model2.2 Pointer-generator network2.3 Coverage mechanism3 Related Work4 Dataset5 Experiments6 Results6.1 Preliminaries(准备工作)6.2 Observations7 Discussion7.1 Compariso 阅读详情

相关推荐

论文:Get To The Point Summarization with Pointer-Generator Networks解读

论文:Get To The Point: Summarization with Pointer-Generator Networks解读 Abstract类型的文本摘要存在的问题: 容易产生不准确的事实; 倾向于重复相同的内容。 注:如上面所示,作为基线的seq2seq+Attention这样的纯粹的生成式模型存在1.无法生成OOV词汇;2.歪曲事实两个问题。Pointer Generato...

Little Garden 1130

Get To The Point: Summarization with Pointer-Generator Networks

Get To The Point: Summarization with Pointer-Generator Networks paper:https://arxiv.org/pdf/1704.04368 code: http://www.github.com/abisee/pointer-generator 摘要 神经序列-序列模型为抽象文本摘要提供了一种可行的新方法(这意味着它们不局限于从原始文本中简单地选择和重新排列段落)。然而,这些模型有两个缺点:它们容易不准确地再现事实细节,而且它们往往重复。在

发呆的比目鱼的博客 1345

pointer network 用到的数据

https://github.com/devsisters/pointer-network-tensorflow 的 tsp_10_train.zip

get to the point:summarization with pointer-generator networks

模型介绍 baseline 方法存在两个大问题: 1.无法解决unk问题 2.有很多是重复的。 baseline model 是 seq-seq +attention 模型 encoder – 单层双向LSTM,产生了一个序列的隐藏状态hi decoder – 单层单向LSTM,训练时,输入是参考摘要的前一个词(使用教师机制) 测试时,使用decoder 的上个输出作为输入。decode...

真的是个瘦子 1037

Modscan32连接上了却没数据?一文拆解所有报错(从“Device NOT CONNECTED”到“Checksum Error”)

本文深入解析Modscan32连接异常问题,从状态栏报错到数据异常,提供系统化的诊断思路和解决方案。涵盖物理层问题、配置参数错位、端口占用冲突等常见故障,帮助工程师快速定位和解决Modbus通信中的各类错误。

weixin_30384217的博客 397

药物重定位实战:如何用反向找靶技术挖掘老药新用(附Python代码示例)

本文详细介绍了药物重定位中的反向找靶技术,通过分子相似性计算、机器学习模型和结构对接等方法,挖掘已有药物的新治疗潜力。附Python代码示例,帮助读者快速实现从分子结构到潜在靶标的智能预测,显著提升药物研发效率。

weixin_28726671的博客 259

论文阅读笔记《Get To The Point: Summarization with Pointer-Generator Networks》

文章目录摘要一 介绍二 模型2.1 序列->序列架构加上注意力机制模型(seq2seq+attention model) 这是一篇ACL2017的论文,偏工程性,模型实用性强,可以说是生成式摘要技术的里程碑(特别是对于标题生成任务来说),作者也都是大牛(大家如果上过cs224n的课,应该对Manning教授不陌生吧) 摘要 在生成式摘要任务中,对于传统的seq2seq+attention的模...

落尘 4110

无刷直流电机计算转速

一个霍尔传感器周期(Tms)有两种模式输出方式(3FG/1FG),一个电周期是6个60°电角度,电机磁极数是P,磁极对数PP = P / 2 3FG模式: 1个电周期= 6 * T 1FG模式: 1个电周期= 2 * T 1秒钟电周期个数: 1分钟电周期个数: 1分钟转速: 举例: 假设电机磁极数是8,3FG模式下,霍尔周期700us,计算该条件下转速 ...

meimiaorenshengqq的博客 9678

论文阅读笔记-Get To The Point: Summarization with Pointer-Generator Networks

本文模型改善了抽象文本摘要中存在的主要问题,但与具象摘要结果相比仍然存在差距,同时考虑到新闻文章重要信息普遍集中分布于前部分的特性,抽象摘要模型受到了一定影响,模型的普适性需要进一步地验证。

mohen_777的博客 1361

一种基于OpenPose和DNN的跌倒检测软件系统(中文&英文)

学习并实现一种跌倒检测模型,此模型基于OpenPose实现逐帧人体姿态检测,使用DNN识别人体动作。检测方式有在线与离线两种,本文主要测试了离线模式,测试效果较好。

Tongzhou_Li的博客 2645

VM与欧姆龙PLC通讯设置实战:Fins TCP/UDP协议详解

本文详细解析了VM(VisionMaster)与欧姆龙PLC通过Fins TCP/UDP协议进行通讯的实战设置。内容涵盖网络配置、协议选择(TCP可靠性与UDP实时性)、VM端地址映射与数据点添加、以及数据接收解析流程,并提供了常见错误排查与高级调试技巧,帮助视觉与自动化工程师快速实现稳定可靠的工业通讯集成。

weixin_29172963的博客 328

指针生成网络 Pointer-Generator《Get To The Point: Summarization with Pointer-Generator Networks》论文阅读笔记

《Get To The Point: Summarization with Pointer-Generator Networks》 Introduction 上篇论文《(Copynet)Incorporating Copying Mechanism in Sequence-to-Sequence Learning》模型与此比较相似,主要用在摘要和对话系统,不过其网络结构比较复杂,混合概率是两者的和...

彭伟的博客 5272

基于ADS1299的8通道脑电采集系统硬件设计实战

生物电信号采集是医疗电子与可穿戴设备中的关键环节,微弱信号的高保真放大与数字化处理直接影响系统性能。高精度模数转换器与低噪声模拟前端设计成为工程实践的核心。ADS1299作为专用生物电测量芯片,集成多通道低噪声放大器与24位Δ-Σ ADC,广泛应用于脑电、心电等生理信号检测。本文基于ADS1299构建8通道脑电采集系统,详细阐述硬件架构、电源与参考设计、输入保护、PCB布局布线、固件SPI配置及数据读取,并结合实测数据分享噪声抑制与调试经验,为EEG采集设备开发提供完整参考。

weixin_29169505的博客 224

【Pointer Networks】论文阅读笔记《Get To The Point: Summarization with Pointer-Generator Networks》

这是一篇ACL2017的论文,偏工程性,模型实用性强,容易复现同时性能也好,作者也都是大牛(大家如果上过cs224n的课,应该对Manning教授不陌生吧) 摘要 在生成式摘要任务中,对于传统的seq2seq+attention的模型架构,作者提出它们有以下缺点: 难以准确复述原文细节 无法处理原文中的未登录词(OOV) 在生成的摘要中存在一些重复的部分 此文提出了一种新颖的架构来增强标准的seq2seq+attention模型,采用了两种正交(互相之间不存在交集)的新颖手段: 使用指针生成器网络(p

devil_son1234的博客 652

手把手教你学Simulink——基于Simulink的输入输出线性化精确转矩控制

由于IOFL控制律中实时引入了当前状态的反馈(id​,iq​,ωe​),电感的变化被非线性项自动补偿,转矩仅出现微小幅度的波动(< 2%),展现出极强的参数鲁棒性。:电压方程中的耦合项(ωe​Lq​iq​和 −ωe​Ld​id​)仅通过前馈补偿,当转速 ωe​较高时,微小的前馈误差会导致显著的d-q轴电流交叉耦合;其中,ud​,uq​为定子电压,id​,iq​为定子电流,Rs​为定子电阻,Ls​为定子电感,ωe​为电角速度,ψf​为永磁体磁链,p为极对数。(步长 Ts​=10μs,即100ns?

MHD0815的博客 85

视觉测量实战:C#上位机+OpenCVSharp 实现工业零件尺寸自动检测(精准像素级,工业级可落地)

本次开发的上位机界面遵循工业现场操作规范简洁、直观、按钮大、文字清晰、参数可视化调节,操作人员为车间工人/质检员,无需复杂操作,所有控件均为WinForms原生控件,拖拽即可完成布局本次实战完成了C#上位机+OpenCVSharp 工业零件尺寸自动检测系统的完整开发,这套方案是工业视觉测量的标准落地方案,适配95%的规则几何零件的尺寸检测场景,从五金件、塑胶件到电子元件,全覆盖无死角。测量效率提升100倍、精度提升10倍、无人工误差、可适配流水线实时检测。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 848

论文阅读:Get to the point: summarization with pointer-generator networks

简介: 基于注意力机制的Seq2Seq模型,使用每一步解码的隐层状态与编码器的隐层状态计算权重,最终得到context向量,利用context向量和解码器隐层状态计算输出概率。这篇文章主要试图解决问题1、无法准确复述原文细节,无法处理不在词表中的词(oov问题) 2、生成的在摘要中存在重复的片段 Pointer-generator network模型结构图: 主要贡献点: ...

咕噜咕噜 408

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

论文阅读 (63):Get To The Point: Summarization with Pointer-Generator Networks

以两种正交方式提出了一种用以增强标准序列到序列模型的架构。1)使用混合指针生成器网络通过指针从源文本复制单词。这有助于准确复制信息,同时保留通过生成器产生新词的能力;2)使用覆盖 (Coverage) 来跟踪总结的内容,并在一定程度上限制重复。............

因吉的博客 774

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

文本生成论文阅读 Get To The Point: Summarization with Pointer-Generator Networks

本篇论文主要是用了copy机制,从输入中拷贝结果到输出,缓解OOV问题。本文提出一种新颖的架构:使用两种方式增强标准的seq2seq注意力模型。一,使用混合指针生成网络,利用指针从原文精确地复制单词,同时保留生成器产生新单词的能力。二,使用覆盖机制跟踪哪些单词已经被摘取,避免生成重复文本。提示:以下是本篇文章正文内容,下面案例可供参考。

qq_43588670的博客 798

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

从论文到代码:Pointer Summarizer如何实现Get To The Point论文精髓

Pointer Summarizer是一个基于PyTorch实现的文本摘要工具,它完整复现了经典论文《Get To The Point: Summarization with Pointer-Generator Networks》中的核心技术。该项目通过创新的指针生成网络架构,有效解决了传统摘要模型中存在的词汇表外(OOV)问题和重复生成问题,为文本摘要任务提供了高效可靠的解决方案。 ## 论文

gitblog_00295的博客 959

[ACL2017] Get to The Point: Summarization with Pointer-Generator Networks

生成式的文档摘要,主要是提出了Coverage机制,为了解决seq2seq模型生成句子中经常有重复片段现象

Deep Learning and NLP Farm 2835
上一篇: 【论文阅读】Incorporating copying mechanisim in sequence-to-sequence learning
下一篇: 【论文阅读】Neural Machine Translation by Jointly Learning to Align and Translate
BeforeEasy
博客等级 码龄10年 92粉丝 207原创
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值