SQL запросы для склонения и спряжения слов

Помимо поиска слов в SQL лексиконе, иногда возникает обратная задача. Имея начальную форму слова, необходимо получить список всех его грамматических форм. Начальная форма слова практически всегда совпадает с именем словарной статьи, то есть со значением поля sg_entry.name. Мы уже знаем, что грамматические формы для словарной статьи хранятся в таблице sg_form. Таким образом, достаточно найти запись в sg_entry для склоняемого или спрягаемого слова и воспользоваться связью sg_form.id_entry=sg_entry.id для перечисления всех форм. Данный рецепт действует для любого словоизменения в грамматическом словаре, включая сравнительные формы наречий, склонение и спряжение английских существительных и английских глаголов, и так далее.

Запрос, решающий поставленную задачу, может выглядеть так:

SELECT F.name
 FROM  sg_entry E, sg_form F
 WHERE E.name='кошка' AND F.id_entry=E.id

Для русского словаря, даже при использовании ознакомительной версии словарной базы, он даст такую выборку:

кошка
кошки
кошкой
кошкою
кошку
кошке
кошке
кошки
кошек
кошками
кошек
кошкам
кошках

Эти 13 записей соответствуют склонению существительного по 6 падежам в единственном и множественном числе, с учетом дополнительной формы творительного падежа кошкою.

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

Следующие уроки

Справочники грамматических атрибутов

Определение падежа и числа для существительного

Дополнительные материалы по работе со словарной базой

Купить словарную базу русской морфологии

Реляционная схема словарной базы

Склонение существительных в русском языке

Спряжение глаголов в русском языке

Склонение прилагательных и причастий в русском языке

  © Козиев Илья 2019
изменено 19-Feb-12