CoolFace
Apppublic

Shakti28/Entertainment-Recommendation-System

sourceHugging Faceupdated 1y agoView on Hugging Face
1likes
App README

๐ŸŽฌ Entertainment Recommendation System

Welcome to the Entertainment Recommendation System โ€” a personalized content discovery tool that suggests Anime, Movies, and Web Series based on your preferences. Built with Streamlit, Sentence-BERT, and FAISS, this system provides fast and accurate recommendations through a clean and intuitive UI.


๐Ÿš€ Features

  • โ€”๐Ÿ” Content-based Recommendations for anime, movies, and web series.
  • โ€”โšก Real-time Suggestions with semantic search using Sentence-BERT.
  • โ€”๐Ÿง  Efficient similarity search via FAISS.
  • โ€”๐ŸŽจ Custom tab bar UI with category-specific background and icons.
  • โ€”๐Ÿงพ Error logging and clean modular codebase for easy debugging and scaling.

๐Ÿ“‚ Project Structure

Entertainment-Recommendation-System/
โ”‚
โ”œโ”€โ”€ app.py                      # Main Streamlit app
โ”œโ”€โ”€ Dockerfile                  # Docker build configuration
โ”œโ”€โ”€ requirements.txt            # Python dependencies
โ”œโ”€โ”€ .env                        # (Optional) Environment variables
โ”‚
โ”œโ”€โ”€ config/
|       โ””โ”€โ”€ global_paths.py     # Global path management
|
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ raw_data/
โ”‚   โ”‚   โ”œโ”€โ”€ anime/
โ”‚   โ”‚   โ”œโ”€โ”€ movie/
โ”‚   โ”‚   โ””โ”€โ”€ web_series/
โ”‚   โ””โ”€โ”€ processed_data/
โ”‚       โ”œโ”€โ”€ anime/
โ”‚       โ”œโ”€โ”€ movie/
โ”‚       โ””โ”€โ”€ web_series/
โ”‚
โ”œโ”€โ”€ artifacts/
โ”‚   โ”œโ”€โ”€ anime/
โ”‚   โ”œโ”€โ”€ movie/
โ”‚   โ””โ”€โ”€ web_series/
โ”‚
โ”œโ”€โ”€ icon/                       # Icons for tab bar
โ”œโ”€โ”€ image/                      # Background images
โ”œโ”€โ”€ notebook/
โ”‚   โ””โ”€โ”€ *.ipynb                 # Preprocessing notebooks
โ”‚
โ””โ”€โ”€ src/
    โ”œโ”€โ”€ recommender/
    โ”‚   โ””โ”€โ”€ base.py             # Recommendation logic
    โ””โ”€โ”€ utils/
        โ””โ”€โ”€ logger.py           # Logging utility

๐Ÿ“ฅ Datasets Used

Organized into raw_data/ and processed into processed_data/ for each content type.


๐Ÿงช Preprocessing

To prepare your data and generate the model artifacts:

  1. 1.Use your own script or notebook to clean and combine metadata into a tags column.
  2. 2.Generate Sentence-BERT embeddings and FAISS index.
  3. 3.Save the following files in each artifacts/{content_type} folder:
  4. 4.data.pkl
  5. 5.sbert_model.pkl
  6. 6.faiss_index.index

๐Ÿ”ง Setup Instructions

1. Clone the Repository

bash
git clone https://github.com/shakti-sarada/Entertainment-Recommendation-System.git
cd Entertainment-Recommendation-System

2. Install Dependencies

bash
pip install -r requirements.txt

3. Run the App

bash
streamlit run app.py

Visit http://localhost:8501 in your browser.


๐Ÿณ Docker Support

You can also run this project inside a Docker container:

bash
docker build -t recommender-app .
docker run -p 8501:8501 recommender-app

๐Ÿ“’ Logging

All user actions, errors, and recommendations are logged in the logs/recommender.log file for monitoring and debugging purposes.


โ— Troubleshooting

  • โ€”Ensure all .pkl and .index files are placed correctly inside the artifacts folder.
  • โ€”Python โ‰ฅ 3.8 is recommended.
  • โ€”Check that streamlit and sentence-transformers are installed properly.

๐Ÿ“„ License

This project is licensed under the MIT License.


๐Ÿ™ Acknowledgments

  • โ€”Kaggle Datasets for anime and web series metadata.
  • โ€”GroupLens for the MovieLens 32M dataset.
  • โ€”Streamlit, FAISS, and SentenceTransformers libraries.

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference