Skip to content

SummarizeMe is a Streamlit-based web application designed for text summarization using advanced natural language processing techniques. It allows users to summarize text inputs or URLs using Sumy, NLTK, SpaCy, and T5 models, providing quick and efficient summaries for various needs.

License

Notifications You must be signed in to change notification settings

Transcendental-Programmer/SummarizeMe

Repository files navigation

Text Summarization App

This is a Streamlit-based web application for text summarization using various summarization techniques such as SpaCy, Sumy, NLTK, and T5. i have also added notebooks for doing the same tasks that is implementing a text summarization engine using pegasus, gensim and bert. check for the notebook here

Table of Contents

Introduction

The goal of this project is to offer an intuitive user interface for various algorithmic text summarization techniques. Users can either enter text directly into the app or supply a URL for the program to pull content from for summarizing. To accommodate a variety of tastes and requirements, the application offers a number of summarizing techniques.

Images

  • Homepage:

    • Homepage
  • Homepage with Toggle:

    • Homepage with Toggle
  • URL Summarization with Toggle:

    • URL Summarization with Toggle
  • Usage

    • Summarizing Text

    • Summarizing URLs

Features

  • Text Summarization: Summarize text using SpaCy, Sumy, NLTK, and T5 models.
  • URL Summarization: Extract and summarize text from a provided URL.
  • Reading Time Calculation: Estimate the reading time of the original text.
  • Responsive Interface: Simple and intuitive user interface using Streamlit.
  • Minimalist Design: Clean and elegant frontend design for better user experience.

Installation

To run this application locally, follow these steps:

  1. Clone the repository:

    git clone <repository-url>
    cd text-summarization-app
  2. Create a virtual environment (optional but recommended):

    python -m venv myenv
    source myenv/bin/activate  # On Windows use `myenv\Scripts\activate`
  3. Install the required dependencies:

    pip install -r requirements.txt

Usage

To start the application, run the following command:

streamlit run streamlit_app.py

This command will launch a local server on the 8501 port which one can open in their default web browser. they can then interact with the app by selecting different summarization options and providing input text or URLs for summarization.

Technologies Used

  • Python: Programming language used for backend development.
  • Streamlit: Web application framework for building interactive web applications.
  • SpaCy: Natural language processing library used for text processing and summarization.
  • NLTK: Natural language toolkit library for various NLP tasks including text summarization.
  • Sumy: Library for automatic text summarization.
  • T5 Model: Pre-trained text-to-text transformer model by Google Research for text summarization.

Contributing

Contributions are welcome! If you have any suggestions, improvements, or feature requests, please open an issue or submit a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

SummarizeMe is a Streamlit-based web application designed for text summarization using advanced natural language processing techniques. It allows users to summarize text inputs or URLs using Sumy, NLTK, SpaCy, and T5 models, providing quick and efficient summaries for various needs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published