Natural Language Processing and its Uses