Стеммер Портера
Стеммер Портера — алгоритм стемминга, опубликованный Мартином Портером в 1980 году. Оригинальная версия стеммера была предназначена для английского языка и была написана на языке BCPL. Впоследствии Мартин создал проект «Snowball» и, используя основную идею алгоритма, написал стеммеры для распространённых индоевропейских языков, в том числе для русского[1].
Алгоритм не использует баз основ слов, а лишь, применяя последовательно ряд правил, отсекает окончания и суффиксы, основываясь на особенностях языка, в связи с чем работает быстро, но не всегда безошибочно.
Алгоритм был очень популярен и тиражируем, в него часто вносились изменения разными разработчиками, причём не всегда удачные. Примерно в 2000 году Портер принял решение «заморозить» проект и впредь распространять одну-единственную реализацию алгоритма (на нескольких популярных языках программирования) со своего сайта.
ПримечанияПравить
- ↑ Стеммер Портера для русского языка: Russian stemming algorithm Архивная копия от 28 марта 2012 на Wayback Machine (англ.)
СсылкиПравить
- Porter stemmer — реализация алгоритма стеммера Портера для русского языка на чистом функциональном языке Clojure
- The Porter Stemming Algorithm — Porter’s homepage. (англ.)
- The Porter Stemming Algorithm — Project «Snowball» (англ.)
- The English (Porter2) stemming algorithm (улучшенная версия алгоритма) — Project «Snowball» (англ.)
- M. F. Porter. An algorithm for suffix stripping (англ.) // Program. — 1980. — Vol. 14, no. 3. — P. 130—137. Архивировано 28 мая 2007 года. (оригинальная публикация Портера)
- P. Willett. The Porter stemming algorithm: then and now (англ.) // Program: Electronic Library and Information Systems. — 2006. — Vol. 40, iss. 3. — P. 219—223. — ISSN 0033-0337.