A production-ready hybrid recommender system for e-commerce, combining collaborative filtering with content-based recommendations. Built with scalability and real-world deployment in mind, featuring a complete end-to-end pipeline from raw data ingestion to a bilingual web interface.
یک سیستم پیشنهاددهنده هیبریدی آماده تولید برای تجارت الکترونیک که فیلترینگ مشارکتی را با توصیههای محتوا-محور ترکیب میکند. برای مقیاسپذیری و استقرار در محیط واقعی ساخته شده و شامل یک خط لوله کامل از دریافت داده خام تا رابط کاربری دوزبانه است.
- Overview
- Key Features
- Architecture
- Technology Stack
- Quick Start
- Project Structure
- Models & Evaluation
- API Documentation
- Development
- Author
This project implements a hybrid recommender system for the RetailRocket e-commerce dataset, combining:
- Collaborative Filtering (CF): Matrix factorization with implicit feedback for user-item interactions
- Content-Based Filtering: TF-IDF vectorization of item properties and metadata
- Hybrid Approach: Linear blending of CF and content scores with configurable weights
- Popularity Baseline: Fallback recommender based on item popularity
The system is designed for production deployment with:
- Scalable FastAPI backend with structured logging
- React-based bilingual UI (English/Persian) with RTL/LTR support
- Docker containerization for easy deployment
- Comprehensive offline evaluation metrics
- Modular, maintainable codebase following best practices
این پروژه یک سیستم پیشنهاددهنده هیبریدی برای دیتاست RetailRocket پیادهسازی میکند که ترکیب میکند:
- فیلترینگ مشارکتی (CF): فاکتورگیری ماتریس با بازخورد ضمنی برای تعاملات کاربر-کالا
- فیلترینگ محتوا-محور: وکتورسازی TF-IDF از ویژگیها و فراداده کالا
- رویکرد هیبریدی: ترکیب خطی امتیازهای CF و محتوا با وزنهای قابل تنظیم
- پایه محبوبیت: پیشنهاددهنده پشتیبان بر اساس محبوبیت کالا
سیستم برای استقرار در تولید طراحی شده است با:
- بکاند FastAPI مقیاسپذیر با لاگهای ساختاریافته
- رابط کاربری React دوزبانه (انگلیسی/فارسی) با پشتیبانی RTL/LTR
- کانتینرسازی Docker برای استقرار آسان
- متریکهای ارزیابی آفلاین جامع
- کدبیس ماژولار و قابل نگهداری که از بهترین روشها پیروی میکند
- 🔀 Hybrid Recommendation Engine: Combines collaborative filtering and content-based signals for robust recommendations
- 📊 Offline Evaluation Suite: Comprehensive metrics (Precision@K, Recall@K, NDCG@K, MAP@K) with user-level splits
- 🚀 Production-Ready API: FastAPI backend with async support, structured logging, and health checks
- 🌐 Bilingual Web Interface: React + TypeScript frontend with English/Persian support and RTL/LTR layout switching
- 🐳 Docker Support: Containerized deployment with optimized Dockerfile
- 📈 Real-time Recommendations: Fast inference with sparse matrix operations
- 🎯 Similar Items Discovery: Content-based similarity search for related products
- 🔀 موتور پیشنهاد هیبریدی: ترکیب فیلترینگ مشارکتی و سیگنالهای محتوا-محور برای پیشنهادات پایدار
- 📊 سوئیت ارزیابی آفلاین: متریکهای جامع (Precision@K, Recall@K, NDCG@K, MAP@K) با تقسیمبندی سطح کاربر
- 🚀 API آماده تولید: بکاند FastAPI با پشتیبانی async، لاگهای ساختاریافته و چکهای سلامت
- 🌐 رابط کاربری دوزبانه: فرانتاند React + TypeScript با پشتیبانی انگلیسی/فارسی و تغییر چیدمان RTL/LTR
- 🐳 پشتیبانی Docker: استقرار کانتینری با Dockerfile بهینهشده
- 📈 پیشنهادات زمان-واقعی: استنتاج سریع با عملیات ماتریس تنک
- 🎯 کشف اقلام مشابه: جستجوی شباهت محتوا-محور برای محصولات مرتبط
- Sparse Matrix Operations: Efficient handling of large-scale user-item interactions using SciPy sparse matrices
- Implicit Feedback Modeling: Handles view, add-to-cart, and transaction events with weighted scoring
- Cold Start Handling: Graceful fallback strategies for new users and items
- Configurable Model Weights: Tune hybrid blend parameter (alpha) for optimal performance
- Modular Architecture: Clean separation of concerns (data → models → API → UI)
- عملیات ماتریس تنک: مدیریت کارآمد تعاملات کاربر-کالا در مقیاس بزرگ با استفاده از ماتریسهای تنک SciPy
- مدلسازی بازخورد ضمنی: مدیریت رویدادهای مشاهده، افزودن به سبد و تراکنش با امتیازدهی وزنی
- مدیریت مشکل Cold Start: استراتژیهای سقوط محکم برای کاربران و کالاهای جدید
- وزنهای مدل قابل تنظیم: تنظیم پارامتر ترکیب هیبریدی (alpha) برای عملکرد بهینه
- معماری ماژولار: جداسازی تمیز نگرانیها (داده → مدل → API → UI)
flowchart TB
subgraph Data["📊 Data Pipeline"]
A[Raw CSVs<br/>events, item_properties, category_tree]
B[Data Ingestion<br/>load_raw_events]
C[Preprocessing<br/>build_interaction_matrix]
D[Processed Artifacts<br/>sparse matrices, mappings]
end
subgraph Models["🤖 Model Training"]
E[Collaborative Filtering<br/>Matrix Factorization]
F[Content-Based<br/>TF-IDF Vectorization]
G[Hybrid Recommender<br/>Linear Blending]
H[Popularity Baseline]
end
subgraph Evaluation["📈 Offline Evaluation"]
I[Train/Test Split<br/>User-level temporal]
J[Metrics Calculation<br/>Precision, Recall, NDCG, MAP]
K[Results Export<br/>CSV, JSON, Parquet]
end
subgraph Service["🚀 API Service"]
L[FastAPI Backend<br/>/recommendations<br/>/similar-items<br/>/items]
M[Docker Container<br/>Port 8000]
end
subgraph UI["🌐 Web Interface"]
N[React + TypeScript<br/>Bilingual EN/FA]
O[User Input<br/>Recommendation Display<br/>Similar Items Drawer]
end
A --> B --> C --> D
D --> E
D --> F
E --> G
F --> G
D --> H
D --> I --> J --> K
D --> L --> M
L --> N --> O
G --> L
F --> L
H --> L
| Technology | Purpose | Version |
|---|---|---|
| Python | Core language | 3.8+ |
| NumPy / SciPy | Numerical computing & sparse matrices | Latest |
| Pandas | Data manipulation & analysis | Latest |
| scikit-learn | ML utilities & TF-IDF | Latest |
| FastAPI | REST API framework | 0.100+ |
| Uvicorn | ASGI server | Latest |
| PyYAML | Configuration management | Latest |
| Technology | Purpose | Version |
|---|---|---|
| React | UI framework | 18+ |
| TypeScript | Type-safe JavaScript | Latest |
| Vite | Build tool & dev server | Latest |
| react-i18next | Internationalization | Latest |
| Axios | HTTP client | Latest |
| Technology | Purpose |
|---|---|
| Docker | Containerization |
| Jupyter | Data exploration notebooks |
| pytest | Testing framework |
| تکنولوژی | کاربرد | نسخه |
|---|---|---|
| Python | زبان اصلی | 3.8+ |
| NumPy / SciPy | محاسبات عددی و ماتریسهای تنک | آخرین |
| Pandas | دستکاری و تحلیل داده | آخرین |
| scikit-learn | ابزارهای ML و TF-IDF | آخرین |
| FastAPI | فریمورک REST API | 0.100+ |
| Uvicorn | سرور ASGI | آخرین |
| PyYAML | مدیریت پیکربندی | آخرین |
| تکنولوژی | کاربرد | نسخه |
|---|---|---|
| React | فریمورک UI | 18+ |
| TypeScript | JavaScript نوع-امن | آخرین |
| Vite | ابزار ساخت و سرور توسعه | آخرین |
| react-i18next | بینالمللیسازی | آخرین |
| Axios | کلاینت HTTP | آخرین |
| تکنولوژی | کاربرد |
|---|---|
| Docker | کانتینرسازی |
| Jupyter | نوتبوکهای کاوش داده |
| pytest | فریمورک تست |
- Python 3.8 or higher
- Node.js 16+ and npm (for UI)
- Docker (optional, for containerized deployment)
- Python 3.8 یا بالاتر
- Node.js 16+ و npm (برای UI)
- Docker (اختیاری، برای استقرار کانتینری)
-
Clone the repository
git clone <repository-url> cd hybrid-retail-recommender
-
Set up Python environment
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate pip install -r requirements.txt
-
Prepare the dataset
- Place RetailRocket dataset files in
Dataset/directory:events.csvitem_properties_part1.csvitem_properties_part2.csvcategory_tree.csv
- Place RetailRocket dataset files in
-
Run data pipeline
# Ingest raw data python -m src.data.ingest # Preprocess and build interaction matrix python -m src.data.preprocess # Split into train/test sets python -m src.evaluation.split
-
Train models (optional - models will be trained on first API request)
python -m src.evaluation.run_evaluation
-
Start the application
# Run both backend and frontend together python run.pyOr run separately:
# Backend only (Terminal 1) uvicorn service.main:app --reload # Frontend only (Terminal 2) cd ui npm install npm run dev
-
Access the application
- Frontend: http://localhost:5173 (or port shown in terminal)
- API Docs: http://localhost:8000/docs
- Health Check: http://localhost:8000/health
-
کلون کردن مخزن
git clone <repository-url> cd hybrid-retail-recommender
-
راهاندازی محیط Python
python -m venv .venv source .venv/bin/activate # در ویندوز: .venv\Scripts\activate pip install -r requirements.txt
-
آمادهسازی دیتاست
- فایلهای دیتاست RetailRocket را در پوشه
Dataset/قرار دهید:events.csvitem_properties_part1.csvitem_properties_part2.csvcategory_tree.csv
- فایلهای دیتاست RetailRocket را در پوشه
-
اجرای خط لوله داده
# دریافت داده خام python -m src.data.ingest # پیشپردازش و ساخت ماتریس تعامل python -m src.data.preprocess # تقسیم به مجموعه آموزش/آزمون python -m src.evaluation.split
-
آموزش مدلها (اختیاری - مدلها در اولین درخواست API آموزش داده میشوند)
python -m src.evaluation.run_evaluation
-
راهاندازی برنامه
# اجرای همزمان بکاند و فرانتاند python run.pyیا به صورت جداگانه:
# فقط بکاند (ترمینال 1) uvicorn service.main:app --reload # فقط فرانتاند (ترمینال 2) cd ui npm install npm run dev
-
دسترسی به برنامه
- فرانتاند: http://localhost:5173 (یا پورت نشانداده شده در ترمینال)
- مستندات API: http://localhost:8000/docs
- چک سلامت: http://localhost:8000/health
# Build image
docker build -t hybrid-retail-recommender .
# Run container
docker run -p 8000:8000 hybrid-retail-recommender# ساخت ایمیج
docker build -t hybrid-retail-recommender .
# اجرای کانتینر
docker run -p 8000:8000 hybrid-retail-recommenderhybrid-retail-recommender/
├── Dataset/ # Raw dataset files (not in repo)
│ ├── events.csv
│ ├── item_properties_part1.csv
│ ├── item_properties_part2.csv
│ └── category_tree.csv
│
├── src/ # Core source code
│ ├── data/
│ │ ├── ingest.py # Data ingestion from CSV
│ │ └── preprocess.py # Preprocessing & matrix construction
│ │
│ ├── models/
│ │ ├── baseline.py # Popularity recommender
│ │ ├── collaborative.py # CF with matrix factorization
│ │ ├── content_based.py # TF-IDF content recommender
│ │ └── hybrid.py # Hybrid blend model
│ │
│ ├── evaluation/
│ │ ├── split.py # Train/test splitting
│ │ ├── metrics.py # Evaluation metrics (Precision, Recall, NDCG, MAP)
│ │ └── run_evaluation.py # Offline evaluation runner
│ │
│ └── utils/
│ └── io.py # I/O utilities (pickle, parquet)
│
├── service/ # FastAPI backend
│ ├── main.py # API endpoints & routes
│ ├── config.py # Service configuration
│ └── schemas.py # Pydantic models
│
├── ui/ # React frontend
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── api/ # API client
│ │ └── i18n/ # Translations (EN/FA)
│ └── package.json
│
├── notebooks/ # Jupyter notebooks
│ ├── 01_eda_retailrocket.ipynb # Exploratory data analysis
│ └── 02_offline_evaluation.ipynb # Evaluation results visualization
│
├── data/
│ └── processed/ # Processed artifacts
│ ├── events_clean.parquet
│ ├── user_item_interactions.npz
│ ├── user_mapping.pkl
│ ├── item_mapping.pkl
│ └── models/ # Trained models
│
├── results/ # Evaluation results
│ ├── model_comparison.csv
│ ├── summary.json
│ └── user_metrics.parquet
│
├── tests/ # Test suite
│ ├── test_models.py
│ └── test_service.py
│
├── configs/ # YAML configuration files
├── logs/ # API request logs
├── Dockerfile # Docker configuration
├── requirements.txt # Python dependencies
├── run.py # Combined backend + frontend runner
└── README.md # This file
-
Popularity Baseline
- Recommends most popular items based on interaction frequency
- Handles cold start scenarios
- Fast inference with minimal memory footprint
-
Collaborative Filtering (CF)
- Matrix factorization (ALS-style) for implicit feedback
- Configurable latent factors (default: 40)
- Regularization and iteration controls
-
Content-Based
- TF-IDF vectorization of item properties (name, category, etc.)
- Cosine similarity for item-to-item recommendations
- Handles new items without interaction history
-
Hybrid Recommender
- Linear combination:
score = α × CF_score + (1-α) × Content_score - Default alpha = 0.7 (tunable via config)
- Graceful fallback when CF unavailable (new users)
- Linear combination:
-
پایه محبوبیت
- پیشنهاد محبوبترین کالاها بر اساس فراوانی تعامل
- مدیریت سناریوهای cold start
- استنتاج سریع با حداقل استفاده از حافظه
-
فیلترینگ مشارکتی (CF)
- فاکتورگیری ماتریس (سبک ALS) برای بازخورد ضمنی
- عوامل نهفته قابل تنظیم (پیشفرض: 40)
- کنترلهای regularization و تکرار
-
محتوایی
- وکتورسازی TF-IDF از ویژگیهای کالا (نام، دسته، و غیره)
- شباهت کسینوسی برای توصیه کالا به کالا
- مدیریت کالاهای جدید بدون تاریخچه تعامل
-
پیشنهاددهنده هیبریدی
- ترکیب خطی:
امتیاز = α × امتیاز_CF + (1-α) × امتیاز_محتوایی - آلفای پیشفرض = 0.7 (قابل تنظیم از طریق config)
- سقوط محکم هنگام عدم دسترسی CF (کاربران جدید)
- ترکیب خطی:
The system evaluates models using industry-standard ranking metrics:
| Metric | Description | Formula Insight |
|---|---|---|
| Precision@K | Fraction of relevant items in top-K recommendations | relevant_in_topK / K |
| Recall@K | Fraction of all relevant items found in top-K | relevant_in_topK / total_relevant |
| NDCG@K | Normalized Discounted Cumulative Gain | Position-aware ranking quality |
| MAP@K | Mean Average Precision | Average of precision at each relevant item position |
Sample Results (on 38,178 users, K=10):
- Baseline: Precision@10 = 0.0007, Recall@10 = 0.0032, NDCG@10 = 0.0019
- CF: Precision@10 = 0.0012, Recall@10 = 0.0063, NDCG@10 = 0.0042
- Hybrid: Precision@10 = 0.0017, Recall@10 = 0.0088, NDCG@10 = 0.0071 ✨
سیستم مدلها را با استفاده از متریکهای استاندارد رتبهبندی ارزیابی میکند:
| متریک | توضیح | بینش فرمول |
|---|---|---|
| Precision@K | نسبت اقلام مرتبط در پیشنهادات برتر K | مرتبط_در_برتر_K / K |
| Recall@K | نسبت کل اقلام مرتبط یافتشده در برتر K | مرتبط_در_برتر_K / کل_مرتبط |
| NDCG@K | سود تجمعی تنزیلشده نرمالشده | کیفیت رتبهبندی آگاه از موقعیت |
| MAP@K | میانگین دقت متوسط | میانگین دقت در هر موقعیت آیتم مرتبط |
نمونه نتایج (روی 38,178 کاربر، K=10):
- پایه: Precision@10 = 0.0007, Recall@10 = 0.0032, NDCG@10 = 0.0019
- CF: Precision@10 = 0.0012, Recall@10 = 0.0063, NDCG@10 = 0.0042
- هیبریدی: Precision@10 = 0.0017, Recall@10 = 0.0088, NDCG@10 = 0.0071 ✨
You can use these user IDs in the UI to test recommendations:
286616- High interaction user (101+ interactions)820159- Active user (73+ interactions)350566- Regular user (45+ interactions)
میتوانید از این شناسههای کاربر در رابط کاربری برای تست پیشنهادات استفاده کنید:
286616- کاربر با تعامل بالا (101+ تعامل)820159- کاربر فعال (73+ تعامل)350566- کاربر عادی (45+ تعامل)
Health check endpoint.
Response:
{
"status": "ok",
"detail": "service is running"
}Get recommendations for a user.
Request Body:
{
"user_id": "286616",
"model": "hybrid",
"top_k": 10
}Available models: baseline, cf, hybrid, content
Response:
{
"user_id": "286616",
"model": "hybrid",
"top_k": 10,
"items": [
{"item_id": "12345", "score": 0.89},
{"item_id": "67890", "score": 0.85}
]
}Find similar items based on content.
Request Body:
{
"item_id": "12345",
"top_k": 5
}Response:
{
"item_id": "12345",
"top_k": 5,
"items": [
{"item_id": "67890", "similarity": 0.92},
{"item_id": "11111", "similarity": 0.87}
]
}Get item metadata.
Response:
{
"item_id": "12345",
"properties": {...},
"category": "..."
}Access Swagger UI at: http://localhost:8000/docs
دسترسی به رابط Swagger در: http://localhost:8000/docs
# Run all tests
pytest
# Run with coverage
pytest --cov=src --cov-report=html
# Run specific test file
pytest tests/test_models.py# اجرای همه تستها
pytest
# اجرا با پوشش
pytest --cov=src --cov-report=html
# اجرای فایل تست خاص
pytest tests/test_models.pyThe project follows Python best practices:
- Type hints throughout
- Docstrings (EN/FA bilingual)
- Modular design patterns
- Comprehensive error handling
پروژه از بهترین روشهای Python پیروی میکند:
- نکات نوع در سراسر
- Docstringها (دوزبانه EN/FA)
- الگوهای طراحی ماژولار
- مدیریت خطای جامع
Model and service parameters can be configured via YAML files in configs/:
model_cf.yaml- Collaborative filtering hyperparametersmodel_content.yaml- Content-based model settingshybrid.yaml- Hybrid blend weightsservice.yaml- API service configuration
پارامترهای مدل و سرویس را میتوان از طریق فایلهای YAML در configs/ تنظیم کرد:
model_cf.yaml- هایپرپارامترهای فیلترینگ مشارکتیmodel_content.yaml- تنظیمات مدل محتوا-محورhybrid.yaml- وزنهای ترکیب هیبریدیservice.yaml- پیکربندی سرویس API
Based on the RetailRocket dataset with user-level temporal train/test split:
| Model | Precision@10 | Recall@10 | NDCG@10 | MAP@10 |
|---|---|---|---|---|
| Baseline | 0.0007 | 0.0032 | 0.0019 | 0.0020 |
| Collaborative Filtering | 0.0012 | 0.0063 | 0.0042 | 0.0051 |
| Hybrid | 0.0017 | 0.0088 | 0.0071 | 0.0089 |
The hybrid model consistently outperforms individual approaches, demonstrating the value of combining collaborative and content-based signals.
📊 Performance Analysis:
-
Relative Improvement: Hybrid model achieves 140% better precision and 175% better recall compared to baseline
-
Absolute Values: While absolute metrics appear low, this is expected given the dataset characteristics:
- Extreme sparsity: 99.96% empty interactions (very challenging dataset)
- Scale: 38K+ users × 23K+ items = massive search space
- Limited interactions: Average ~8 interactions per user
- Cold-start challenge: Many new users and items in test set
-
Context: These results are typical for implicit feedback e-commerce recommenders on sparse datasets. The 2.4× improvement over baseline demonstrates the model's effectiveness.
💡 Production Perspective:
For real-world deployment, offline metrics should be complemented with:
- Business metrics: Click-through rate (CTR), conversion rate, revenue lift
- A/B testing: User engagement and satisfaction metrics
- Real-time monitoring: Latency, throughput, error rates
The low absolute precision values don't necessarily indicate poor performance—they reflect the difficulty of the task (predicting user preferences from minimal implicit signals among thousands of items).
بر اساس دیتاست RetailRocket با تقسیم زمانی سطح کاربر برای آموزش/آزمون:
| مدل | Precision@10 | Recall@10 | NDCG@10 | MAP@10 |
|---|---|---|---|---|
| پایه | 0.0007 | 0.0032 | 0.0019 | 0.0020 |
| فیلترینگ مشارکتی | 0.0012 | 0.0063 | 0.0042 | 0.0051 |
| هیبریدی | 0.0017 | 0.0088 | 0.0071 | 0.0089 |
مدل هیبریدی به طور مداوم از رویکردهای فردی بهتر عمل میکند و ارزش ترکیب سیگنالهای مشارکتی و محتوا-محور را نشان میدهد.
📊 تحلیل عملکرد:
-
بهبود نسبی: مدل هیبریدی 140% دقت و 175% یادآوری بهتر نسبت به پایه دارد
-
مقادیر مطلق: اگرچه متریکهای مطلق پایین به نظر میرسند، این انتظار با توجه به ویژگیهای دیتاست است:
- تنکی شدید: 99.96% تعاملات خالی (دیتاست بسیار چالشبرانگیز)
- مقیاس: 38K+ کاربر × 23K+ کالا = فضای جستجوی عظیم
- تعاملات محدود: میانگین ~8 تعامل به ازای هر کاربر
- چالش Cold-start: بسیاری از کاربران و کالاهای جدید در مجموعه آزمون
-
بستر: این نتایج برای پیشنهاددهندههای تجارت الکترونیک با بازخورد ضمنی روی دیتاستهای تنک معمول است. بهبود 2.4× نسبت به پایه، اثربخشی مدل را نشان میدهد.
💡 دیدگاه تولید:
برای استقرار در دنیای واقعی، متریکهای آفلاین باید با موارد زیر تکمیل شوند:
- متریکهای تجاری: نرخ کلیک (CTR)، نرخ تبدیل، افزایش درآمد
- تست A/B: متریکهای تعامل و رضایت کاربر
- نظارت بلادرنگ: تأخیر، توان عملیاتی، نرخ خطا
مقادیر پایین دقت مطلق لزوماً نشاندهنده عملکرد ضعیف نیست—این مقادیر سختی کار را منعکس میکنند (پیشبینی ترجیحات کاربر از سیگنالهای ضمنی کم در میان هزاران کالا).
AI Engineer / Data Scientist | Tehran, Iran
مهندس هوش مصنوعی / دانشمند داده | تهران، ایران
Results-driven AI Engineer and Data Scientist with 7+ years of experience designing and deploying scalable, data-driven solutions. Specialized in advanced machine learning, causal inference, recommendation systems, time-series forecasting, and NLP. Strong track record in building end-to-end ML pipelines, Generative AI applications, and production-grade intelligent systems.
مهندس هوش مصنوعی و دانشمند داده نتیجهمحور با بیش از 7 سال تجربه در طراحی و استقرار راهحلهای مقیاسپذیر و دادهمحور. متخصص در یادگیری ماشین پیشرفته، استنباط علی، سیستمهای پیشنهاددهنده، پیشبینی سری زمانی، و پردازش زبان طبیعی. سابقه قوی در ساخت خطوط لوله ML سرتاسری، برنامههای Generative AI، و سیستمهای هوشمند در سطح تولید.
- ✅ Recommendation Systems: Hybrid & Collaborative Filtering, Large-scale Recommenders
- ✅ Machine Learning: Deep Learning (TensorFlow, Keras), Model Explainability
- ✅ Production ML: End-to-end ML Pipelines, MLOps, Model Deployment
- ✅ NLP & LLMs: Transformers, Fine-tuning, RAG Architectures, Prompt Engineering
- ✅ Data Science: Time-Series Forecasting, Causal Inference, A/B Testing
- ✅ سیستمهای پیشنهاددهنده: فیلترینگ هیبریدی و مشارکتی، پیشنهاددهندههای مقیاس بزرگ
- ✅ یادگیری ماشین: یادگیری عمیق (TensorFlow, Keras)، قابلیت توضیح مدل
- ✅ ML تولیدی: خطوط لوله ML سرتاسری، MLOps، استقرار مدل
- ✅ NLP و LLM: Transformers، Fine-tuning، معماری RAG، مهندسی Prompt
- ✅ علوم داده: پیشبینی سری زمانی، استنباط علی، تست A/B
Current Role: Data Scientist at Daria Hamrah Paytakht (Jul 2024 – Present)
- Built large-scale hybrid recommender system (content-based + collaborative) enhanced with RFM-based personalization
- Developed LLM-powered call-center intelligence pipeline with speech-to-text and automated scoring
- Created enterprise RAG knowledge engine using hybrid retrieval and re-ranking
نقش فعلی: دانشمند داده در داریا همراه پایتخت (تیر 1403 – تاکنون)
- ساخت سیستم پیشنهاددهنده هیبریدی مقیاس بزرگ (محتوایی + مشارکتی) بهبود یافته با شخصیسازی مبتنی بر RFM
- توسعه خط لوله هوش مرکز تماس مبتنی بر LLM با تبدیل گفتار به متن و امتیازدهی خودکار
- ایجاد موتور دانش RAG سازمانی با استفاده از بازیابی هیبریدی و رتبهبندی مجدد
- 📧 Email: [email protected]
- 💼 LinkedIn: linkedin.com/in/mahdinavaei
- 💻 GitHub: github.com/MahdiNavaei
- 📊 Kaggle: kaggle.com/mahdinavaei
- 🏆 2nd place in Tehran Provincial AI Competition (2022)
- 🎓 Membership in Iran's National Elites Foundation
- 📜 Kaggle Notebooks Master
- 📄 Published research in Health Science Reports (Wiley), ICVPR, AMLAI
- 🏆 مقام دوم در مسابقه استانی هوش مصنوعی تهران (1401)
- 🎓 عضویت در بنیاد ملی نخبگان ایران
- 📜 استاد Notebooks در Kaggle
- 📄 انتشار تحقیقات در Health Science Reports (Wiley)، ICVPR، AMLAI
- RetailRocket for providing the e-commerce dataset
- Open-source community for excellent libraries and tools
- RetailRocket برای ارائه دیتاست تجارت الکترونیک
- جامعه متنباز برای کتابخانهها و ابزارهای عالی
⭐ If you find this project helpful, please consider giving it a star!
⭐ اگر این پروژه مفید بود، لطفاً به آن ستاره دهید!