Rules
- If I had a regular grammar, I could just use a finite state
automata for rules.
- However, NL is widely agreed to be at least context free.
- So, I needed some mechanism to store phrases.
- Following Fillmore (68) I used case frames.
- A simple phrase had features (like determiners and adjectives),
that were in essence regular.
- Complex phrases (e.g. a verb phrase with an actor and an object)
needed variable binding .
- We also needed some process to manage several frames, and to
reuse them for the next sentence.
- However, given those frames, rules were implemented by
the activity of various CAs.
- If a simple NP was being constructed (the state said it was),
and an adjective was the input, the adjective feature was marked.
- If a simple NP was being constructed, and a noun was the input,
the noun was made the head, and the simple NP was finished.
- If an NP was active, and a VP was active (both instances),
we could use the VP -> NP active VP rule.
- Linguistically, we made use of X-bar theory to separate
simple and complex phrases.