Overview
This project aims to create a book recommender system leveraging data from Goodreads as of May 2024. By employing three distinct recommendation methodologies – content-based, popularity-based, and a hybrid model combining both – the system provides users with personalized book recommendations tailored to their preferences as well as trend/popularity. Additionally, a user-friendly web interface powered by Streamlit enables seamless interaction, allowing users to input book titles and receive top 5 recommendations based on the hybrid model.
Detailed Process
1. Data Description and Preparation:
- Utilized the Goodreads book data, including attributes such as title, author, genre, ratings, and book details.
- Preprocess the collected data by cleaning and formatting it for further analysis and modeling.
2. Recommender System
- Content-based Recommendation:
- Analyzed textual features such as book details, genres, and authors to compute similarity scores between books.
- Developed a content-based recommendation engine that suggests books with similar characteristics to those favored by the user.
- Popularity-based Recommendation:
- Calculated popularity scores for each book based on factors such as average ratings and rating counts.
- Designed a popularity-based recommendation system that suggests highly-rated and widely-reviewed books.
- Hybrid Recommendation:
- It involves combining both content-based and popularity-based filtering approaches to leverage the strengths of both methods.
- It is done to ensure optimal performance and balance between personalized recommendations and popular choices.
3. Web Interface Creation with Streamlit:
- Implemented a simple yet intuitive web interface using Streamlit, a Python library for building interactive web applications.
- Designed the interface to accept user input in the form of book titles and display the top 5 recommendations generated by the hybrid model.