Skip to content

Habil7/semantic-book-recommender

Repository files navigation

Semantic Book Recommender (NLP)

End-to-end semantic book recommendation system using embeddings + vector search, with category and emotion-based filtering in a Gradio dashboard.

What it does

  • Takes a natural language query (example: "mystery thriller with detective")
  • Retrieves similar books using semantic embeddings + vector search
  • Supports category filtering and emotion-based sorting
  • Displays results in an interactive Gradio dashboard

Demo

Gradio Dashboard

Tech used

  • Python, Pandas
  • OpenAI embeddings + ChromaDB
  • Hugging Face Transformers
  • Gradio

Project steps (notebooks)

  1. Data exploration: 01_data_exploration.ipynb
  2. Vector search: 02_vector_search.ipynb
  3. Text classification: 03_text_classification.ipynb
  4. Emotion analysis: 04_emotion_analysis.ipynb
  5. Gradio dashboard: 05_gradio_dashboard.ipynb

Results

  • Cleaned dataset from 6,810 records to 5,197 high-quality entries.

How to run

This repo currently contains the full pipeline as Jupyter notebooks. Packaging into a single runnable app (requirements.txt + app.py) is in progress.

Report

See Final Report.pdf

About

End-to-end semantic book recommendation system using embeddings, vector search, and a Gradio dashboard.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors