Skip to content

A content-based recommendation engine that suggests films similar to the one the user like and evaluates the emotional content of the user's reviews.

Notifications You must be signed in to change notification settings

divyasrinaraharisetti/Movie-Recommendation-System

Repository files navigation

Movie Recommender System with Sentiment Analysis

Python Framework Frontend API

The Content Based Recommender System recommends movies comparable to the movie the user enjoys and looks into the reactions expressed in the user's reviews for that movie.

The movie details (title, genre, runtime, rating, poster, and so on) are fetched using an API by TMDB, https://www.themoviedb.org/documentation/api, and using the IMDB id of the movie in the API, I did web scraping to get the reviews given by the user in the IMDB site using 'beautifulsoup4' library and performed sentiment analysis on those reviews.

How to get the API key?

Create an account in https://www.themoviedb.org/, click on the API link from the left hand sidebar in your account settings and fill all the details to apply for API key. If you are asked for the website URL, just give "NA" if you don't have one. You will see the API key in your API sidebar once your request is approved.

How to run the project?

  1. Clone or download this repository to your local machine.
  2. Install all the libraries mentioned in the [requirements.txt] file with the command pip install -r requirements.txt
  3. Get your API key from https://www.themoviedb.org/. (Refer the above section on how to get the API key)
  4. Replace YOUR_API_KEY in both the places (line no. 15 and 29) of static/recommend.js file and hit save.
  5. Open your terminal/command prompt from your project directory and run the file main.py by executing the command python main.py.
  6. Go to your browser and type http://127.0.0.1:5000/ in the address bar.
  7. Hurrayyyy! That's it.

Architecture

Similarity Score :

How does it decide which item is most similar to the item user likes? Here come the similarity scores.

It is a numerical value ranges between zero to one which helps to determine how much two items are similar to each other on a scale of zero to one. This similarity score is obtained measuring the similarity between the text details of both of the items. So, similarity score is the measure of similarity between given text details of two items. This can be done by cosine-similarity.

Sources of the datasets

  1. IMDB 5000 Movie Dataset
  2. The Movies Dataset
  3. List of movies in 2018
  4. List of movies in 2019
  5. List of movies in 2020

About

A content-based recommendation engine that suggests films similar to the one the user like and evaluates the emotional content of the user's reviews.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published