NextDrama is a content-based recommendation system for Asian dramas, movies, specials, and TV shows. It leverages deep semantic similarity using Sentence Transformers to suggest similar titles based on what you love — no user history required.
🌐 Live Demo: nextdrama.streamlit.app
- 🤖 Semantic similarity with
all-mpnet-base-v2from Sentence Transformers - 🧠 Content-based recommendations — no collaborative filtering needed
- 🎛️ Filter by genre, country, type, rating, tags, and release year
- 🖼️ Interactive UI with responsive grid layouts
- 🪪 Card-based display with full metadata: cast, synopsis, creators, etc.
- ⚡ Fast cosine similarity search over 20,000+ media embeddings
The system is powered by the Asian Drama Dataset on Kaggle, which includes:
- Over 20,000 titles with rich metadata
- Fields like title, synopsis, cast, genres, tags, score, country, and network
- Preprocessed and ready for NLP tasks or recommender systems
- Embedding Model:
all-mpnet-base-v2 - Input Text: A combined "soup" of title, synopsis, genres, tags, cast, and directors
- Similarity Metric: Cosine similarity via
sentence_transformers.util.cos_sim - Inference: Fast top-k search with PyTorch tensors
- Evaluation: 80,000+ human-labeled positive recommendation pairs for recall@K evaluation
# Clone the repository
git clone https://github.com/lakhindarpal/NextDrama.git
cd NextDrama
# Install dependencies
pip install -r requirements.txt
# Run the app
streamlit run app.pyYou can also manually load the precomputed data:
import joblib
media_df = joblib.load("media_df.pkl")
embeddings = joblib.load("embeddings.pkl")📌 Click on a title card to reveal full information including synopsis, cast, tags, genres and more.
| 📱 Mobile | 💻 Desktop |
|---|---|
The current model uses cosine similarity over transformer-based embeddings. Evaluation can be performed offline using the 80K labeled recommendation pairs and metrics like Recall@K.
Currently live on Streamlit Cloud: 👉 nextdrama.streamlit.app
You can also deploy on:
- 🐳 Docker
- 🤗 Hugging Face Spaces
- 🔧 Self-hosting or private servers
- Streamlit — frontend framework
- SentenceTransformers — semantic embeddings
- PyTorch — tensor computation
- Joblib — model/data persistence
- Pandas — data handling
This project is licensed under the MIT License.
Found a bug? Have a suggestion? Open an issue or drop feedback for improvements!