Технология морфологического анализа
Морфологический анализ — процедура определения морфологических характеристик слова при поиске неструктурированной информации на естественном языке. Трудность автоматической обработки текстов заключается в том, что машина воспринимает слово как набор символов и, следовательно, не может отождествить две различные грамматические формы одного и того же слова (т.е. формы столу и стола отнести к одному слову стол). Морфологический анализатор позволяет объединить различные грамматические формы одного слова, эквивалентные по лексическому значению. Используемый нашей компанией анализатор был разработан в тесном сотрудничестве с научным коллективом кафедры русского языка Московского Государственного Университета им М.В. Ломоносова.
Морфологический анализатор состоит из 2-х компонентов:
- Модуль (набор алгоритмов, используемых для получения морфологической информации о слове)
- База (набор словарей, с которыми работает модуль)
В базу входит основной словарь, словарь стандартных словоизменительных классов, работающий с основным словарем, словарь исключений и словарь приставок (за счет которого сокращается объем других словарей)
Важными параметрами оценки систем с морфологическим анализом обычно считаются размер исходного словаря, скорость обработки текстов и возможность обработки незнакомых слов.
Словарная база на данный момент включает в себя почти 200 тыс. слов, она собрана из имеющихся сегодня словарей русского языка и постоянно пополняется, в основном за счет имен собственных. Данный словарь относится к словарям неполного покрытия, что методически является более правильным: словарная база не может охватить всех слов естественного языка, т.к. они входят в употребление так же быстро, как и перестают употребляться. Поэтому в системе был сделан упор на обработку незнакомых слов. Если слово при обработке не найдено в словаре, то система предсказывает морфологическую форму слова, соотнося его с уже имеющимися в словаре. Оно будет отнесено к тому же словоизменительному классу, который имеет слово, максимально совпадающее с ним с конца (например, постоперационный будет анализироваться по модели операционный). Таким образом, алгоритм предсказания делает систему более гибкой при обработке терминов, узкоспециализированной лексики и неологизмов.
Скорость обработки текстов — более 400 тыс. слов/сек. Этого более чем достаточно для быстрой и бесперебойной работы системы.
Анализатор определяет морфологическую форму каждого слова в тексте, для выполнения задач поиска он дополнен морфологическим синтезатором, который генерирует на основе одного слова (стол) всю его парадигму (стола, столу и т.п.).
Анализ и синтез распространяется на все слова русского, в том числе имена, фамилии, географические названия и пр. А также подключен модуль морфологического анализа и синтеза английского языка, который позволяет обрабатывать англоязычные тексты, что значительно расширяет возможности поиска.
Модуль морфологического анализа постоянно совершенствуется и дорабатывается нашими лингвистами.