domofon/Document-XML-100k
Document-XML-100k Noisy/unstructured text to semantically tagged XML. 118K pairs for fine-tuning document markup models. Splits Split Rows Description verified 79,067 Content-exact: byte-level match between input text and XML text content. Zero information loss guaranteed. good 38,916 High quality (word overlap >= 85%, well-formed XML, no HTML tags) but with minor whitespace normalization. What's the difference? Both splits are… See the full description on the dataset page: https://huggingface.co/datasets/domofon/Document-XML-100k.
Document-XML-100k
Noisy/unstructured text to semantically tagged XML. 118K pairs for fine-tuning document markup models.
Splits
What's the difference?
Both splits are well-formed XML with high content fidelity. The good split differs only in:
- Whitespace normalization:
\nin input became a space in XML (text wrapped into<paragraph>tags) - Double newlines collapsed:
\n\nbetween paragraphs became a single space inside tags - Quote normalization: occasional leading/trailing quotes dropped during structural markup
These are normal consequences of XML structuring. The model correctly identified paragraph boundaries and wrapped text in tags, which inherently normalizes whitespace. For most fine-tuning tasks, both splits are equally usable.
Fields
Core XML Tags
document, section, heading(level), paragraph, list(type), item, table, row, cell, code(lang), quote, aside(role), link(href), dl, dt, dd, figure, figcaption, cite, time(datetime), address, strong, em, note, data(value), kbd, mark, ins, del
Stats
- Languages: EN 72%, RU 28%
- Schemas: 554 unique (1 core + 553 custom)
- Sources: FineWeb-2 EN/RU, CommonCrawl, Wikipedia
- Teacher models: 98% Gemma-4-31B-it, 2% Qwen3.5-9B
- Well-formed XML: 100% (filtered)
- Content overlap >= 95%: 97%+
Usage
from datasets import load_dataset, concatenate_datasets
ds = load_dataset("domofon/Document-XML-100k")
# Use both splits for training
train = concatenate_datasets([ds["verified"], ds["good"]])
# Or strict-only
train = ds["verified"]Generation
Distilled from Gemma-4-31B-it and Qwen3.5-9B running on a TPU fleet (v5e/v6e). Source documents from FineWeb-2 and Wikipedia, converted to XML with automated verification (well-formedness, content preservation, schema adherence, HTML tag rejection).
