Разработка алгоритмов морфологического анализа словоформ каракалпакского языка


Download 82.53 Kb.
bet3/3
Sana09.09.2022
Hajmi82.53 Kb.
#803326
TuriКурсовая
1   2   3
Bog'liq
Курсобаяа работа

Процедурный подход. В процедурных методах каждое слово разделяется на основу слова и цепочку основ аффиксов. Для этого используются словари основ слов и основ аффиксов. Основной критерий при разбиении слова на основу и аффикс: основа должна оставаться неизменной во всех возможных словоформах данного слова, кроме глаголов у которых нужно отбросить последнюю букву „у‟, „ю‟. Поскольку большое количество слов каракалпакского языка использует одни и те же аффиксы, то суммарный объем словаря основ и словаря аффиксов оказывается значительно меньше, чем объем полного словаря всех сочетаний аффиксов, используемого в декларативных методах. Однако процедура морфологического анализа усложняется: теперь из словаря основ необходимо поочередно выбирать все основы, совпадающие с начальными буквами анализируемого слова и для каждой такой основы перебирать все возможные для нее аффиксы. В случае точного совпадения очередного варианта „основа+аффикс1+аффикс2...‟ с анализируемым словом вариант анализа считается успешным, и в программу передается морфологическая информация, соответствующая данной основе и донному аффиксу. При этом, как правило, постоянные морфологические параметры определяются основой слова, а переменные – аффиксом.
Гибридный подход. Из-за особенности морфологии агглютинативных языков нами было предложено использовать преимущество двух подходов: декларативного и процедурного метода. Для процессора важнейшими свойствами являются скорость анализа входной последовательности символов и компактность. Эти характеристики особенно важны для анализатора при обработке больших объемов текста.
На первом этапе используется декларативный метод анализа словоформ, и в случае положительного результата анализ данной словоформ прекращается. В противном случае
Рис. 2
Словоформа передается для дальнейшего разбора в модуль, использующий процедурный подход (рис.2).
Алгоритм морфологического анализа.
В практической части данной работы я попытался изучить морфологический анализ каракалпакского языка с помощью языка программирования python.
Мы был предложен следующий алгоритм морфологического анализатора каракалпакских словоформ для процедурного метода.
Шаг 1. Текстовый файл подается на вход лексического анализатора. Текст разбивается на предложения. Из предложения выделяются слова, которые подаются на вход морфологического анализатора.
Шаг 2. Из цепочки слов выбирается в цикле слово.
Шаг 3. Проверяется слово в словаре основ. Если слово непризнанный, то переходим к шагу 2.
Шаг 4. Слово побуквенно считывается справа налево. Полученное слово ищется в словаре основ слов. Если слово найдено, то остаток слова считается аффиксальным соединением. В найденном слове считываем часть речи.
Шаг 5. Выбираем распознающий автомат, соответствующий части речи обнаруженного слова в словаре. Если автомат не распознал окончание, то продолжаем разбор слова – шаг 4.
Шаг 6. Проверка окончания на соответствии законам сингармонизма. Если проверку не прошел, продолжаем разбор слова – шаг 4. Если проверку прошел, то записываем грамматическую характеристику словоформы.
Шаг 7. Если все слова прошли разбор, то выход их программы. Если нет, то шаг 2.
Пробовал программировать на питоне по алгоритму выше. Мы знаем, что в каракалпакском языке 12 групп слов и 6 падеж. Я попытался сделать их в представлении ниже, чтобы идентифицировать и разделить их.
После загрузки файла в текст песня отправляет его в функцию Analiz(). Эта функция (рис. 3) перенаправляет слова следующим функциям для проверки слов в файле по одному.
Рис.3
Слова из функции Analiz() принимаются функциями fun_atliq(), Kelbetlik_f(), Hareket_f(), Baylanis_f(), Jagday_f().
Функция fun_atliq() сразу идентифицирует слово, если оно находится в именительном падеже (Ataw sepligi), или передает его ему для определения, к какому падежу (seplikke) оно принадлежит, если к нему добавлен суффикс (рис.4).
Функция Qosimta() определяет, в каком падеже (seplik) стоит слово, а также в единственном и множественном числе (рис.5). Для этого вызовает функции Koplik() и Seplik().

Рис.4
Функция Qosimta() вызывает Koplik() и Seplik(), если к слову добавлен суффикс, и функцию суффикса, если к нему добавлен только суффикс падежей (рис.5).
Рис. 5
Функция Seplik() определяет в каком падеже стоит слово (Рис.6)


Рис. 6
Функция Koplik() определяет, ли слово в связке или в единственном числе (рис.7).
Рис. 7
Функция Kelbetlik_f() определяет признаки качество слов (рис. 8).

Рис. 8
Функция Hareket_f() идентифицирует действие и местоимение (рис. 9). На каракалпакском языке местоимение добавляется ​​в действие.

Рис. 9
Функция Baylanis_f() определяет связ между словами (рис.10).


Рис. 10
Функция Jagday_f() определяет состояние движений (рис.11).

Рис. 11

Выводы
В данной курсовой работе я изучил морфологический анализ каракалпакского языка. При этом я показал отличия каракалпакского языка, даже если каракалпакский язык похож на тюркские языки, и проанализировал алгоритмы морфологического анализа. В будущем я хочу более тщательно изучить эту работу и довести ее до уровня большого научного труда.

Список литературы

  1. Steven Bird, Ewan Klein, Edward Loped, Jason Baldrige. Multidisciplinary instruction with the Natural Language Toolkit / InProceeding of the 3-d Workshop on Is. In Teach. Computat. Ling. (TeachCL 08). Association for Computational Linguistics, Stroudsburg, PA, USA, 2008. P. 62-70.

  2. Игорь Ножов. Морфологическая и сентаксическая обработка текста (модели и программы), тезисы диссертации. 2003.

  3. E. Berdimuratov, Q. Allanazarov, G. Patullaeva. Qaraqalpaq tili 5-klass ushin sabaqliq, Nokis, 2020.

Download 82.53 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2022
ma'muriyatiga murojaat qiling