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.
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 withorig_idx,q_orig,q_new,a,status,attemptssft—messages: [user q_new, assistant a], drop-in fortrain_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"for1: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-itvia OpenRouter (temp 0.3, retry at 0.7) - Cost: ~$7 for 240k source rows
- Generator:
scripts/gen_wp_reword.py+ reject filterscripts/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.
