The purpose of this page is to outline the architecture of an agent that is able to communicate with other agents, some of whom may well be humans using natural languages. This is very much an overview and represents just one possible approach. You will notice that a number of (major) simplifying assumptions have been made.
Note that In this dialogue A needs to be able to do language understanding (in order to assign meaning to B's utterance) and language generation (in order to be able to ask/tell B things.) The goal of Natural Language Programming (NLP) is to do all this.
Parsing is, in the first instance, a syntactic activity. The words in the sentence are recognized as of a particular type (called parts of speech). Examples of parts of speech are
The words, once recognized can be combined into phrases
sentence(
noun_phrase("John"),
verb_phrase(
verb("loves"),
noun_phrase("Mary")
)
)
Using a lexicon (which you already needed for the parts of speech of words) the denotations of words and the parse can be translated into statements about the internal model of the world. So that the sentence "John loves Mary" could be represented by
loves("John", "Mary")
More details on how this whole process works are presented in practical NLP.
Last Changed: 20 November 1995