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

Склонение существительного через API

В составе API грамматического словаря есть процедура, разработанная специально для склонения существительных в русском языке:

sol_GetNounForm

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

Для русских существительных можно указывать один из 6 основных падежей, для английских доступно только 2 падежа - номинатив и притяжательный.

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

sol_CorrNounNumber

SQL запросы для склонения существительного

Грамматические формы слова (словарной статьи) хранятся как отдельные записи в таблице sg_form, связанные с заголовком словарной статьи - записью в sg_entry. Как подробно описано на странице документации по схеме SQL словаря, такие грамматические признаки форм существительного, как падеж и число, представлены в базе данных двояко. Во-первых, каждый грамматический признак представлен записью в таблице sg_form_coord, связанной с sg_form отношением внешнего составного ключа sg_form.(id_entry,iform)=sg_form_coord.(id_entry,iform). Во-вторых, каждая запись в таблице sg_form имеет поле id_dims, ссылающееся на запись в справочнике coord_pairs, в котором поле str_pairs хранит строковое представление набора грамматических признаков. Каждый признак в этой строке представлен паттерном КООРДИНАТА:ЗНАЧЕНИЕ либо КООРДИНАТА в некоторых случаях, разделителями между признаками являются пробелы.

Самый простой способ получить формы существительного для заданного падежа и числа - это воспользоваться информацией в поле coord_pairs.str_pairs и оператором LIKE в запросе:

SELECT sg_form.name
 FROM  sg_entry, sg_form, coord_pairs
 WHERE sg_entry.name='галактика' -- для этой словарной статьи
       AND sg_form.id_entry=sg_entry.id
       AND coord_pairs.id=sg_form.id_dims
       AND coord_pairs.str_pairs LIKE '%ПАДЕЖ:ТВОР%' -- получим все формы творительного падежа 

В этом запросе нет задания грамматического числа, поэтому будут выведены формы для единственного и множественного числа:

формы творительного падежа

Обратите внимание на наличие альтернативной формы с окончанием -ою в единственном числе - это характерная черта для существительных женского рода и даже некоторых существительных мужского рода:

Столкновение великого князя с дядею Владимиром Андреевичем Донским.

Online демонстрация склонения русских существительных

В текстовом поле Вы можете ввести русское существительное. Скрипт выполнит поиск слова в загруженном в БД лексиконе, и если соответствующая словарная статья есть, то будут показаны все грамматические формы существительного.

Результаты склонения:

...

Склонение существительных в правилах трансформации

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

wordform_set_coord - задание (замена) координатных пар для словоформы, например - задание падежа и числа для существительного.

wordfrorm_refresh - приведение текстового содержимого словоформы в соответствие с текущим набором координатнах пар.

Сначала один или несколько вызовов wordform_set_coord задают для словоформы грамматические признаки, например так

wordform_set_coord( wrd, ПАДЕЖ, ПАДЕЖ:ТВОР, ЧИСЛО, ЧИСЛО:МН )

А затем получаем правильное текстовое представление слова с установленными признаками:

wordform_refresh( wrd )

Именно эти две функции позволяют получать корректный русский текст при переводе:

薄刃  -->  Тонкий кухонный нож

二つの薄刃  -->  2 тонких кухонных ножа

五つの薄刃  -->  5 тонких кухонных ножей

Обратите внимание, что склонение прилагательных и существительных при согласовании с числительным идет по разным правилам - подробнее об этом рассказано здесь.

Особенности склонения существительных

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

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

Подробнее:

склонение английских существительных

склонение русских существительных

Образование грамматических форм прилагательных и глаголов

Отдельные статьи посвящены склонению прилагательных и спряжению глаголов в русском языке.

Дополнительные материалы

Приобретение SDK грамматического словаря

Структура SQL словаря

Поиск слов в SQL словаре

Имя существительное в морфологическом словаре

Грамматика русского языка

Алгоритмы русской морфологии

Процедурный API грамматического словаря

ORM Persistent Dictionary

Согласование прилагательных и существительных

  © 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 Мб


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



изменено 04-Nov-12