|
Download README.md from Kim-el/fever-ner: direct link, hf CLI and curl.
- Browser
- Download file 1.78 kB
-
https://huggingface.co/Kim-el/fever-ner/resolve/main/README.md
- Command line
-
hf download hf://Kim-el/fever-ner/README.md
-
curl -L -o README.md https://huggingface.co/Kim-el/fever-ner/resolve/main/README.md
1.78 kB
| # FEVER Benchmark — Controlled Retrieval Evaluation | |
| A frozen, reproducible benchmark for testing retrieval methods on the BEIR FEVER dataset. | |
| ## Quick Start | |
| ```python | |
| from fever_benchmark import FEVERBenchmark | |
| bench = FEVERBenchmark() | |
| # Load the BM25 top-100 pool | |
| pool = bench.load_pool("beir_pool.json") | |
| # Re-rank with your method | |
| my_rankings = {} | |
| for qid, docs in pool.items(): | |
| # docs is [(docid, bm25_score), ...] | |
| # Replace with your scores: | |
| my_rankings[qid] = [(docid, your_score(docid, qid)) | |
| for docid, _ in docs] | |
| # Sort descending by score | |
| my_rankings[qid].sort(key=lambda x: -x[1]) | |
| # Evaluate | |
| results = bench.evaluate(my_rankings) | |
| print(f"NDCG@10: {results['ndcg@10']:.4f}") | |
| # Compare against baselines | |
| bench.verify_reproduction({"Your Method": results["ndcg@10"]}) | |
| ``` | |
| ## What's Included | |
| | File | Description | | |
| |---|---| | |
| | `beir_pool.json` | BM25 top-100 pool (k1=1.2, b=0.75) — 6,666 queries | | |
| | `fever_benchmark.py` | Benchmark evaluation class | | |
| | `setup_fever_benchmark.py` | Regenerate pool from scratch | | |
| | `query_deltas.csv` | Per-query NDCG@10 for all Hadith variants | | |
| | `benchmark_manifest.md` | Frozen configuration and checksums | | |
| ## Baseline Scores | |
| | System | NDCG@10 | | |
| |---|---| | |
| | BM25 (k1=1.2, b=0.75) | 0.5214 | | |
| | MiniLM Dense | 0.6497 | | |
| | Dense + Muttafaq (best Hadith) | 0.6461 | | |
| To verify reproduction: run your rankings through `bench.evaluate()` and check against these numbers. | |
| ## Setup from Scratch | |
| ```bash | |
| python setup_fever_benchmark.py | |
| ``` | |
| This downloads BEIR FEVER (~3.3 GB), builds the Pyserini index (~6 min), and runs BM25 retrieval (~7 min). | |
| ## Requirements | |
| - Python 3.8+ | |
| - `pyserini>=0.14.0` | |
| - Java 11+ (for Pyserini/Lucene) | |
| ## License | |
| Same as BEIR FEVER — research use. | |