среда, 12 августа 2009 г.

Buryat verb conjugation


СПРЯЖЕНИЕ БУРЯТСКОГО ГЛАГОЛА

Автоматическое образование форм глагола
бурят-монгольского языка

(в кириллической орфографии) с использованием SQL


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

Допустим, нужно образовать форму настоящего времени 3 лица, ед.ч. от глагола «бэхилхэ» - укреплять.

Для этого понадобится из словарной формы (причастие наст-буд времени) выделить стемму, ну и добавить поле сингармонической гласной, и еще поле на всякий случай - для аффиксов с двойной гласной:
  • ябаха => яба, А, АА
  • бүлеэдэхэ => бүлеэдэ, Э, ӨӨ
  • .. и т.д.
Итак, создаем таблицу с глаголами (это самое трудное, у меня ушло 2 дня) :




Создаем вторую таблицу, включающую аффиксы настоящего времени:




Cвязываем эти таблицы по полю огласовки, cоздаем запрос по искому слову, и ставим фильтр с нашими условиями, создать пересечение таблиц, ограничить стеммой БЭХИЛ, 3-е лицо, не множественное:

SELECT word & aff AS wd, comment
FROM affix INNER JOIN mouse ON affix.id=mouse.syn1
where word='бэхил' and person=3 and not plur;


Поскольку упражняемся мы на Access Jet SQL, а не настоящем T-SQL, то конкатенация строк несколько нестандартная, по-честному писаться должно так:

SELECT concat(ltrim(rtim(word)), ltrim(rtim(aff))) AS wd, comment
FROM affix INNER JOIN mouse ON affix.id=mouse.syn1
where word='бэхил' and person=3 and not plur


Результат выборки:




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

В следующий раз мы с вами попробуем подсоединить аффиксы с двойными гласными.



О заголовке - глагол может не только спрягаться, но и склоняться - при образовании причастий.

2 комментария:

  1. А в какой программе это все сделать можно?

    ОтветитьУдалить
  2. в Access всё это можно начать.
    Но лучше упражняться в MySQL с хорошим редактором запросов.

    ОтветитьУдалить