Skip to content

DuaneQ/ai_book_recommender

Repository files navigation

AI Book Recommender System

Project Summary

I developed an intelligent book recommendation system that combines emotional analysis and machine learning to understand and categorize books in a unique way. The system analyzes book descriptions to:

  • Detect emotional patterns in book descriptions (joy, fear, anger, etc.)
  • Automatically categorize books using AI
  • Fill in missing category information using machine learning predictions
  • Process and clean large amounts of book data

This project transforms raw book data into meaningful insights by analyzing the emotional content and themes present in book descriptions, offering a more nuanced approach to book recommendations than traditional genre-based systems.

Project Overview

Build a Semantic Book Recommender with LLMs – Full Course

This repo contains all of the code to complete the freeCodeCamp course, "Build a Semantic Book Recommender with LLMs – Full Course". There are five components to this tutorial:

  • Text data cleaning (code in the notebook data-exploration.ipynb)
  • Semantic (vector) search and how to build a vector database (code in the notebook vector-search.ipynb). This allows users to find the most similar books to a natural language query (e.g., "a book about a person seeking revenge").
  • Doing text classification using zero-shot classification in LLMs (code in the notebook text-classification.ipynb). This allows us to classify the books as "fiction" or "non-fiction", creating a facet that users can filter the books on.
  • Doing sentiment analysis using LLMs and extracting the emotions from text (code in the notebook sentiment-analysis.ipynb). This will allow users to sort books by their tone, such as how suspenseful, joyful or sad the books are.
  • Creating a web application using Gradio for users to get book recommendations (code in the file gradio-dashboard.py).

This project was initially created in Python 3.11. In order to run the project, the following dependencies are required:

A requirements.txt file containing all the project dependencies is provided as part of this repo.

In order to create your vector database, you'll need to create a .env file in your root directory containing your OpenAI API key. Instructions on how to do this are part of the tutorial.

The data for this project can be downloaded from Kaggle. Instructions on how to do this are also in the repo.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published