AJAX Movie Recommendation System with Sentiment Analysis
The AJAX Movie Recommendation System is a web application designed to suggest movies based on users' preferences, while also analyzing the sentiment of reviews. This project combines content-based recommendation techniques with sentiment analysis to provide more personalized movie suggestions.
Overview of the Project
This innovative application fetches details about movies, such as their title, genre, runtime, rating, and poster, using the TMDB API. The TMDB API acts as a comprehensive source for movie data, which is essential for the recommendation process. Furthermore, the application extracts user reviews from the IMDB website through web scraping, utilizing the beautifulsoup4
library. By analyzing these reviews, it determines the general sentiment and uses this as an additional metric in recommendations.
Key Features
-
Recommendation Engine: The system utilizes a content-based approach, recommending movies similar to those the user prefers. This is achieved through analyzing the textual details of movies and calculating similarity scores.
-
Sentiment Analysis: The app conducts sentiment analysis on user reviews. This process helps gauge whether the audience's feedback on a particular movie is positive or negative, thereby influencing the recommendation list.
Technology Stack
- Python (3.8): The primary programming language used.
- Flask Framework: Employed as the web framework to build and host the application.
- Frontend: HTML, CSS, and JavaScript form the backbone of the application's user interface.
- TMDB API: Serves as the source for comprehensive movie data.
How It Works
The application compares movies using similarity scores, which quantify how closely related two items (in this case, movies) are. The similarity is measured through cosine similarity, a metric that evaluates the angle between two vectors in a multi-dimensional space. The closer the angle to zero, the more similar the two movies are.
Getting Started
- Download the Project: Clone the repository from the provided GitHub link.
- Install Dependencies: Use the provided
requirements.txt
file to install necessary libraries. - Acquire TMDB API Key: Sign up at TMDB's website and request an API key.
- Configure the Application: Insert your TMDB API key into the designated lines within the
static/recommend.js
file. - Run the Application: Start the server by running
main.py
, then open the web browser tohttp://127.0.0.1:5000/
.
Similar Projects
The creator of this application has developed another project, "The Movie Cinema," which supports movies in all languages, leveraging TMDB's recommendation engine. The primary difference lies in the recommendation engine's capability to handle multi-language movies without significant resource consumption.
Conclusions
This AJAX-based movie recommendation system empowers users by providing them with movie suggestions tailored to their tastes and sentiment preferences. The synergy of content-based recommendation and sentiment analysis creates a rich and engaging user experience, making it easy to discover and explore new cinematic adventures.
Feel free to visit the project's GitHub repository to delve into the code and learn more about its intricacies. Additionally, a video demonstration on YouTube provides further insights into how the system functions.