Skip to content

bshind87/TextSummerizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Text Summarizer Web Application

A lightweight Flask-based text summarization web app that uses Natural Language Processing (NLP) techniques to generate concise summaries from long text inputs.
The project demonstrates extractive summarization using word-frequency scoring and provides a clean, modern user interface.


Features

  • Extractive text summarization
  • NLP-based sentence scoring (NLTK)
  • Simple Flask web interface
  • Modern, responsive UI with custom CSS
  • Copy summary to clipboard
  • Lightweight & easy to deploy

Tech Stack

  • Backend: Python, Flask
  • NLP: NLTK
  • Frontend: HTML, CSS, Jinja2
  • Deployment-ready: Gunicorn compatible

Project Structure

TextSummerizer/ │ ├── tsapp.py ├── requirements.txt │ ├── templates/ │ ├── index.html │ └── output.html │ └── README.md


How It Works (Algorithm Overview)

  1. Input text is cleaned and tokenized into sentences and words
  2. Stopwords are removed
  3. Word frequencies are computed and normalized
  4. Sentences are scored based on word importance
  5. Top-ranked sentences are selected proportionally to text length
  6. Summary is rendered on the output page

This approach ensures interpretability and avoids dependency on heavy external models.


Installation & Setup

1 Clone the Repository

bash git clone https://github.com/your-username/text-summarizer.git cd text-summarizer

2 Create Virtual Environment (Recommended)

python -m venv .venv source .venv/bin/activate # macOS/Linux .venv\Scripts\activate # Windows

3 Install Dependencies

pip install -r requirements.txt

4 Run the Application

python tsapp.py

Open your browser and visit:

http://127.0.0.1:5001


Requirements

Flask==3.0.0 nltk==3.8.1

NLTK resources (punkt, stopwords) are automatically downloaded on first run.

Screenshots (Optional)

Add screenshots here for GitHub / LinkedIn showcasing UI and summary output.


Example Use Cases

  • Summarizing articles or reports
  • Academic or research text condensation
  • NLP coursework demonstrations
  • Resume & portfolio projects

Future Enhancements

  • TF-IDF based summarization
  • Transformer-based abstractive summarization (BART / T5)
  • Adjustable summary length slider
  • Download summary as PDF/TXT

Learning Outcomes

  • Hands-on NLP preprocessing
  • Flask routing & templating
  • Sentence ranking & scoring
  • Clean UI integration with backend logic

License

This project is for educational and personal use. Feel free to fork, modify, and enhance.


Author

Bhalchandra Shinde

MS in Artificial Intelligence

Northeastern University – Silicon Valley


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors