您的位置:首页 > 健康 > 养生 > 园林景观设计公司客户话术_武汉网络运行平台开发_关键词优化工具互点_企业模板建站

园林景观设计公司客户话术_武汉网络运行平台开发_关键词优化工具互点_企业模板建站

2025/4/18 17:41:44 来源:https://blog.csdn.net/ouyangtianhan/article/details/147232673  浏览:    关键词:园林景观设计公司客户话术_武汉网络运行平台开发_关键词优化工具互点_企业模板建站
园林景观设计公司客户话术_武汉网络运行平台开发_关键词优化工具互点_企业模板建站

【AI】使用 Hugging Face Transformers 进行文本摘要实现

推荐超级课程:

  • 本地离线DeepSeek AI方案部署实战教程【完全版】
  • Docker快速入门到精通
  • Kubernetes入门到大师通关课
  • AWS云服务快速入门实战

目录

  • 【AI】使用 Hugging Face Transformers 进行文本摘要实现
    • Hugging Face Transformers 概述
    • 为什么选择 `google/pegasus-cnn_dailymail` 模型?
    • 先决条件
    • 数据摄取
    • 数据验证
    • 数据转换
    • 模型训练
    • 模型评估
    • 预测
    • 结论

我们将构建一个用于总结摘要的模型
在这里插入图片描述

文本摘要是 Hugging Face Transformers 提供的一个强大功能。它允许我们从大量文本中生成简洁的摘要。这在处理大量文本数据并需要以简短易读的格式提取核心思想时特别有用。

Hugging Face Transformers 概述

transformers 库是 TensorFlow 2.0 和 PyTorch 上的最先进的自然语言处理 (NLP) 库。它提供了数千个预训练模型来执行文本上的各种任务,如分类、信息提取、摘要、翻译、文本生成等。
利用预训练模型可以显著降低计算成本,节省宝贵的时间和资源,这些资源和时间原本会用于从头开始训练模型。这些模型支持跨不同模态的各种任务,包括自然语言处理 (NLP)、计算机视觉、音频和多模态任务。
在本教程中,我们将使用 google/pegasus-cnn_dailymail 模型。

为什么选择 google/pegasus-cnn_dailymail 模型?

Pegasus 模型是在 CNN/DailyMail 数据集上训练的,专为抽象文本摘要而设计。CNN/DailyMail 数据集是文本摘要任务的流行选择。
这个模型标识符可以使用 Hugging Face Transformers 库提供的 from_pretrained 方法来加载预训练模型。

model = "google/pegasus-cnn_dailymail"  tokenizer = AutoTokenizer.from_pretrained(model)  
model_pegasus = AutoModelForSeq2SeqLM.from_pretrained(model).to(device)

先决条件

在开始之前,请确保已安装必要的库。在终端中运行以下命令:

pip install transformers[sentencepiece] datasets sacrebleu rouge_score py7zr -q  
pip install --upgrade accelerate  
pip uninstall -y transformers accelerate  
pip install transformers accelerate

accelerate 库是一个轻量级的解决方案,用于在多种类型的硬件上训练和部署机器学习模型。它提供了一个简单的 API,用于将模型训练卸载到 GPU,并且与 PyTorch 和 TensorFlow 兼容。
本教程需要以下 Python 库:

from transformers import pipeline, set_seed  
from datasets import load_dataset, load_from_disk, load_metric  
import matplotlib.pyplot as plt  
from datasets import load_dataset  
import pandas as pd  
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer  
import nltk  
from nltk.tokenize import sent_tokenize  
from tqdm import tqdm  
import torch  
nltk.download("punkt")  from transformers import DataCollatorForSeq2Seq  
from transformers import TrainingArguments, Trainer

load_dataset:这是 datasets 库提供的一个函数,允许您加载一个数据集。您可以使用它从 Hugging Face Hub 或本地文件加载数据集。
load_from_disk:这是 datasets 库提供的一个函数,允许您加载已保存到磁盘的数据集。如果您的数据集太大,无法全部加载到内存中,这可能会很有用,因为 datasets 库使用内存映射,允许您在不将整个数据集加载到内存的情况下加载数据集。
AutoModelForSeq2SeqLM:这用于将一个序列转换为另一个长度相同的序列的任务(例如,翻译、摘要、文本生成)。
AutoTokenizer:这用于对文本进行标记化。
如果您有 GPU,您可以选择使用 CUDA 来执行训练和评估过程。如果没有 GPU,系统将默认使用 CPU。

device = "cuda" if torch.cuda.is_available() else "cpu"

数据摄取

首先,我们需要从 Hugging Face 下载 SamSum 数据集。您可以使用以下链接下载它:
samsum · Hugging Face 上的数据集
下载后,解压数据并使用 load_from_disk 库加载数据集。记得指定数据集的路径。

dataset_samsum = load_from_disk('samsum_dataset')  
dataset_samsumdef download_file():  if not os.path.exists(local_data_file):  filename, headers = request.urlretrieve(  url = source_URL,  filename = local_data_file  )  def extract_zip_file():  unzip_path = unzip_dir  os.makedirs(unzip_path, exist_ok = True)  with zipfile.ZipFile(local_data_file, 'r') as zip_ref:  zip_ref

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com