When we are talking about the sentimental analysis, customer review analysis or we want to take out some output from customer reviews and positive and negative sentiments then stemming comes into picture. Whereas lemmatization is used when it comes to chatbots and displaying the reviews of the site, services, or products where the output should be understandable by a human.
Stemming It is used to chop the words, or we can say that reduce the size of the words. for e.g. eating, and eat will become eat and beating, and beat will become beat, but in some cases, it will not work for e.g. Words like Finally, Finalized and Final will become Fina which is not understandable by humans because Stemming reduces the size of the word and taking out the common word from the matching one only. So in that case to make it understandable by human lemmatization comes into the picture where it converts the word into a meaningful output which will be understandable by a human. for e.g historical, history will become history and finalized, final and finally will become final
from nltk.stem import PorterStemmer
As we have imported the nltk library which is nothing but the Natural language Processing toolkit and from nltk.stem we have imported the PorterStemmer for Stemming which is a popularly used Stemmer
My_stemmer = PorterStemmer()
Here we have taken a variable as My_stemmer and stored our PorterStemmer in that variable for further operations
print("The output after Stemming the word is :", My_stemmer.stem('writing'), '\n')
print("The output after Stemming the word is :", My_stemmer.stem('eating'))
The output after Stemming the word is : write
The output after Stemming the word is : eat
from the above we have got an idea about how stemming works as we can see the word writing has become write and eating has become eat
from nltk.stem import WordNetLemmatizer
Now we will check the process with lemmatizer as we did with Stemmer for that we are importing the library WordNetLemmatizer from nltk which is popularly used one.
My_lemmatizer = WordNetLemmatizer()
Here we have taken a variable My_lemmatizer and stored our WordNetLemmatizer in that variable for further operations
print("The word after lemmatization :",My_lemmatizer.lemmatize('eating'), '\n')
print("The word after lemmatization :",My_lemmatizer.lemmatize('bottles'))
The word after lemmatization : eating
The word after lemmatization : bottle
From the above, we get the idea about lemmatizer working as the eating word has remained the same because it gives meaningful output that will be understandable by humans also the second word bottles has become bottle as a converted word.