NLP is a
field of computer science concerned with the interactions
between computers and human (natural) languages. Natural
language generation systems convert information from
computer databases into readable human language. Natural
language understanding systems convert samples of human
language into more formal representations that are easier
for computer programs to manipulate. Many problems within
NLP apply to both generation and understanding; for example,
a computer must be able to model morphology (the structure
of words) in order to understand an English sentence, but a
model of morphology is also needed for producing a
grammatically correct English sentence.
NLP has significant overlap with the field of computational
linguistics, and is often considered a sub-field of
artificial intelligence. The term natural language is used
to distinguish human languages (such as Spanish, Swahili or
Swedish) from formal or computer languages (such as C++,
Java or LISP). Although NLP may encompass both text and
speech, work on speech processing has evolved into a
separate field.
