This is a content-based recommendation system that uses natural language processing and machine learning techniques to recommend movies to users based on their viewing history.

- Text preprocessing: converting text data into a numerical representation using CountVectorizer.
- Keyword extraction: extracting keywords from movie plots using Rake from nltk toolkit.
- Cosine similarity: calculating the similarity between movie vectors using cosine similarity.
- Natural language processing: using CountVectorizer and Rake to process text data.
- Machine learning: using cosine similarity to calculate the similarity between movie vectors.
- Data preprocessing: cleaning and preprocessing the data for analysis.
- Programming: using Python to implement the recommendation system.

Keyword extraction by RAKE(Rapid Action Keyword Extraction) algorithm extracts keywords by splitting text into words, removing stopwords, and calculating the co-occurrence of words.


The output of the project is a list of recommended movies for a given Input similar to the previous movie. The recommended movies are based on the user's viewing history and are ranked by their similarity scores which have the most similarity score that is near to 1.
