metadata
license: apache-2.0
base_model: google/flan-t5-base
tags:
- summarization
- news
- text2text-generation
- bart-large-cnn
language:
- en
datasets:
- cnn_dailymail
metrics:
- rouge
pipeline_tag: summarization
News Summarizer
This model is fine-tuned for news article summarization. It can take long news articles and generate concise, accurate summaries.
Model Details
- Base Model: facebook/bart-large-cnn
- Task: Text Summarization
- Language: English
- Training Steps: 4000
- Best ROUGE-1: 0.42
- Live version on Streamlit: https://english-news-summarizer.streamlit.app
Usage
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
import re
# Load model
model = AutoModelForSeq2SeqLM.from_pretrained("ciorant/news-summarizer")
tokenizer = AutoTokenizer.from_pretrained("ciorant/news-summarizer")
def summarize_news(article_text, max_length=128):
inputs = tokenizer(article_text, return_tensors="pt", truncation=True, max_length=512)
outputs = model.generate(
inputs.input_ids,
max_length=max_length,
num_beams=4,
early_stopping=True,
do_sample=False,
length_penalty=1.0
)
summary = tokenizer.decode(outputs[0], skip_special_tokens=True)
# Clean up spacing around punctuation
summary = re.sub(r'\s+([.,!?;:])', r'\1', summary)
summary = re.sub(r'\s+', ' ', summary)
return summary.strip()
# Example usage
article = "Your news article text here..."
summary = summarize_news(article)
print(summary)
Training Data
Trained on news articles for summarization task.
Performance
- ROUGE-1: ~0.42
- ROUGE-2: ~0.21
- ROUGE-L: ~0.29
Limitations
- Optimized for English news articles
- Best performance on articles 100-800 words