Hook — ‘তোমার জন্য’ list
Netflix এর next show, YouTube এর next video, Amazon এর next product — সব Recommendation System এর কাজ। মূল প্রশ্ন: এই user এর কোনটা পছন্দ হবে?
Three Approaches
- Content-based — item এর feature ও user এর past pref এর মিল।
- Collaborative Filtering — অন্য similar user যা পছন্দ করেছে।
- Hybrid — দুটোই (Netflix, Spotify)।
Collaborative Filtering
- User-based — তোমার মতো user যা পছন্দ করেছে।
- Item-based — যে item তুমি পছন্দ করেছ, তার similar item।
- Matrix Factorization (SVD, ALS) — latent factor।
- Neural CF — deep learning দিয়ে interaction।
R ≈ U · Vᵀ (user × factor) × (factor × item)
Code — Surprise (SVD)
svd_reco.py
from surprise import SVD, Dataset, Reader
from surprise.model_selection import cross_validate
import pandas as pd
df = pd.read_csv("ratings.csv") # userId, movieId, rating
reader = Reader(rating_scale=(1, 5))
data = Dataset.load_from_df(df[["userId","movieId","rating"]], reader)
algo = SVD(n_factors=64, n_epochs=20, lr_all=0.005, reg_all=0.02)
print(cross_validate(algo, data, measures=["RMSE","MAE"], cv=5))Content-based (Cosine Similarity)
content_reco.py
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
tfidf = TfidfVectorizer(stop_words="english")
mat = tfidf.fit_transform(movies["description"])
sim = cosine_similarity(mat)
def recommend(title, top=5):
i = movies.index[movies["title"] == title][0]
scores = sorted(enumerate(sim[i]), key=lambda x: -x[1])[1:top+1]
return movies.iloc[[s[0] for s in scores]]["title"]Metrics
- RMSE / MAE — rating prediction।
- Precision@K, Recall@K — top-K list।
- NDCG — ranking quality।
- Coverage, Diversity, Novelty — beyond accuracy।
Cold Start ও অন্যান্য সমস্যা
Cold Start
নতুন user বা নতুন item এ history নেই — content-based বা popularity baseline দিয়ে শুরু।
- Sparsity — অধিকাংশ user-item interaction নেই।
- Popularity bias — popular item বেশি recommend হয়।
- Feedback loop — algorithm নিজেই future data shape করে।
Modern Approaches
- Two-Tower Neural Network (YouTube)।
- Sequential — SASRec, BERT4Rec।
- Graph Neural Network (PinSage)।
- LLM-based recommendation।
Summary
এক নজরে
Recommender = Content + Collaborative + Hybrid। Cold start, sparsity, diversity — production challenge গুলো ভুলো না।