← Siddharth GaurResume

indic-reg-bench: a benchmark for Indian regulatory documents

An open benchmark for document understanding on SEBI enforcement orders: five tasks, a harness and a HuggingFace dataset. The harness works. The gold set does not exist yet, so there are no scores, and nothing here is a placeholder number.

Bar chart of SEBI enforcement orders by year, 2004 to 2026: all 11,957 listed orders against the 2,000-order benchmark sample, which follows the same shape.
All 11,957 listed SEBI orders by year (light) vs the 2,000-row benchmark sample, seed 42 (dark).

Problem

  • LLM evaluation suites for regulatory and financial documents are US and EU centric. Indian orders differ structurally: SEBI Act charging provisions, digit grouping where 35,00,000 means 3.5 million, and penalty phrasing that matches no Western template.
  • Orders quote the noticee’s own settlement pleas in phrasing identical to the ruling, so the obvious extraction is often wrong.

Approach

  • Task design came from 25 real orders and was then re-verified against 2,006 fetched documents.
  • Two fields were cut for being regex-solvable. If a regex solves it, it isn’t a task.
  • The split is temporal, cut at 2023, because a regulatory system is built on past orders and run on new ones. Table-scrambled orders are 1.7% of train and 16.1% of test.
  • No overall score is produced: the tasks measure different things, and averaging hides which one a system failed. Cost and latency are reported next to accuracy.
  • Model-made labels are marked “not a benchmark result”, and the leaderboard stays gold-only.

What failed, and the tradeoffs

  • Multi-hop was cut from v1 on the evidence of 25 documents, and that decision was wrong. Across the full 10,827-order listing, 250 entities recur across unrelated matters. It is reinstated for v1.1.
  • The gold-set target was 400–600 and is now 200: labelling is restricted to the test split, which holds 408 usable orders.
  • The rupee sign extracts as a backtick from a quarter of these PDFs. In 10.4% of them it is the only currency marker, and those documents matched no currency pattern at all: they returned nothing rather than an error.
  • One regulator, one document type, English only, single annotator. Agreement is self-agreement across two passes, so it is an upper bound on reliability.

Where it stands

  • Gold set: 0 of a target 200 labelled, so baseline scores are blocked and the leaderboard is empty by design.
  • 11,957 orders listed on HuggingFace, a 2,000-order sample with seed 42, and a harness with 82 tests passing in CI (2 skipped).
  • Measured before any label: a naive first-amount extractor disagrees with the operative paragraph in 48.6% of comparable orders (567 of 1,166), and 18.3% of adjudications impose no monetary penalty.

Stack

  • Python
  • HuggingFace Datasets
  • PDF parsing
  • Evaluation
  • GitHub Actions

Links

Next: QueryPilot: natural language to SQL →