1) Problem Statement

We wanted to tackle what the general problems that businesses should strive to solve in order to prevent negative reviews.

2) Initial data analysis and findings

We used a sample of ~500,000 reviews. Our initial data analysis looked into problems regarding the different languages in the review data and how tf-idf can be used to create accurate models. We also experimented with what size of n-gram would produce the most accurate model. We thought using larger sized n-grams as well as stop words would increase the accuracy of our model, however it turned out it did not. 1-3 words were the best way to split a review text and including the stop words also increased the accuracy. It is hard to see what effect the foreign languages had on our analysis because we were forced to leave many in the text, but the model was still able to perform reasonably well. We also tried other models such as multinomial naive bayes, and decision tree classifiers, but linear SVC performed the best.

3) Hypothesis testing and results

Hypothesis: Reviews will have words that reflect the rating.

To test this, we first located the text reviews that were 3-stars or lower and analyzed if the reviews were reflective of the rating. We created a classifier based on a linear SVC model and n-gram features to predict whether a review would be negative or not which could achieve around 88% accuracy on test data. This led us to conclude that the reviews did contain information that were relevant to the negative rating.

4) Modelling / Summarizing insights

With this knowledge, we took the negative reviews and created text summaries of length 4 to 5 words based on TF-IDF for each review. We then took these summaries to create a word cloud of all negative summaries. The most relevant words were "food", "minute", and "service." From this, we can see that most issues stem from these general themes of food, time, and service.

Built With

Share this project:

Updates

Submission history