What is natural language processing and its phases and uses