saaranshM / movie-review-sentiment-analysis

This ML model will guess if a given review is positive or negative by using NLP. This model was trained using Tensorflow and was trained on the imdb-dataset of movie reviews.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Movie Review Sentiment Analyzer

Version 1.0.0

This ML model will guess if a given review is positive or negative by using NLP. This model was trained using Tensorflow and was trained on the imdb-dataset of movie reviews.

This project was made for my AI class in University.

To try out the Sentiment Analyzer visit this link.


Table of Contents


Packages used


Dataset Used

The dataset used was a set of imdb-reviews which was picked from Kaggle. The dataset can be viewd from dataset.

The dataset was in CSV format.

There were 40000 reviews for train and 5000 reviews for test.

The dataset had 2 colums: -

  • Text : Text for each individual review.

  • Labels : Labels discribe if each review was positive or negative. 1 for positive and 0 for negative.


Working of ML model

The pacakge used for training the model was Tensorflow.

The model was based on NLP(Natural Language Processing).

  • The data was first tokenized using the builtin Tokenizer fuction of tensorflow.

  • The tokenized data was then converted into sequences using the tokenizers text_to_sequences.

  • The sequenced data was then padded using the pad_sequence

  • The padded data was then fed into the ML model to train

  • The model was then saved as a HDF(Hierarchical Data Format) file.


Deploying the ML model

The model was delpoyed on the AWS(Amazon Web Services).

It was deployed on a VM containg: -

  • 1 CPU Core

  • 1 GB Ram

  • 8GB Storage

The VM is runing on AMAZON AMI Linux.

The model webpage was built using the python package Streamlit.

About

This ML model will guess if a given review is positive or negative by using NLP. This model was trained using Tensorflow and was trained on the imdb-dataset of movie reviews.


Languages

Language:Jupyter Notebook 98.9%Language:Python 1.1%