Язык описания грамматического словаря

Виртуальный грамматический процессор

Правила трансформации текста на внутреннем языке (см. описание далее) компилируются во внутреннее представление, которое исполняется виртуальным процессором.

Реализация виртуального процессора написана полностью на языке C++. Основные операции - работа с лексемами, деревьями, информацией в лексиконе, тезаурусе, базе N-грамм.

Внутренний язык, и следовательно грамматический процессор, практически не содержат средств ввода-вывода. Получение вербальной (текстовой) информации от пользователя и выдача ему результатов полностью ложатся на прикладной код. Например, некоторые утилиты работают в текстовой консоли - см. Syntax и Synonymizer, и позволяют пользователю вводить фразы и видеть на экране результаты их трансформации. Есть также API, позволяющий прикладным программам вызывать преобразование текста - см. к примеру Rewriter, который выполняет пакетную обработку текстовых файлов. Программа Transformer работает как веб-сервер, получающий запросы и возвращающий результаты преобразования текста (перевода) по протоколу HTTP.

Описание языка

Общие соображения

Препроцессор

Компилятор словаря

Пространства имен

Кванторы

Словарь

Грамматики:
                    Алфавит
                    Лексикон
                    Фонетика

Грамматические координаты (перечисления)

Грамматические классы

Словарные статьи

Модули:

             Сегментатор и токенизатор
                   Морфологический анализатор
                   Синтаксический анализатор
                   Фонетический анализатор
                   СУБД Пролог-автомат

Продукционные правила и итераторы

Трансформация текста

Тезаурус и N-граммы
     Словоформы

Внутреннее представление грамматической информации

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

  © Козиев Илья 2019
изменено 05-Feb-12