jensjepsen/esperanto-boolq-questions
esperanto-boolq-questions BoolQ questions (train + validation, 12,697 rows) translated from English to Esperanto by jensjepsen/eo-mt-v13-large-bidir, with round-trip quality metadata for filtering. Row schema field description orig_idx original BoolQ row index (train first, then validation) split source split (train / validation) en_orig raw BoolQ question (lowercase, no ?, as in google/boolq) en_preproc preprocessed input fed to MT: spaCy… See the full description on the dataset page: https://huggingface.co/datasets/jensjepsen/esperanto-boolq-questions.
esperanto-boolq-questions
BoolQ questions (train + validation, 12,697 rows) translated from English to Esperanto by `jensjepsen/eo-mt-v13-large-bidir`, with round-trip quality metadata for filtering.
Row schema
Quality distribution
Round-trip fail-rate (LaBSE cos_sim thresholds):
Recommended filter for downstream use: `cos_sim >= 0.85` keeps ~97% of rows and drops the catastrophic tier where semantic meaning was lost. cos_sim >= 0.90 (~89% kept) is a stricter alternative for high-quality-only use.
Why round-trip
The primary use is quality-scored EO translations of BoolQ questions. The back-translation isn't there to "double-check" (MT round-trips often introduce spurious drift), it's there to give a per-row LaBSE similarity score that flags catastrophically-bad forward translations without needing EO annotators. cos_sim correlates strongly with "the EO translation is faithful" — 3% of rows fall below 0.85 and those are mostly pop-culture titles / brand names / idioms that MT couldn't preserve (see en_orig at low cos_sim).
Preprocessing rationale
BoolQ questions are stored as lowercase fragments without terminal punctuation. Feeding them raw to MT causes two problems:
- Named entities miss capitalization, so
elena,hyundai,instagramget translated as common nouns. - v12 (
eo-mt-v12-bidir) had a specific failure mode where capitalized-fragment-no-terminal-punct inputs collapsed to memorized KDE/GNOME UI labels (@ info: whatsthis->& Resize). v13 fixed this via OPUS-100 cleanup.
The spaCy recase + ? suffix restores proper casing on entities (Instagram, Hyundai, John Wick) and matches the training-data distribution.
Reproduce
from datasets import load_dataset
ds = load_dataset("jensjepsen/esperanto-boolq-questions", split="train")
# Keep only high-quality translations
clean = ds.filter(lambda r: r["cos_sim"] >= 0.85)Original BoolQ: google/boolq. Translation script: roundtrip_boolq_scored.py
