A content-based movie and TV series recommendation system using natural language processing and similarity matching.
Live Demo - Click here
- Recommends movies and TV series based on content similarity.
- Utilizes advanced NLP techniques through sentence transformers for better content understanding.
- Supports both Hollywood and Bollywood content.
- Processes metadata such as descriptions, genres, and director information.
- Provides an interactive web interface built with Streamlit.
- Python 3.12+
- Sentence Transformers:
all-MiniLM-L6-v2
for embedding generation. - Pandas: Data manipulation and analysis.
- Streamlit: Web application framework.
- NumPy: Numerical operations.
.
├── data/
│ ├── processed_data/
│ │ ├── movies.csv
│ │ └── series.csv
│ └── raw_data/
│ ├── bollywood_movies.csv
│ ├── bollywood_series.csv
│ ├── hollywood_movies.csv
│ └── hollywood_series.csv
├── notebooks/
│ └── data_generator.ipynb
├── src/
└── movie_recommender_system/
├── config.py
├── data_preprocessor.py
├── st_app.py
└── text_similarities.py
-
Clone the repository:
git clone https://github.com/your-username/movie-recommender-system.git cd movie-recommender-system
-
Create and activate a virtual environment using
uv
:uv create .venv uv activate .venv
-
Install dependencies:
pip install -e .
-
Start the Streamlit app:
streamlit run src/movie_recommender_system/st_app.py
-
Enter a movie or TV series title in the search box.
-
Get personalized recommendations based on content similarity.