A powerful text summarization tool that leverages advanced machine learning techniques to generate concise and accurate summaries of input text.
- Sourin Kumar Pal
- Jassim Hameed Ayobkhan
This Text Summarizer project was developed as a Mini Project for the Advanced Machine Learning exam in the M.Sc. Artificial Intelligence and Intelligent System program at the University of Bremen.
We worked on abstractive text summarization using an attention mechanism and pre-trained embeddings. Our model is based on an encoder-decoder architecture with attention layers (T5 (Text-To-Text Transfer Transformer) architecture) and fine-tuned using the CNN/Daily Mail dataset. The goal was to generate concise and coherent summaries while preserving the original meaning. To make things user-friendly, we built a simple web-based interface for real-time summarization.
./
├── summarizer-backend/
│ ├── server.py
│ ├── requirements.txt
├── summarizer-frontend/
│ ├── src/
│ │ ├── App.js
│ │ ├── theme.js
│ │ ├── index.js
│ ├── public/
│ ├── package.json
├── README.md
- Efficient text summarization using advanced ML techniques
- User-friendly web interface for easy interaction
- Backend API for seamless integration with other applications
- Customizable summarization parameters
- Python 3.8+
- Node.js 14+
- npm 6+
- Navigate to the backend directory:
cd summarizer-backend - Create a virtual environment (optional but recommended):
python -m venv venv source venv/bin/activate # On Windows, use venv\Scripts\activate
- Install required Python packages:
Alternatively, you can run this command
pip install -r requirements.txt
pip install flask flask-cors transformers torch
- Run the backend server:
python server.py
The server should now be running on http://localhost:5000.
- Navigate to the frontend directory:
cd summarizer-frontend - Install Node.js dependencies:
npm install
- Start the frontend development server:
npm start
The frontend should now be accessible at http://localhost:3000.
- Open your web browser and go to
http://localhost:3000. - Enter or paste the text you want to summarize in the input field.
- Click the "Summarize" button.
- The generated summary will appear in the output field.
The text summarization model used in this project is available on Hugging Face: Link
You can use this model in your own projects or further fine-tune it for specific use cases.
We welcome contributions to improve the Text Summarizer!
- University of Bremen for providing the opportunity to work on this project
- Sourin Kumar Pal - [spal@uni-bremen.de]
- Jassim Hameed Ayobkhan - [jhameed@uni-bremen.de]
Project Link: https://github.com/sourinkrpal/aml-text-summarization