Recommendation_Engine_Demo.mp4
This project presents an advanced book recommendation system utilizing a hybrid approach that amalgamates both item-based and user-based filtering techniques. Leveraging data scraped from Goodreads, the system applies sophisticated data processing and machine learning methodologies to deliver personalized book recommendations to users.
Process | Description | Potential Improvements |
---|---|---|
Web Scraping from Goodreads | Implemented asynchronous web scraping techniques to efficiently gather comprehensive book data from Goodreads. | |
Data Cleaning and Preprocessing | Employed robust Natural Language Processing (NLP) techniques and rigorous data cleaning methodologies to ensure data quality. | |
Content-Based Filtering and Synthetic Data Generation | Integrated content-based filtering techniques, augmented with synthetic data generation to handle missing values. | |
Feature Engineering | Utilized advanced feature engineering strategies to extract meaningful insights from the dataset. | |
User and Item Profile Creation | Engineered user and item profiles based on book genres, employing dimensionality reduction techniques for enhanced performance. | |
Flask Application Development | Developed a robust Flask application featuring a secure login system and dynamic book recommendations. | |
Data Storage and Retrieval | Utilized PostgreSQL database for efficient data storage and retrieval, employing a combination of API calls and SQL queries. | |
Model Serialization and Deployment | Serialized trained models for streamlined deployment using Gunicorn. | |
Dockerization | Containerized the application for optimized deployment and scalability. | |
CI/CD | Established a robust CI/CD pipeline using Docker, GCP, and GitHub Actions for seamless integration and deployment. |
-
Middleware and Caching: Implement middleware for input validation and utilize Redis for caching database calls to improve performance and efficiency.Adding Logging and testing too would be great for the implementation.
-
Advanced Techniques: Explore advanced recommendation techniques such as Neural Collaborative Filtering, Alternating Least Squares (ALS), and Decision Trees (content-based classifier) to enhance recommendation accuracy and diversity.
-
Implementing Micro-service Design: Adding Microservices is a better and scalable approach which will use the full capabilities of Cloud, Adding ways to implement database transactions,event Sourcing db,Chuncking big db(AWS_RDS/Google_cloudsql or AWS_S3 ).
To begin using this project:
-
Clone the repository.
-
Install dependencies using Poetry:
poetry install
-
Run the application using Gunicorn:
poetry run gunicorn -w 4 -b 0.0.0.0:8000 main:app
-
Login using Userid and Password
The user id and password are given in JSON FILE
This project is licensed under the MIT License.