Синонимизатор и перефразировщик

Возможности синонимизатора и перефразировщика

подстановка синонимов с учётом морфологии русского языка

изменение порядка слов, перефразировка

углубленная переработка текста одновременной синонимизацией и перефразировкой

работа в пакетном режиме (консоль)

версии под x32 и x64 Windows и Linux

возможность модификации словаря - добавление синонимов и словарных статей (подробнее...)

динамическая настройка фильтра синонимов с помощью тегов

фильтрация синонимов с помощью базы N-грамм

Все вышеперечисленные возможности основаны на взаимоувязанном наборе алгоритмов обработки текста в грамматическом словаре. Парсер документов извлекает текстовое содержимое из файлов разного формата, при необходимости задействуя плагины. Сегментатор текста разбивает исходный документ на предложения. Токенизатор выделяет в предложении слова с учетом множества особых случаев. Морфологический анализатор выполняет разбор слов в предложении, определяет их грамматические признаки, такие как падеж, род, число, глагольный вид и так далее, преобразуя набор слов в набор словоформ. Синтаксический анализатор определяет грамматическую связь слов в предложении, позволяя затем менять лексику текста с сохранением согласования. Тезаурус предоставляет механизм выбора синонимов с фильтрацией по заданной теме с помощью тегов. База данных N-грамм содержит средства для отбора наилучших вариантов подстановки синонимов в зависимости от локального контекста. Флексер склоняет существительные и прилагательные, спрягает глаголы после подстановки синонимов.

Условия приобретения синонимизатора

Все компоненты синонимизатора и перефразировщика включены в состав SDK Синонимизатора. Для получения дистрибутива связывайтесь с разработчиками.

Модификация правил синонимизации и перефразировки

Обработка текста синонимизатором основана на большом наборе правил, часть из которых вшита в C++ код (работа с синонимами), другая часть может легко меняться, так как задается во внешних текстовых файлах (перефразировка).

Управление синонимизатором возможно следующими способами. Можно менять сам набор синонимов, редактируя тезаурус и пересобирая словарь. Можно задавать для синонимов теги - специальные пометки об условиях подстановки, и указывать эти теги при синонимизации для отбора синонимов. Наконец, в API есть функции для задания черного и белого списков слов, соответственно можно динамически изменять набор учитываемых синонимов.

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

Работа с синонимизатором и перефразировщиком в консоли

В состав дистрибутива входит программа Synonymizer, имеющая версии для MS Windows и Linux, 32-х и 64-битных. Она работает в текстовой консоли, настраиваясь на нужные параметры уникализации текста с помощью опций командной строки.

синонимизация и перефразировка русского текста    синонимизация и перефразировка русского текста

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

Опции командной строки:

-dictdir NNN путь к каталогу с файлами словаря

-verbose печать сообщений по ходу синонимизации и перефразировки текста

-verbose- режим тихой работы

-o NNN имя файла для печати результатов синонимизации

-language XXX выбор языка, XXX может быть Russian или English

-timeout XXX максимальное время в миллисекундах на синтаксический анализ одного предложения

-batch NNN пакетная синонимизация предложений из указанного файла

-pedantic тщательный синтаксический анализ, необходимый для более тщательного выбора слов для синонимизации

-ngrams фильтровать результаты синонимизации с помощью 2-грамм

-ngrams3 фильтровать синонимизацию с помощью 3-грамм

-ngrams4 фильтровать результаты синонимизации с помощью 4-грамм

-ngrams5 фильтровать синонимизацию с помощью 5-грамм

-multiword использовать многословные синонимы

-debug отмечать синонимизированные слова в предложениях текстовыми метками { и }, выводить в итоговый листинг исходные предложения вместе с результатами синонимизации

-debug_html отмечать синонимизированные слова в предложениях html-тегами, выводить в итоговый листинг исходные предложения вместе с результатами синонимизации

-max_subst KKK максимальное число замен синонимов на одно предложение

-scenario SSS список применяемых сценариев через запятую, в том числе synonymize, reorder, paraphrase, randomize.

-stopsyn SSS имя текстового файла со стоп-синонимами, то есть словами, которые не следует заменять в ходе синонимизации и рандомизации.

-seed_rnd инициализировать генератор случайных чисел, чтобы каждый новый запуск утилиты давал новые результаты

-tags имя_тега=значение выбирать только те синонимы в тезаурусе, которые имеют указанный тег.

Также в составе дистрибутива есть консольная утилита Rewriter, которая требует для своей работы установленного .NET Framework, так как она использует API синонимизатора в виде DLL. В качестве важного компонента дистрибутива мы также включаем исходные тексты этой утилиты на C# с проектом на MS VisualStudio 2003, так что Вы можете легко создавать на ее основе собственный модуль перефразировки.

Сценарии уникализации текста

Сценарии обработки текста указываются с помощью опции в командной строке для утилиты Synonymizer, либо с помощью указания одной из констант привызове процедуры API sol_Paraphrase.

Синонимизация - замена отдельных слов в тексте на синонимы с востановлением грамматической формы (подробнее...).

Рандомизация - в исходном тексте слова заменяются случайным образом с сохранением грамматической формы (подробнее...).

Перефразировка - изменение порядка слов, замена оборотов на семантически эквивалентные (подробнее...).

В некоторых случаях возможно совмещение синонимизации и перефразировки в одном сеансе. В таком режиме сначала делается попытка изменить предложение с помощью перефразировки как наиболее мощного и быстрого средства уникализации, и если попытка не удалась - выполняется синонимизация. Среди скриптов для обработки текста в подкаталоге ...\scripts\rewriter есть файл modify-ru.cmd, который как раз реализует такой совмещенный режим.

Расширенный API перефразировщика и синонимизатора

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

Кроме того, API позволяет очень тонко управлять процессом обработки текста, регулируя параметры синонимизации для каждого предложения. Например, можно динамически менять фильтрацию подставляемых синонимов с помощью тегов, формировать список запрещенных синонимов, включать отбор замен с помощью N-грамм, а также менять применяемые алгоритмы, в том числе включать свои сценарии перефразировки.

Еще один важный бонус, получаемый с SDK перефразировщика - возможность включать компоненты движка в свои разработки.

С подробными спецификациями API можно ознакомиться здесь.

Раздел API, непосредственно касающийся вопроса синонимизации, доступен здесь.

Примеры программ на VB/Delphi/C++/C# с исходными текстами помогут создать собственные приложения.

В состав SDK перефразировщика и синонимизатора входят:

Компилятор словаря и скрипт для расширения базового словарного модуля - добавления новых слов и синонимов.

Утилиты для создания пользовательского словаря LexiconEditor, Thesaurus.

Скомпилированные для платформы Win 32/64 компоненты DLL и .NET wrapper синонимизатора и генератора текста.

Исходный текст и скомпилированный модуль утилиты Rewriter.

Скомпилированная версия консольного синонимизатора Synonymizer

Исходные тексты на C++ C# и Delphi с примерами использования API синонимизатора

Командные скрипты для выполнения генерации текста, имитации, синонимизации, перефразирования, рандомизации, накопления N-грамм

Сборщик Nграмм Empirika и консольный клиент к базе Lexicon

Демонстрационная версия синонимизатора

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

Ознакомительный вариант SDK содержит dll с движком синонимизации и позволяет проверить синонимизатор в рабочем окружении. В состав этого дистрибутива входит русский морфологический модуль с немного урезанным лексиконом и ограниченным словарем синонимов. Примеры на C++, C# и Delphi, включая программу Rewriter, доступны с исходными текстами, чтобы облегчить подключение к API синонимизатора.

скачать ознакомительную версию SDK синонимизатора для Windows 32 бита (16 Мб)

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


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



изменено 24-Dec-11