Methods and Applications
How to build and evaluate language technology for a family whose languages share much of their grammar but differ widely in data, tools and benchmarks. The book focuses on what is specific to Turkic: agglutinative morphology and vowel harmony, three major scripts, transfer between related languages, and building corpora, treebanks and benchmarks where few exist.
How does morphology affect a task? What changes when the script changes? Which knowledge transfers between related languages? Every chapter returns to them.
Each chapter pairs linguistic analysis with a hands-on section, most built on TurkicNLP 0.5.0. Exercises range from Unicode case-folding to training and evaluating models.
NLP researchers and practitioners, graduate students, and members of Turkic language communities. The code assumes intermediate Python and basic machine learning. Linguistic concepts are introduced as needed.
General NLP is covered briefly, with Jurafsky & Martin's Speech and Language Processing as the companion. Johanson's Turkic is the linguistic reference throughout.
Every chapter opens straight in the online book. Start with the Preface or the publication details.
The practical sections use TurkicNLP: transliteration in Chapter 3, Apertium transducers in Chapter 6, neural analysers and the morpheme tokenizer in Chapter 7, UD parsing in Chapter 8, tagging and NER (including the LLM backend) in Chapter 9, NLLB in Chapter 10 and Omnilingual ASR in Chapter 11. Install it once and follow along.
import turkicnlp
nlp = turkicnlp.Pipeline("kaz")
doc = nlp("Мен мектепке бардым.")
print(doc.to_conllu())
The book's source lives at github.com/turkic-nlp/book. For typos, factual errors, broken code or examples in your language, please make a pull request there. For larger suggestions, open an issue first so we can discuss it.
Sherzod Hakimov. Natural Language Processing Across Turkic Languages: Methods and Applications. Version 0.1.0, 2026. DOI: 10.5281/zenodo.23324599
@book{hakimov2026turkicnlpbook,
title = {Natural Language Processing Across
Turkic Languages: Methods and Applications},
author = {Sherzod Hakimov},
year = {2026},
version = {0.1.0},
doi = {10.5281/zenodo.23324599},
url = {https://github.com/turkic-nlp/book}
}
Unless otherwise noted, the text and figures are licensed under CC BY-SA 4.0.
Program code in the book's repository (code/, scripts/, filters/, and the Python and notebook code in exercises/, experiments/ and tables/) is licensed under Apache 2.0.
AI tools helped with drafting, editing, code review, bibliography checks and the cover artwork. The author reviewed, corrected and checked all AI-assisted material by hand. Details are in the Preface.