Video demo: https://youtu.be/V635gdcw1h0
Project Report: report.pdf
Poster: poster.pdf
To provide a tailor made plan consisting of possible places to stay, attractions to visit and restaurants to eat at for the entire duration of travel. We recommend restaurants separately for each meal of the day (breakfast, lunch and dinner) and provide two recommendations per meal per day. We also recommend five possible stay options (hotels) for your travel alongside possible attractions to view. Attractions are recommended based on timing, (i.e) which ones to view during the day and which ones are better off at night. Again we provide two attraction recommendations per timing per day for the entire duration of travel.
We have used three different recommender systems (one each for attractions, hotels and restaurants).
- RBM, a Deep learning technique for Attractions.
- Matrix Factorization with ALS, a highly scalable and distributed Collaborative Filtering technique for hotels.
- Hybrid- A combination of K-Means algorithm for Content Based Filtering and K-Nearest Neighbors for Memory based Collaborative Filtering for restaurants.
Few visualizations for the project were done using python libraries and others have been done using Tableau software. They can be accessed from EDA folder.
For restaurants- Dataset for the project should be downloaded from Yelp dataset challenge and stored in yelp_dataset folder.
For hotels- We scraped TripAdvisor to obtain the dataset. Dataset can be read from tripadvisor_hotel_output folder.
For attractions- We scraped TripAdvisor to obtain the dataset. Dataset can be read from outputs folder.
-- To collect urls of attractions from tripadvisor.
-- To extract attraction details and reviews on each attraction from collected urls in batches
-- To combine the data collected in batches
-- To perform ETL on attraction details and attractions reviews datasets.
-- The core code to provide attraction recommendation using the trained RBM model.
-- The final code that integrates ETL on hotels dataset and MF-ALS model output to display hotel recommendations.
-- The final code that integrates ETL on attractions dataset and RBM model output to display attraction recommendations.
-- To perform 'Extract Transform Load (ETL)' on hotels dataset that has been scraped from TripAdvisor.
-- The core code that models MF-ALS and outputs recommendations.
-- The code to perform training and tuning of the RBM, deep learning model.
-- The code that loads the best model and outputs recommendations for users.
-- File to handle dependencies for thus project.
-- The notebook that has the code and shows EDA visualizations for Yelp (restaurants) dataset.
-- The notebook performs collection, extraction, cleaning, parsing and obtaining hotel urls, hotel related information, user reviews, user ratings and user related information.
-- Consists of helper functions for the RBM model.
-- The core code for ETL on yelp dataset and hybrid recommender model.
-- Saved model parameters and model outputs from MF-ALS.
-- contains screenshots of input and output images of ITRS application on the whole.
-- Contains dataset for attractions.
-- Contains dataset for hotels.
-- Contains attraction images downloaded using google_download_images API.
-- Contains the saved best obtained Matrix Factorization- ALS (MF-ALS) model.
-- Contains saved RBM models, tried out for different parameters.
-- all results (visualizations) of Exploratory Data Analysis (EDA) are be stored here.