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.
User Profile
Users profile can be build taking into account the reviews of users on various social media platforms such as Twitter or Facebook. For this project tweets were collected and rating was generated based on the sentiments of user by ratings predicted and rating was associated with the restraunt i.e. the one with closest distance(levenshtein) to #HashTag.
ALS
Collaborative Filtering
- 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 underlying assumption of the collaborative filtering approach is that if a person A has the same opinion as a person B on an issue, A is more likely to have B's opinion on a different issue x than to have the opinion on x of a person chosen randomly
- Typically, the workflow of a collaborative filtering system is:
A user expresses his or her preferences by rating items (e.g. books, movies, restaurants) of the system. These ratings can be viewed as an approximate representation of user's interest in the corresponding domain
- The system matches this user's ratings against other users' and finds the people with most similar tastes
- With similar users, the system recommends items that the similar users have rated highly but not yet being rated by this user (presumably the absence of rating is often considered as the unfamiliarity of an item)
- A key problem of collaborative filtering is how to combine and weight the preferences of user neighbours. Sometimes, users can immediately rate the recommended items. As a result, the system gains an increasingly accurate representation of user preferences over time
Further Filtering
City Based Filtering
Using the pre-processed data, the results from the collaborative filtering are further filtered based upon the current city of the user.
CheckIn Based Filtering
The above results are further filtered based on the restaurants that have the highest number of checkin on the particular day that the user specifies.
Review Based Filtering
The recommended restaurants having high number of bad reviews as compared to the good ones are penalized.
Final Result
Given user tweets, his location and the current day, we predict restaurants that are most likely to be lively and would be liked by him. The recommender works on the basis of the number of checkins keeping the check wheather a restaurant has enough good reviews.
Inputs:
- User Tweets
- Wonderful dinner with great friends.i love this place,i want to visit this place again and again,so delicious at #Tutti Santi Ristorante
- Meatballs, Roast Beef, Provolone, Sauce and pepperoncini !!! Yummmmm. eating sandwich at #Jersey Mike's Subs
- BBQ burgers and Fries like we had during our hanabata days!! Yummy The service here isn't better or worse than other quick serve places in the area. They serve a purpose but aren't doing anything over an above.#QBBQandBurger #Waterloo #YouGottaEatHere #TripleMeatPlatter #YUM #KWAwesome #KWFood
- Dim sum time!,i hate the service and ambiance The food is fairly consistent for Swiss Chalet but the service is very obviously lacking. It is immediately and constantly apparent that the staff couldn't care less #HongKongCafe
- It's gotten to the point where Jason's Deli remembered my order right when I walked in ahahahha I hate myself #JasonDeli
- To yummy,I've had poke a few times since it popped up; and it's great here. I do not doubt there are line ups daily! If you get a chance to try it, it's definitely worth it! I really like their calamari platter. Great portions and service! my mouth is watering just writing this review!#happywok #teriyaki
Everyone is either downtown or heading there and I'm in Concord Ohio eating waffles at waffle house. #WaffleHouse
- City - Waterloo
- Day - Sunday
Output
The image shows the restaurants predicted to this user for Sunday in Waterloo.