Исходным представлением словаря являются текстовые файлы с формализованными объявлениями структурных единиц - словарных и фразовых статей, связей тезауруса, правил морфологического анализа и так далее.
Текстовый формат описания словаря дает несколько преимуществ по сравнению с другими способами формирования словаря, например напрямую в SQL БД, или через функции модификации словаря в процедурном API или ORM библиотеке.
Можно использовать системы контроля версий для коллективной правки словаря.
Поиск и замена, а также другие операции с текстом, могут выполняется любыми удобными для пользователя средствами, в том числе unix-утилитами.
Можно вносить правки с помощью самого простого текстового редактора.
Нет необходимости поддерживать кроссплатформенный специализированный редактор словаря. Во многих случаях оказывается удобным создавать специализированные редакторы, например в виде ASP.NET кода для клиент-серверной архитектуры, или на Delphi.
Можно расширять форматы описания грамматики за счет собственного DSL (domain-specific language), преобразуя их в базовые описания утилитами на любом удобном языке программирования. Если средств встроенного C-подобного препроцессора недостаточно, то можно написать на Java или C# утилиту и разработать свой набор спецификаций.
Простота создания резервных копий и восстановления отдельных частей словаря.
Грамматический процессор по соображениям эффективности работает в бинарным представлением грамматики. Для преобразования текстовых спецификаций в требуемое двоичное представление используется компилятор словаря и вспомогательная утилита ThesaurusNotes.
С некоторыми ограничениями возможно выполнить обратное преобразование из бинарного представления в текстовый формат.
Для словаря, хранящегося в бинарных файлах, этот процесс использует внутреннее объектно-реляционное представление грамматики. Декомпиляция выполняется утилитой decompiler.
В случае использования SQL хранилища декомпиляция основывается на строгой реляционной структуре, однозначно соответствующей текстовым спецификациям. Утилита sql2sol подключается к базе данных и выгружает ее содержимое в набор текстовых файлов со спецификациями грамматики.
© Elijah Koziev 2010
Поисковая система
SDK Поисковой системы
Экранный переводчик
|
|
изменено 05-Feb-12 | ||||||||||||||||||||||||||||||||||||||