首页 > 编程知识 正文

如何自动生成摘要,文章摘要自动提取

时间:2023-05-06 08:49:38 阅读:285809 作者:2562

目录 引言整体系统架构提取器生成器训练过程 实验部分

引言

根据以前的知识,提取式摘要能获得更好的ROUGE评分,但是可读性较差,信息量比较低;生成式摘要与之相反,有较高的可读性和丰富的信息,但是ROUGE评分较低。所以我们就思考能不能将提取式摘要和生成式摘要相结合生成较好的摘要。

论文连接:A Unified Model for Extractive and Abstractive Summarization using Inconsistency Loss
代码地址:https://github.com/HsuWanTing/unified-summarization

整体系统架构

整个系统分成两个大的子系统提取器生成器。提取器从原文中提取信息量较大的句子,并得到一个句子的概率分布(句子级别的注意力)。生成器在上述提取句子的基础上做生成式的摘要,单词级别的注意力和句子的注意力相关是动态变化的。

提取器

提取器的主要目标是从原文中提取信息量较大的句子,在之后的生成器中才能生成较好的摘要。

首先,用一个层级的双向GRU网络,得到句子的注意力(句子的概率分布)

损失函数为:

gn 是句子的信息量的表示,通过ROUGE-L的召回率来表示,从高到低选择句子。

生成器

生成器的目的是根据上面提取的句子生成最后的摘要,用的是通用的encoder-decoder结构,在文章中用的是Pointer-generator Network。
主要使用了三种trick,

Pointer 有一个变量记录当前生成的单词是否在词表里,如果是在词表中找一个单词,否则在原文中找一个单词,Pointer就是指向原文的指针。Attention mechanism 单词的注意力机制,有两个作用。第一,和句子注意力联合计算从词表生成的概率;第二,如果从原文生成单词的话,就根据单词的注意力计算。Coverage 防止多次生成相同的单词,用一个向量记录到当前步为止生成的单词,如果之前已经生成了该单词,在损失函数中加入一个惩罚项。

:单词的注意力机制和句子的注意力机制联合计算,只是对应位置的标量乘积,表示要句子和单词的注意力同时很大的时候才有可能生成最后的摘要。

训练过程

分部训练
将提取器作为预训练过程,生成句子的注意力之后,就放弃对生成器的训练,将句子的注意力作为生成器的输入。

共同训练
将提取器和生成器作为一个整体的神经网络结构。同时训练生成器和提取器,这就需要对损失函数进行一定的修改。
总的损失函数时几部分的加和,提取器的损失,生成器的损失,coverage的损失,和将句子注意力和单词注意力联合的损失。

将生成器和提取器的损失联系起来。

实验部分

在实验部分在CNN/DailyMail 数据集上做的自动摘要工作,使用ROUGE1,2,L评价

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。