This project is a streamlined paraphrasing and summarization engine that applies Natural Language Inference (NLI) to ensure meaning retention between the original and paraphrased text, followed by summarization. Logs are visualized to monitor model performance, and the application offers a user-friendly interface built with Streamlit. The entire application is containerized for easy deployment.
-
Paraphrasing and Translation:
- Text is first paraphrased using Pegasus paraphraser.
- The paraphrased text is translated to French and then back-translated to English for added linguistic variation.
-
NLI Validation:
- Both the paraphrased and back-translated texts are verified against the original text using NLI, ensuring meaning preservation.
-
Summarization:
- The validated paraphrased and back-translated texts are summarized for concise content output.
-
Logging and Visualization:
- All logs are visualized for a clear view of model performance, enabling insights into paraphrasing, translation, and summarization effectiveness.
-
Streamlit Interface:
- A user-friendly UI with Streamlit allows easy interaction with the tool.
-
Containerized Application:
- Docker support is available for streamlined deployment and scalability.
- Python (version 3.7 or above)
- Docker (for containerized deployment)
-
Create a Virtual Environment:
python3 -m venv paraphrase_env source paraphrase_env/bin/activate # On Windows, use paraphrase_env\Scripts\activate
-
Clone the Repository:
git clone https://github.com/Ansumanbhujabal/Paraphrasing-Engine.git cd Paraphrasing-Engine
-
Install Requirements:
pip install -r requirements.txt
-
Run the Application:
streamlit run app.py
-
Build the Docker Image:
docker build -t paraphrase_engine .
-
Run the Docker Container:
docker run -d --name paraphrase_engine -p 8501:8501 paraphrase_engine
- Once running, access the application by navigating to
http://localhost:8501
in your browser. - Input text directly or upload a PDF file for processing.
- View logs to monitor and analyze model performance on paraphrasing, translation, and summarization.
- Additional Model Options: Support for more models in paraphrasing, NLI, and summarization for enhanced flexibility.
- Grafana Dashboard: Integration of a Grafana-based dashboard for in-depth log visualization and insights.
Contributions are welcome! Please clone the repository, create a branch, and submit a pull request for any improvements or feature additions.
This project is open-source and available under the MIT License. See the LICENSE file for more details.