Natural-language processing (NLP) is an area of computer science and artificial intelligence concerned with the interactions between computers and human (natural) languages, in particular how to program computers to fruitfully process large amounts of natural language data.
Challenges in natural-language processing frequently involve speech recognition, natural-language understanding, and natural-language generation.