ГлавнаяСтатьиПроектыФотографияМатериалыКарта узлаО себе(версия для печати)

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

читайте также по теме: Русская морфология

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

В настоящий момент проект RMU перерастает в RMS. В данном разделе можно ознакомиться с архивными материала по RMU.

Тестовый доступ к RMU

Модуль морфологии продолжает работать в тестовом режиме.

Морфологическая модель

Разработка и реализация модели русского словоизменения велась на базе классической модели Зализняка А.А. и полученного опыта прежних лет (Диссертация Волковой И.А. « Адаптация и обучение системы общения с ЭВМ на естественном языке (844.79 Кбайт)», 1982 год, ). Был учтён тот факт, что за это время производительность компьютеров выросла на несколько порядков, поэтому структуры данных можно изменить для облегчения алгоритма морфологического анализа/синтеза. В результате переработки в модели появились такие понятия, как «псевдооснова» и «псевдофлекия». Проблемы чередования были решены путём увеличения числа парадигматических классов (более 1600). Но в то же время объём информации был сокращён за счёт использования связанных парадигм (парадигмы глаголов связаны с парадигмами причастий).

Структурно модель представляет собой четыре словаря:

В БД модуля находится 93 976 слова (всего 2 831 866 словоформ). Для поддержки режима пополнения элементы словаря содержат признак принадлежности пользовательскому словарному набору.

При словоизменении учитываются следующие грамматические характеристики слов (разные для разных морфо-синтаксических классов):

Программная реализация...

Материалы

За неимением ничего лучшего я выложил  черновик спецификации RMU (633.33 Кбайт) от 31/03/03.

Особенности реализации

Программный интерфейс ядра анализатора базируется на методе передачи структурных данных в виде размеченного текста в формате SGML (ISO 8879). В режиме отладки морфологическая база представляется также в формате SGML, что удобно для ручного контроля. В связи с тем, что размер внутреннего представления словарей ограничивается десятками мегабайт, было принято решение переложить вопросы подкачки и управления памятью на аппарат виртуальной памяти самой ОС. Таким образом, RMU не нуждается в СУБД для управления своими данными.

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

Оценка эффективности

Сложность алгоритма анализа (синтеза) можно оценить требуемым для его проведения количеством сравнений строк:

≤ log)

Где w — максимальная длина анализируемой словоформы, S — количество основ в отсортированном словаре основ, f — максимальное количество флексий в парадигматических классах. Для значений = 30, = 70000, = 60 получаем, что ≤ O (3·103).

Скорость работы модуля можно оценить следующими значениями*:

анализ в одном процессе~3000 сл/с
анализ через сетевое соединение~500 сл/с

Ресурсоёмкость

Во время загрузки RMU запрашивает около 50 Мб виртуальной памяти. Загрузка/выгрузка словарей происходит приблизительно за 10 с*. Практически RMU может работать на системе с минимум 16 мегабайтами оперативной памяти, правда, при этом загрузка может длиться пару минут.

Благодарности

Джулиану Р. Сьюарду (Julian R. Seward) за его бесплатную библиотеку компресии данных libbzip2, которая работает просто замечательно.

Краткая история разработки

*В конфигурации Intel Pentium III-700 МГц, 128 Мб ОЗУ под управлением MS Windows 98SE.

14 января 2002—20 сентября 2005
Максим Проскурня
Реклама от хост-провайдера
Коттеджи в Подмосковье
© 1997–2022 Axofiber, axofiber.ru, axofiber.info