/reviews-sentiment

Data analytics, exploration, sentiment analysis and topic analysis (LDA) on Amazon customer reviews. And cool interactive plots.

Primary LanguageJupyter Notebook

Analytics on Amazon Reviews

Data Analytics exam final project, MSc in Computer Science.

By Matteo Coppola, Luca Palazzi, Antonio Vivace.

Exploration, Sentiment Analysis, Topic Analysis (LDA) and a VueJS web application exposing the trained models.

GO. PLAY. WITH THE PLOTS. (web demo deployment)

Documentation

Exploration

Web demo

Run

Set up the a Python virtual environment and install required packages

cd scripts
python3 -m venv .
source bin/activate
pip3 install -r requirements.txt
python3 -m spacy download en

Optionally, install a ipynb kernel to use the venv packages

pip3 install --user ipykernel
python -m ipykernel install --user --name=myenv
# Check the installed kernels
jupyter kernelspec list
# Run Jupyter
jupyter lab

Now, to run the full pipeline:

python3 main.py

A Flask application exposes a simple API (on port 5000) allowing the trained models to be used on demand via simple HTTP requests (in main.py). The VueJS application needs a recent version of NodeJS and npm.

cd webapp
npm install
# serve the web application with hot reload at localhost:8080/reviews-sentiment
npm run serve
# builds the web application for production
npm run build
# deploys the build on the master branch, making github serve it on https://avivace.github.io/reviews-sentiment
npm run deploy

Antuz notes

Accent is #B71C1C, typeface is Barlow 500. On the plots and graphs, typeface is Inter 600, palette is #4DAF4A, #FF7F00, #C73E31.

Final notes from our supervisor, E.Fersini

Unverified/Spam "boom" happens around the first-publishing of some product, aggregating data from a category will hardly show this (there are papers on this)