An open API service indexing awesome lists of open source software.

https://github.com/nikhilchaudhary1/text-summarizer

A Python-based application for summarizing text using Extractive (TF-IDF) and Abstractive (T5 Transformer) techniques. Features an intuitive Streamlit UI for seamless interaction. Simply paste your text, choose a summarization type, and get concise summaries instantly!
https://github.com/nikhilchaudhary1/text-summarizer

abstractive-summarization extractive-summarization huggingface-transformers nltk python-nlp streamlit text-summarizer

Last synced: about 2 months ago
JSON representation

A Python-based application for summarizing text using Extractive (TF-IDF) and Abstractive (T5 Transformer) techniques. Features an intuitive Streamlit UI for seamless interaction. Simply paste your text, choose a summarization type, and get concise summaries instantly!

Awesome Lists containing this project

README

        

# πŸ“ Text Summarizer

**A Python-based application implementing both Extractive and Abstractive text summarization techniques.**
Simplify your long texts with an intuitive and user-friendly interface built using **Streamlit**.

---

## πŸ“œ Overview

The **Text Summarizer** application uses advanced natural language processing techniques to summarize large chunks of text into concise and meaningful content. Users can select between:
- **Extractive Summarization**: Extracts key sentences from the input text using the **TF-IDF algorithm**.
- **Abstractive Summarization**: Generates human-like summaries using HuggingFace’s **T5 Transformer model**.

---

## πŸš€ Features

- πŸ”„ **Dual Summarization Modes**:
- **Extractive**: Highlights the most important sentences from the text.
- **Abstractive**: Creates entirely new sentences to summarize the content.
- πŸ’» **Streamlit-based UI**: A clean, interactive interface for inputting and summarizing text.
- πŸ–±οΈ **Easy-to-Use**: Simply paste your text, select the summarization type, and get the summary at the click of a button.

---

## πŸ› οΈ Tech Stack

- **Programming Language**: Python 🐍
- **Libraries and Tools**:
- `nltk`: Tokenization and stopword removal.
- `transformers`: HuggingFace's T5 model for abstractive summarization.
- `streamlit`: Intuitive UI for user interaction.
- **Algorithms**:
- **TF-IDF**: For extractive summarization.
- **HuggingFace's T5-small Transformer**: For abstractive summarization.

---

## 🧠 How It Works

1. **Extractive Summarization**
- Tokenizes the text and computes word frequencies, ignoring stopwords and punctuation.
- Scores sentences based on the word frequencies.
- Selects the top sentences to generate a summary.

2. **Abstractive Summarization**
- Uses the HuggingFace **T5-small Transformer** model to understand and generate a concise version of the input text.
- Produces summaries that feel natural and coherent.