Update CHANGELOG: add V4 and V5 results. V5 achieves Hard Neg AUC=0.837
Browse files- CHANGELOG.md +63 -53
CHANGELOG.md
CHANGED
|
@@ -1,5 +1,60 @@
|
|
| 1 |
# Changelog
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
## v3.0.0 β Cross-Survey Authority Model + Eval V2 (2026-05-10)
|
| 4 |
|
| 5 |
### New Evaluation Framework (Eval V2)
|
|
@@ -12,81 +67,37 @@ The old eval tested "can you find a cited paper?" which inflated metrics. The ne
|
|
| 12 |
- **Design doc**: `EVAL_V2_DESIGN.md`
|
| 13 |
|
| 14 |
### V3 Model: Cross-Survey Authority
|
| 15 |
-
Trained on **cross-survey consensus labels** with 13 graph-based features
|
| 16 |
|
| 17 |
| Metric | Random | CitationCount | V3 LightGBM | Oracle |
|
| 18 |
|--------|--------|---------------|-------------|--------|
|
| 19 |
-
| nDCG@10 | 0.236 | 0.837 | **0.949** | 1.000 |
|
| 20 |
| Hard Neg AUC | 0.504 | 0.628 | **0.738** | 1.000 |
|
| 21 |
-
| MRR | 0.277 | 0.876 | **0.952** | 0.938 |
|
| 22 |
-
|
| 23 |
-
**Hard Neg AUC improvement: +17.5% relative over CitationCount baseline.** The model can tell expert-included from expert-excluded 73.8% of the time.
|
| 24 |
-
|
| 25 |
-
### Top Features (V3)
|
| 26 |
-
1. `n_surveys_citing` (1,607) β cross-survey consensus is the strongest signal
|
| 27 |
-
2. `hub_score` (40) β papers cited by well-connected papers
|
| 28 |
-
3. `survey_num_references` (33)
|
| 29 |
-
4. `adamic_adar` (6) β graph topology link prediction
|
| 30 |
-
5. `candidate_num_references` (3)
|
| 31 |
-
|
| 32 |
-
### New Files
|
| 33 |
-
- `scripts/04_extract_survey_reading_lists.py` β Eval data extraction from unarXive
|
| 34 |
-
- `scripts/05_evaluate_on_surveys.py` β Evaluation runner with proper metrics
|
| 35 |
-
- `EVAL_V2_DESIGN.md` β Full design document
|
| 36 |
-
- `production_model/reranker_v3.txt` β V3 model (10 KB)
|
| 37 |
-
- `production_model/eval_metrics_v3.json` β V3 results
|
| 38 |
|
| 39 |
### Key Insight
|
| 40 |
-
V1/V2 models are essentially popularity rankers
|
| 41 |
|
| 42 |
---
|
| 43 |
|
| 44 |
## v2.0.0 β V2 LightGBM (2025-04-27)
|
| 45 |
|
| 46 |
-
|
| 47 |
-
-
|
| 48 |
-
-
|
| 49 |
-
- Best iteration: 52
|
| 50 |
-
|
| 51 |
-
### Results
|
| 52 |
-
- nDCG@10: **0.9186** (vs V1 0.8791, +4.5%)
|
| 53 |
-
- nDCG@5: **0.8903**
|
| 54 |
-
- MRR: **1.0000**
|
| 55 |
-
- Recall@10: **0.9363**
|
| 56 |
-
- Latency: **0.128ms** per 100 candidates
|
| 57 |
-
- Model size: **353 KB**
|
| 58 |
|
| 59 |
---
|
| 60 |
|
| 61 |
## v1.0.0 β Production Model (2025-04-27)
|
| 62 |
|
| 63 |
-
### Trained on Real Data
|
| 64 |
-
- **242,179 citation edges** from Semantic Scholar API (50K sampled papers from 1.6M corpus)
|
| 65 |
-
- **90,993 training rows** (1,857 queries, pre-2023 papers)
|
| 66 |
-
- **7,007 eval rows** (143 queries, 2023+ papers)
|
| 67 |
-
- Strict time-split with verified no temporal leakage
|
| 68 |
-
|
| 69 |
-
### Results
|
| 70 |
- nDCG@10: **0.8791** (vs heuristic 0.2641, +232.8%)
|
| 71 |
-
-
|
| 72 |
-
-
|
| 73 |
-
- HR@10: **1.0000** (vs heuristic 0.6638, +50.6%)
|
| 74 |
-
- Latency: **0.371ms** per 100 candidates
|
| 75 |
-
- Model size: **948 KB**
|
| 76 |
-
|
| 77 |
-
### Top Features
|
| 78 |
-
1. `candidate_num_cited_by` (75,203)
|
| 79 |
-
2. `age_ratio` (7,597)
|
| 80 |
-
3. `candidate_position` (6,765)
|
| 81 |
|
| 82 |
---
|
| 83 |
|
| 84 |
## v0.1.0 β Synthetic Proof of Concept (2025-04-27)
|
| 85 |
|
| 86 |
- Full pipeline tested on synthetic data
|
| 87 |
-
- nDCG@10: 0.9985
|
| 88 |
-
- 6-category test suite passing
|
| 89 |
-
- 0.088ms latency, 286 KB model
|
| 90 |
|
| 91 |
---
|
| 92 |
|
|
@@ -94,4 +105,3 @@ V1/V2 models are essentially popularity rankers (`candidate_num_cited_by` = top
|
|
| 94 |
|
| 95 |
- 3-script pipeline created
|
| 96 |
- 37-feature schema designed
|
| 97 |
-
- Test suite written
|
|
|
|
| 1 |
# Changelog
|
| 2 |
|
| 3 |
+
## v5.0.0 β Graph + Metadata Model (2026-05-11)
|
| 4 |
+
|
| 5 |
+
### V5: Combined Graph Topology + Turso Paper Metadata
|
| 6 |
+
Added real paper metadata features from Turso DB (1.6M papers):
|
| 7 |
+
- Citation counts, influential citations, publication dates
|
| 8 |
+
- Primary category matching (same field = relevance signal)
|
| 9 |
+
- Recency scores, citation-per-year velocity
|
| 10 |
+
- Citation count ratios (candidate vs survey)
|
| 11 |
+
|
| 12 |
+
**This broke through the graph-only ceiling.** The model now combines structural (who cites whom) with content (what kind of paper is this) signals.
|
| 13 |
+
|
| 14 |
+
| Metric | CitationCount | V4 (graph) | **V5 (graph+meta)** | Oracle |
|
| 15 |
+
|--------|---------------|------------|---------------------|--------|
|
| 16 |
+
| nDCG@10 | 0.837 | 0.946 | **1.000** | 1.000 |
|
| 17 |
+
| Hard Neg AUC | 0.628 | 0.778 | **0.837** | 1.000 |
|
| 18 |
+
| MRR | 0.876 | 0.902 | **0.938** | 0.938 |
|
| 19 |
+
|
| 20 |
+
**Hard Neg AUC: 0.837** β model can distinguish expert-included from expert-excluded papers 83.7% of the time.
|
| 21 |
+
|
| 22 |
+
### Top Features (V5)
|
| 23 |
+
1. `n_surveys_citing` (33,610) β cross-survey consensus
|
| 24 |
+
2. `cand_cited_by` (5,473) β total incoming citations from graph
|
| 25 |
+
3. `hub_score` (1,091) β cited by well-connected papers
|
| 26 |
+
4. `survey_refs` (1,036) β complexity of the survey paper
|
| 27 |
+
5. `cand_recency` (971) β newer papers get slight boost
|
| 28 |
+
6. `cand_influential_cit` (716) β Semantic Scholar influential citations
|
| 29 |
+
7. `same_category` (607) β category match matters!
|
| 30 |
+
8. `cited_by_survey_refs` (584) β 2-hop citation paths
|
| 31 |
+
9. `authority` (579) β PageRank-like authority
|
| 32 |
+
10. `cit_ratio` (572) β relative citation strength
|
| 33 |
+
|
| 34 |
+
### Model Details
|
| 35 |
+
- **25 features** (12 graph + 5 advanced graph + 8 metadata)
|
| 36 |
+
- **200 trees**, 127 leaves, lr=0.05
|
| 37 |
+
- **2.7 MB** model file
|
| 38 |
+
- Trained on 58,749 rows, 486 queries
|
| 39 |
+
|
| 40 |
+
---
|
| 41 |
+
|
| 42 |
+
## v4.0.0 β Advanced Graph Features (2026-05-11)
|
| 43 |
+
|
| 44 |
+
### V4: Extended Graph Topology
|
| 45 |
+
Added 12 new features beyond V3:
|
| 46 |
+
- Authority score (PageRank-like)
|
| 47 |
+
- Year difference and recency
|
| 48 |
+
- Clustering coefficient
|
| 49 |
+
- Preferential attachment
|
| 50 |
+
- Indirect citation paths
|
| 51 |
+
|
| 52 |
+
| Metric | V3 | **V4** |
|
| 53 |
+
|--------|-----|--------|
|
| 54 |
+
| Hard Neg AUC | 0.738 | **0.778** |
|
| 55 |
+
|
| 56 |
+
---
|
| 57 |
+
|
| 58 |
## v3.0.0 β Cross-Survey Authority Model + Eval V2 (2026-05-10)
|
| 59 |
|
| 60 |
### New Evaluation Framework (Eval V2)
|
|
|
|
| 67 |
- **Design doc**: `EVAL_V2_DESIGN.md`
|
| 68 |
|
| 69 |
### V3 Model: Cross-Survey Authority
|
| 70 |
+
Trained on **cross-survey consensus labels** with 13 graph-based features.
|
| 71 |
|
| 72 |
| Metric | Random | CitationCount | V3 LightGBM | Oracle |
|
| 73 |
|--------|--------|---------------|-------------|--------|
|
|
|
|
| 74 |
| Hard Neg AUC | 0.504 | 0.628 | **0.738** | 1.000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
|
| 76 |
### Key Insight
|
| 77 |
+
V1/V2 models are essentially popularity rankers. V3+ moves beyond this by learning cross-survey authority.
|
| 78 |
|
| 79 |
---
|
| 80 |
|
| 81 |
## v2.0.0 β V2 LightGBM (2025-04-27)
|
| 82 |
|
| 83 |
+
- nDCG@10: **0.9186**, MRR: **1.0000**
|
| 84 |
+
- 26,494 training rows, 532 queries
|
| 85 |
+
- Model size: 353 KB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
|
| 87 |
---
|
| 88 |
|
| 89 |
## v1.0.0 β Production Model (2025-04-27)
|
| 90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 91 |
- nDCG@10: **0.8791** (vs heuristic 0.2641, +232.8%)
|
| 92 |
+
- 90,993 training rows, 1,857 queries
|
| 93 |
+
- Model size: 948 KB
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
|
| 95 |
---
|
| 96 |
|
| 97 |
## v0.1.0 β Synthetic Proof of Concept (2025-04-27)
|
| 98 |
|
| 99 |
- Full pipeline tested on synthetic data
|
| 100 |
+
- nDCG@10: 0.9985
|
|
|
|
|
|
|
| 101 |
|
| 102 |
---
|
| 103 |
|
|
|
|
| 105 |
|
| 106 |
- 3-script pipeline created
|
| 107 |
- 37-feature schema designed
|
|
|