Экспорт словаря из SQL базы

Назначение

Эта консольная утилита предназначена для выгрузки словаря (лексикона и тезауруса) из SQL базы в текстовый формат, принимаемый компилятором словаря.

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

В выгрузке участвуют данные из следующих таблиц:

Лексикон (словарные статьи) SG_ENTRY, SG_ENTRY_COORD, SG_FORM, SG_FORM_COORD

Связи словарных статей (тезаурус) SG_LINK, SG_LINK_TAGS

Фразовые статьи и их связи (тезаурус) SG_TENTRY, SG_TLINK, SG_TLINK_TAG

Параметры запуска

-type XXX

тип СУБД, например MySQL или FireBird.

-server XXX

для MySQL это сетевой адрес сервера; для FireBird - полный путь к базе данных

-port NNN

для MySQL порт, на котором сервер слушает запросы

-schema SSS

для MySQL это имя схемы (базы)

-login UUU

имя пользователя для подключения к базе

-password PPP

пароль для подключения

-odbc XXX

имя источника данных ODBC

-outdir XXX

имя папки для записи генерируемых файлов

-lexicon-

не выгружать словарные статьи

-thesaurus-

не выгружать тезаурус

-classes 'K','L','M'...

выгружать только словарные статьи и их связи, относящиеся к перечисленным грамматическим классам. Классы задаются своими именами, как они объявлены в исходных текстах словаря. Также имена классов можно посмотреть в таблице SG_CLASS.

Особенности экспорта для причастий и деепричастий

Для большинства словарных статей данные из БД выгружаются "как есть" - без каких-либо преобразований.

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

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

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

Вышеописанный подход работает совершенно прозрачно и удобно для пользователя.

При экспорте данных из БД в формат исходных текстов возникает 2 ситуации.

Словарные статьи для причастий и деепричастий, которые были импортированы в БД с помощью SQL-скрипта, имеют необходимые грамматические признаки в записях таблицы SG_ENTRY_COORD.

С новыми причастиями и деепричастиями, добавленными в Редакторе Словаря, дела обстоят сложнее. Заставлять пользователя заполнять для причастий и деепричастий набор полей, уже имеющийся у инфинитивов, неправильно. Поэтому от пользователя требуется только задавать базовый глагол для новых причастий и деепричастий. Основная нагрузка по приведению результатов экспорта к законченному виду ложится на утилиту sql2sol.

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

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

Омонимы в лексиконе

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

Таким образом, перед началом выгрузки списка словарных статей, утилита экспорта должна получить список омонимов и записать их в выходной текстовый файл. Для этого программа выполняет запрос

омонимы

который возвращает список омонимичных словарных статей.

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

В исходных текстах полного SDK есть готовые командные файлы, выполняющие экспорт словаря и компиляцию результатов экспорта. Находятся эти скрипты в подкаталоге ...\scripts\dictionary.

sql2sol.cmd - экспорт из БД MySQL, результаты экспорта сбрасываются в подкаталог ...\tmp в папке SDK

rus-jap-sql.cmd - компиляция русско-японского словаря, выгруженного из БД скриптом sql2sol

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

Экспорт словаря в SQL базу данных

Структура базы данных словаря

SQLex - редактор словаря в SQL базе

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


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



изменено 16-Oct-10