NLP_WebApplication
This is a web application of NLP tasks made with Django.
The tasks include text generation, sentimental analysis, fill mask, machine translation, question answering and text summarization. HuggingFace is used for the pre-trained machine learning models used in the project.
I usually use Heroku to host websites, but due to the enormous size of the dependencies (specifically TensorFlow and PyTorch), the free version Heroku cannot be used to host this app. AWS EC2 and Elastic Beanstalk could work, but I don’t see the necessity to host this website considering the fees associated with running instances. So the application can only run locally for now. However, you can folk the repo and follow the steps to reproduce the web application and host it on AWS or other cloud platforms if you are interested. You may need to make some Django configurations related to static files and security when hosting it publicly depending on which cloud service you use, which can be found in the Django documentation.
Run the application locally
- Create a virtual environment by
python3 -m venv <my_venv_name>
- Activate the env by
source <my_env_name>/bin/activate
- Clone my Repo by
git clone <the https of the repo>
- Get into the directory where manage.py is.
- Install required packages by
pip install -r requirements.txt
. - Make migrations by
python3 manage.py makemigrations
, thenpython3 manage.py migrate
- Run the application by
python3 manage.py runserver
The functionality and screenshots of the web pages are shown as follows.
Homepage
Text Generation
Text Summarization
Question Answering
Sentimental Analysis
Machine Translation