【AI】使用Huggingface模型实现文本内容摘要器

2025-04-14T13:32:20+08:00 | 4分钟阅读 | 更新于 2025-04-14T13:32:20+08:00

Macro Zhao

【AI】使用Huggingface模型实现文本内容摘要器

推荐超级课程:

@TOC

什么是摘要器?

顾名思义,摘要器的作用就是提炼。它将一大段文本压缩成更短的版本,只保留关键信息。想象一下,读一本小说和只看它的封底有什么区别。目标是在节省时间的同时,仍然能够抓住内容的精髓。

摘要器的应用场景

摘要器并非仅仅是酷炫的技术把戏,它服务于现实世界的需求。

  • 新闻记者用它快速筛选报告和研究。
  • 学生用它总结冗长的阅读材料。
  • 企业用它压缩市场分析或冗长的报告。 简而言之,任何需要快速处理大量文本的人都可以从摘要器中受益。

什么是 Hugging Face Transformers?

Hugging Face 是一家公司,它创建了一个用于自然语言处理 (NLP) 的最先进的平台。 他们的 Transformers 库就像是 NLP 任务的宝库。它包括预训练模型,可以执行从翻译和情感分析到摘要等所有任务。 这些模型从大量文本中学习,并以惊人的方式理解和生成语言,就像人类一样。

如何使用 Hugging Face Transformers 构建摘要器

现在,让我们卷起袖子开始构建吧。我们将使用 Huggingface pipeline 使用 Facebook 的 Bart 模型 来实现我们的摘要模型。 BART 模型是用英语预训练的。它是一个序列到序列模型,非常适合文本生成(例如摘要和翻译)。它也适用于理解任务(例如文本分类和问答)。 Hugging Face Pipelines 提供了一种更简单的方法来实现各种任务。它不需要准备数据集、用模型训练它,然后再使用它,因为 pipeline 简化了代码,因为它隐藏了手动分词和模型定制的需求。

如何设置您的环境

首先,您需要设置您的编码环境。我更喜欢使用 Google Collab notebook而不是在本地机器上安装它。 让我们从安装 transformer 库开始。如果您在 collab notebook中运行它,请在命令前使用 !:

pip install transformers

现在,让我们使用 Hugging Face transformers 库初始化一个文本摘要 pipeline:

summarizer = pipeline("summarization", model="facebook/bart-large-cnn")

让我们分解一下每个部分的作用:

  • pipeline:这是 Hugging Face transformers 库提供的一个函数,用于轻松地应用各种类型的自然语言处理 (NLP) 任务,例如文本分类、翻译、摘要等。该函数返回一个针对指定任务的现成 pipeline 对象。
  • "summarization":这是 pipeline 函数的第一个参数,指定您希望 pipeline 执行的任务类型。在这种情况下,"summarization" 意味着 pipeline 将被配置为摘要文本。
  • model="facebook/bart-large-cnn":此参数指定用于摘要任务的预训练模型。在这里,"facebook/bart-large-cnn" 指的是 Facebook 提供的一个特定模型,它在一个大型数据集上进行了训练,用于执行文本摘要。此模型基于 BART(双向和自回归 Transformer)架构,非常适合需要理解和生成自然语言的任务。large-cnn 部分表明此特定模型变体针对类似于传统 CNN 新闻风格摘要的任务进行了优化。 当执行此行代码时,它会创建一个 summarizer 对象。然后可以使用该对象通过将文本数据传递给它来执行文本摘要。该模型将生成输入文本的简短版本,捕获最重要的或相关信息,根据其在摘要任务上的训练。 现在我们准备使用模型来摘要我们的文本 。
text = """"""

现在,让我们使用此文本作为输入并调用我们的摘要器:

summary = summarizer(text, max_length=150, min_length=40, do_sample=False)

此行代码使用之前使用 Hugging Face pipeline 创建的 summarizer 对象来生成输入文本的摘要。以下是函数调用及其参数的分解:

  • summarizer:这是之前使用 pipeline 函数初始化的对象。
  • text:这是您想要摘要的输入文本。
  • max_length=150:此参数指定摘要的最大长度,以 token(单词和标点符号)的数量表示。
  • min_length=40:同样,此参数设置摘要的最小长度。 最后,我们将打印我们的摘要:
print(summary[0]['summary_text'])

以下是响应:

xxxxxxx

简而言之,此代码:

  • 加载了一个摘要 pipeline,该 pipeline 预配置为使用 facebook/bart-large-cnn 模型。
  • 将文本传递给摘要器。
  • 输出具有指定最小值和最大长度的摘要。

结论

使用 Hugging Face Transformers 构建文本摘要器不仅仅是玩酷炫的技术。这是关于利用人工智能的力量让我们的生活变得更轻松。无论您是学生、专业人士还是对 NLP 感兴趣的人,快速压缩信息的能力都是无价的。 有了 Hugging Face Transformers,您就站在巨人的肩膀上,利用当今最先进的 NLP 模型。所以,试试吧。谁知道呢?它可能会永远改变您处理文本的方式。

© 2011 - 2025 Macro Zhao的分享站

关于我

如遇到加载502错误,请尝试刷新😄

Hi,欢迎访问 Macro Zhao 的博客。Macro Zhao(或 Macro)是我在互联网上经常使用的名字。

我是一个热衷于技术探索和分享的IT工程师,在这里我会记录分享一些关于技术、工作和生活上的事情。

我的CSDN博客:
https://macro-zhao.blog.csdn.net/

欢迎你通过评论或者邮件与我交流。
Mail Me

推荐好玩(You'll Like)
  • AI 动·画
    • 这是一款有趣·免费的能让您画的画中的角色动起来的AI工具。
    • 支持几十种动作生成。
我的项目(My Projects)
  • 爱学习网

  • 小乙日语App

    • 这是一个帮助日语学习者学习日语的App。
      (当然初衷也是为了自用😄)
    • 界面干净,简洁,漂亮!
    • 其中包含 N1 + N2 的全部单词和语法。
    • 不需注册,更不需要订阅!完全免费!
  • 小乙日文阅读器

    • 词汇不够?照样能读日语名著!
    • 越读积累越多,积跬步致千里!
    • 哪里不会点哪里!妈妈再也不担心我读不了原版读物了!
赞助我(Sponsor Me)

如果你喜欢我的作品或者发现它们对你有所帮助,可以考虑给我买一杯咖啡 ☕️。这将激励我在未来创作和分享更多的项目和技术。🦾

👉 请我喝一杯咖啡

If you like my works or find them helpful, please consider buying me a cup of coffee ☕️. It inspires me to create and share more projects in the future. 🦾

👉 Buy me a coffee