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

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

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

С помощью SQL запроса мы можем получить первичный ключ записи в таблице sg_entry:

SELECT DISTINCT E.id, E.name
 FROM  sg_lexem L, sg_form F, sg_entry E
 WHERE L.name='ГАЛАКТИКАМИ' AND F.id_lexem=L.id AND E.id=F.id_entry

Зная первичный ключ статьи, мы можем получить список грамматических атрибутов данной статьи в таблице sg_entry_coord. Одной записи в sg_entry может соответствовать несколько записей в sg_entry_coord. Например, у существительных в русском языке кроме грамматического рода есть еще признак одушевленности. Поэтому мы должны задать дополнительное требование к записям в sg_entry_coord, указав требуемое значение идентификатора для рода. Грамматический род, как и все другие признаки, объявлены в таблице sg_coord. Таким образом, следующий запрос позволит определить, к какому роду относится существительное галактика:

SELECT DISTINCT E.id, E.name, S.name
 FROM  sg_lexem L, sg_form F, sg_entry E, sg_coord C, sg_entry_coord EC, sg_state S
 WHERE L.name='ГАЛАКТИКАМИ' AND F.id_lexem=L.id AND E.id=F.id_entry AND
       C.name='РОД' AND
       EC.id_entry=E.id AND EC.icoord=C.id AND
       S.id_coord=C.id AND S.id=EC.istate

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

idnamename
1073922118галактикаЖЕН

Одушевленность существительных

Немного модифицировав запрос из первой части урока, можно вывести признак одушевленности вместо рода. Для этого достаточно вместо строки 'РОД' подставить строку 'ОДУШ':

SELECT DISTINCT E.id, E.name, S.name
 FROM  sg_lexem L, sg_form F, sg_entry E, sg_coord C, sg_entry_coord EC, sg_state S
 WHERE L.name='ГАЛАКТИКАМИ' AND F.id_lexem=L.id AND E.id=F.id_entry AND
       C.name='ОДУШ' AND
       EC.id_entry=E.id AND EC.icoord=C.id AND
       S.id_coord=C.id AND S.id=EC.istate

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

Как уже было сказано, одна запись в sg_entry может быть связана с несколькими записями в sg_entry_coord, в частности для каждого существительного будет одна запись для рода, вторая для одушевленности и третья для признака перечислимости. В рамках одного SQL запроса мы можем включить таблицу sg_entry_coord несколько раз, вводя для каждой новой копии осмысленный синоним. Разумеется, таблицы sg_coord и sg_state можно тоже указать в запросе по 2 раза:

SELECT DISTINCT E.id, E.name, S_Gender.name, S_Animacy.name
 FROM  sg_lexem L, sg_form F, sg_entry E, sg_coord C_Gender, sg_entry_coord EC_Gender, sg_state S_Gender, sg_entry_coord EC_Animacy, sg_coord C_Animacy, sg_state S_Animacy
 WHERE L.name IN ('ГАЛАКТИКАМИ','МЕДВЕДЮ') AND F.id_lexem=L.id AND E.id=F.id_entry AND
       C_Gender.name='РОД' AND EC_Gender.id_entry=E.id AND EC_Gender.icoord=C_Gender.id AND S_Gender.id_coord=C_Gender.id AND S_Gender.id=EC_Gender.istate AND
       C_Animacy.name='ОДУШ' AND EC_Animacy.id_entry=E.id AND EC_Animacy.icoord=C_Animacy.id AND S_Animacy.id_coord=C_Animacy.id AND S_Animacy.id=EC_Animacy.istate

Так как поиск по таблице SG_LEXEM сделан через оператор IN, то результаты содержат информацию для двух существительных:

idnamenamename
1073922118галактикаЖЕННЕОДУШ
1073903203медведьМУЖОДУШ

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

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

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

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


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



изменено 13-Mar-12