More on Semantic Analysis


Semantic Model

We are interested in modeling the behavior of an intelligent device. The device interacts with its users in natural language, and performs actions as a reaction of this interaction.

As an example, consider an ``intelligent MP3 music player''. It reacts to speech commands of the form ``play tracks 1 to 5''.

Semantic interpretation consists of translating natural language into useful semantic representation which can serve as the basis of intelligent behavior. The requirements on the semantic representation are:

  1. It should be un-ambiguous
  2. It should lead to easy computation

One of the key computation required on semantic representation is the incremental construction of a semantic model. The model encodes all the information known about a situation up to a given point. This information is the basis for the behavior of the device.

Note: The Turing test has been proposed in the past as a test of intelligence. It is based on a behavioral test -- can a human observer distinguish an artificial actor from a human actor based only on the external behavior of the device.

A model is logically consistent if it does not contain logical contradictions. For example, one cannot state in the same model that the music device contains currently 5 songs and also contains 10 songs.

As a consequence, one of the requirements on the semantic representation is that it should be capable of detecting such contradictions. The device should refuse to update its model if the new information it processes contradicts existing information.

This requires the possibility to perform inference on the basis of the knowledge currently encoded in the model. Semantic interpretation is therefore the operation of translating a natural language utterance into data that can be merged into an existing semantic model. It will fail if the utterance cannot be understood, or if the understanding of the utterance contradicts existing data in the model.


Model and Task

The model can be selected to be more or less detailled. A detailed semantic model could describe the exact physical behavior of the device -- down to the level of electronic and electric flow in its computing circuits. A less abstract model could describe the behavior in terms of meaningful actions and state transitions in the device -- as far as they influence its behavior as it is perceived by human users. The selection of the level of abstraction of a model depends on the task we expect the device to fulfil.

Implicit Data and Inference

One of the characteristics of natural language -- beyond the fact that it is ambiguous -- is that it leaves much information implicit -- that is, information is conveyed without being stated explicitly in words.

There are several forms of implicitness in natural language -- in general, implicitness contributes to the efficiency of natural language in human communication. Grice proposed a classification in these terms:

Grice, H.P., Further Notes on Logic and Conversation, in Cole, P. Syntax and Semantics, Vol.9: Pragmatics, Academic Press, NY, 1978, pp.113-127.

Example: Consider a sophisticated music device that can play and record. A command to the device might be: Play track 3 and record it as "Bob's Best No.1".

What information is not stated explicitly in this command? The temporal aspect is left unspecified ("play as soon as possible"). If the device is currently playing another track when this command is processed, what should be done? Interrupt the current track and start the new track, or wait for the previous track to complete? When should the recording start? We expect the recording to start exactly together with the playing of track 3 -- but this is not stated explicitly. Should the playing of track 3 be performed in such a way that we can listen to it (real time playout) or should it be performed as fast as possible to enable recording (which can be done faster than realtime?).

Another way to look at implicit content, is to apply interpretative strategies to understand why a specific content was uttered at a given time and place. The result of this computation (inference process) is to derive possible continuations to an utterance. Example: The dog is barking.
Possible continuations:

  1. The dog is barking / Someone is on the road
  2. The dog is barking / You should go check what is wrong
  3. The dog is barking / I told you this dog is upset these days
From a computational perspective, the issues are: what knowledge is involved to activate these possible continuations? what processes are applied to select relevant continuations from non-relevant ones?

Knowledge Representation

A Knowledge Representation (KR) system provides a formalism and a computation system to implement services to construct and manipulate such models. The requirements on a KR system are:
  1. Decidability
  2. Tractability
  3. Uncertainty
  4. Monotonicity
  5. Consistency
  6. Omniscience
  7. Expressiveness

Semantic Interpretation and KR

There are several families of KR languages: An important family combines logic expressions with graph encoding. Representatives of this family are the KL-ONE or CLASSIC languages. These languages distinguish between a terminological component, which defines terms, with their relations and properties and the assertion component, which encodes specific knowledge for a specific agent, at a given time, relative to a given terminological component.

The operation of classification is used to determine how specific expression in the terminological component relates to existing concepts.

To illustrate the operation, consider the syntax of frame languages such as CLASSIC. This syntax covers a subset of first order logic.

;; Assertions

(a person (name "Michael") (age 43)) 

===

(and (instance person X)
     (value name X "Michael")
     (value age X 43))
The language can also be used to define the properties of frames and their relations:
;; Terminological

(each person (isa animal) (name string) (age integer))

===

(and (concept person)     ;; person is a concept
     (sub person animal)  ;; person is a subset of the animal concept
     (rel name person string) ;; the relation name links a person to a string
     (rel age person integer)) ;; the relation age links a person to an integer
The operation of classification determines whether a new expression such as the definition of the person concept above can be classified as another concept, or whether a specific instance (such as the person X above) can be classified as a specific concept. Classification is used to perform inference relative to a specific terminological and a specific assertional database.

Last modified Mar 18th, 2007