📚 সমস্ত অধ্যায় দেখুন
অধ্যায়/ফেজ 5 · Phase 5 · Specialized AI
5.3২৫ মিনিট পড়া34 / 68

Recommendation System

Recommender

Collaborative + Content based filtering।

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 গুলো ভুলো না।