agbalu/KabLiterary
KabLiterary A 28,907-paragraph, 657,713-word corpus of classical world literature in canonical Kabyle Latin orthography, from the AƔBALU project. Eleven works — translated or originally composed in Kabyle — spanning epic poetry, gothic fiction, philosophical prose, folktales, military strategy, and 19th-century novels. The corpus is designed for language modelling, vocabulary probing, fine-tuning, and literary translation benchmarking where long-form, high-register Kabyle text… See the full description on the dataset page: https://huggingface.co/datasets/agbalu/KabLiterary.
KabLiterary
A 28,907-paragraph, 657,713-word corpus of classical world literature in canonical Kabyle Latin orthography, from the AƔBALU project.
Eleven works — translated or originally composed in Kabyle — spanning epic poetry, gothic fiction, philosophical prose, folktales, military strategy, and 19th-century novels. The corpus is designed for language modelling, vocabulary probing, fine-tuning, and literary translation benchmarking where long-form, high-register Kabyle text is required.
from datasets import load_dataset
ds = load_dataset("agbalu/KabLiterary")
# DatasetDict({
# 'train': Dataset(27619),
# 'dev': Dataset(352),
# 'test': Dataset(936)
# })Splits
Split boundaries are at the book level. No paragraph from a dev or test book appears in train.
Corpus Inventory
Isefra n Si Mohand u Mhand is the single original Kabyle work — oral poetry transcribed by Mouloud Mammeri and not derived from any source language. All other works are machine-translated from the source editions listed above.
Schema
Every record shares a fixed rectangular schema:
source_text is populated only for works where line-level alignment was preserved during translation — The Art of War, The Prophet, and Isefra n Si Mohand u Mhand. For the longer prose novels, paragraphs were batched during translation and source_text is empty.
Usage
Default splits
from datasets import load_dataset
dataset = load_dataset("agbalu/KabLiterary")
print(dataset["test"][4]["text"])
# 'Tella Alice tebda teɛya aṭas seg akken teqqim ɣer tama n uletma-s...'Filtering by work or genre
from datasets import load_dataset
train = load_dataset("agbalu/KabLiterary", split="train")
# French 19th-century novels only
french_novels = train.filter(
lambda row: row["book_id"] in ("le-comte-de-monte-cristo", "les-miserables")
)
print(f"{len(french_novels):,} paragraphs, {sum(french_novels['word_count']):,} words")
# Records with 1-to-1 source alignment
parallel = train.filter(lambda row: len(row["source_text"]) > 0)
print(f"{len(parallel):,} line-level parallel records")Full plain-text books
All 11 works are included in the repository's books/ directory:
git clone https://huggingface.co/datasets/agbalu/KabLiterary
ls KabLiterary/books/
cat KabLiterary/books/the-prophet.txtCuration
Translation
The ten translated works were produced by NLLB-based machine translation and subjected to a multi-stage quality pass before inclusion:
- Repetition pruning. 276+ beam-search generation loops were detected and removed across all ten texts. No tail-degenerate paragraph survives in any split.
- Heading localisation. Residual French chapter headings in Les Misérables and other works were translated into standard Kabyle Latin (e.g. L'évêque travaille → Aselway ixeddem, L'Alouette → Tiwiziwt).
- Source-language artifact removal. Any paragraph retaining a title or quotation in English or French was re-translated or manually corrected to Kabyle.
Orthography
All text is normalised to AƔBALU canonical Kabyle Latin orthography (ɣ ɛ ḥ ḍ ṣ ṭ ẓ ṛ č ǧ). A census across all 28,907 records confirmed:
- zero Greek epsilon homoglyphs (
εU+03B5) - zero soft hyphens (
\u00ad) - NFC normalisation throughout
HTML entities (" and variants) were repaired to standard punctuation during the quality pass.
Known Limitations
- Machine-translated syntax. Ten of eleven works are machine-translated. The text is fluent and orthographically correct, but phrase-level structure carries influence from the French or English source. No human post-editing was performed beyond the artifact and heading corrections described above.
- No 1-to-1 paragraph alignment in prose novels. Longer works (Monte-Cristo, Les Misérables, Dracula, The Arabian Nights) were translated with multi-sentence batching. Paragraph boundaries do not map to individual source sentences.
- Archaic and specialised vocabulary. Works such as Confessions of Saint Augustine and The Odyssey require theological and classical vocabulary that has no established Kabyle equivalent. The translations use loan-adapted morphological frames; the decisions are internally consistent but not reviewed against a Kabyle lexicographic standard.
- Single source edition per work. Each translation was produced from one source edition. Variant readings, abridgements, or multi-edition differences were not considered.
Reproduction
make release-kabliteraryThe dataset is assembled by tools.build_kabliterary from the verified texts in artifacts/translations/ and data/documents/.
Citation
@misc{agbalu_kabliterary,
title = {KabLiterary: A 657K-Word Corpus of Classical Literary Translations in Kabyle},
author = {AƔBALU},
year = {2026},
url = {https://huggingface.co/datasets/agbalu/KabLiterary}
}Licence
CC-BY-SA-4.0. Source texts are public domain (Project Gutenberg and digitised archives). Translations and the assembled dataset are produced by the AƔBALU project under CC-BY-SA-4.0. Attribution is required; derivative datasets must carry the same licence.
Part of AƔBALU, a Kabyle NLP corpus and model suite.
