A semantic book recommender finding reads by meaning and emotion. This project was developed as part of the challenges for the MLH Data Week.
| Interface | Results |
|---|---|
![]() |
![]() |
The system processes the 7k books Kaggle dataset through two primary layers:
- Semantic Search: Uses LangChain and ChromaDB to interpret user intent beyond simple keyword matching.
- Sentiment Analysis: Classifies descriptions into 7 emotional tones:
- 😡 Anger | 🤢 Disgust | 😨 Fear | 😊 Joy | 😢 Sadness | 😲 Surprise | 😐 Neutral
- Data Cleaning: Standardizing raw Kaggle metadata.
- Sentiment Logic: Emotional tagging of book descriptions.
- Semantic Engine: Vector indexing for contextual retrieval.
- UI Layer: Interactive dashboard via Gradio.
- AI: LangChain & HuggingFace
- Database: ChromaDB
- Data: Pandas & Numpy
- Tooling: Managed with
uv
git clone https://github.com/Tek233/Book-Recommender.git
cd book-recommender
uv sync
uv run app.py
