Skip to main content

uzbek_morph — Rule-based morphological analyzer for the Uzbek language

Python Version License: MIT

Author: Ulugbek Salaev Model Page: 🌐 http://uzmorph.uz/models/uzbek_morph

uzbek_morph is a high-precision hybrid morphological analyzer and lemmatizer for the Uzbek language. It features a rule-based engine and a corpus of 145,844 unique surface forms.


🌟 Key Features

  1. 📏 Rule-Based Analysis Engine:

    • Step-by-step affix stripping using linguistic and morphophonemic rules to accurately extract canonical lemmas for out-of-vocabulary words.
  2. 📚 Extensive Vocabulary Coverage (145,844+ Unique Forms):

    • Comprehensive grammatical and lexical coverage across Nouns, Verbs, Adjectives, Adverbs, Pronouns, Numerals, and Conjunctions.
  3. 🔄 Morphophonemic Sound Change Rules:

    • Consonantal Lenition:
      • g' ➔ q: qulog'im ➔ quloq, tarmog'i ➔ tarmoq, qobig'ida ➔ qobiq
      • g ➔ k: eshigim ➔ eshik, yuragida ➔ yurak, bilagidan ➔ bilak
    • Vowel Syncope / Elision:
      • burni ➔ burun, shahrimizga ➔ shahar, qornida ➔ qorin, ko'nglimiz ➔ ko'ngil, og'zidan ➔ og'iz
  4. 🔗 Compound & Auxiliary Verb Contextual Parser:

    • Intelligent rule chain for Uzbek converb (-ib/-b) + auxiliary verb constructions (uxlab oldi, aytib keldi, yozib berdi, kulib yubordi), disambiguating auxiliary verbs like oldi into olmoq (verb) rather than noun or adjective.
  5. 👤 Pronoun & Numeral Paradigms:

    • Complete inflected personal/demonstrative pronouns (menga, senga, unga, bunga, shunga, bunda, shunda, bundan, shundan) and numerals (birinchi, ikkinchi, ikkala, uchala).
  6. ⚡ Flexible & Unified API (analyze):

    • Single analyze() entry point that seamlessly processes single words, compound phrases, or complete sentences.

📦 Installation

pip install uzbek_morph

💻 Usage Code Snippets

1. Quickstart (Default Tabular Display):

import uzbek_morph

# Single Word:
uzbek_morph.analyze("kitoblarimizga")

# Compound Phrase:
uzbek_morph.analyze("uxlab oldi")

# Full Sentence:
uzbek_morph.analyze("Men kecha go'zal shahrimizga kitob sotib olgani bordim")

2. Programmatic Data Processing:

Set print_result=False to receive a list of structured dictionaries without printing the console table:

from uzbek_morph import analyze

data = analyze("Men kecha go'zal shahrimizga bordim", print_result=False)

for item in data:
    print(f"Word: {item['word']} | Lemma: {item['lemma']} | Tag: {item['tags']} | Source: {item['source']}")

📄 License & Author

Author: Ulugbek Salaev Distributed under the MIT License.


Note: Data schema adheres to UniMorph morphosyntactic specifications.

Metadata

Release files for uzbek-morph 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for uzbek-morph 1.0.0
File Interpreter ABI Platform Actions
uzbek_morph-1.0.0-py3-none-any.whl Python 3 none any Details for uzbek_morph-1.0.0-py3-none-any.whl

Release files / uzbek_morph-1.0.0-py3-none-any.whl

Download URL uzbek_morph-1.0.0-py3-none-any.whl
Size 729.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3be9a2d757cf77bbb5e8fc01a62cdd62b8c2084e9693c28f9a7c76cc9ba248f5
BLAKE2b-256 checksum
How to use checksums
140aefe6daad36228d300f4ea2d70c4678685319203e3bc3c976e75a3d40698b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.0

Security for uzbek-morph 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page