Использование стеммера для работы с русским текстом

Использование стеммера на платформе .NET

В ссылки проекта необходимо добавить сборку StemmerFX.dll. Других внешних зависимостей, в том числе файлов данных, стеммер не имеет.

Стемминг слова выполняется вызовом метода Stemmer.stem_str:

string stem_str = Solarix.Stemmer.stem_str("зеленого");
int stem_len = Solarix.Stemmer.stem("зеленого");

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

Исходный код стеммера на C# генерируется полностью автоматически по данным из лексикона. Это позволяет учитывать разнообразные особенности русского словоизменения на большом фактическом материале. Кроме того, собранный стеммер проверяется по всей словарной базе, давая в результате оценки количества ошибок, без которых обойтись невозможно из-за ограничений алгоритма.

Вышеупомянутые особенности русского склонения/спряжения/словообразования приводят к тому, что для некоторых неизменяемых слов стеммер все-таки отсекает 'окончание', а в других случаях отсекает слишком длинный аффикс, оставляя чрезмерно короткую основу. Эти ошибки проистекают из двух особенностей. Во-первых, стемминг выполняется без учета контекста, поэтому для обрабатываемого слова недоступна информация о части речи. Во-вторых, в русском языке невозможно безошибочно выявить аффиксы, не привлекая информацию из словаря. Наконец, частичная омонимия приводит к тому, что стеммер может применить неправильную эвристику, усекая к примеру, опал до опа, основываясь на парадигме глагола опасть.

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

Дополнительные материалы

Стеммер

Алгоритмы русской морфологии

Лемматизатор

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

Глубокая нормализация текста

Особенности словообразования в русском языке

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


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



изменено 25-Aug-11