Stemming means removing the suffix of the word and making it to a base word. Stemming is the normalization technique used in Natural language processing which helps in saving the number of computations. There are libraries in NLP for stemming like PorterStemming, Snowball Stemmer, etc.
For example, We have a word ‘walking’, we remove the suffix ‘ing’ and make that word to ‘walk’
Stemming is used to reduce the dimensionality of data which is best for ML models. In simple words, if there are words like walk, walks, waited, waiting, All these words are different but contextually similar. We replace all these words walk by removing suffixes.
There are two problems with stemming such as Over stemming and stemming. Over stemming means, if we do stemming for words like University, Universe and Universal then we will get univers even though all three mean different things. Under stemming means if we do stemming to words will change from alumnus to alumnu, alumni to alumni, alumnae to alumna even though all three words alumnus, alumni, alumnae mean same, they are rooted to different words.
You can know more about stemming from this video on NLP in python: