Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Text Summarizer with WSD

Python Flask NLP

An advanced web-based text summarization system that leverages Word Sense Disambiguation (WSD) and pre-trained T5 models to generate highly accurate and context-aware summaries.

🧠 Overview

Traditional text summarizers often struggle with words that have multiple meanings depending on their surrounding context. This project solves that ambiguity by integrating Word Sense Disambiguation into the summarization pipeline.

By utilizing spaCy for robust natural language processing and N-gram models for candidate word selection, the system accurately identifies and contextualizes repeating words with differing meanings. It evaluates multiple generated summaries against each other using ROUGE scores to ensure the user only receives the highest quality output.

✨ Features

  • Abstractive Summarization: Leverages pre-trained T5 models to generate human-like summaries rather than just extracting sentences.
  • Word Sense Disambiguation (WSD): Intelligently identifies and processes repeating words with different meanings to preserve the original text's true context.
  • N-gram Candidate Selection: Enhances token selection and text generation logic.
  • Automated ROUGE Evaluation: Internally compares different summarization results and outputs the optimal summary based on its ROUGE metric.
  • Interactive Web Interface: A clean, accessible frontend served via Flask.

🛠️ Technologies Used

  • Backend: Python, Flask
  • NLP Libraries: spaCy, NLTK (for n-grams)
  • Machine Learning: Pre-trained T5 Models (HuggingFace Transformers)
  • Evaluation Metrics: ROUGE Score

🚀 Getting Started

Prerequisites

Make sure you have Python installed on your local machine.

About

This project is a text summarization system that leverages word sense disambiguation and pre-trained T5 models. It identifies and summarizes repeating words with different meanings, using spaCy for NLP and an n-gram model for candidate word selection. It compares summaries using Rouge scores and outputs the best one. Written in Python with Flask.

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages