Description

In our project, we have used the Yelp Dataset to provide personalised restaurant recommendations to users based on reviews posted on yelp. Yelp provides consumers with a myriad of options and information when searching for a particular service. Although all required information may be present to make an informed decision, it is often difficult to do so since reading all reviews of a single restaurant is time consuming and requires more effort than any average user will be willing to put in. Users have to filter, sort and read large amount of information in the form of reviews to determine whether a restaurant will provide them with what they are looking for. As a result, users could benefit from a recommendation system that provides them with a list of the most suitable restaurants. Our system uses the collaborative filtering approach to recommend restaurants to a user. Collaborative filtering is a method of making automatic predictions about the interests of a user by collecting preferences or taste information from many users. The user gives the city and the day that he wants the recommendation for. We will provide the user with the restaurants which have the highest checkins on that day in that city using profiles of similar users.

yelp

DataSet

Initially, our dataset was in json format, containing 2.7 M reviews, 86K businesses, 566K business attributes, e.g., hours, parking availability, ambience and aggregated check-ins over time for each of theĀ 86KĀ businesses.

yelp-rev

Rating Predictor

A Multiclass classifier which can predict the sentiment of the text fragment along a scaled range from 1 to 5 stars. Most of the models predict the polarity of the text such as: positive or negative sentiment, but not subjective opinions along a multiclass continum.


Pic 04

ETL

Pre - Processing and Transformation

  • Checkin and reviews information for each restaurant was collected and the result was saved to parquet.
  • The Checkins were converted from hourly to daily basis.
  • Rating of 1-2 was considered as a negative review and 3-5 was considered as positive.

Pic 04

Personalised Recommender

One of the limitation of any recommender system is recommending a product to a new user. The user profile is built based on the ratings predicted from the tweets of the user about the restaurants. Now, we use collaborative filtering to match find restaurants similar to the taste of the user.