/End-to-End-Movie-Recommendation-System-with-deployment-using-docker-and-kubernetes

Content Based Recommendation system uses attributes of the content to recommend similar content. It doesn't have a cold-start problem because it works through attributes or tags of the content, such as actors, genres or directors, so that new movies can be recommended right away.

Primary LanguagePython

Movie_Recommendation_System

STEP 1:Data Scraping

Data was Scraped from IMDB website(using beautiful soup).Refer Web Scraping_new.py script in this repository. This dataset consists of top 1000 movies based on popularity and the range(count) of movies can be modified in the above mentioned python script based on preference.

STEP 2:Creating a Content Based Recommendation system(Refer Content based recommendation.py file)

Content-based filtering uses item features to recommend other items similar to what the user likes, based on their previous actions or explicit feedback.

image

STEP 3:Creating a frontend for model serving

For this model I have created a frontend based on streamlit application. This application fetches input from the user and provides top 5 similar movies based on the input.This is all done with the help of recommendation system that we have created in the above step.

STEP 4:Model Deployment

Created model has been containerized using docker and its been pushed to container repository. Its then deployed in Kubernetes to manage and increase scalability of the application.

image

Application url- http://35.230.8.59/

This application frontend is dynamic and changes based on system theme.If you want the same appearance as seen in above image please go to settings in the top right corner of this application and change the theme to dark.

P.S-This is a simple model built out of curiosity.There are lot more complex and advanced algorithms that could be implemented to create a recommendation engine.

I hope this a stepping stone for more advanced things.

Happy Learning!