Pizza Demo - GF XHTML+Voice - Description

This document describes the GF XHTML+Voice Pizza Demo, a demonstration XHTML+Voice dialog system generated from a Grammatical Framework grammar. For a more detailed explanation of how this generation is done, see the article Generating Dialog Systems from Grammars.

Demo Movie

This movie has been scaled down. You can also see the full size movie here.

Try the demo

You can try the demo if you have a web browser which can handle XHTML+Voice and SVG. Currently this only includes Opera for Windows (when voice controlled browsing is enabled). See Using Opera with Voice for more information.

There is a slightly simpler version of the demo which also works on the Opera multimodal browser for the Sharp Zaurus. It will be added here shortly.

Functionality

The system allows the user to place orders for pizzas and drinks. Orders can contain multiple sets of pizzas and drinks. The pizzas can have different toppings (any combination of cheese, ham, pepperoni, mushrooms and anchovies) and be of different sizes (small, medium, or large). The available drinks are Coke and beer, of different sizes (small, medium, or large). An example of a complete order is two large ham and cheese pizzas and three medium beers and a small pepperoni pizza. The system responds by stating the order and the (fake) estimated preparation time.

The user can give a complete order in one utterance or construct the order incrementally. These are some example dialogs:

Partly incremental input

  1. What would you like to order?
  2. a large pizza please
  3. What toppings would you like?
  4. cheese
  5. What else would you like?
  6. a large beer
  7. What else would you like?
  8. nothing else thank you
  9. Thank you for ordering one large pizza with cheese and one large beer and nothing else. Your order will be ready in two minutes.

Fully incremental input

  1. What would you like to order?
  2. two pizzas
  3. What size pizzas would you like?
  4. medium
  5. What toppings would you like?
  6. cheese and pepperoni
  7. What else would you like?
  8. nothing else thanks
  9. Thank you for ordering two medium pizzas with cheese and pepperoni and nothing else. Your order will be ready in one minute.

Complete input

  1. What would you like to order?
  2. a large ham and cheese pizza and a large beer and nothing else
  3. Thank you for ordering one large pizza with ham and cheese and one large beer and nothing else. Your order will be ready in three minutes.

GF Grammar

The demo system is generated from a GF grammar consisting of three modules:

Pizza
The abstract syntax, which describes the structure of pizza orders.
PizzaEng
The English concrete syntax, which describes how pizza orders can be said in English. The speech recognition grammar with semantic interpretation is generated from this module.
PizzaDraw
Another concrete syntax, which generates drawings from pizza orders. The drawing instructions are used to draw graphical representations of pizza orders.

See Generating Dialog Systems from Grammars for a explanations of the GF features used in the grammars.

TODO

These are some things that could be improved in the demo or the translation from GF to XHTML+Voice applications:

References

Björn Bringert, bringert@cs.chalmers.se.