Industrial Training Report - II on Movie Recommendation System submitted in partial fulfillment of the requirements for the award of the degree of Bachelor of Technology in Computer Science and Engineering By Darshika Sharma Enrollment No. A60205219107 Under the guidance of Mr. Ashish Tripathi Trainee Specialist Department of Computer Science and Engineering Amity School of Engineering & Technology Amity University Madhya Pradesh, Gwalior December 2022 Department of Computer Science and Engineering Amity School of Engineering and Technology Amity University Madhya Pradesh, Gwalior DECLARATION I, Darshika Sharma , student of Bachelor of Technology in Computer Science and Engineering hereby declare that the industrial training report entitled “Movie Recommendation System” which is submitted by me to Department of Computer Science and Engineering, Amity School of Engineering & Technology, Amity University Madhya Pradesh, in partial fulfillment of the requirement for the award of the degree of Bachelor of Technology in Computer Science and Engineering, has not been previously formed the basis for the award of any degree, diploma or other similar title or recognition. Darshika Sharma Date: (Enrollment No. – A60205219107) ii Department of Computer Science and Engineering Amity School of Engineering and Technology Amity University Madhya Pradesh, Gwalior CERTIFICATE This is to certify that Darshika Sharma (Enrollment No. A60205219107), student of B. Tech (C.S.E.) VII semester, Department of Computer Science and Engineering, ASET, Amity University Madhya Pradesh, has done her practical training entitled “Movie Recommendation System” under my guidance and supervision during “01 August 2022 – 30 September 2022”. The work was satisfactory. She has shown complete dedication and devotion to the given project work. Date: (Mr. Ashish Tripathi) External Examiner Trainee Specialist Supervisor (Prof. Dr. Hemant Kumar Soni) Head of the Department iii iv ACKNOWLEDGEMENT I am very much thankful to our honorable Vice Chancellor Lt Gen. V. K. Sharma AVSM (Retd) for allowing us to carry out my practical (for VII semester) training. I would also like to thank Prof. (Dr.) M. P. Kaushik, Pro-Vice Chancellor, Amity University Madhya Pradesh for his support. I extend my sincere thanks to Maj. Gen. (Dr.) S. C. Jain, VSM** (Retd), HOI, Amity School of Engineering and Technology, Amity University Madhya Pradesh, Gwalior for his guidance and support for the selection of appropriate industry for my practical training. I would also like to thank Dr. Hemant Kumar Soni, Head of Department (CSE), for his kind concern throughout the practical training. I am also very grateful to Mr. Ashish Tripathi, Trainee Specialist (CSE), Department of Computer Science and Engineering, Amity School of Engineering and Technology, Amity University Madhya Pradesh and Mr. Shekhar Metla, Teachnook Trainings. My internal and external supervisor respectively, for their constant guidance and encouragement provided in this endeavor. I am also thankful to the whole staff of Teachnook Trainings for the co-operation and giving me friendly environment, which made very comfortable for learning and that of ASET, AUMP for teaching and helping me always. Last but not the least I would liketo thank my parents and friends for their constant support. Darshika Sharma (Enrollment No. – A60205219107) v ABSTRACT In this hustling world, we all need entertainment to recharge our batteries and recharge our spirits. Entertainment restores our confidence in our work, allowing us to work more enthusiastically. We can revitalize ourselves by listening to music or watching movies of our choice. We can use movie recommendation systems to watch favored movies online, which are more reliable, because searching for preferred movies will take more and more time, which one cannot afford to waste. In this paper, a Hybrid approach combining content-based filtering and collaborative filtering is used to improve the quality of a movie recommendation system. The proposed methodology uses Support Vector Machine (SVM) as a classifier and a genetic algorithm, and comparative results show that the proposed approach improves the accuracy, quality, and scalability of the movie recommendation system over pure approaches in three different datasets. The hybrid approach combines the benefits of both approaches while attempting to eliminate the drawbacks of both. Keywords: Genres, Entertainment, Movies, Collaborative Filtering, Recommender System vi LIST OF FIGURES Figure No. Figure Caption Page No. Figure 2.1 Types of Filtering 04 Figure 2.2 Credits Genres, and Keywords Based Recommender 05 Figure 2.3 Different Filtration Strategies 06 Figure 4.1 Content Based Filtering 11 Figure 4.2 Cosine Similarity Graph and Formula 14 Figure 4.3 Code Snippet for front End 16 Figure 5.1 Front end of movie recommendation system 17 Figure 5.2 System Recommend Movies in Search bar 18 Figure 5.3 System Recommend Movies With Same genres, Keywords, Cast 18 vii LIST OF ABBREVIATIONS S. No. Terms Expanded Form 1 IBCF Item Based Collaborative Filtering 2 IDE Integrated Development Environment 3 IDF Inverse Document Frequency 4 KNN K-Nearest Neighbors 5 NumPy Numerical Python 6 SVD Singular Value Decomposition 7 SVM Support Vector Machine 8 TF Term Frequency viii CONTENTS Content Page No. Declaration by student ii Certificate by supervisor iii Certificate by company iv Acknowledgement v Abstract vi List of Figures vii List of Abbreviations viii Chapter 1. Introduction 01- 03 Chapter 2. Review of Literature 04-08 Chapter 3. System Requirement Specification 09-10 Chapter 4. Implementation on Project 11-16 Chapter 5. Result and Discussion 17-18 Chapter 6. Testing 19-20 Chapter 7. Conclusion and future Scope 21 Chapter 8. Bibliography 22 ix Chapter 1 INTRODUCTION 1.1 Relevance of the Project A recommender system, also known as a recommendation system, is a type of information filtering system that attempts to forecast a user's "rating" or "preference" for an item. They are mostly employed in commercial settings. Movie Recommendation System allows users to input a movie they enjoy and outputs a list of similar movies. This system is based on the MovieLens dataset, which is a collection of movie ratings and metadata from the Movie Lens website. This dataset contains 20 million ratings and 465,000 tag applications across 27,000 movies. These data were created by 290,000 users between January 09, 1995 and October 16, 2016. A recommendation system, also known as a recommendation engine, is a model used for information filtering that attempts to predict a user's preferences and provides suggestions based on these preferences. These systems have grown in popularity and are now widely used in fields such as movies, music, books, videos, clothing, restaurants, food, places, and other utilities. These systems collect information about a user's preferences and behavior and then use that data to improve future suggestions. Movies are a natural part of life. There are various types of movies, such as those for entertainment, those for education, animated films for children, and horror or action films. Movies are easily distinguished by genres such as comedy, thriller, animation, action, and so on. Another way to differentiate between movies is by release year, language, director, and so on. When watching movies online, there are many movies to choose from in our most popular movies section. Movie Recommendation Systems assist us in searching for our preferred movies among all of these different types of movies, thereby saving us time spent searching for our preferred movies. As a result, the movie recommendation system must be very reliable and provide us with recommendations of movies that are exactly the same as or most closely match our preferences. Many businesses use recommendation systems to increase user interaction and improve the shopping experience of their customers. Customer satisfaction and revenue are two of the most important advantages of recommendation systems. The movie recommendation system is an extremely powerful and vital system. However, due to the issues associated with the pure collaborative approach, movie recommendation systems suffer from poor recommendation quality and scalability issues. 1.2 Problem Statement The goal of the project is to recommend a movie to the user. Providing related content out of relevant and irrelevant collection of items to users of online service providers. 1.3 Objective of the Project • Improving the Recommendation System's Accuracy • Enhance the film's quality System of recommendations • Scalability is being improved. • Improving the user experience 1.4 Scope of the Project The goal of this project is to provide users with accurate movie recommendations. The project's goal is to improve the quality of movie recommendation systems, such as accuracy, quality, and scalability, over pure approaches. This is accomplished through the use of a hybrid approach that combines content-based filtering and collaborative filtering. To alleviate data overload, recommendation systems are used as information filtering tools in social networking sites. As a result, there is a huge opportunity for research in this field to improve the scalability, accuracy, and quality of movie recommendation systems. The movie recommendation system is an extremely powerful and vital system. However, because of the issues associated with the pure collaborative approach, movie recommendation systems suffer from poor recommendation quality and scalability issues. 2 1.5 Methodology for Movie Recommendation System To build a movie recommendation system, the hybrid approach proposed an integrative method that combined the fuzzy k-means clustering method and a genetic algorithmbased weighted similarity measure. The proposed movie recommendation system provides finer similarity metrics and quality than the existing movie recommendation system, but the proposed recommendation system requires more computation time than the existing recommendation system. The clustered data points can be used as an input dataset to solve this problem. The approach proposed here is intended to improve the scalability and quality of the movie recommendation system. We take a hybrid approach, combining Content-Based Filtering and Collaborative Filtering so that the approaches can benefit from one another. We used the cosine similarity measure to compute the similarity between the different movies in the given dataset efficiently and in the least amount of time, as well as to reduce the computation time of the movie recommender engine. Agile Methodology 1. Collecting the data sets: Gathering all of the required data sets from the Kaggle website. We need movie.csv, ratings.csv, and users.csv for this project. 2. Data Analysis: Ensure that the data sets collected are correct and analyses the data in the csv files. Checking to see if all of the column Felds are present in the data sets. 3. Algorithms: In our project, only two algorithms are used to build the machine learning recommendation model: cosine similarity and single valued decomposition. 4. Training and testing the model: once the algorithm implementation is complete. To get the result, we must train the model. We tested it several times and found that the model recommends a different set of movies to different users. 5. Project Advancements: At a later stage, we can implement different algorithms and methods for better recommendation. 3 Chapter 2 REVIEW OF LITERATURE A movie recommendation system is a system that recommends movies to users based on their personal preferences. This system can be used to recommend movies to a user based on their past viewing habits, or to recommend movies to a user based on the viewing habits of other users with similar preferences. There are many different ways to build a movie recommendation system. One approach is to use collaborative filtering, which relies on the ratings of other users to recommend movies to a target user. Another approach is to use content-based filtering, which relies on the content of the movies themselves to recommend movies to a target user. Fig 2.1 Types of Filtering Content-based filtering is often used in conjunction with collaborative filtering, as it can help to filter out noisy data. Hybrid systems that combine both content-based filtering and collaborative filtering are also common. No matter what approach is used, the goal of a movie recommendation system is to provide the user with a personalized list of movie recommendations. The movies that are recommended to a user should be based on their individual preferences, and the system should be able to adapt as the user’s preferences change over time. 4 There are many different movie recommendation systems available today. Some of the more popular ones include Netflix, Amazon Prime, and Hulu. Each of these systems uses a different approach to recommend movies to their users. Netflix, for example, uses a hybrid system that combines content-based filtering and collaborative filtering. Amazon Prime uses a content-based approach, while Hulu uses a collaborative filtering approach. These are just a few examples of movie recommendation systems. There are many others that are available, and new systems are constantly being developed. 2.1 Credits Genres, and Keywords Based Recommender It is obvious that the use of better metadata would raise the caliber of our recommender. That is exactly what we are going to do in this section. The following metadata will be used to generate a recommender: the director, the three best actors, keywords from the movie's plot and related genres. We must identify the three most significant features from the cast, crew, and keyword features. the actors, the director, and the movie's tag lines. Right now, our data is present in the form of "stringified" lists, we need to convert it into a safe and usable structure. Fig 2.2 Credits Genres, and Keywords Based Recommender The following are benefits of content-based filtering: • They can recommend unrated products. • By enumerating an item's Content properties, we can quickly demonstrate how the recommender system functions. 5 • Content-based recommender systems just require the user in question's rating; they do not require input from any other system users. The following are the drawbacks of content-based filtering: • It is ineffective for new users who have not yet given any items a rating because this is because sufficient ratings are needed for the content-based recommender to accurately assess the user's preferences. • No suggestions for unforeseen goods. • Limited Content Analysis: If the system is unable to discern between the items that a user likes and dislikes, the recommendation will not be effective. Fig 2.3Different Filtration Strategies 2.2 Movie Recommendation System Using Collaborative Filtering There are two kinds of collaborative filtering systems: • User-based recommender • Item-based recommender 6 1. User-Based Collaborative Filtering: User-Based Collaborative Filtering is a method for predicting the products that a user will like based on the ratings given to that product by other users whose tastes are similar to the target user's. Collaborative filtering is a popular technique for creating recommendation systems on websites. We can define user-based collaborative filtering as a method of making automatic predictions (filtering) about the interests of a user by collecting preferences or taste information from many users (collaborating). User-based collaborative filtering algorithms are commonly based on similarity between users. For example, the user-based collaborative filtering algorithm could make a prediction for the target user by identifying the user's nearest neighbors and aggregating their ratings. 2. Item-Based Collaborative Filtering: Item-based collaborative filtering approaches build models of users' preferences for different items. This approach can be thought of as a generalization of the user-based collaborative filtering algorithm. Item-based collaborative filtering algorithms are commonly based on similarity between items. For example, the item-based collaborative filtering algorithm could make a prediction for the target user by identifying the items that are most similar to the items that the user has already rated and aggregating their ratings. If you are interested in building a movie recommendation system, there are a few things you need to keep in mind. • First, you need to decide what approach you want to use. • Second, you need to gather data on user preferences. • Third, you need to develop algorithms that can filter and recommend movies based on the data you have collected. • And fourth, you need to evaluate the performance of your system. These are the four main steps you need to take if you want to build a movie recommendation system. Keep these steps in mind, and you will be well on your way to developing a system that can provide personalized movie recommendations to your users. 7 Collaborative filtering-based systems have the following advantages: • They are content-independent because they depend on user relationships. • CF recommender systems can make coincidental recommendations by studying the behavior of users who share their interests. • By taking into account the experiences of others, they can determine an item's true quality. Collaborative filtering has the following drawbacks: • Early rater problem: Since there are no user ratings on which to base a prediction, collaborative filtering systems are unable to provide suggestions for new items. • Gray sheep: A group with similar features is required for the CF-based system to function. It will be exceedingly challenging to promote people who do not consistently agree or disagree to these groups, even if such groups do exist. • The sparsity problem: When there are many more items than users, it can be challenging to locate items that have received adequate ratings. 8 Chapter 3 SYSTEM REQUIREMENT SPECIFICATION This chapter includes a thorough description of the requirements as well as the hardware and software needed for the project. 3.1 Hardware Requirements • A PC with Windows/Linux OS • Processor with 1.7-2.4gHz speed • Minimum of 8gb RAM • 2gb Graphic card 3.2 Software Specifications • 3.2 Software Specification • Text Editor (VS-code/WebStorm) • Anaconda distribution package (PyCharm Editor) • Python libraries 3.3 Software Requirements 3.3.1 Anaconda Distribution: With the goal of streamlining the package management system and deployment, Anaconda is a free and open-source distribution of the Python programming languages for scientific computing (data science, machine learning applications, large-scale data processing, predictive analytics, etc.). Conda, a package management system, controls package versioning. Packages for data science are included in the anaconda distribution and are compatible with Windows, Linux, and MacOS. 3.3.2 Python Libraries Some python libraries that are used for analytics are required for computation and analysis. It requires packages like NumPy, Pandas, Matplotlib, Flask framework, etc. 9 1. NumPy: NumPy is a Python library that adds support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays. The library known as NumPy, or "Numerical Python," contains multidimensional array objects and a selection of procedures for handling those arrays. Arrays can be subjected to logical and mathematical operations using NumPy. It offers high-performance, simple-to-use data analysis tools. In contrast to the multidimensional array objects provided by the NumPy library, Pandas offers an inmemory 2D table object called a Data frame. 2. Pandas: Pandas is an open-source library designed primarily for working quickly and logically with relational or labelled data. It offers a range of data structures and procedures for working with time series and numerical data. The NumPy library serves as the foundation for this library. Pandas is quick and offers its users exceptional performance & productivity. 3. Flask: Python is used to create the Flask web application framework. It is created by Armin Ronacher, the president of Pocco, a global organisation of Python aficionados. The Werkzeug WSGI toolkit and Jinja2 template engine form the foundation of Flask. They're both Pocco projects. 4. Streamlit: A Python-based open source app framework is called Streamlit. It enables us to quickly develop web applications for data science and machine learning. Major Python libraries like scikit-learn, Keras, PyTorch, SymPy (latex), NumPy, pandas, and Matplotlib are all compatible with it. 10 Chapter 4 IMPLEMENTATION 4.1 Building a Content Based Recommendation System This approach recommends related items based on content properties. It does not have a cold-start problem because it works through content attributes or tags such as actors, genres, or directors to recommend new movies straight away. For example, if User X enjoys LOTR and Star Trek movies (action, adventure), our algorithm will recommend movies with similar content to User X, such as Star Wars. Fig 4.1 Content Based Filtering Modeling Import all the dependencies and load the scraped data. 11 Concatenate title, director, genre, description in to a single feature. This is because our recommendation system works not only by proposing movies of a similar genre, but also by combining the cast, director, and plot of the film. The following step is to vectorize this characteristic in order to calculate similarity. TF-IDF Vectorizer The TF (term frequency) is the number of times a given term occurs in a document. TF(t) = (Number of times term t appears in a document) / (Total number of terms in the document). The IDF (inverse document frequency) is the measure of how significant that term is in the whole corpus. IDF(t) = log (Total number of documents / Number of documents containing the term t in it). The reason we chose TF-IDF is that it gives more weight to less frequent terms and less weight to frequent terms, which is critical for our model. 12 Cosine Similarity The next step is to compute the degree of similarity between movies. The movies are suggested using a simple technique known as Cosine Similarity. Cosine similarity can be used to calculate the distance between two vectors. It can be calculated mathematically as the cosine angle between two vectors in a three-dimensional plane. We can also calculate the Euclidean distance between the two vectors to see how dissimilar or similar they are. In our situation, one of the vectors is the sought movie, and the remaining movies in the database are examined as the second vector. As recommendations, the top 5 movies with the shortest Euclidean distance to the searched movie are displayed. Cosine Similarity is a method of content-based filtering. It is one of the most widely utilised approaches in recommendation systems. The characteristics of an object are referred to as its "content." We can determine whether two items are comparable or not based on these characteristics. The properties can be database words such as genre, cast names, director names, description, and so forth. If the attributes match or have a significant degree of similarity, the two films are considered similar. The idea behind this type of recommendation system is that if a user enjoyed a specific movie or show, he or she could enjoy a similar movie or show. 13 Fig 4.2 Cosine Similarity Graph and Formula We must create logic that accepts a movie title as input and returns the top five related movies based on cosine similarity. Singular Value Decomposition A matrix's Singular Value Decomposition (SVD) is a factorization of the matrix into three matrices. It possesses some intriguing algebraic characteristics and provides essential geometrical and theoretical insights into linear transformations. It has several key uses in data science as well. Mathematics behind SVD The SVD of m x n matrix A is given by the formula: 14 A=UWVT where: U: m x n matrix of the orthonormal eigenvectors of AAT VT: transpose of a n x n matrix containing the orthonormal eigenvectors of A^{T}A. W: A n x n diagonal matrix of the singular values which are the square roots of the eigenvalues of ATA To do this, we can write a function that computes the similarity score of our input to other movies in the corpus and then sorts the scores in descending order to obtain the top 5 movies with the highest similarity scores. Index 0 in the sim scores variable is removed here so that the function does not return the same movie that was entered in the input. Test our recommendation engine Pickle is a serialization/deserialization package built into Python that allows us to save any Python object (with a few limitations) to a file. Once we have a file, we may load the model in a separate process. 15 4.2 Designing a Front End We can now begin developing a web application now that we have finalised the model. Streamlit is used in the frontend of our model. Streamlit is a Python open-source package that makes it simple to create stunning custom web apps for machine learning and data science. pip install streamlit Fig 4.3 Code Snippet for front End You can test the frontend locally on the command prompt after you've built it. Make sure you're in the directory that contains all of the files, then enter the following command into the cmd window. Streamlit run app.py 16 Chapter 5 RESULTS AND DISCUSSION Considering that our project is a system for suggesting movies. One may use collaborative filtering, content-based filtering, or a combination of both to create a movie recommendation system. In our project, we used a hybrid approach, which combines both content and form. As well as collaborative filtering. Both strategies have benefits and drawbacks. Only movies based on user ratings or likes will be recommended to the user in content-based filtering. The developed Movies recommendation engine is incredibly user-friendly and simple to use. When the website loads, the visitor will see a screen where he may enter a movie title to get more information and recommendations. When the movie title is input, a drop-down list of suggestions appears to perform auto-complete. When a movie is chosen, the enter button becomes active. After hitting the enter button, a new page with four sections is loaded. Movie details, top cast, sentiment analysis on movie reviews, and the top ten suggestions are all available. Sentiment Analysis is performed using the Multinomial Naive Bayes algorithm after training and testing the data in a 4:1 ratio. Sentiment Analysis has a 98.77167 percent accuracy rate. Fig 5.1 Front end of movie recommendation system 17 Fig 5.2 System Recommend Movies in Search bar Fig 5.3 System Recommend Movies with Same genres, Keywords, Cast 18 Chapter 6 TESTING System testing is a collection of tests whose primary goal is to completely exercise the computer-based system. Although each test serves a different goal, they all endeavor to ensure that all system pieces have been correctly integrated and are performing their assigned responsibilities. The testing procedure is carried out to ensure that the product does exactly what it is designed to do. During the testing stage, the following objectives are attempted: • To confirm the project's quality. • To locate and eliminate any remaining faults from earlier phases. • To prove that the programmed is a viable solution to the original problem. • To ensure the system's operational reliability. 6.1 Testing Methodology There are many different types of testing methods or techniques used as part of the software testing methodology. Some of the important testing methodologies are: Unit Testing The initial stage of testing is unit testing, which is frequently handled by the developers themselves. It is the process of ensuring that individual code components of a piece of software are functional and work as intended. In a test-driven environment, developers often write and execute the tests before passing the software or feature to the testing team. Manual unit testing is possible but automating the process will shorten delivery cycles and increase test coverage. Unit testing will also make debugging easier because issues detected earlier in the testing process take less time to fix than those discovered later in the testing process. Test Left is a solution that enables advanced testers and developers to use the fastest test automation tool included in any IDE to shift left. Integration Testing After each unit has been extensively tested, it is combined with other units to form modules or components that are meant to execute specific jobs or activities. These are then tested as a group through integration testing to ensure that entire components of an application behave 19 as expected, (i.e., the interactions between units are seamless). These tests are frequently framed by user scenarios, such as logging into an application or opening files. Integrated tests can be performed by either developers or independent testers and are typically made up of a combination of automated functional and manual tests. System Testing System testing is a black box testing approach used to guarantee that the completed and integrated system meets stated requirements. Before the product is put into production, the functionality of the programmed is checked from beginning to end by a distinct testing team from the development team. 20 Chapter 7 CONCLUSION AND FUTURE SCOPE 7.1 Conclusion In this project, a hybrid approach is presented by combining content-based filtering and collaborative filtering, using Singular Value Decomposition (SVD) as a classifier and Cosine Similarity as the proposed methodology. This approach aims to improve the accuracy, quality, and scalability of movie recommendation systems. On three separate movie datasets, existing pure methodologies and the hybrid approach are put into practice, and the outcomes are compared. Comparative results reveal that the proposed approach is superior than pure approaches in terms of accuracy, quality, and scalability of the movie recommendation system. The proposed solution takes less time to compute than the other two pure approaches. 7.2 Future Scope In the suggested technique, movie genres have been taken into account; however, in the future, we should also take user age into account because movie tastes change with age. For instance, when we are young, we tend to prefer animated films over other types of films. The memory needs of the suggested solution need to be improved in the future. Here, the suggested methodology has only been applied to several movie datasets. The performance can be computed in the future, and it can also be used to the Film Affinity and Netflix databases. When a user searches for a movie that he or she has previously seen, the Movies Recommendation System will suggest the top ten movies that are the most comparable to the searched movie. Furthermore, the system will display extra movie facts as well as sentiment analysis on the movie's reviews. All of these capabilities will save the user time that would otherwise be spent searching for a movie that he or she may or may not enjoy. Every month, new movies are released, and the movie database continues to grow. This would allow the system to make more accurate recommendations to the user, increasing consumer satisfaction. 21 Chapter 8 BIBLIOGRAPHY 1. Manoj Kumar, D.K. Yadav, Ankur Singh and Vijay Kr. Gupta (2015), “A Movie Recommender System: MOVREC”, International Journal of Computer Applications (0975 – 8887) Volume 124-No.3. 2. Sameer Jain (2022), “Movie Recommendation System using Machine Learning” Retrieved from: https://www.naukri.com/learning/articles/movie-recommendation- system-using-machine-learning/ 3. Hirdesh Shivhare, Anshul Gupta and Shalki Sharma (2015), “Recommender system using fuzzy c-means clustering and genetic algorithm based weighted similarity measure”, IEEE International Conference on Computer, Communication and Control. 4. Harpreet Kaur Virk, Er. Maninder Singh,” Analysis and Design of Hybrid Online Movie Recommender System “International Journal of Innovations in Engineering and Technology (IJIET)Volume 5 Issue 2, April 2015. 5. Prateek Sappadla, Yash Sadhwani (2018), “Movie Recommender System”. Retrieved from https://www.codeheroku.com/static/workshop/hw/movie_recommendation/MovieReco mmenderSystem.pdf 6. Sarwar, B. M., Karypis, G., Konstan, J. A., & Riedl, “Item-based collaborative filtering recommendation algorithms,” In: Proceedings of the 10th international World Wide Web conference, pp. 285–295, 2001 7. Ramya Vidiyala (2020), “How to Build a Movie Recommendation System”. Retrieved from: https://towardsdatascience.com/how-to-build-a-movie-recommendation-system- 67e321339109 8. Debadrita Roy, Arnab Kundu, (2013), “Design of Movie Recommendation System by Means of Collaborative Filtering”, International Journal of Emerging Technology and Advanced Engineering, Volume 3, Issue 4. 9. Zhang, R..; Mao, Y.; “Movie Recommendation via Markovian Factorization of Matrix Processes”, IEEE, vol: 7, 2019, pp: 13189-13199. 10. Pavan Kumar P B, Nitesh S (2019), “Movie Recommendation System”, ISSN: 22780181, Volume 4 – Issue 27, April 2019. 22 Date: Darshika Sharma 23