Морфологический анализатор

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

Грамматический словарь - это набор алгоритмов для выполнения морфологического и синтаксического анализа и синтеза слов и предложений. Так как описание правил выполнения элементарных операций, включая морфологический разбор слов и словосочетаний, осуществляется через отдельно компилируемый и загружаемый словарь, то возникает задача удобной отладки этих правил вне среды стандартных отладчиков компиляторов C++. К примеру, достаточно часто возникает задача: определить индексы словарной статьи и словоформы в этой статье, соответствующие какому-либо слову , так как внутри грамматического словаря работа со словами выполняется исключительно через целочисленные индексы на словарные статьи (см. к примеру процедуру sol_GetNounForm).

В проекте есть несколько программ, которые работают как высокоуровневые отладчики отдельных частей грамматического словаря. Из них с морфологическим анализом связаны две - wdebuggerи lexicon.

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

Можно также использовать консольный отладчик Lexicon, который из-за более консервативного пользовательского интерфейса гораздо проще переносить на новые платформы.

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

Программа ThesaurusBrowser позволяет просматривать содержимое словарных статей - все формы слов и связи с другими словами.

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

Консольный отладчик LEXICON

Для выполнения морфологического анализа отдельных слов можно использовать консольный отладчик lexicon (он входит в состав SDK грамматического словаря). Более подробное описание работы проектора слов в грамматическом словаре можно прочитать здесь.

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

Поддерживаемые платформы

Программа написана на C++ и компилируется для нескольких платформ:

Запуск и использование

Запустив программу lexicon.exe (она находится в каталоге \exe или \exe64), Вы увидите начальный экран отладчика с приглашением выбрать вида запросов. Например, выбрав режим морфологического анализа и введя слово кошки, Вы увидите список найденных вариантов в лексиконе с числовыми идентификаторами и грамматическими признаками:

морфологический анализ

В данном случае найдено 2 варианта - именительный падеж множественного числа белые кошки и родительный падеж единственного числа - корм для кошки.

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

поиск слов в лексиконе по маске

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

нечеткий поиск в лексиконе

Утилита позволяет также увидеть связи слова в тезаурусе, например для английского словаря слово include имеет связи с существительным inclusion и прилагательным inclusive.

Кроме морфологического анализа, программа позволяет также выполнять стемминг.

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

стемминг

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

Аналогичным образом активируется режим запросов к тезаурусу - либо через начальное меню, либо командой #thesaurus. В ответ на вводимые слова программа будет печатать связанные с ним словарные статьи вместе с параметрами связи. Например, для слова include получается такой набор:

тезаурус

Если консоль поддерживает юникод, то можно просматривать содержимое многоязычных словарей.

Оконный отладчик WDebugger

Эта программа является функциональным аналогом консольных утилит Lexicon и Syntax, но имеет оконный интерфейс. Исходные тексты программы находятся в каталоге ...\lem\demo\ai\solarix\finder\debugger, скомпилированая программа - в каталоге ...\exe.

После запуска программы она загружает словарь и отображает основное окно с вкладками, открывающими доступ к основным частям грамматического словаря. Для доступа к проектору слов (лексическому автомату) выбираете вкладку "Word projection", после этого можно работать со словами:

морфологический анализ слова

В данном примере выполнена проекция слова "собака". Проекция единственная (может быть несколько альтернатив, обусловленных в том числе наличием омонимов). Выбрав вариант проекции, можно посмотреть список грамматически характеристик проекции (кнопка "Coordinates" в левом нижнем углу) - то есть список координат и их состояний (в проекте это называется координатные пары):

морфологический анализ слова

Наконец, двойной клик на одной из пар покажет декомпилированное описание соответствующей координаты:

морфологический анализ слова

Кнопка справа от поля с индексом словарной статьи (подписано как ientry) покажет все словоформы в статье, причем это будет фактически исходный текст определения статьи:

словарная статья

Программа просмотра словаря

Грамматический Словарь Русского Языка позволяет просмотреть содержимое словарных статей и связей между ними:

склонение существительного русского языка

Дополнительная информация

Морфологический анализатор

Синтаксический анализатор

Утилита Syntax

API морфологического анализатора

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


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



изменено 26-Nov-10