File size: 2,038 Bytes
bfb1eb8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | # Changelog
## v1.0.0 β Production Model (2025-04-27)
### Trained on Real Data
- **242,179 citation edges** from Semantic Scholar API (50K sampled papers from 1.6M corpus)
- **90,993 training rows** (1,857 queries, pre-2023 papers)
- **7,007 eval rows** (143 queries, 2023+ papers)
- Strict time-split with verified no temporal leakage
### Results
- nDCG@10: **0.8791** (vs heuristic 0.2641 β +232.8%)
- nDCG@5: **0.8250** (vs heuristic 0.1819 β +353.6%)
- MRR: **0.8795** (vs heuristic 0.2906 β +202.7%)
- HR@10: **1.0000** (vs heuristic 0.6638 β +50.6%)
- Latency: **0.371ms** per 100 candidates (2.7Γ under 1ms budget)
- Model size: **948 KB**
### Key Features (by importance)
1. `candidate_num_cited_by` (75,203) β dominant signal
2. `age_ratio` (7,597)
3. `candidate_position` (6,765)
4. `cosine_x_citations` (2,383)
5. `qdrant_cosine_score` (2,353)
### Model Details
- LightGBM lambdarank, 500 rounds with early stopping at iteration 141
- 37-feature schema (26 active + 11 zero-filled user features)
- Heuristic baseline: qdrant_cosine_score as proxy for ewma_longterm_similarity
---
## v0.1.0 β Synthetic Proof of Concept (2025-04-27)
### Pipeline Validation
- Full 3-script pipeline tested end-to-end on synthetic data
- 6-category test suite: data quality, model learning, fair comparison, prod readiness, feature analysis, honest verdict
- All tests passed
### Synthetic Results
- nDCG@10: 0.9985 (vs heuristic 0.9111 β +9.6%)
- 91.4% per-query win rate vs heuristic
- 0.088ms latency, 286 KB model size
- Train-eval gap: 0.0008 (no overfitting)
---
## Pipeline Design (2025-04-27)
### Created
- `01_fetch_citation_edges.py` β S2 API batch + bulk download + checkpoint/resume
- `02_generate_training_triples.py` β Qdrant ANN + Turso metadata + time-split
- `03_train_lightgbm.py` β lambdarank training + heuristic comparison + latency benchmark
- `test_full_pipeline.py` β comprehensive 6-category test suite
- 37-feature schema designed spanning content, user behavior, and cross features
|