Agents that Communicate

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.

  1. The agent (A) receives an "utterance" from another agent (B), which we assume is a sentence in the form of a sequence of words.
  2. The agent "parses" the sentence
  3. The agent assigns "meaning" to the sentence, perhaps in the form of a first order logic statement about a model of the world that the agent constructs.
  4. The agent forms a plan to react to the utterance. To carry out the plan the agent A needs to enlist the co-operation of agent B (or perhaps some other agent). This co-operation will take the form of a sequence of actions by agent B.
  5. Agent A asks B to perform the action. This requires (sometimes) that A compose an utterance to deliver to B.

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

The sentence "John loves Mary" is parsed as


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.

Return to UG AI home page

Last Changed: 20 November 1995