Simply defined, the field of natural language processing is concerned with theories and techniques that address the problem of natural language communication with computers. One of the goals of this research is to design computer programs that will allow people to interact with computers in natural conversational dialogues. Of course, to reach this goal a number of smaller steps must be taken first. At the lowest level we must design programs that can analyze sentences to extract their conceptual content. At the next level, larger text fragments must be processed as cohesive structures themselves, forcing us to solve problems in semantics and pragmatics which go far beyond the problems of analyzing individual sentence content. The issue of content analysis is itself intimately connected to the notion of memory and memory representation. In particular, if information is to be stored and integrated into a long term memory model, the organization of that memory and its retrieval processes become critical issues. Finally, the purely interactive problems of how one answers a question (or asks one) are major areas in themselves.
The term "natural language processing" must not be confused with "speech recognition". Research in speech recognition addresses the analysis of acoustic signals which must ultimately be interpreted as words or word strings. Natural language processing research is concerned with the more purely symbolic manipulations of meaning and inference that are needed once words are recognized. We can therefore assume that the input of a natural language processing program is a character string typed into a CRT terminal or found on a computer file. In order to implement actual verbal dialogues with computers, a speech recognition facility will have to hook up with a language processing program, with the output of the speech recognizer being passed as input to the language processor. In fact,