Стемінг - це знаходження основи слова (Стемм), тобто тієї частини, яка передає його лексичне значення. наприклад:
лісової -> ліс
похідний -> похід
столовий -> стіл
Зазвичай при стемінг просто відкидають закінчення і суфікси. Але російські слова мають досить складну будову, тому для російської мови стемінг часто застосовують разом з іншими лінгвістичними алгоритмами (наприклад, з лематизації).
Термін стемінг (stemming) утворений від слова «stem» - стовбур, стебло, основа. Термін, природно, прийшов до нас з англійської мови, а перший алгоритм перетворення розробив американець Джулі Бет Ловінс в 1968 році.
Для чого потрібен стемінг?
Перш за все, алгоритми стемінг потрібні пошуковим системам. З їх допомогою Яндекс і Google узагальнюють призначені для користувача запити і підвищують релевантність пошукової видачі. Завдяки стемінг, вони можуть знаходити не тільки самі слова з запиту, а й різні їх форми, які можуть зацікавити користувача.
Наприклад, якщо людина ввела слово «котячий», то пошуковики покажуть йому заодно і ті сторінки, де є слово «кішка». Але, зрозуміло, порядок у видачі залежить від інших пошукових алгоритмів: LSI, обліку поведінкових факторів і.т.д.
Алгоритми і програми стемінг
Щоб швидко знаходити основи слів, потрібна спеціальна програма - Стеммер. Сьогодні їх безліч: вільних і комерційних, які працюють онлайн і розповсюджуються у вигляді вихідного коду. Але всі вони, як правило, побудовані на двох алгоритмах.
Перший - це застосування програмою спеціальних таблиць, куди занесені всі слова і їх Стемм. Алгоритм працює швидко і точно, проте він вимогливий до ресурсів і не розрахований на перетворення незнайомих слів.
Другий - відсікання суфіксів і закінчень за певними правилами. Алгоритм не вимагає великих ресурсів і легко працює з незнайомими словами, але при цьому і часто помиляється. Розробники зазвичай вважають за краще гібрид з цих методів, тобто і усічення закінчень, і таблиці Стемм.
Знайшли помилку? Будь ласка, виділіть її мишкою і натисніть лівий Ctrl + Enter.