Two Efficient Approaches to Building a Recommendation Engine for Movies Based on Collaborative Filtering on User Ratings
Aniket Biswal, Thirumurugan Krishnasamy · 2023
Recommendation systems have recently been an interest of research because of their ability to benefit both the businesses providing the products as well as the users using them. They are used in a variety of fields including entertainment, e-commerce, web pages, e-learning, etc. They help recognize the patterns which allow e-commerce giants like Amazon and Netflix to have competitive positions in their respective markets. This study aims to build a recommendation system based on collaborative filtering which can predict movies the users may like. The first approach focuses on using model-based collaborative filtering with ALS (Alternate Least Squaring) algorithm. The second approach uses a graph-based database Neo4j, which is the best NoSQL database suitable for such a study. The first approach can predict the movies a new user may like with a model having a regularization parameter as 0.18, rank as 13 and maximum iterations for ALS as 19. The model is hyper tuned using the RMSE (Root Mean Squared Error) as the error metric. This approach can overcome the problem of data sparsity and cold start using the ALS implementation of Apache Spark. The second approach uses a graph database along with the similarity metric as Jaccard Index to find out the top 25 nearest neighbors. It then ranks the movies a user may like based on the number of times the movie is rated. The top 10 recommendations made by the two approaches are illustrated and found to be meaningful.