Natural language processing

Natural language processing (NLP) is a subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language, in particular how to program computers to process and analyze large amounts of natural language data. The goal is a computer capable of "understanding" the contents of documents, including the contextual nuances of the language within them. The technology can then accurately extract information and insights contained in the documents as well as categorize and organize the documents themselves.

An automated online assistant providing customer service on a web page, an example of an application where natural language processing is a major component.[1]

Challenges in natural language processing frequently involve speech recognition, natural language understanding, and natural language generation.