Snowball

Материал из NLPub
Перейти к: навигация, поиск

Snowball — компактный язык обработки строк, предназначенный для создания алгоритмов стемминга для применения в области информационного поиска. На данном языке разработаны стеммеры русского, английского и других естественных языков.

Доступность

Все исходные коды доступны на странице загрузки под лицензией BSD.

Установка

Для успешной установки Snowball нужно скачать исходные коды со страницы загрузки или из SVN-репозитория, после чего выполнить сборку из исходников.

% wget 'http://snowball.tartarus.org/dist/snowball_code.tgz'
% tar zxf snowball_code.tgz
% cd snowball_code
% make

Если выполнение команды make прошло без ошибок, то в текущей директории появятся исполняемые файлы snowball и stemwords.

Использование

Командная строка

Команда stemwords принимает на поток стандартного ввода слова, разделённые знаком перевода строки '\n'. Для использования нужно выбрать необходимый язык и передать программе текст, разбитый на слова. Результатом работы программы являются основы слов исходного текста, записанные в поток стандартного вывода.

% echo 'Привет, как дела?' | sed -e 's/\W/\n/g' | egrep '\S' | ./stemwords -l russian
Привет
как
дел

Python

Разработчики Snowball предоставляют официальную обёртку для языка Python, доступную на странице загрузки.

Ruby

Существует гем ruby-stemmer.

Ссылки

Примечания