0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用BERT模型进行抽取式摘要

深度学习自然语言处理 来源:NLP工作站 作者:NLP工作站 2022-03-12 16:41 次阅读

写​在前面

最近在梳理文本摘要相关内容,翻到一篇19年关于基于BERT模型进行抽取式摘要的老文「BertSum」,在这里分享给大家。该论文一开始挂在arXiv时,为《Fine-tune BERT for Extractive Summarization》,主要介绍了如何使用BERT模型进行抽取式(Extractive)摘要。
paper:https://arxiv.org/pdf/1903.10318.pdf
github:https://github.com/nlpyang/BertSum

后面,又发表于EMNLP2019,为《Text Summarization with Pretrained Encoders》,增加了生成式(抽象式,Abstractive)摘要部分,并对第一版论文进行了部分内容的补充与删减

paper:https://aclanthology.org/D19-1387.pdf
github:https://github.com/nlpyang/PreSumm

介绍

文本摘要任务主要分为抽象式摘要(abstractive summarization)和抽取式摘要(extractive summarization)。在抽象式摘要中,目标摘要所包含的词或短语会不在原文中,通常需要进行文本重写等操作进行生成;而抽取式摘要,就是通过复制和重组文档中最重要的内容(一般为句子)来形成摘要。那么如何获取并选择文档中重要句子,就是抽取式摘要的关键。

传统抽取式摘要方法包括Lead-3和TextRank,传统深度学习方法一般采用LSTM或GRU模型进行重要句子的判断与选择,而本文采用预训练语言模型BERT进行抽取式摘要。

模型结构BertSum模型

结构如下图所示

主要由句子编码层和摘要判断层组成,其中,「句子编码层」通过BERT模型获取文档中每个句子的句向量编码,「摘要判断层」通过三种不同的结构进行选择判断,为每个句子进行打分,最终选取最优的top-n个句子作为文档摘要。

句子编码层

由于BERT模型MLM预训练机制,使得其输出向量为每个token的向量;即使分隔符可以区分输入的不同句子,但是仅有两个标签(句子A或句子B),与抽取式摘要需要分隔多个句子大不相同;因此对BERT模型的输入进行了修改,如下:

将文档中的每个句子前后均插入[CLS]和[SEP]标记,并将每个句子前的[CLS]标记进入模型后的输出向量,作为该句子的句向量表征。例如:文档为”我爱南京。我喜欢NLP。我学习摘要。“,输入序列为”[CLS]我爱南京。[SEP][CLS]我喜欢NLP。[SEP][CLS]我学习摘要。[SEP]“

采用Segment Embeddings区分文档中的多个句子,将奇数句子和偶数句子的Segment Embeddings分别设置为和,例如:文档为,那么Segment Embeddings为。

摘要判断层

从句子编码层获取文档中每个句子的句向量后,构建了3种摘要判断层,以通过获取每个句子在文档级特征下的重要性。对于每个句子,计算出最终的预测分数,模型的损失是相对于金标签的二元交叉熵。

Simple Classifier,仅在BERT输出上添加一个线性全连接层,并使用一个sigmoid函数获得预测分数,如下:

Transformer,在BERT输出后增加额外的Transformer层,进一步提取专注于摘要任务的文档级特征,如下:

其中,为句子的句向量,,PosEmb函数为在句向量中增加位置信息函数,MHAtt函数为多头注意力函数,为Transformer的层数。最后仍然接一个sigmoid函数的全连接层,

最终选择为2。

LSTM,在BERT输出增加额外的LSTM层,进一步提取专注于摘要任务的文档级特征,如下:

其中,分别为遗忘门、输入门和输出门;分别为隐藏向量、记忆向量和输出向量;分别为不同的layer normalization操作。最后仍然接一个sigmoid函数的全连接层,

实验细节训练集构建

由于目前文本摘要的数据大多为抽象式文本摘要数据集,不适合训练抽取摘要模型。论文利用贪心算法构建每个文档抽取式摘要对应的句子集合,即通过算法贪婪地选择能使ROUGE分数最大化的句子集合。将选中的句子集合中的句子的标签设为1,其余的句子为0。

模型预测

在模型预测阶段,将文档按照句子进行切分,采用BertSum模型获取每个句子的得分,然后根据分数从高到低对这些句子进行排序,并选择前3个句子作为摘要。

在句子选择阶段,采用Trigram Blocking机制来减少摘要的冗余,即对应当前已组成摘要S和侯选句子c,如果S和c直接存在tri-gram相同片段,则跳过句子c,也就是句子c不会增加在已组成摘要S中。

数据超出BERT限制

BERT模型由于最大长度为512,而现实中文档长度常常会超出。在《Text Summarization with Pretrained Encoders》文中提到,在BERT模型中添加更多的位置嵌入来克服这个限制,并且位置嵌入是随机初始化的,并在训练时与其他参数同时进行微调。

实验结果主要对比了LEAD、REFRESH、NEUSUM、PGN以及DCA方法,较当时方法,该论文效果确实不错,如下表所示,

在三种摘要判断层中,Transformer的效果最优。并且进行了进一步的消融实验,发现采用不同的Segment Embeddings会给结果带来一些提升,但是Trigram Blocking机制更为关键,具体如下表所示。

总结个人认为该论文是一篇较为经典的BERT模型应用论文,当时2019年看的时候就进行了尝试,并且也将其用到了一些项目中。

放假ing,但是也要学习。

原文标题:BertSum-基于BERT模型的抽取式文本摘要

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 结构
    +关注

    关注

    1

    文章

    116

    浏览量

    21471
  • 函数
    +关注

    关注

    3

    文章

    3868

    浏览量

    61309
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47685

原文标题:BertSum-基于BERT模型的抽取式文本摘要

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    自动识别事件类别的中文事件抽取技术研究

    【作者】:许红磊;陈锦秀;周昌乐;林如琦;杨肖方;【来源】:《心智与计算》2010年01期【摘要】:本文提出一种新的中文事件抽取中自动识别事件类别的模型,即:基于事件实例句子的分类模型
    发表于 04-24 09:55

    文本信息抽取的分阶段详细介绍

    系统基于已有的标注构建一个学习模型,并用一个条件概率分布进行表示。信息抽取系统则是根据得到的条件概率分布模型,对新的样本进行标注。 文字单元
    发表于 09-16 15:03

    基于XML的WEB信息抽取模型设计

    对现有的信息抽取技术和XML 技术加以研究,在此基础上提出了适合XML 的通用的web 信息抽取模型,它能够把Web 上的数据抽取出来整合到指定模式的XML 文档中去,最大限度地实现
    发表于 12-22 13:56 17次下载

    BERT模型的PyTorch实现

    BertModel是一个基本的BERT Transformer模型,包含一个summed token、位置和序列嵌入层,然后是一系列相同的self-attention blocks(BERT-base是12个blocks,
    的头像 发表于 11-13 09:12 1.4w次阅读

    用图解的方式,生动易懂地讲解了BERT和ELMo等模型

    最新的一个里程碑是BERT的发布,这一事件被描述为NLP新时代的开始。BERT是一个NLP模型,在几个语言处理任务中打破了记录。在描述模型的论文发布后不久,该团队还公开了
    的头像 发表于 12-16 10:17 1.1w次阅读

    XLNet和Bert比,有什么不同?要进行改进吗?

    本文首先讲讲我对XLNet和Bert比,有什么异同?有什么模型方面的改进?的理解
    的头像 发表于 07-26 14:39 4905次阅读
    XLNet和<b class='flag-5'>Bert</b>比,有什么不同?要<b class='flag-5'>进行</b>改进吗?

    图解BERT预训练模型

    BERT的发布是这个领域发展的最新的里程碑之一,这个事件标志着NLP 新时代的开始。BERT模型打破了基于语言处理的任务的几个记录。在 BERT 的论文发布后不久,这个团队还公开了
    的头像 发表于 11-24 10:08 3291次阅读

    模型NLP事件抽取方法总结

    (Survey) 模型(Models) 数据集(Datasets) 挑战与展望(Future Research Challenges) 事件抽取 2020 1、 Reading the Manual
    的头像 发表于 12-31 10:19 9721次阅读
    <b class='flag-5'>模型</b>NLP事件<b class='flag-5'>抽取</b>方法总结

    NLP:关系抽取到底在乎什么

    关系抽取到底在乎什么?这是来自EMNLP20上清华大学刘知远团队的“灵魂发问”~ 关系抽取是每一位NLPer都很熟知的任务,特别是基于BERT的神经关系抽取
    的头像 发表于 01-07 14:46 5429次阅读

    融合BERT词向量与TextRank的关键词抽取方法

    结合文档本身的结构信息与外部词语的语义信息,提出一种融合BERT词向量与 Textrank的关键词抽取方法。在基于网络图的 Textrank方法基础上,引入语义差异性并利用BERT词向量加权方式优化
    发表于 03-21 09:55 18次下载
    融合<b class='flag-5'>BERT</b>词向量与TextRank的关键词<b class='flag-5'>抽取</b>方法

    抽取摘要方法中如何合理设置抽取单元?

    的核心问题。抽取摘要则是文本摘要技术中效果稳定,实现简单的一类方法,本文结合COLING 2020中抽取摘要相关的两篇最新工作,对
    的头像 发表于 05-03 18:23 1393次阅读
    <b class='flag-5'>抽取</b>式<b class='flag-5'>摘要</b>方法中如何合理设置<b class='flag-5'>抽取</b>单元?

    基于BERT+Bo-LSTM+Attention的病历短文分类模型

    中医逐渐成为热点,中医病历文本中包含着巨大而宝贵的医疗信息。而在中医病历文本挖掘和利用方面,一直面临中医病历文本利用率低、抽取有效信息并对信息文本进行分类的难度大的问题。针对这一问题,研究一种对中医
    发表于 04-26 14:30 13次下载
    基于<b class='flag-5'>BERT</b>+Bo-LSTM+Attention的病历短文分类<b class='flag-5'>模型</b>

    基于BERT的中文科技NLP预训练模型

    深度学习模型应用于自然语言处理任务时依赖大型、高质量的人工标注数据集。为降低深度学习模型对大型数据集的依赖,提出一种基于BERT的中文科技自然语言处理预训练模型 ALICE。通过对遮罩
    发表于 05-07 10:08 14次下载

    基于Zero-Shot的多语言抽取式文本摘要模型

    抽取式文本摘要目前在英文上已经取得了很好的性能,这主要得益于大规模预训练语言模型和丰富的标注语料。但是对于其他小语种语言,目前很难得到大规模的标注数据。
    的头像 发表于 07-08 10:49 1244次阅读

    NLP入门之Bert的前世今生

    对于每个词只能有一个固定的向量表示,今天我们来介绍一个给NLP领域带来革新的预训练语言大模型Bert,对比word2vec和Glove词向量模型Bert是一个动态的词向量语言
    发表于 02-22 10:29 655次阅读
    NLP入门之<b class='flag-5'>Bert</b>的前世今生