Грамматические атрибуты словоформ в SQL словаре

Использование таблицы SG_FORM_COORD

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

Каждая запись в SG_FORM_COORD хранить один грамматический признак для одной формы слова.

Связь между SG_FORM и SG_FORM_COORD устанавливается через составной первичный ключ: sg_form_coord.(id_entry,iform)=sg_form.(id_entry,iform).

Кроме того, SG_FORM связана со справочником грамматических признаков SG_COORD: sg_form_coord.icoord=sg_coord.id. Это отношение позволяет, к примеру, отобрать среди набора признаков формы только падеж или число. Чтобы узнать значение грамматического признака, нужно воспользоваться составным ключом sg_form_coord.(icoord,istate)=sg_state.(id_coord,istate).

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

SELECT F.name, S_Case.name
 FROM  sg_entry E, sg_form F, sg_form_coord FC_Case, sg_coord C_Case, sg_state S_Case
 WHERE E.name='ПРИМЕР' AND F.id_entry=E.id AND
       C_Case.name='ПАДЕЖ' AND S_Case.id_coord=C_Case.id AND
       FC_Case.id_entry=F.id_entry AND FC_Case.iform=F.iform AND FC_Case.icoord=S_Case.id_coord AND FC_Case.istate=S_Case.id

Результаты содержат отдельный столбец для значения падежа:

примерИМ
примераРОД
примеромТВОР
примерВИН
примеруДАТ
примереПРЕДЛ
примерыИМ
примеровРОД
примерамиТВОР
примерыВИН
примерамДАТ
примерахПРЕДЛ

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

SELECT F.name, S_Case.name, S_Number.name
 FROM  sg_entry E, sg_form F, sg_form_coord FC_Case, sg_coord C_Case, sg_state S_Case, sg_form_coord FC_Number, sg_coord C_Number, sg_state S_Number
 WHERE E.name='ПРИМЕР' AND F.id_entry=E.id AND
       C_Case.name='ПАДЕЖ' AND S_Case.id_coord=C_Case.id AND
       FC_Case.id_entry=F.id_entry AND FC_Case.iform=F.iform AND FC_Case.icoord=S_Case.id_coord AND FC_Case.istate=S_Case.id AND
       C_Number.name='ЧИСЛО' AND S_Number.id_coord=C_Number.id AND
       FC_Number.id_entry=F.id_entry AND FC_Number.iform=F.iform AND FC_Number.icoord=S_Number.id_coord AND FC_Number.istate=S_Number.id
 ORDER BY S_Number.id, S_Case.id

Результаты его выполнения:

примерИМЕД
примераРОДЕД
примеромТВОРЕД
примерВИНЕД
примеруДАТЕД
примереПРЕДЛЕД
примерыИММН
примеровРОДМН
примерамиТВОРМН
примерыВИНМН
примерамДАТМН
примерахПРЕДЛМН

Описанный подход применим и ко всех остальным частям речи. Например, он позволяет определить значение времени, наклонения, лица для форм русского глагола, или числа, рода и падежа для форм причастия.

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

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

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

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

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

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

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

  © Elijah Koziev 2010
прикладные проекты на основе грамматического словаря API грамматической машины компоненты для доступа к грамматическому словарю условия получения SDK токенизатор и сегментатор морфологический анализ и синтез лемматизатор база N-грамм синтаксический анализатор словоформы морфология и синтаксис русского языка падеж число род совершенный и несовершенный вид экспорт в SQL формат экспорт в XML формат скрипт SQL словаря структура SQL словаря структура XML словаря компоненты для доступа к грамматическому словарю ORM Persistent Dictionary Library лемматизация стемминг примеры использования грамматического словаря склонение существительных в русском языке склонение русских прилагательных спряжение глаголов в русском языке поиск текста с учетом морфологии OCR подсистема расширенные регулярные выражения генератор текста генератор случайного текста и имитатор рандомизатор синонимизатор перефразировщик Статистика буквенных паттернов

Грамматический словарь русского языка



Грамматический словарь
склонение и спряжение глаголов, существительных, прилагательных

В состав входит русский и английский словарь.

платформа:  Windows 2000 ... Windows 7
требования: 512 Mb свободной памяти, 300 Мб на диске
размер:         34 Мб

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



SDK Грамматического словаря



SDK Грамматического Словаря
склонение и спряжение глаголов, существительных, прилагательных

В состав входит русский и английский словарь.

платформа:  Windows 2000 ... Windows 7
размер:         13 Мб

SQL словарь (демо):
sqlite mysql oracle firebird mssql

скачать демо-версию SDK купить SDK API грамматического словаря



Поисковая система



Integra
настольная и сетевая поисковая система 

платформа:  Windows XP ... Windows 7
требования: 512 Mb свободной памяти
размер:         21 Мб

Дополнительные компоненты:
MySQL поисковый сервер 13.5 Мб
Integra.Premium MySQL 3.9 Мб

скачать поисковую систему SDK поисковой системыописание поисковой системы



SDK Поисковой системы



SDK Поискового движка
API для настольной и сетевой поисковая система 

платформа:  Windows XP ... Windows 7
размер:         17 Мб

Дополнительные компоненты:

MySQL поисковый сервер 13.5 Мб
Integra.Premium MySQL 3.9 Мб

скачать SDK SDK поисковой системы



Экранный переводчик



Translator
экранный переводчик

платформа:  Windows XP ... Windows 7
требования: 256 Mb свободной памяти
размер:         4.4 Мб

Дополнительные компоненты:
расширенный англо-русский словарь 6.4 Мб


скачать экранный переводчикописание экранного переводчика



изменено [an error occurred while processing this directive]