The project at hand involves the development and implementation of a sophisticated hybrid recommender system, leveraging both content-based and collaborative filtering techniques. This system is designed to provide personalized movie recommendations by analyzing a custom-curated dataset of 10,000 popular movies. The project encompasses two main components: first is exploring the various machine learning methodologies employed and second is a web application built using Next.js and TypeScript, which serves as the user interface for the recommender system.
This project aims to contribute to this field by developing a hybrid recommender system that combines the strengths of content-based filtering, which uses Natural Language Processing (NLP) techniques, and collaborative filtering, which employs neighbourhood based algorithms, matrix factorization and deep learning models.
| Component | Technique | Description |
|---|---|---|
| Content-Based Filtering | TF-IDF | Uses term frequency-inverse document frequency to evaluate the importance of words in documents. |
| Word2Vec | Converts words into vector representations to capture semantic meanings. | |
| Collaborative Filtering | KNN | Uses k-nearest neighbors to find similar users or items based on ratings. |
| SVD | Applies singular value decomposition for matrix factorization to uncover latent features. | |
| NCF | Utilizes neural collaborative filtering, a deep learning approach for capturing complex user-item interactions. |
-
Open your terminal or command prompt.
-
Clone the repository using the following command:
git clone https://github.com/kunalduttagit/motion.git
-
Navigate into the cloned directory:
cd motion -
Create a new file named
.env.localin the root directory of the project:touch .env.local
-
Open the
.env.localfile in a text editor and add the following environment variables:MONGO_URI=your_mongodb_uri TOKEN_SECRET=your_token_secret DOMAIN=your_domain
Replace the placeholders with your actual values.
-
Install the project dependencies:
npm i
-
Once the installation is complete, start the development server:
npm run dev
-
Open your web browser and navigate to
http://localhost:3000to view the application.
Motion is licensed under a custom license. By using, copying, modifying, or distributing this software, you agree to the following terms:
-
You are permitted to use, copy, modify, and distribute this software for personal and educational purposes only.
-
Commercial use of this software is strictly prohibited without explicit written permission from the author.
-
If you use this software in your own projects or research, you must provide proper attribution to the original author.
-
Any distribution of this software or derivative works must include this license and copyright notice.
-
To request permission for commercial use or for any questions regarding licensing, please contact: kunalduttaedu@gmail.com
Copyright © Kunal Dutta 2024
Motion is licensed under the Creative Commons Non-Commercial (CC BY-NC) license. This means you are free to:
- Clone and use the project for personal and educational purposes only.
- Give appropriate credit to the original author.
For any other use, including commercialization, you must first obtain permission by contacting mailto:kunalduttaedu@gmail.com.
Copyright © Kunal Dutta 2024