CoolFace
Datasetpublic

jensjepsen/danish-word-problems-reworded-v1

Danish Word Problems — Reworded v1 Natural-language rewrites of the questions in jensjepsen/danish-word-problems-v2, generated by google/gemma-3-12b-it via OpenRouter. The assistant answers (recipe-style solution chains) are kept verbatim — only the question is rewritten to strip artificial cues like "Vi går baglæns gennem procentregningen" and to phrase the problem in natural GSM8K-style Danish. Why wp-v2's questions carry heavy recipe cues ("Vi går baglæns"… See the full description on the dataset page: https://huggingface.co/datasets/jensjepsen/danish-word-problems-reworded-v1.

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes21downloads
Dataset Card

Danish Word Problems — Reworded v1

Natural-language rewrites of the questions in jensjepsen/danish-word-problems-v2, generated by google/gemma-3-12b-it via OpenRouter. The assistant answers (recipe-style solution chains) are kept verbatim — only the question is rewritten to strip artificial cues like "Vi går baglæns gennem procentregningen" and to phrase the problem in natural GSM8K-style Danish.

Why

wp-v2's questions carry heavy recipe cues ("Vi går baglæns", "Multiplikatoren er", parenthetical (75% af den største andel), etc.). Trained models fail on real GSM8K-style prompts that arrive without those cues. This dataset bridges the surface-form gap: the model gets to see the same recipe solutions paired with natural-language questions.

Size and configs

  • —207,312 rows (from 240,000 wp-v2 inputs; ~86% first-pass yield after regex filter)
  • —default — full rows with orig_idx, q_orig, q_new, a, status, attempts
  • —sft — messages: [user q_new, assistant a], drop-in for train_sft_packed.py

Filter applied

Regex-based check on every rewrite: number preservation (digit ↔ Danish word 0-12), fraction/ratio equivalence tolerance, derived-intermediate tolerance, ordinal-N. exclusion, meta-response detection. Retry-once on failure at higher temperature.

Rows with status = "ok" (first-pass pass, 195,961 rows) or "ok_retry" (recovered on retry, 11,351 rows) are included. Rejects (32,688) and api-fails excluded.

Known caveats

The regex filter is set-based on numeric tokens. It reliably catches:

  • —Missing/added numbers
  • —Recipe-cue leaks
  • —Bad length or format
  • —English bleed

It does not catch structural semantic drift where numbers happen to match:

  • —Fraction vs ratio conflation ("en tredjedel" for 1:3)
  • —Connector-word changes ("hver gruppe har X" → "grupperne har X tilsammen")
  • —Role/name-to-number swaps
  • —Silent question inversion

Spot-check on a hard-pattern audit suggests roughly 10-15% of rows contain subtle semantic drift the filter didn't catch. Model still trains well on this data because the recipe-answer signal is strong, but a stricter LLM-based judge pass could be applied downstream for a cleaner subset.

Provenance

  • —Source: jensjepsen/danish-word-problems-v2 (sft:train)
  • —Rewriter: google/gemma-3-12b-it via OpenRouter (temp 0.3, retry at 0.7)
  • —Cost: ~$7 for 240k source rows
  • —Generator: scripts/gen_wp_reword.py + reject filter scripts/smoke_wp_rephrase.py:check()

Suggested use

Include alongside — not replacing — the original wp-v2 in the SFT mix. The two datasets share the same answers but differ in question surface, giving the model both recipe-style and natural-style question exposure.