Стеммер Портера — алгоритм стемминга, опубликованный Мартином Портером в 1980 году. Оригинальная версия стеммера была предназначена для английского языка и была написана на языке BCPL. Впоследствии Мартин создал проект «Snowball» и, используя основную идею алгоритма, написал стеммеры для распространённых индоевропейских языков, в том числе для русскогоСтеммер Портера для русского языка: Russian stemming algorithm .

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

Алгоритм был очень популярен и тиражируем, в него часто вносились изменения разными разработчиками, причём не всегда удачные. Примерно в 2000 году Портер принял решение «заморозить» проект и впредь распространять одну-единственную реализацию алгоритма (на нескольких популярных языках программирования) со своего сайта.

Примечания

Ссылки Porter stemmer — реализация алгоритма стеммера Портера для русского языка на чистом функциональном языке Clojure The Porter Stemming Algorithm — Porter’s homepage. The Porter Stemming Algorithm — Project «Snowball» The English (Porter2) stemming algorithm (улучшенная версия алгоритма) — Project «Snowball» (оригинальная публикация Портера)

Категория:Строковые алгоритмы Категория:Обработка естественного языка