Bayanat Labs Arabic-Latin Name Variants
Muhammad, Mohammed, Mohamed, Muhammed: an Arabic name reaches Latin script in many spellings, and a name-screening or search system that knows only one of them misses the rest. This dataset collects the spellings attested in the Wikidata JSON dump of 26 October 2026 for more than one and a half million people, places and organisations, labels each Arabic-Latin name pair as transliteration, mixed or translation/exonym, aligns the names word by word and groups the spellings of each Arabic name word: 236,025 Latin spellings of 144,875 words, among them 73 spellings of محمد (Muhammad). A name-matching test set of 5,000 matching and 5,000 hard non-matching pairs from held-out entities comes with four baselines; the pairs are built by rules from Wikidata, not labelled by people. Data under CC0 1.0, derived from Wikidata; a static lookup page and the code are public.
| Licence | CC0 1.0 (data, derived from Wikidata); CC BY 4.0 (page text); Apache-2.0 (code) |
|---|---|
| Version | v0.1.0 · Built from the Wikidata JSON dump of 26 October 2026; the code is tagged v0.1.0 on GitHub and is not on PyPI. |
| Published | |
| Updated | |
| Who it is for | Teams that match names across Arabic and Latin script in name screening, record linkage or search, build entity linking or pronunciation lexicons, or test name matchers. |
| Level | Intermediate |
Key numbers
Counted by script from the released files. Each key number is read from meta/stats.json, meta/bench_results.json or meta/sample_check_summary.json of the Hugging Face dataset at revision ceb1906e957768dbd36f21bf53ec8230eaebaaf3 and pinned to its SHA-256; percentages are computed from those files and rounded to one decimal place. MANIFEST.json lists every file with its size and SHA-256.
Downloads and identifiers
| Where | What |
|---|---|
| Hugging Face | Dataset on Hugging Face |
| Hugging Face | Lookup page |
| GitHub | Code on GitHub |
| Hugging Face | Lookup page in Arabic |
| huggingface.co | Counts (meta/stats.json) |
| huggingface.co | Baseline results (meta/bench_results.json) |
| huggingface.co | Sample check summary (meta/sample_check_summary.json) |
| huggingface.co | File list with sizes and SHA-256 (MANIFEST.json) |
| GitHub | Method |
| bayanatlabs.com | Arab-World Wikidata Slice, behind the arab_world scope |
| bayanatlabs.com | arabic-normalize, the policy behind the normalised Arabic |
Get started
Load a config with the datasets library. The code installs from GitHub at the v0.1.0 tag; the package is not on PyPI.
from datasets import load_dataset
tokens = load_dataset("Bayanat-Labs/arabic-latin-name-variants", "token_variants", split="train")
pairs = load_dataset("Bayanat-Labs/arabic-latin-name-variants", "entity_variants", split="train")
clusters = load_dataset("Bayanat-Labs/arabic-latin-name-variants", "clusters", split="train")
bench = load_dataset("Bayanat-Labs/arabic-latin-name-variants", "name_matching_bench", split="test")
pip install "arabic-latin-name-variants @ git+https://github.com/Bayanat-Labs/arabic-latin-name-variants@v0.1.0"
arabic-latin-name-variants lookup "محمد" --release path/to/downloaded/dataset
What is released
| Part | Licence | In this release |
|---|---|---|
| entity_variants (Parquet): Arabic names paired with Latin names of the same entity, labelled transliteration, mixed or translation/exonym, with a similarity score, the word alignment and the buckwalter, ala_lc and din_31635 fields; ala_lc is filled only when a matching romanisation is attested or derivable from vowel marks | CC0 1.0 | Yes |
| token_variants (Parquet): for each Arabic name word, its Latin spellings with the number of entities and languages behind each, a rank and a spelling-style tag | CC0 1.0 | Yes |
| clusters (Parquet): each Arabic full name with all its Latin spellings across entities | CC0 1.0 | Yes |
| name_matching_bench (Parquet): matching and hard non-matching Arabic-Latin pairs from held-out entities, with the results of four baselines | CC0 1.0 | Yes |
| Counts, baseline results and sample check in meta/, with the file list and checksums | CC0 1.0 | Yes |
| Code on GitHub: dump stream, name filters, relation labels, alignment, spelling tables and baselines | Apache-2.0 | Yes |
| Static lookup page on Hugging Face Spaces, in English and Arabic: its code | Apache-2.0 | Yes |
| Spelling data in the lookup page | CC0 1.0 | Yes |
| Text of this record and of the lookup page | CC BY 4.0 | Yes |
| IBM Plex Sans Arabic font in the lookup page (SIL Open Font License 1.1) | SIL Open Font License, copyright IBM Corp. | Yes |
Attribution: Arabic-Latin Name Variants by Bayanat Labs. Derived from Wikidata (CC0 1.0). https://huggingface.co/datasets/Bayanat-Labs/arabic-latin-name-variants
Intended uses
- Expand a name in search, or match a name across scripts in name screening and record linkage, with the Latin spellings attested for each Arabic name word.
- Test an Arabic-Latin name matcher on the name_matching_bench pairs and compare it with the four baselines.
- Support entity linking and pronunciation lexicons with the labelled pairs and the word alignment.
Out of scope
- Treating a name match as proof that two records are the same person: many people share a name, and the tables hold spellings, not identities.
- Reading a name string as a fact about a person: name strings are written by Wikidata editors, and some that read as descriptions or statements may remain.
- Reading counts as how often a spelling is used in a population: they describe Wikidata.
Rights at a glance
Training, display, redistribution and synthetic-voice use are separate permissions.
| Use | Status | Note |
|---|---|---|
| Training | Allowed | CC0 1.0, derived from Wikidata. The limitations below cover people's names. |
| Display | Allowed | CC0 1.0; the release credits its source as derived from Wikidata. |
| Redistribution | Allowed | Data under CC0 1.0, code under Apache-2.0, page text under CC BY 4.0, the lookup page's font under the SIL Open Font License. The Bayanat Labs name and logo are not licensed under any of these. |
| Synthetic voice | Not applicable | No audio. |
Limitations
- Sample precision: this is a separate check by Bayanat Labs on random samples, and the judgements are Bayanat Labs' own reading, not a review by native speakers. We read 300 entity_variants rows drawn at random, half from each scope, and judged whether the Latin name renders the sounds of the Arabic name (transliteration), does so only for part of the name, with the rest translated, extra or missing (mixed), or is a translation, an exonym or another name (translation or exonym). Of the 123 rows labelled transliteration, 120 were transliterations (precision 97.6%); of the 121 labelled mixed, 103 were mixed (precision 85.1%; 15 of the others are translations or other names, 3 are full transliterations); of the 56 labelled translation_exonym, 47 had no transliteration relation (precision 83.9%). We also read 300 multi-word names drawn at random, half from each scope, whose alignment feeds the token tables: 290 were aligned correctly in every word pair (96.7%). The judged rows are in meta/sample_check.jsonl, and the summary in meta/sample_check_summary.json.
- The test-set pairs are built by rules from Wikidata, not labelled by people. Matching pairs are rows the relation filter labelled transliteration, and that filter uses the same consonant-skeleton similarity, which favours that baseline at one in a hundred. At one in a thousand the threshold rests on a few high-scoring non-matching pairs, so the skeleton's recall at that rate is unstable. The spelling-table lookup is built without the held-out entities but still benefits from common name words they share with the others.
- Wikidata over-represents public figures, and English and other Western European spellings dominate (English 18.7%, eight Western European language codes 88.6% of language labels on Latin name rows). Counts describe Wikidata, not how often a spelling is used in a population.
- An ala_lc value exists for 2.7% of Arabic names; most are Latin names in macron and underdot letters that may follow IJMES, BGN/PCGN or another system and are not verified as ALA-LC.
- People's names are personal data in many jurisdictions even when public. For people the release holds the QID, class, countries and name strings from Wikidata. Name strings are written by Wikidata editors; strings that read as descriptions or statements about a person are removed by rule, and some may remain. Report any to hello@bayanatlabs.com.
- For people who may be alive (latest possible birth year of nineteen hundred or later, or none known) a name pair is kept only when the two strings read as the same name; this also removes many real names, such as nicknames, translated names and full names with a middle name: 847,342 pairs, 20.4% of people's pairs.
- Columns on a person's row: qid, scope, entity_class, countries, ar_text_raw, ar_text_norm, ar_langs, ar_kinds, buckwalter, ala_lc, ala_lc_origin, din_31635, latin_text_raw, latin_fold, latin_langs, latin_kinds, method_qids, relation, skeleton_sim, token_alignment, alignment_score and lastrevid. lastrevid is the Wikidata revision number of the item in the dump, not data about the person.
- People who may be under eighteen are left out. The rule needs a birth date or a birth year in a description; 42,133 people have neither and could not be tested. Requests to remove an entry: hello@bayanatlabs.com.
Sources and licences
| Source | Licence | Redistributed here |
|---|---|---|
| Wikidata JSON dump of 26 October 2026 (wikidata-20261026-all.json.gz) | CC0 1.0 (Wikidata structured data) | Yes |
| Arab-World Wikidata Slice, built from the same dump, for the arab_world scope | CC0 1.0; used to mark items tied to Arab League states | No |
| arabic-normalize, policy bayanat-norm-v1, for the normalised Arabic | Apache-2.0; used to build the normalised column, not included | No |
The names come only from the Wikidata JSON dump of 26 October 2026, read once as a stream from an official Wikimedia mirror (Academic Computer Club, Umeå University) with the Bayanat Labs open-data user agent, and never stored; the checksums computed during the read match the ones Wikimedia publishes for the file. Scope, string rules, the relation filter, the alignment and the benchmark are set out on the dataset card and in the repository's method section. Source details
How to cite
Cite as:
Bayanat Labs (2026). Arabic-Latin Name Variants, version 0.1.0 (Wikidata JSON dump of 2026-10-26). Bayanat Labs. https://huggingface.co/datasets/Bayanat-Labs/arabic-latin-name-variants
No DOI. Cite the URL in the citation above and the date you read it.
@misc{bayanatlabs2026arabiclatinnamevariants,
author = {{Bayanat Labs}},
title = {Arabic-Latin Name Variants, version 0.1.0 (Wikidata JSON dump of 2026-10-26)},
year = {2026},
month = nov,
howpublished = {\url{https://huggingface.co/datasets/Bayanat-Labs/arabic-latin-name-variants}}
}
Changelog
| Date | Version | Change |
|---|---|---|
| v0.1.0 | Built from the Wikidata JSON dump of 26 October 2026: name pairs, spelling tables, full-name clusters and a name-matching test set on Hugging Face; static lookup page on Hugging Face Spaces; code on GitHub. |
Corrections and removal requests
If something in this release should not be there, or is wrong, email hello@bayanatlabs.com. We handle removal requests within 30 days, and platform requests within 24 hours. How removal requests work
Related product: Bayanat Search