Natural Language Processing- How different NLP Algorithms work