Understanding Natural Language Processing