rlirank-eval
RLIRank: Learning to Rank with Reinforcement Learning for Dynamic Search — Zhou et al. (2021) (arXiv:2105.10124, 2021)
What this evaluates
Evaluates a reinforcement learning framework for dynamic search ranking that adapts to evolving user intents over multiple search iterations using sequential feedback. It also benchmarks standard learning-to-rank performance on static datasets.
Datasets
- TREC 2016 Dynamic Domain — total ?; splits: test (-1)
- TREC 2017 Dynamic Domain — total ?; splits: test (-1)
- MQ2007 — total ?; splits: test (-1)
- MQ2008 — total ?; splits: test (-1)
Metrics
α-NDCG (primary) — range: [0, 1]
- Alpha-NDCG, a variant of NDCG that accounts for position bias and user stopping behavior in dynamic search.
nSDCG — range: [0, 1]
- Normalized Sequential Discounted Cumulative Gain, measuring ranking quality over sequential search iterations.
NDCG@k — range: [0, 1]
- Normalized Discounted Cumulative Gain at cutoff k (k=1,2,3,4,5), standard metric for static learning-to-rank.
Input / output format
Input: Query, document features, and sequential history of retrieved documents and user feedback across search iterations.
Output: Ranked list of documents for each query.
Scoring recipe
def score(predictions, gold, metric, k=None):
if metric == 'NDCG@k':
return ndcg_at_k(predictions, gold, k)
elif metric == 'α-NDCG':
return alpha_ndcg(predictions, gold)
elif metric == 'nSDCG':
return nscg(predictions, gold)
return mean([score(q_preds, q_gold, metric) for q_preds, q_gold in zip(all_preds, all_gold)])
Common pitfalls
- Confusing α-NDCG with standard NDCG; α-NDCG incorporates position bias and stopping probability.
- Failing to report per-iteration results for dynamic search datasets, which are crucial for evaluating adaptation.
- Using different NDCG cutoffs (k=1 to 5) without specifying which one is the primary metric.
Evidence (verbatim from paper)
Table 1: α-NDCG of baselines, and RLIRank on 2016 TREC Dynamic Domain dataset and nSDCG of ictnet-params2-ns, ictne-emulti, galago-baseline, dqn-5-actions, clip-baseline, and RLIRank on 2017 TREC Dynamic Domain dataset. ... Table 3: NDCG of RankSVM, ListNet, AdaRank-NDCG, MDP, and RLIRank on MQ2007 and MQ2008 dataset.
Citation
@misc{zhou2021rlirank,
title={RLIRank: Learning to Rank with Reinforcement Learning for Dynamic Search},
author={Zhou et al. (2021)},
year={2021},
note={arXiv:2105.10124}
}
1---2name: rlirank-eval3description: Evaluates a reinforcement learning framework for dynamic search ranking that adapts to evolving user intents over multiple search iterations using sequential feedback. It also benchmarks standard learning-to-rank performance on static datasets. Use when the user wants to benchmark on TREC 2016 Dynamic Domain, TREC 2017 Dynamic Domain, MQ2007, MQ2008, or asks about evaluating this task. Reports α-NDCG.4---56# rlirank-eval78> RLIRank: Learning to Rank with Reinforcement Learning for Dynamic Search — Zhou et al. (2021) (arXiv:2105.10124, 2021)910## What this evaluates1112Evaluates a reinforcement learning framework for dynamic search ranking that adapts to evolving user intents over multiple search iterations using sequential feedback. It also benchmarks standard learning-to-rank performance on static datasets.1314## Datasets1516- **TREC 2016 Dynamic Domain** — total ?; splits: test (-1)17- **TREC 2017 Dynamic Domain** — total ?; splits: test (-1)18- **MQ2007** — total ?; splits: test (-1)19- **MQ2008** — total ?; splits: test (-1)2021## Metrics2223- `α-NDCG` **(primary)** — range: [0, 1]24 - Alpha-NDCG, a variant of NDCG that accounts for position bias and user stopping behavior in dynamic search.25- `nSDCG` — range: [0, 1]26 - Normalized Sequential Discounted Cumulative Gain, measuring ranking quality over sequential search iterations.27- `NDCG@k` — range: [0, 1]28 - Normalized Discounted Cumulative Gain at cutoff k (k=1,2,3,4,5), standard metric for static learning-to-rank.2930## Input / output format3132**Input**: Query, document features, and sequential history of retrieved documents and user feedback across search iterations.3334**Output**: Ranked list of documents for each query.3536## Scoring recipe3738```python39def score(predictions, gold, metric, k=None):40 if metric == 'NDCG@k':41 return ndcg_at_k(predictions, gold, k)42 elif metric == 'α-NDCG':43 return alpha_ndcg(predictions, gold)44 elif metric == 'nSDCG':45 return nscg(predictions, gold)46 return mean([score(q_preds, q_gold, metric) for q_preds, q_gold in zip(all_preds, all_gold)])47```4849## Common pitfalls5051- Confusing α-NDCG with standard NDCG; α-NDCG incorporates position bias and stopping probability.52- Failing to report per-iteration results for dynamic search datasets, which are crucial for evaluating adaptation.53- Using different NDCG cutoffs (k=1 to 5) without specifying which one is the primary metric.5455## Evidence (verbatim from paper)5657> Table 1: α-NDCG of baselines, and RLIRank on 2016 TREC Dynamic Domain dataset and nSDCG of ictnet-params2-ns, ictne-emulti, galago-baseline, dqn-5-actions, clip-baseline, and RLIRank on 2017 TREC Dynamic Domain dataset. ... Table 3: NDCG of RankSVM, ListNet, AdaRank-NDCG, MDP, and RLIRank on MQ2007 and MQ2008 dataset.5859## Citation6061```bibtex62@misc{zhou2021rlirank,63 title={RLIRank: Learning to Rank with Reinforcement Learning for Dynamic Search},64 author={Zhou et al. (2021)},65 year={2021},66 note={arXiv:2105.10124}67}68```6970- arXiv: 2105.10124