CoolFace
Datasetpublic

Somtharu181coder/student_enrolled_in_different_level_by_district_year

Nepali Grounded Education SFT Dataset Nepali-language ShareGPT-format supervised fine-tuning (SFT) dataset generated from a Ministry of Education enrollment dataset, with every question and answer deterministically templatized (no translator, no LLM, no API, no reward model in the generation loop) and separately audited for semantic grounding and correctness. Source Resource: Number of Students Enrolled in Primary and Secondary School By 75 Districts, 2003–2015… See the full description on the dataset page: https://huggingface.co/datasets/Somtharu181coder/student_enrolled_in_different_level_by_district_year.

sourceHugging Faceupdated 28d agoView on Hugging Face
0likes45downloads
Dataset Card

Nepali Grounded Education SFT Dataset

Nepali-language ShareGPT-format supervised fine-tuning (SFT) dataset generated from a Ministry of Education enrollment dataset, with every question and answer deterministically templatized (no translator, no LLM, no API, no reward model in the generation loop) and separately audited for semantic grounding and correctness.

Source

  • Resource: Number of Students Enrolled in Primary and Secondary School By 75 Districts, 2003–2015 BS
  • Domain: Ministry of Education
  • Original raw rows: 962 (74 district labels × 13 years, plus 13 national-total rows)

Contents

FileDescription
grounded_education_dataset_nepali_sft.jsonlFinal SFT dataset — 7,722 records
nepali_sft_templatizer_fixed.pyDeterministic generator script
audit_nepali_sft.pyIndependent semantic-grounding auditor + reward scorer
audit_results.jsonlPer-record audit verdict (question_type, issues, reward, passed)
audit_report.mdAggregate audit report (score tables, issue frequency)

Record format (ShareGPT)

json
{
  "id": "grounded_education_achham_2003_000001_v01",
  "conversations": [
    {"from": "human", "value": "वि.सं. २००३ मा अछाम जिल्लाका प्राथमिक विद्यालयमा कति विद्यार्थी भर्ना भएका थिए?"},
    {"from": "gpt", "value": "वि.सं. २००३ मा अछाम जिल्लाका प्राथमिक विद्यालयमा ४०५७८ विद्यार्थी भर्ना भएका थिए।"}
  ],
  "District": "Achham",
  "Year": "2003",
  "Primary": "40578",
  "Secondary": "2590",
  ...
}

Year-wise (all-district) records additionally carry aggregation_scope, aggregation_year, and district_count.

Composition

  • 7,592 district-level records — 73 real districts × 13 years × 8 question variants (primary fact, secondary fact, both-level total, difference, higher-enrollment level, lower-enrollment level, primary-vs-secondary comparison, direct combined calculation).
  • 130 year-wise records — 13 years × 10 question variants (highest/lowest district by primary, by secondary, and by combined total; national totals by primary, by secondary, and combined; primary-vs-secondary national difference).
  • All numerals are Devanagari (०-९); no ASCII digits remain in any conversation turn.

Data-quality corrections applied during generation

The raw file contained two defects that would have corrupted the dataset if left untouched. Both were fixed in the generator, not patched after the fact:

  1. 1.A national-total row mislabeled as a 75th district ("District": "Nepal", whose Primary/Secondary are the countrywide totals). Excluded from both per-district templatization and year-wise aggregation — leaving it in would have (a) generated a false claim calling Nepal itself a "जिल्ला," and (b) made "Nepal" trivially win every highest-enrollment question and double-count every national total.
  2. 2.A corrupted Year value (Myagdi, "Year": "200" instead of "2008", the only break in an otherwise unbroken 2003–2015 sequence for that district). Corrected before templatization so it did not create a spurious one-record "year 200" bucket.

Real districts still absent from this source file (not corrected, since there is no ground truth to correct them with): Baitadi, Dang.

Audit methodology

audit_nepali_sft.py re-derives every answer independently of the generator and checks it against ground truth:

  • District-level records: ground truth is the record's own Primary/Secondary fields; the answer's Devanagari numerals are extracted and compared to the correct primary/secondary/total/difference, and (for comparison-type questions) the claimed "which level is higher/ lower" direction is checked against the actual values.
  • Year-wise records: ground truth is recomputed from scratch from all district-level rows for that year present in the file itself (independent of whatever the generator computed) — totals, and the highest/lowest district by primary, secondary, and combined total, with the same tie-break rule (value, then district name) as the generator.
  • Structural checks: conversation shape, non-empty turns, correct from roles, no duplicate/missing IDs, no stray ASCII digits, correct Nepali district name usage.

This is a deterministic, rule-based auditor — no LLM judge, no reward model, no network calls — every score is traceable to a named failed check. The auditor was validated against a deliberately corrupted test batch (wrong numeric value, stray ASCII digit, duplicate ID, wrong winning district) and correctly flagged all four before being run on the real file.

Reward scoring

Each record gets a reward in [0.0, 1.0]: 1.0 minus the sum of penalty weights for every failed check (floored at 0.0). Factual/grounding mismatches and structural defects are weighted at 1.0 (a single one is enough to fail the record); digit-formatting and district-name-usage issues are weighted lower (0.30.4) as cosmetic-but-real defects.

Audit results (this file)

MetricValue
Total records audited7,722
Passed (reward = 1.0)7,722 (100.00%)
Failed0
Average reward1.0000
Non-district rows leaked into district-level set0

Every question type (all 8 district-level + all 10 year-wise variants) scored a 100% pass rate. See audit_report.md for the full per-type breakdown and issue-frequency table (empty, since no issues were found).

Known limitations

  • Source coverage is 73 of Nepal's 75 districts for this period — Baitadi and Dang are absent from the raw Ministry data itself.
  • Enrollment figures are as published by the source; no independent verification against a second source was performed (that is out of scope for a grounding audit, which checks generator-to-source consistency, not source-to-reality accuracy).