前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >BERT文本摘要

BERT文本摘要

作者头像
磐创AI
发布于 2020-07-28 03:05:18
发布于 2020-07-28 03:05:18
1.5K00
代码可运行
举报
运行总次数:0
代码可运行
磐创AI分享

作者 | Daulet Nurmanbetov

编译 | VK

来源 | Towards Data Science

你有没有曾经需要把一份冗长的文件归纳成摘要?或者为一份文件提供一份摘要?如你所知,这个过程对我们人类来说是乏味而缓慢的——我们需要阅读整个文档,然后专注于重要的句子,最后,将句子重新写成一个连贯的摘要。

这就是自动摘要可以帮助我们的地方。机器学习在总结方面取得了长足的进步,但仍有很大的发展空间。通常,机器摘要分为两种类型

摘要提取:如果重要句子出现在原始文件中,提取它。

总结摘要:总结文件中包含的重要观点或事实,不要重复文章里的话。这是我们在被要求总结一份文件时通常会想到的。

我想向你展示最近的一些结果,用BERT_Sum_Abs总结摘要,Yang Liu和Mirella Lapata的工作Text Summarization with Pretrained Encoders:https://arxiv.org/pdf/1908.08345.pdf

BERT总结摘要的性能

摘要旨在将文档压缩成较短的版本,同时保留其大部分含义。总结摘要任务需要语言生成能力来创建包含源文档中没有的新单词和短语的摘要。摘要抽取通常被定义为一个二值分类任务,其标签指示摘要中是否应该包含一个文本范围(通常是一个句子)。

下面是BERT_Sum_Abs如何处理标准摘要数据集:CNN和Daily Mail,它们通常用于基准测试。评估指标被称为ROGUE F1分数

结果表明,BERT_Sum_Abs模型的性能优于大多数基于非Transformer的模型。更好的是,模型背后的代码是开源的,实现可以在Github上获得(https://github.com/huggingface/transformers/tree/master/examples/summarization/bertabs)。

示范和代码

让我们通过一个例子来总结一篇文章。我们将选择以下文章来总结摘要,美联储官员说,各国央行行长一致应对冠状病毒。这是全文

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
The Federal Reserve Bank of New York president, John C. Williams, made clear on Thursday evening that officials viewed the emergency rate cut they approved earlier this week as part of an international push to cushion the economy as the coronavirus threatens global growth.
Mr. Williams, one of the Fed’s three key leaders, spoke in New York two days after the Fed slashed borrowing costs by half a point in its first emergency move since the depths of the 2008 financial crisis. The move came shortly after a call between finance ministers and central bankers from the Group of 7, which also includes Britain, Canada, France, Germany, Italy and Japan.
“Tuesday’s phone call between G7 finance ministers and central bank governors, the subsequent statement, and policy actions by central banks are clear indications of the close alignment at the international level,” Mr. Williams said in a speech to the Foreign Policy Association.
Rate cuts followed in Canada, Asia and the Middle East on Wednesday. The Bank of Japan and European Central Bank — which already have interest rates set below zero — have yet to further cut borrowing costs, but they have pledged to support their economies.
Mr. Williams’s statement is significant, in part because global policymakers were criticized for failing to satisfy market expectations for a coordinated rate cut among major economies. Stock prices temporarily rallied after the Fed’s announcement, but quickly sank again.
Central banks face challenges in offsetting the economic shock of the coronavirus.
Many were already working hard to stoke stronger economic growth, so they have limited room for further action. That makes the kind of carefully orchestrated, lock step rate cut central banks undertook in October 2008 all but impossible.
Interest rate cuts can also do little to soften the near-term hit from the virus, which is forcing the closure of offices and worker quarantines and delaying shipments of goods as infections spread across the globe.
“It’s up to individual countries, individual fiscal policies and individual central banks to do what they were going to do,” Fed Chair Jerome H. Powell said after the cut, noting that different nations had “different situations.”
Mr. Williams reiterated Mr. Powell’s pledge that the Fed would continue monitoring risks in the “weeks and months” ahead. Economists widely expect another quarter-point rate cut at the Fed’s March 18 meeting.
The New York Fed president, whose reserve bank is partly responsible for ensuring financial markets are functioning properly, also promised that the Fed stood ready to act as needed to make sure that everything is working smoothly.
Since September, when an obscure but crucial corner of money markets experienced unusual volatility, the Fed has been temporarily intervening in the market to keep it calm. The goal is to keep cash flowing in the market for overnight and short-term loans between banks and other financial institutions. The central bank has also been buying short-term government debt.
“We remain flexible and ready to make adjustments to our operations as needed to ensure that monetary policy is effectively implemented and transmitted to financial markets and the broader economy,” Mr. Williams said Thursday.

首先,我们需要获取模型代码,安装依赖项并下载数据集,如下所示,你可以在自己的Linux计算机上轻松执行这些操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 安装Huggingface的Transformers
git clone https://github.com/huggingface/transformers && cd transformers
pip install .
pip install nltk py-rouge
cd examples/summarization

#------------------------------
# 下载原始摘要数据集。代码从Linux上的谷歌驱动器下载
wget --save-cookies cookies.txt --keep-session-cookies --no-check-certificate 'https://drive.google.com/uc?export=download&id=0BwmD_VLjROrfTHk4NFg2SndKcjQ' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/Code: \1\n/p'
wget --load-cookies cookies.txt --no-check-certificate 'https://drive.google.com/uc?export=download&confirm=<CONFIRMATION CODE HERE>&id=0BwmD_VLjROrfTHk4NFg2SndKcjQ' -O cnn_stories.tgz

wget --save-cookies cookies.txt --keep-session-cookies --no-check-certificate 'https://drive.google.com/uc?export=download&id=0BwmD_VLjROrfM1BxdkxVaTY2bWs' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/Code: \1\n/p'
wget --load-cookies cookies.txt --no-check-certificate 'https://drive.google.com/uc?export=download&confirm=<CONFIRMATION CODE HERE>&id=0BwmD_VLjROrfM1BxdkxVaTY2bWs' -O dailymail_stories.tgz

# 解压文件
tar -xvf cnn_stories.tgz && tar -xvf dailymail_stories.tgz
rm cnn_stories.tgz dailymail_stories.tgz

#将文章移动到一个位置
mkdir bertabs/dataset
mkdir bertabs/summaries_out
cp -r bertabs/cnn/stories dataset
cp -r bertabs/dailymail/stories dataset

# 选择要总结摘要的文章子集
mkdir bertabs/dataset2
cd bertabs/dataset && find . -maxdepth 1 -type f | head -1000 | xargs cp -t ../dataset2/

在执行了上面的代码之后,我们现在执行下面所示的python命令来总结/dataset2目录中的文档摘要:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
python run_summarization.py \
    --documents_dir bertabs/dataset2 \
    --summaries_output_dir bertabs/summaries_out \
    --batch_size 64 \
    --min_length 50 \
    --max_length 200 \
    --beam_size 5 \
    --alpha 0.95 \
    --block_trigram true \
    --compute_rouge true

这里的参数如下

documents_dir,文档所在的文件夹

summaries_output_dir,写入摘要的文件夹。默认为文档所在的文件夹

batch_size,用于训练的每个GPU/CPU的batch大小

beam_size,每个示例要开始的集束数

block_trigram,是否阻止由集束搜索生成的文本中重复的trigram

compute_rouge,计算评估期间的ROUGE指标。仅适用于CNN/DailyMail数据集

alpha,集束搜索中长度惩罚的alpha值(值越大,惩罚越大)

min_length,摘要的最小标记数

max_length,摘要的最大标记数

BERT_Sum_Abs完成后,我们获得以下摘要:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
The Fed slashed borrowing costs by half a point in its first emergency move since the depths of the 2008 financial crisis. Rate cuts followed in Canada, Asia and the Middle East on Wednesday. The Bank of Japan and European Central Bank have yet to further cut borrowing costs, but they have pledged to support their economies.

这是另一篇英语文章:https://news.stonybrook.edu/newsroom/study-shows-low-carb-diet-may-prevent-reverse-age-related-effects-within-the-brain/

得到的摘要如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
The research team focused on the Presymptomatic period during which prevention may be most effective. They showed that communication between brain regions destabilizes with age, typically in the late 40's, and that destabilization associated with poorer cognition. The good news is that we may be able to prevent or reverse these effects with diet, mitigating the impact of encroaching Hypometabolism by exchanging glucose for ketones as fuel for neurons.

结论

如你所见,BERT正在改进NLP的各个方面。这意味着,在开源的同时,我们每天都看到NLP的性能接近人类的水平。

NLP商业化产品正在接近,每一个新的NLP模型不仅在基准上建立了新的记录,而且任何人都可以使用。就像OCR技术在10年前被商品化一样,NLP在未来几年也将如此。

原文链接:https://towardsdatascience.com/summarization-has-gotten-commoditized-thanks-to-bert-9bb73f2d6922

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 磐创AI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
GitHub | 一套完整的文本摘要任务解决方案-FastSum
FastSum 的 GitHub 地址先为大家奉上:https://github.com/fastnlp/fastSum
机器学习之禅
2022/07/11
9060
别用GPT-4直出文本摘要!MIT、哥大等发布全新「密度链」提示:实体密度是摘要质量的关键
ChatGPT发布后,文本生成技术得到飞速发展,大量NLP任务都面临被完全攻克的窘境,尤其是对于缺乏标准答案的「文本摘要」任务来说更是如此。
新智元
2023/10/04
3340
别用GPT-4直出文本摘要!MIT、哥大等发布全新「密度链」提示:实体密度是摘要质量的关键
【论文】NAACL2019 抽取式摘要之 SUMO
论文题目:Single Document Summarization as Tree Induction
zenRRan
2019/12/23
7690
【论文】NAACL2019 抽取式摘要之 SUMO
帝国理工联手谷歌提出抽象文本摘要最佳模型 | ICML 2020
本文介绍的是ICML 2020 论文《PEGASUS: Pre-training with Extracted Gap-sentences for Abstractive Summarization 》,论文作者来自伦敦帝国理工学院和谷歌。
AI科技评论
2020/07/08
8190
《BERT基础教程:Transformer大模型实战》读书笔记
BERT,Bidirectional Encoder Representations from Transformers,多Transformer的双向编码器表示法。
johnny666
2024/09/26
3610
干货|当深度学习遇见自动文本摘要,seq2seq+attention
随着近几年文本信息的爆发式增长,人们每天能接触到海量的文本信息,如新闻、博客、聊天、报告、论文、微博等。从大量文本信息中提取重要的内容,已成为我们的一个迫切需求,而自动文本摘要(automatic text summarization)则提供了一个高效的解决方案。 根据Radev的定义[3],摘要是“一段从一份或多份文本中提取出来的文字,它包含了原文本中的重要信息,其长度不超过或远少于原文本的一半”。自动文本摘要旨在通过机器自动输出简洁、流畅、保留关键信息的摘要。 自动文本摘要有非常多的应用场景,如自动报
昱良
2018/06/25
3.6K0
使用Pytorch和BERT进行多标签文本分类
自然语言处理(NLP)是一种将非结构化文本处理成有意义的知识的人工智能技术。NLP解决了分类、主题建模、文本生成、问答、推荐等业务问题。虽然TF/IDF矢量化或其他高级词嵌入(如GLOVE和Word2Vec)在此类NLP业务问题上表现出了良好的性能,但这些模型存在局限性就是使用一个向量对词进行编码而不考虑上下文的不同含义。因此,当试图解决理解用户意图所需的问题时,这些模型可能不能很好地执行。一个例子是,当用户与自动聊天机器人交互时,它试图理解用户查询的意图并准确地提供响应。
deephub
2021/04/16
6.4K0
huggingface transformers实战系列-06_文本摘要
随着互联网产生的文本数据越来越多,文本信息过载问题日益严重,对各类文本进行一个“降 维”处理显得非常必要,文本摘要便是其中一个重要的手段。文本摘要旨在将文本或文本集合转换为包含关键信息的简短摘要。文本摘要按照输入类型可分为单文档摘要和多文档摘要。单文档摘要从给定的一个文档中生成摘要,多文档摘要从给定的一组主题相关的文档中生成摘要。按照输出类型可分为抽取式摘要和生成式摘要。抽取式摘要从源文档中抽取关键句和关键词组成摘要,摘要全部来源于原文。生成式摘要根据原文,允许生成新的词语、短语来组成摘要。按照有无监督数据可以分为有监督摘要和无监督摘要。本文主要关注单文档、有监督、抽取式、生成式摘要
致Great
2023/08/25
7860
huggingface transformers实战系列-06_文本摘要
BRIO:抽象文本摘要任务新的SOTA模型
在 SimCLS [2]论文发布后不久,作者又发布了抽象文本摘要任务的SOTA结果 [1]。BRIO在上述论文的基础上结合了对比学习范式。
deephub
2022/06/04
7830
BRIO:抽象文本摘要任务新的SOTA模型
使用“BERT”作为编码器和解码器(BERT2BERT)来改进Seq2Seq文本摘要模型
来源:Deephub Imba本文约1500字,建议阅读5分钟在本文中,想展示如何使用仅编码器模型的预训练权重来为我们的微调提供一个良好的开始。 BERT是一个著名的、强大的预先训练的“编码器”模型。让我们看看如何使用它作为“解码器”来形成编码器-解码器架构。 Transformer 架构由两个主要构建块组成——编码器和解码器——我们将它们堆叠在一起形成一个 seq2seq 模型。从头开始训练基于Transformer 的模型通常很困难,因为它需要大型数据集和高 GPU 内存。我们可以使用许多具有不同目标的
数据派THU
2022/07/19
6330
使用“BERT”作为编码器和解码器(BERT2BERT)来改进Seq2Seq文本摘要模型
对话摘要技术在美团的探索(SIGIR)
总第512篇 2022年 第029篇 随着互联网产生的文本数据越来越多,文本信息过载问题日益严重,对各类文本进行一个“降维”处理显得非常必要,而文本摘要就是其中一个重要的手段。 本文首先介绍了经典的文本摘要方法,随后分析了对话摘要的模型,并分享了美团在真实对话摘要场景中面临的挑战。同时基于实际的场景,本文提出了阅读理解的距离监督Span-Level对话摘要方案(已发表在SIGIR 2021),该方法比强基准方法在ROUGE-L指标和BLEU指标上提升了3%左右。 1. 对话摘要技术背景 2. 文本摘要与对
美团技术团队
2022/05/27
1K0
对话摘要技术在美团的探索(SIGIR)
基于 BERT 的抽取式摘要
Python: 3.7 或更高版本(推荐 3.8 或 3.9,与 PyTorch 和 Transformers 兼容性更好)。
小言从不摸鱼
2025/03/05
1121
基于 BERT 的抽取式摘要
How AHI Fintech and DataVisor are Securing Data through AI and Big Data
The field of financial risk control has recently seen a sudden increase in competition over the past year. Several budding enterprises find themselves currently fighting a battle on two fronts—data acquisition capabilities and algorithm technology.
全栈程序员站长
2022/07/21
3750
NLP 进行文本摘要的三种策略代码实现和对比:TextRank vs Seq2Seq vs BART
来源:Deephub Imba本文约8400字,建议阅读15分钟本文将使用Python实现和对比解释NLP中的3种不同文本摘要策略。 本文将使用 Python 实现和对比解释 NLP中的3种不同文本摘要策略:老式的 TextRank(使用 gensim)、著名的 Seq2Seq(使基于 tensorflow)和最前沿的 BART(使用Transformers )。 NLP(自然语言处理)是人工智能领域,研究计算机与人类语言之间的交互,特别是如何对计算机进行编程以处理和分析大量自然语言数据。最难的 NLP
数据派THU
2022/05/27
8810
NLP 进行文本摘要的三种策略代码实现和对比:TextRank vs Seq2Seq vs BART
金融/语音/音频处理学术速递[6.24]
【1】 Chebyshev Greeks: Smoothing Gamma without Bias 标题:契比雪夫希腊人:没有偏见地平滑伽马
公众号-arXiv每日学术速递
2021/07/02
5360
用 Transformer 模型解锁高效文本摘要的技巧
嗨,大家好,我是Echo_Wish,今天带着满满的干货来跟大家分享如何通过 Transformer 模型实现高效的文本摘要。文本摘要问题看似简单,但其背后隐藏着许多技术挑战。通过这篇文章,我将从理论到实践,带大家一步步揭开 Transformer 的神秘面纱,并用通俗的语言和代码实例,帮你快速上手。如果你对机器学习感兴趣,或者你和我一样,总想在信息海洋中找到更快捷的方式获取知识,那么这篇文章绝对值得收藏。
Echo_Wish
2025/04/03
1640
用 Transformer 模型解锁高效文本摘要的技巧
自然语言处理学术速递[8.20]
【1】 Attentive fine-tuning of Transformers for Translation of low-resourced languages @LoResMT 2021 标题:细心微调转换器以翻译资源不足的语言@LoResMT 2021 链接:https://arxiv.org/abs/2108.08556
公众号-arXiv每日学术速递
2021/08/24
3300
【NLP】文本自动摘要任务的心得总结
由于最近需要进行组内的知识分享,因而借此机会将文本摘要的一些基本知识以及本人的一些实践经验做成文稿,一方面用来组内分享,一方面也是总结一下过去在该领域的一些心得体会。因个人的能力所限,本文实质上是对文本摘要的不完全总结,如有未能囊括的知识点,还请同学们多提意见,一起进步。
yuquanle
2019/11/14
4.4K0
【NLP】文本自动摘要任务的心得总结
Transformers 4.37 中文文档(二)
除了🤗 Transformers 的 notebooks 之外,还有示例脚本演示如何使用PyTorch、TensorFlow或JAX/Flax训练模型的方法。
ApacheCN_飞龙
2024/06/26
6920
Transformers 4.37 中文文档(二)
NLP 进行文本摘要的三种策略代码实现和对比:TextRank vs Seq2Seq vs BART
本文将使用 Python 实现和对比解释 NLP中的3 种不同文本摘要策略:老式的 TextRank(使用 gensim)、著名的 Seq2Seq(使基于 tensorflow)和最前沿的 BART(使用Transformers )。
deephub
2022/04/14
5690
NLP 进行文本摘要的三种策略代码实现和对比:TextRank vs Seq2Seq vs BART
推荐阅读
相关推荐
GitHub | 一套完整的文本摘要任务解决方案-FastSum
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档