KEEPING THE SYNTACTIC AND SEMANTIC MODELS CONSISTENT

Overview

This page discusses how the syntactic (u-model) and the semantic (s-model) models are kept in synchronization with each other and how one model can affect the construction of the other. The changes discussed here were implemented for the 9701 release of nl-soar.

Why are the 2 models constructed separately?

First a reminder of why the s-model and u-model are not constructed within the same operator - i.e why we don't build comprehension operators that build both syntactic and semantic models simultaneously. If this were the case it would be easier to keep the two models consistent.

U-models and s-models are built separately because :-

The order of processing.

In the 9701 version of nl-soar an ordering of processing was imposed so that the u-model is always built before the s-model. During the building of a s-constructor, the u-model is consulted to make sure that both the existing s-model and any proposed changes to the s-model are consistent with syntax. If the s-model was to be built before the u-model then the s-constructor would be checking consistency with an incomplete or out of date u-model. Even if, at a particular stage of sentence processing, a chunked up s-constructor operator is able to fire, a u-constructor learn language will be preferred. In order to impose this order changes had to be made to how u and s learn language operators are imposed.

See top.force-syntax-before-semantics.soar .

Changes in the building of the u-constructor.

There are NO changes in the u-constructor building process. The process proceeds as in previous versions of nl-soar without concern for the existing s-model. In the future it might be possible to add code which does consult the existing s-model (e.g. in search control) but, because of the imposed order described above, the s-model will not be up to date (it will not incorporate the most recent word).

Changes in the building of the s-constructor.

Most of the work in keeping the two models in synchronization are done whilst building the s-model. The s-model could check consistency in three ways :-

This page written by Mark H. Smith, April 1997.