Semantic Grammar: Extended Pattern Matching
In this approach, the pattern-matching that is allowed is restricted to certain semantic categories. A grammar is used to specify the allowable patterns; this allows the restrictions to be specified easily, while allowing more language coverage and easier extension with fewer specified patterns.
Example:
<s> --> what is <ship-property> of <ship>? <ship-property> --> the <ship-prop> | <ship-prop> <ship-prop> --> speed | length | draft | beam <ship> --> <ship-name> | the fastest <ship2> | the biggest <ship2> | <ship2> <ship-name> | Kennedy | Kitty Hawk | Constellation <ship2> --> <countrys> <ship3> | <ship3> <ship3> --> <shiptype> <loc> | <shiptype> <shiptype> --> carrier | submarine | ... <countrys> --> American | French | British <loc> --> in the Mediterranean | in the Med | ...
"What is the length of the fastest French sub in the Med?"