Evidence-Graph-Reranker / results /methodology.md
Angshul's picture
Upload 31 files
dd990bf verified
|
Raw History Blame Contribute Delete
6.19 kB

A newer version of the Gradio SDK is available: 6.31.0

Upgrade

Six-dataset benchmark methodology and measured findings

Exactly one selector

All six results here were scored with the same implementation of graph_arrays and graph_select from the four-dataset neural-only experiments. Public evidence_graph_reranker mirrors that code. There is no per-dataset preset. At inference, query and candidate text generate title/body edges and query/title matches, and every remaining item is scored by 0.4 × minmax(neural_relevance) + 0.5 × selected-to-candidate title reference + 0.2 × query/title match. The actual neural relevance scorer is either all-MiniLM-L6-v2 cosine or pretrained MS MARCO MiniLM-L6-v2 query–passage logits. The algorithm never reads gold labels.

The relevance backend is a separate choice, but the selector is identical. Note that the fixed coefficients originated during earlier methodological development; they were not newly tuned on the held-out samples in the unified rerun.

Complete evidence coverage, percentages

At budget k=3 (selected passages, not word/token count):

Dataset n Dense cosine MS MARCO Dense + graph MS MARCO + graph Gain vs MS MARCO
HotpotQA 600 50.67 60.83 74.83 80.50 +19.67 pp
2WikiMultiHopQA 600 34.17 44.50 68.33 70.17 +25.67 pp
MuSiQue 300 16.00 19.33 25.00 27.00 +7.67 pp
HoVer 300 47.33 57.00 73.33 72.67 +15.67 pp
MultiHop-RAG 300 11.67 13.67 11.67 13.67 +0.00 pp
QASC 300 5.33 13.00 5.33 13.00 +0.00 pp

Results for k=2,3,5,8 appear in six_dataset_results.csv; per-question outcomes for the original two are included.

CPU timing: separate pipeline stages

Dataset Crossencoder scorer (ms/q) Graph feature extraction + selection (ms/q)
HotpotQA 272.18 0.406
2WikiMultiHopQA 254.92 0.322
MuSiQue 538.67 0.662
HoVer 280.38 0.370
MultiHop-RAG 635.04 7.570
QASC 69.12 0.340

Timing caveat: the first two graph timings count construction plus four rankings; the other datasets' logs count graph operations within their evaluation loop. CPU hardware and batching are from the original benchmark runs, not normalized across experiments. Neural scorer timings exclude model startup; graph-only timings exclude neural scorer inference. It would be inaccurate to compare 0.4ms to the crossencoder's ~250ms as if the graph pipeline did not require neural relevance scores. The dense+graph pipeline is often much lighter because passage embeddings can be cached, but end-to-end full-pipeline timing requires matched test conditions.

Original two, unified-rerun integrity

  • HotpotQA: 600 held-out queries from 800 seeded HotpotQA distractor examples, first 200 excluded; original pool is 10 passages. Graph+crossencoder CEC@3 80.50%; crossencoder alone 60.83%. Paired 95% bootstrap CI for the +19.67 pp gain [16.17, 23.33].
  • 2WikiMultiHopQA: 600 held-out queries from 800 seeded 2Wiki validation examples, first 200 excluded; native candidate pool is 10 passages. Graph+crossencoder CEC@3 70.17%; crossencoder alone 44.50%. Paired 95% bootstrap CI for +25.67 pp [22.17, 29.33].
  • The graph selection and evaluation were rerun using exact 0.4/0.5/0.2 rules, with original MiniLM query/document vectors and pretrained MS MARCO query/passage logits loaded from previous completed CPU neural inference. We did not rerun the 12,000 neural pairs. The production package's ranking returned the exact same 1,200 top-8 orders as the experimental implementation in an explicit equality check.

Four additional datasets

  • MuSiQue: 300 seeded examples, ~20 native candidates per question; complete gold evidence present in pool; question-hop counts vary, so @2 is not always achievable. Frozen pretrained crossencoder logits reused from original neural experiment; dense embeddings recomputed for corrected run.
  • HoVer: 300 examples selected from 908 claims whose entire annotated evidence set could be matched to uploaded HotpotQA distractor passages. This is a restricted, gold-available conditional pool, not the full 4,000-claim validation benchmark.
  • MultiHop-RAG: 300 questions, MiniLM retrieval top20 from all 609 uploaded articles; no gold insertion. Only 51.67% have all required sources in top20. Graph boost at 3 passages is 0; at 5 it is +3pp. Exact title links were rare (~4%).
  • QASC: 300 questions, MiniLM top20 from 6,878 distinct annotated fact sentences (not QASC's full external background corpus), no gold insertion. 31.33% of top20 pools contain both gold facts. Sentences have no titles, so this particular graph rule reduces mathematically to independent neural ranking, causing zero gain.

Interpretation and limitations

  • The metric is complete annotated supporting-document/fact recovery at k, not answer accuracy, grounded generation, factual precision, or token-budget-normalized retrieval.
  • Gold is used to evaluate, not to score. In HoVer, and in the separate unpublished QASC controlled pool, gold availability matters in candidate pool construction.
  • The graph exploits explicit article title references; results on Wikipedia-derived candidate pools may overstate transfer to unstructured corpora.
  • This greedy rule has no proved submodular approximation guarantee.
  • Benchmarks have different candidate pools, n, and retrieval difficulty. Do not pool their percentages as if they were a common IID test set.

Reproduction pointers

Run pytest -q to check the public graph selector. The reproduce/ directory contains the original benchmark code with the same directory conventions as the experiment (/mnt/data); it requires the original datasets and user's downloaded pretrained weights separately. To regenerate benchmark neural scores, use the saved original scripts; to repeat the single-selector rerun from existing cached scores, invoke reproduce/unified_original_two_rerun.py in that original /mnt/data layout. The file snapshots here show the measured outputs; the benchmark source files are not silently included or redownloaded.