Mt5 Base Summary
M
Mt5 Base Summary
由 twwch 开发
基于mT5的中文文本摘要模型,能够生成输入文本的简洁摘要。
下载量 20
发布时间 : 10/26/2023
模型简介
该模型是基于mT5架构的中文文本摘要模型,主要用于对中文文本进行自动摘要生成。它能够处理长文本输入,并生成简洁、连贯的摘要内容。
模型特点
中文文本摘要
专门针对中文文本优化的摘要生成能力
长文本处理
能够处理较长的输入文本并生成连贯摘要
高性能
基于mT5架构,具有较好的摘要生成质量
模型能力
中文文本摘要
长文本处理
关键信息提取
使用案例
内容摘要
新闻摘要
自动生成新闻文章的简短摘要
生成包含主要新闻点的简洁摘要
技术文档摘要
对技术文档进行摘要生成
提取技术文档的关键概念和要点
🚀 twwch/mt5-base-summary 文本摘要模型
该项目提供了一个基于T5
架构的文本摘要模型,可对长文本进行有效摘要提取,能广泛应用于信息快速获取等场景,提升信息处理效率。
🚀 快速开始
以下是使用该模型进行文本摘要的示例代码:
import torch
from transformers import T5ForConditionalGeneration, T5Tokenizer
model_path = "twwch/mt5-base-summary"
model = T5ForConditionalGeneration.from_pretrained(model_path)
tokenizer = T5Tokenizer.from_pretrained(model_path)
device = torch.device('cuda:0') if torch.cuda.is_available() else torch.device('cpu')
model.to(device)
model.eval()
text = """
什么是Nginx
Nginx是一个开源的高性能HTTP和反向代理服务器。它可以用于处理静态资源、负载均衡、反向代理和缓存等任务。Nginx被广泛用于构建高可用性、高性能的Web应用程序和网站。它具有低内存消耗、高并发能力和良好的稳定性,因此在互联网领域非常受欢迎。
为什么使用Nginx
高性能:Nginx采用事件驱动的异步架构,能够处理大量并发连接而不会消耗过多的系统资源。它的处理能力比传统的Web服务器更高,在高并发负载下表现出色。
高可靠性:Nginx具有强大的容错能力和稳定性,能够在面对高流量和DDoS攻击等异常情况下保持可靠运行。它能通过健康检查和自动故障转移来保证服务的可用性。
负载均衡:Nginx可以作为反向代理服务器,实现负载均衡,将请求均匀分发给多个后端服务器。这样可以提高系统的整体性能和可用性。
静态文件服务:Nginx对静态资源(如HTML、CSS、JavaScript、图片等)的处理非常高效。它可以直接缓存静态文件,减轻后端服务器的负载。
扩展性:Nginx支持丰富的模块化扩展,可以通过添加第三方模块来提供额外的功能,如gzip压缩、SSL/TLS加密、缓存控制等。
如何处理请求
Nginx处理请求的基本流程如下:
接收请求:Nginx作为服务器软件监听指定的端口,接收客户端发来的请求。
解析请求:Nginx解析请求的内容,包括请求方法(GET、POST等)、URL、头部信息等。
配置匹配:Nginx根据配置文件中的规则和匹配条件,决定如何处理该请求。配置文件定义了虚拟主机、反向代理、负载均衡、缓存等特定的处理方式。
处理请求:Nginx根据配置的处理方式,可能会进行以下操作:
静态文件服务:如果请求的是静态资源文件,如HTML、CSS、JavaScript、图片等,Nginx可以直接返回文件内容,不必经过后端应用程序。
反向代理:如果配置了反向代理,Nginx将请求转发给后端的应用服务器,然后将其响应返回给客户端。这样可以提供负载均衡、高可用性和缓存等功能。
缓存:如果启用了缓存,Nginx可以缓存一些静态或动态内容的响应,在后续相同的请求中直接返回缓存的响应,减少后端负载并提高响应速度。
URL重写:Nginx可以根据配置的规则对URL进行重写,将请求从一个URL重定向到另一个URL或进行转换。
SSL/TLS加密:如果启用了SSL/TLS,Nginx可以负责加密和解密HTTPS请求和响应。
访问控制:Nginx可以根据配置的规则对请求进行访问控制,例如限制IP访问、进行身份认证等。
响应结果:Nginx根据处理结果生成响应报文,包括状态码、头部信息和响应内容。然后将响应发送给客户端。
"""
def _split_text(text, length):
chunks = []
start = 0
while start < len(text):
if len(text) - start > length:
pos_forward = start + length
pos_backward = start + length
pos = start + length
while (pos_forward < len(text)) and (pos_backward >= 0) and (pos_forward < 20 + pos) and (
pos_backward + 20 > pos) and text[pos_forward] not in {'.', '。', ',', ','} and text[
pos_backward] not in {'.', '。', ',', ','}:
pos_forward += 1
pos_backward -= 1
if pos_forward - pos >= 20 and pos_backward <= pos - 20:
pos = start + length
elif text[pos_backward] in {'.', '。', ',', ','}:
pos = pos_backward
else:
pos = pos_forward
chunks.append(text[start:pos + 1])
start = pos + 1
else:
chunks.append(text[start:])
break
# Combine last chunk with previous one if it's too short
if len(chunks) > 1 and len(chunks[-1]) < 100:
chunks[-2] += chunks[-1]
chunks.pop()
return chunks
def summary(text):
chunks = _split_text(text, 300)
chunks = [
"summarize: " + chunk
for chunk in chunks
]
input_ids = tokenizer(chunks, return_tensors="pt",
max_length=512,
padding=True,
truncation=True).input_ids.to(device)
outputs = model.generate(input_ids, max_length=250, num_beams=4, no_repeat_ngram_size=2)
tokens = outputs.tolist()
output_text = [
tokenizer.decode(tokens[i], skip_special_tokens=True)
for i in range(len(tokens))
]
for i in range(len(output_text)):
print(output_text[i])
summary(text)
💻 使用示例
基础用法
上述代码展示了如何使用T5
模型进行文本摘要。首先加载模型和分词器,然后将文本按一定长度分割成多个块,接着对每个块进行编码并输入到模型中进行生成,最后将生成的结果解码输出。
高级用法
在实际应用中,你可以根据具体需求调整_split_text
函数中的分割长度,以及model.generate
函数中的参数,如max_length
、num_beams
等,以获得更符合需求的摘要结果。
📄 许可证
本项目采用 Apache-2.0 许可证。
📦 相关信息
属性 | 详情 |
---|---|
模型类型 | 文本摘要模型 |
训练数据 | twwch/summary 数据集 |
Bart Large Cnn
MIT
基于英语语料预训练的BART模型,专门针对CNN每日邮报数据集进行微调,适用于文本摘要任务
文本生成 英语
B
facebook
3.8M
1,364
Parrot Paraphraser On T5
Parrot是一个基于T5的释义框架,专为加速训练自然语言理解(NLU)模型而设计,通过生成高质量释义实现数据增强。
文本生成
Transformers

P
prithivida
910.07k
152
Distilbart Cnn 12 6
Apache-2.0
DistilBART是BART模型的蒸馏版本,专门针对文本摘要任务进行了优化,在保持较高性能的同时显著提升了推理速度。
文本生成 英语
D
sshleifer
783.96k
278
T5 Base Summarization Claim Extractor
基于T5架构的模型,专门用于从摘要文本中提取原子声明,是摘要事实性评估流程的关键组件。
文本生成
Transformers 英语

T
Babelscape
666.36k
9
Unieval Sum
UniEval是一个统一的多维评估器,用于自然语言生成任务的自动评估,支持多个可解释维度的评估。
文本生成
Transformers

U
MingZhong
318.08k
3
Pegasus Paraphrase
Apache-2.0
基于PEGASUS架构微调的文本复述模型,能够生成语义相同但表达不同的句子。
文本生成
Transformers 英语

P
tuner007
209.03k
185
T5 Base Korean Summarization
这是一个基于T5架构的韩语文本摘要模型,专为韩语文本摘要任务设计,通过微调paust/pko-t5-base模型在多个韩语数据集上训练而成。
文本生成
Transformers 韩语

T
eenzeenee
148.32k
25
Pegasus Xsum
PEGASUS是一种基于Transformer的预训练模型,专门用于抽象文本摘要任务。
文本生成 英语
P
google
144.72k
198
Bart Large Cnn Samsum
MIT
基于BART-large架构的对话摘要模型,专为SAMSum语料库微调,适用于生成对话摘要。
文本生成
Transformers 英语

B
philschmid
141.28k
258
Kobart Summarization
MIT
基于KoBART架构的韩语文本摘要模型,能够生成韩语新闻文章的简洁摘要。
文本生成
Transformers 韩语

K
gogamza
119.18k
12
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98