TUTORIAL 3: for Semester 2 Week 4
BUILDING A Grammar for MAKING
sandwiches
Similar to the language-controller calculator, in this tutorial we are
building a grammar for a futuristic machine that makes sandwiches on
instructions given in natural language.
The sandwiches the machine can produce consist of:
- a type of bread
- toppings
- sauce
(Which one of these ingredients must be specified to be able to make a
sandwich at all? Would you want to have a grammar that covers orders
that do not specify it? Why?)
The machine should be able to understand questions like
"Do you have cheese?",
"Can you make a chicken BBQ sandwich?"
"What toppings do you have?"
It should also be able to understand requests like
"I would like a sandwich with brown bread, tomatoes,
cheddar cheese and honey-mustard sauce!"
"Please make cheese sandwich!"
Use the grammar of the language-controlled calculator as a template.
1. How would you structure the grammar? Should it be different from the
calculator? (How? Why?)
2. How can you represent the meaning of the linguistic expressions?
3. What is the coverage of the grammar?
4. Which parts of the grammar are easier or more difficult to write for
the sandwich machine than for a calculator? Why?
5. Rather than specifying all possible ingredients for sandwiches:
Identify the main cases that grammar must cover in order to be useful
for a user. What kinds of interactions with the sandwich machine should
the grammar enable the user to perform?
Work together in small groups to come up with the overall structure of
the grammar. Share your solution with the rest of the tutorial group.
Use example dialogues to demonstrate your designs and to highlight the
issues that must be addressed when writing a grammar for this purpose.