This web app recommends books based on user input. It uses streamlit and is deployed on streamlit community cloud.
Kaggle Notebook: https://www.kaggle.com/code/bhaskarbordoloi/book-recommendation-system?scriptVersionId=214481829
Dataset Link: https://www.kaggle.com/datasets/abdallahwagih/books-dataset
The idea is to build a recommender system using content-based filtering technique. This recommendation technique utilizes the item features to generate recommendations based on content similarity.
The system combines 'authors', 'categories' and 'description' features and uses cosine similarity to compute similarities between the books.
Word2Vec embedding technique is used to generate word embeddings and thus calculate simlarity between items.
- Python 3.10 or above
- Streamlit
- A web browser for accessing the UI.
-
Clone the repository
git clone https://github.com/bhaskrr/book-recommender-system.git cd book-recommender-system
-
Install Dependencies
pip install -r requirements.txt
-
Run the app
streamlit run app.py
A window will open in your default browser with the app. Otherwise, open your browser and visit http://localhost:8501/.
- Open the app in the browser
- Select a book from the dropdown
- Click on the Get Recommendations button
- View the generated recommendations
- Limited novelty and diversity.
- Heavy reliance on feature engineering.