Стемминг — это нахождение основы слова (стеммы), то есть той части, которая передает его лексическое значение. Например:
лесной -> лес
походный -> поход
столовый -> стол
Обычно при стемминге просто отбрасывают окончания и суффиксы. Но русские слова имеют довольно сложное строение, поэтому для русского языка стемминг часто применяют вместе с другими лингвистическими алгоритмами (например, с лемматизацией).
Термин стемминг (stemming) образован от слова «stem» — ствол, стебель, основа. Термин, естественно, пришел к нам из английского языка, а первый алгоритм преобразования разработал американец Джули Бет Ловинс в 1968 году.
Прежде всего, алгоритмы стемминга нужны поисковым системам. С их помощью Яндекс и Google обобщают пользовательские запросы и повышают релевантность поисковой выдачи. Благодаря стеммингу, они могут находить не только сами слова из запроса, но и различные их формы, которые могут заинтересовать пользователя.
Например, если человек ввел слово «кошачий», то поисковики покажут ему заодно и те страницы, где есть слово «кошка». Но, разумеется, порядок в выдаче зависит от других поисковых алгоритмов: LSI, учета поведенческих факторов и.т.д.
Стемминг также используют программисты и веб-разработчики, чтобы создавать собственные поисковые системы для сайта. А SEO-специалисты могут с его помощью значительно расширить семантическое ядро и увеличить трафик.
Чтобы быстро находить основы слов, нужна специальная программа — стеммер. Сегодня их великое множество: свободных и коммерческих, работающих онлайн и распространяемых в виде исходного кода. Но все они, как правило, построены на двух алгоритмах.
Первый — это применение программой специальных таблиц, куда занесены все слова и их стеммы. Алгоритм работает быстро и точно, однако он требователен к ресурсам и не рассчитан на преобразование незнакомых слов.
Второй — отсечение суффиксов и окончаний по определенным правилам. Алгоритм не требует больших ресурсов и легко работает с незнакомыми словами, но при этом и часто ошибается. Разработчики обычно предпочитают гибрид из этих методов, то есть и усечение окончаний, и таблицы стемм.
Самый популярный стеммер для русского языка — программа Mystem, принадлежащая Яндексу. Она была создана еще в 1998 году и с тех пор непрерывно совершенствовалась. Сегодня она умеет определять частотность, делать лемматизацию и выбирать оптимальный способ преобразования незнакомых слов на основе уже известных.
Ответить