HomePublicationsProgramsCompetitionsContributors
Start publication
HomePublicationsProgramsCompetitionsContributors

Table of contents

Code

Datasets

Files

AboutDocsPrivacyCopyrightContactSupport
© Ready Tensor, Inc.
Back to publications
Oct 16, 2024●14 reads

Movie Recommendation System

  • a
    K.Abhinav Surya
LikeBookmark

Table of contents

Title: Movie Recommender System Using Content-Based Filtering


1. Problem Statement and Real-World Impact

Problem: With the vast amount of movie content available across platforms, users often struggle to find movies that suit their tastes. A recommendation system can help users discover new movies based on their preferences.

Real-World Impact: Recommender systems play a crucial role in enhancing user experience on streaming platforms like Netflix, Amazon Prime, and others. By suggesting movies that align with individual tastes, such systems reduce search time, increase user engagement, and help content providers retain their customers. The proposed solution can be integrated into any movie platform to enhance personalization.


2. Methodology and AI Techniques Used

This project uses a content-based filtering approach to recommend movies to users based on similarities in movie features (like genres, overview, or cast).

  • Data: Movie metadata, including titles, IDs, and other features, is loaded from a pre-saved pickle file.

  • Similarity Computation: A similarity matrix is created using a pre-computed pairwise cosine similarity between movies based on their features. This matrix helps find movies most similar to the one selected by the user.

  • API Integration: The TMDB API is used to fetch additional movie data, specifically the poster images of the recommended movies, which are displayed in the Streamlit app.

  • Frameworks/Tools:

    • Pandas: Used for manipulating the movie data.
    • Pickle: Used to load the movie dataset and similarity matrix.
    • Streamlit: A Python library for building an interactive and user-friendly web application.
    • TMDB API: To fetch movie poster images based on movie IDs.

3. Results and Potential Impact

The recommender system provides users with five movie recommendations based on the movie they select. Each recommendation is accompanied by a movie poster fetched using the TMDB API.

  • Results: The recommendations are displayed in a visually appealing and interactive format using Streamlit, which allows users to easily discover new content. The system shows recommendations instantly, enhancing the user experience.

  • Potential Impact: Such systems can increase user engagement and satisfaction on movie streaming platforms by helping users discover movies they are likely to enjoy based on their preferences.


4. Code and Datasets

The code for the Movie Recommender System is publicly available on GitHub (https://github.com/Abhinav2k4/movie_recommender_system), and the dataset used is a movie metadata file pre-processed and saved in pickle format.

  • Dataset: The movie dataset contains metadata such as movie titles, genres, and overviews.
  • Similarity Data: The similarity matrix is precomputed and stored in a pickle file to enhance the performance of real-time recommendations.

5. Challenges Faced and Lessons Learned

  • Challenge: One of the main challenges was accurately calculating movie similarity based on multiple features such as genres and overviews. It required optimizing the data to ensure fast lookups.

  • Lesson Learned: Utilizing efficient data structures and precomputing the similarity matrix significantly reduced the time complexity of generating recommendations, making the app responsive even with a large dataset.


6. Future Work or Improvements

  • Model Improvement: Future iterations could integrate a hybrid model combining both content-based filtering and collaborative filtering to further enhance recommendations by taking into account user preferences and behaviors.

  • UI Enhancements: Further improvements can be made to the user interface, such as adding filters for genres, ratings, or release years, allowing users to refine their recommendations.

  • Scalability: The current model is scalable but could be optimized to handle much larger datasets by implementing more efficient data storage and retrieval mechanisms.

Table of contents

Files

  • procfile
  • gitignore
  • requirements.txt
  • app.py
  • mvslist
  • setup.sh
Your publication could be next!

Join us today and publish for free

Sign Up for free!

Table of contents

Files

  • procfile
  • gitignore
  • requirements.txt
  • app.py
  • mvslist
  • setup.sh

Datasets

  • Tmdb credits
  • Tmdb movies

Datasets

  • Tmdb credits
  • Tmdb movies