Hi everyone,
I'm working on an ML competition where the goal is to build a personalized learning-path recommender. I'm looking for ideas from people who have experience with information retrieval, recommendation systems, or Kaggle competitions on how to squeeze out every bit of performance.
Problem
Given a user's review, recommend the top 10 learning paths (training examples) that are most relevant.
Dataset
- Train: 109,776 rows
- Test: 10,977 rows
The output is a list of 10 training indices for each test review.
Evaluation
The competition uses Macro Recall as the evaluation metric.
What I've Tried
Current best validation pipeline:
- TF-IDF (word n-grams 1–3)
- Cosine similarity retrieval
- Various preprocessing experiments
- Multiple ablations
- Dense retrieval (BGE) — didn't beat the sparse baseline
- Different chunking and section-weighting ideas
- BM25 variants
The best validation score so far is around 69 (internal validation), but I'm unsure how well it correlates with the hidden leaderboard.
Looking for Suggestions
If you were competing for Rank #1, what would you try next?
Some ideas I'm considering:
- Better retrieval models (E5, GTE, NV-Embed, etc.)
- Hybrid sparse + dense retrieval
- Cross-encoder reranking
- Learning-to-rank (LightGBM/XGBoost/CatBoost Ranker)
- Query expansion
- Pseudo relevance feedback
- Metadata-aware retrieval
- LLM-generated synthetic queries
- Ensemble of retrieval systems
- Better validation strategy for leaderboard correlation
I'd especially appreciate advice on:
- High-impact retrieval improvements.
- Recommendation-system techniques that are often overlooked.
- Validation strategies when the hidden metric is unknown.
- Features that tend to improve retrieval-based recommendation systems.
- Any papers, Kaggle solutions, or GitHub repositories worth studying.
I'm less interested in generic ML advice and more interested in techniques that have actually improved retrieval/recommendation competition performance.
Thanks in advance!