当前位置: 首页 > news >正文

需要推销自己做网站的公司中国做跨境电商出口的网站

需要推销自己做网站的公司,中国做跨境电商出口的网站,软件开发是怎么开发的啊,建一个电商平台多少钱在这一部分中#xff0c;我们将探讨如何使用 Transformer 模型将长文档压缩为摘要#xff0c;这个任务被称为文本摘要。文本摘要是 NLP 领域中最具挑战性的任务之一#xff0c;因为它需要理解长篇文本并生成连贯的总结#xff0c;捕捉文档中的核心主题。然而#xff0c;当… 在这一部分中我们将探讨如何使用 Transformer 模型将长文档压缩为摘要这个任务被称为文本摘要。文本摘要是 NLP 领域中最具挑战性的任务之一因为它需要理解长篇文本并生成连贯的总结捕捉文档中的核心主题。然而当文本摘要任务处理得当时它能够极大地提高各种业务流程的效率减轻专家阅读长篇文档的负担。 虽然 Hugging Face Hub 上已经有许多用于文本摘要的预训练模型但这些模型几乎都只适用于英文文档。因此在本节中我们将增加一些变化训练一个可以处理英语和西班牙语的双语模型。 1. 加载数据 准备多语言语料库 我们将使用多语言亚马逊评论语料库Multilingual Amazon Reviews Corpus来创建双语摘要模型。该语料库包含六种语言的亚马逊产品评论通常用于多语言分类器的基准测试。由于每条评论都有一个简短的标题我们可以将这些标题作为目标摘要让模型从中学习首先让我们从 Hugging Face Hub 下载英语和西班牙语的子集 import osos.environ[http_proxy] os.environ[https_proxy] from datasets import load_datasetspanish_dataset load_dataset(amazon_reviews_multi, es) english_dataset load_dataset(amazon_reviews_multi, en) english_dataset每种语言的训练集有 20 万条评论验证集和测试集各有 5,000 条评论。我们感兴趣的评论信息包含在 review_body评论内容和 review_title评论标题列中。让我们定义一个函数从训练集中随机抽取几条样本看看评论和标题的样子 def show_samples(dataset, num_samples3, seed42):sample dataset[train].shuffle(seedseed).select(range(num_samples))for example in sample:print(f\n Title: {example[review_title]})print(f Review: {example[review_body]})show_samples(english_dataset)这样我们就可以看到评论和标题的多样性评论内容从积极到消极不等。训练一个能够处理所有 40 万条评论的模型需要耗费大量时间因此我们决定专注于为单一产品领域生成摘要。 我们将重点放在书籍评论领域筛选出书籍book和电子书购买digital_ebook_purchase相关的评论 def filter_books(example):return (example[product_category] bookor example[product_category] digital_ebook_purchase)spanish_books spanish_dataset.filter(filter_books) english_books english_dataset.filter(filter_books) show_samples(english_books)接着我们将英语和西班牙语的评论合并为一个 DatasetDict 对象并随机打乱数据以确保模型不会只关注某一种语言 from datasets import concatenate_datasets, DatasetDictbooks_dataset DatasetDict()for split in english_books.keys():books_dataset[split] concatenate_datasets([english_books[split], spanish_books[split]])books_dataset[split] books_dataset[split].shuffle(seed42)show_samples(books_dataset)在处理文本摘要任务时短参考摘要可能会使模型输出极简的结果因此我们通过过滤掉标题过短的样本确保模型可以生成更有意义的摘要 books_dataset books_dataset.filter(lambda x: len(x[review_title].split()) 2)2. 数据预处理 文本摘要任务与机器翻译类似我们需要将长文本“翻译”成一个更短的版本。大多数用于摘要任务的 Transformer 模型采用编码器-解码器架构如 mT5它是一种多语言 Transformer 模型。 首先我们加载与预训练模型 mt5-small 相关的 tokenizer并测试它是否能够正确处理输入文本 from transformers import AutoTokenizermodel_checkpoint google/mt5-small tokenizer AutoTokenizer.from_pretrained(model_checkpoint)inputs tokenizer(I loved reading the Hunger Games!) inputs接下来为了确保模型不会处理过长的输入和输出我们在对评论和标题进行标记时对它们进行截断 max_input_length 512 max_target_length 30def preprocess_function(examples):model_inputs tokenizer(examples[review_body],max_lengthmax_input_length,truncationTrue,)labels tokenizer(examples[review_title], max_lengthmax_target_length, truncationTrue)model_inputs[labels] labels[input_ids]return model_inputstokenized_datasets books_dataset.map(preprocess_function, batchedTrue)3. 文本摘要的评估指标 文本摘要任务的常用评估指标是 ROUGE 分数。它衡量生成摘要和参考摘要之间的重叠程度。我们可以使用 evaluate 库中的 rouge_score 来计算这些分数 import evaluaterouge_score evaluate.load(rouge)scores rouge_score.compute(predictions[I absolutely loved reading the Hunger Games],references[I loved reading the Hunger Games] ) scores4. 创建强大的基线模型 一个常见的文本摘要基线是提取文章的前三个句子。我们可以使用 nltk 库来处理句子边界创建一个简单的函数来提取前三个句子并计算 ROUGE 分数 from nltk.tokenize import sent_tokenizedef three_sentence_summary(text):return \n.join(sent_tokenize(text)[:3])def evaluate_baseline(dataset, metric):summaries [three_sentence_summary(text) for text in dataset[review_body]]return metric.compute(predictionssummaries, referencesdataset[review_title])score evaluate_baseline(books_dataset[validation], rouge_score) score5. 模型 我们加载预训练的 mt5-small 模型并使用 DataCollatorForSeq2Seq 来动态填充输入和标签。接下来设置数据加载器和优化器并将模型和数据加载器传递给 Accelerator.prepare() 进行训练 from transformers import AutoModelForSeq2SeqLM, DataCollatorForSeq2Seq, AdamW, get_scheduler, Acceleratormodel AutoModelForSeq2SeqLM.from_pretrained(model_checkpoint) data_collator DataCollatorForSeq2Seq(tokenizer, modelmodel)train_dataloader DataLoader(tokenized_datasets[train], shuffleTrue, collate_fndata_collator, batch_size8 )optimizer AdamW(model.parameters(), lr2e-5) lr_scheduler get_scheduler(linear, optimizeroptimizer, num_warmup_steps0, num_training_stepslen(train_dataloader) * 3 )accelerator Accelerator() model, optimizer, train_dataloader, eval_dataloader accelerator.prepare(model, optimizer, train_dataloader, eval_dataloader )6. 训练 我们实现训练循环包括生成摘要、计算 ROUGE 分数和将结果上传到 Hugging Face Hub from tqdm.auto import tqdm import numpy as npprogress_bar tqdm(range(len(train_dataloader) * 3))for epoch in range(3):model.train()for step, batch in enumerate(train_dataloader):outputs model(**batch)loss outputs.lossaccelerator.backward(loss)optimizer.step()lr_scheduler.step()optimizer.zero_grad()progress_bar.update(1)model.eval()generated_tokens []for step, batch in enumerate(eval_dataloader):with torch.no_grad():outputs model.generate(batch[input_ids], attention_maskbatch[attention_mask])generated_tokens.append(outputs)rouge_score.add_batch(predictionsgenerated_tokens, referencesbatch[labels])print(fEpoch {epoch}:, rouge_score.compute())7. 推理 训练完成后我们可以使用 pipeline 进行推理生成书评的摘要 from transformers import pipelinesummarizer pipeline(summarization, modelChaklam/test-summ-accelerate)def print_summary(idx):review books_dataset[test][idx][review_body]title books_dataset[test][idx][review_title]summary summarizer(books_dataset[test][idx][review_body])[0][summary_text]print(f Review: {review})print(f\n Title: {title})print(f\n Summary: {summary})print_summary(100)这样我们就可以生成模型的摘要并与测试集中未见过的书评进行比较。 结语              在本篇博文中我们介绍了如何通过使用 mT5 Transformer 模型来完成文本摘要任务。我们从多语言亚马逊评论语料库中提取了英文和西班牙文的书籍评论并将其标题作为摘要任务的参考。接着通过预处理、使用 mT5 模型进行训练并利用 ROUGE 分数来评估生成摘要的质量我们成功构建了一个双语文本摘要系统。         在实践中文本摘要能够帮助用户快速理解长文档的核心内容而训练一个双语模型可以扩展其应用范围至多语言环境。随着训练的不断深入和数据集的多样性提升该模型有望生成更加简洁和准确的摘要。这一流程不仅展示了 Transformer 模型在自然语言生成任务中的强大能力也为其他多语言任务提供了借鉴和参考。 如果你觉得这篇博文对你有帮助请点赞、收藏、关注我并且可以打赏支持我 欢迎关注我的后续博文我将分享更多关于人工智能、自然语言处理和计算机视觉的精彩内容。 谢谢大家的支持
http://www.hkea.cn/news/14386189/

相关文章:

  • 站长推荐自动跳转导航入口科普文章在那个网站做
  • 珠海网站搭建客户资源网
  • 汉中网站开发如何建设一个国外网站
  • 徐汇集团网站建设农家乐网站规划与建设方案
  • 网站做电源做视频的背景音乐哪里下载网站
  • 做淘宝网站报告齐齐哈尔市网站建设
  • 如果我的网站被百度收录了_以后如何做更新争取更多收录电脑建网站
  • 义乌网站建设制作中天建设集团有限公司排名
  • 《电子商务网站建设 》如何设计一个自己的网页
  • 企业网站建设与实施调查报告seo优化常识
  • 网站备案 取名资讯通不过濮阳网站优化公司哪家好
  • 伪装学渣无极网站网站推广怎么做与发布
  • 网站如何防止重登录兰州市城乡建设局网站s104项目
  • 网站设计书籍wordpress yosat
  • flash网站设计师wordpress 首页无法访问
  • 如何快速用手机做网站找图片素材网站
  • 深圳成品网站超市企业网站运行通知
  • 红河州网站建设wordpress 文章分类插件
  • 二极管 东莞网站建设网站优化 月付费
  • 如何创建旅游网站斗鱼网站开发是用什么语言
  • 公司网站上传不了图片做任务得得q币的网站
  • 邢台市政建设集团股份有限公司网站网站seo运营
  • 网站移动端是什么问题吗卖备案域名被抓
  • 怎么在网站底部添加备案号网站开发目前用的是什么语言
  • 网站没排名要怎么做商丘家具网站建设
  • 网站点击排名网站建设公司那家好
  • 网站建设公司盈利模式地区性门户网站是什么意思
  • 国外做的好的电商网站推荐seo关键词排名优化软件
  • 建站设计公司马云的网站是谁建设的
  • 微信的官方网站怎么做黑龙江省建设教育协会网站