25 | 摘要:如何快速实现自动文摘生成?
方远
你好,我是方远。
当我们打开某个新闻 APP 或者某个网站时,常常被这样的标题所吸引:“震惊了十亿人”、“一定要读完,跟你的生命有关!”等。但是当我们点进去却发现都是标题党,实际内容大相径庭!这时候你可能会想,如果有一种工具能帮助我们提炼文章的关键内容,那我们就不会再受到标题党的影响了。其实想要实现这个工具并不复杂,用自动文摘技术就能解决。
自动文摘充斥着我们生活的方方面面,它可用于热点新闻聚合、新闻推荐、语音播报、APP 消息 Push、智能写作等场景。今天我们要讲的这个自然语言处理任务,就是自动文摘生成。
问题背景
自动文摘技术,就是自动提炼出一些句子来概括整篇文章的大意,用户通过读摘要就可以了解到原文要表达的意思。
抽取与生成
自动文摘有两种解决方案:一种是抽取式(Extractive)的,就是从原文中提取一些关键的句子,组合成一篇摘要;另外一种是生成式(Abstractive)的,也是这节课我们重点要讲的内容,这种方式需要计算机通读原文后,在理解整篇文章内容的基础上,使用简短连贯的语言将原文的主要内容表达出来,即会产生原文中没有出现的词和句子。
现阶段,抽取式的摘要目前已经相对成熟,但是抽取质量及内容流畅度都不够理想。随着深度学习的研究,生成式摘要的质量和流畅度都有很大提升,但目前也受到原文本长度过长、抽取内容不佳等限制,生成的摘要与人工摘要相比,还有相当的差距。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
自动文摘生成技术在信息爆炸时代具有重要意义。本文重点介绍了BART模型的原理与特点,以及如何利用hugging face的Transformers工具包快速生成文摘。BART模型结合了双向Transformer和自回归Transformer,在文本生成任务中取得了SOTA的结果。通过pipeline API,只需几行代码就能快速生成文本摘要。此外,文章还提供了使用自定义模型的方法。在使用BART模型进行文本摘要生成时,首先需要实例化一个BART的模型和分词器对象。接下来对原始文本进行分词,然后使用generate()方法生成摘要,最后利用分词器解码得到最终的摘要文本。另外,文章还介绍了如何用自己的数据集来训练BART模型,包括模型加载、数据准备和模型训练的具体步骤。通过本文的学习,读者可以快速了解自动文摘生成技术的基本原理和应用方法,以及如何利用现有工具快速生成文本摘要。同时,通过实例讲解,读者还可以掌握如何使用自定义数据集进行BART模型的Fine-tuning。这篇文章内容丰富,涵盖了自动文摘生成技术的基本原理和实际操作,对于对自然语言处理感兴趣的读者来说,是一篇值得深入阅读的技术文章。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《PyTorch 深度学习实战》,新⼈⾸单¥59
《PyTorch 深度学习实战》,新⼈⾸单¥59
立即购买
登录 后留言
全部留言(11)
- 最新
- 精选
- ifelse学习打卡
作者回复: 👍🏻
2023-12-14归属地:浙江1 - XTZ跑预处理的时候报了错Provided `function` which is applied to all elements of table returns a `dict` of types [<class 'list'>, <class 'list'>, <class 'torch.Tensor'>, <class 'torch.Tensor'>]. When using `batched=True`, make sure provided `function` returns a `dict` of types like `(<class 'list'>, <class 'numpy.ndarray'>)`但是这个返回值不能去掉任何一条啊
作者回复: hi,你好。 能告诉我是哪句代码报的错吗
2022-09-10归属地:北京 - Geek_709f77有交流群能加么?
作者回复: 必须能了,我让编辑加一下你。
2022-04-168 - (●—●)请问模型下载了一半,然后断网了,运行的结果不一致,怎么解决呢?或者有交流群吗?
作者回复: 你好,请问运行结果不一致是指什么? 我让编辑加一下你。
2022-03-222 - 蓝色天空 好萌啊老师,有完整的BART代码地址吗?
编辑回复: 编辑回复:没有,但老师已经在文中给出了BART模型了论文超链接,你可以看一下。
2022-01-27 - 蓝色天空 好萌啊还有T5、去年比较热的prompt和对比学习等
作者回复: 👍🏻👍🏻👍🏻👍🏻👍🏻👍🏻 ^^
2022-01-27 - 钱钱钱我爱钱请问老师的代码仓库在哪里呢?没找到2023-05-01归属地:广东3
- Archer方老师 ,您好。 我在跑pipline时,尝试去提取一个大文本的摘要。 但是print(summarizer(ARTICLE, max_length=130, min_length=30)) 这一行报出错误:IndexError: index out of range in self 。 请问您有遇到过类似的问题吗?如何解决呢?2022-10-04归属地:湖南
- 亚林老师的例子没跑通,我用官网的文摘微调,T5-saml训练 BillSum 数据集跑通了。 https://huggingface.co/docs/transformers/tasks/summarization2022-06-10
- 亚林老师的源代码训练有点牛,我还是用官网T5简单的弄了弄。 https://huggingface.co/docs/transformers/tasks/summarization2022-06-10
收起评论