Cover of Natural Language Processing Across Turkic Languages: Methods and Applications, by Sherzod Hakimov
Free online book · Version 0.1.0

Natural Language Processing Across Turkic Languages

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.

17 chapters 4 appendices Exercises in every chapter TurkicNLP practicals CC BY-SA 4.0
❓

Three recurring questions

How does morphology affect a task? What changes when the script changes? Which knowledge transfers between related languages? Every chapter returns to them.

🧪

Linguistics plus practice

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.

🎓

Who it's for

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.

📚

Companion texts

General NLP is covered briefly, with Jurafsky & Martin's Speech and Language Processing as the companion. Johanson's Turkic is the linguistic reference throughout.

Table of contents

From the language family to the resource frontier

Every chapter opens straight in the online book. Start with the Preface or the publication details.

Built with the toolkit

Run every practical yourself

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.

$ pip install "turkicnlp[all]"
import turkicnlp

nlp = turkicnlp.Pipeline("kaz")
doc = nlp("Мен мектепке бардым.")
print(doc.to_conllu())
Corrections & suggestions

Found a mistake? Please open a pull request

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.

Cite the book

Citation

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}
}

License

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.