KO
|
EN
gitlite — search
Search
#javascript
#python
#hacktoberfest
#react
#ai
#typescript
#llm
#go
#golang
#android
#machine-learning
#rust
#deep-learning
#linux
kyrgyz_tili
★ 8
Open GitHub ↗
Kyrgyz language word forms generator
Download README (.md)
Explore Similar Repositories
cube-transition-example
:
No description available.
raku-Algorithm-LibSVM
:
A Raku bindings for libsvm
logreg
:
Logistic regression algorithms
svelte-chat
:
No description available.
I2C
:
A i2C APB CORE MASTER AND SLAVE ASIC IP
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
kyrgyz_tili
?
Download (.md)
Тесты [](http://travis-ci.org/MasterAlish/kyrgyz_tili) # Кыргыз тили ### Генератор словоформ кыргызского языка Здесь собраны множество правил и алгоритмов генерации слов кыргызского языка и реализованы на языке Python 3. С помощью данного проекта было сгенерировано около 1 000 000 словоформ из 12 000 корневых слов. Эти слова используются для проверки правописания кыргызского языка на сайте http://orfo.kg. В будущем планируется создать [FST(Finite-State Transducer)](http://cl.indiana.edu/~md7/13/545/slides/03-fst/03a-fst-2x3.pdf) используя эти правила и сгенерированные слова. С помощью FST можно будет генерировать, проверять правописание и определять его свойства. #### Введение Мүчө(mucho) - суффикс Все суффиксы кыргызского языка добавляются в конец слова и меняются в зависимости от последнего слога слова. Например суффикс -лар, который используется для построения множественного числа, может иметь следующие формы: * -дар, -дор, -дөр, -дер * -лар, -лор, -лөр, -лер * -тар, -тор, -төр, -тер * китеп + тер (книги) * алма + лар (яблоки) Зависимость формы суффиксов от слова приблизительно одинаковая у всех суффиксов: * От типа согласной буквы в конце слова * От типа гласной буквы в последнем слоге Перед началом склонения слова, определяются его свойства. В частности: *тип согласной буквы в конце слова* и *тип гласной буквы в последнем слоге*. После изучения множества суффиксов, в каждом измерении я выделил по 4 возможных значения и получил такую матрицу с примерами подходящих слов: | **согл\гл** | аы | оу | еи | өү | |---------------|:-------------|------------|------------|--------------:| | **-** | тараза, казы | бозо, козу | теке, тиги | бөлө, бөрү | | **лмн** | тан, кыл | жол, сум | жем, ким | көл, түн | | **рй** | ыр, ай | тор, уй | кий, тер | көйгөй, бүчүр | | **пктш..** | таш, кыш | тоок, куш | бет, кит | төш, сүт | Используя матрицу с примерами слов можно составить матрицу форм для каждого суффикса. Например для суффикса -лар будет следующая матрица: | **согл\гл** |аы |оу |еи |өү | |---------------|:------------|----------|----------|-------------| | **-** |-лар |-лор |-лер |-лөр | | **лмн** |-дар |-дор |-дер |-дөр | | **рй** |-лар |-лор |-лер |-лөр | | **пктш..** |-тар |-тор |-тер |-төр | Теперь, после определения свойства любого слова, можно выбрать для него соответсвующую форму суффикса из таблицы. Например: **китеп** - согласная буква в конце: п (твердая, 4 строка), гласная буква в последнем слоге: e (3 столбец). По адресу 4 строка, 3 столбец находится форма **-тер**. Получится **китеп+тер**. Таким образом, для всех суффиксов предоставлены их таблицы форм. ## Использование Примеры использования внутренних классов можно посмотреть в тестах. Добавлена SQLite БД с 12665 словами, у которых указана часть речи. Используя эти данные можно сгенерировать правильные словоформы. #### Подготовка окружения Для запуска подойдет любая версия [Python](https://www.python.org/downloads/) выше 3.1. Чтобы проверить версию вашего Python, запустите следующую команду: ```shell python --version ``` Также необходимо установить необходимые Python пакеты командой: ```shell pip install -r requirements.txt ``` #### Запуск Команда для генерации всех возможных словоформ слова: ```shell python generator.py [слово] ``` Например, команда: ```shell python generator.py адам ``` выведет такой список: ```shell адам адамдардын адамдарга адамдарды адамдарда адамдардан адамдын адамга адамды ... еще 110 форм ``` Если не указывать параметры, сгенерируется список всех возможных форм всех слов из БД: ```shell python generator.py ```