This project builds a Naive Bayes classifier completely from scratch to classify the sentiment for movie reviews.
The model is then deployed in Flask to Docker to make instantaneous predictions.
Python • Scikit-Learn • Data Preprocessing • Model Evaluation • Model Deployment • Flask • Docker • Sentiment Analysis • Naive Bayes • NLTK
Deployment: A working model in a Jupyter notebook is only 10% of the battle. I focused on deploying this model to a Dockerized production environment for scalability, reliability, reproducibility.
Model Versioning: Model parameters were saved and versioned to provide model versioning
NB Classifier: building a Naive Bayes classifier from scratch to demonstrate robust understanding of the classifier.
Model Evaluation: With a balanced dataset of exactly 50% positive and 50% negative class (feeds into the Naive prior probability) and a custom NB model, we get weak results. Of course major improvements can be made by leveraging more powerful models that don’t have the inherent naivety of prior probabilities.
SWE: Taking this project farther by implementing an interactive avatar with animated emotions matching the classified sentiment.
Preprocessing: Using NLTK to remove stopwords, sanitizing input, text normalization.. etc.
Demonstrating sentiment analysis with interactive animations.