Natural language processing (NLP): analyzing and generating text in human languages
Natural language processing (NLP) refers to the analysis of text written in human languages, covering grammatical analysis, understanding, generation, translation, etc.
A spell checker that matches against a pre-defined set of words doesn't qualify as NLP (see the tag spell-checking instead), but most more advanced tasks do. This tag is for tasks related to text stored in text form; for speech recognition and synthesis, use the tags speech-recognition and text-to-speech instead.
Natural language processing is an advanced subject and most tasks will require some programming. See NLP on Stack Overflow.