Inspiration
Current movie websites always suffer from recommending repetitious and homogeneous content; sometimes it's just hard to find novel stuff or some movies exciting for users to watch. Thus, in the project, we come out with a new algorithm that combines both users' viewing history and movies' similarities to build a recommender system (RS) that can efficiently and accurately recommend a diverse range of movies to the users.
What it does
In the project, we build a website that can recommend to users movies according to their preferences.
How we built it
On the backend, we utilize both memory-based and content-based methodologies building our customized algorithm to give recommendations. On the front end, we use HTML and CSS to build the user interface and leverage Flask to achieve front-back interaction.
Challenges we ran into
- During building the algorithm, how can we assign different weights to users and movies to efficiently do recommendations is the most critical challenge we met first.
- After finishing building the backend, how can we achieve front-back interaction is another challenge.
Accomplishments that we're proud of
As the core part of this project, we build an AI-powered RS algorithm. Inside the algorithm, we assigned multi-weights to different users as a way of coordinating the memory-based knowledge and to different movie genres as a way of utilizing content-based knowledge by building a hierarchical recommender system to leverage as much and as diverse information as we could in order to do novel and accurate recommendations.
We then further incorporate our core algorithm into building a movie recommendation website called MoiveGenie that can easily be interacted with by the users.
What we learned
- Recommender System
- We gain a much deeper understanding of classic recommender system algorithms
- Inherent relations between each and how to integrate different methods into a single powerful one.
- Skill-wise
- Functional programming
- Full-stack development
Log in or sign up for Devpost to join the conversation.