Как вы сказали stemming - преобразует слова в неизменяемые части
и lemmatizing - преобразует слова в словарную форму
Алгоритмы машинного обучения например, BOW или tf-idf относятся к частоте слова
Давайте рассмотрим пример, который вы задали в своем вопросе.
с основанием
amusing, amusement
оба слова возвращают amus
, поэтому эти слова будут рассматриваться как одинаковые, а частота для amus
будет равна 2.
с лемматизацией amusing, amusement
оба слова возвращают amuse
, поэтому снова эти слова будут рассматриваться как одинаковые и частота для amuse
будет 2
. В вашей модели не имеет значения (в данном конкретном случае), если вы используете либо stemming, либо лемму
Stemming просто убирая буквы из слова в то время как лемматизация требует поиска в словаре, чтобы найти связанное слово, очевидно, это происходит быстрее, чем лемматизация
Так что вы можете выбрать stemming
вместо lemmatization
, если вы хотите ускорить предварительную обработку
Недостаток
В случае остановки
учеба даст учебу, а учеба даст
даже те слова имеют одинаковые root эти слова будут трактоваться как разные