Softening Grammatical Edges

At the moment, a grammatical STRUCTURE1 pattern has to match exactly.

Here is an example – we have

ClauseInitiator
ClauseSubject
ActiveVerbPhrase
ClauseObject
ActiveInfinitive
ClauseObject
ClauseTerminator

Due to the path of construction, we have

ClauseInitiator
ClauseSubject
ActiveVerbPhrase
InterimNounPhrase
ActiveInfinitive
ClauseObject
ClauseTerminator

So the pattern is not matched. But an InterimNounPhrase within the pattern following an ActiveVerbPhrase can only be an ObjectNounPhrase, which is a ClauseObject.

If we have a pattern failure limited to a single node internal to a pattern, and no other patterns (we know this because parsing did not complete), we look for a path from the current node to the matching node.

We add traversable connections, something like

transform.JPG (161200 bytes)

This path, added to the normal inheritance path, allows us to get from InterimNounPhrase to ClauseObject in three steps.

The rules that apply are:

· Only one object is transformed, although there can be multiple transformations

· The object must be internal to the pattern (that is, not on an outer limb)

· The connection must be direct – that is, not through a NOTCONNECT operator

This mechanism will allow more patterns to match. It is a stepping stone along the way to automatic generation of grammatical patterns.