--- title: Book Recommender emoji: 📉 colorFrom: gray colorTo: blue sdk: streamlit sdk_version: 1.41.1 app_file: app.py pinned: false short_description: A basic book recommender system --- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference # Content-Based Book Recommender System This is a content-based book recommender system built using **Streamlit**. It takes a book title as input and generates up to 5 recommendations based on content similarity. The recommendations combine textual similarity (TF-IDF) and semantic similarity (Sentence Transformers). The system also handles typos and invalid inputs. --- ## Features 1. **Content-Based Recommendations**: - Combines TF-IDF and semantic similarity to recommend books. - Handles typos and approximate matches using fuzzy matching. 2. **Error Handling**: - Ensures graceful failure for invalid inputs or system errors. - Provides fallback recommendations when similarity scores are insufficient. 3. **Interactive UI**: - Built with Streamlit for a user-friendly interface. ## Dependencies and Functionality 1. pandas: Handles data loading, preprocessing, and manipulation. 2. scikit-learn: Provides TF-IDF vectorization and NearestNeighbors for similarity search. 3. sentence-transformers: Generates semantic embeddings for textual data. 4. numpy: Used for numerical computations like handling embeddings and arrays. 5. streamlit: Creates the interactive UI for the application. 6. rapidfuzz: Implements fuzzy matching for typos and approximate title matches. 7. re: Cleans special characters from book titles.