Кыргызча текст нормализатор TTS системасы үчүн / Kyrgyz text normalizer for TTS systems
Project description
kyrgyz-normalizer
Кыргызча текст нормализатор — TTS системасы үчүн.
Сандарды, даталарды, убакытты, акча бирдиктерин, аббревиатураларды жана башка форматтарды кыргыз тилинде сөзгө айландырат.
Орнотуу / Installation
pip install kyrgyz-normalizer
Колдонуу / Usage
from kyrgyz_normalizer import normalize
normalize("2024-жылы 15 км жол курулду")
# → "эки миң жыйырма төртүнчү жылы он беш километр жол курулду"
normalize("Баасы 1500 сом")
# → "Баасы бир миң беш жүз сом"
normalize("01.02.2024")
# → "эки миң жыйырма төртүнчү жыл биринчи февраль"
normalize("Саат 12:30да башталат")
# → "Саат он эки отузда башталат"
normalize("КР Президенти БУУнун жыйынында")
# → "кыргыз республикасы Президенти бириккен улуттар уюмунун жыйынында"
KyrgyzTextNormalizer классы
from kyrgyz_normalizer import KyrgyzTextNormalizer
normalizer = KyrgyzTextNormalizer()
normalizer.number_to_words(2024) # "эки миң жыйырма төрт"
normalizer.number_to_ordinal(5) # "бешинчи"
normalizer.roman_to_number("XIV") # 14
normalizer.decimal_to_words("3,14") # "үч бүтүн жүздөн он төрт"
CLI
# Бир текстти нормализациялоо
kyrgyz-normalizer "Баасы 1500 сом"
# Интерактивдүү режим
kyrgyz-normalizer
Мүмкүнчүлүктөр / Features
| Категория | Мисал | Жыйынтык |
|---|---|---|
| Сандар | 2024 |
эки миң жыйырма төрт |
| Иреттик сандар | 3-класс |
үчүнчү класс |
| Даталар | 01.02.2024 |
эки миң жыйырма төртүнчү жыл биринчи февраль |
| Убакыт | 12:30да |
он эки отузда |
| Акча | 1500 сом |
бир миң беш жүз сом |
| Өлчөм бирдиктери | 100 км/ч |
жүз километр саатына |
| Пайыздар | 15,5% |
он беш бүтүн ондон беш пайыз |
| Кыргызча аббревиатуралар | КР, БУУ |
кыргыз республикасы |
| Англисче аббревиатуралар | IT, GPS |
ай ти, жи пи эс |
| Телефон номерлери | +996 555 123 456 |
плюс тогуз тогуз алты ... |
| Римские цифры | XXI кылым |
жыйырма биринчи кылым |
| Математика | 5+3=8 |
беш кошуу үч барабар сегиз |
| Ондук бөлчөктөр | 3,14 |
үч бүтүн жүздөн он төрт |
| Сингармонизм | суффикстер | кыргыз тилинин үндөшүүк закону |
Тесттер / Tests
Долбоор 1019 тест менен текшерилген (1000 параметрленген + 19 unit/regression):
pip install pytest
pytest tests/ -v
============================= 1019 passed in 0.35s =============================
Тесттер tests/test_data.txt файлында сакталган — ар бир категория үчүн ~50 тест-кейс.
Долбоордун структурасы / Project Structure
kyrgyz-normalizer/
├── src/kyrgyz_normalizer/
│ ├── __init__.py # Public API: normalize(), KyrgyzTextNormalizer
│ └── normalizer.py # Негизги нормализатор классы
├── tests/
│ ├── test_normalizer.py # pytest тесттери (1019 тест)
│ └── test_data.txt # Тест маалыматтары (1000 кейс)
├── pyproject.toml
├── LICENSE # MIT
└── README.md
Лицензия / License
MIT — LICENSE
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kyrgyz_normalizer-0.2.1.tar.gz.
File metadata
- Download URL: kyrgyz_normalizer-0.2.1.tar.gz
- Upload date:
- Size: 17.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea58884f49ed2ccf9dd90992a04ba33f1afd518fcf418d2ca7640c910bbc5c9f
|
|
| MD5 |
127123291676c5045dce3d92de8c183a
|
|
| BLAKE2b-256 |
3e591dfb7de54c687c0ffa4f5f68c6d172df362b774cd42e67ef20280c63ba91
|
File details
Details for the file kyrgyz_normalizer-0.2.1-py3-none-any.whl.
File metadata
- Download URL: kyrgyz_normalizer-0.2.1-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8a0f52f6ba652be2e581c2c0edba290814ba9ba30046cb41e64288f8ba7da5a
|
|
| MD5 |
c65f1ac8da9a2dbcf8f3be1feff16bb8
|
|
| BLAKE2b-256 |
570f0cf815bd6b15d39a856bffdbe4fe6b71639282ed60412609b08626b9d58b
|