Project: Amazon Fine Food Reviews Sentiment Analysis with Recurrent Neural Network
Project Overview
With the emergence of both social media and online reviews, sentiment analysis became an important area of research in Machine Learning. Sentiment analysis can help improve products, marketing, clinical medicine or even how cities deliver services. Sentiment analysis is a very interesting challenge to work on because the computer needs to interact with human language (natural language processing) and be able to identify and extract subjective information.
Several algorithms like Naive Bayes, Support Vector Machine and Maximum Entropy are commonly used for sentiment analysis. However with the recent development of recurrent neural networks, Deep Learning has started to outperform all the other methods due to its ability to build a representation of whole sentences based on the sentence structure. Several amazing research papers have already been published on this topic by Stanford (e.g. Sentiment Analysis) and OpenAi (e.g. unsupervised sentiment neuron).
For this project, we will perform sentiment analysis on the Amazon Fine Food Review dataset from Kaggle.
Analysis
You can find the final project report here and also the final Jupyter Notebook.
Install
This project requires Python 3.5 and the following Python libraries installed:
You will also need to have software installed to run and execute an iPython Notebook
We recommend to install Anaconda, a pre-packaged Python distribution that contains all of the necessary libraries and software for this project.
Code
The code is provided in the Amazon Fine Food Reviews.ipynb
notebook file. You also need the Reviews.csv
dataset file to run the Notebook. The dataset can be found here on Kaggle.
Run
To quickly train the model, we highly recommend to run the Notebook with GPUs using FloydHub](https://www.floydhub.com) or AWS or another platform.
If you don't have access to GPUs, you can always run this Notebook on your local machine but it might take 6/8 hours to train the model.
In a terminal or command window, navigate to the top-level project directory Amazone_fine_food/
(that contains this README) and run one of the following commands:
ipython notebook Amazon\ Fine\ Food\ Reviews.ipynb
or
jupyter notebook Amazon\ Fine\ Food\ Reviews.ipynb
This will open the iPython Notebook software and project file in your browser.
Data
The dataset contains 568,454 food reviews Amazon users left from October 1999 to October 2012.).
Features
Id
ProductId
: unique identifier for the productUserId
: unique identifier for the userProfileName
HelpfulnessNumerator
: number of users who found the review helpfulHelpfulnessDenominator
: number of users who indicated whether they found the review helpful Score - rating between 1 and 5Time
: timestamp for the reviewSummary
: brief summary of the reviewText
: text of the review
Target Variable
Score
: rating between 1 and 5