Restaurant Review Sentiment Analysis

My Goal for this Project

This project proposes using textual analysis of customer reviews to uncover actionable insights for restaurants. By categorizing reviews into key dimensions such as food quality, service, and ambiance, restaurants can pinpoint areas for improvement, optimize operations, and enhance customer satisfaction. Using sentiment analysis and word-matching with datasets like Yelp, this approach generates sub-rankings and visualizations to track performance over time. These insights empower restaurants to drive profits, foster customer loyalty, and enable data-driven growth.

Streamlit App Interface

U sing sentiment analysis and word-matching with Yelps machine learning dataset, this approach generates sub-rankings and visualizations to track performance over time. These insights empower restaurants to drive profits, foster customer loyalty, and enable data-driven growth. The project is available as a Streamlit App where you can explore the insights interactively.

Many restaurants rely on overall review scores, missing valuable insights within customer feedback. By analyzing and categorizing reviews into specific areas like customer satisfaction, food quality, and ambiance, actionable insights can be extracted. This helps restaurants identify strengths and weaknesses, enhance customer experiences, improve operational efficiency, and boost business performance.

I utilized sentiment analysis and word-matching techniques to categorize review content into meaningful subcategories. For example, "waiter" is categorized under service, and "cheeseburger" is categorized under food. This categorization allows for sub-rankings and visualizations to track performance trends over time, targeted optimizations to improve customer experiences, and efficient resource allocation for long-term business success.

For this project, I implemented a two-step NLP pipeline. First, I used zero-shot classification with the facebook/bart-large-mnli model to classify each review into predefined aspects like Food Quality, Service, Ambiance, Wait Time, Price/Value, Menu Variety, and Cleanliness. Then, I applied sentiment analysis using the distilbert-base-uncased-finetuned-sst-2-english model to assign a 1-5 rating for each aspect with a confidence score above 0.4. The primary dataset used was the Yelp Open Dataset, which I filtered to include restaurants in New Orleans and Nashville.

The project is available as a Streamlit App where you can explore the insights interactively. and the GitHub repository is available here.

Image 1