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