Программа SQLex позволяет создавать, редактировать и удалять словарные и фразовые статьи, а также создавать, редактировать и удалять связи между статьями (тезаурус).
Благодаря тому, что в качестве хранилища данных используется реляционная многопользовательская СУБД (FireBird, MySql, Oracle, MS SQL), возможен режим коллективной и удаленной работы со словарем.
Программа SQLex написана на языке Delphi и работает на MS Windows.
В настоящее время проверена работа редактора с MySQL v.5 и FireBird v.2.
Сама программа не требует установки.
Так как работа со словарем будет идти в SQL СУБД, то необходимо
скачать подходящий для платформы дистрибутив БД и ODBC драйвер
(например FireBird или MySQL
).
Связь программы с БД осуществляется через ODBC, поэтому необходимо создать соответствующий источник данных в панели управления ОС.
После установки сервера БД и драйвера ODBC, можно закачивать словарь в БД. SQL скрипт, создающий схему БД и данные для русского языка, не входит в состав архива программы - вариант для целевой СУБД можно скачать на странице загрузок. Обратите внимание, что доступные бесплатно демо-версии скриптов содержат урезанный вариант русского словаря - только словарные статьи на букву "А".
При наличии полного SDK можно конвертировать любой из поддерживаемых языков в формат SQL скрипта и залить его в БД. Статистику по количеству информации в разных словарях можно увидеть здесь.
Ряд настроек программы находится в файле sqleditor.ini.
Параметры подключения к БД собраны в секциях [db] и [dbaux]. Можно обойтись одной секцией [db], так как [dbaux] задает параметры второго словаря.
Наличие двух альтернативных секций подключения позволяет огранизовать работу пользователя с одним из двух словарей на выбор. На практике это редко изменяемый базовый (полный) словарь и небольшой активно меняющийся пользовательский словарь.
Если заданы обе секции [db] и [dbaux], то программа при старте предложит выбрать подключение.
Набор переменных в каждой из вышеупомянутых секций полностью идентичен:
odbc - строка подключения к серверу базы данных
name - условное название базы данных, например "Basic dictionary" или "User dictionary"
export - полный путь к командному файлу, который исполняется при выборе пункта меню File | Export, в рамках парадигмы базовый-пользовательский словарь это могут быть скрипты для выгрузки и полной пересборки базового словаря и выгрузки и добавления пользовательского словаря.
id_user - условный идентификатор пользователя, от имени которого выполняются модификации данных в базе
После выполнения ранее описанных подготовительных шагов можно запускать программу - исполнимый файл SQLEditor.exe находится в корне архива.
Если в ini-файле задано несколько альтернативных подключений, например для большого базового и небольшого пользовательского словарей, появится диалоговое окно для выбора словаря:
Если соединение с сервером базы данных успешно установлено, то появится основное окно программы с полями для поиска словарных и фразовых статей, списком найденных статей и полями редактирования их содержимого и связей между ними:
В текущей реализации русской грамматики прилагательные и причастия объединены в одном грамматическом классе, поэтому для внесения причастия следует создавать словарную статью для класса прилагательное.
Чтобы ввести специфическую для причастия глагольную информацию, следует задать его связь с базовым инфинитивом. Для этого необходимо включить флажок "причастие" на парадигме и выбрать базовый инфинитив:
Разумеется, для причастия нет кратких, сравнительных и превосходных форм. Впрочем, для многих прилагательных эти формы также могут отсутствовать в разных сочетаниях.
Русские деепричастия выделены в отдельный грамматический класс, поэтому их надо вносить в словарь как отдельные словарные статьи. Как и для причастий, необходимо задавать базовый глагол.
Из-за особенностей реализации русской грамматики инфинитивы храняться как отдельные словарные статьи. При поиске слов это хорошо видно:
При создании новой статьи для глагола программа самостоятельно создаст необходимую инфинитивную статью.
На вкладке с парадигмой глагола можно увидеть группу полей для задания специфических для глагола сведений - модальности, переходности и падежной валентности:
При внесении новых словарных статей в данный языковой раздел следует задавать написание слова - кана или кандзи. Это необходимо, чтобы при сборке бинарного словаря правильно сработали генераторы связей, которые создадут переводы кана-форм на русский из переводов кандзи-форм.
Для таких частей речи, как русские прилагательные, существительные и глаголы, создание новой словарной статьи связано с трудоемким процессом внесения всех его грамматических форм. Для прилагательных это может потребовать ввода до 60 форм.
Чтобы облегчить работу пользователя, в Редакторе есть функция автозаполнения. Соответствующий алгоритм подбирает подходящие образцы склонения или спряжения и генерирует формы новой словарной статьи. В случаях, когда подходит несколько образцов, выбор предоставляется пользователю:
Данная функция основана на сохраняемых в словаре парадигмах - таблицах формообразования, у которых есть маски (регулярные выражения) для подбора.
Для правильной подстановки фраз в переводчике желательно вручную указывать ведущее слово в словосочетаниях:
Ведущее слово - это член словосочетания, который отвечает за грамматическую роль словосочетания в предложении.
Зная ведущее слово в правой и левой частях связи-перевода, алгоритм переводчика может правильно отобразить грамматическую форму одного языка на другой язык. К примеру, время для японского глагола отобразить на глагольное время русского:
Обратите внимание, что Редактор Словаря использует сервис API грамматического движка для сегментации японского текста. Таким образом, выбирая ведущее слово кликом на отображенном списке, мы гарантированно получим тот же результат в ходе анализа японского предложения переводчиком:
Если скорость получения данных, например извлечения синонимов или переводов, из БД устраивает, вполне можно обойтись обычными средствами работы с информацией в БД в прикладном коде, начиная с ODBC до нативных клиентских библиотек.
Однако в некоторых случаях скорость критически важна и поэтому желателен переход на более быстрый вариант работы со словарем - через процедурный API, который работает с бинарным файлом словаря.
Чтобы использовать хранящийся в БД словарь в других программах проекта, например в поисковой системе, грамматическом словаре или в переводчике, также необходимо получить бинарный образ словаря с помощью компилятора.
Так как компилятор словаря в качестве исходного материала воспринимает только текстовые файлы, нужно выгрузить данные из SQL БД в текстовые файлы корректного формата. Данную работу выполняет консольная утилита sql2sol - она подключается к указанной в командной строке БД, читает данные из таблиц и формирует описания словарных и фразовых статей и связей тезауруса.
Программу SQLex можно настроить на автоматический вызов командного скрипта для выгрузки и сборки словаря. Для этого надо полный путь к файлу скрипта прописать в переменной export в секциях [db] и [dbaux]. Выбрав пункт меню File | Export в окне программы, пользователь запустит этот скрипт.
Программа входит в состав SDK SQL Словаря и доступна для приобретения.
Рассмотрим также вариант доработки программы по Вашим спецификациям с последующей передачей как бинарных модулей, так и всех необходимых исходных текстов.
Структура словаря в SQL базе данных
© Козиев Илья 2019
![]() |
|
последние изменения 16-Oct-10 |