TigreGotico/wikipron-restored-orthography
WikiPron with restored orthography A pinned mirror of every pronunciation scrape in CUNY-CL/wikipron, with a second orthography column holding the headword English Wiktionary actually displays. The defect WikiPron pairs a pronunciation with the English Wiktionary MediaWiki page title. For a number of languages the title is not the word the page displays, because the language's style policy keeps diacritics out of titles and puts them back only on the headword… See the full description on the dataset page: https://huggingface.co/datasets/TigreGotico/wikipron-restored-orthography.
WikiPron with restored orthography
A pinned mirror of every pronunciation scrape in CUNY-CL/wikipron, with a second orthography column holding the headword English Wiktionary actually displays.
The defect
WikiPron pairs a pronunciation with the English Wiktionary MediaWiki page title. For a number of languages the title is not the word the page displays, because the language's style policy keeps diacritics out of titles and puts them back only on the headword line. `Wiktionary:About Middle High German` states it plainly:
certain letters with diacritics (ë ā ē ī ō ū ȥ) are not used in article titles, but are used when displaying the word
this does not apply to the umlauted vowels ä, ö, ü, æ, œ, which are treated as separate letters and thus appear in titles like any other letter
The pronunciation still transcribes what the title threw away. A grapheme-to-phoneme system scored on those rows is asked to recover tone, vowel length or vocalisation from an input that no longer writes them, and the resulting error rate measures the input, not the system.
The recovery
restored_orthography holds the headword Wiktionary renders for that language, read from the MediaWiki API. Nothing is guessed:
- A page holds one section per language.
Adamrenders an EnglishAdamand an EweÁdàm. The wikitext is cut to the target==Language==section before any headword template is read, and the rendered headword is matched on itslangattribute. - A page with no headword override, no section for the language, or two headwords that disagree contributes an empty cell. One unpointed title often spells several distinct words —
abarendersabà,abá,àbaandàbá— and the row is refused rather than assigned a winner. - A restored form must differ from the title only in diacritics. If the base-letter spine changes, the cell stays empty.
An empty restored_orthography therefore means one of: the language was screened and is not affected, the language is affected but has not been restored yet, or the row was refused. The manifest says which.
Schema
orthography, restored_orthography, ipa, tab separated, one header row. Columns one and three are WikiPron's own two columns, byte for byte. File names are WikiPron's: <iso639-3>_<script>_<broad|narrow>, with a dialect segment where upstream carries one.
Consumers choose the column. Score orthography to reproduce a WikiPron number; score restored_orthography on the rows where it is filled to measure a system against an input that encodes the contrast.
Screen
Each language was screened once against Wiktionary:About <Language>, then checked against the data. A policy saying macrons never reach titles predicts zero macrons in the scraped orthography, and the count either bears that out or it does not.
Latin is why the second half is not optional. Its policy says the page name "should not contain diacritical marks", in almost the same words as Old English's, and yet the scraped Latin words carry 1.31 macrons per row against Old English's 0.00005. The disagreement was noticed by reading the two together, and Latin is recorded as not_affected on that basis. The build also enforces it: a confirmed verdict whose data carries the marks above a stray rate is downgraded automatically, so the next language like Latin does not depend on someone noticing.
A verdict is a snapshot against a live wiki, and the wiki moves. Mandarin is recorded no_policy_page, yet Wiktionary:About Mandarin redirects to Wiktionary:Chinese entry guidelines, which exists. That page describes no title/headword split, so the verdict stands, and the mismatch is what drift looks like: expect some no_policy_page to have grown a page since. This is the same reason the scrape itself is pinned — only the snapshot is stable.
Negative results are recorded on purpose. They are the reason nobody has to screen these languages again.
Snapshot
CUNY-CL/wikipron commit d282e848a211ea31cfd730f0ced8bc8cdab9e83d, dated 2026-07-23, path data/scrape/tsv. 543 files.
WikiPron publishes its scrapes on a branch it keeps editing, so a benchmark reading it directly cannot tell a system change from an upstream edit. Every file here is copied from that one commit and manifest.json records each file's upstream SHA-256, which is what makes a refresh a diff rather than a guess.
Screen verdicts and coverage
A confirmed language with no restored rows has not been run. “not attempted” in the table and restoration_attempted: false in manifest.json say so explicitly, because a language that was run and recovered nothing would mean a broken lookup, not an empty Wiktionary, and the two must not look alike. The build refuses to publish the second case.
Of the remaining languages, 164 have no Wiktionary:About <Language> page at all and 139 have one that says nothing about diacritics in titles. Absence of a policy is an answer too: there is no documented title/display split to recover, and their restored_orthography column is empty. manifest.json carries a verdict for every language, with the marks each policy names and how often they occur in the scraped words.
Limitations
Coverage is partial and always will be. Restoration costs one page render per word, so the largest affected languages are screened and recorded but not restored; their restored_orthography column is empty throughout, and the manifest marks them.
This is English Wiktionary only. It inherits WikiPron's own quality issues without correcting any of them — crowd-sourced transcriptions, uneven transcription traditions inside one language, and entries whose headword line and pronunciation line were written independently.
Two results are easy to over-read:
- Ewe restores to a near-zero error rate against a grapheme-to-phoneme system. Tone-marked Ewe spelling is very nearly a transliteration of its own phonemic transcription, so the row is easy rather than the system good.
- Middle High German gets worse after restoration. The restored input carries ⟨ë ā ē ī ō ū ȥ⟩, which the system tested had no rules for at all. A lossy input had been hiding a real gap: while the input never contained those letters, nothing could reveal they were unmapped.
Licence and attribution
The text is English Wiktionary content, licensed CC BY-SA 4.0, and this dataset carries the same licence. WikiPron's Apache 2.0 covers its scraper, not the scraped text. Attribute both English Wiktionary and CUNY-CL/wikipron.
