The Text Summarizer is a web application that leverages natural language processing techniques to create concise and coherent summaries from longer pieces of text. It simplifies the process of information extraction, making it easier for users to digest and comprehend voluminous content such as articles, reports, and documents.Additionally, it includes sentiment analysis for the original text.
This project builds upon previous work in the NLP-Example Repository, which contains Python scripts for Natural Language Processing (NLP) tasks and text summarization.
- User-friendly web interface for text summarization.
- Automatic summarization of input text.
- Option to sample random content from Wikipedia for summarization.
- Sentiment analysis for original and summary text.
- Python for backend logic.
- Flask web framework for building the web application.
- NLTK (Natural Language Toolkit) for text processing and summarization.
- Materialize for styling the user interface.
- TextBlob for sentiment analysis.
-
Input Text: Enter the text you want to summarize into the text area on the main page.
-
Summarize: Click the "Summarize" button to generate a summary of the input text.
-
Sample from Wikipedia: Optionally, click the "Sample from Wikipedia" button to fetch random Wikipedia text for summarization.
-
View Summary: The generated summary will be displayed on the same page along with the original text.
To run this application locally, follow these steps:
- Clone this repository to your local machine.
git clone https://github.com/alex-t-reed/text-summarizer-sentiment-analysis.git
cd text-summarizer-sentiment-analysis
- Install the required Python packages using pip. It's recommended to use a virtual environment.
pip install -r requirements.txt
- Start the Flask application.
python app.py
- Open a web browser and visit http://127.0.0.1:5000 to use the Text Summarizer.
- The quality of the summary depends on the complexity and quality of the input text. It may not always capture nuances and context effectively.
- The summarization model used here is based on word frequency and may not handle very technical or domain-specific content optimally.
- Large volumes of text may result in less coherent summaries.
For questions, suggestions, or collaboration opportunities, please don't hesitate to reach out me.
- Email: Alex Reed
- LinkedIn: Alex Reed on LinkedIn